{"version":3,"mappings":"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Q,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,eACR,EACA,CACE,OAAQ,KACR,KAAM,YACR,EACA,CACE,OAAQ,KACR,KAAM,wBACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,YACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,cACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,kBACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,mBACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,kCACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,eACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,yBACR,EACA,CACE,OAAQ,KACR,KAAM,uCACR,EACA,CACE,OAAQ,KACR,KAAM,0BACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,aACR,EACA,CACE,OAAQ,KACR,KAAM,eACR,EACA,CACE,OAAQ,KACR,KAAM,cACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,YACR,EACA,CACE,OAAQ,KACR,KAAM,MACR,EACA,CACE,OAAQ,KACR,KAAM,YACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,kBACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,gBACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,oBACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,gBACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,MACR,EACA,CACE,OAAQ,KACR,KAAM,6BACR,EACA,CACE,OAAQ,KACR,KAAM,iCACR,EACA,CACE,OAAQ,KACR,KAAM,eACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,gBACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,eACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,WACR,EACA,CACE,OAAQ,KACR,KAAM,WACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,YACR,EACA,CACE,OAAQ,KACR,KAAM,mBACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,8CACR,EACA,CACE,OAAQ,KACR,KAAM,WACR,EACA,CACE,OAAQ,KACR,KAAM,MACR,EACA,CACE,OAAQ,KACR,KAAM,eACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,WACR,EACA,CACE,OAAQ,KACR,KAAM,4BACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,WACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,aACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,gCACR,EACA,CACE,OAAQ,KACR,KAAM,MACR,EACA,CACE,OAAQ,KACR,KAAM,2BACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,YACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,uBACR,EACA,CACE,OAAQ,KACR,KAAM,wCACR,EACA,CACE,OAAQ,KACR,KAAM,oBACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,gBACR,EACA,CACE,OAAQ,KACR,KAAM,YACR,EACA,CACE,OAAQ,KACR,KAAM,kCACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,aACR,EACA,CACE,OAAQ,KACR,KAAM,eACR,EACA,CACE,OAAQ,KACR,KAAM,WACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,WACR,EACA,CACE,OAAQ,KACR,KAAM,YACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,sBACR,EACA,CACE,OAAQ,KACR,KAAM,YACR,EACA,CACE,OAAQ,KACR,KAAM,cACR,EACA,CACE,OAAQ,KACR,KAAM,YACR,EACA,CACE,OAAQ,KACR,KAAM,kBACR,EACA,CACE,OAAQ,KACR,KAAM,4CACR,EACA,CACE,OAAQ,KACR,KAAM,MACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,0BACR,EACA,CACE,OAAQ,KACR,KAAM,YACR,EACA,CACE,OAAQ,KACR,KAAM,YACR,EACA,CACE,OAAQ,KACR,KAAM,YACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,WACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,YACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,eACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,gBACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,WACR,EACA,CACE,OAAQ,KACR,KAAM,aACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,MACR,EACA,CACE,OAAQ,KACR,KAAM,aACR,EACA,CACE,OAAQ,KACR,KAAM,MACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,MACR,EACA,CACE,OAAQ,KACR,KAAM,kBACR,EACA,CACE,OAAQ,KACR,KAAM,kBACR,EACA,CACE,OAAQ,KACR,KAAM,aACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,2BACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,aACR,EACA,CACE,OAAQ,KACR,KAAM,qBACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,oBACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,cACR,EACA,CACE,OAAQ,KACR,KAAM,iBACR,EACA,CACE,OAAQ,KACR,KAAM,YACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,WACR,EACA,CACE,OAAQ,KACR,KAAM,cACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,wBACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,cACR,EACA,CACE,OAAQ,KACR,KAAM,YACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,aACR,EACA,CACE,OAAQ,KACR,KAAM,uBACR,EACA,CACE,OAAQ,KACR,KAAM,aACR,EACA,CACE,OAAQ,KACR,KAAM,cACR,EACA,CACE,OAAQ,KACR,KAAM,sBACR,EACA,CACE,OAAQ,KACR,KAAM,WACR,EACA,CACE,OAAQ,KACR,KAAM,0BACR,EACA,CACE,OAAQ,KACR,KAAM,MACR,EACA,CACE,OAAQ,KACR,KAAM,6BACR,EACA,CACE,OAAQ,KACR,KAAM,MACR,EACA,CACE,OAAQ,KACR,KAAM,UACR,EACA,CACE,OAAQ,KACR,KAAM,YACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,aACR,EACA,CACE,OAAQ,KACR,KAAM,cACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,qBACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,2BACR,EACA,CACE,OAAQ,KACR,KAAM,8BACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,sCACR,EACA,CACE,OAAQ,KACR,KAAM,eACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,YACR,EACA,CACE,OAAQ,KACR,KAAM,+BACR,EACA,CACE,OAAQ,KACR,KAAM,kCACR,EACA,CACE,OAAQ,KACR,KAAM,mCACR,EACA,CACE,OAAQ,KACR,KAAM,yBACR,EACA,CACE,OAAQ,KACR,KAAM,sBACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,mBACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,OACR,EACA,CACE,OAAQ,KACR,KAAM,SACR,EACA,CACE,OAAQ,KACR,KAAM,cACR,EACA,CACE,OAAQ,KACR,KAAM,QACR,EACA,CACE,OAAQ,KACR,KAAM,WAEV,EAEaC,GAAaD,GAAY,OAAO,CAAC35B,EAAM65B,KAC7C75B,EAAA65B,EAAQ,MAAM,EAAIA,EAAQ,KAExB75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S,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,EAAS,QAAQ,EAAS,QAAQ,IAAS,QAAQ,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,EAAS,SAAS,EAAS,SAAS,KAAe,MAAM,KAAe,OAAO,EAAS,MAAM,KAAe,OAAO,EAAS,OAAO,KAAe,MAAM,KAAe,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,EAAS,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,EAAS,OAAO,KAAe,OAAO,KAAe,MAAM,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAO,SAAS,EAAO,SAAS,EAAS,SAAS,EAAS,SAAS,IAAS,SAAS,EAAS,MAAM,EAAS,MAAM,KAAe,OAAO,KAAe,MAAM,EAAS,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,EAAO,OAAO,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,QAAQ,EAAO,QAAQ,EAAO,OAAO,EAAO,OAAO,EAAS,SAAS,EAAS,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,EAAS,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,EAAS,OAAO,EAAS,SAAS,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,EAAS,OAAO,EAAS,KAAK,EAAS,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,IAAS,KAAK,EAAS,SAAS,EAAS,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAO,QAAQ,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,IAAS,QAAQ,EAAS,SAAS,EAAS,SAAS,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAS,SAAS,EAAS,SAAS,EAAO,QAAQ,EAAO,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAO,OAAO,EAAO,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,EAAS,QAAQ,EAAS,QAAQ,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,EAAO,SAAS,EAAO,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAO,OAAO,EAAS,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,EAAS,MAAM,EAAS,OAAO,KAAe,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAO,QAAQ,EAAO,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,IAAS,QAAQ,EAAS,UAAU,EAAS,SAAS,EAAS,SAAS,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,SAAS,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,SAAS,EAAS,QAAQ,EAAS,SAAS,EAAS,SAAS,EAAS,KAAK,EAAO,QAAQ,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,UAAU,EAAS,UAAU,EAAS,KAAK,EAAS,MAAM,EAAS,KAAK,EAAS,MAAM,EAAS,OAAO,EAAS,MAAM,EAAS,QAAQ,EAAS,QAAQ,EAAS,SAAS,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,UAAU,EAAS,OAAO,EAAS,MAAM,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,SAAS,EAAS,SAAS,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,QAAQ,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,QAAQ,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,MAAM,EAAS,MAAM,EAAS,SAAS,EAAS,SAAS,EAA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hB,gBAAiB,wCACjB,eAAkB,iCAClB,kDACA,qDACA,sBAAuB,yCACvB,qDACA,uDACA,0BAAe,sCACf,2BAAc,sCACd,cAAe,gCACf,aAAU,oCACV,cAAO,mCACP,0BACA,MACE,SACF,wBAEA,sBAAoB,8DACpB,WAAW,kGACX,mBAA+B,yCAC/B,oDACA,8BAAe,4BACf,2BAA+B,8BAC/B,iDACA,0DACA,2BACE,8BACF,sCACA,sBAAe,mEACf,sBACE,+CACF,gCACA,oBAAuB,6DACvB,oBAAqB,yCACrB,iDACA,oBAAgB,+CAChB,4BAEA,eAAkB,uBAClB,oBACE,gGACF,oDACA,6BACE,mMACF,8BAAc,cACd,kBAAY,iIACZ,6DACA,WAAgB,gBAChB,kBACA,mCACA,6BACA,gBAAc,uBACd,uBAAmB,iCACnB,qCACA,kBACE,6BACF,iBAEA,8EACA,mBAAa,qEACb,kBACA,YAAa,qCACb,qCACA,YAAqB,eACrB,iCACA,oBAAkB,oCAClB,oBAAa,+BACb,iBAAc,uDACd,YAAiB,qBACjB,aAAmB,wDACnB,gBAAmB,mBACnB,kBAAgB,8CAChB,kBACE,qBACF,2EACA,cAAe,sJACf,gDACA,cAAU,wBACV,oBAAe,yCACf,wBACA,cAAkB,oBAClB,KAAW,OACX,iBAAY,sBACZ,0BACA,WAAqB,sBACrB,oBAAqB,qCACrB,wDACA,wDACA,yBAAU,yCACV,yBAEA,sBACA,8BAAc,iDACd,4BAAoB,oCACpB,4BACA,4CACA,wBACE,mDACF,0BAAsB,qCACtB,gCAA2B,uDAC3B,qBACE,uCACF,2EACA,0BAA6B,oDAC7B,qCACA,yDACA,+BACA,sBAAO,2BACP,0CACA,MAAU,WACV,0BACA,SAAU,WACV,iBAAwB,sCACxB,oBACA,uBAAS,qBACT,kCAAiB,8BACjB,6BACA,gBAAU,eACV,2BACE,wBACF,gBACA,gBAAU,sFACV,oBAAqB,0BACrB,sBACA,oBAAqB,sBACrB,aAAkB,YAClB,oBAAqB,UACrB,iBAAiB,OACjB,oBAAoB,UACpB,gBAAoB,UACpB,mBAAyB,aACzB,mBAAiB,SACjB,wBAA4B,4BAC5B,gBAAO,cACP,2BAAU,uBACV,gBACA,SAAa,qBACb,SAAc,YACd,YAAqB,MACrB,oBACA,oBAAe,gBACf,cAAiB,QACjB,cAAc,QACd,0BACA,aAAS,OACT,qBAAQ,gCACR,8BACA,gBACA,2CACA,YAAS,mBACT,eAAkB,iBAClB,QAAW,YACX,uDACA,UAAgB,SAChB,SAAqB,eACrB,gDACA,oBAAc,sCACd,OACE,YACF,aAAa,mBACb,wBACE,4DACF,8BACA,uBACE,4DACF,iBAAY,uBACZ,4BACE,iEACF,gCACA,sBACE,+DACF,mBACE,gCACF,0BAAO,0DACP,8FAEA,MACE,QACF,kFAEA,8BAAkB,oDAClB,4BAAe,uDACf,iBAAiB,qBACjB,cAAc,+CACd,iDACA,8BACA,4CACA,4CACA,wBACE,gCACF,0BACA,eAAW,uEACX,mEACA,uBACA,qBAAkB,kCAClB,yBAAoB,uBACpB,iBAAQ,+CACR,iDACA,gBACA,qDACA,KAAM,QACN,gBAAQ,0BACR,KAAmB,YACnB,eACA,kBACE,+CACF,WAAkB,sBAClB,eAAmB,oFACnB,iBAAkB,uDAClB,kBAAuB,0BACvB,iBAAqB,yBACrB,oDACA,oBAAY,uDACZ,yBAAS,uCACT,WAAW,oBACX,QAAY,eACZ,UAAqB,YACrB,wBACA,wCACA,uEACA,oCACA,2BAAmB,8BACnB,2DACA,uCACA,wCACA,yCACA,mBAAiB,WACjB,8BAAoB,gCACpB,mCACA,mBAAyB,sBACzB,0EACA,wBAAmB,mCACnB,YAAM,cACN,kBAAc,qBACd,YACA,6BACA,WAAmB,iBACnB,gBAAiB,mCACjB,kBAAmB,6BACnB,gBAAqB,gCACrB,kBAAc,4BACd,oBAA0B,8CAC1B,aAAoB,kCACpB,yBAAyB,yCACzB,mBAAmB,sCACnB,wBAAU,2CACV,kBAAqB,+CACrB,oBACA,yCACA,MAA2B,QAC3B,0BACA,0BAAO,8CACP,0BAAkB,iDAClB,MAAa,QACb,sCACA,YAAM,eACN,gCACA,KAAW,MACX,eAAuB,uBACvB,sCACA,sBAAkB,6CAClB,+DACA,iBAAoB,uCACpB,mBAAe,iCACf,mBAAS,0CACT,cAAc,0BACd,8BACA,8DACA,kDACA,UAAU,kBACV,qBAAiB,wBACjB,SAAmB,eACnB,gBAAO,iDACP,kBAAe,gCACf,iBAEA,cAA0B,qBAC1B,yBAAsB,qIACtB,yBACE,6BACF,qBAA4B,sBAC5B,4BAAM,sDACN,2BAAM,kBACN,KAAW,WACX,iBAEA,UAAoB,gBACpB,qBAAoB,2EACpB,mBAAc,eACd,mBAAc,WACd,iCACA,mCACA,cAAe,wBACf,cAAc,qBACd,kCACA,yBACA,MAAW,eACX,wBAAsB,+BACtB,oBACA,qBAAiB,sBACjB,yBACA,gBAAuB,mBACvB,2BAEA,sBAAwB,qCACtB,sBAAM,qEACN,uBAAO,CACP,KAAO,YACT,iBACA,qBACA,EACA,mBAAa,0BACb,aAAwB,kBACxB,mCACA,uBAAoB,wCACpB,oBAAqB,yBACrB,mBAAoB,yCACpB,iDACA,kEACA,0BACA,yDACA,qBAAiB,wCACjB,qBAAqB,kCACrB,gBAAoB,wBACpB,oBAAc,0CACd,mBAAS,kCACT,aAAgB,SAChB,QAAe,SACf,iCAEA,8BACA,8BAAmB,qEACnB,oBACE,qBACF,kDAEA,oBACE,kGACF,mBACE,+KACF,mBAAoB,4DACpB,qBAAY,yEACZ,mBAAuB,uCACvB,sBACA,sBAAO,oBACP,mBACA,MAAS,YACT,eACA,sBACA,qBACA,gBAAc,wBACd,0BACA,aAAgB,mBAChB,kBAAe,oDACf,eAAkB,gCAClB,cAAa,iCACb,mDACA,iCACA,kDACA,qBAAqB,yCACrB,cAAQ,kBACR,oBAAU,+CACV,OAA0B,SAC1B,oBAEA,yBAAe,sCACf,kBAAkB,kFAClB,gCACA,kDACA,oBACA,iDACA,qDACA,sCACA,2BAAO,8BACP,OAAoB,gBACpB,MAAe,eACf,sEACA,sCACA,wCACA,qBAAoB,qCACpB,oBAAe,4BACf,mBAAgB,qDAChB,+DAEA,uCACA,eACE,iEACF,oBACE,4BACF,uBACE,0DACF,yBAA0B,wEAC1B,uBAAQ,6DACR,yBAAoB,qCACpB,OAAU,UACV,8DACA,6BACA,oBAAQ,kDACR,0BAAgB,6BAChB,OACE,SACF,eAAe,8BACf,2FACA,qCACA,0BACA,sBACA,+DACA,aAAa,qDACb,wBAAY,gDACZ,YAAO,sBACP,WAAW,qBACX,cACA,UAAa,cACb,0BAAmB,2CACnB,YAAY,uBACZ,kBAAmB,iBACnB,oCACA,uDACA,2DACA,kCAEA,qEACA,wBAAY,qEACZ,iBACE,oBACF,WAAmB,cACnB,mCAAiB,2HACjB,kBAAkB,gCAClB,gBAAgB,sCAChB,yDACA,4DACA,kBAAmB,qCACnB,gBAAgB,0CAChB,kBAA2B,oCAC3B,iCACA,iEACA,4BAA4B,yCAC5B,sBAAc,oCACd,2BAAe,+CACf,uEAEA,yEAEA,mFAEA,iBACE,iQACF,yVACA,0PACA,sDACA,2BACA,oEACA,UAAa,YACb,+BAAkC,sBAClC,YACE,cACF,iCAAyB,gCACzB,2FACA,wBAAqB,gCACrB,uBAAkB,8BAClB,oBAAuB,kBACvB,iBAA8B,oBAC9B,wCACA,6BAA8B,6BAC9B,2BAA4B,kCAC5B,6BAA8B,6BAC9B,2BAA4B,+BAC5B,6BAAkC,6BAClC,2DACA,iCAAK,2CACL,sBAAI,gBACJ,IAAU,KACV,GAAS,OACT,sBACA,mBACA,uBAAsB,qBACtB,6BACE,sBACF,qBAAqB,cACrB,uGACA,2CACA,eAA4B,iBAC5B,kDACA,2BAA8B,8BAC9B,yCACA,6BAAQ,wBACR,oCAAuB,+BACvB,gBACA,sBAAqB,kCACrB,kBAA4B,oBAC5B,6CACA,2BAA4B,oCAC5B,yBAA0B,0CAC1B,2BAA4B,oCAC5B,yBAA0B,uCAC1B,2BACE,oCACF,gEACA,+BAAsB,kDACxB,gKClrBA,SAA4B,mCAG1B,UAAiB,aACjB,+BACA,qCACA,kBACA,sBACA,eAAuB,kBACvB,yBACA,uCAEA,2BACA,uBAAU,6DACV,QAAQ,UACR,oBACA,OAAkB,SAClB,6BACA,iBAAuB,qBACvB,uCACA,gDACA,yBACA,WAAqB,cACrB,MAA0B,QAC1B,6DACA,yBAAiB,8CACjB,eAAc,QACd,gBAAwB,SACxB,aAAgB,WAChB,uBAAgB,gBAChB,eAAwB,QACxB,uBAEA,uBAAoB,gBACpB,oFACA,mBAAc,sBACd,kBAAyB,gBACzB,aAAa,gBACb,8CACA,2BACA,2BACA,wBAAqB,8CACrB,qBAAQ,sBACR,sCACA,gBACA,uBACA,qBAAkB,uBAClB,WAAmB,eACnB,qCACA,kBAAS,qCACT,gDACA,QAAS,WACT,sBAAe,kCACf,QAAa,cACb,2EACA,YAAe,uCACf,WAAW,oBACX,cAAkB,iBAClB,8DACA,iBAAM,qBACN,cAAe,qBACf,YACA,cAAc,eACd,aAAY,cACZ,2BACA,WAAY,YACZ,yBAAY,kDACZ,uBACA,WAAqB,YACrB,kBAAS,mCACT,oBAAe,6BACf,QAAoB,QACpB,6BACA,mBAAc,oBACd,kBAAmB,qBACnB,6BACA,kBAAS,qBACT,mCACA,kBACA,SAAY,WACZ,wCACA,wBACA,qDACA,kCAAiC,uCACjC,mCAAkC,qBAClC,gCAAQ,kBACR,iCAAgB,mBAChB,gBACA,wCACA,mBACA,0BAAc,kCACd,oBAAmC,+BACnC,iCACA,kCAAa,kCACb,SAAyB,WACzB,2BACA,wBAAU,uBACV,QAAW,UACX,SAAsB,WACtB,sBACA,qBAAe,yBACf,mBAAsB,sDACtB,+BACA,8CACA,oDACA,mBAAmB,6BACnB,8BACA,kBAAgB,sBAChB,kBAAa,kCACb,yDACA,2BACA,wBAAiB,mCACjB,iBAA2B,oBAC3B,gBAAa,kCACb,0BAAa,4BACb,2BACA,2BACA,gBACA,sBAAkB,6BAClB,2DACA,iBAAc,mCACd,gDACA,aAAmB,cACnB,wBAAoB,6CACpB,kBAAkB,sBAClB,6CAEA,iBAAoB,oBACpB,4BACE,mDACF,mBAAa,sBACb,8BAAyB,qDACzB,2BACA,wBAA8B,uBAC9B,iBAAY,oBACZ,6BAAuB,4BACvB,yBACA,sBAAQ,6CACR,gBAAiB,kCACjB,OAAY,SACZ,kDACA,wBACA,qCACA,sBAAyB,wCACzB,8DACA,wBAAgB,mCAChB,8CACA,iCACA,qDACA,0BACA,iCACA,wBAAS,iCACT,wBAAoB,iCACpB,kBACA,mBAAuB,6BACvB,KAA4B,OAC5B,sBAAM,6CACN,6EACA,YACA,gBAAgB,cAChB,uBACA,eAAe,kBACf,MAAgB,QAChB,kCACA,eAAQ,mBACR,QAAa,UACb,gBACA,0BACA,mCACA,sDACA,2BAAM,qCACN,YACE,eACF,KACE,OACF,iBAAgB,yEAChB,cAAuB,qEACvB,eAAe,wBACf,sBAAgB,8FAChB,cAAiB,kBACjB,eAAgB,uBAChB,gBAAiB,wBACjB,eAAkB,qBAClB,gBAAuB,sBACvB,iBAAsB,2BACtB,sBAAuB,8BACvB,qBAA2B,sBAC3B,sBAA4B,uBAC5B,0BAAe,2BACf,2BAAc,4BACd,cAAe,sBACf,aAAU,qBACV,cAAO,sBACP,qBACA,cACA,uBAEA,sBAAoB,gDACpB,WAAW,oFACX,mDACA,UAA4B,iCAC5B,8BAAe,sBACf,gDACA,cAA4B,+BAC5B,oDACA,2BAAuB,qBACvB,uCACA,sBAAe,yCACf,wDACA,gCACA,oBAAuB,sCACvB,oBAAqB,+BACrB,sBAAW,uBACX,oBAAgB,oBAChB,uBACA,eAAkB,kBAClB,oBACE,mDACF,mDACA,6BACE,uKACF,8BAAc,cACd,sIACA,0DACA,yBACA,gBACA,6BACA,yBACA,gBAAc,mBACd,uBAAmB,uBACnB,aAAO,mBACP,kBAAe,wBACf,cACA,cAAQ,oDACR,mBAAa,yDACb,gBACA,YAAa,8CACb,mCACA,2BACA,8BACA,oBAAkB,2BAClB,oBAAa,+BACb,iBAAc,2CACd,4BACA,aAAmB,uCACnB,gBAAmB,gBACnB,kBAAgB,gCAChB,kBACE,aACF,wDACA,cAAe,sIACf,+CACA,oCACA,yDACA,qBACA,+BACA,YACA,iBAAY,oBACZ,uBACA,4BACA,oBAAqB,mCACrB,wDACA,wDACA,yBAAU,yCACV,WAA+B,cAC/B,sBACA,8BAAc,0CACd,wDACA,4BACA,mBAA2B,sBAC3B,kEACA,+DACA,gCAA2B,yCAC3B,kDACA,0BAAkB,mCAClB,0BAA6B,mCAC7B,qCACA,yDACA,8BACA,sBAAO,0BACP,qCACA,MAAU,QACV,8BACA,SAAU,WACV,6CACA,SAAmC,YACnC,uBAAS,sBACT,kCAAiB,4BACjB,QAA4B,cAC5B,gBAAU,cACV,2BACE,sBACF,gBACA,gBAAU,uEACV,oBAAqB,wBACrB,SAAc,aACd,oBAAqB,qBACrB,aAAkB,WAClB,oBAAqB,UACrB,iBAAiB,OACjB,oBAAoB,UACpB,gBAAoB,MACpB,mBAAyB,SACzB,mBAAiB,SACjB,4CACA,gBAAO,eACP,2BAAU,uBACV,gBACA,SAAa,aACb,SAAc,aACd,YAAqB,MACrB,oBACA,oBAAe,QACf,cAAiB,QACjB,cAAc,QACd,gBAAsB,UACtB,aAAS,OACT,qBAAQ,yBACR,QAAoB,oBACpB,gBACA,mBAAgB,uBAChB,2BACA,eAAkB,kBAClB,QAAW,UACX,oDACA,sBACA,oBACA,eAAQ,2BACR,oBAAc,gCACd,gBACA,aAAa,cACb,wBAAwB,6CACxB,2BACA,qEAEA,iBAAY,oBACZ,4BAAuB,mDACvB,WAAoB,cACpB,sBAA2B,6CAC3B,mBAA2B,6BAC3B,0BAAO,8CACP,2EACA,cACA,+DACA,8BAAkB,sCAClB,4BAAe,qCACf,iBAAiB,qBACjB,cAAc,iCACd,4CACA,6BACA,4CACA,sCACA,oDACA,WAA2B,cAC3B,eAAW,8CACX,0BAAsB,6BACtB,uBACA,qBAAkB,qBAClB,yBAAoB,mBACpB,iBAAQ,oCACR,iDACA,gBACA,uBAAiB,sBACjB,KAAM,OACN,gBAAQ,oBACR,YACA,OAAY,SACZ,kBACE,6CACF,WAAkB,gBAClB,eAAmB,wEACnB,iBAAkB,4CAClB,kBAAuB,oBACvB,sCACA,gDACA,8DACA,yBAAS,8BACT,WAAW,cACX,QAAY,UACZ,sBACA,wBACA,oBAAmB,aACnB,yDACA,kBAAsB,WACtB,2BAAmB,sBACnB,qBAAmB,iCACnB,uCACA,uCACA,mCACA,mBAAiB,YACjB,8BAAoB,oBACpB,mCACA,mBAAyB,sBACzB,+DACA,wBAAmB,mCACnB,YAAM,cACN,kBAAc,qBACd,YACA,6BACA,WAAmB,cACnB,gBAAiB,mCACjB,kBAAmB,6BACnB,kDACA,+CACA,+CACA,kCACA,yBAAyB,8BACzB,mBAAmB,4BACnB,wBAAU,iCACV,kBAAqB,2BACrB,qBACA,oBAAU,qBACV,cACA,SAA2B,YAC3B,0BAAO,mCACP,0BAAkB,kCAClB,MAAa,QACb,iBAAY,kBACZ,YAAM,QACN,yBACA,YACA,gCACA,gCACA,sBAAkB,6BAClB,2DACA,iBAAoB,mCACpB,mBAAe,8BACf,mBAAS,0BACT,cAAc,iBACd,QAAgB,WAChB,aAAW,gCACX,0CACA,UAAU,aACV,qBAAiB,wBACjB,SAAmB,YACnB,gBAAO,mCACP,kBAAe,6BACf,cAEA,+BACA,yBAAsB,8FACtB,+CACA,4CACA,4BAAM,mCACN,2BAAM,mBACN,YACA,KAAsB,OACtB,UAAoB,aACpB,sEACA,mBAAc,UACd,mBAAc,UACd,6BACA,6BACA,cAAe,iBACf,cAAc,cACd,cAAO,kBACP,qBACA,MAAW,QACX,wBAAsB,qBACtB,sBACA,qBAAiB,iBACjB,WAAS,cACT,mCACA,oBACA,sBAAwB,oBACtB,sBAAM,iDACN,uBAAO,CACP,KAAO,OACT,cACoB,aACpB,EACA,oCACA,0BACA,YAAqB,eACrB,uBAAoB,yBACpB,oBAAqB,kBACrB,mBAAoB,2BACpB,sCACA,8CACA,wBACA,uBAAsB,6BACtB,qBAAiB,0CACjB,qBAAqB,kBACrB,gBAAoB,oBACpB,sEACA,mBAAS,uDACT,aAAgB,eAChB,kBACA,iCAEA,+BACA,8BAAmB,gDACnB,oBACE,iBACF,4CAEA,oBAAoB,6FACpB,mBAAsB,uJACtB,mBAAoB,+CACpB,qBAAY,sDACZ,8CACA,sBACA,sBAAO,mBACP,gBACA,MAAS,QACT,kBACA,kBACA,oBACA,gBAAc,mBACd,UAAmB,WACnB,aAAgB,cAChB,kBAAe,iDACf,eAAkB,2BAClB,cAAa,6BACb,iBAAc,2BACd,4BACA,gCACA,qBAAqB,4BACrB,cAAQ,eACR,oBAAU,yCACV,cACA,SAAmB,UACnB,yBAAe,0BACf,kBAAkB,4CAClB,gCACA,iBAAqB,qBACrB,SAAyB,WACzB,oBAAiB,mBACjB,wBAA4B,sBAC5B,gBAAQ,mBACR,2BAAO,wBACP,OAAoB,SACpB,cACA,oEACA,cAAsB,iBACtB,gBAAqB,oBACrB,qBAAoB,4BACpB,oBAAe,kBACf,mEACA,6DACA,eAAqB,mBACrB,kEAEA,oBAA0B,kBAC1B,uBAAwB,4DACxB,yBAA0B,8CAC1B,uBAAQ,sDACR,yBAAoB,iCACpB,OAAU,SACV,mDACA,SAA2B,YAC3B,oBAAQ,kCACR,sDACA,gBACA,+BACA,yBACA,0BACA,YAAyB,yCACzB,aAAa,wCACb,wBAAY,0CACZ,YAAO,iBACP,WAAW,iBACX,cACA,UAAa,YACb,0BAAmB,4BACnB,YAAY,eACZ,kBAAmB,gBACnB,WAAiB,cACjB,kBAAa,6BACb,gBAAgB,uBAChB,YAAyB,eACzB,eAAkB,mBAClB,wBAAY,oDACZ,iBACE,gBACF,WAAqB,cACrB,mCAA4B,wFAC5B,qEACA,2BAAiB,wCACjB,kBAAkB,4BAClB,gBAAgB,sBAChB,qDACA,8CACA,kBAAmB,kCACnB,gBAAgB,4BAChB,wCACA,eAA6B,kBAC7B,oDACA,4BAA4B,yCAC5B,sBAAc,+BACd,2BAAe,oCACf,aAAoB,oCACpB,cACE,qCACF,mBACE,0CACF,iBACE,2OACF,iBAAgC,0SAChC,+NACA,+BAAuC,mBACvC,YAAW,cACX,sCAAgC,0BAChC,UAAa,aACb,+BAAkC,oBAClC,YACE,eACF,iCAAyB,+BACzB,0BAAwB,yDACxB,wBAAqB,yBACrB,uBAAkB,uBAClB,oBAAuB,aACvB,qCACA,gDACA,6BAA8B,wCAC9B,2BAA4B,kCAC5B,6BAA8B,wCAC9B,2BAA4B,kCAC5B,6BACE,wCACF,6DACA,iCAAK,yDACL,sBAAI,0BACJ,IAAU,MACV,GAAS,KACT,SAAwB,SACxB,QAA8B,UAC9B,kDACA,6BACE,iCACF,qBAAqB,yBACrB,2BAAgB,4DAChB,2CACA,eAA4B,0BAC5B,8CACA,2BAA8B,+BAC9B,mBAAqC,uBACrC,6BAAQ,sBACR,oCAAuB,6BACvB,gBACA,kDACA,kCACA,oDACA,2BAA4B,8CAC5B,yBAA0B,wCAC1B,2BAA4B,8CAC5B,yBAA0B,wCAC1B,2BACE,8CACF,iEACA,+BAAsB,+DACtB,oBAAqB,gCACrB,qBAAc,0BAChB,6IC7oBA,SAAwB,+BAEtB+1F,GAAA,CACA,4BACA,uCACA,yCACA,kBACA,uBACA,uCACA,4BACA,0CAEA,8BACA,uBAAU,2EACV,QAAQ,WACR,mBACA,gBACA,8BACA,6CACA,kBAAY,sBACZ,sBAAY,iCACZ,+BACA,4BACA,cAEA,iEACA,yBAAiB,8DACjB,eAAc,QACd,gBAAwB,UACxB,aAAgB,aAChB,wCACA,eAAwB,UACxB,eACE,WACF,uCACA,sFACA,0CACA,kBAAyB,qBACzB,aAAa,sBACb,+DACA,YAAyB,eACzB,8BACA,wBAAqB,qDACrB,qBAAQ,iCACR,qCACA,iBACA,2BACA,oDACA,WAAmB,qBACnB,qCACA,2EACA,kBAAuB,uCACvB,QAAS,aACT,sBAAe,qDACf,QAAa,cACb,cAAY,uDACZ,YAAe,wDACf,WAAW,oBACX,gCACA,uEACA,iBAAM,sBACN,cAAe,qBACf,cACA,cAAc,qBACd,aAAY,cACZ,8BAEA,WAAY,eACZ,yBAAY,qEACZ,WAAmB,kBACnB,8BACA,kBAAS,uCACT,oBAAe,6BACf,iBACA,+BACA,mBAAc,6BACd,kBAAmB,6BACnB,oCACA,kBAAS,8BACT,4CACA,oBACA,SAAY,eACZ,6CACA,WACE,kBACF,mDACA,kCAAiC,+CACjC,mCAAkC,qBAClC,gCAAQ,kBACR,iCAAgB,mBAChB,kBACA,4CACA,QAAqB,sBACrB,0BAAc,kCACd,oBAAmC,wCACnC,0CACA,kCAAa,kCACb,SAAyB,YACzB,iCACA,wBAAU,0BACV,QAAW,aACX,SAAsB,cACtB,UAAoB,aACpB,qBAAe,qCACf,mBAAsB,mDACtB,6BACA,8CACA,4CACA,mBAAmB,8BACnB,+BACA,kBAAgB,sBAChB,kBAAa,0BACb,0DACA,0BACA,wBAAiB,uBACjB,oCACA,gBAAa,yBACb,0BAAa,oCACb,gCACA,YAAuB,yBACvB,kBACA,qDACA,yDACA,iBAAc,wCACd,mBAAyB,iCACzB,8BACA,wBAAoB,oDACpB,kBAAkB,6BAClB,mBACE,gCACF,iBAAoB,wBACpB,4BACE,kDACF,mBAAa,wBACb,8BAAyB,wDACzB,6BACA,kDACA,iBAAY,sBACZ,4DACA,6BACA,sBAAQ,0CACR,gBAAiB,+BACjB,OAAY,WACZ,+CACA,WAAuB,eACvB,iBAAuB,qBACvB,sBAAyB,0CACzB,sBAAoB,6CACpB,wBAAgB,oCAChB,sDACA,yCACA,iEACA,YAAyB,gBACzB,eAAyB,uBACzB,wBAAS,2CACT,wBAAoB,6CACpB,mBACA,6CACA,KACE,QACF,sBAAM,+CACN,kFACA,cACA,gBAAgB,iBAChB,yBACA,eAAe,oBACf,cACA,kDACA,+DACA,QAAa,UACb,kBACA,YAAyB,cACzB,gBAA4B,yBAC5B,4DACA,2BAAM,+CACN,6BAEA,eAEA,iBAAgB,gFAChB,uFACA,eAAe,8BACf,sBAAgB,iIAChB,cAAiB,6BACjB,eAAgB,2BAChB,gBAAiB,2BACjB,eAAkB,4BAClB,gDACA,sCACA,sBAAuB,kCACvB,8CACA,mDACA,0BAAe,iCACf,2BAAc,mCACd,cAAe,2BACf,aAAU,8BACV,cAAO,gCACP,gCACA,MAAuB,QACvB,6BAEA,sBAAoB,oDACpB,WAAW,4FACX,oDACA,oDACA,8BAAe,mCACf,sDACA,kDACA,8BAAmB,mCACnB,2BACE,2BACF,gDACA,sBAAe,iEACf,sBAAqB,kDACrB,wCACA,oBAAuB,yDACvB,oBAAqB,8CACrB,sBAAW,+BACX,oBAAgB,iCAChB,0BAEA,eAAkB,sBAClB,qFAEA,iBAA+B,qCAC/B,6BACE,6LACF,8BACE,iBACF,kBAAY,8IACZ,aAAQ,iEACR,WAAgB,gBAChB,eACA,+BACA,6BACA,gBAAc,uBACd,uBAAmB,kCACnB,aAAO,oBACP,kBAAe,yBACf,cAEA,cAAQ,qDACR,mBACE,2DACF,OAAiB,QACjB,YAAa,oEACb,uCACA,oCACA,gCACA,oBAAkB,4BAClB,kDACA,iBAAc,iDACd,iCACA,kDACA,gBAAmB,kBACnB,8DACA,kCAEA,oEACA,cAAe,yIACf,gBAAqB,iCACrB,cAAU,qBACV,4EACA,sBACA,gCACA,cACA,iBAAY,mBACZ,2BACA,gCACA,oBAAqB,8BACrB,qDACA,oBAAY,iCACZ,yBAAU,+BACV,WACE,iBACF,sBACA,8BAAc,qDACd,4BAAoB,4BACpB,aAAyB,eACzB,mBAA2B,qBAC3B,sEAEA,8DACA,gCAA2B,wDAC3B,wDACA,0BAAkB,2CAClB,0BAA6B,+CAC7B,6CACA,sEACA,cAAkB,iBAClB,sBAAO,2BACP,iBAAe,uBACf,oBACA,8BACA,SAAU,SACV,gDACA,qBACA,uBAAS,0BACT,kCAAiB,qCACjB,2BACA,gBAAU,cACV,2BACE,6BACF,SAAqB,SACrB,gBAAU,0FACV,oBAAqB,qCACrB,SAAc,wBACd,oBAAqB,sCACrB,aAAkB,YAClB,oBAAqB,aACrB,iBAAiB,OACjB,oBAAoB,WACpB,gBAAoB,OACpB,mBAAyB,WACzB,mBAAiB,QACjB,mDACA,gBAAO,mBACP,2BAAU,8BACV,MAAU,YACV,SAAa,kBACb,SAAc,mBACd,YAAqB,QACrB,qBACA,4BACA,cAAiB,gBACjB,cAAc,WACd,2BACA,aAAS,QACT,qBAAQ,8BACR,6BACA,gBACA,mBAAgB,+BAChB,kCACA,eAAkB,sBAClB,QAAW,cACX,mDACA,sBACA,qBACA,0CACA,oBAAc,gCACd,OAAyB,WACzB,aAAa,iBACb,wBAAwB,0CACxB,6BACA,uBAA6B,0CAC7B,iBAAY,sBACZ,4BAAuB,+CACvB,8BACA,oEAEA,mBACE,mCACF,0BAAO,qDACP,4FACA,cACA,yEACA,8BAAkB,+CAClB,yEACA,iBAAiB,4BACjB,cAAc,mCACd,4CACA,+BACA,gDACA,oBAAY,sBACZ,wBAAgB,0BAChB,6BACA,eAAW,6DACX,kEACA,UAA0B,qBAC1B,uDACA,yBAAoB,sBACpB,iBAAQ,uCACR,gDACA,gBACA,uBAAiB,uBACjB,KAAM,MACN,gBAAQ,gCACR,KAAmB,UACnB,OAAY,SACZ,kBACE,wDACF,WAAkB,uBAClB,eAAmB,kFACnB,iBAAkB,kDAClB,kBAAuB,yBACvB,0CACA,sBAA0B,8BAC1B,oBAAY,iDACZ,yBAAS,0CACT,WAAW,mBACX,QAAY,UACZ,uBACA,WAAoB,aACpB,oBAAmB,kBACnB,8DACA,qCACA,2BAAmB,gCACnB,qBAAmB,iCACnB,4CACA,yCACA,sCACA,yCACA,8BAAoB,gCACpB,gBAAuB,2BACvB,6CACA,kEACA,0DACA,YAAM,cACN,kBAAc,2BACd,cACA,aAAiB,uBACjB,0BACA,gBAAiB,qCACjB,kBAAmB,2BACnB,gBAAqB,uCACrB,kBAAc,8BACd,6DACA,aAAoB,6BACpB,yBAAyB,kCACzB,mBAAmB,qCACnB,wBAAU,0CACV,kBAAqB,2CACrB,6BACA,kDACA,MACE,UACF,0BACA,0BAAO,yDACP,0BAAkB,mDAClB,MAAa,MACb,iBAAY,eACZ,YAAM,QACN,2BACA,YACA,qCACA,UAAyB,uBACzB,kEACA,wBAAoB,2CACpB,iBAAoB,yCACpB,mBAAe,+BACf,qDACA,cAAc,wBACd,0BACA,kDACA,6CACA,UAAU,qBACV,qBAAiB,gCACjB,8BACA,gBAAO,sCACP,kBAAe,+BACf,MACE,WACF,cAA0B,mBAC1B,yBAAsB,kGACtB,yBAA6B,uBAC7B,6CACA,4BAAM,+CACN,2BAAM,oBACN,KAAW,MACX,aACA,UAAoB,oBACpB,qBAAoB,8CACpB,8BACA,8BACA,kCACA,kCACA,cAAe,qBACf,cAAc,gBACd,qCACA,uBACA,MAAW,WACX,wBAAsB,2BACtB,iBACA,qBAAiB,aACjB,WAAS,aACT,kCACA,QACE,mBACF,sBAAwB,6BACtB,sBAAM,6EACN,uBAAO,CACP,KAAO,yBACT,8BACoB,iBACpB,EACA,mBAAa,kBACb,gCACA,YAAqB,uBACrB,qDACA,oBAAqB,sBACrB,mBAAoB,iCACpB,4CACA,sDACA,WAAsB,aACtB,uBAAsB,6BACtB,qBAAiB,yCACjB,qBAAqB,qBACrB,gBAAoB,0BACpB,iEACA,mBAAS,wCACT,aAAgB,YAChB,iBACA,eACE,wBACF,cAAqB,kBACrB,8BAAmB,kDACnB,oBACE,wBACF,0DAEA,oBACE,uFACF,mBACE,gIACF,mBAAoB,2DACpB,4FACA,8CACA,0BACA,sBAAO,gCACP,eACA,MAAS,SACT,eACA,kBACA,sBACA,g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CA,oDACA,mBAAmB,6BACnB,8BACA,kBAAgB,sBAChB,kBAAa,kCACb,yDACA,2BACA,wBAAiB,mCACjB,iBAA2B,oBAC3B,gBAAa,kCACb,0BAAa,4BACb,2BACA,2BACA,gBACA,sBAAkB,6BAClB,2DACA,iBAAc,mCACd,gDACA,aAAmB,cACnB,wBAAoB,6CACpB,kBAAkB,sBAClB,6CAEA,iBAAoB,oBACpB,4BACE,mDACF,mBAAa,sBACb,8BAAyB,qDACzB,2BACA,wBAA8B,uBAC9B,iBAAY,oBACZ,6BAAuB,4BACvB,yBACA,sBAAQ,6CACR,gBAAiB,kCACjB,OAAY,SACZ,kDACA,wBACA,qCACA,sBAAyB,wCACzB,8DACA,wBAAgB,mCAChB,8CACA,iCACA,qDACA,0BACA,iCACA,wBAAS,iCACT,wBAAoB,iCACpB,kBACA,mBAAuB,6BACvB,KAA4B,OAC5B,sBAAM,6CACN,6EACA,YACA,gBAAgB,cAChB,uBACA,eAAe,kBACf,MAAgB,QAChB,kCACA,eAAQ,mBACR,QAAa,UACb,gBACA,0BACA,mCACA,sDACA,2BAAM,qCACN,YACE,eACF,KACE,OACF,iBAAgB,yEAChB,cAAuB,qEACvB,eAAe,wBACf,sBAAgB,8FAChB,cAAiB,kBACjB,eAAgB,uBAChB,gBAAiB,wBACjB,eAAkB,qBAClB,gBAAuB,sBACvB,iBAAsB,2BACtB,sBAAuB,8BACvB,qBAA2B,sBAC3B,sBAA4B,uBAC5B,0BAAe,2BACf,2BAAc,4BACd,cAAe,sBACf,aAAU,qBACV,cAAO,sBACP,qBACA,cACA,uBAEA,sBAAoB,gDACpB,WAAW,oFACX,mDACA,UAA4B,iCAC5B,8BAAe,sBACf,gDACA,cAA4B,+BAC5B,oDACA,2BAAuB,qBACvB,uCACA,sBAAe,yCACf,wDACA,gCACA,oBAAuB,sCACvB,oBAAqB,+BACrB,sBAAW,uBACX,oBAAgB,oBAChB,uBACA,eAAkB,kBAClB,oBACE,mDACF,mDACA,6BACE,uKACF,8BAAc,cACd,sIACA,0DACA,yBACA,gBACA,6BACA,yBACA,gBAAc,mBACd,uBAAmB,uBACnB,aAAO,mBACP,kBAAe,wBACf,cACA,cAAQ,oDACR,mBAAa,yDACb,gBACA,YAAa,8CACb,mCACA,2BACA,8BACA,oBAAkB,2BAClB,oBAAa,+BACb,iBAAc,2CACd,4BACA,aAAmB,uCACnB,gBAAmB,gBACnB,kBAAgB,gCAChB,kBACE,aACF,wDACA,cAAe,sIACf,+CACA,oCACA,yDACA,qBACA,+BACA,YACA,iBAAY,oBACZ,uBACA,4BACA,oBAAqB,mCACrB,wDACA,wDACA,yBAAU,yCACV,WAA+B,cAC/B,sBACA,8BAAc,0CACd,wDACA,4BACA,mBAA2B,sBAC3B,kEACA,+DACA,gCAA2B,yCAC3B,kDACA,0BAAkB,mCAClB,0BAA6B,mCAC7B,qCACA,yDACA,8BACA,sBAAO,0BACP,qCACA,MAAU,QACV,8BACA,SAAU,WACV,6CACA,SAAmC,YACnC,uBAAS,sBACT,kCAAiB,4BACjB,QAA4B,cAC5B,gBAAU,cACV,2BACE,sBACF,gBACA,gBAAU,uEACV,oBAAqB,wBACrB,SAAc,aACd,oBAAqB,qBACrB,aAAkB,WAClB,oBAAqB,UACrB,iBAAiB,OACjB,oBAAoB,UACpB,gBAAoB,MACpB,mBAAyB,SACzB,mBAAiB,SACjB,4CACA,gBAAO,eACP,2BAAU,uBACV,gBACA,SAAa,aACb,SAAc,aACd,YAAqB,MACrB,oBACA,oBAAe,QACf,cAAiB,QACjB,cAAc,QACd,gBAAsB,UACtB,aAAS,OACT,qBAAQ,yBACR,QAAoB,oBACpB,gBACA,mBAAgB,uBAChB,2BACA,eAAkB,kBAClB,QAAW,UACX,oDACA,sBACA,oBACA,eAAQ,2BACR,oBAAc,gCACd,gBACA,aAAa,cACb,wBAAwB,6CACxB,2BACA,qEAEA,iBAAY,oBACZ,4BAAuB,mDACvB,WAAoB,cACpB,sBAA2B,6CAC3B,mBAA2B,6BAC3B,0BAAO,8CACP,2EACA,cACA,+DACA,8BAAkB,sCAClB,4BAAe,qCACf,iBAAiB,qBACjB,cAAc,iCACd,4CACA,6BACA,4CACA,sCACA,oDACA,WAA2B,cAC3B,eAAW,8CACX,0BAAsB,6BACtB,uBACA,qBAAkB,qBAClB,yBAAoB,mBACpB,iBAAQ,oCACR,iDACA,gBACA,uBAAiB,sBACjB,KAAM,OACN,gBAAQ,oBACR,YACA,OAAY,SACZ,kBACE,6CACF,WAAkB,gBAClB,eAAmB,wEACnB,iBAAkB,4CAClB,kBAAuB,oBACvB,sCACA,gDACA,8DACA,yBAAS,8BACT,WAAW,cACX,QAAY,UACZ,sBACA,wBACA,oBAAmB,aACnB,yDACA,kBAAsB,WACtB,2BAAmB,sBACnB,qBAAmB,iCACnB,uCACA,uCACA,mCACA,mBAAiB,YACjB,8BAAoB,oBACpB,mCACA,mBAAyB,sBACzB,+DACA,wBAAmB,mCACnB,YAAM,cACN,kBAAc,qBACd,YACA,6BACA,WAAmB,cACnB,gBAAiB,mCACjB,kBAAmB,6BACnB,kDACA,+CACA,+CACA,kCACA,yBAAyB,8BACzB,mBAAmB,4BACnB,wBAAU,iCACV,kBAAqB,2BACrB,qBACA,oBAAU,qBACV,cACA,SAA2B,YAC3B,0BAAO,mCACP,0BAAkB,kCAClB,MAAa,QACb,iBAAY,kBACZ,YAAM,QACN,yBACA,YACA,gCACA,gCACA,sBAAkB,6BAClB,2DACA,iBAAoB,mCACpB,mBAAe,8BACf,mBAAS,0BACT,cAAc,iBACd,QAAgB,WAChB,aAAW,gCACX,0CACA,UAAU,aACV,qBAAiB,wBACjB,SAAmB,YACnB,gBAAO,mCACP,kBAAe,6BACf,cAEA,+BACA,yBAAsB,8FACtB,+CACA,4CACA,4BAAM,mCACN,2BAAM,mBACN,YACA,KAAsB,OACtB,UAAoB,aACpB,sEACA,mBAAc,UACd,mBAAc,UACd,6BACA,6BACA,cAAe,iBACf,cAAc,cACd,cAAO,kBACP,qBACA,MAAW,QACX,wBAAsB,qBACtB,sBACA,qBAAiB,iBACjB,WAAS,cACT,mCACA,oBACA,sBAAwB,oBACtB,sBAAM,iDACN,uBAAO,CACP,KAAO,OACT,cACoB,aACpB,EACA,oCACA,0BACA,YAAqB,eACrB,uBAAoB,yBACpB,oBAAqB,kBACrB,mBAAoB,2BACpB,sCACA,8CACA,wBACA,uBAAsB,6BACtB,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uBACnB,8BACA,kBAAS,sBACT,qCACA,QAAqB,SACrB,SAAY,WACZ,4CACA,2BAEA,2BAAoC,sCACpC,wFACA,mCAAkC,qBAClC,gCAAQ,iBACR,iCAAgB,mBAChB,iBACA,eACE,gCACF,QACE,iBACF,0BAAc,oEACd,iFACA,+CACA,kCAAa,2CACb,SAAyB,kBACzB,mCACA,wBAAU,wBACV,QAAW,cACX,SAAsB,eACtB,UACE,UACF,qBAAe,+BACf,mBAAsB,2DACtB,gCACA,mDACA,iBAAc,yCACd,mBAAmB,2BACnB,+BACA,kBAAgB,sBAChB,kBAAa,oCACb,eAAyB,4DACzB,8BACA,wBAAiB,yCACjB,uCACA,gBAAa,8CACb,0BAAa,kCACb,+BACA,YAAuB,sBACvB,mBACA,4EACA,gEACA,0EACA,mBAAyB,+BACzB,aAAmB,mBACnB,wBAAoB,8CACpB,kBAAkB,uCAClB,mBACE,oDACF,iBAAoB,2BACpB,4BACE,sDACF,mBAAa,2BACb,8BAAyB,0DACzB,YAAkB,qBAClB,wBAA8B,4CAC9B,iBAAY,0BACZ,6BAAuB,8CACvB,gCACA,sBAAQ,oDACR,gBAAiB,iDACjB,qBACA,oEACA,WACE,cACF,iBACE,uBACF,sBAAyB,yDACzB,kFACA,wBAAgB,oCAChB,mBAA2B,gDAC3B,eAAa,qBACb,0BAAgB,+BAChB,2BAEA,4CAEA,wBAAS,4DACT,wBAAoB,iEACpB,QAAM,WACN,mBAAuB,0BACvB,KACE,UACF,sBAAM,sDACN,2BAAiB,2DACjB,gBACA,gBAAgB,sBAChB,8BACA,eAAe,yBACf,MAAgB,OAChB,0CACA,mCACA,QAAa,WACb,kBACA,2BACA,oCACA,wDACA,2BAAM,wCACN,4BAEA,kBAEA,iBAAgB,uEAChB,uFAEA,eAAe,wBACf,sBAAgB,sIAChB,cAAiB,kCACjB,eAAgB,6CAChB,gBAAiB,8CACjB,eAAkB,wCAClB,0DACA,iBAAsB,qDACtB,sBAAuB,mDACvB,kEACA,kEACA,0BAAe,+CACf,2BAAc,iDACd,cAAe,6CACf,aAAU,kDACV,cAAO,kDACP,8BACA,MACE,SACF,0BAEA,sBAAoB,gEACpB,WAAW,8FACX,mBAA+B,kCAC/B,2DACA,8BAAe,sCACf,2BAA+B,+BAC/B,4DACA,8BAAmB,sCACnB,2BACE,+BACF,2CACA,sBAAe,mEACf,sBACE,iDACF,gCACA,oBAAuB,8DACvB,oBAAqB,4CACrB,sBAAW,2BACX,6CACA,+BAEA,eAAkB,0BAClB,0FAEA,0DACA,6BACE,4LACF,8BAAc,cACd,kBAAY,oJACZ,uEACA,+BACA,gBACA,6BACA,WAAwB,mBACxB,wCACA,uBAAmB,gCACnB,yCACA,kBACE,8BACF,MACE,YACF,iFACA,mBAAa,wEACb,OAAiB,cACjB,YAAa,8DACb,yCACA,YAAqB,2BACrB,aAAqB,mBACrB,oBAAkB,kCAClB,mDACA,iBAAc,+CACd,YAAiB,qBACjB,gEACA,gBAAmB,qBACnB,kBAAgB,wDAChB,gCAEA,0EACA,cAAe,0IACf,6CACA,cAAU,2BACV,0EACA,SAAM,aACN,gCACA,WACA,iBAAY,wBACZ,UAAqB,iBACrB,WAAqB,yBACrB,oBAAqB,oCACrB,oBAA0B,uCAC1B,0DACA,yBAAU,2CACV,WAA+B,cAC/B,uBACA,8BAAc,4CACd,4BAAoB,yBACpB,aACE,eACF,mBAA2B,yBAC3B,uFAEA,gEACA,gCACE,oEACF,wEAEA,0BAAkB,+DAClB,0BAA6B,oEAC7B,yCACA,4BAAuB,+BACvB,cAAkB,gBAClB,sBAAO,2BACP,8CACA,qBACA,8BACA,SAAU,eACV,uCACA,SAAmC,WACnC,uBAAS,yBACT,kCAAiB,oCACjB,QAA4B,sBAC5B,gBAAU,cACV,2BACE,yBACF,SAAqB,OACrB,gBAAU,6FACV,oBAAqB,+BACrB,SAAc,kBACd,oBAAqB,yBACrB,aAAkB,WAClB,oBAAqB,WACrB,iBAAiB,QACjB,oBAAoB,iBACpB,gBAAoB,SACpB,oCACA,mBAAiB,QACjB,wBAA4B,4BAC5B,gBAAO,kBACP,2BAAU,4BACV,MAAU,UACV,SAAa,kBACb,yBACA,YAAqB,MACrB,sBACA,oBAAe,QACf,cAAiB,QACjB,cAAc,QACd,6BACA,aAAS,QACT,qBAAQ,8BACR,2BACA,OAAa,SACb,mBAAgB,+BAChB,oCACA,eAAkB,uBAClB,QAAW,aACX,gEACA,sBACA,SAAqB,aACrB,mDACA,0DACA,OAAyB,YACzB,aAAa,mBACb,wBAAwB,8CACxB,YAAkB,qBAClB,uBACE,mDACF,2CACA,4BAAuB,qDACvB,qCACA,sBAA2B,uDAC3B,gEAEA,0BAAO,iDACP,2FAEA,cAEA,yFAEA,mGACA,4BAAe,sEACf,iBAAiB,6BACjB,cAAc,sCACd,6CACA,+BACA,0CACA,oBAAY,eACZ,wBACE,+BACF,WAA2B,oBAC3B,eAAW,mEACX,mEACA,UAA0B,kBAC1B,qBAAkB,yBAClB,yBAAoB,gCACpB,iBAAQ,6CACR,mBAAwB,+BACxB,OAAM,SACN,uBAAiB,8BACjB,KAAM,OACN,mDACA,KACE,cACF,oBACA,kBACE,8DACF,WAAkB,0BAClB,wGACA,iBAAkB,oDAClB,6CACA,+CAEA,wDACA,oBAAY,qEACZ,yBAAS,0CACT,WAAW,uBACX,QAAY,QACZ,UAAqB,aACrB,WAAoB,aACpB,0CACA,mBAA4B,wCAC5B,kBAAsB,sBACtB,2BAAmB,iCACnB,qBAAmB,iCACnB,kBAAsB,yBACtB,wCACA,2CACA,uCACA,8BAAoB,2BACpB,gBAAuB,0BACvB,mBAAyB,yBACzB,qEACA,2DACA,YAAM,cACN,kBAAc,wBACd,cACA,aAAiB,8BACjB,WAAmB,mBACnB,gBAAiB,0CACjB,kBAAmB,4BACnB,4DACA,kDACA,0EAEA,0DACA,yBACE,kEACF,mBACE,wDACF,qFACA,kBAAqB,8DACrB,2BACA,oBAAU,yBACV,MACE,UACF,SACE,uBACF,0BAAO,2DACP,0BAAkB,uDAClB,MAAa,cACb,iBAAY,0BACZ,YAAM,QACN,6BACA,YACA,gCACA,UAAyB,uBACzB,4EACA,wBAAoB,0CACpB,iBAAoB,4CACpB,mBAAe,iCACf,mBAAS,oDACT,cAAc,+BACd,QAAgB,yBAChB,aAAW,2CACX,eAAsB,kCACtB,UAAU,wBACV,qBAAiB,kCACjB,SAAmB,uBACnB,kEACA,kBAAe,oCACf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CA,mBACE,sBACF,KACE,QACF,sBAAM,+DACN,uFACA,gBACA,gBAAgB,mBAChB,2BACA,eAAe,sBACf,cACA,+CACA,eAAQ,yBACR,QAAa,SACb,iBACA,2BACA,sCACA,0DACA,2BAAM,6CACN,YACE,eACF,oBAEA,iBAAgB,yEAChB,cAAuB,kFACvB,eAAe,wBACf,sBAAgB,8FAChB,cAAiB,kBACjB,eAAgB,0CAChB,gBAAiB,8CACjB,eAAkB,2CAClB,gBAAuB,2CACvB,oDACA,sBAAuB,oDACvB,qDACA,uDACA,0BAAe,uCACf,2BAAc,uCACd,cAAe,wCACf,aAAU,2CACV,cAAO,4CACP,+BACA,MAAuB,SACvB,4BAEA,sBAAoB,wCACpB,WAAW,gGACX,uDACA,2CACA,8BAAe,8BACf,0DACA,2CACA,8BAAmB,8BACnB,2BAAuB,8BACvB,kBAAuB,2BACvB,4EACA,sBACE,uCACF,cAAqB,wBACrB,oBAAuB,gEACvB,oBAAqB,iDACrB,sBAAW,+BACX,oDACA,+BACA,eAAkB,4BAClB,oBACE,wDACF,iDACA,6BACE,kLACF,8BAAc,cACd,kBAAY,oHACZ,4DACA,WAAgB,kBAChB,gBACA,mCACA,WAAwB,kBACxB,gBAAc,oBACd,uBAAmB,qCACnB,aAAO,uBACP,kBAAe,4BACf,cAEA,yEACA,mBAAa,kEACb,wBACA,YAAa,0DACb,qCACA,qCACA,+BACA,oBAAkB,gCAClB,mDACA,iBAAc,yCACd,gCACA,aAAmB,sDACnB,gBAAmB,iBACnB,kBAAgB,gDAChB,kBACE,iBACF,yEACA,cAAe,uIACf,gBAAqB,iCACrB,cAAU,sBACV,oBAAe,4CACf,yBACA,cAAkB,oBAClB,YACA,iBAAY,eACZ,UAAqB,kBACrB,WAAqB,qBACrB,oBAAqB,0CACrB,oBAA0B,yCAC1B,gEACA,yBAAU,iDACV,WACE,cACF,SAA6B,cAC7B,8BAAc,mDACd,qEACA,aAAyB,iBACzB,yCACA,6EAEA,mEACA,gCACE,kEACF,sEAEA,0BAAkB,0DAClB,0BAA6B,8DAC7B,4CACA,oEACA,+BACA,sBAAO,wBACP,wCACA,MAAU,eACV,cAAkB,iBAClB,SAAU,oBACV,iBAAwB,4CACxB,mBACA,iDACA,kCAAiB,sCACjB,QAA4B,kBAC5B,gBAAU,cACV,2BACE,4BACF,gBACA,+FACA,oBAAqB,gCACrB,SAAc,cACd,oBAAqB,kCACrB,aAAkB,WAClB,oBAAqB,UACrB,iBAAiB,OACjB,oBAAoB,WACpB,gBAAoB,QACpB,mBAAyB,eACzB,mBAAiB,QACjB,iDACA,gBAAO,oBACP,2BAAU,iCACV,eACA,SAAa,eACb,SAAc,cACd,YAAqB,MACrB,oBACA,oBAAe,QACf,cAAiB,QACjB,cAAc,QACd,0BACA,aAAS,OACT,qBAAQ,iCACR,4BACA,eACA,mBAAgB,8BAChB,gCACA,eAAkB,qBAClB,QAAW,aACX,4DACA,UAAgB,UAChB,SAAqB,aACrB,eAAQ,6CACR,oBAAc,wCACd,OAAyB,UACzB,aAAa,kBACb,wBAAwB,gDACxB,oCACA,uBACE,sDACF,iBAAY,qBACZ,4BAAuB,mDACvB,4BACA,qEACA,mBACE,6BACF,0BAAO,gDACP,2FAEA,MACE,QACF,4FAEA,8BAAkB,qEAClB,4FACA,iBAAiB,oBACjB,cAAc,8DACd,uDACA,uCACA,2CACA,oBAAY,oBACZ,wBAAgB,qBAChB,WAA2B,iBAC3B,eAAW,6DACX,yDACA,UAA0B,aAC1B,qBACE,iCACF,yBAAoB,qBACpB,iBAAQ,6DACR,yDACA,gBACA,uBAAiB,6BACjB,KAAM,QACN,gBAAQ,iCACR,KAAmB,QACnB,OAAY,UACZ,kBACE,yDACF,WAAkB,oBAClB,eAAmB,sEACnB,iBAAkB,uDAClB,0CACA,iBAAqB,yBACrB,qDACA,qEACA,yBAAS,wCACT,WAAW,cACX,QAAY,UACZ,uBACA,WAAoB,aACpB,oBAAmB,mBACnB,iEACA,uCACA,2BAAmB,+BACnB,qBAAmB,oCACnB,6CACA,yCACA,wCACA,oCACA,8BAAoB,mCACpB,gBAAuB,6BACvB,iDACA,sEACA,2DACA,YAAM,cACN,4CACA,YACA,aAAiB,sBACjB,uBACA,gBAAiB,uCACjB,kBAAmB,2BACnB,yDACA,gDACA,oBAA0B,oDAC1B,mDAEA,yBACE,6CACF,mBAAmB,4DACnB,wBAAU,uDACV,kBAAqB,mDACrB,yBACA,oBAAU,6BACV,MACE,QACF,sBAEA,0BAAO,0DACP,0BAAkB,oDAClB,MAAa,OACb,iBAAY,eACZ,YAAM,SACN,yBACA,YACA,eAAuB,wBACvB,kCACA,uEACA,wBAAoB,0CACpB,iBAAoB,6CACpB,mBAAe,iCACf,4DACA,cAAc,oBACd,0BACA,aAAW,yCACX,+CACA,UAAU,eACV,6CACA,uBACA,gBAAO,2CACP,kBAAe,+BACf,eAEA,iCACA,yBAAsB,gHACtB,yBAA6B,mBAC7B,+CACA,4BAAM,2CACN,2BAAM,qBACN,kBACA,YACA,UAAoB,iBACpB,qBAAoB,wDACpB,2BACA,mBAAc,WACd,8BACA,kCACA,cAAe,kBACf,cAAc,cACd,oCACA,wBACA,MAAW,WACX,wBAAsB,wBACtB,iBACA,qBAAiB,aACjB,WAAS,gBACT,oCACA,QACE,kBACF,sBAAwB,kCACtB,sBAAM,wEACN,uBAAO,CACP,KAAO,OACT,cACoB,aACpB,EACA,mBAAa,kBACb,+BACA,YAAqB,uBACrB,uBAAoB,qCACpB,oBAAqB,uBACrB,mBAAoB,sCACpB,2CACA,mBAAwB,uCACxB,WAAsB,cACtB,uBAAsB,qCACtB,qBAAiB,mDACjB,qBAAqB,qBACrB,uCAEA,oBAAc,yDACd,mBAAS,4DACT,aAAgB,iBAChB,QAAe,UACf,sCAEA,oCACA,8BAAmB,gDACnB,oBACE,yBACF,6CAEA,oBAAoB,2FACpB,mBACE,kKACF,mBAAoB,kDACpB,wFACA,sDACA,yBACA,sBAAO,2BACP,cACA,MAAS,SACT,gBACA,kBACA,sBACA,mCACA,UAAmB,cACnB,aAAgB,mBAChB,kEACA,eAAkB,8CAClB,cAAa,iCACb,iBAAc,gCACd,6BACA,+BACA,qBAAqB,4BACrB,kCACA,oBAAU,mDACV,OAA0B,UAC1B,qBAEA,yBAAe,oCACf,kBAAkB,qEAClB,uCACA,iBAAqB,+BACrB,SAAyB,WACzB,oBAAiB,mBACjB,wBAA4B,sBAC5B,gBAAQ,mBACR,2BAAO,wBACP,OAAoB,SACpB,cACA,oEACA,cAAsB,iBACtB,gBAAqB,oBACrB,qBAAoB,4BACpB,oBAAe,kBACf,mEACA,6DACA,eAAqB,mBACrB,kEAEA,oBAA0B,kBAC1B,uBAAwB,4DACxB,yBAA0B,8CAC1B,uBAAQ,sDACR,yBAAoB,iCACpB,OAAU,SACV,mDACA,SAA2B,YAC3B,oBAAQ,kCACR,sDACA,gBACA,+BACA,yBACA,0BACA,YAAyB,yCACzB,aAAa,wCACb,wBAAY,0CACZ,YAAO,iBACP,WAAW,iBACX,cACA,UAAa,YACb,0BAAmB,4BACnB,YAAY,eACZ,kBAAmB,gBACnB,WAAiB,cACjB,kBAAa,6BACb,gBAAgB,uBAChB,YAAyB,eACzB,eAAkB,mBAClB,wBAAY,oDACZ,iBACE,gBACF,WAAqB,cACrB,mCAA4B,wFAC5B,qEACA,2BAAiB,wCACjB,kBAAkB,4BAClB,gBAAgB,sBAChB,qDACA,6CACA,kBAAmB,kCACnB,gBAAgB,4BAChB,wCACA,eAA6B,kBAC7B,oDACA,4BAA4B,yCAC5B,sBAAc,+BACd,2BAAe,oCACf,aAAoB,oCACpB,cACE,qCACF,mBACE,0CACF,iBACE,2OACF,iBAAgC,0SAChC,+NACA,+BAAuC,mBACvC,YAAW,cACX,sCAAgC,0BAChC,UAAa,aACb,+BAAkC,oBAClC,YACE,eACF,iCAAyB,+BACzB,0BAAwB,yDACxB,wBAAqB,yBACrB,uBAAkB,uBAClB,oBAAuB,aACvB,qCACA,gDACA,6BAA8B,wCAC9B,2BAA4B,kCAC5B,6BAA8B,wCAC9B,2BAA4B,kCAC5B,6BACE,wCACF,6DACA,iCAAK,yDACL,sBAAI,0BACJ,IAAU,MACV,GAAS,KACT,SAAwB,SACxB,QAA8B,UAC9B,kDACA,6BACE,iCACF,qBAAqB,yBACrB,uFACA,2CACA,eAA4B,kBAC5B,8CACA,2BAA8B,+BAC9B,mBAAqC,uBACrC,6BAAQ,sBACR,oCAAuB,6BACvB,gBACA,kDACA,kCACA,oDACA,2BAA4B,8CAC5B,yBAA0B,wCAC1B,2BAA4B,8CAC5B,yBAA0B,wCAC1B,2BACE,8CACF,iEACA,+BAAsB,+DACxB,qKCvqBA,SAAwB,mCAGtB,UAAiB,aACjB,+BACA,qCACA,kBACA,uBACA,eAAuB,sBACvB,0BACA,wCAEA,YAAS,gBACT,uBAAU,6EACV,QAAQ,QACR,kBACA,kBACA,6BACA,4CACA,uCACA,sBAAY,gCACZ,kCACA,+BACA,cACA,+DACA,yBAAiB,gDACjB,uBACA,0BACA,aAAgB,gBAChB,sCACA,eAAwB,UACxB,0BAEA,uBAAoB,gBACpB,oFACA,mBAAc,sBACd,kBAAyB,qBACzB,aAAa,qBACb,2DACA,2BACA,6BACA,wBAAqB,iDACrB,qBAAQ,2BACR,yCACA,iBACA,0BACA,qBAAkB,8BAClB,WACE,oBACF,uCACA,kBAAS,sEACT,kBAAuB,oDACvB,QAAS,gBACT,sBACE,2CACF,QAAa,cACb,cAAY,uEACZ,YAAe,qDACf,WAAW,mBACX,iCACA,UAAe,iDACf,iBAAM,oCACN,cAAe,iCACf,cACA,cAAc,iBACd,aAAY,aACZ,aACE,eACF,WAAY,cACZ,yBAAY,uEACZ,WAAmB,iBACnB,0BACA,kBAAS,iCACT,oBAAe,6BACf,gBACA,cAAmB,eACnB,mBAAc,0BACd,kBAAmB,wBACnB,aAAiB,kBACjB,kBAAS,yBACT,uCACA,oBACA,SAAY,eACZ,4CACA,WACE,aACF,8DACA,kCAAiC,oDACjC,wDACA,gCAAQ,kBACR,iCAAgB,mBAChB,kBACA,eAA2B,8BAC3B,QAAqB,WACrB,0BAAc,sCACd,oBAAmC,+BACnC,aAAU,yBACV,kCAAa,sCACb,qBACA,+BACA,wBAAU,2BACV,QAAW,WACX,uBACA,sBACA,qBAAe,iCACf,mBAAsB,wDACtB,4BACA,qBAAoB,yBACpB,wCACA,mBAAmB,4BACnB,aAAmB,kBACnB,kBAAgB,sBAChB,kBAAa,kCACb,+CACA,0BACA,wBAAiB,iCACjB,iBAA2B,mBAC3B,gBAAa,wBACb,0BAAa,iCACb,8BACA,kCACA,iBACA,sBAAkB,iCAClB,wBAAoB,oCACpB,iBAAc,gCACd,iDACA,aAAmB,eACnB,wBAAoB,+CACpB,kBAAkB,sBAClB,8CAEA,iBAAoB,uBACpB,4BACE,uDACF,mBAAa,sBACb,8BAAyB,sDACzB,4BACA,wDACA,iBAAY,qBACZ,0DACA,WAAiB,iBACjB,sBAAQ,iDACR,gBAAiB,iCACjB,OAAY,WACZ,2CACA,0BACA,sCACA,sBAAyB,oCACzB,sBAAoB,sCACpB,wBAAgB,qCAChB,gDACA,sCACA,0DACA,YAAyB,gBACzB,qCACA,wBAAS,2CACT,wBAAoB,4CACpB,mBACA,mBAAuB,0BACvB,KACE,QACF,sBAAM,kDACN,mFACA,cACA,gBAAgB,iBAChB,yBACA,eAAe,oBACf,MAAgB,QAChB,6CACA,kCACA,QAAa,WACb,kBACA,YAAyB,cACzB,gBAA4B,wBAC5B,2DACA,2BAAM,2CACN,YACE,gBACF,iBAEA,iBAAgB,2EAChB,cAAuB,yEACvB,eAAe,wBACf,sBAAgB,8FAChB,cAAiB,kBACjB,eAAgB,wBAChB,gBAAiB,8BACjB,eAAkB,qBAClB,sCACA,6CACA,sBAAuB,6BACvB,2CACA,6CACA,0BAAe,2BACf,2BAAc,4BACd,cAAe,wBACf,aAAU,wBACV,cAAO,yBACP,+BACA,cACA,0BAEA,oEACA,WAAW,4FACX,mBAA+B,sCAC/B,+CACA,8BAAe,sCACf,mDACA,kDACA,8BAAmB,4BACnB,2BACE,wBACF,kBAAuB,6BACvB,sBAAe,yEACf,sBACE,uDACF,cAAqB,yBACrB,oBAAuB,0EACvB,oBAAqB,wDACrB,sBAAW,8BACX,oBAAgB,4BAChB,UACE,mBACF,eAAkB,yBAClB,mFAEA,iBAA+B,qCAC/B,6BACE,uLACF,8BACE,gBACF,kBAAY,mIACZ,aAAQ,2EACR,WAAgB,wBAChB,OAAY,QACZ,2CACA,WAAwB,gBACxB,gBAAc,qBACd,uBAAmB,8BACnB,aAAO,sBACP,kBAAe,2BACf,cAEA,cAAQ,yDACR,mBAAa,4DACb,cACA,YAAa,oDACb,qCACA,mCACA,+BACA,oBAAkB,2BAClB,mDACA,iBAAc,wCACd,YAAiB,qBACjB,uDACA,gBAAmB,mBACnB,4DACA,kBACE,gBACF,kEACA,cAAe,+HACf,gBAAqB,8BACrB,cAAU,wBACV,oBAAe,4CACf,yBACA,cAAkB,mBAClB,KAAW,OACX,iBAAY,uBACZ,yBACA,gCACA,oBAAqB,kCACrB,2DACA,oBAAY,+BACZ,yBAAU,oCACV,2BACA,SAA6B,aAC7B,8BAAc,uCACd,4BAAoB,4CACpB,aAAyB,cACzB,mBAA2B,oBAC3B,wBAAiC,uCACjC,0BAAsB,mCACtB,gCAA2B,6CAC3B,mDACA,0BAAkB,uCAClB,0BAA6B,wCAC7B,iBAAe,sBACf,4BAAuB,+BACvB,cAAkB,eAClB,sBAAO,yBACP,iBAAe,qBACf,qBACA,6BACA,SAAU,mBACV,+DACA,SAAmC,YACnC,uBAAS,yBACT,kCAAiB,mCACjB,6BACA,gBAAU,YACV,2BACE,uBACF,SAAqB,OACrB,gBAAU,+EACV,oBAAqB,iCACrB,SAAc,mBACd,oBAAqB,4BACrB,aAAkB,aAClB,oBAAqB,cACrB,iBAAiB,OACjB,oBAAoB,SACpB,wBACA,mBAAyB,SACzB,mBAAiB,QACjB,wBAA4B,2BAC5B,gBAAO,mBACP,2BAAU,6BACV,kBACA,SAAa,cACb,SAAc,mBACd,YAAqB,MACrB,qBACA,oBAAe,QACf,cAAiB,QACjB,cAAc,WACd,4BACA,aAAS,SACT,qBAAQ,iCACR,6BACA,OAAa,SACb,mBAAgB,+BAChB,gCACA,eAAkB,oBAClB,QAAW,WACX,yDACA,sBACA,qBACA,eAAQ,8BACR,oBAAc,mCACd,iBACA,aAAa,eACb,wBAAwB,+CACxB,4BACA,uEAEA,qCACA,4BAAuB,qDACvB,WAAoB,iBACpB,wEACA,qDAEA,0BAAO,uCACP,wFACA,cACA,wEACA,8BAAkB,2CAClB,yEACA,iBAAiB,yBACjB,cAAc,kCACd,gDACA,8BACA,4CACA,oBAAY,kBACZ,wBAAgB,4BAChB,WAA2B,iBAC3B,eAAW,0DACX,0BAAsB,yCACtB,0BACA,8CACA,yBAAoB,wBACpB,2DACA,yDACA,OAAM,iBACN,uBAAiB,yBACjB,KAAM,SACN,kDACA,KAAmB,SACnB,OAAY,YACZ,kBACE,uDACF,WAAkB,uBAClB,eAAmB,uFACnB,iBAAkB,oDAClB,kBAAuB,uBACvB,yCACA,sBAA0B,6BAC1B,oBAAY,gDACZ,yBAAS,mCACT,WAAW,mBACX,QAAY,WACZ,uBACA,wBACA,oBAAmB,mBACnB,0DACA,uCACA,2BAAmB,8BACnB,0DACA,0CACA,wCACA,qCACA,sCACA,8BAAoB,4BACpB,gBAAuB,0BACvB,4CACA,6DACA,wBAAmB,mCACnB,YAAM,cACN,4CACA,cACA,wCACA,0BACA,gBAAiB,+BACjB,kBAAmB,6BACnB,gBAAqB,gCACrB,kBAAc,+BACd,oBAA0B,gCAC1B,aAAoB,uBACpB,yBAAyB,4BACzB,mBAAmB,iCACnB,wBAAU,sCACV,kBAAqB,mCACrB,0BACA,8CACA,gBAEA,SACE,gBACF,0BAAO,8DACP,0BAAkB,sDAClB,MAAa,OACb,iBAAY,kBACZ,YAAM,QACN,4BACA,KAAW,OACX,sCACA,UAAyB,0BACzB,sBAAkB,mCAClB,wBAAoB,sCACpB,iBAAoB,2BACpB,mDACA,mBAAS,6BACT,cAAc,uBACd,4BACA,aAAW,oCACX,iDACA,UAAU,oBACV,qBAAiB,wBACjB,2BACA,gBAAO,kCACP,kBAAe,gCACf,MACE,WACF,gCACA,yBAAsB,kGACtB,yBAA6B,uBAC7B,4CACA,4BAAM,qCACN,2BAAM,mBACN,KAAW,aACX,YACA,8BACA,qBAAoB,qDACpB,mBAAc,QACd,mBAAc,YACd,gCACA,iCACA,cAAe,oBACf,cAAc,gBACd,mCACA,uBACA,MAAW,WACX,wBAAsB,2BACtB,kBACA,qBAAiB,cACjB,yBACA,mCACA,QACE,qBACF,sBAAwB,wBACtB,sBAAM,8EACN,uBAAO,CACP,KAAO,mBACT,0BACA,0CACA,EACA,mBAAa,qBACb,aAAwB,mBACxB,iCACA,sDACA,oBAAqB,wBACrB,mBAAoB,gCACpB,8CACA,qDACA,WAAsB,YACtB,uBAAsB,2BACtB,qBAAiB,sCACjB,qBAAqB,oBACrB,gBAAoB,oBACpB,uDACA,mBAAS,+CACT,aAAgB,aAChB,kBACA,iCACA,c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CACA,sBAAe,yCACf,wDACA,gCACA,oBAAuB,sCACvB,oBAAqB,+BACrB,sBAAW,uBACX,oBAAgB,oBAChB,uBACA,eAAkB,kBAClB,oBACE,mDACF,mDACA,6BACE,uKACF,8BAAc,cACd,sIACA,aAAQ,6CACR,yBACA,mBACA,6BACA,yBACA,gBAAc,mBACd,uBAAmB,uBACnB,aAAO,mBACP,kBAAe,wBACf,cACA,cAAQ,oDACR,mBAAa,yDACb,eACA,YAAa,8CACb,mCACA,2BACA,8BACA,oBAAkB,2BAClB,oBAAa,+BACb,iBAAc,2CACd,4BACA,aAAmB,uCACnB,gBAAmB,gBACnB,kBAAgB,gCAChB,kBACE,aACF,wDACA,cAAe,sIACf,+CACA,oCACA,yDACA,qBACA,+BACA,YACA,iBAAY,oBACZ,uBACA,4BACA,oBAAqB,mCACrB,wDACA,wDACA,yBAAU,yCACV,WAA+B,cAC/B,sBACA,8BAAc,0CACd,wDACA,4BACA,mBAA2B,sBAC3B,kEACA,+DACA,gCAA2B,yCAC3B,kDACA,0BAAkB,mCAClB,0BAA6B,mCAC7B,qCACA,yDACA,8BACA,sBAAO,0BACP,qCACA,MAAU,QACV,8BACA,SAAU,WACV,iBAAwB,4BACxB,SAAmC,YACnC,uBAAS,sBACT,kCAAiB,qCACjB,sBACA,gBAAU,WACV,2BACE,mBACF,kBACA,gBAAU,uEACV,oBAAqB,wBACrB,SAAc,aACd,oBAAqB,qBACrB,aAAkB,WAClB,oBAAqB,UACrB,iBAAiB,OACjB,oBAAoB,UACpB,gBAAoB,MACpB,mBAAyB,SACzB,mBAAiB,SACjB,4CACA,gBAAO,YACP,2BAAU,oBACV,gBACA,SAAa,aACb,sBACA,qBACA,oBACA,oBAAe,aACf,cAAiB,QACjB,cAAc,UACd,gBAAsB,YACtB,aAAS,SACT,qBAAQ,yBACR,QAAoB,sBACpB,gBACA,mBAAgB,uBAChB,YAAS,eACT,eAAkB,kBAClB,QAAW,iBACX,oDACA,sBACA,oBACA,eAAQ,2BACR,oBAAc,gCACd,gBACA,aAAa,cACb,wBAAwB,6CACxB,2BACA,qEAEA,iBAAY,oBA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","names":["PUBLIC_VERSION","_a","EACH_ITEM_REACTIVE","EACH_INDEX_REACTIVE","EACH_IS_CONTROLLED","EACH_IS_ANIMATED","EACH_ITEM_IMMUTABLE","PROPS_IS_IMMUTABLE","PROPS_IS_RUNES","PROPS_IS_UPDATED","PROPS_IS_BINDABLE","PROPS_IS_LAZY_INITIAL","TRANSITION_IN","TRANSITION_OUT","TRANSITION_GLOBAL","TEMPLATE_FRAGMENT","TEMPLATE_USE_IMPORT_NODE","UNINITIALIZED","NAMESPACE_HTML","NAMESPACE_SVG","DEV","DERIVED","EFFECT","RENDER_EFFECT","BLOCK_EFFECT","BRANCH_EFFECT","ROOT_EFFECT","BOUNDARY_EFFECT","UNOWNED","DISCONNECTED","CLEAN","DIRTY","MAYBE_DIRTY","INERT","DESTROYED","EFFECT_RAN","EFFECT_TRANSPARENT","LEGACY_DERIVED_PROP","HEAD_EFFECT","EFFECT_HAS_DERIVED","EFFECT_IS_UPDATING","STATE_SYMBOL","LEGACY_PROPS","LOADING_ATTR_SYMBOL","is_array","index_of","array_from","define_property","get_descriptor","get_descriptors","object_prototype","array_prototype","get_prototype_of","is_extensible","is_function","thing","noop","run","fn","run_all","arr","i","micro_tasks","run_micro_tasks","tasks","queue_micro_task","equals","value","safe_not_equal","b","safe_equals","effect_in_teardown","rune","effect_in_unowned_derived","effect_orphan","effect_update_depth_exceeded","lifecycle_legacy_only","name","props_invalid_value","key","state_descriptors_fixed","state_prototype_fixed","state_unsafe_mutation","legacy_mode_flag","tracing_mode_flag","enable_legacy_mode_flag","proxy","prev","prototype","sources","is_proxied_array","version","source","reaction","active_reaction","with_parent","previous_reaction","set_active_reaction","result","_","prop","descriptor","e.state_descriptors_fixed","s","set","target","ls","n","update_version","receiver","exists","v","get","has","active_effect","other_s","own_keys","e.state_prototype_fixed","signal","d","get_proxied_value","is","old_values","stack","state","push_reaction_value","mutable_source","initial_value","immutable","component_context","mutate","untrack","should_proxy","untracking","is_runes","reaction_sources","e.state_unsafe_mutation","new_value","internal_set","old_value","is_destroying_effect","increment_write_version","mark_reactions","untracked_writes","set_untracked_writes","update","status","reactions","runes","length","flags","set_signal_status","schedule_effect","derived","parent_derived","user_derived","derived_safe_equal","destroy_derived_effects","effects","destroy_effect","get_derived_parent_effect","parent","execute_derived","prev_active_effect","set_active_effect","update_reaction","update_derived","skip_reaction","legacy_recursive_reactive_block","filename","hydrating","$window","$document","is_firefox","first_child_getter","next_sibling_getter","init_operations","element_prototype","node_prototype","text_prototype","create_text","get_first_child","node","get_next_sibling","child","is_text","first_child","fragment","first","sibling","count","next_sibling","clear_text_content","is_throwing_error","is_flushing","last_scheduled_effect","is_updating_effect","set_is_destroying_effect","queued_root_effects","effect","set_reaction_sources","new_deps","skipped_deps","write_version","read_version","captured_signals","check_dirtiness","dependencies","is_unowned","dependency","is_disconnected","is_unowned_connected","propagate_error","error","current","should_rethrow_error","handle_error","previous_effect","schedule_possible_effect_self_invalidation","root","previous_deps","previous_skipped_deps","previous_untracked_writes","previous_skip_reaction","previous_reaction_sources","previous_component_context","previous_untracking","set_component_context","deps","remove_reactions","remove_reaction","index","new_length","start_index","update_effect","was_updating_effect","destroy_block_effect_children","destroy_effect_children","execute_effect_teardown","teardown","dep","infinite_loop_guard","e.effect_update_depth_exceeded","flush_queued_root_effects","flush_count","root_effects","collected_effects","process_effects","flush_queued_effects","unlink_effect","is_branch","is_skippable_branch","previous_active_reaction","is_derived","capture_signals","previous_captured_signals","captured","invalidate_inner_signals","STATUS_MASK","deep_read_state","deep_read","visited","proto","descriptors","validate_effect","e.effect_orphan","e.effect_in_unowned_derived","e.effect_in_teardown","push_effect","parent_effect","parent_last","create_effect","type","sync","push","e","inert","user_effect","defer","context","user_pre_effect","render_effect","component_root","options","fulfil","pause_effect","legacy_pre_effect","token","legacy_pre_effect_reset","template_effect","thunks","deriveds","block","branch","previously_destroying_effect","remove_dom","next","removed","end","transitions","transition","callback","pause_children","run_out_transitions","remaining","check","local","transparent","resume_effect","resume_children","lifecycle_outside_component","props","ctx","pop","component","context_stack_item","component_effects","component_effect","is_capture_event","DELEGATED_EVENTS","is_delegated","event_name","ATTRIBUTE_ALIASES","normalize_attribute","PASSIVE_EVENTS","is_passive_event","autofocus","dom","body","listening_to_form_reset","add_form_reset_listener","evt","without_reactive_context","listen_to_event_and_reset_event","element","event","handler","on_reset","all_registered_events","root_event_handles","create_event","target_handler","handle_event_propagation","capture","passive","delegate","events","handler_element","owner_document","path","current_target","path_idx","handled_at","at_idx","handler_idx","throw_error","other_errors","parent_element","delegated","data","head","render_fn","anchor","create_fragment_from_html","html","elem","assign_nodes","start","template","content","is_fragment","use_import_node","has_start","clone","ns_template","ns","wrapped","text","t","comment","frag","append","should_intro","set_should_intro","set_text","str","mount","_mount","document_listeners","Component","intro","registered_events","event_handle","unmount","anchor_node","mounted_components","if_block","root_index","hydrate_index","consequent_effect","alternate_effect","condition","has_branch","set_branch","flag","update_branch","new_condition","pause_effects","items","controlled_anchor","items_map","is_controlled","parent_node","link","item","each","get_collection","get_key","fallback_fn","fallback","was_empty","each_array","collection","array","reconcile","is_animated","should_update","seen","to_animate","matched","stashed","child_anchor","create_item","update_item","_b","j","a","move","to_destroy","destroy_length","_c","_d","reactive","mutable","dest","next_node","get_value","svg","mathml","skip_warning","slot","$$props","slot_props","slot_fn","is_interop","snippet","get_snippet","args","snippet_effect","get_component","get_tag","is_svg","get_namespace","location","tag","current_tag","next_tag","action","payload","inited","r","f","o","clsx","_clsx","whitespace","to_class","hash","directives","classname","len","append_styles","styles","important","separator","css","to_css_name","to_style","new_style","normal_styles","important_styles","in_str","in_apo","in_comment","reserved_names","name_index","c","property","set_class","is_html","prev_classes","next_classes","next_class_name","is_present","update_styles","priority","set_style","prev_styles","next_styles","next_style_attr","CLASS","STYLE","IS_CUSTOM_ELEMENT","IS_HTML","set_value","attributes","get_attributes","set_checked","checked","set_selected","selected","set_attribute","attribute","get_setters","set_attributes","css_hash","is_custom_element","preserve_attribute_case","is_option_element","setters","prev_value","prefix","opts","event_handle_key","handle","is_default","input","use_default","previous","setters_cache","element_proto","now","raf","run_tasks","task","loop","fulfill","dispatch_event","css_property_to_camelcase","style","parts","word","css_to_keyframe","keyframe","part","formatted_property","linear","get_fn","get_params","is_intro","is_outro","is_both","is_global","direction","current_options","overflow","outro","get_options","animate","counterpart","t2","on_finish","aborted","delay","tick","easing","keyframes","get_t","animation","t1","delta","duration","needs_overflow_hidden","time","bind_value","is_reset","is_numberlike_input","to_number","pending","bind_group","inputs","group_index","is_checkbox","binding_group","get_binding_group_value","bind_checked","group","__value","bind_prop","desc","select_option","select","mounting","select_options","option","option_value","get_option_value","init_select","observer","bind_select_value","query","selected_option","is_bound_this","bound_value","element_or_component","bind_this","get_parts","old_parts","once","ran","preventDefault","init","callbacks","changed","observe_all","fns","bubble_event","onMount","init_update_callbacks","cleanup","onDestroy","create_custom_event","detail","bubbles","cancelable","createEventDispatcher","active_component_context","afterUpdate","e.lifecycle_legacy_only","l","subscribe_to_store","store","invalidate","unsub","subscriber_queue","readable","writable","stop","subscribers","run_queue","subscriber","subscribe","stores","single","stores_array","auto","started","values","unsubscribers","is_store_binding","IS_UNMOUNTED","store_get","store_name","entry","is_synchronous_callback","get_store","setup_stores","capture_store_binding","previous_is_store_binding","legacy_rest_props_handler","legacy_rest_props","exclude","spread_props_handler","p","keys","spread_props","has_destroyed_component_ctx","current_value","bindable","lazy","is_store_sub","prop_value","is_entry_props","setter","fallback_value","fallback_dirty","fallback_used","get_fallback","e.props_invalid_value","getter","derived_getter","legacy_parent","mutation","from_child","was_from_child","inner_current_value","parent_value","child_value","w.legacy_recursive_reactive_block","convert","loose","tmp","ext","pattern","Navaid","base","on404","rgx","curr","routes","$","fmt","uri","replace","pat","params","obj","u","wrap","click","x","y","ev","locales","rtlLanguages","AppConfig","PathPrefix","DefaultLocale","adminPrefix","appRoutes","apiclient","handle401","endpoint","customConfig","headers","config","response","assign","defaultConverter","converter","defaultAttributes","stringifiedAttributes","attributeName","cookies","jar","found","api","getFallbackProxy","_target","removeEmptyValues","object","trimAllValues","val","parseArgumentPart","keyPart","formatterKeys","keyWithoutType","isOptional","isBasicPluralPart","parsePluralPart","lastAccessor","entries","zero","one","two","few","many","rest","nrOfEntries","REGEX_SWITCH_CASE","parseCases","removeOuterBrackets","accumulator","entry2","REGEX_BRACKETS_SPLIT","parseRawText","rawText","optimize","firstKey","lastKey","parsedPart","trimmed","applyFormatters","formatters","initialValue","formatterKey","cases","getPlural","pluralRules","z","m","REGEX_PLURAL_VALUE_INJECTION","applyArguments","textParts","translate","firstArg","isObject","transformedArgs","getPartsFromString","cache","getTranslateInstance","locale","i18nObject","translations","createProxy","proxyObject","translateFn","initI18nSvelte","_locale","_LL","readonly","LL","newLocale","Nr","baseLocale","loadedLocales","loadedFormatters","detectLocale","detectors","detectLocaleFn","navigatorDetector","setLocale","CookieName","cookiePath","initWarrior","Cookies","warrior","w","user","initActiveAlerts","activeAlerts","alerts","initDismissedAlerts","dismissKey","dismissedAlerts","actives","dismisses","validAlerts","alert","alertsToDismiss","dir","$locale","defaultTimeout","toasts","$.state","$.proxy","themes","animateOut","createToast","msg","theme","timeout","background","$.get","$.set","removeToast","id","show","danger","warning","info","success","$.each","ul","toast","$.set_style","li","$.set_text","div_1","nameMin","nameMax","passMin","passMax","nameLenError","passLenError","passNotMatchError","validatePasswords","password1","password2","valid","validateName","warriorName","validateUserIsAdmin","validateUserIsRegistered","initFormatters","localeTranslationLoaders","__vitePreload","index$7","index$6","index$5","index$4","index$3","index$2","index$1","updateDictionary","dictionary","importLocaleAsync","loadLocaleAsync","loadFormatters","color","size","strokeWidth","absoluteStrokeWidth","iconNode","$.prop","mergeClasses","classes","className","$.index","$$anchor","$$item","attrs","$$element","$$restProps","$$sanitized_props","currentPage","selectedTheme","showMenu","toggleMenu","pageChangeHandler","setTheme","event_handler","$.derived","event_handler_1","event_handler_2","$.set_class","li_1","li_2","$$render","consequent","AvatarService","klass","pictureUrl","warriorId","gravatarHash","avatar","userName","width","$LL","consequent_1","alternate_1","consequent_5","consequent_4","alternate_4","consequent_3","alternate_3","consequent_2","alternate_2","alternate","notifications","router","xfetch","profile","$.mutable_source","goToProfile","goToRegister","goToLogin","getProfile","$user","res","logoutUser","$.template_effect","$0","text_4","$.derived_safe_equal","text_1","selectedLocale","supportedLocales","dispatch","switchLocale","toggleMobileMenu","showMobileMenu","setupI18n","AllowRegistration","FeaturePoker","FeatureRetro","FeatureStoryboard","OrganizationsEnabled","HeaderAuthEnabled","SubscriptionsEnabled","activePageClass","pageClass","headerLogin","newUser","err","$.set_attribute","a_1","a_2","a_3","a_4","a_5","consequent_6","a_6","consequent_7","a_7","consequent_8","registered","dismissed","dismissAlert","alertId","$dismissedAlerts","showAlert","isRegistered","meetsAllowDesmissed","meetsRegisteredOnly","button","div","AppVersion","RepoURL","footerLinkClasses","countryList","countryMap","country","additionalClass","height","img","activeCountries","ShowActiveCountries","SubscriptionCheckoutLink","slogans","randomSlogan","text_2","text_3","Sockette","url","ws","num","timer","max","point","active","isLocked","results","hideVoterIdentity","showVoters","activeColor","lockedClass","voteAction","voter","$.event","ownKeys","enumerableOnly","symbols","sym","_objectSpread2","_defineProperty","_typeof","_objectWithoutPropertiesLoose","excluded","sourceKeys","_objectWithoutProperties","sourceSymbolKeys","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_arrayLikeToArray","iter","_i","_arr","_n","_s","_e","minLen","arr2","_createForOfIteratorHelper","allowArrayLike","it","F","normalCompletion","didErr","step","FINALIZE_EVENT_NAME","CONSIDER_EVENT_NAME","dispatchFinalizeEvent","el","dispatchConsiderEvent","DRAGGED_ENTERED_EVENT_NAME","DRAGGED_LEFT_EVENT_NAME","DRAGGED_OVER_INDEX_EVENT_NAME","DRAGGED_LEFT_DOCUMENT_EVENT_NAME","DRAGGED_LEFT_TYPES","dispatchDraggedElementEnteredContainer","containerEl","indexObj","draggedEl","dispatchDraggedElementLeftContainerForAnother","theOtherDz","dispatchDraggedElementLeftContainerForNone","dispatchDraggedElementIsOverIndex","dispatchDraggedLeftDocument","TRIGGERS","SOURCES","SHADOW_ITEM_MARKER_PROPERTY_NAME","SHADOW_ELEMENT_ATTRIBUTE_NAME","SHADOW_ELEMENT_HINT_ATTRIBUTE_NAME","SHADOW_PLACEHOLDER_ITEM_ID","DRAGGED_ELEMENT_ID","ITEM_ID_KEY","activeDndZoneCount","incrementActiveDropZoneCount","decrementActiveDropZoneCount","isOnServer","getBoundingRectNoTransforms","onlyVisible","ta","rect","getVisibleRectRecursive","tx","sx","sy","dx","dy","to","h","getAbsoluteRectNoTransforms","getAbsoluteRect","findCenter","calcDistance","pointA","pointB","isPointInsideRect","findCenterOfElement","isCenterOfAInsideB","elA","elB","centerOfA","rectOfB","calcDistanceBetweenCenters","centerOfB","isElementOffDocument","visibleRect","parentRect","overflowY","overflowX","isScrollableY","isScrollableX","dzToShadowIndexToRect","resetIndexesCache","cacheShadowRect","dz","shadowElIndex","findWouldBeIndex","floatingAboveEl","collectionBelowEl","children","cachedShadowRect","minDistanceSoFar","indexOfMin","distance","toString","getDepth","_getDepth","countSoFar","areObjectsShallowEqual","objA","objB","keyA","areArraysShallowEqualSameOrder","arrA","arrB","INTERVAL_MS","TOLERANCE_PX","observe","dropZones","intervalMs","multiScroller","lastDropZoneFound","lastIndexFound","lastIsDraggedInADropZone","lastCentrePositionOfDragged","dropZonesFromDeepToShallow","dz1","dz2","andNow","currentCenterOfDragged","scrolled","isDraggedInADropZone","_iterator","_step","unobserve","SCROLL_ZONE_PX","makeScroller","scrollingInfo","resetScrolling","scrollContainer","_scrollingInfo","directionObj","stepPx","calcScrollStepPx","distancePx","scrollIfNeeded","pointer","elementToScroll","distances","calcInnerDistancesBetweenPointAndSidesOfElement","isAlreadyScrolling","scrollingVertically","scrollingHorizontally","createMultiScroller","baseElementsForScrolling","getPointerPosition","scrollingContainersSet","findRelevantScrollContainers","scrollingContainersDeepToShallow","_makeScroller","mousePosition","scrollContainersUnderCursor","findScrollableParents","scrollableContainers","_window$getComputedSt","scrollingContainers","container","svelteNodeClone","cloned","elIsSelect","selects","_select","clonedSelects","optionEl","elIsCanvas","canvases","clonedCanvases","canvas","clonedCanvas","FEATURE_FLAG_NAMES","featureFlagsMap","getFeatureFlag","flagName","TRANSITION_DURATION_SECONDS","trs","createDraggedElementFrom","originalElement","positionCenterOnXY","copyStylesFromTo","elTopPx","elLeftPx","center","moveDraggedElementToWasDroppedState","morphDraggedElementToBeLike","copyFromEl","currentMouseX","currentMouseY","newRect","draggedElRect","widthChange","heightChange","relativeDistanceOfMousePointerFromDraggedSides","copyToEl","computedStyle","styleDraggable","draggableEl","dragDisabled","hideElement","dragTarget","decorateShadowEl","shadowEl","unDecorateShadowElement","styleActiveDropZones","getStyles","getClasses","styleInactiveDropZones","preventShrinking","originalMinHeight","originalMinWidth","DEFAULT_DROP_ZONE_TYPE$1","MIN_OBSERVATION_INTERVAL_MS","DISABLED_OBSERVATION_INTERVAL_MS","MIN_MOVEMENT_BEFORE_DRAG_START_PX","DEFAULT_DROP_TARGET_STYLE$1","ORIGINAL_DRAGGED_ITEM_MARKER_ATTRIBUTE","originalDragTarget","draggedElData","draggedElType","originDropZone","originIndex","shadowElData","shadowElDropZone","dragStartMousePosition","currentMousePosition","isWorkingOnPreviousDrag","finalizingPreviousDrag","unlockOriginDzMinDimensions","isDraggedOutsideOfAnyDz","scheduledForRemovalAfterDrop","typeToDropZones$1","dzToConfig$1","elToMouseDownListener","registerDropZone$1","dropZoneEl","unregisterDropZone$1","watchDraggedElement","handleDraggedEntered","handleDraggedLeft","handleDraggedIsOverIndex","handleDrop$1","setIntervalMs","observationIntervalMs","unWatchDraggedElement","_iterator2","_step2","findShadowElementIdx","createShadowElData","_objectSpread2$1","_dzToConfig$get","dropFromOthersDisabled","originZoneItems","newOriginZoneItems","_e$detail$indexObj","isProximityBased","shadowElIdx","_dzToConfig$get2","originalItems","origShadowDz","_e$detail","_dzToConfig$get3","handleMouseMove","_dzToConfig$get4","finalizeWithinZone","domShadowEl","cleanupPostDrop","animateDraggedToFinalPosition","shadowElRect","newTransform","_dzToConfig$get5","dropAnimationDurationMs","scheduleDZForRemovalAfterDrop","destroy","_ref","dndzone$2","initialized","elToIdx","addMaybeListeners","handleMouseMoveMaybeDragStart","handleFalseAlarm","removeMaybeListeners","clickEvent","handleDragStart","handleMouseDown","currentIdx","rootNode","originDropZoneRoot","centreDraggedOnCursor","keepOriginalElementInDom","configure","_ref2","_ref2$items","_ref2$flipDurationMs","_ref2$type","newType","_ref2$dragDisabled","_ref2$morphDisabled","morphDisabled","_ref2$dropFromOthersD","_ref2$dropTargetStyle","dropTargetStyle","_ref2$dropTargetClass","dropTargetClasses","_ref2$transformDragge","transformDraggedElement","_ref2$centreDraggedOn","_ref2$dropAnimationDi","dropAnimationDisabled","getConfigProp","propName","idx","newOptions","destroyDz","_ID_TO_INSTRUCTION","INSTRUCTION_IDs$1","ID_TO_INSTRUCTION","ALERT_DIV_ID","alertsDiv","initAriaOnBrowser","txt","instructionToHiddenDiv","initAria","destroyAria","_document$getElementB","alertToScreenReader","alertText","DEFAULT_DROP_ZONE_TYPE","DEFAULT_DROP_TARGET_STYLE","isDragging","draggedItemType","focusedDz","focusedDzLabel","focusedItem","focusedItemId","focusedItemLabel","allDragTargets","elToKeyDownListeners","elToFocusListeners","dzToHandles","dzToConfig","typeToDropZones","INSTRUCTION_IDs","registerDropZone","globalKeyDownHandler","globalClickHandler","unregisterDropZone","handleDrop","handleZoneFocus","newlyFocusedDz","originItems","originItem","originIdx","itemToMove","targetItems","autoAriaDisabled","dzFrom","triggerAllDzsUpdate","dispatchConsider","dndzone$1","swap","handleKeyDown","_items","_children","_idx","setCurrentFocusedItem","dropTargets","handleClick","focusedItemIdx","_ref2$zoneTabIndex","zoneTabIndex","_ref2$zoneItemTabInde","zoneItemTabIndex","_ref2$autoAriaDisable","_loop","handles","_excluded","dndzone","shouldIgnoreZone","validateOptions","pointerZone","keyboardZone","itemWithMissingId","isInt","disabled","additionalClasses","onClick","href","testid","labelFor","closeModal","widthClasses","handle_keydown","$$args","icon","inputElement","focus","typeWorkaround","$.bind_this","$$value","$$component","factory","module","this","modules","installedModules","__webpack_require__","moduleId","exports","container_1","format_1","leaf_1","scroll_1","inline_1","block_1","embed_1","attributor_1","class_1","style_1","store_1","Registry","Parchment","__extends","extendStatics","__","ParchmentError","_super","message","_this","tags","types","Scope","create","match","BlotClass","find","bubble","scope","names","register","Definitions","Definition","tagName","tagNames","diff","equal","extend","op","NULL_CHARACTER","Delta","ops","newOp","lastOp","predicate","passed","failed","initial","nextOp","other","thisIter","otherIter","firstOther","firstLeft","thisOp","otherOp","strings","prep","diffResult","opLength","newline","line","offset","nextType","hasOwn","toStr","defineProperty","gOPD","isArray","isPlainObject","hasOwnConstructor","hasIsPrototypeOf","setProperty","getProperty","src","copy","copyIsArray","deep","_createClass","defineProperties","Constructor","protoProps","staticProps","_get","_extend","_extend2","_interopRequireDefault","_quillDelta","_quillDelta2","_parchment","_parchment2","_break","_break2","_inline","_inline2","_text","_text2","_classCallCheck","instance","_possibleConstructorReturn","self","call","_inherits","subClass","superClass","NEWLINE_LENGTH","BlockEmbed","_Parchment$Embed","def","Block","_Parchment$Block","domNode","_this2","leaf","bubbleFormats","lines","blot","ref","force","formats","sliceIterator","_editor","_editor2","_emitter3","_emitter4","_module","_module2","_selection","_selection2","_logger","_logger2","_theme","_theme2","debug","Quill","limit","overwrite","expandConfig","mutations","range","modify","contents","refNode","_this3","_overload","overload","_overload2","enabled","scrollTop","_this4","change","_this5","_overload3","_overload4","_this6","_overload5","_overload6","bounds","containerBounds","_overload7","_overload8","_overload9","_overload10","embed","_this7","_this8","_overload11","_overload12","_this9","_overload13","_overload14","_this10","deleted","applied","ret","_overload15","_overload16","_this11","userConfig","themeConfig","moduleNames","moduleConfig","moduleClass","modifier","shift","oldDelta","shiftRange","_emitter","_emitter2","_map","pos","_map2","_map3","_map4","Inline","_Parchment$Inline","selfIndex","otherIndex","TextBlot","_Parchment$Text","_eventemitter","_eventemitter2","EVENTS","eventName","_len","_key","_node$__quill$emitter","Emitter","_EventEmitter","_len2","_key2","Module","quill","levels","level","method","_console","namespace","logger","newLevel","pSlice","objectKeys","isArguments","deepEqual","actual","expected","objEquiv","isUndefinedOrNull","isBuffer","ka","kb","Attributor","attrName","keyName","attributeBit","_block","_block2","Code","_Inline","CodeBlock","_Block","_descendant","_descendant2","nextNewline","prevNewline","isolateLength","_descendant3","_descendant4","searchIndex","reverse","_op","_op2","_code","_code2","_cursor","_cursor2","_clone","_clone2","_deepEqual","_deepEqual2","ASCII","Editor","scroll","consumeNextNewline","scrollLength","normalizeDelta","_scroll$line","_scroll$line2","_line$descendant","_line$descendant2","format","lengthRemaining","lineLength","codeIndex","codeLength","leaves","_path","formatsArr","blots","combineFormats","_scroll$line3","_scroll$line4","suffixLength","suffix","cursorIndex","textBlot","oldValue","oldText","newText","diffDelta","combined","merged","Range","Selection","emitter","native","_context$range","startNode","startOffset","endNode","endOffset","_format","nativeRange","after","_scroll$leaf","_scroll$leaf2","_leaf$position","_leaf$position2","_scroll$leaf3","_scroll$leaf4","_leaf$position3","_leaf$position4","side","selection","normalized","positions","indexes","position","_position","contains","_scroll$leaf5","_scroll$leaf6","_leaf$position5","_leaf$position6","scrollingContainer","last","scrollBounds","oldRange","_getRange","_getRange2","lastRange","descendant","Break","linked_list_1","shadow_1","ContainerBlot","makeBlot","criteria","descendants","lengthLeft","childBlot","refBlot","memo","targetParent","inclusive","addedNodes","removedNodes","FormatBlot","replacement","wrapper","LeafBlot","lib","keepNull","Iterator","retOp","_instanceof","nativeMap","nativeSet","nativePromise","circular","depth","includeNonEnumerable","allParents","allChildren","useBuffer","resolve","reject","__getRegExpFlags","keyChild","valueChild","entryChild","symbol","allPropertyNames","propertyName","__objToStr","__isDate","__isArray","__isRegExp","re","_container","_container2","isLine","Scroll","_Parchment$Scroll","whitelist","_line","_line2","_line3","_line4","newlineIndex","_newlineIndex","getLines","_quill","_quill2","SHORTKEY","Keyboard","_Module","binding","normalize","handleEnter","handleBackspace","handleDelete","handleDeleteRange","which","bindings","_quill$getLine","_quill$getLine2","_quill$getLeaf","_quill$getLeaf2","leafStart","offsetStart","leafEnd","offsetEnd","prefixText","suffixText","curContext","prevented","makeFormatHandler","makeCodeBlockHandler","_quill$getLine3","_quill$getLine4","_quill$getLine5","_quill$getLine6","_quill$getLine7","_quill$getLine8","_quill$getLine9","_quill$getLine10","makeEmbedArrowHandler","shiftKey","_ref3","where","_quill$getLeaf3","_quill$getLeaf4","_quill$getLine11","_quill$getLine12","_quill$getLine13","_quill$getLine14","curFormats","prevFormats","nextLength","_quill$getLine15","_quill$getLine16","_quill$getLine17","_quill$getLine18","nextFormats","firstFormats","lastFormats","lineFormats","indent","_quill$scroll$descend","_quill$scroll$descend2","scrollIndex","Cursor","textNode","restoreText","Container","_Parchment$Container","ColorAttributor","_Parchment$Attributor","ColorClass","ColorStyle","Link","_sanitize","protocols","protocol","_keyboard","_keyboard2","_dropdown","_dropdown2","optionsCounter","toggleAriaAttribute","Picker","label","trigger","isActive","_embed","_embed2","_scroll","_scroll2","_clipboard","_clipboard2","_history","_history2","ShadowBlot","parentBlot","refDomNode","AttributorStore","attr","ClassAttributor","matches","camelize","StyleAttributor","Theme","GUARD_TEXT","Embed","childNode","prevLength","AlignAttribute","AlignClass","AlignStyle","_color","BackgroundClass","BackgroundStyle","DirectionAttribute","DirectionClass","DirectionStyle","FontClass","FontStyleAttributor","FontStyle","SizeClass","SizeStyle","History","getLastChangeIndex","changeDelta","undoDelta","timestamp","endsWithNewlineChange","deleteLength","changeIndex","_colorPicker","_colorPicker2","_iconPicker","_iconPicker2","_picker","_picker2","_tooltip","_tooltip2","ALIGNS","COLORS","FONTS","HEADERS","SIZES","BaseTheme","_Theme","listener","picker","buttons","icons","fillSelect","fileInput","reader","BaseTooltip","_Tooltip","boundsContainer","mode","preview","extractVideoUrl","defaultValue","LinkedList","nodes","cur","curNode","curIndex","curLength","OBSERVER_CONFIG","MAX_OPTIMIZE_ITERATIONS","ScrollBlot","records","mark","markParent","grandChild","isEqual","obj1","obj2","InlineBlot","BlockBlot","EmbedBlot","_toggle","searchString","subjectString","lastIndex","list","thisArg","DIFF_DELETE","DIFF_INSERT","DIFF_EQUAL","diff_main","text1","text2","cursor_pos","commonlength","diff_commonPrefix","commonprefix","diff_commonSuffix","commonsuffix","diffs","diff_compute_","diff_cleanupMerge","fix_cursor","fix_emoji","longtext","shorttext","hm","diff_halfMatch_","text1_a","text1_b","text2_a","text2_b","mid_common","diffs_a","diffs_b","diff_bisect_","text1_length","text2_length","max_d","v_offset","v_length","v1","v2","front","k1start","k1end","k2start","k2end","k1","k1_offset","x1","y1","k2_offset","x2","diff_bisectSplit_","k2","y2","text1a","text2a","text1b","text2b","diffsb","pointermin","pointermax","pointermid","pointerstart","pointerend","diff_halfMatchI_","seed","best_common","best_longtext_a","best_longtext_b","best_shorttext_a","best_shorttext_b","prefixLength","hm1","hm2","count_delete","count_insert","text_delete","text_insert","changes","cursor_normalize_diff","current_pos","next_pos","split_pos","d_left","d_right","norm","ndiffs","cursor_pointer","d_next","merge_tuples","compact","starts_with_pair_end","ends_with_pair_start","fixed_diffs","left_d","right_d","shim","supportsArgumentsClass","supported","unsupported","Events","EE","EventEmitter","available","ee","a1","a2","a3","a4","a5","listeners","_extend3","_align","_background","_direction","_font","_size","DOM_KEY","CLIPBOARD_CONFIG","matchText","matchNewline","matchBreak","matchBlot","matchSpacing","matchAttributor","matchStyles","matchIndent","matchAlias","matchIgnore","ATTRIBUTE_ATTRIBUTORS","STYLE_ATTRIBUTORS","Clipboard","selector","matcher","_prepareMatching","_prepareMatching2","elementMatchers","textMatchers","traverse","deltaEndsWith","paste","pair","_pair","applyFormat","computeStyle","endText","childrenDelta","nodeHeight","replacer","collapse","Bold","Toolbar","addControls","_ret","_this$quill$selection","_this$quill$selection2","_quill$selection$getR","_quill$selection$getR2","addButton","groups","controls","control","addSelect","align","ColorPicker","_Picker","colorLabel","IconPicker","Tooltip","reference","left","top","rootBounds","verticalShift","_base","_base2","_link","_link2","_icons","_icons2","TOOLBAR_CONFIG","SnowTheme","_BaseTheme","toolbar","SnowTooltip","tooltip","_BaseTooltip","_core","_core2","_indent","_blockquote","_blockquote2","_header","_header2","_list","_list2","_bold","_bold2","_italic","_italic2","_script","_script2","_strike","_strike2","_underline","_underline2","_image","_image2","_video","_video2","_formula","_formula2","_syntax","_syntax2","_toolbar","_toolbar2","_bubble","_bubble2","_snow","_snow2","IdentAttributor","IndentClass","Blockquote","Header","ListItem","List","_Container","listEventHandler","Italic","_Bold","Script","Strike","Underline","ATTRIBUTES","Image","Video","_BlockEmbed","FormulaBlot","_Embed","Formula","SyntaxCodeBlock","_CodeBlock","_highlight","CodeToken","Syntax","code","BubbleTheme","BubbleTooltip","lastLine","_bounds","arrow","placeholder","handleTextChange","onTextChange","on_click","descriptionExpanded","on_click_1","acceptanceExpanded","planTypes","priorities","Ban","ChevronsUp","ChevronUp","Bars2","ChevronDown","ChevronsDown","handlePlanAdd","toggleAddPlan","handlePlanRevision","planId","planName","planType","referenceId","planLink","description","acceptanceCriteria","planNameTextInput","isAbsolute","handleSubmit","invalidPlan","plan","node_1","pType","option_1","expression","expression_1","expression_2","option_2","node_6","option_3_value","option_3","text_8","text_7","expression_3","expression_4","text_15","togglePlanView","SvelteComponent","allowCsvImport","plans","uploadFile","file","parseCsvFile","totalItems","extractPlanData","fields","freeExports","freeModule","freeGlobal","global","regexAstralSymbols","regexAsciiWhitelist","regexBmpWhitelist","regexEncodeNonAscii","encodeMap","regexEscape","escapeMap","regexInvalidEntity","regexInvalidRawCodePoint","regexDecode","decodeMap","decodeMapLegacy","decodeMapNumeric","invalidReferenceCodePoints","stringFromCharCode","hasOwnProperty","merge","defaults","codePointToSymbol","codePoint","strict","output","parseError","hexEscape","decEscape","encode","string","encodeEverything","useNamedReferences","allowUnsafeSymbols","escapeCodePoint","escapeBmpSymbol","high","low","decode","$1","$2","$3","$4","$5","$6","$7","$8","semicolon","decDigits","hexDigits","escape","he","allowJiraImport","docParser","commentReg","domContent","decodedDescription","customFields","cfName","cfValues","salesPitch","handleImport","story","jiraInstances","jiraStories","selectedJiraInstance","searchJQL","jqlError","getJiraInstances","handleJQLSearch","findPlanType","findPriority","stripTrailingSlash","importStory","node_3","ji","$.bind_value","gameId","selectedGameIdx","games","game","getGames","getGameStories","$$array","selectedStoryboardIdx","storyboards","storyboard","selectedGoalIdx","getStoryboards","getStoryboardStories","storyboardId","columnIdx","storyIdx","selectedStory","goal","div_2","column","cIdx","sIdx","toggleImport","handleAdd","showJiraCloudSearch","showGameImport","showStoryboardImport","toggleGameImport","toggleStoryboardImport","newPlan","isLeader","sendSocketEvent","defaultPlan","showAddPlan","showViewPlan","selectedPlan","storysShow","showImport","activatePlan","updatedPlan","handlePlanDeletion","toggleShow","pointedPlans","totalPoints","previousValue","currentValue","currentPoints","unpointedPlans","handleDndConsider","handleDndFinalize","storyId","matchedStory","matchedStoryIndex","placeBefore","div_4","text_9","text_10","text_11","text_12","text_13","SvelteComponent_1","consequent_9","text_17","consequent_10","text_18","text_19","consequent_11","text_20","text_21","consequent_12","consequent_13","div_10","text_14","text_16","consequent_14","div_5","text_6","consequent_15","expression_9","consequent_16","expression_10","consequent_17","consequent_18","button_1","button_2","allowedPointValues","allowedPointAverages","toggleEditBattle","handleBattleEdit","battle","points","battleName","votingLocked","autoFinishVoting","pointAverageRounding","joinCode","leaderCode","teamId","checkedPointColor","uncheckedPointColor","teams","getTeams","saveBattle","pointValuesAllowed","pv","node_2","node_4","Lock","expression_5","Crown","node_12","team","option_2_value","confirmText","confirmBtnText","permanent","toggleDelete","toggleBecomeLeader","handleBecomeLeader","promoteLeader","demoteLeader","leaders","jabWarrior","__2","toggleSpectator","__3","voted","showRank","nameStyleClass","showBecomeLeader","becomeLeader","text_5","$sessionUser","alternate_5","alternate_6","highestVote","customPointValue","planPoints","customPlanPoints","toggleCustomPointValue","endPlanVoting","skipPlan","restartVoting","node_5","hostname","battleId","copyBattleLink","bl","copyJoinCode","jc","$.set_value","getTimezoneName","formatDayForInput","date","month","day","year","subtractDays","days","addMinutesToDate","addTimeLeadZero","timeUnitsBetween","startDate","endDate","acc","arrValue","currentStoryId","voteStartTime","currentTime","voteDuration","voteCounter","votes","pointValues","users","averageRounding","chartData","consensusValue","consensusPercentage","isNumeric","totalVoters","userMap","modeData","roundWithConfiguredAvg","middleIndex","average","getAverageOrMedian","numericVotes","sum","preAverage","validVotes","sortedVotes","lowerMiddle","upperMiddle","averageIndex","getBarHeight","scaledHeight","averageOrMedian","$$index","submitText","joinPasscode","onSubmit","getWebsocketAddress","socketExtension","socketDomain","AllowGuests","loginOrRegister","defaultStory","isLoading","JoinPassRequired","socketError","socketReconnecting","vote","pokerGame","currentStory","showEditGame","showDeleteGame","isSpectator","onSocketMessage","parsedEvent","spectator","activePlan","warriorVote","joinedWarrior","leftWarrior","updatedWarrior","updatedPlans","updatedPlans2","votedWarrior","devotedWarrior","postBurnPlans","revisedBattle","userToNudge","handleVote","voteValue","handleUnvote","didVote","showVote","getHighestVote","voteCounts","reversedPoints","voteWarrior","highestVoteCount","showVotingResults","concedeGame","abandonBattle","toggleEditGame","toggleDeleteGame","handleGameEdit","authBattle","div_6","war","expression_6","nameField","descriptionField","selectedItemId","itemType","isOpen","selectedItemIdx","toggleDropdown","handleChange","itemIdx","apiPrefix","publicEstimationScales","teamEstimationScales","organizationEstimationScales","estimateScales","selectedEstimationScale","defaultSettings","pokerSettings","teamPokerSettings","departmentPokerSettings","orgPokerSettings","battleNameTextInput","addPlan","handlePlanImport","removePlan","createBattle","getPublicEstimateScales","combineEstimationScales","getPrivateEstimationScales","orgPrefix","teamPrefix","defaultFound","scale","getCustomPokerSettings","combinePokerSettings","updatePointValues","handleTeamChange","option_1_value","node_9","node_13","num_items","per_page","arr_pages","buildArr","setArrPages","num_pages","setCurrent","div_3","pageRoute","joinBtnText","ownerField","ownerNameField","isAdmin","showOwner","showOwnerName","showFacilitatorIcon","facilitatorsKey","showCompletedStories","toggleRemove","battlesPageLimit","battleCount","battlesPage","battles","loading","getBattles","battlesOffset","changePage","maxPhaseTimeLimitMin","retroTemplates","publicTemplates","teamRetroTemplates","organizationRetroTemplates","retroSettings","orgRetroSettings","departmentRetroSettings","teamRetroSettings","retroNameTextInput","brainstormVisibilityOptions","createRetro","getTemplatesPublic","combineRetroTemplates","getCustomRetroSettings","combineRetroSettings","getPrivateRetroTemplates","temp","updateSelectedTemplate","teamSelected","node_11","retros","retrosPageLimit","retroCount","retrosPage","getRetros","retrosOffset","toggleEditRetro","handleRetroEdit","retroName","facilitatorCode","maxVotes","brainstormVisibility","phaseAutoAdvance","saveRetro","retro","toggleEdit","handleEdit","handleAssigneeAdd","retroId","actionId","userId","handleAssigneeRemove","assignableUsers","selectedAssignee","editAction","addAssignee","assignee","toggleBecomeFacilitator","handleBecomeFacilitator","groupId","groupName","handleGroupNameChange","toggleComments","isFacilitator","userComment","selectedComment","selectedCommentContent","toggleCommentEdit","handleCommentSubmit","handleCommentDelete","commentId","handleCommentEdit","textarea","textarea_1","phase","feedbackVisibility","columnColors","showComments","selectedItem","getTypeTagColors","handleItemChange","itemId","groupIndex","handleVoteSubtract","voteLimitReached","allowCumulativeVoting","handleVoteAction","facilitators","readyUsers","handleAddFacilitator","handleRemoveFacilitator","handleUserReady","handleUserUnReady","voteTally","userReady","copyRetrospectiveLink","timeLimitMin","timeStart","phaseEndTime","updateTimer","interval","padValue","char","currentLength","newItemPlaceholder","handleFormSubmit","numCols","title","createBtnEnabled","createBtnText","createButtonHandler","createBtnTestId","searchEnabled","searchPlaceholder","searchHandler","term","searchTerm","onSearchSubmit","boolValue","detailsLink","editBtnEnabled","editBtnClickHandler","editBtnTestId","deleteBtnEnabled","deleteBtnClickHandler","deleteBtnTestId","showingBegin","showingEnd","getRetrosActions","actions","selectedAction","retroActionsPageLimit","usersPageLimit","totalRetroActions","retroActionsPage","actionItems","usersPage","getTeamOpenActionItems","showRetroActionComments","selectedRetroAction","toggleRetroActionComments","showRetroActionEdit","toggleRetroActionEdit","handleRetroActionEdit","handleRetroActionDelete","handleRetroActionAssigneeAdd","handleRetroActionAssigneeRemove","changeRetroActionPage","getUsers","usersOffset","tbody","showDeleteRetro","actionItem","showExport","groupedItems","allUsersVoted","showEditRetro","phaseTimeStart","phaseTimeLimitMin","getAssociatedTeam","organizeItemsByGroup","groupMap","g","userVoteCount","voteCount","playerCount","phaseReadyCheck","joinedUser","leftUser","parsedValue","readyUser","unreadyUser","updatedItems","updatedGroups","revisedRetro","concedeRetro","abandonRetro","toggleDeleteRetro","toggleExport","showActionEdit","toggleActionEdit","handleItemGroupChange","handleActionItem","handleActionUpdate","completed","handleActionEdit","handleActionDelete","setPhase","authRetro","showBecomeFacilitator","becomeFacilitator","phaseTimeRanOut","activeUsers","allReady","showOpenActionItems","toggleReviewActionItems","$.document","event_handler_3","event_handler_4","event_handler_5","$.set_checked","input_1","usr","consequent_19","consequent_20","consequent_21","consequent_22","consequent_23","consequent_24","consequent_25","text_22","text_23","consequent_29","consequent_28","alternate_9","consequent_27","alternate_8","consequent_26","alternate_7","div_8","div_12","div_14","div_16","div_18","storyboardName","selectedTeam","storyboardNameTextInput","createStoryboard","storyboardsPageLimit","storyboardCount","storyboardsPage","handleGoalAdd","toggleAddGoal","handleGoalRevision","goalId","goalName","showBorder","borderClasses","copyStoryboardLink","toggleColumnEdit","handleColumnRevision","deleteColumn","handlePersonaRemove","handlePersonaAdd","personas","selectedPersona","addPersona","persona","updatePoints","toggleStoryForm","colorLegend","handleStoryDelete","markClosed","markOpen","changeColor","updateName","updateContent","updateLink","div_9","div_20","handleLegendRevision","toggleEditLegend","span","toggleEditPersona","handlePersonaRevision","toggleEditStoryboard","handleStoryboardEdit","saveStoryboard","columns","calculateGoalEstimate","goalColumns","estimate","showUsers","showColorLegend","showColorLegendForm","showPersonas","showPersonasForm","editColumn","activeStory","showDeleteStoryboard","showEditStoryboard","collapseGoals","activeStoryFound","revisedStoryboard","goalIndex","columnIndex","columnId","authStoryboard","addStory","addStoryColumn","concedeStoryboard","abandonStoryboard","toggleUsersPanel","toggleColorLegend","togglePersonas","toggleDeleteStoryboard","showAddGoal","reviseGoalId","reviseGoalName","updatedGoal","handleGoalDeletion","legend","handleColumnPersonaAdd","column_persona","handleColumnPersonaRemove","handleDeletePersona","personaId","toggleGoalCollapse","goalColumn","event_handler_6","text_25","event_handler_7","event_handler_8","text_28","div_49","div_52","text_26","div_41","div_44","span_4","div_40","div_22","div_23","text_29","text_30","text_31","toggleCreate","handleCreate","organizationName","createDisabled","teamName","organizationsPageLimit","teamsPageLimit","defaultOrganization","organizations","showCreateOrganization","showCreateTeam","organizationsPage","teamsPage","toggleCreateOrganization","showOrganizationUpdate","selectedOrganization","toggleUpdateOrganization","selectedOrg","toggleCreateTeam","showDeleteOrganization","toggleDeleteOrganization","getOrganizations","orgsOffset","teamsOffset","createOrganizationHandler","createTeamHandler","updateOrganizationHandler","handleDeleteOrganization","defaultTeam","showTeamUpdate","toggleUpdateTeam","showDeleteTeam","toggleDeleteTeam","updateTeamHandler","handleDeleteTeam","organization","tbody_1","expression_7","expression_8","expression_11","expression_12","expression_13","expression_14","expression_15","departmentName","toggleAdd","handleInvite","pageType","orgId","deptId","roles","showDeptUsers","showOrgUsers","userEmail","selectedUser","role","organizationUsers","departmentUsers","getOrganizationUsers","getDepartmentUsers","clearEmail","userRole","orgUser","node_7","deptUser","option_5_value","option_5","Mail","toggleUpdate","handleUpdate","updateDisabled","showAddUser","showUpdateUser","updateUser","showRemoveUser","removeUserId","handleUserAdd","email","toggleAddUser","handleUserInvite","handleUserUpdate","toggleUpdateUser","handleUserRemove","toggleRemoveUser","getInvites","invites","showDeleteInvite","deleteInviteId","toggleDeleteInvite","inviteId","handleDeleteInvite","scaleType","isPublic","defaultScale","scaleTypes","toggleClose","handleValuesChange","inputValue","scaleId","isEntityAdmin","scales","scaleCount","scalesPage","scalesPageLimit","getScales","showAddScale","showUpdateScale","updateScale","showRemoveScale","removeScaleId","handleCreateScale","toggleCreateScale","handleScaleUpdate","toggleUpdateScale","handleScaleRemove","toggleRemoveScale","getMetricValue","HelpCircle","fetchAndUpdateMetrics","currentMetrics","metric","addColumn","newColumn","canAddColumn","validateColumnName","resetNewColumn","MIN_COLUMNS","MAX_COLUMNS","colorOptions","iconOptions","Smile","Frown","CircleHelp","Angry","canRemoveColumn","updateColumn","field","removeColumn","getIconComponent","iconValue","select_1","option_4_value","option_4","$.bind_select_value","option_6_value","option_6","option_8_value","option_8","input_2","input_3","select_2","select_3","defaultTemplate","templateId","toggleViewFormat","templates","templateCount","templatesPage","templatesPageLimit","getTemplates","showAddTemplate","showUpdateTemplate","updateTemplate","showRemoveTemplate","removeTemplateId","handleCreateTemplate","toggleCreateTemplate","handleTemplateUpdate","toggleUpdateTemplate","handleTemplateRemove","toggleRemoveTemplate","showFormat","selectedTemplate","showCreateDefaultSettings","showUpdateDefaultSettings","toggleCreateDefaultSettings","toggleUpdateDefaultSettings","getDefaultSettings","handleSettingsUpdate","departmentsPageLimit","invitesList","departments","showCreateDepartment","showDeleteDepartment","deleteTeamId","deleteDeptId","departmentsPage","toggleCreateDepartment","toggleDeleteDepartment","getOrganization","getDepartments","getEstimationScales","getRetroTemplates","organizationMetrics","Network","Users","CheckSquare","User","Vote","RefreshCcw","LayoutDashboard","ChartNoAxesColumn","SquareDashedKanban","departmentsOffset","createDepartmentHandler","handleDeleteDepartment","defaultDepartment","selectedDepartment","showDepartmentUpdate","toggleUpdateDepartment","dept","updateDepartmentHandler","estimationScales","changeScalesPage","scalesOffset","retroTemplatePageLimit","retroTemplateCount","retroTemplatesPage","changeRetroTemplatesPage","department","expression_16","expression_17","deptPrefix","departmentRole","organizationRole","getDepartment","changeHandler","retroActions","showCreateBattle","showCreateRetro","showCreateStoryboard","showRemoveBattle","showRemoveRetro","showRemoveStoryboard","removeBattleId","removeRetroId","removeStoryboardId","completedActionItems","teamRole","isTeamMember","teamOnlyPrefix","currentPageUrl","toggleCreateBattle","toggleCreateRetro","toggleCreateStoryboard","toggleRemoveBattle","toggleRemoveRetro","toggleRemoveStoryboard","getTeam","storyboardsOffset","handleBattleRemove","handleRetroRemove","handleStoryboardRemove","changeRetroActionCompletedToggle","expression_18","expression_19","toggleCheckin","handleCheckin","handleCheckinEdit","today","yesterday","blockers","discuss","goalsMet","userSubscribed","lastCheckin","getLastCheckin","$.html","checkinId","showEdit","editcomment","checkin","glob","comaseparator","wildcard","numsort","current_event","firstDefined","ii","lastDefined","objtos","Str","ar","eve","oldstop","indexed","queue","out","ce","k","jj","nes","es","sep","exist","zIndex","subname","splice","inodes","funcs","prune","f2","require$$0","mina","animations","requestAnimFrame","requestID","idgen","idprefix","ID","sta","ds","speed","stopit","pause","resume","frame","timeStamp","A","B","anim","q","Q","X","Y","Snap","Element","Paper","toFloat","toInt","math","mmax","mmin","abs","PI","E","objectToString","colourRegExp","commaSpaces","hsrg","pathCommand","tCommand","pathValues","xlink","xmlns","hub","tokenRegex","objNotationRegex","all","quote","quotedName","isFunc","repush","cacher","postprocessor","newf","arg","angle","x3","y3","rad","deg","distance2","pathNode","pathLength","precision","best","bestLength","bestDistance","scan","scanLength","scanDistance","before","beforeLength","afterLength","beforeDistance","afterDistance","tolerance","rem","colour","rgbtoString","toHex","red","green","blue","opacity","rgb","round","hsbtoString","hsltoString","prepareRGB","clr","packageRGB","R","G","C","H","S","V","L","M","pathString","pth","paramCounts","parseTransformString","TString","svgTransform2string","tstr","transform2matrix","bbox","tdata","tlen","command","absolute","inver","bb","unit2px","getSomeDefs","pdefs","defs","make","getSomeSVG","mgr","getW","getH","nam","nodelist","add2group","json","att","full","Fragment","doc","ch","jsonFiller","letter","cssAttr","postData","req","pd","getOffset","box","docElem","clientTop","clientLeft","paper","so","sr","hits","elproto","isWithoutTransform","pathfinder","propString","extractTransform","doReturn","papa","ms","localString","use","fixids","els","ids","uses","urltest","linktest","oldid","fs","refX","refY","eldata","chld","Matrix","matrixproto","aNew","bNew","cNew","eNew","me","cx","cy","cos","sin","mag","row","shorter","reURLValue","URL","mask","clipIt","clip","fillStroke","fill","grad","gradrg","tokens","stops","vb","tp","tuner","chunk","tuned","setFontSize","textExtract","chi","internal","getFontSize","rgNotSpace","curClasses","clazz","finalValue","operators","reUnit","reAddon","getNumber","getUnit","unit","plus","evnt","atr","aUnit","bplus","rx","ry","preload","onerror","vbx","vby","vbw","vbh","vx","vy","vw","vh","Gstops","GaddStop","inserted","stopOffset","GgetBBox","GsetStops","gradient","gradientLinear","gradientRadial","fx","fy","p2s","pow","paths","ps","rectPath","pathClone","pathArray","getPointAtSegmentLength","p1x","p1y","c1x","c1y","c2x","c2y","p2x","p2y","bezlen","findDotsAtSegment","getTotLen","getLengthFactory","istotal","subpath","O","onlystart","path2curve","sp","subpaths","getTotalLength","getPointAtLength","getSubpathsAtLength","t13","t12","t3","mx","my","nx","ny","ax","ay","alpha","bezierBBox","curveDim","isPointInsideBBox","isBBoxIntersect","bbox1","bbox2","base3","p1","p2","p3","p4","x4","y4","z2","Tvalues","Cvalues","ct","xbase","ybase","comb","ll","intersect","denominator","px","py","px2","py2","interHelper","bez1","bez2","justCount","l1","l2","n1","n2","dots1","dots2","xy","di","di1","dj","dj1","ci","cj","pathIntersection","path1","path2","interPathHelper","pathIntersectionNumber","x1m","y1m","x2m","y2m","pi","pj","intr","kk","isPointInsidePath","pathBBox","dim","xmin","ymin","xmax","ymax","ellipsePath","getPath","pathToRelative","lowerCase","pa","pathToAbsolute","pa0","crz","dots","catmullRom2bezier","l2c","q2c","_13","_23","a2c","large_arc_flag","sweep_flag","recursive","_120","rotate","f1","rx2","ry2","df","f2old","x2old","y2old","c1","s1","c2","s2","hx","hy","m1","m2","m3","m4","newres","x0","y0","tvalues","b2ac","sqrtb2ac","jlen","mt","attrs2","processPath","pcom","fixArc","pp","pcoms1","pcoms2","fixM","pfirst","seg","seg2","seglen","seg2len","mapPath","matrix","pathi","crp","iLen","from","inside","Set","setproto","begin","cb","callbacker","aname","unbound","insertion","tail","todel","arglen","getEmpty","equaliseTransform","getBBox","maxlength","tt1","tt2","path2array","getViewBox","getColour","arrayEqual","arr1","bUnit","supportsTouch","touchMap","getScroll","preventTouch","stopTouch","addEvent","realName","scrollY","scrollX","olde","drag","dragMove","dragi","touch","dragUp","f_in","f_out","scope_in","scope_out","draggable","onmove","onstart","onend","move_scope","start_scope","end_scope","origTransform","pproto","rgurl","filstr","filter","blur","amount","firstLetter","way","bx","slice","Animation","anims","fkeys","tkeys","eq","pink","purple","deeppurple","indigo","lightblue","cyan","teal","lightgreen","lime","yellow","amber","orange","deeporange","brown","grey","bluegrey","saveColor","colors","snap_svgCjs","percentage","stat","svgElem","polar_to_cartesian","svg_circle_arc_path","animate_arc","radius","radians","start_angle","end_angle","end_xy","start_xy","ratio","arc","currentRatio","perc","svg_1","cubic_out","slide","axis","primary_property","primary_property_value","secondary_properties","capitalized_secondary_properties","padding_start_value","padding_end_value","margin_start_value","margin_end_value","border_width_start_value","border_width_end_value","timezones","W","I","T","D","IDX","HEX","uid","scrollIntoView","computeScrollIntoView","slugify","keyCodes","pick","unique","zones","zoneName","picked","ungroup","zone","search","zoneGroups","details","btnClasses","timezone","expanded","allowedTimezones","currentZone","userSearch","highlightedZone","toggleButtonRef","searchInputRef","clearButtonRef","listBoxRef","listBoxOptionRefs","labelId","listBoxId","searchInputId","ungroupedZones","groupedZones","userTimezone","availableZones","validZones","filteredZones","initialState","reset","dispatchUpdates","eventData","handleTimezoneUpdate","zoneId","groupHasVisibleChildren","scrollList","zoneElementRef","moveSelection","zoneIndex","keyDown","setHighlightedZone","toggleExpanded","scrollToHighlighted","setTimezone","tz","zoneLabel","zoneDetails","$.mutate","organizationId","departmentId","showCheckin","maxNegativeDate","selectedDate","selectedCheckin","stats","userCount","checkins","checkinColumns","showOnlyDiscussionItems","updateTimezone","getCheckins","divideCheckins","half","checkins1","checkins2","filterCheckins","filteredCheckins","handleCheckinDelete","handleCheckinComment","handleCheckinCommentEdit","calculateCheckinStats","ucs","checkStats","alreadyCheckedIn","div_15","col","node_23","node_24","node_26","node_28","showPassword","togglePassword","wasInvited","fullOnly","handleGuestRegistration","handleFullAccountRegistration","userNameTextInput","validName","noFormErrors","createFullAccount","validPasswords","isGuest","passwordsMatch","submitDisabled","subscription","inviteDetails","targetPage","createUserGuest","newWarrior","createUserRegistered","getInviteDetails","inviteType","loginLinkContextClasses","loginLinkClasses","googleLogin","oidcLogin","OIDCProviderName","toggleForgotPassword","registerLink","LdapEnabled","GoogleAuthEnabled","OIDCAuthEnabled","authEndpoint","password","forgotPassword","resetEmail","mfaRequired","mfaUser","mfaSessionId","mfaToken","handleLoginSubmit","authMfa","sendPasswordReset","Shield","warriorPassword1","warriorPassword2","resetWarriorPassword","resetDisabled","accountVerified","verficationError","toggleForm","updatePassword","updatePasswordDisabled","toggleSetup","handleComplete","qrCode","secret","passcode","requestVerifyEmail","credential","isAvatarConfigurable","avatars","showMFASetup","toggleMfaSetup","handleMfaSetupCompletion","showMfaRemove","toggleMfaRemove","handleMfaRemove","userIsAdmin","node_8","Building","node_18","handleApiKeyCreate","toggleCreateApiKey","apiKey","errMessage","copyKey","apk","host","client_mail","access_token","jira_data_center","subscriptionId","userSubscriptions","showAssociateTeam","showAssociateOrganization","selectedSubscriptionId","toggleAssociateTeam","subId","toggleAssociateOrganization","getSubscriptions","handleAssociate","sub","tr_1","userProfile","userCredential","apiKeys","showApiKeyCreate","showAccountDeletion","ExternalAPIEnabled","Subscription","toggleUpdatePassword","getCredential","updateUserProfile","updateUserPassword","getApiKeys","deleteApiKey","toggleApiKeyActiveStatus","handleDeleteAccount","toggleDeleteAccount","showJiraInstanceCreate","toggleCreateJiraInstance","deleteJiraInstance","td_2","tr_3","isCollapsed","menuItems","activePage","menuType","pages","Settings","Bell","Gamepad","Key","CreditCard","CleanupGuestsDaysOld","CleanupBattlesDaysOld","CleanupRetrosDaysOld","CleanupStoryboardsDaysOld","appStats","getAppStats","cleanBattles","cleanRetros","cleanStoryboards","cleanGuests","statGroups","Ghost","CircleUser","MapPinCheckInside","FileText","Zap","SquareCheckBig","MessageCircleQuestion","Columns2","LibraryBig","UserRound","totalUsers","showCreateUser","userDeleteId","showUserDeletion","searchEmail","showUserEdit","selectedUserProfile","toggleDeleteUser","toggleCreateUser","toggleUserEdit","createUser","warriorEmail","isSearch","handleUserEdit","promoteUser","demoteUser","disableUser","enableUser","handleDeleteUser","span_1","showUpdatePassword","userDetails","getUser","changeBattlesPage","changeRetrosPage","changeStoryboardsPage","tbody_2","text_24","text_27","tbody_3","text_32","text_35","organizationsOffset","org","teamCount","deleteTeam","div_7","div_28","apikeysPageLimit","apikeys","apikeysPage","apikeysOffset","apikey","alertName","alertType","registeredOnly","allowDismiss","alertTypes","aType","alertsPageLimit","alertCount","defaultAlert","alertsPage","showAlertCreate","showAlertUpdate","showDeleteAlert","selectedAlert","deleteAlertId","toggleCreateAlert","toggleUpdateAlert","toggleDeleteAlert","createAlert","getAlerts","updateAlert","alertsOffset","handleDeleteAlert","activeBattles","changeActiveBattlesToggle","showDeleteBattle","getBattle","deleteBattle","toggleDeleteBattle","activeRetros","changeActiveRetrosToggle","getRetro","deleteRetro","activeStoryboards","changeActiveStoryboardsToggle","getStoryboard","deleteStoryboard","user_id","team_id","organization_id","customer_id","subscription_id","expires","subscriptionsPageLimit","subscriptionCount","subscriptions","subscriptionsPage","showSubCreate","showSubUpdate","showSubDelete","deleteSubId","defaultSubscription","selectedSub","toggleSubCreate","toggleSubUpdate","toggleSubDelete","subscriptionsOffset","deleteSub","getSubscription","togglePaymentPeriod","selectedPaymentPeriod","yearPayPeriod","$.bind_checked","$$stores","$$cleanup","fr","localeTranslations","de","en","fa","pt","ru","loadLocale","inviteErr","useInvite","get$1","inviteProcessed","img_1","img_2","img_3","img_4","img_5","templatesOffset","activeWarrior","detectedLocale","$dir","PrivacyPolicy","TermsConditions","Login","ResetPassword","VerifyAccount","UserProfile","Confirmation","Register","Invite","Organization$1","TeamCheckin","Department$1","Organizations","Organization","Department","Teams","ApiKeys","Alerts","PokerGames$1","PokerLanding","PokerGames","PokerGame","EstimationScales","Retros$1","RetroLanding","Retros","Retro","RetroTemplates","Storyboards$1","StoryboardLanding","Storyboard$1","Storyboards","Storyboard","Subscriptions","skipRedirect","header","app","App"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,61,62,63,64,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,156,158,165,171,267,268,270,272],"sources":["../../node_modules/svelte/src/version.js","../../node_modules/svelte/src/internal/disclose-version.js","../../node_modules/svelte/src/constants.js","../../node_modules/esm-env/false.js","../../node_modules/svelte/src/internal/client/constants.js","../../node_modules/svelte/src/internal/shared/utils.js","../../node_modules/svelte/src/internal/client/dom/task.js","../../node_modules/svelte/src/internal/client/reactivity/equality.js","../../node_modules/svelte/src/internal/client/errors.js","../../node_modules/svelte/src/internal/flags/index.js","../../node_modules/svelte/src/internal/client/proxy.js","../../node_modules/svelte/src/internal/client/reactivity/sources.js","../../node_modules/svelte/src/internal/client/reactivity/deriveds.js","../../node_modules/svelte/src/internal/client/warnings.js","../../node_modules/svelte/src/internal/client/dom/hydration.js","../../node_modules/svelte/src/internal/client/dom/operations.js","../../node_modules/svelte/src/internal/client/runtime.js","../../node_modules/svelte/src/internal/client/reactivity/effects.js","../../node_modules/svelte/src/internal/shared/errors.js","../../node_modules/svelte/src/internal/client/context.js","../../node_modules/svelte/src/utils.js","../../node_modules/svelte/src/internal/client/dom/elements/misc.js","../../node_modules/svelte/src/internal/client/dom/elements/bindings/shared.js","../../node_modules/svelte/src/internal/client/dom/elements/events.js","../../node_modules/svelte/src/internal/client/dom/blocks/svelte-head.js","../../node_modules/svelte/src/internal/client/dom/reconciler.js","../../node_modules/svelte/src/internal/client/dom/template.js","../../node_modules/svelte/src/internal/client/render.js","../../node_modules/svelte/src/internal/client/dom/blocks/if.js","../../node_modules/svelte/src/internal/client/dom/blocks/each.js","../../node_modules/svelte/src/internal/client/dom/blocks/html.js","../../node_modules/svelte/src/internal/client/dom/blocks/slot.js","../../node_modules/svelte/src/internal/client/dom/blocks/snippet.js","../../node_modules/svelte/src/internal/client/dom/blocks/svelte-component.js","../../node_modules/svelte/src/internal/client/dom/blocks/svelte-element.js","../../node_modules/svelte/src/internal/client/dom/elements/actions.js","../../node_modules/clsx/dist/clsx.mjs","../../node_modules/svelte/src/internal/shared/attributes.js","../../node_modules/svelte/src/internal/client/dom/elements/class.js","../../node_modules/svelte/src/internal/client/dom/elements/style.js","../../node_modules/svelte/src/internal/client/dom/elements/attributes.js","../../node_modules/svelte/src/internal/client/timing.js","../../node_modules/svelte/src/internal/client/loop.js","../../node_modules/svelte/src/internal/client/dom/elements/transitions.js","../../node_modules/svelte/src/internal/client/dom/elements/bindings/input.js","../../node_modules/svelte/src/internal/client/dom/elements/bindings/props.js","../../node_modules/svelte/src/internal/client/dom/elements/bindings/select.js","../../node_modules/svelte/src/internal/client/dom/elements/bindings/this.js","../../node_modules/svelte/src/internal/client/dom/legacy/event-modifiers.js","../../node_modules/svelte/src/internal/client/dom/legacy/lifecycle.js","../../node_modules/svelte/src/internal/client/dom/legacy/misc.js","../../node_modules/svelte/src/index-client.js","../../node_modules/svelte/src/store/utils.js","../../node_modules/svelte/src/store/shared/index.js","../../node_modules/svelte/src/internal/client/reactivity/store.js","../../node_modules/svelte/src/internal/client/reactivity/props.js","../../node_modules/svelte/src/legacy/legacy-client.js","../../node_modules/regexparam/dist/regexparam.mjs","../../node_modules/navaid/dist/navaid.mjs","../../src/config.ts","../../src/apiclient.ts","../../node_modules/js-cookie/dist/js.cookie.mjs","../../node_modules/typesafe-i18n/svelte/index.mjs","../../node_modules/typesafe-i18n/detectors/detect.mjs","../../node_modules/typesafe-i18n/detectors/detectors/browser/navigator.mjs","../../src/i18n/i18n-util.ts","../../src/i18n/i18n-svelte.ts","../../src/stores.ts","../../src/components/global/Notifications.svelte","../../src/validationUtils.ts","../../src/i18n/formatters.ts","../../src/i18n/i18n-util.async.ts","../../node_modules/svelte/src/internal/flags/legacy.js","../../node_modules/lucide-svelte/dist/defaultAttributes.js","../../node_modules/lucide-svelte/dist/Icon.svelte","../../node_modules/lucide-svelte/dist/icons/angry.svelte","../../node_modules/lucide-svelte/dist/icons/arrow-right.svelte","../../node_modules/lucide-svelte/dist/icons/badge-check.svelte","../../node_modules/lucide-svelte/dist/icons/ban.svelte","../../node_modules/lucide-svelte/dist/icons/bell.svelte","../../node_modules/lucide-svelte/dist/icons/building.svelte","../../node_modules/lucide-svelte/dist/icons/chart-no-axes-column.svelte","../../node_modules/lucide-svelte/dist/icons/check.svelte","../../node_modules/lucide-svelte/dist/icons/chevron-down.svelte","../../node_modules/lucide-svelte/dist/icons/chevron-left.svelte","../../node_modules/lucide-svelte/dist/icons/chevron-right.svelte","../../node_modules/lucide-svelte/dist/icons/chevron-up.svelte","../../node_modules/lucide-svelte/dist/icons/chevrons-down.svelte","../../node_modules/lucide-svelte/dist/icons/chevrons-up.svelte","../../node_modules/lucide-svelte/dist/icons/circle-help.svelte","../../node_modules/lucide-svelte/dist/icons/circle-user.svelte","../../node_modules/lucide-svelte/dist/icons/clipboard-copy.svelte","../../node_modules/lucide-svelte/dist/icons/columns-2.svelte","../../node_modules/lucide-svelte/dist/icons/credit-card.svelte","../../node_modules/lucide-svelte/dist/icons/crown.svelte","../../node_modules/lucide-svelte/dist/icons/external-link.svelte","../../node_modules/lucide-svelte/dist/icons/eye-off.svelte","../../node_modules/lucide-svelte/dist/icons/eye.svelte","../../node_modules/lucide-svelte/dist/icons/file-text.svelte","../../node_modules/lucide-svelte/dist/icons/frown.svelte","../../node_modules/lucide-svelte/dist/icons/gamepad.svelte","../../node_modules/lucide-svelte/dist/icons/ghost.svelte","../../node_modules/lucide-svelte/dist/icons/github.svelte","../../node_modules/lucide-svelte/dist/icons/globe.svelte","../../node_modules/lucide-svelte/dist/icons/key.svelte","../../node_modules/lucide-svelte/dist/icons/layout-dashboard.svelte","../../node_modules/lucide-svelte/dist/icons/library-big.svelte","../../node_modules/lucide-svelte/dist/icons/loader-pinwheel.svelte","../../node_modules/lucide-svelte/dist/icons/lock.svelte","../../node_modules/lucide-svelte/dist/icons/log-out.svelte","../../node_modules/lucide-svelte/dist/icons/mail.svelte","../../node_modules/lucide-svelte/dist/icons/map-pin-check-inside.svelte","../../node_modules/lucide-svelte/dist/icons/menu.svelte","../../node_modules/lucide-svelte/dist/icons/message-circle-question.svelte","../../node_modules/lucide-svelte/dist/icons/message-square-more.svelte","../../node_modules/lucide-svelte/dist/icons/message-square.svelte","../../node_modules/lucide-svelte/dist/icons/monitor-cog.svelte","../../node_modules/lucide-svelte/dist/icons/moon-star.svelte","../../node_modules/lucide-svelte/dist/icons/network.svelte","../../node_modules/lucide-svelte/dist/icons/pencil.svelte","../../node_modules/lucide-svelte/dist/icons/refresh-ccw.svelte","../../node_modules/lucide-svelte/dist/icons/settings.svelte","../../node_modules/lucide-svelte/dist/icons/shield-check.svelte","../../node_modules/lucide-svelte/dist/icons/shield.svelte","../../node_modules/lucide-svelte/dist/icons/smile.svelte","../../node_modules/lucide-svelte/dist/icons/square-check-big.svelte","../../node_modules/lucide-svelte/dist/icons/square-dashed-kanban.svelte","../../node_modules/lucide-svelte/dist/icons/sun.svelte","../../node_modules/lucide-svelte/dist/icons/thumbs-up.svelte","../../node_modules/lucide-svelte/dist/icons/toggle-left.svelte","../../node_modules/lucide-svelte/dist/icons/toggle-right.svelte","../../node_modules/lucide-svelte/dist/icons/trash-2.svelte","../../node_modules/lucide-svelte/dist/icons/triangle-alert.svelte","../../node_modules/lucide-svelte/dist/icons/user-round.svelte","../../node_modules/lucide-svelte/dist/icons/user.svelte","../../node_modules/lucide-svelte/dist/icons/users.svelte","../../node_modules/lucide-svelte/dist/icons/vote.svelte","../../node_modules/lucide-svelte/dist/icons/x.svelte","../../node_modules/lucide-svelte/dist/icons/zap.svelte","../../src/components/global/ThemeSelector.svelte","../../src/components/user/UserAvatar.svelte","../../src/components/global/NavUserMenu.svelte","../../src/components/global/LocaleMenu.svelte","../../src/components/logos/DomeLogo.svelte","../../src/components/logos/DomeLogoLight.svelte","../../src/components/global/GlobalHeader.svelte","../../src/components/alert/GlobalAlerts.svelte","../../src/components/icons/Github.svelte","../../src/components/logos/FullLogo.svelte","../../src/components/logos/FullLogoLight.svelte","../../src/components/global/GlobalFooter.svelte","../../src/country.ts","../../src/components/user/CountryFlag.svelte","../../src/components/user/Countries.svelte","../../src/components/global/BrowserMock.svelte","../../src/pages/Landing.svelte","../../node_modules/sockette/dist/sockette.mjs","../../src/components/poker/PointCard.svelte","../../node_modules/svelte-dnd-action/dist/index.mjs","../../src/components/global/HollowButton.svelte","../../src/components/icons/Bars2.svelte","../../src/components/global/SolidButton.svelte","../../src/components/global/Modal.svelte","../../src/components/forms/TextInput.svelte","../../src/components/forms/SelectInput.svelte","../../node_modules/quill/dist/quill.js","../../src/quill.ts","../../src/components/forms/Editor.svelte","../../src/components/poker/AddStory.svelte","../../src/components/poker/ViewStory.svelte","../../src/components/poker/CsvImport.svelte","../../node_modules/he/he.js","../../src/components/poker/JiraImport.svelte","../../src/components/global/FeatureSubscribeBanner.svelte","../../src/components/jira/JQLImport.svelte","../../src/components/poker/StoryFromGameImport.svelte","../../src/components/poker/StoryFromStoryboardImport.svelte","../../src/components/poker/ImportModal.svelte","../../src/components/poker/PokerStories.svelte","../../src/components/forms/Checkbox.svelte","../../src/components/poker/EditPokerGame.svelte","../../src/components/global/DeleteConfirmation.svelte","../../src/components/poker/BecomeFacilitator.svelte","../../src/components/poker/UserCard.svelte","../../src/components/poker/VotingControls.svelte","../../src/components/poker/InviteUser.svelte","../../src/dateUtils.ts","../../src/components/poker/VoteTimer.svelte","../../src/components/poker/VotingMetrics.svelte","../../src/components/global/JoinCodeForm.svelte","../../src/websocketUtil.ts","../../src/pages/poker/PokerGame.svelte","../../src/components/forms/SelectWithSubtext.svelte","../../src/components/poker/CreatePokerGame.svelte","../../src/components/global/Pagination.svelte","../../src/components/BoxList.svelte","../../src/pages/poker/PokerGames.svelte","../../src/components/retro/CreateRetro.svelte","../../src/pages/retro/Retros.svelte","../../src/components/retro/EditRetro.svelte","../../src/components/retro/EditActionItem.svelte","../../src/components/BecomeFacilitator.svelte","../../src/components/retro/Export.svelte","../../src/components/retro/GroupNameForm.svelte","../../src/components/retro/ItemComments.svelte","../../src/components/retro/RetroFeedbackItem.svelte","../../src/components/retro/GroupPhase.svelte","../../src/components/retro/RetroFeedbackGroup.svelte","../../src/components/retro/VotePhase.svelte","../../src/components/retro/GroupedItems.svelte","../../src/components/retro/UserCard.svelte","../../src/components/retro/InviteUser.svelte","../../src/components/retro/PhaseTimer.svelte","../../src/components/retro/ItemForm.svelte","../../src/components/retro/BrainstormPhase.svelte","../../src/components/table/TableNav.svelte","../../src/components/table/HeadCol.svelte","../../src/components/table/RowCol.svelte","../../src/components/table/TableRow.svelte","../../src/components/global/BooleanDisplay.svelte","../../src/components/table/CrudActions.svelte","../../src/components/table/TableFooter.svelte","../../src/components/retro/ActionComments.svelte","../../src/components/retro/RetroActionItemReview.svelte","../../src/pages/retro/Retro.svelte","../../src/components/storyboard/CreateStoryboard.svelte","../../src/pages/storyboard/Storyboards.svelte","../../src/components/storyboard/AddGoal.svelte","../../src/components/storyboard/UserCard.svelte","../../src/components/storyboard/InviteUser.svelte","../../src/components/storyboard/ColumnForm.svelte","../../src/components/storyboard/StoryForm.svelte","../../src/components/storyboard/ColorLegendForm.svelte","../../src/components/storyboard/PersonasForm.svelte","../../src/components/storyboard/DeleteStoryboard.svelte","../../src/components/storyboard/EditStoryboard.svelte","../../src/components/storyboard/GoalEstimate.svelte","../../src/pages/storyboard/Storyboard.svelte","../../src/components/team/CreateOrganization.svelte","../../src/components/team/CreateTeam.svelte","../../src/pages/team/Teams.svelte","../../src/components/team/CreateDepartment.svelte","../../src/components/team/AddUser.svelte","../../src/components/team/UpdateUser.svelte","../../src/components/team/UsersList.svelte","../../src/components/team/InvitesList.svelte","../../src/components/estimationscale/CreateEstimationScale.svelte","../../src/components/estimationscale/UpdateEstimationScale.svelte","../../src/components/estimationscale/EstimationScalesList.svelte","../../src/components/global/MetricsDisplay.svelte","../../src/components/team/metrics.ts","../../src/components/retrotemplate/ColumnForm.svelte","../../src/components/retrotemplate/CreateRetroTemplate.svelte","../../src/components/retrotemplate/UpdateRetroTemplate.svelte","../../src/components/retrotemplate/ViewFormat.svelte","../../src/components/retrotemplate/RetroTemplatesList.svelte","../../src/components/poker/UpdatePokerSettings.svelte","../../src/components/poker/PokerSettings.svelte","../../src/components/retro/UpdateRetroSettings.svelte","../../src/components/retro/RetroSettings.svelte","../../src/pages/team/Organization.svelte","../../src/pages/team/Department.svelte","../../src/components/forms/Toggle.svelte","../../src/pages/team/Team.svelte","../../src/components/checkin/Checkin.svelte","../../src/components/checkin/Comment.svelte","../../src/components/checkin/Comments.svelte","../../node_modules/eve/eve.js","../../node_modules/snapsvg-cjs/dist/snap.svg-cjs.js","../../src/components/Gauge.svelte","../../node_modules/svelte/src/transition/index.js","../../src/components/timezone-picker/timezones.js","../../node_modules/compute-scroll-into-view/dist/index.js","../../src/components/timezone-picker/utils.js","../../src/components/timezone-picker/Picker.svelte","../../src/pages/team/TeamCheckin.svelte","../../src/components/forms/PasswordInput.svelte","../../src/components/user/UserRegisterForm.svelte","../../src/pages/user/Register.svelte","../../src/components/icons/Google.svelte","../../src/components/auth/LoginForm.svelte","../../src/pages/user/Login.svelte","../../src/pages/user/ResetPassword.svelte","../../src/pages/user/VerifyAccount.svelte","../../src/components/user/UpdatePasswordForm.svelte","../../src/components/user/SetupMFA.svelte","../../src/components/forms/LocaleInput.svelte","../../src/components/user/ProfileForm.svelte","../../src/components/user/CreateApiKey.svelte","../../src/components/jira/CreateJiraInstance.svelte","../../src/components/subscription/AssociatedTeam.svelte","../../src/components/subscription/AssociatedOrganization.svelte","../../src/components/subscription/AssociateTeamForm.svelte","../../src/components/subscription/AssociateOrgForm.svelte","../../src/components/subscription/UserSubscriptionsList.svelte","../../src/pages/user/UserProfile.svelte","../../src/components/global/SideNavigation.svelte","../../src/components/admin/AdminPageLayout.svelte","../../src/pages/admin/Admin.svelte","../../src/components/user/CreateUser.svelte","../../src/pages/admin/user/Users.svelte","../../src/pages/admin/user/User.svelte","../../src/pages/admin/team/Organizations.svelte","../../src/pages/admin/team/Organization.svelte","../../src/pages/admin/team/Department.svelte","../../src/pages/admin/team/Teams.svelte","../../src/pages/admin/team/Team.svelte","../../src/pages/admin/user/ApiKeys.svelte","../../src/components/alert/CreateAlert.svelte","../../src/pages/admin/Alerts.svelte","../../src/pages/admin/poker/PokerGames.svelte","../../src/pages/admin/poker/PokerGame.svelte","../../src/pages/admin/retro/Retros.svelte","../../src/pages/admin/retro/Retro.svelte","../../src/pages/admin/storyboard/Storyboards.svelte","../../src/pages/admin/storyboard/Storyboard.svelte","../../src/components/subscription/SubscriptionForm.svelte","../../src/pages/admin/Subscriptions.svelte","../../src/pages/admin/Subscription.svelte","../../src/pages/admin/poker/EstimationScales.svelte","../../src/pages/subscription/Confirmation.svelte","../../src/components/pricing/SubscribeButton.svelte","../../src/components/pricing/PayPeriodToggle.svelte","../../src/pages/subscription/Pricing.svelte","../../src/pages/support/PrivacyPolicy.svelte","../../src/pages/support/TermsConditions.svelte","../../src/pages/support/Support.svelte","../../src/i18n/de/index.ts","../../src/i18n/en/index.ts","../../src/i18n/es/index.ts","../../src/i18n/fa/index.ts","../../src/i18n/fr/index.ts","../../src/i18n/it/index.ts","../../src/i18n/pt/index.ts","../../src/i18n/ru/index.ts","../../src/i18n/i18n-util.sync.ts","../../src/pages/team/Invite.svelte","../../src/pages/retro/RetroLanding.svelte","../../src/pages/poker/PokerLanding.svelte","../../src/pages/storyboard/StoryboardLanding.svelte","../../src/pages/admin/retro/RetroTemplates.svelte","../../src/App.svelte","../../src/main.ts"],"sourcesContent":["// generated during release, do not modify\n\n/**\n * The current version, as set in package.json.\n * @type {string}\n */\nexport const VERSION = '5.25.3';\nexport const PUBLIC_VERSION = '5';\n","import { PUBLIC_VERSION } from '../version.js';\n\nif (typeof window !== 'undefined') {\n\t// @ts-expect-error\n\t((window.__svelte ??= {}).v ??= new Set()).add(PUBLIC_VERSION);\n}\n","export const EACH_ITEM_REACTIVE = 1;\nexport const EACH_INDEX_REACTIVE = 1 << 1;\n/** See EachBlock interface metadata.is_controlled for an explanation what this is */\nexport const EACH_IS_CONTROLLED = 1 << 2;\nexport const EACH_IS_ANIMATED = 1 << 3;\nexport const EACH_ITEM_IMMUTABLE = 1 << 4;\n\nexport const PROPS_IS_IMMUTABLE = 1;\nexport const PROPS_IS_RUNES = 1 << 1;\nexport const PROPS_IS_UPDATED = 1 << 2;\nexport const PROPS_IS_BINDABLE = 1 << 3;\nexport const PROPS_IS_LAZY_INITIAL = 1 << 4;\n\nexport const TRANSITION_IN = 1;\nexport const TRANSITION_OUT = 1 << 1;\nexport const TRANSITION_GLOBAL = 1 << 2;\n\nexport const TEMPLATE_FRAGMENT = 1;\nexport const TEMPLATE_USE_IMPORT_NODE = 1 << 1;\n\nexport const HYDRATION_START = '[';\n/** used to indicate that an `{:else}...` block was rendered */\nexport const HYDRATION_START_ELSE = '[!';\nexport const HYDRATION_END = ']';\nexport const HYDRATION_ERROR = {};\n\nexport const ELEMENT_IS_NAMESPACED = 1;\nexport const ELEMENT_PRESERVE_ATTRIBUTE_CASE = 1 << 1;\n\nexport const UNINITIALIZED = Symbol();\n\n// Dev-time component properties\nexport const FILENAME = Symbol('filename');\nexport const HMR = Symbol('hmr');\n\nexport const NAMESPACE_HTML = 'http://www.w3.org/1999/xhtml';\nexport const NAMESPACE_SVG = 'http://www.w3.org/2000/svg';\nexport const NAMESPACE_MATHML = 'http://www.w3.org/1998/Math/MathML';\n\n// we use a list of ignorable runtime warnings because not every runtime warning\n// can be ignored and we want to keep the validation for svelte-ignore in place\nexport const IGNORABLE_RUNTIME_WARNINGS = /** @type {const} */ ([\n\t'state_snapshot_uncloneable',\n\t'binding_property_non_reactive',\n\t'hydration_attribute_changed',\n\t'hydration_html_changed',\n\t'ownership_invalid_binding',\n\t'ownership_invalid_mutation'\n]);\n\n/**\n * Whitespace inside one of these elements will not result in\n * a whitespace node being created in any circumstances. (This\n * list is almost certainly very incomplete)\n * TODO this is currently unused\n */\nexport const ELEMENTS_WITHOUT_TEXT = ['audio', 'datalist', 'dl', 'optgroup', 'select', 'video'];\n","export default false;\n","export const DERIVED = 1 << 1;\nexport const EFFECT = 1 << 2;\nexport const RENDER_EFFECT = 1 << 3;\nexport const BLOCK_EFFECT = 1 << 4;\nexport const BRANCH_EFFECT = 1 << 5;\nexport const ROOT_EFFECT = 1 << 6;\nexport const BOUNDARY_EFFECT = 1 << 7;\nexport const UNOWNED = 1 << 8;\nexport const DISCONNECTED = 1 << 9;\nexport const CLEAN = 1 << 10;\nexport const DIRTY = 1 << 11;\nexport const MAYBE_DIRTY = 1 << 12;\nexport const INERT = 1 << 13;\nexport const DESTROYED = 1 << 14;\nexport const EFFECT_RAN = 1 << 15;\n/** 'Transparent' effects do not create a transition boundary */\nexport const EFFECT_TRANSPARENT = 1 << 16;\n/** Svelte 4 legacy mode props need to be handled with deriveds and be recognized elsewhere, hence the dedicated flag */\nexport const LEGACY_DERIVED_PROP = 1 << 17;\nexport const INSPECT_EFFECT = 1 << 18;\nexport const HEAD_EFFECT = 1 << 19;\nexport const EFFECT_HAS_DERIVED = 1 << 20;\nexport const EFFECT_IS_UPDATING = 1 << 21;\n\nexport const STATE_SYMBOL = Symbol('$state');\nexport const STATE_SYMBOL_METADATA = Symbol('$state metadata');\nexport const LEGACY_PROPS = Symbol('legacy props');\nexport const LOADING_ATTR_SYMBOL = Symbol('');\n","// Store the references to globals in case someone tries to monkey patch these, causing the below\n// to de-opt (this occurs often when using popular extensions).\nexport var is_array = Array.isArray;\nexport var index_of = Array.prototype.indexOf;\nexport var array_from = Array.from;\nexport var object_keys = Object.keys;\nexport var define_property = Object.defineProperty;\nexport var get_descriptor = Object.getOwnPropertyDescriptor;\nexport var get_descriptors = Object.getOwnPropertyDescriptors;\nexport var object_prototype = Object.prototype;\nexport var array_prototype = Array.prototype;\nexport var get_prototype_of = Object.getPrototypeOf;\nexport var is_extensible = Object.isExtensible;\n\n/**\n * @param {any} thing\n * @returns {thing is Function}\n */\nexport function is_function(thing) {\n\treturn typeof thing === 'function';\n}\n\nexport const noop = () => {};\n\n// Adapted from https://github.com/then/is-promise/blob/master/index.js\n// Distributed under MIT License https://github.com/then/is-promise/blob/master/LICENSE\n\n/**\n * @template [T=any]\n * @param {any} value\n * @returns {value is PromiseLike}\n */\nexport function is_promise(value) {\n\treturn typeof value?.then === 'function';\n}\n\n/** @param {Function} fn */\nexport function run(fn) {\n\treturn fn();\n}\n\n/** @param {Array<() => void>} arr */\nexport function run_all(arr) {\n\tfor (var i = 0; i < arr.length; i++) {\n\t\tarr[i]();\n\t}\n}\n\n/**\n * TODO replace with Promise.withResolvers once supported widely enough\n * @template T\n */\nexport function deferred() {\n\t/** @type {(value: T) => void} */\n\tvar resolve;\n\n\t/** @type {(reason: any) => void} */\n\tvar reject;\n\n\t/** @type {Promise} */\n\tvar promise = new Promise((res, rej) => {\n\t\tresolve = res;\n\t\treject = rej;\n\t});\n\n\t// @ts-expect-error\n\treturn { promise, resolve, reject };\n}\n\n/**\n * @template V\n * @param {V} value\n * @param {V | (() => V)} fallback\n * @param {boolean} [lazy]\n * @returns {V}\n */\nexport function fallback(value, fallback, lazy = false) {\n\treturn value === undefined\n\t\t? lazy\n\t\t\t? /** @type {() => V} */ (fallback)()\n\t\t\t: /** @type {V} */ (fallback)\n\t\t: value;\n}\n","import { run_all } from '../../shared/utils.js';\n\n// Fallback for when requestIdleCallback is not available\nconst request_idle_callback =\n\ttypeof requestIdleCallback === 'undefined'\n\t\t? (/** @type {() => void} */ cb) => setTimeout(cb, 1)\n\t\t: requestIdleCallback;\n\n/** @type {Array<() => void>} */\nlet micro_tasks = [];\n\n/** @type {Array<() => void>} */\nlet idle_tasks = [];\n\nfunction run_micro_tasks() {\n\tvar tasks = micro_tasks;\n\tmicro_tasks = [];\n\trun_all(tasks);\n}\n\nfunction run_idle_tasks() {\n\tvar tasks = idle_tasks;\n\tidle_tasks = [];\n\trun_all(tasks);\n}\n\n/**\n * @param {() => void} fn\n */\nexport function queue_micro_task(fn) {\n\tif (micro_tasks.length === 0) {\n\t\tqueueMicrotask(run_micro_tasks);\n\t}\n\n\tmicro_tasks.push(fn);\n}\n\n/**\n * @param {() => void} fn\n */\nexport function queue_idle_task(fn) {\n\tif (idle_tasks.length === 0) {\n\t\trequest_idle_callback(run_idle_tasks);\n\t}\n\n\tidle_tasks.push(fn);\n}\n\n/**\n * Synchronously run any queued tasks.\n */\nexport function flush_tasks() {\n\tif (micro_tasks.length > 0) {\n\t\trun_micro_tasks();\n\t}\n\n\tif (idle_tasks.length > 0) {\n\t\trun_idle_tasks();\n\t}\n}\n","/** @import { Equals } from '#client' */\n/** @type {Equals} */\nexport function equals(value) {\n\treturn value === this.v;\n}\n\n/**\n * @param {unknown} a\n * @param {unknown} b\n * @returns {boolean}\n */\nexport function safe_not_equal(a, b) {\n\treturn a != a\n\t\t? b == b\n\t\t: a !== b || (a !== null && typeof a === 'object') || typeof a === 'function';\n}\n\n/**\n * @param {unknown} a\n * @param {unknown} b\n * @returns {boolean}\n */\nexport function not_equal(a, b) {\n\treturn a !== b;\n}\n\n/** @type {Equals} */\nexport function safe_equals(value) {\n\treturn !safe_not_equal(value, this.v);\n}\n","/* This file is generated by scripts/process-messages/index.js. Do not edit! */\n\nimport { DEV } from 'esm-env';\n\n/**\n * Using `bind:value` together with a checkbox input is not allowed. Use `bind:checked` instead\n * @returns {never}\n */\nexport function bind_invalid_checkbox_value() {\n\tif (DEV) {\n\t\tconst error = new Error(`bind_invalid_checkbox_value\\nUsing \\`bind:value\\` together with a checkbox input is not allowed. Use \\`bind:checked\\` instead\\nhttps://svelte.dev/e/bind_invalid_checkbox_value`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/bind_invalid_checkbox_value`);\n\t}\n}\n\n/**\n * Component %component% has an export named `%key%` that a consumer component is trying to access using `bind:%key%`, which is disallowed. Instead, use `bind:this` (e.g. `<%name% bind:this={component} />`) and then access the property on the bound component instance (e.g. `component.%key%`)\n * @param {string} component\n * @param {string} key\n * @param {string} name\n * @returns {never}\n */\nexport function bind_invalid_export(component, key, name) {\n\tif (DEV) {\n\t\tconst error = new Error(`bind_invalid_export\\nComponent ${component} has an export named \\`${key}\\` that a consumer component is trying to access using \\`bind:${key}\\`, which is disallowed. Instead, use \\`bind:this\\` (e.g. \\`<${name} bind:this={component} />\\`) and then access the property on the bound component instance (e.g. \\`component.${key}\\`)\\nhttps://svelte.dev/e/bind_invalid_export`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/bind_invalid_export`);\n\t}\n}\n\n/**\n * A component is attempting to bind to a non-bindable property `%key%` belonging to %component% (i.e. `<%name% bind:%key%={...}>`). To mark a property as bindable: `let { %key% = $bindable() } = $props()`\n * @param {string} key\n * @param {string} component\n * @param {string} name\n * @returns {never}\n */\nexport function bind_not_bindable(key, component, name) {\n\tif (DEV) {\n\t\tconst error = new Error(`bind_not_bindable\\nA component is attempting to bind to a non-bindable property \\`${key}\\` belonging to ${component} (i.e. \\`<${name} bind:${key}={...}>\\`). To mark a property as bindable: \\`let { ${key} = $bindable() } = $props()\\`\\nhttps://svelte.dev/e/bind_not_bindable`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/bind_not_bindable`);\n\t}\n}\n\n/**\n * %parent% called `%method%` on an instance of %component%, which is no longer valid in Svelte 5\n * @param {string} parent\n * @param {string} method\n * @param {string} component\n * @returns {never}\n */\nexport function component_api_changed(parent, method, component) {\n\tif (DEV) {\n\t\tconst error = new Error(`component_api_changed\\n${parent} called \\`${method}\\` on an instance of ${component}, which is no longer valid in Svelte 5\\nhttps://svelte.dev/e/component_api_changed`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/component_api_changed`);\n\t}\n}\n\n/**\n * Attempted to instantiate %component% with `new %name%`, which is no longer valid in Svelte 5. If this component is not under your control, set the `compatibility.componentApi` compiler option to `4` to keep it working.\n * @param {string} component\n * @param {string} name\n * @returns {never}\n */\nexport function component_api_invalid_new(component, name) {\n\tif (DEV) {\n\t\tconst error = new Error(`component_api_invalid_new\\nAttempted to instantiate ${component} with \\`new ${name}\\`, which is no longer valid in Svelte 5. If this component is not under your control, set the \\`compatibility.componentApi\\` compiler option to \\`4\\` to keep it working.\\nhttps://svelte.dev/e/component_api_invalid_new`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/component_api_invalid_new`);\n\t}\n}\n\n/**\n * A derived value cannot reference itself recursively\n * @returns {never}\n */\nexport function derived_references_self() {\n\tif (DEV) {\n\t\tconst error = new Error(`derived_references_self\\nA derived value cannot reference itself recursively\\nhttps://svelte.dev/e/derived_references_self`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/derived_references_self`);\n\t}\n}\n\n/**\n * Keyed each block has duplicate key `%value%` at indexes %a% and %b%\n * @param {string} a\n * @param {string} b\n * @param {string | undefined | null} [value]\n * @returns {never}\n */\nexport function each_key_duplicate(a, b, value) {\n\tif (DEV) {\n\t\tconst error = new Error(`each_key_duplicate\\n${value ? `Keyed each block has duplicate key \\`${value}\\` at indexes ${a} and ${b}` : `Keyed each block has duplicate key at indexes ${a} and ${b}`}\\nhttps://svelte.dev/e/each_key_duplicate`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/each_key_duplicate`);\n\t}\n}\n\n/**\n * `%rune%` cannot be used inside an effect cleanup function\n * @param {string} rune\n * @returns {never}\n */\nexport function effect_in_teardown(rune) {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_in_teardown\\n\\`${rune}\\` cannot be used inside an effect cleanup function\\nhttps://svelte.dev/e/effect_in_teardown`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_in_teardown`);\n\t}\n}\n\n/**\n * Effect cannot be created inside a `$derived` value that was not itself created inside an effect\n * @returns {never}\n */\nexport function effect_in_unowned_derived() {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_in_unowned_derived\\nEffect cannot be created inside a \\`$derived\\` value that was not itself created inside an effect\\nhttps://svelte.dev/e/effect_in_unowned_derived`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_in_unowned_derived`);\n\t}\n}\n\n/**\n * `%rune%` can only be used inside an effect (e.g. during component initialisation)\n * @param {string} rune\n * @returns {never}\n */\nexport function effect_orphan(rune) {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_orphan\\n\\`${rune}\\` can only be used inside an effect (e.g. during component initialisation)\\nhttps://svelte.dev/e/effect_orphan`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_orphan`);\n\t}\n}\n\n/**\n * Maximum update depth exceeded. This can happen when a reactive block or effect repeatedly sets a new value. Svelte limits the number of nested updates to prevent infinite loops\n * @returns {never}\n */\nexport function effect_update_depth_exceeded() {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_update_depth_exceeded\\nMaximum update depth exceeded. This can happen when a reactive block or effect repeatedly sets a new value. Svelte limits the number of nested updates to prevent infinite loops\\nhttps://svelte.dev/e/effect_update_depth_exceeded`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_update_depth_exceeded`);\n\t}\n}\n\n/**\n * Failed to hydrate the application\n * @returns {never}\n */\nexport function hydration_failed() {\n\tif (DEV) {\n\t\tconst error = new Error(`hydration_failed\\nFailed to hydrate the application\\nhttps://svelte.dev/e/hydration_failed`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/hydration_failed`);\n\t}\n}\n\n/**\n * Could not `{@render}` snippet due to the expression being `null` or `undefined`. Consider using optional chaining `{@render snippet?.()}`\n * @returns {never}\n */\nexport function invalid_snippet() {\n\tif (DEV) {\n\t\tconst error = new Error(`invalid_snippet\\nCould not \\`{@render}\\` snippet due to the expression being \\`null\\` or \\`undefined\\`. Consider using optional chaining \\`{@render snippet?.()}\\`\\nhttps://svelte.dev/e/invalid_snippet`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/invalid_snippet`);\n\t}\n}\n\n/**\n * `%name%(...)` cannot be used in runes mode\n * @param {string} name\n * @returns {never}\n */\nexport function lifecycle_legacy_only(name) {\n\tif (DEV) {\n\t\tconst error = new Error(`lifecycle_legacy_only\\n\\`${name}(...)\\` cannot be used in runes mode\\nhttps://svelte.dev/e/lifecycle_legacy_only`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/lifecycle_legacy_only`);\n\t}\n}\n\n/**\n * Cannot do `bind:%key%={undefined}` when `%key%` has a fallback value\n * @param {string} key\n * @returns {never}\n */\nexport function props_invalid_value(key) {\n\tif (DEV) {\n\t\tconst error = new Error(`props_invalid_value\\nCannot do \\`bind:${key}={undefined}\\` when \\`${key}\\` has a fallback value\\nhttps://svelte.dev/e/props_invalid_value`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/props_invalid_value`);\n\t}\n}\n\n/**\n * Rest element properties of `$props()` such as `%property%` are readonly\n * @param {string} property\n * @returns {never}\n */\nexport function props_rest_readonly(property) {\n\tif (DEV) {\n\t\tconst error = new Error(`props_rest_readonly\\nRest element properties of \\`$props()\\` such as \\`${property}\\` are readonly\\nhttps://svelte.dev/e/props_rest_readonly`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/props_rest_readonly`);\n\t}\n}\n\n/**\n * The `%rune%` rune is only available inside `.svelte` and `.svelte.js/ts` files\n * @param {string} rune\n * @returns {never}\n */\nexport function rune_outside_svelte(rune) {\n\tif (DEV) {\n\t\tconst error = new Error(`rune_outside_svelte\\nThe \\`${rune}\\` rune is only available inside \\`.svelte\\` and \\`.svelte.js/ts\\` files\\nhttps://svelte.dev/e/rune_outside_svelte`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/rune_outside_svelte`);\n\t}\n}\n\n/**\n * Property descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\n * @returns {never}\n */\nexport function state_descriptors_fixed() {\n\tif (DEV) {\n\t\tconst error = new Error(`state_descriptors_fixed\\nProperty descriptors defined on \\`$state\\` objects must contain \\`value\\` and always be \\`enumerable\\`, \\`configurable\\` and \\`writable\\`.\\nhttps://svelte.dev/e/state_descriptors_fixed`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/state_descriptors_fixed`);\n\t}\n}\n\n/**\n * Cannot set prototype of `$state` object\n * @returns {never}\n */\nexport function state_prototype_fixed() {\n\tif (DEV) {\n\t\tconst error = new Error(`state_prototype_fixed\\nCannot set prototype of \\`$state\\` object\\nhttps://svelte.dev/e/state_prototype_fixed`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/state_prototype_fixed`);\n\t}\n}\n\n/**\n * Updating state inside a derived or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\n * @returns {never}\n */\nexport function state_unsafe_mutation() {\n\tif (DEV) {\n\t\tconst error = new Error(`state_unsafe_mutation\\nUpdating state inside a derived or a template expression is forbidden. If the value should not be reactive, declare it without \\`$state\\`\\nhttps://svelte.dev/e/state_unsafe_mutation`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/state_unsafe_mutation`);\n\t}\n}","export let legacy_mode_flag = false;\nexport let tracing_mode_flag = false;\n\nexport function enable_legacy_mode_flag() {\n\tlegacy_mode_flag = true;\n}\n\nexport function enable_tracing_mode_flag() {\n\ttracing_mode_flag = true;\n}\n","/** @import { ProxyMetadata, Source } from '#client' */\nimport { DEV } from 'esm-env';\nimport { get, active_effect, active_reaction, set_active_reaction } from './runtime.js';\nimport { component_context } from './context.js';\nimport {\n\tarray_prototype,\n\tget_descriptor,\n\tget_prototype_of,\n\tis_array,\n\tobject_prototype\n} from '../shared/utils.js';\nimport { check_ownership, widen_ownership } from './dev/ownership.js';\nimport { state as source, set } from './reactivity/sources.js';\nimport { STATE_SYMBOL, STATE_SYMBOL_METADATA } from './constants.js';\nimport { UNINITIALIZED } from '../../constants.js';\nimport * as e from './errors.js';\nimport { get_stack } from './dev/tracing.js';\nimport { tracing_mode_flag } from '../flags/index.js';\n\n/** @type {ProxyMetadata | null} */\nvar parent_metadata = null;\n\n/**\n * @template T\n * @param {T} value\n * @param {Source} [prev] dev mode only\n * @returns {T}\n */\nexport function proxy(value, prev) {\n\t// if non-proxyable, or is already a proxy, return `value`\n\tif (typeof value !== 'object' || value === null || STATE_SYMBOL in value) {\n\t\treturn value;\n\t}\n\n\tconst prototype = get_prototype_of(value);\n\n\tif (prototype !== object_prototype && prototype !== array_prototype) {\n\t\treturn value;\n\t}\n\n\t/** @type {Map>} */\n\tvar sources = new Map();\n\tvar is_proxied_array = is_array(value);\n\tvar version = source(0);\n\n\tvar stack = DEV && tracing_mode_flag ? get_stack('CreatedAt') : null;\n\tvar reaction = active_reaction;\n\n\t/**\n\t * @template T\n\t * @param {() => T} fn\n\t */\n\tvar with_parent = (fn) => {\n\t\tvar previous_reaction = active_reaction;\n\t\tset_active_reaction(reaction);\n\n\t\t/** @type {T} */\n\t\tvar result;\n\n\t\tif (DEV) {\n\t\t\tvar previous_metadata = parent_metadata;\n\t\t\tparent_metadata = metadata;\n\t\t\tresult = fn();\n\t\t\tparent_metadata = previous_metadata;\n\t\t} else {\n\t\t\tresult = fn();\n\t\t}\n\n\t\tset_active_reaction(previous_reaction);\n\t\treturn result;\n\t};\n\n\tif (is_proxied_array) {\n\t\t// We need to create the length source eagerly to ensure that\n\t\t// mutations to the array are properly synced with our proxy\n\t\tsources.set('length', source(/** @type {any[]} */ (value).length, stack));\n\t}\n\n\t/** @type {ProxyMetadata} */\n\tvar metadata;\n\n\tif (DEV) {\n\t\tmetadata = {\n\t\t\tparent: parent_metadata,\n\t\t\towners: null\n\t\t};\n\n\t\tif (prev) {\n\t\t\t// Reuse owners from previous state; necessary because reassignment is not guaranteed to have correct component context.\n\t\t\t// If no previous proxy exists we play it safe and assume ownerless state\n\t\t\t// @ts-expect-error\n\t\t\tconst prev_owners = prev.v?.[STATE_SYMBOL_METADATA]?.owners;\n\t\t\tmetadata.owners = prev_owners ? new Set(prev_owners) : null;\n\t\t} else {\n\t\t\tmetadata.owners =\n\t\t\t\tparent_metadata === null\n\t\t\t\t\t? component_context !== null\n\t\t\t\t\t\t? new Set([component_context.function])\n\t\t\t\t\t\t: null\n\t\t\t\t\t: new Set();\n\t\t}\n\t}\n\n\treturn new Proxy(/** @type {any} */ (value), {\n\t\tdefineProperty(_, prop, descriptor) {\n\t\t\tif (\n\t\t\t\t!('value' in descriptor) ||\n\t\t\t\tdescriptor.configurable === false ||\n\t\t\t\tdescriptor.enumerable === false ||\n\t\t\t\tdescriptor.writable === false\n\t\t\t) {\n\t\t\t\t// we disallow non-basic descriptors, because unless they are applied to the\n\t\t\t\t// target object — which we avoid, so that state can be forked — we will run\n\t\t\t\t// afoul of the various invariants\n\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/getOwnPropertyDescriptor#invariants\n\t\t\t\te.state_descriptors_fixed();\n\t\t\t}\n\n\t\t\tvar s = sources.get(prop);\n\n\t\t\tif (s === undefined) {\n\t\t\t\ts = with_parent(() => source(descriptor.value, stack));\n\t\t\t\tsources.set(prop, s);\n\t\t\t} else {\n\t\t\t\tset(\n\t\t\t\t\ts,\n\t\t\t\t\twith_parent(() => proxy(descriptor.value))\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\n\t\tdeleteProperty(target, prop) {\n\t\t\tvar s = sources.get(prop);\n\n\t\t\tif (s === undefined) {\n\t\t\t\tif (prop in target) {\n\t\t\t\t\tsources.set(\n\t\t\t\t\t\tprop,\n\t\t\t\t\t\twith_parent(() => source(UNINITIALIZED, stack))\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// When working with arrays, we need to also ensure we update the length when removing\n\t\t\t\t// an indexed property\n\t\t\t\tif (is_proxied_array && typeof prop === 'string') {\n\t\t\t\t\tvar ls = /** @type {Source} */ (sources.get('length'));\n\t\t\t\t\tvar n = Number(prop);\n\n\t\t\t\t\tif (Number.isInteger(n) && n < ls.v) {\n\t\t\t\t\t\tset(ls, n);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tset(s, UNINITIALIZED);\n\t\t\t\tupdate_version(version);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\n\t\tget(target, prop, receiver) {\n\t\t\tif (DEV && prop === STATE_SYMBOL_METADATA) {\n\t\t\t\treturn metadata;\n\t\t\t}\n\n\t\t\tif (prop === STATE_SYMBOL) {\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tvar s = sources.get(prop);\n\t\t\tvar exists = prop in target;\n\n\t\t\t// create a source, but only if it's an own property and not a prototype property\n\t\t\tif (s === undefined && (!exists || get_descriptor(target, prop)?.writable)) {\n\t\t\t\ts = with_parent(() => source(proxy(exists ? target[prop] : UNINITIALIZED), stack));\n\t\t\t\tsources.set(prop, s);\n\t\t\t}\n\n\t\t\tif (s !== undefined) {\n\t\t\t\tvar v = get(s);\n\n\t\t\t\t// In case of something like `foo = bar.map(...)`, foo would have ownership\n\t\t\t\t// of the array itself, while the individual items would have ownership\n\t\t\t\t// of the component that created bar. That means if we later do `foo[0].baz = 42`,\n\t\t\t\t// we could get a false-positive ownership violation, since the two proxies\n\t\t\t\t// are not connected to each other via the parent metadata relationship.\n\t\t\t\t// For this reason, we need to widen the ownership of the children\n\t\t\t\t// upon access when we detect they are not connected.\n\t\t\t\tif (DEV) {\n\t\t\t\t\t/** @type {ProxyMetadata | undefined} */\n\t\t\t\t\tvar prop_metadata = v?.[STATE_SYMBOL_METADATA];\n\t\t\t\t\tif (prop_metadata && prop_metadata?.parent !== metadata) {\n\t\t\t\t\t\twiden_ownership(metadata, prop_metadata);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn v === UNINITIALIZED ? undefined : v;\n\t\t\t}\n\n\t\t\treturn Reflect.get(target, prop, receiver);\n\t\t},\n\n\t\tgetOwnPropertyDescriptor(target, prop) {\n\t\t\tvar descriptor = Reflect.getOwnPropertyDescriptor(target, prop);\n\n\t\t\tif (descriptor && 'value' in descriptor) {\n\t\t\t\tvar s = sources.get(prop);\n\t\t\t\tif (s) descriptor.value = get(s);\n\t\t\t} else if (descriptor === undefined) {\n\t\t\t\tvar source = sources.get(prop);\n\t\t\t\tvar value = source?.v;\n\n\t\t\t\tif (source !== undefined && value !== UNINITIALIZED) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tenumerable: true,\n\t\t\t\t\t\tconfigurable: true,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\twritable: true\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn descriptor;\n\t\t},\n\n\t\thas(target, prop) {\n\t\t\tif (DEV && prop === STATE_SYMBOL_METADATA) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (prop === STATE_SYMBOL) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tvar s = sources.get(prop);\n\t\t\tvar has = (s !== undefined && s.v !== UNINITIALIZED) || Reflect.has(target, prop);\n\n\t\t\tif (\n\t\t\t\ts !== undefined ||\n\t\t\t\t(active_effect !== null && (!has || get_descriptor(target, prop)?.writable))\n\t\t\t) {\n\t\t\t\tif (s === undefined) {\n\t\t\t\t\ts = with_parent(() => source(has ? proxy(target[prop]) : UNINITIALIZED, stack));\n\t\t\t\t\tsources.set(prop, s);\n\t\t\t\t}\n\n\t\t\t\tvar value = get(s);\n\t\t\t\tif (value === UNINITIALIZED) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn has;\n\t\t},\n\n\t\tset(target, prop, value, receiver) {\n\t\t\tvar s = sources.get(prop);\n\t\t\tvar has = prop in target;\n\n\t\t\t// variable.length = value -> clear all signals with index >= value\n\t\t\tif (is_proxied_array && prop === 'length') {\n\t\t\t\tfor (var i = value; i < /** @type {Source} */ (s).v; i += 1) {\n\t\t\t\t\tvar other_s = sources.get(i + '');\n\t\t\t\t\tif (other_s !== undefined) {\n\t\t\t\t\t\tset(other_s, UNINITIALIZED);\n\t\t\t\t\t} else if (i in target) {\n\t\t\t\t\t\t// If the item exists in the original, we need to create a uninitialized source,\n\t\t\t\t\t\t// else a later read of the property would result in a source being created with\n\t\t\t\t\t\t// the value of the original item at that index.\n\t\t\t\t\t\tother_s = with_parent(() => source(UNINITIALIZED, stack));\n\t\t\t\t\t\tsources.set(i + '', other_s);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// If we haven't yet created a source for this property, we need to ensure\n\t\t\t// we do so otherwise if we read it later, then the write won't be tracked and\n\t\t\t// the heuristics of effects will be different vs if we had read the proxied\n\t\t\t// object property before writing to that property.\n\t\t\tif (s === undefined) {\n\t\t\t\tif (!has || get_descriptor(target, prop)?.writable) {\n\t\t\t\t\ts = with_parent(() => source(undefined, stack));\n\t\t\t\t\tset(\n\t\t\t\t\t\ts,\n\t\t\t\t\t\twith_parent(() => proxy(value))\n\t\t\t\t\t);\n\t\t\t\t\tsources.set(prop, s);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\thas = s.v !== UNINITIALIZED;\n\t\t\t\tset(\n\t\t\t\t\ts,\n\t\t\t\t\twith_parent(() => proxy(value))\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (DEV) {\n\t\t\t\t/** @type {ProxyMetadata | undefined} */\n\t\t\t\tvar prop_metadata = value?.[STATE_SYMBOL_METADATA];\n\t\t\t\tif (prop_metadata && prop_metadata?.parent !== metadata) {\n\t\t\t\t\twiden_ownership(metadata, prop_metadata);\n\t\t\t\t}\n\t\t\t\tcheck_ownership(metadata);\n\t\t\t}\n\n\t\t\tvar descriptor = Reflect.getOwnPropertyDescriptor(target, prop);\n\n\t\t\t// Set the new value before updating any signals so that any listeners get the new value\n\t\t\tif (descriptor?.set) {\n\t\t\t\tdescriptor.set.call(receiver, value);\n\t\t\t}\n\n\t\t\tif (!has) {\n\t\t\t\t// If we have mutated an array directly, we might need to\n\t\t\t\t// signal that length has also changed. Do it before updating metadata\n\t\t\t\t// to ensure that iterating over the array as a result of a metadata update\n\t\t\t\t// will not cause the length to be out of sync.\n\t\t\t\tif (is_proxied_array && typeof prop === 'string') {\n\t\t\t\t\tvar ls = /** @type {Source} */ (sources.get('length'));\n\t\t\t\t\tvar n = Number(prop);\n\n\t\t\t\t\tif (Number.isInteger(n) && n >= ls.v) {\n\t\t\t\t\t\tset(ls, n + 1);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tupdate_version(version);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\n\t\townKeys(target) {\n\t\t\tget(version);\n\n\t\t\tvar own_keys = Reflect.ownKeys(target).filter((key) => {\n\t\t\t\tvar source = sources.get(key);\n\t\t\t\treturn source === undefined || source.v !== UNINITIALIZED;\n\t\t\t});\n\n\t\t\tfor (var [key, source] of sources) {\n\t\t\t\tif (source.v !== UNINITIALIZED && !(key in target)) {\n\t\t\t\t\town_keys.push(key);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn own_keys;\n\t\t},\n\n\t\tsetPrototypeOf() {\n\t\t\te.state_prototype_fixed();\n\t\t}\n\t});\n}\n\n/**\n * @param {Source} signal\n * @param {1 | -1} [d]\n */\nfunction update_version(signal, d = 1) {\n\tset(signal, signal.v + d);\n}\n\n/**\n * @param {any} value\n */\nexport function get_proxied_value(value) {\n\ttry {\n\t\tif (value !== null && typeof value === 'object' && STATE_SYMBOL in value) {\n\t\t\treturn value[STATE_SYMBOL];\n\t\t}\n\t} catch {\n\t\t// the above if check can throw an error if the value in question\n\t\t// is the contentWindow of an iframe on another domain, in which\n\t\t// case we want to just return the value (because it's definitely\n\t\t// not a proxied value) so we don't break any JavaScript interacting\n\t\t// with that iframe (such as various payment companies client side\n\t\t// JavaScript libraries interacting with their iframes on the same\n\t\t// domain)\n\t}\n\n\treturn value;\n}\n\n/**\n * @param {any} a\n * @param {any} b\n */\nexport function is(a, b) {\n\treturn Object.is(get_proxied_value(a), get_proxied_value(b));\n}\n","/** @import { Derived, Effect, Reaction, Source, Value } from '#client' */\nimport { DEV } from 'esm-env';\nimport {\n\tactive_reaction,\n\tactive_effect,\n\tuntracked_writes,\n\tget,\n\tschedule_effect,\n\tset_untracked_writes,\n\tset_signal_status,\n\tuntrack,\n\tincrement_write_version,\n\tupdate_effect,\n\treaction_sources,\n\tset_reaction_sources,\n\tcheck_dirtiness,\n\tuntracking,\n\tis_destroying_effect,\n\tpush_reaction_value\n} from '../runtime.js';\nimport { equals, safe_equals } from './equality.js';\nimport {\n\tCLEAN,\n\tDERIVED,\n\tDIRTY,\n\tBRANCH_EFFECT,\n\tINSPECT_EFFECT,\n\tUNOWNED,\n\tMAYBE_DIRTY,\n\tBLOCK_EFFECT,\n\tROOT_EFFECT,\n\tEFFECT_IS_UPDATING\n} from '../constants.js';\nimport * as e from '../errors.js';\nimport { legacy_mode_flag, tracing_mode_flag } from '../../flags/index.js';\nimport { get_stack } from '../dev/tracing.js';\nimport { component_context, is_runes } from '../context.js';\nimport { proxy } from '../proxy.js';\n\nexport let inspect_effects = new Set();\nexport const old_values = new Map();\n\n/**\n * @param {Set} v\n */\nexport function set_inspect_effects(v) {\n\tinspect_effects = v;\n}\n\n/**\n * @template V\n * @param {V} v\n * @param {Error | null} [stack]\n * @returns {Source}\n */\n// TODO rename this to `state` throughout the codebase\nexport function source(v, stack) {\n\t/** @type {Value} */\n\tvar signal = {\n\t\tf: 0, // TODO ideally we could skip this altogether, but it causes type errors\n\t\tv,\n\t\treactions: null,\n\t\tequals,\n\t\trv: 0,\n\t\twv: 0\n\t};\n\n\tif (DEV && tracing_mode_flag) {\n\t\tsignal.created = stack ?? get_stack('CreatedAt');\n\t\tsignal.debug = null;\n\t}\n\n\treturn signal;\n}\n\n/**\n * @template V\n * @param {V} v\n * @param {Error | null} [stack]\n */\nexport function state(v, stack) {\n\tconst s = source(v, stack);\n\n\tpush_reaction_value(s);\n\n\treturn s;\n}\n\n/**\n * @template V\n * @param {V} initial_value\n * @param {boolean} [immutable]\n * @returns {Source}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function mutable_source(initial_value, immutable = false) {\n\tconst s = source(initial_value);\n\tif (!immutable) {\n\t\ts.equals = safe_equals;\n\t}\n\n\t// bind the signal to the component context, in case we need to\n\t// track updates to trigger beforeUpdate/afterUpdate callbacks\n\tif (legacy_mode_flag && component_context !== null && component_context.l !== null) {\n\t\t(component_context.l.s ??= []).push(s);\n\t}\n\n\treturn s;\n}\n\n/**\n * @template V\n * @param {Value} source\n * @param {V} value\n */\nexport function mutate(source, value) {\n\tset(\n\t\tsource,\n\t\tuntrack(() => get(source))\n\t);\n\treturn value;\n}\n\n/**\n * @template V\n * @param {Source} source\n * @param {V} value\n * @param {boolean} [should_proxy]\n * @returns {V}\n */\nexport function set(source, value, should_proxy = false) {\n\tif (\n\t\tactive_reaction !== null &&\n\t\t!untracking &&\n\t\tis_runes() &&\n\t\t(active_reaction.f & (DERIVED | BLOCK_EFFECT)) !== 0 &&\n\t\t!reaction_sources?.includes(source)\n\t) {\n\t\te.state_unsafe_mutation();\n\t}\n\n\tlet new_value = should_proxy ? proxy(value, source) : value;\n\n\treturn internal_set(source, new_value);\n}\n\n/**\n * @template V\n * @param {Source} source\n * @param {V} value\n * @returns {V}\n */\nexport function internal_set(source, value) {\n\tif (!source.equals(value)) {\n\t\tvar old_value = source.v;\n\n\t\tif (is_destroying_effect) {\n\t\t\told_values.set(source, value);\n\t\t} else {\n\t\t\told_values.set(source, old_value);\n\t\t}\n\n\t\tsource.v = value;\n\t\tsource.wv = increment_write_version();\n\n\t\tif (DEV && tracing_mode_flag) {\n\t\t\tsource.updated = get_stack('UpdatedAt');\n\t\t\tif (active_effect != null) {\n\t\t\t\tsource.trace_need_increase = true;\n\t\t\t\tsource.trace_v ??= old_value;\n\t\t\t}\n\t\t}\n\n\t\tmark_reactions(source, DIRTY);\n\n\t\t// It's possible that the current reaction might not have up-to-date dependencies\n\t\t// whilst it's actively running. So in the case of ensuring it registers the reaction\n\t\t// properly for itself, we need to ensure the current effect actually gets\n\t\t// scheduled. i.e: `$effect(() => x++)`\n\t\tif (\n\t\t\tis_runes() &&\n\t\t\tactive_effect !== null &&\n\t\t\t(active_effect.f & CLEAN) !== 0 &&\n\t\t\t(active_effect.f & (BRANCH_EFFECT | ROOT_EFFECT)) === 0\n\t\t) {\n\t\t\tif (untracked_writes === null) {\n\t\t\t\tset_untracked_writes([source]);\n\t\t\t} else {\n\t\t\t\tuntracked_writes.push(source);\n\t\t\t}\n\t\t}\n\n\t\tif (DEV && inspect_effects.size > 0) {\n\t\t\tconst inspects = Array.from(inspect_effects);\n\n\t\t\tfor (const effect of inspects) {\n\t\t\t\t// Mark clean inspect-effects as maybe dirty and then check their dirtiness\n\t\t\t\t// instead of just updating the effects - this way we avoid overfiring.\n\t\t\t\tif ((effect.f & CLEAN) !== 0) {\n\t\t\t\t\tset_signal_status(effect, MAYBE_DIRTY);\n\t\t\t\t}\n\t\t\t\tif (check_dirtiness(effect)) {\n\t\t\t\t\tupdate_effect(effect);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tinspect_effects.clear();\n\t\t}\n\t}\n\n\treturn value;\n}\n\n/**\n * @template {number | bigint} T\n * @param {Source} source\n * @param {1 | -1} [d]\n * @returns {T}\n */\nexport function update(source, d = 1) {\n\tvar value = get(source);\n\tvar result = d === 1 ? value++ : value--;\n\n\tset(source, value);\n\n\t// @ts-expect-error\n\treturn result;\n}\n\n/**\n * @template {number | bigint} T\n * @param {Source} source\n * @param {1 | -1} [d]\n * @returns {T}\n */\nexport function update_pre(source, d = 1) {\n\tvar value = get(source);\n\n\t// @ts-expect-error\n\treturn set(source, d === 1 ? ++value : --value);\n}\n\n/**\n * @param {Value} signal\n * @param {number} status should be DIRTY or MAYBE_DIRTY\n * @returns {void}\n */\nfunction mark_reactions(signal, status) {\n\tvar reactions = signal.reactions;\n\tif (reactions === null) return;\n\n\tvar runes = is_runes();\n\tvar length = reactions.length;\n\n\tfor (var i = 0; i < length; i++) {\n\t\tvar reaction = reactions[i];\n\t\tvar flags = reaction.f;\n\n\t\t// Skip any effects that are already dirty\n\t\tif ((flags & DIRTY) !== 0) continue;\n\n\t\t// In legacy mode, skip the current effect to prevent infinite loops\n\t\tif (!runes && reaction === active_effect) continue;\n\n\t\t// Inspect effects need to run immediately, so that the stack trace makes sense\n\t\tif (DEV && (flags & INSPECT_EFFECT) !== 0) {\n\t\t\tinspect_effects.add(reaction);\n\t\t\tcontinue;\n\t\t}\n\n\t\tset_signal_status(reaction, status);\n\n\t\t// If the signal a) was previously clean or b) is an unowned derived, then mark it\n\t\tif ((flags & (CLEAN | UNOWNED)) !== 0) {\n\t\t\tif ((flags & DERIVED) !== 0) {\n\t\t\t\tmark_reactions(/** @type {Derived} */ (reaction), MAYBE_DIRTY);\n\t\t\t} else {\n\t\t\t\tschedule_effect(/** @type {Effect} */ (reaction));\n\t\t\t}\n\t\t}\n\t}\n}\n","/** @import { Derived, Effect } from '#client' */\nimport { DEV } from 'esm-env';\nimport { CLEAN, DERIVED, DIRTY, EFFECT_HAS_DERIVED, MAYBE_DIRTY, UNOWNED } from '../constants.js';\nimport {\n\tactive_reaction,\n\tactive_effect,\n\tset_signal_status,\n\tskip_reaction,\n\tupdate_reaction,\n\tincrement_write_version,\n\tset_active_effect,\n\tpush_reaction_value\n} from '../runtime.js';\nimport { equals, safe_equals } from './equality.js';\nimport * as e from '../errors.js';\nimport { destroy_effect } from './effects.js';\nimport { inspect_effects, set_inspect_effects } from './sources.js';\nimport { get_stack } from '../dev/tracing.js';\nimport { tracing_mode_flag } from '../../flags/index.js';\nimport { component_context } from '../context.js';\n\n/**\n * @template V\n * @param {() => V} fn\n * @returns {Derived}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function derived(fn) {\n\tvar flags = DERIVED | DIRTY;\n\tvar parent_derived =\n\t\tactive_reaction !== null && (active_reaction.f & DERIVED) !== 0\n\t\t\t? /** @type {Derived} */ (active_reaction)\n\t\t\t: null;\n\n\tif (active_effect === null || (parent_derived !== null && (parent_derived.f & UNOWNED) !== 0)) {\n\t\tflags |= UNOWNED;\n\t} else {\n\t\t// Since deriveds are evaluated lazily, any effects created inside them are\n\t\t// created too late to ensure that the parent effect is added to the tree\n\t\tactive_effect.f |= EFFECT_HAS_DERIVED;\n\t}\n\n\t/** @type {Derived} */\n\tconst signal = {\n\t\tctx: component_context,\n\t\tdeps: null,\n\t\teffects: null,\n\t\tequals,\n\t\tf: flags,\n\t\tfn,\n\t\treactions: null,\n\t\trv: 0,\n\t\tv: /** @type {V} */ (null),\n\t\twv: 0,\n\t\tparent: parent_derived ?? active_effect\n\t};\n\n\tif (DEV && tracing_mode_flag) {\n\t\tsignal.created = get_stack('CreatedAt');\n\t}\n\n\treturn signal;\n}\n\n/**\n * @template V\n * @param {() => V} fn\n * @returns {Derived}\n */\nexport function user_derived(fn) {\n\tconst d = derived(fn);\n\n\tpush_reaction_value(d);\n\n\treturn d;\n}\n\n/**\n * @template V\n * @param {() => V} fn\n * @returns {Derived}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function derived_safe_equal(fn) {\n\tconst signal = derived(fn);\n\tsignal.equals = safe_equals;\n\treturn signal;\n}\n\n/**\n * @param {Derived} derived\n * @returns {void}\n */\nexport function destroy_derived_effects(derived) {\n\tvar effects = derived.effects;\n\n\tif (effects !== null) {\n\t\tderived.effects = null;\n\n\t\tfor (var i = 0; i < effects.length; i += 1) {\n\t\t\tdestroy_effect(/** @type {Effect} */ (effects[i]));\n\t\t}\n\t}\n}\n\n/**\n * The currently updating deriveds, used to detect infinite recursion\n * in dev mode and provide a nicer error than 'too much recursion'\n * @type {Derived[]}\n */\nlet stack = [];\n\n/**\n * @param {Derived} derived\n * @returns {Effect | null}\n */\nfunction get_derived_parent_effect(derived) {\n\tvar parent = derived.parent;\n\twhile (parent !== null) {\n\t\tif ((parent.f & DERIVED) === 0) {\n\t\t\treturn /** @type {Effect} */ (parent);\n\t\t}\n\t\tparent = parent.parent;\n\t}\n\treturn null;\n}\n\n/**\n * @template T\n * @param {Derived} derived\n * @returns {T}\n */\nfunction execute_derived(derived) {\n\tvar value;\n\tvar prev_active_effect = active_effect;\n\n\tset_active_effect(get_derived_parent_effect(derived));\n\n\tif (DEV) {\n\t\tlet prev_inspect_effects = inspect_effects;\n\t\tset_inspect_effects(new Set());\n\t\ttry {\n\t\t\tif (stack.includes(derived)) {\n\t\t\t\te.derived_references_self();\n\t\t\t}\n\n\t\t\tstack.push(derived);\n\n\t\t\tdestroy_derived_effects(derived);\n\t\t\tvalue = update_reaction(derived);\n\t\t} finally {\n\t\t\tset_active_effect(prev_active_effect);\n\t\t\tset_inspect_effects(prev_inspect_effects);\n\t\t\tstack.pop();\n\t\t}\n\t} else {\n\t\ttry {\n\t\t\tdestroy_derived_effects(derived);\n\t\t\tvalue = update_reaction(derived);\n\t\t} finally {\n\t\t\tset_active_effect(prev_active_effect);\n\t\t}\n\t}\n\n\treturn value;\n}\n\n/**\n * @param {Derived} derived\n * @returns {void}\n */\nexport function update_derived(derived) {\n\tvar value = execute_derived(derived);\n\tvar status =\n\t\t(skip_reaction || (derived.f & UNOWNED) !== 0) && derived.deps !== null ? MAYBE_DIRTY : CLEAN;\n\n\tset_signal_status(derived, status);\n\n\tif (!derived.equals(value)) {\n\t\tderived.v = value;\n\t\tderived.wv = increment_write_version();\n\t}\n}\n","/* This file is generated by scripts/process-messages/index.js. Do not edit! */\n\nimport { DEV } from 'esm-env';\n\nvar bold = 'font-weight: bold';\nvar normal = 'font-weight: normal';\n\n/**\n * Assignment to `%property%` property (%location%) will evaluate to the right-hand side, not the value of `%property%` following the assignment. This may result in unexpected behaviour.\n * @param {string} property\n * @param {string} location\n */\nexport function assignment_value_stale(property, location) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] assignment_value_stale\\n%cAssignment to \\`${property}\\` property (${location}) will evaluate to the right-hand side, not the value of \\`${property}\\` following the assignment. This may result in unexpected behaviour.\\nhttps://svelte.dev/e/assignment_value_stale`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/assignment_value_stale`);\n\t}\n}\n\n/**\n * `%binding%` (%location%) is binding to a non-reactive property\n * @param {string} binding\n * @param {string | undefined | null} [location]\n */\nexport function binding_property_non_reactive(binding, location) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] binding_property_non_reactive\\n%c${location ? `\\`${binding}\\` (${location}) is binding to a non-reactive property` : `\\`${binding}\\` is binding to a non-reactive property`}\\nhttps://svelte.dev/e/binding_property_non_reactive`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/binding_property_non_reactive`);\n\t}\n}\n\n/**\n * Your `console.%method%` contained `$state` proxies. Consider using `$inspect(...)` or `$state.snapshot(...)` instead\n * @param {string} method\n */\nexport function console_log_state(method) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] console_log_state\\n%cYour \\`console.${method}\\` contained \\`$state\\` proxies. Consider using \\`$inspect(...)\\` or \\`$state.snapshot(...)\\` instead\\nhttps://svelte.dev/e/console_log_state`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/console_log_state`);\n\t}\n}\n\n/**\n * %handler% should be a function. Did you mean to %suggestion%?\n * @param {string} handler\n * @param {string} suggestion\n */\nexport function event_handler_invalid(handler, suggestion) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] event_handler_invalid\\n%c${handler} should be a function. Did you mean to ${suggestion}?\\nhttps://svelte.dev/e/event_handler_invalid`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/event_handler_invalid`);\n\t}\n}\n\n/**\n * The `%attribute%` attribute on `%html%` changed its value between server and client renders. The client value, `%value%`, will be ignored in favour of the server value\n * @param {string} attribute\n * @param {string} html\n * @param {string} value\n */\nexport function hydration_attribute_changed(attribute, html, value) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] hydration_attribute_changed\\n%cThe \\`${attribute}\\` attribute on \\`${html}\\` changed its value between server and client renders. The client value, \\`${value}\\`, will be ignored in favour of the server value\\nhttps://svelte.dev/e/hydration_attribute_changed`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/hydration_attribute_changed`);\n\t}\n}\n\n/**\n * The value of an `{@html ...}` block %location% changed between server and client renders. The client value will be ignored in favour of the server value\n * @param {string | undefined | null} [location]\n */\nexport function hydration_html_changed(location) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] hydration_html_changed\\n%c${location ? `The value of an \\`{@html ...}\\` block ${location} changed between server and client renders. The client value will be ignored in favour of the server value` : 'The value of an `{@html ...}` block changed between server and client renders. The client value will be ignored in favour of the server value'}\\nhttps://svelte.dev/e/hydration_html_changed`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/hydration_html_changed`);\n\t}\n}\n\n/**\n * Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near %location%\n * @param {string | undefined | null} [location]\n */\nexport function hydration_mismatch(location) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] hydration_mismatch\\n%c${location ? `Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near ${location}` : 'Hydration failed because the initial UI does not match what was rendered on the server'}\\nhttps://svelte.dev/e/hydration_mismatch`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/hydration_mismatch`);\n\t}\n}\n\n/**\n * The `render` function passed to `createRawSnippet` should return HTML for a single element\n */\nexport function invalid_raw_snippet_render() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] invalid_raw_snippet_render\\n%cThe \\`render\\` function passed to \\`createRawSnippet\\` should return HTML for a single element\\nhttps://svelte.dev/e/invalid_raw_snippet_render`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/invalid_raw_snippet_render`);\n\t}\n}\n\n/**\n * Detected a migrated `$:` reactive block in `%filename%` that both accesses and updates the same reactive value. This may cause recursive updates when converted to an `$effect`.\n * @param {string} filename\n */\nexport function legacy_recursive_reactive_block(filename) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] legacy_recursive_reactive_block\\n%cDetected a migrated \\`$:\\` reactive block in \\`${filename}\\` that both accesses and updates the same reactive value. This may cause recursive updates when converted to an \\`$effect\\`.\\nhttps://svelte.dev/e/legacy_recursive_reactive_block`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/legacy_recursive_reactive_block`);\n\t}\n}\n\n/**\n * Tried to unmount a component that was not mounted\n */\nexport function lifecycle_double_unmount() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] lifecycle_double_unmount\\n%cTried to unmount a component that was not mounted\\nhttps://svelte.dev/e/lifecycle_double_unmount`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/lifecycle_double_unmount`);\n\t}\n}\n\n/**\n * %parent% passed a value to %child% with `bind:`, but the value is owned by %owner%. Consider creating a binding between %owner% and %parent%\n * @param {string} parent\n * @param {string} child\n * @param {string} owner\n */\nexport function ownership_invalid_binding(parent, child, owner) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] ownership_invalid_binding\\n%c${parent} passed a value to ${child} with \\`bind:\\`, but the value is owned by ${owner}. Consider creating a binding between ${owner} and ${parent}\\nhttps://svelte.dev/e/ownership_invalid_binding`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/ownership_invalid_binding`);\n\t}\n}\n\n/**\n * %component% mutated a value owned by %owner%. This is strongly discouraged. Consider passing values to child components with `bind:`, or use a callback instead\n * @param {string | undefined | null} [component]\n * @param {string | undefined | null} [owner]\n */\nexport function ownership_invalid_mutation(component, owner) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] ownership_invalid_mutation\\n%c${component ? `${component} mutated a value owned by ${owner}. This is strongly discouraged. Consider passing values to child components with \\`bind:\\`, or use a callback instead` : 'Mutating a value outside the component that created it is strongly discouraged. Consider passing values to child components with `bind:`, or use a callback instead'}\\nhttps://svelte.dev/e/ownership_invalid_mutation`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/ownership_invalid_mutation`);\n\t}\n}\n\n/**\n * Reactive `$state(...)` proxies and the values they proxy have different identities. Because of this, comparisons with `%operator%` will produce unexpected results\n * @param {string} operator\n */\nexport function state_proxy_equality_mismatch(operator) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] state_proxy_equality_mismatch\\n%cReactive \\`$state(...)\\` proxies and the values they proxy have different identities. Because of this, comparisons with \\`${operator}\\` will produce unexpected results\\nhttps://svelte.dev/e/state_proxy_equality_mismatch`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/state_proxy_equality_mismatch`);\n\t}\n}\n\n/**\n * The `slide` transition does not work correctly for elements with `display: %value%`\n * @param {string} value\n */\nexport function transition_slide_display(value) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] transition_slide_display\\n%cThe \\`slide\\` transition does not work correctly for elements with \\`display: ${value}\\`\\nhttps://svelte.dev/e/transition_slide_display`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/transition_slide_display`);\n\t}\n}","/** @import { TemplateNode } from '#client' */\n\nimport {\n\tHYDRATION_END,\n\tHYDRATION_ERROR,\n\tHYDRATION_START,\n\tHYDRATION_START_ELSE\n} from '../../../constants.js';\nimport * as w from '../warnings.js';\nimport { get_next_sibling } from './operations.js';\n\n/**\n * Use this variable to guard everything related to hydration code so it can be treeshaken out\n * if the user doesn't use the `hydrate` method and these code paths are therefore not needed.\n */\nexport let hydrating = false;\n\n/** @param {boolean} value */\nexport function set_hydrating(value) {\n\thydrating = value;\n}\n\n/**\n * The node that is currently being hydrated. This starts out as the first node inside the opening\n * comment, and updates each time a component calls `$.child(...)` or `$.sibling(...)`.\n * When entering a block (e.g. `{#if ...}`), `hydrate_node` is the block opening comment; by the\n * time we leave the block it is the closing comment, which serves as the block's anchor.\n * @type {TemplateNode}\n */\nexport let hydrate_node;\n\n/** @param {TemplateNode} node */\nexport function set_hydrate_node(node) {\n\tif (node === null) {\n\t\tw.hydration_mismatch();\n\t\tthrow HYDRATION_ERROR;\n\t}\n\n\treturn (hydrate_node = node);\n}\n\nexport function hydrate_next() {\n\treturn set_hydrate_node(/** @type {TemplateNode} */ (get_next_sibling(hydrate_node)));\n}\n\n/** @param {TemplateNode} node */\nexport function reset(node) {\n\tif (!hydrating) return;\n\n\t// If the node has remaining siblings, something has gone wrong\n\tif (get_next_sibling(hydrate_node) !== null) {\n\t\tw.hydration_mismatch();\n\t\tthrow HYDRATION_ERROR;\n\t}\n\n\thydrate_node = node;\n}\n\n/**\n * @param {HTMLTemplateElement} template\n */\nexport function hydrate_template(template) {\n\tif (hydrating) {\n\t\t// @ts-expect-error TemplateNode doesn't include DocumentFragment, but it's actually fine\n\t\thydrate_node = template.content;\n\t}\n}\n\nexport function next(count = 1) {\n\tif (hydrating) {\n\t\tvar i = count;\n\t\tvar node = hydrate_node;\n\n\t\twhile (i--) {\n\t\t\tnode = /** @type {TemplateNode} */ (get_next_sibling(node));\n\t\t}\n\n\t\thydrate_node = node;\n\t}\n}\n\n/**\n * Removes all nodes starting at `hydrate_node` up until the next hydration end comment\n */\nexport function remove_nodes() {\n\tvar depth = 0;\n\tvar node = hydrate_node;\n\n\twhile (true) {\n\t\tif (node.nodeType === 8) {\n\t\t\tvar data = /** @type {Comment} */ (node).data;\n\n\t\t\tif (data === HYDRATION_END) {\n\t\t\t\tif (depth === 0) return node;\n\t\t\t\tdepth -= 1;\n\t\t\t} else if (data === HYDRATION_START || data === HYDRATION_START_ELSE) {\n\t\t\t\tdepth += 1;\n\t\t\t}\n\t\t}\n\n\t\tvar next = /** @type {TemplateNode} */ (get_next_sibling(node));\n\t\tnode.remove();\n\t\tnode = next;\n\t}\n}\n","/** @import { TemplateNode } from '#client' */\nimport { hydrate_node, hydrating, set_hydrate_node } from './hydration.js';\nimport { DEV } from 'esm-env';\nimport { init_array_prototype_warnings } from '../dev/equality.js';\nimport { get_descriptor, is_extensible } from '../../shared/utils.js';\n\n// export these for reference in the compiled code, making global name deduplication unnecessary\n/** @type {Window} */\nexport var $window;\n\n/** @type {Document} */\nexport var $document;\n\n/** @type {boolean} */\nexport var is_firefox;\n\n/** @type {() => Node | null} */\nvar first_child_getter;\n/** @type {() => Node | null} */\nvar next_sibling_getter;\n\n/**\n * Initialize these lazily to avoid issues when using the runtime in a server context\n * where these globals are not available while avoiding a separate server entry point\n */\nexport function init_operations() {\n\tif ($window !== undefined) {\n\t\treturn;\n\t}\n\n\t$window = window;\n\t$document = document;\n\tis_firefox = /Firefox/.test(navigator.userAgent);\n\n\tvar element_prototype = Element.prototype;\n\tvar node_prototype = Node.prototype;\n\tvar text_prototype = Text.prototype;\n\n\t// @ts-ignore\n\tfirst_child_getter = get_descriptor(node_prototype, 'firstChild').get;\n\t// @ts-ignore\n\tnext_sibling_getter = get_descriptor(node_prototype, 'nextSibling').get;\n\n\tif (is_extensible(element_prototype)) {\n\t\t// the following assignments improve perf of lookups on DOM nodes\n\t\t// @ts-expect-error\n\t\telement_prototype.__click = undefined;\n\t\t// @ts-expect-error\n\t\telement_prototype.__className = undefined;\n\t\t// @ts-expect-error\n\t\telement_prototype.__attributes = null;\n\t\t// @ts-expect-error\n\t\telement_prototype.__style = undefined;\n\t\t// @ts-expect-error\n\t\telement_prototype.__e = undefined;\n\t}\n\n\tif (is_extensible(text_prototype)) {\n\t\t// @ts-expect-error\n\t\ttext_prototype.__t = undefined;\n\t}\n\n\tif (DEV) {\n\t\t// @ts-expect-error\n\t\telement_prototype.__svelte_meta = null;\n\n\t\tinit_array_prototype_warnings();\n\t}\n}\n\n/**\n * @param {string} value\n * @returns {Text}\n */\nexport function create_text(value = '') {\n\treturn document.createTextNode(value);\n}\n\n/**\n * @template {Node} N\n * @param {N} node\n * @returns {Node | null}\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function get_first_child(node) {\n\treturn first_child_getter.call(node);\n}\n\n/**\n * @template {Node} N\n * @param {N} node\n * @returns {Node | null}\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function get_next_sibling(node) {\n\treturn next_sibling_getter.call(node);\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @template {Node} N\n * @param {N} node\n * @param {boolean} is_text\n * @returns {Node | null}\n */\nexport function child(node, is_text) {\n\tif (!hydrating) {\n\t\treturn get_first_child(node);\n\t}\n\n\tvar child = /** @type {TemplateNode} */ (get_first_child(hydrate_node));\n\n\t// Child can be null if we have an element with a single child, like `

{text}

`, where `text` is empty\n\tif (child === null) {\n\t\tchild = hydrate_node.appendChild(create_text());\n\t} else if (is_text && child.nodeType !== 3) {\n\t\tvar text = create_text();\n\t\tchild?.before(text);\n\t\tset_hydrate_node(text);\n\t\treturn text;\n\t}\n\n\tset_hydrate_node(child);\n\treturn child;\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @param {DocumentFragment | TemplateNode[]} fragment\n * @param {boolean} is_text\n * @returns {Node | null}\n */\nexport function first_child(fragment, is_text) {\n\tif (!hydrating) {\n\t\t// when not hydrating, `fragment` is a `DocumentFragment` (the result of calling `open_frag`)\n\t\tvar first = /** @type {DocumentFragment} */ (get_first_child(/** @type {Node} */ (fragment)));\n\n\t\t// TODO prevent user comments with the empty string when preserveComments is true\n\t\tif (first instanceof Comment && first.data === '') return get_next_sibling(first);\n\n\t\treturn first;\n\t}\n\n\t// if an {expression} is empty during SSR, there might be no\n\t// text node to hydrate — we must therefore create one\n\tif (is_text && hydrate_node?.nodeType !== 3) {\n\t\tvar text = create_text();\n\n\t\thydrate_node?.before(text);\n\t\tset_hydrate_node(text);\n\t\treturn text;\n\t}\n\n\treturn hydrate_node;\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @param {TemplateNode} node\n * @param {number} count\n * @param {boolean} is_text\n * @returns {Node | null}\n */\nexport function sibling(node, count = 1, is_text = false) {\n\tlet next_sibling = hydrating ? hydrate_node : node;\n\tvar last_sibling;\n\n\twhile (count--) {\n\t\tlast_sibling = next_sibling;\n\t\tnext_sibling = /** @type {TemplateNode} */ (get_next_sibling(next_sibling));\n\t}\n\n\tif (!hydrating) {\n\t\treturn next_sibling;\n\t}\n\n\tvar type = next_sibling?.nodeType;\n\n\t// if a sibling {expression} is empty during SSR, there might be no\n\t// text node to hydrate — we must therefore create one\n\tif (is_text && type !== 3) {\n\t\tvar text = create_text();\n\t\t// If the next sibling is `null` and we're handling text then it's because\n\t\t// the SSR content was empty for the text, so we need to generate a new text\n\t\t// node and insert it after the last sibling\n\t\tif (next_sibling === null) {\n\t\t\tlast_sibling?.after(text);\n\t\t} else {\n\t\t\tnext_sibling.before(text);\n\t\t}\n\t\tset_hydrate_node(text);\n\t\treturn text;\n\t}\n\n\tset_hydrate_node(next_sibling);\n\treturn /** @type {TemplateNode} */ (next_sibling);\n}\n\n/**\n * @template {Node} N\n * @param {N} node\n * @returns {void}\n */\nexport function clear_text_content(node) {\n\tnode.textContent = '';\n}\n","/** @import { ComponentContext, Derived, Effect, Reaction, Signal, Source, Value } from '#client' */\nimport { DEV } from 'esm-env';\nimport { define_property, get_descriptors, get_prototype_of, index_of } from '../shared/utils.js';\nimport {\n\tdestroy_block_effect_children,\n\tdestroy_effect_children,\n\texecute_effect_teardown,\n\tunlink_effect\n} from './reactivity/effects.js';\nimport {\n\tEFFECT,\n\tDIRTY,\n\tMAYBE_DIRTY,\n\tCLEAN,\n\tDERIVED,\n\tUNOWNED,\n\tDESTROYED,\n\tINERT,\n\tBRANCH_EFFECT,\n\tSTATE_SYMBOL,\n\tBLOCK_EFFECT,\n\tROOT_EFFECT,\n\tLEGACY_DERIVED_PROP,\n\tDISCONNECTED,\n\tBOUNDARY_EFFECT,\n\tEFFECT_IS_UPDATING\n} from './constants.js';\nimport { flush_tasks } from './dom/task.js';\nimport { internal_set, old_values } from './reactivity/sources.js';\nimport { destroy_derived_effects, update_derived } from './reactivity/deriveds.js';\nimport * as e from './errors.js';\nimport { FILENAME } from '../../constants.js';\nimport { tracing_mode_flag } from '../flags/index.js';\nimport { tracing_expressions, get_stack } from './dev/tracing.js';\nimport {\n\tcomponent_context,\n\tdev_current_component_function,\n\tis_runes,\n\tset_component_context,\n\tset_dev_current_component_function\n} from './context.js';\nimport { is_firefox } from './dom/operations.js';\n\n// Used for DEV time error handling\n/** @param {WeakSet} value */\nconst handled_errors = new WeakSet();\nlet is_throwing_error = false;\n\nlet is_flushing = false;\n\n/** @type {Effect | null} */\nlet last_scheduled_effect = null;\n\nlet is_updating_effect = false;\n\nexport let is_destroying_effect = false;\n\n/** @param {boolean} value */\nexport function set_is_destroying_effect(value) {\n\tis_destroying_effect = value;\n}\n\n// Handle effect queues\n\n/** @type {Effect[]} */\nlet queued_root_effects = [];\n\n/** @type {Effect[]} Stack of effects, dev only */\nlet dev_effect_stack = [];\n// Handle signal reactivity tree dependencies and reactions\n\n/** @type {null | Reaction} */\nexport let active_reaction = null;\n\nexport let untracking = false;\n\n/** @param {null | Reaction} reaction */\nexport function set_active_reaction(reaction) {\n\tactive_reaction = reaction;\n}\n\n/** @type {null | Effect} */\nexport let active_effect = null;\n\n/** @param {null | Effect} effect */\nexport function set_active_effect(effect) {\n\tactive_effect = effect;\n}\n\n/**\n * When sources are created within a reaction, reading and writing\n * them should not cause a re-run\n * @type {null | Source[]}\n */\nexport let reaction_sources = null;\n\n/**\n * @param {Source[] | null} sources\n */\nexport function set_reaction_sources(sources) {\n\treaction_sources = sources;\n}\n\n/** @param {Value} value */\nexport function push_reaction_value(value) {\n\tif (active_reaction !== null && active_reaction.f & EFFECT_IS_UPDATING) {\n\t\tif (reaction_sources === null) {\n\t\t\tset_reaction_sources([value]);\n\t\t} else {\n\t\t\treaction_sources.push(value);\n\t\t}\n\t}\n}\n\n/**\n * The dependencies of the reaction that is currently being executed. In many cases,\n * the dependencies are unchanged between runs, and so this will be `null` unless\n * and until a new dependency is accessed — we track this via `skipped_deps`\n * @type {null | Value[]}\n */\nlet new_deps = null;\n\nlet skipped_deps = 0;\n\n/**\n * Tracks writes that the effect it's executed in doesn't listen to yet,\n * so that the dependency can be added to the effect later on if it then reads it\n * @type {null | Source[]}\n */\nexport let untracked_writes = null;\n\n/** @param {null | Source[]} value */\nexport function set_untracked_writes(value) {\n\tuntracked_writes = value;\n}\n\n/**\n * @type {number} Used by sources and deriveds for handling updates.\n * Version starts from 1 so that unowned deriveds differentiate between a created effect and a run one for tracing\n **/\nlet write_version = 1;\n\n/** @type {number} Used to version each read of a source of derived to avoid duplicating depedencies inside a reaction */\nlet read_version = 0;\n\n// If we are working with a get() chain that has no active container,\n// to prevent memory leaks, we skip adding the reaction.\nexport let skip_reaction = false;\n// Handle collecting all signals which are read during a specific time frame\n/** @type {Set | null} */\nexport let captured_signals = null;\n\n/** @param {Set | null} value */\nexport function set_captured_signals(value) {\n\tcaptured_signals = value;\n}\n\nexport function increment_write_version() {\n\treturn ++write_version;\n}\n\n/**\n * Determines whether a derived or effect is dirty.\n * If it is MAYBE_DIRTY, will set the status to CLEAN\n * @param {Reaction} reaction\n * @returns {boolean}\n */\nexport function check_dirtiness(reaction) {\n\tvar flags = reaction.f;\n\n\tif ((flags & DIRTY) !== 0) {\n\t\treturn true;\n\t}\n\n\tif ((flags & MAYBE_DIRTY) !== 0) {\n\t\tvar dependencies = reaction.deps;\n\t\tvar is_unowned = (flags & UNOWNED) !== 0;\n\n\t\tif (dependencies !== null) {\n\t\t\tvar i;\n\t\t\tvar dependency;\n\t\t\tvar is_disconnected = (flags & DISCONNECTED) !== 0;\n\t\t\tvar is_unowned_connected = is_unowned && active_effect !== null && !skip_reaction;\n\t\t\tvar length = dependencies.length;\n\n\t\t\t// If we are working with a disconnected or an unowned signal that is now connected (due to an active effect)\n\t\t\t// then we need to re-connect the reaction to the dependency\n\t\t\tif (is_disconnected || is_unowned_connected) {\n\t\t\t\tvar derived = /** @type {Derived} */ (reaction);\n\t\t\t\tvar parent = derived.parent;\n\n\t\t\t\tfor (i = 0; i < length; i++) {\n\t\t\t\t\tdependency = dependencies[i];\n\n\t\t\t\t\t// We always re-add all reactions (even duplicates) if the derived was\n\t\t\t\t\t// previously disconnected, however we don't if it was unowned as we\n\t\t\t\t\t// de-duplicate dependencies in that case\n\t\t\t\t\tif (is_disconnected || !dependency?.reactions?.includes(derived)) {\n\t\t\t\t\t\t(dependency.reactions ??= []).push(derived);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (is_disconnected) {\n\t\t\t\t\tderived.f ^= DISCONNECTED;\n\t\t\t\t}\n\t\t\t\t// If the unowned derived is now fully connected to the graph again (it's unowned and reconnected, has a parent\n\t\t\t\t// and the parent is not unowned), then we can mark it as connected again, removing the need for the unowned\n\t\t\t\t// flag\n\t\t\t\tif (is_unowned_connected && parent !== null && (parent.f & UNOWNED) === 0) {\n\t\t\t\t\tderived.f ^= UNOWNED;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (i = 0; i < length; i++) {\n\t\t\t\tdependency = dependencies[i];\n\n\t\t\t\tif (check_dirtiness(/** @type {Derived} */ (dependency))) {\n\t\t\t\t\tupdate_derived(/** @type {Derived} */ (dependency));\n\t\t\t\t}\n\n\t\t\t\tif (dependency.wv > reaction.wv) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Unowned signals should never be marked as clean unless they\n\t\t// are used within an active_effect without skip_reaction\n\t\tif (!is_unowned || (active_effect !== null && !skip_reaction)) {\n\t\t\tset_signal_status(reaction, CLEAN);\n\t\t}\n\t}\n\n\treturn false;\n}\n\n/**\n * @param {unknown} error\n * @param {Effect} effect\n */\nfunction propagate_error(error, effect) {\n\t/** @type {Effect | null} */\n\tvar current = effect;\n\n\twhile (current !== null) {\n\t\tif ((current.f & BOUNDARY_EFFECT) !== 0) {\n\t\t\ttry {\n\t\t\t\t// @ts-expect-error\n\t\t\t\tcurrent.fn(error);\n\t\t\t\treturn;\n\t\t\t} catch {\n\t\t\t\t// Remove boundary flag from effect\n\t\t\t\tcurrent.f ^= BOUNDARY_EFFECT;\n\t\t\t}\n\t\t}\n\n\t\tcurrent = current.parent;\n\t}\n\n\tis_throwing_error = false;\n\tthrow error;\n}\n\n/**\n * @param {Effect} effect\n */\nfunction should_rethrow_error(effect) {\n\treturn (\n\t\t(effect.f & DESTROYED) === 0 &&\n\t\t(effect.parent === null || (effect.parent.f & BOUNDARY_EFFECT) === 0)\n\t);\n}\n\nexport function reset_is_throwing_error() {\n\tis_throwing_error = false;\n}\n\n/**\n * @param {unknown} error\n * @param {Effect} effect\n * @param {Effect | null} previous_effect\n * @param {ComponentContext | null} component_context\n */\nexport function handle_error(error, effect, previous_effect, component_context) {\n\tif (is_throwing_error) {\n\t\tif (previous_effect === null) {\n\t\t\tis_throwing_error = false;\n\t\t}\n\n\t\tif (should_rethrow_error(effect)) {\n\t\t\tthrow error;\n\t\t}\n\n\t\treturn;\n\t}\n\n\tif (previous_effect !== null) {\n\t\tis_throwing_error = true;\n\t}\n\n\tif (\n\t\t!DEV ||\n\t\tcomponent_context === null ||\n\t\t!(error instanceof Error) ||\n\t\thandled_errors.has(error)\n\t) {\n\t\tpropagate_error(error, effect);\n\t\treturn;\n\t}\n\n\thandled_errors.add(error);\n\n\tconst component_stack = [];\n\n\tconst effect_name = effect.fn?.name;\n\n\tif (effect_name) {\n\t\tcomponent_stack.push(effect_name);\n\t}\n\n\t/** @type {ComponentContext | null} */\n\tlet current_context = component_context;\n\n\twhile (current_context !== null) {\n\t\tif (DEV) {\n\t\t\t/** @type {string} */\n\t\t\tvar filename = current_context.function?.[FILENAME];\n\n\t\t\tif (filename) {\n\t\t\t\tconst file = filename.split('/').pop();\n\t\t\t\tcomponent_stack.push(file);\n\t\t\t}\n\t\t}\n\n\t\tcurrent_context = current_context.p;\n\t}\n\n\tconst indent = is_firefox ? ' ' : '\\t';\n\tdefine_property(error, 'message', {\n\t\tvalue: error.message + `\\n${component_stack.map((name) => `\\n${indent}in ${name}`).join('')}\\n`\n\t});\n\tdefine_property(error, 'component_stack', {\n\t\tvalue: component_stack\n\t});\n\n\tconst stack = error.stack;\n\n\t// Filter out internal files from callstack\n\tif (stack) {\n\t\tconst lines = stack.split('\\n');\n\t\tconst new_lines = [];\n\t\tfor (let i = 0; i < lines.length; i++) {\n\t\t\tconst line = lines[i];\n\t\t\tif (line.includes('svelte/src/internal')) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tnew_lines.push(line);\n\t\t}\n\t\tdefine_property(error, 'stack', {\n\t\t\tvalue: new_lines.join('\\n')\n\t\t});\n\t}\n\n\tpropagate_error(error, effect);\n\n\tif (should_rethrow_error(effect)) {\n\t\tthrow error;\n\t}\n}\n\n/**\n * @param {Value} signal\n * @param {Effect} effect\n * @param {boolean} [root]\n */\nfunction schedule_possible_effect_self_invalidation(signal, effect, root = true) {\n\tvar reactions = signal.reactions;\n\tif (reactions === null) return;\n\n\tfor (var i = 0; i < reactions.length; i++) {\n\t\tvar reaction = reactions[i];\n\n\t\tif (reaction_sources?.includes(signal)) continue;\n\n\t\tif ((reaction.f & DERIVED) !== 0) {\n\t\t\tschedule_possible_effect_self_invalidation(/** @type {Derived} */ (reaction), effect, false);\n\t\t} else if (effect === reaction) {\n\t\t\tif (root) {\n\t\t\t\tset_signal_status(reaction, DIRTY);\n\t\t\t} else if ((reaction.f & CLEAN) !== 0) {\n\t\t\t\tset_signal_status(reaction, MAYBE_DIRTY);\n\t\t\t}\n\t\t\tschedule_effect(/** @type {Effect} */ (reaction));\n\t\t}\n\t}\n}\n\n/**\n * @template V\n * @param {Reaction} reaction\n * @returns {V}\n */\nexport function update_reaction(reaction) {\n\tvar previous_deps = new_deps;\n\tvar previous_skipped_deps = skipped_deps;\n\tvar previous_untracked_writes = untracked_writes;\n\tvar previous_reaction = active_reaction;\n\tvar previous_skip_reaction = skip_reaction;\n\tvar previous_reaction_sources = reaction_sources;\n\tvar previous_component_context = component_context;\n\tvar previous_untracking = untracking;\n\n\tvar flags = reaction.f;\n\n\tnew_deps = /** @type {null | Value[]} */ (null);\n\tskipped_deps = 0;\n\tuntracked_writes = null;\n\tskip_reaction =\n\t\t(flags & UNOWNED) !== 0 && (untracking || !is_updating_effect || active_reaction === null);\n\tactive_reaction = (flags & (BRANCH_EFFECT | ROOT_EFFECT)) === 0 ? reaction : null;\n\n\treaction_sources = null;\n\tset_component_context(reaction.ctx);\n\tuntracking = false;\n\tread_version++;\n\n\treaction.f |= EFFECT_IS_UPDATING;\n\n\ttry {\n\t\tvar result = /** @type {Function} */ (0, reaction.fn)();\n\t\tvar deps = reaction.deps;\n\n\t\tif (new_deps !== null) {\n\t\t\tvar i;\n\n\t\t\tremove_reactions(reaction, skipped_deps);\n\n\t\t\tif (deps !== null && skipped_deps > 0) {\n\t\t\t\tdeps.length = skipped_deps + new_deps.length;\n\t\t\t\tfor (i = 0; i < new_deps.length; i++) {\n\t\t\t\t\tdeps[skipped_deps + i] = new_deps[i];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treaction.deps = deps = new_deps;\n\t\t\t}\n\n\t\t\tif (!skip_reaction) {\n\t\t\t\tfor (i = skipped_deps; i < deps.length; i++) {\n\t\t\t\t\t(deps[i].reactions ??= []).push(reaction);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (deps !== null && skipped_deps < deps.length) {\n\t\t\tremove_reactions(reaction, skipped_deps);\n\t\t\tdeps.length = skipped_deps;\n\t\t}\n\n\t\t// If we're inside an effect and we have untracked writes, then we need to\n\t\t// ensure that if any of those untracked writes result in re-invalidation\n\t\t// of the current effect, then that happens accordingly\n\t\tif (\n\t\t\tis_runes() &&\n\t\t\tuntracked_writes !== null &&\n\t\t\t!untracking &&\n\t\t\tdeps !== null &&\n\t\t\t(reaction.f & (DERIVED | MAYBE_DIRTY | DIRTY)) === 0\n\t\t) {\n\t\t\tfor (i = 0; i < /** @type {Source[]} */ (untracked_writes).length; i++) {\n\t\t\t\tschedule_possible_effect_self_invalidation(\n\t\t\t\t\tuntracked_writes[i],\n\t\t\t\t\t/** @type {Effect} */ (reaction)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t// If we are returning to an previous reaction then\n\t\t// we need to increment the read version to ensure that\n\t\t// any dependencies in this reaction aren't marked with\n\t\t// the same version\n\t\tif (previous_reaction !== null) {\n\t\t\tread_version++;\n\n\t\t\tif (untracked_writes !== null) {\n\t\t\t\tif (previous_untracked_writes === null) {\n\t\t\t\t\tprevious_untracked_writes = untracked_writes;\n\t\t\t\t} else {\n\t\t\t\t\tprevious_untracked_writes.push(.../** @type {Source[]} */ (untracked_writes));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t} finally {\n\t\tnew_deps = previous_deps;\n\t\tskipped_deps = previous_skipped_deps;\n\t\tuntracked_writes = previous_untracked_writes;\n\t\tactive_reaction = previous_reaction;\n\t\tskip_reaction = previous_skip_reaction;\n\t\treaction_sources = previous_reaction_sources;\n\t\tset_component_context(previous_component_context);\n\t\tuntracking = previous_untracking;\n\n\t\treaction.f ^= EFFECT_IS_UPDATING;\n\t}\n}\n\n/**\n * @template V\n * @param {Reaction} signal\n * @param {Value} dependency\n * @returns {void}\n */\nfunction remove_reaction(signal, dependency) {\n\tlet reactions = dependency.reactions;\n\tif (reactions !== null) {\n\t\tvar index = index_of.call(reactions, signal);\n\t\tif (index !== -1) {\n\t\t\tvar new_length = reactions.length - 1;\n\t\t\tif (new_length === 0) {\n\t\t\t\treactions = dependency.reactions = null;\n\t\t\t} else {\n\t\t\t\t// Swap with last element and then remove.\n\t\t\t\treactions[index] = reactions[new_length];\n\t\t\t\treactions.pop();\n\t\t\t}\n\t\t}\n\t}\n\t// If the derived has no reactions, then we can disconnect it from the graph,\n\t// allowing it to either reconnect in the future, or be GC'd by the VM.\n\tif (\n\t\treactions === null &&\n\t\t(dependency.f & DERIVED) !== 0 &&\n\t\t// Destroying a child effect while updating a parent effect can cause a dependency to appear\n\t\t// to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps`\n\t\t// allows us to skip the expensive work of disconnecting and immediately reconnecting it\n\t\t(new_deps === null || !new_deps.includes(dependency))\n\t) {\n\t\tset_signal_status(dependency, MAYBE_DIRTY);\n\t\t// If we are working with a derived that is owned by an effect, then mark it as being\n\t\t// disconnected.\n\t\tif ((dependency.f & (UNOWNED | DISCONNECTED)) === 0) {\n\t\t\tdependency.f ^= DISCONNECTED;\n\t\t}\n\t\t// Disconnect any reactions owned by this reaction\n\t\tdestroy_derived_effects(/** @type {Derived} **/ (dependency));\n\t\tremove_reactions(/** @type {Derived} **/ (dependency), 0);\n\t}\n}\n\n/**\n * @param {Reaction} signal\n * @param {number} start_index\n * @returns {void}\n */\nexport function remove_reactions(signal, start_index) {\n\tvar dependencies = signal.deps;\n\tif (dependencies === null) return;\n\n\tfor (var i = start_index; i < dependencies.length; i++) {\n\t\tremove_reaction(signal, dependencies[i]);\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @returns {void}\n */\nexport function update_effect(effect) {\n\tvar flags = effect.f;\n\n\tif ((flags & DESTROYED) !== 0) {\n\t\treturn;\n\t}\n\n\tset_signal_status(effect, CLEAN);\n\n\tvar previous_effect = active_effect;\n\tvar previous_component_context = component_context;\n\tvar was_updating_effect = is_updating_effect;\n\n\tactive_effect = effect;\n\tis_updating_effect = true;\n\n\tif (DEV) {\n\t\tvar previous_component_fn = dev_current_component_function;\n\t\tset_dev_current_component_function(effect.component_function);\n\t}\n\n\ttry {\n\t\tif ((flags & BLOCK_EFFECT) !== 0) {\n\t\t\tdestroy_block_effect_children(effect);\n\t\t} else {\n\t\t\tdestroy_effect_children(effect);\n\t\t}\n\n\t\texecute_effect_teardown(effect);\n\t\tvar teardown = update_reaction(effect);\n\t\teffect.teardown = typeof teardown === 'function' ? teardown : null;\n\t\teffect.wv = write_version;\n\n\t\tvar deps = effect.deps;\n\n\t\t// In DEV, we need to handle a case where $inspect.trace() might\n\t\t// incorrectly state a source dependency has not changed when it has.\n\t\t// That's beacuse that source was changed by the same effect, causing\n\t\t// the versions to match. We can avoid this by incrementing the version\n\t\tif (DEV && tracing_mode_flag && (effect.f & DIRTY) !== 0 && deps !== null) {\n\t\t\tfor (let i = 0; i < deps.length; i++) {\n\t\t\t\tvar dep = deps[i];\n\t\t\t\tif (dep.trace_need_increase) {\n\t\t\t\t\tdep.wv = increment_write_version();\n\t\t\t\t\tdep.trace_need_increase = undefined;\n\t\t\t\t\tdep.trace_v = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (DEV) {\n\t\t\tdev_effect_stack.push(effect);\n\t\t}\n\t} catch (error) {\n\t\thandle_error(error, effect, previous_effect, previous_component_context || effect.ctx);\n\t} finally {\n\t\tis_updating_effect = was_updating_effect;\n\t\tactive_effect = previous_effect;\n\n\t\tif (DEV) {\n\t\t\tset_dev_current_component_function(previous_component_fn);\n\t\t}\n\t}\n}\n\nfunction log_effect_stack() {\n\t// eslint-disable-next-line no-console\n\tconsole.error(\n\t\t'Last ten effects were: ',\n\t\tdev_effect_stack.slice(-10).map((d) => d.fn)\n\t);\n\tdev_effect_stack = [];\n}\n\nfunction infinite_loop_guard() {\n\ttry {\n\t\te.effect_update_depth_exceeded();\n\t} catch (error) {\n\t\tif (DEV) {\n\t\t\t// stack is garbage, ignore. Instead add a console.error message.\n\t\t\tdefine_property(error, 'stack', {\n\t\t\t\tvalue: ''\n\t\t\t});\n\t\t}\n\t\t// Try and handle the error so it can be caught at a boundary, that's\n\t\t// if there's an effect available from when it was last scheduled\n\t\tif (last_scheduled_effect !== null) {\n\t\t\tif (DEV) {\n\t\t\t\ttry {\n\t\t\t\t\thandle_error(error, last_scheduled_effect, null, null);\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// Only log the effect stack if the error is re-thrown\n\t\t\t\t\tlog_effect_stack();\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\thandle_error(error, last_scheduled_effect, null, null);\n\t\t\t}\n\t\t} else {\n\t\t\tif (DEV) {\n\t\t\t\tlog_effect_stack();\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t}\n}\n\nfunction flush_queued_root_effects() {\n\tvar was_updating_effect = is_updating_effect;\n\n\ttry {\n\t\tvar flush_count = 0;\n\t\tis_updating_effect = true;\n\n\t\twhile (queued_root_effects.length > 0) {\n\t\t\tif (flush_count++ > 1000) {\n\t\t\t\tinfinite_loop_guard();\n\t\t\t}\n\n\t\t\tvar root_effects = queued_root_effects;\n\t\t\tvar length = root_effects.length;\n\n\t\t\tqueued_root_effects = [];\n\n\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\tvar collected_effects = process_effects(root_effects[i]);\n\t\t\t\tflush_queued_effects(collected_effects);\n\t\t\t}\n\t\t}\n\t} finally {\n\t\tis_flushing = false;\n\t\tis_updating_effect = was_updating_effect;\n\n\t\tlast_scheduled_effect = null;\n\t\tif (DEV) {\n\t\t\tdev_effect_stack = [];\n\t\t}\n\t\told_values.clear();\n\t}\n}\n\n/**\n * @param {Array} effects\n * @returns {void}\n */\nfunction flush_queued_effects(effects) {\n\tvar length = effects.length;\n\tif (length === 0) return;\n\n\tfor (var i = 0; i < length; i++) {\n\t\tvar effect = effects[i];\n\n\t\tif ((effect.f & (DESTROYED | INERT)) === 0) {\n\t\t\ttry {\n\t\t\t\tif (check_dirtiness(effect)) {\n\t\t\t\t\tupdate_effect(effect);\n\n\t\t\t\t\t// Effects with no dependencies or teardown do not get added to the effect tree.\n\t\t\t\t\t// Deferred effects (e.g. `$effect(...)`) _are_ added to the tree because we\n\t\t\t\t\t// don't know if we need to keep them until they are executed. Doing the check\n\t\t\t\t\t// here (rather than in `update_effect`) allows us to skip the work for\n\t\t\t\t\t// immediate effects.\n\t\t\t\t\tif (effect.deps === null && effect.first === null && effect.nodes_start === null) {\n\t\t\t\t\t\tif (effect.teardown === null) {\n\t\t\t\t\t\t\t// remove this effect from the graph\n\t\t\t\t\t\t\tunlink_effect(effect);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// keep the effect in the graph, but free up some memory\n\t\t\t\t\t\t\teffect.fn = null;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\thandle_error(error, effect, null, effect.ctx);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * @param {Effect} signal\n * @returns {void}\n */\nexport function schedule_effect(signal) {\n\tif (!is_flushing) {\n\t\tis_flushing = true;\n\t\tqueueMicrotask(flush_queued_root_effects);\n\t}\n\n\tvar effect = (last_scheduled_effect = signal);\n\n\twhile (effect.parent !== null) {\n\t\teffect = effect.parent;\n\t\tvar flags = effect.f;\n\n\t\tif ((flags & (ROOT_EFFECT | BRANCH_EFFECT)) !== 0) {\n\t\t\tif ((flags & CLEAN) === 0) return;\n\t\t\teffect.f ^= CLEAN;\n\t\t}\n\t}\n\n\tqueued_root_effects.push(effect);\n}\n\n/**\n *\n * This function both runs render effects and collects user effects in topological order\n * from the starting effect passed in. Effects will be collected when they match the filtered\n * bitwise flag passed in only. The collected effects array will be populated with all the user\n * effects to be flushed.\n *\n * @param {Effect} root\n * @returns {Effect[]}\n */\nfunction process_effects(root) {\n\t/** @type {Effect[]} */\n\tvar effects = [];\n\n\t/** @type {Effect | null} */\n\tvar effect = root;\n\n\twhile (effect !== null) {\n\t\tvar flags = effect.f;\n\t\tvar is_branch = (flags & (BRANCH_EFFECT | ROOT_EFFECT)) !== 0;\n\t\tvar is_skippable_branch = is_branch && (flags & CLEAN) !== 0;\n\n\t\tif (!is_skippable_branch && (flags & INERT) === 0) {\n\t\t\tif ((flags & EFFECT) !== 0) {\n\t\t\t\teffects.push(effect);\n\t\t\t} else if (is_branch) {\n\t\t\t\teffect.f ^= CLEAN;\n\t\t\t} else {\n\t\t\t\t// Ensure we set the effect to be the active reaction\n\t\t\t\t// to ensure that unowned deriveds are correctly tracked\n\t\t\t\t// because we're flushing the current effect\n\t\t\t\tvar previous_active_reaction = active_reaction;\n\t\t\t\ttry {\n\t\t\t\t\tactive_reaction = effect;\n\t\t\t\t\tif (check_dirtiness(effect)) {\n\t\t\t\t\t\tupdate_effect(effect);\n\t\t\t\t\t}\n\t\t\t\t} catch (error) {\n\t\t\t\t\thandle_error(error, effect, null, effect.ctx);\n\t\t\t\t} finally {\n\t\t\t\t\tactive_reaction = previous_active_reaction;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/** @type {Effect | null} */\n\t\t\tvar child = effect.first;\n\n\t\t\tif (child !== null) {\n\t\t\t\teffect = child;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tvar parent = effect.parent;\n\t\teffect = effect.next;\n\n\t\twhile (effect === null && parent !== null) {\n\t\t\teffect = parent.next;\n\t\t\tparent = parent.parent;\n\t\t}\n\t}\n\n\treturn effects;\n}\n\n/**\n * Synchronously flush any pending updates.\n * Returns void if no callback is provided, otherwise returns the result of calling the callback.\n * @template [T=void]\n * @param {(() => T) | undefined} [fn]\n * @returns {T}\n */\nexport function flushSync(fn) {\n\tvar result;\n\n\tif (fn) {\n\t\tis_flushing = true;\n\t\tflush_queued_root_effects();\n\t\tresult = fn();\n\t}\n\n\tflush_tasks();\n\n\twhile (queued_root_effects.length > 0) {\n\t\tis_flushing = true;\n\t\tflush_queued_root_effects();\n\t\tflush_tasks();\n\t}\n\n\treturn /** @type {T} */ (result);\n}\n\n/**\n * Returns a promise that resolves once any pending state changes have been applied.\n * @returns {Promise}\n */\nexport async function tick() {\n\tawait Promise.resolve();\n\t// By calling flushSync we guarantee that any pending state changes are applied after one tick.\n\t// TODO look into whether we can make flushing subsequent updates synchronously in the future.\n\tflushSync();\n}\n\n/**\n * @template V\n * @param {Value} signal\n * @returns {V}\n */\nexport function get(signal) {\n\tvar flags = signal.f;\n\tvar is_derived = (flags & DERIVED) !== 0;\n\n\tif (captured_signals !== null) {\n\t\tcaptured_signals.add(signal);\n\t}\n\n\t// Register the dependency on the current reaction signal.\n\tif (active_reaction !== null && !untracking) {\n\t\tif (!reaction_sources?.includes(signal)) {\n\t\t\tvar deps = active_reaction.deps;\n\t\t\tif (signal.rv < read_version) {\n\t\t\t\tsignal.rv = read_version;\n\t\t\t\t// If the signal is accessing the same dependencies in the same\n\t\t\t\t// order as it did last time, increment `skipped_deps`\n\t\t\t\t// rather than updating `new_deps`, which creates GC cost\n\t\t\t\tif (new_deps === null && deps !== null && deps[skipped_deps] === signal) {\n\t\t\t\t\tskipped_deps++;\n\t\t\t\t} else if (new_deps === null) {\n\t\t\t\t\tnew_deps = [signal];\n\t\t\t\t} else if (!skip_reaction || !new_deps.includes(signal)) {\n\t\t\t\t\t// Normally we can push duplicated dependencies to `new_deps`, but if we're inside\n\t\t\t\t\t// an unowned derived because skip_reaction is true, then we need to ensure that\n\t\t\t\t\t// we don't have duplicates\n\t\t\t\t\tnew_deps.push(signal);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else if (\n\t\tis_derived &&\n\t\t/** @type {Derived} */ (signal).deps === null &&\n\t\t/** @type {Derived} */ (signal).effects === null\n\t) {\n\t\tvar derived = /** @type {Derived} */ (signal);\n\t\tvar parent = derived.parent;\n\n\t\tif (parent !== null && (parent.f & UNOWNED) === 0) {\n\t\t\t// If the derived is owned by another derived then mark it as unowned\n\t\t\t// as the derived value might have been referenced in a different context\n\t\t\t// since and thus its parent might not be its true owner anymore\n\t\t\tderived.f ^= UNOWNED;\n\t\t}\n\t}\n\n\tif (is_derived) {\n\t\tderived = /** @type {Derived} */ (signal);\n\n\t\tif (check_dirtiness(derived)) {\n\t\t\tupdate_derived(derived);\n\t\t}\n\t}\n\n\tif (\n\t\tDEV &&\n\t\ttracing_mode_flag &&\n\t\ttracing_expressions !== null &&\n\t\tactive_reaction !== null &&\n\t\ttracing_expressions.reaction === active_reaction\n\t) {\n\t\t// Used when mapping state between special blocks like `each`\n\t\tif (signal.debug) {\n\t\t\tsignal.debug();\n\t\t} else if (signal.created) {\n\t\t\tvar entry = tracing_expressions.entries.get(signal);\n\n\t\t\tif (entry === undefined) {\n\t\t\t\tentry = { read: [] };\n\t\t\t\ttracing_expressions.entries.set(signal, entry);\n\t\t\t}\n\n\t\t\tentry.read.push(get_stack('TracedAt'));\n\t\t}\n\t}\n\n\tif (is_destroying_effect && old_values.has(signal)) {\n\t\treturn old_values.get(signal);\n\t}\n\n\treturn signal.v;\n}\n\n/**\n * Like `get`, but checks for `undefined`. Used for `var` declarations because they can be accessed before being declared\n * @template V\n * @param {Value | undefined} signal\n * @returns {V | undefined}\n */\nexport function safe_get(signal) {\n\treturn signal && get(signal);\n}\n\n/**\n * Capture an array of all the signals that are read when `fn` is called\n * @template T\n * @param {() => T} fn\n */\nfunction capture_signals(fn) {\n\tvar previous_captured_signals = captured_signals;\n\tcaptured_signals = new Set();\n\n\tvar captured = captured_signals;\n\tvar signal;\n\n\ttry {\n\t\tuntrack(fn);\n\t\tif (previous_captured_signals !== null) {\n\t\t\tfor (signal of captured_signals) {\n\t\t\t\tprevious_captured_signals.add(signal);\n\t\t\t}\n\t\t}\n\t} finally {\n\t\tcaptured_signals = previous_captured_signals;\n\t}\n\n\treturn captured;\n}\n\n/**\n * Invokes a function and captures all signals that are read during the invocation,\n * then invalidates them.\n * @param {() => any} fn\n */\nexport function invalidate_inner_signals(fn) {\n\tvar captured = capture_signals(() => untrack(fn));\n\n\tfor (var signal of captured) {\n\t\t// Go one level up because derived signals created as part of props in legacy mode\n\t\tif ((signal.f & LEGACY_DERIVED_PROP) !== 0) {\n\t\t\tfor (const dep of /** @type {Derived} */ (signal).deps || []) {\n\t\t\t\tif ((dep.f & DERIVED) === 0) {\n\t\t\t\t\t// Use internal_set instead of set here and below to avoid mutation validation\n\t\t\t\t\tinternal_set(dep, dep.v);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tinternal_set(signal, signal.v);\n\t\t}\n\t}\n}\n\n/**\n * When used inside a [`$derived`](https://svelte.dev/docs/svelte/$derived) or [`$effect`](https://svelte.dev/docs/svelte/$effect),\n * any state read inside `fn` will not be treated as a dependency.\n *\n * ```ts\n * $effect(() => {\n * // this will run when `data` changes, but not when `time` changes\n * save(data, {\n * timestamp: untrack(() => time)\n * });\n * });\n * ```\n * @template T\n * @param {() => T} fn\n * @returns {T}\n */\nexport function untrack(fn) {\n\tvar previous_untracking = untracking;\n\ttry {\n\t\tuntracking = true;\n\t\treturn fn();\n\t} finally {\n\t\tuntracking = previous_untracking;\n\t}\n}\n\nconst STATUS_MASK = ~(DIRTY | MAYBE_DIRTY | CLEAN);\n\n/**\n * @param {Signal} signal\n * @param {number} status\n * @returns {void}\n */\nexport function set_signal_status(signal, status) {\n\tsignal.f = (signal.f & STATUS_MASK) | status;\n}\n\n/**\n * @param {Record} obj\n * @param {string[]} keys\n * @returns {Record}\n */\nexport function exclude_from_object(obj, keys) {\n\t/** @type {Record} */\n\tvar result = {};\n\n\tfor (var key in obj) {\n\t\tif (!keys.includes(key)) {\n\t\t\tresult[key] = obj[key];\n\t\t}\n\t}\n\n\treturn result;\n}\n\n/**\n * Possibly traverse an object and read all its properties so that they're all reactive in case this is `$state`.\n * Does only check first level of an object for performance reasons (heuristic should be good for 99% of all cases).\n * @param {any} value\n * @returns {void}\n */\nexport function deep_read_state(value) {\n\tif (typeof value !== 'object' || !value || value instanceof EventTarget) {\n\t\treturn;\n\t}\n\n\tif (STATE_SYMBOL in value) {\n\t\tdeep_read(value);\n\t} else if (!Array.isArray(value)) {\n\t\tfor (let key in value) {\n\t\t\tconst prop = value[key];\n\t\t\tif (typeof prop === 'object' && prop && STATE_SYMBOL in prop) {\n\t\t\t\tdeep_read(prop);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * Deeply traverse an object and read all its properties\n * so that they're all reactive in case this is `$state`\n * @param {any} value\n * @param {Set} visited\n * @returns {void}\n */\nexport function deep_read(value, visited = new Set()) {\n\tif (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\t// We don't want to traverse DOM elements\n\t\t!(value instanceof EventTarget) &&\n\t\t!visited.has(value)\n\t) {\n\t\tvisited.add(value);\n\t\t// When working with a possible SvelteDate, this\n\t\t// will ensure we capture changes to it.\n\t\tif (value instanceof Date) {\n\t\t\tvalue.getTime();\n\t\t}\n\t\tfor (let key in value) {\n\t\t\ttry {\n\t\t\t\tdeep_read(value[key], visited);\n\t\t\t} catch (e) {\n\t\t\t\t// continue\n\t\t\t}\n\t\t}\n\t\tconst proto = get_prototype_of(value);\n\t\tif (\n\t\t\tproto !== Object.prototype &&\n\t\t\tproto !== Array.prototype &&\n\t\t\tproto !== Map.prototype &&\n\t\t\tproto !== Set.prototype &&\n\t\t\tproto !== Date.prototype\n\t\t) {\n\t\t\tconst descriptors = get_descriptors(proto);\n\t\t\tfor (let key in descriptors) {\n\t\t\t\tconst get = descriptors[key].get;\n\t\t\t\tif (get) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tget.call(value);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t// continue\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","/** @import { ComponentContext, ComponentContextLegacy, Derived, Effect, TemplateNode, TransitionManager } from '#client' */\nimport {\n\tcheck_dirtiness,\n\tactive_effect,\n\tactive_reaction,\n\tupdate_effect,\n\tget,\n\tis_destroying_effect,\n\tremove_reactions,\n\tschedule_effect,\n\tset_active_reaction,\n\tset_is_destroying_effect,\n\tset_signal_status,\n\tuntrack,\n\tuntracking\n} from '../runtime.js';\nimport {\n\tDIRTY,\n\tBRANCH_EFFECT,\n\tRENDER_EFFECT,\n\tEFFECT,\n\tDESTROYED,\n\tINERT,\n\tEFFECT_RAN,\n\tBLOCK_EFFECT,\n\tROOT_EFFECT,\n\tEFFECT_TRANSPARENT,\n\tDERIVED,\n\tUNOWNED,\n\tCLEAN,\n\tINSPECT_EFFECT,\n\tHEAD_EFFECT,\n\tMAYBE_DIRTY,\n\tEFFECT_HAS_DERIVED,\n\tBOUNDARY_EFFECT\n} from '../constants.js';\nimport { set } from './sources.js';\nimport * as e from '../errors.js';\nimport { DEV } from 'esm-env';\nimport { define_property } from '../../shared/utils.js';\nimport { get_next_sibling } from '../dom/operations.js';\nimport { derived } from './deriveds.js';\nimport { component_context, dev_current_component_function } from '../context.js';\n\n/**\n * @param {'$effect' | '$effect.pre' | '$inspect'} rune\n */\nexport function validate_effect(rune) {\n\tif (active_effect === null && active_reaction === null) {\n\t\te.effect_orphan(rune);\n\t}\n\n\tif (active_reaction !== null && (active_reaction.f & UNOWNED) !== 0 && active_effect === null) {\n\t\te.effect_in_unowned_derived();\n\t}\n\n\tif (is_destroying_effect) {\n\t\te.effect_in_teardown(rune);\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @param {Effect} parent_effect\n */\nfunction push_effect(effect, parent_effect) {\n\tvar parent_last = parent_effect.last;\n\tif (parent_last === null) {\n\t\tparent_effect.last = parent_effect.first = effect;\n\t} else {\n\t\tparent_last.next = effect;\n\t\teffect.prev = parent_last;\n\t\tparent_effect.last = effect;\n\t}\n}\n\n/**\n * @param {number} type\n * @param {null | (() => void | (() => void))} fn\n * @param {boolean} sync\n * @param {boolean} push\n * @returns {Effect}\n */\nfunction create_effect(type, fn, sync, push = true) {\n\tvar parent = active_effect;\n\n\tif (DEV) {\n\t\t// Ensure the parent is never an inspect effect\n\t\twhile (parent !== null && (parent.f & INSPECT_EFFECT) !== 0) {\n\t\t\tparent = parent.parent;\n\t\t}\n\t}\n\n\t/** @type {Effect} */\n\tvar effect = {\n\t\tctx: component_context,\n\t\tdeps: null,\n\t\tnodes_start: null,\n\t\tnodes_end: null,\n\t\tf: type | DIRTY,\n\t\tfirst: null,\n\t\tfn,\n\t\tlast: null,\n\t\tnext: null,\n\t\tparent,\n\t\tprev: null,\n\t\tteardown: null,\n\t\ttransitions: null,\n\t\twv: 0\n\t};\n\n\tif (DEV) {\n\t\teffect.component_function = dev_current_component_function;\n\t}\n\n\tif (sync) {\n\t\ttry {\n\t\t\tupdate_effect(effect);\n\t\t\teffect.f |= EFFECT_RAN;\n\t\t} catch (e) {\n\t\t\tdestroy_effect(effect);\n\t\t\tthrow e;\n\t\t}\n\t} else if (fn !== null) {\n\t\tschedule_effect(effect);\n\t}\n\n\t// if an effect has no dependencies, no DOM and no teardown function,\n\t// don't bother adding it to the effect tree\n\tvar inert =\n\t\tsync &&\n\t\teffect.deps === null &&\n\t\teffect.first === null &&\n\t\teffect.nodes_start === null &&\n\t\teffect.teardown === null &&\n\t\t(effect.f & (EFFECT_HAS_DERIVED | BOUNDARY_EFFECT)) === 0;\n\n\tif (!inert && push) {\n\t\tif (parent !== null) {\n\t\t\tpush_effect(effect, parent);\n\t\t}\n\n\t\t// if we're in a derived, add the effect there too\n\t\tif (active_reaction !== null && (active_reaction.f & DERIVED) !== 0) {\n\t\t\tvar derived = /** @type {Derived} */ (active_reaction);\n\t\t\t(derived.effects ??= []).push(effect);\n\t\t}\n\t}\n\n\treturn effect;\n}\n\n/**\n * Internal representation of `$effect.tracking()`\n * @returns {boolean}\n */\nexport function effect_tracking() {\n\treturn active_reaction !== null && !untracking;\n}\n\n/**\n * @param {() => void} fn\n */\nexport function teardown(fn) {\n\tconst effect = create_effect(RENDER_EFFECT, null, false);\n\tset_signal_status(effect, CLEAN);\n\teffect.teardown = fn;\n\treturn effect;\n}\n\n/**\n * Internal representation of `$effect(...)`\n * @param {() => void | (() => void)} fn\n */\nexport function user_effect(fn) {\n\tvalidate_effect('$effect');\n\n\t// Non-nested `$effect(...)` in a component should be deferred\n\t// until the component is mounted\n\tvar defer =\n\t\tactive_effect !== null &&\n\t\t(active_effect.f & BRANCH_EFFECT) !== 0 &&\n\t\tcomponent_context !== null &&\n\t\t!component_context.m;\n\n\tif (DEV) {\n\t\tdefine_property(fn, 'name', {\n\t\t\tvalue: '$effect'\n\t\t});\n\t}\n\n\tif (defer) {\n\t\tvar context = /** @type {ComponentContext} */ (component_context);\n\t\t(context.e ??= []).push({\n\t\t\tfn,\n\t\t\teffect: active_effect,\n\t\t\treaction: active_reaction\n\t\t});\n\t} else {\n\t\tvar signal = effect(fn);\n\t\treturn signal;\n\t}\n}\n\n/**\n * Internal representation of `$effect.pre(...)`\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function user_pre_effect(fn) {\n\tvalidate_effect('$effect.pre');\n\tif (DEV) {\n\t\tdefine_property(fn, 'name', {\n\t\t\tvalue: '$effect.pre'\n\t\t});\n\t}\n\treturn render_effect(fn);\n}\n\n/** @param {() => void | (() => void)} fn */\nexport function inspect_effect(fn) {\n\treturn create_effect(INSPECT_EFFECT, fn, true);\n}\n\n/**\n * Internal representation of `$effect.root(...)`\n * @param {() => void | (() => void)} fn\n * @returns {() => void}\n */\nexport function effect_root(fn) {\n\tconst effect = create_effect(ROOT_EFFECT, fn, true);\n\n\treturn () => {\n\t\tdestroy_effect(effect);\n\t};\n}\n\n/**\n * An effect root whose children can transition out\n * @param {() => void} fn\n * @returns {(options?: { outro?: boolean }) => Promise}\n */\nexport function component_root(fn) {\n\tconst effect = create_effect(ROOT_EFFECT, fn, true);\n\n\treturn (options = {}) => {\n\t\treturn new Promise((fulfil) => {\n\t\t\tif (options.outro) {\n\t\t\t\tpause_effect(effect, () => {\n\t\t\t\t\tdestroy_effect(effect);\n\t\t\t\t\tfulfil(undefined);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdestroy_effect(effect);\n\t\t\t\tfulfil(undefined);\n\t\t\t}\n\t\t});\n\t};\n}\n\n/**\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function effect(fn) {\n\treturn create_effect(EFFECT, fn, false);\n}\n\n/**\n * Internal representation of `$: ..`\n * @param {() => any} deps\n * @param {() => void | (() => void)} fn\n */\nexport function legacy_pre_effect(deps, fn) {\n\tvar context = /** @type {ComponentContextLegacy} */ (component_context);\n\n\t/** @type {{ effect: null | Effect, ran: boolean }} */\n\tvar token = { effect: null, ran: false };\n\tcontext.l.r1.push(token);\n\n\ttoken.effect = render_effect(() => {\n\t\tdeps();\n\n\t\t// If this legacy pre effect has already run before the end of the reset, then\n\t\t// bail out to emulate the same behavior.\n\t\tif (token.ran) return;\n\n\t\ttoken.ran = true;\n\t\tset(context.l.r2, true);\n\t\tuntrack(fn);\n\t});\n}\n\nexport function legacy_pre_effect_reset() {\n\tvar context = /** @type {ComponentContextLegacy} */ (component_context);\n\n\trender_effect(() => {\n\t\tif (!get(context.l.r2)) return;\n\n\t\t// Run dirty `$:` statements\n\t\tfor (var token of context.l.r1) {\n\t\t\tvar effect = token.effect;\n\n\t\t\t// If the effect is CLEAN, then make it MAYBE_DIRTY. This ensures we traverse through\n\t\t\t// the effects dependencies and correctly ensure each dependency is up-to-date.\n\t\t\tif ((effect.f & CLEAN) !== 0) {\n\t\t\t\tset_signal_status(effect, MAYBE_DIRTY);\n\t\t\t}\n\n\t\t\tif (check_dirtiness(effect)) {\n\t\t\t\tupdate_effect(effect);\n\t\t\t}\n\n\t\t\ttoken.ran = false;\n\t\t}\n\n\t\tcontext.l.r2.v = false; // set directly to avoid rerunning this effect\n\t});\n}\n\n/**\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function render_effect(fn) {\n\treturn create_effect(RENDER_EFFECT, fn, true);\n}\n\n/**\n * @param {(...expressions: any) => void | (() => void)} fn\n * @param {Array<() => any>} thunks\n * @returns {Effect}\n */\nexport function template_effect(fn, thunks = [], d = derived) {\n\tconst deriveds = thunks.map(d);\n\tconst effect = () => fn(...deriveds.map(get));\n\n\tif (DEV) {\n\t\tdefine_property(effect, 'name', {\n\t\t\tvalue: '{expression}'\n\t\t});\n\t}\n\n\treturn block(effect);\n}\n\n/**\n * @param {(() => void)} fn\n * @param {number} flags\n */\nexport function block(fn, flags = 0) {\n\treturn create_effect(RENDER_EFFECT | BLOCK_EFFECT | flags, fn, true);\n}\n\n/**\n * @param {(() => void)} fn\n * @param {boolean} [push]\n */\nexport function branch(fn, push = true) {\n\treturn create_effect(RENDER_EFFECT | BRANCH_EFFECT, fn, true, push);\n}\n\n/**\n * @param {Effect} effect\n */\nexport function execute_effect_teardown(effect) {\n\tvar teardown = effect.teardown;\n\tif (teardown !== null) {\n\t\tconst previously_destroying_effect = is_destroying_effect;\n\t\tconst previous_reaction = active_reaction;\n\t\tset_is_destroying_effect(true);\n\t\tset_active_reaction(null);\n\t\ttry {\n\t\t\tteardown.call(null);\n\t\t} finally {\n\t\t\tset_is_destroying_effect(previously_destroying_effect);\n\t\t\tset_active_reaction(previous_reaction);\n\t\t}\n\t}\n}\n\n/**\n * @param {Effect} signal\n * @param {boolean} remove_dom\n * @returns {void}\n */\nexport function destroy_effect_children(signal, remove_dom = false) {\n\tvar effect = signal.first;\n\tsignal.first = signal.last = null;\n\n\twhile (effect !== null) {\n\t\tvar next = effect.next;\n\n\t\tif ((effect.f & ROOT_EFFECT) !== 0) {\n\t\t\t// this is now an independent root\n\t\t\teffect.parent = null;\n\t\t} else {\n\t\t\tdestroy_effect(effect, remove_dom);\n\t\t}\n\n\t\teffect = next;\n\t}\n}\n\n/**\n * @param {Effect} signal\n * @returns {void}\n */\nexport function destroy_block_effect_children(signal) {\n\tvar effect = signal.first;\n\n\twhile (effect !== null) {\n\t\tvar next = effect.next;\n\t\tif ((effect.f & BRANCH_EFFECT) === 0) {\n\t\t\tdestroy_effect(effect);\n\t\t}\n\t\teffect = next;\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @param {boolean} [remove_dom]\n * @returns {void}\n */\nexport function destroy_effect(effect, remove_dom = true) {\n\tvar removed = false;\n\n\tif ((remove_dom || (effect.f & HEAD_EFFECT) !== 0) && effect.nodes_start !== null) {\n\t\t/** @type {TemplateNode | null} */\n\t\tvar node = effect.nodes_start;\n\t\tvar end = effect.nodes_end;\n\n\t\twhile (node !== null) {\n\t\t\t/** @type {TemplateNode | null} */\n\t\t\tvar next = node === end ? null : /** @type {TemplateNode} */ (get_next_sibling(node));\n\n\t\t\tnode.remove();\n\t\t\tnode = next;\n\t\t}\n\n\t\tremoved = true;\n\t}\n\n\tdestroy_effect_children(effect, remove_dom && !removed);\n\tremove_reactions(effect, 0);\n\tset_signal_status(effect, DESTROYED);\n\n\tvar transitions = effect.transitions;\n\n\tif (transitions !== null) {\n\t\tfor (const transition of transitions) {\n\t\t\ttransition.stop();\n\t\t}\n\t}\n\n\texecute_effect_teardown(effect);\n\n\tvar parent = effect.parent;\n\n\t// If the parent doesn't have any children, then skip this work altogether\n\tif (parent !== null && parent.first !== null) {\n\t\tunlink_effect(effect);\n\t}\n\n\tif (DEV) {\n\t\teffect.component_function = null;\n\t}\n\n\t// `first` and `child` are nulled out in destroy_effect_children\n\t// we don't null out `parent` so that error propagation can work correctly\n\teffect.next =\n\t\teffect.prev =\n\t\teffect.teardown =\n\t\teffect.ctx =\n\t\teffect.deps =\n\t\teffect.fn =\n\t\teffect.nodes_start =\n\t\teffect.nodes_end =\n\t\t\tnull;\n}\n\n/**\n * Detach an effect from the effect tree, freeing up memory and\n * reducing the amount of work that happens on subsequent traversals\n * @param {Effect} effect\n */\nexport function unlink_effect(effect) {\n\tvar parent = effect.parent;\n\tvar prev = effect.prev;\n\tvar next = effect.next;\n\n\tif (prev !== null) prev.next = next;\n\tif (next !== null) next.prev = prev;\n\n\tif (parent !== null) {\n\t\tif (parent.first === effect) parent.first = next;\n\t\tif (parent.last === effect) parent.last = prev;\n\t}\n}\n\n/**\n * When a block effect is removed, we don't immediately destroy it or yank it\n * out of the DOM, because it might have transitions. Instead, we 'pause' it.\n * It stays around (in memory, and in the DOM) until outro transitions have\n * completed, and if the state change is reversed then we _resume_ it.\n * A paused effect does not update, and the DOM subtree becomes inert.\n * @param {Effect} effect\n * @param {() => void} [callback]\n */\nexport function pause_effect(effect, callback) {\n\t/** @type {TransitionManager[]} */\n\tvar transitions = [];\n\n\tpause_children(effect, transitions, true);\n\n\trun_out_transitions(transitions, () => {\n\t\tdestroy_effect(effect);\n\t\tif (callback) callback();\n\t});\n}\n\n/**\n * @param {TransitionManager[]} transitions\n * @param {() => void} fn\n */\nexport function run_out_transitions(transitions, fn) {\n\tvar remaining = transitions.length;\n\tif (remaining > 0) {\n\t\tvar check = () => --remaining || fn();\n\t\tfor (var transition of transitions) {\n\t\t\ttransition.out(check);\n\t\t}\n\t} else {\n\t\tfn();\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @param {TransitionManager[]} transitions\n * @param {boolean} local\n */\nexport function pause_children(effect, transitions, local) {\n\tif ((effect.f & INERT) !== 0) return;\n\teffect.f ^= INERT;\n\n\tif (effect.transitions !== null) {\n\t\tfor (const transition of effect.transitions) {\n\t\t\tif (transition.is_global || local) {\n\t\t\t\ttransitions.push(transition);\n\t\t\t}\n\t\t}\n\t}\n\n\tvar child = effect.first;\n\n\twhile (child !== null) {\n\t\tvar sibling = child.next;\n\t\tvar transparent = (child.f & EFFECT_TRANSPARENT) !== 0 || (child.f & BRANCH_EFFECT) !== 0;\n\t\t// TODO we don't need to call pause_children recursively with a linked list in place\n\t\t// it's slightly more involved though as we have to account for `transparent` changing\n\t\t// through the tree.\n\t\tpause_children(child, transitions, transparent ? local : false);\n\t\tchild = sibling;\n\t}\n}\n\n/**\n * The opposite of `pause_effect`. We call this if (for example)\n * `x` becomes falsy then truthy: `{#if x}...{/if}`\n * @param {Effect} effect\n */\nexport function resume_effect(effect) {\n\tresume_children(effect, true);\n}\n\n/**\n * @param {Effect} effect\n * @param {boolean} local\n */\nfunction resume_children(effect, local) {\n\tif ((effect.f & INERT) === 0) return;\n\teffect.f ^= INERT;\n\n\t// Ensure the effect is marked as clean again so that any dirty child\n\t// effects can schedule themselves for execution\n\tif ((effect.f & CLEAN) === 0) {\n\t\teffect.f ^= CLEAN;\n\t}\n\n\t// If a dependency of this effect changed while it was paused,\n\t// schedule the effect to update\n\tif (check_dirtiness(effect)) {\n\t\tset_signal_status(effect, DIRTY);\n\t\tschedule_effect(effect);\n\t}\n\n\tvar child = effect.first;\n\n\twhile (child !== null) {\n\t\tvar sibling = child.next;\n\t\tvar transparent = (child.f & EFFECT_TRANSPARENT) !== 0 || (child.f & BRANCH_EFFECT) !== 0;\n\t\t// TODO we don't need to call resume_children recursively with a linked list in place\n\t\t// it's slightly more involved though as we have to account for `transparent` changing\n\t\t// through the tree.\n\t\tresume_children(child, transparent ? local : false);\n\t\tchild = sibling;\n\t}\n\n\tif (effect.transitions !== null) {\n\t\tfor (const transition of effect.transitions) {\n\t\t\tif (transition.is_global || local) {\n\t\t\t\ttransition.in();\n\t\t\t}\n\t\t}\n\t}\n}\n","/* This file is generated by scripts/process-messages/index.js. Do not edit! */\n\nimport { DEV } from 'esm-env';\n\n/**\n * Cannot use `{@render children(...)}` if the parent component uses `let:` directives. Consider using a named snippet instead\n * @returns {never}\n */\nexport function invalid_default_snippet() {\n\tif (DEV) {\n\t\tconst error = new Error(`invalid_default_snippet\\nCannot use \\`{@render children(...)}\\` if the parent component uses \\`let:\\` directives. Consider using a named snippet instead\\nhttps://svelte.dev/e/invalid_default_snippet`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/invalid_default_snippet`);\n\t}\n}\n\n/**\n * `%name%(...)` can only be used during component initialisation\n * @param {string} name\n * @returns {never}\n */\nexport function lifecycle_outside_component(name) {\n\tif (DEV) {\n\t\tconst error = new Error(`lifecycle_outside_component\\n\\`${name}(...)\\` can only be used during component initialisation\\nhttps://svelte.dev/e/lifecycle_outside_component`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/lifecycle_outside_component`);\n\t}\n}\n\n/**\n * `%name%` is not a store with a `subscribe` method\n * @param {string} name\n * @returns {never}\n */\nexport function store_invalid_shape(name) {\n\tif (DEV) {\n\t\tconst error = new Error(`store_invalid_shape\\n\\`${name}\\` is not a store with a \\`subscribe\\` method\\nhttps://svelte.dev/e/store_invalid_shape`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/store_invalid_shape`);\n\t}\n}\n\n/**\n * The `this` prop on `` must be a string, if defined\n * @returns {never}\n */\nexport function svelte_element_invalid_this_value() {\n\tif (DEV) {\n\t\tconst error = new Error(`svelte_element_invalid_this_value\\nThe \\`this\\` prop on \\`\\` must be a string, if defined\\nhttps://svelte.dev/e/svelte_element_invalid_this_value`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/svelte_element_invalid_this_value`);\n\t}\n}","/** @import { ComponentContext } from '#client' */\n\nimport { DEV } from 'esm-env';\nimport { add_owner } from './dev/ownership.js';\nimport { lifecycle_outside_component } from '../shared/errors.js';\nimport { source } from './reactivity/sources.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tset_active_effect,\n\tset_active_reaction,\n\tuntrack\n} from './runtime.js';\nimport { effect, teardown } from './reactivity/effects.js';\nimport { legacy_mode_flag } from '../flags/index.js';\n\n/** @type {ComponentContext | null} */\nexport let component_context = null;\n\n/** @param {ComponentContext | null} context */\nexport function set_component_context(context) {\n\tcomponent_context = context;\n}\n\n/**\n * The current component function. Different from current component context:\n * ```html\n * \n * \n * \n * \n * ```\n * @type {ComponentContext['function']}\n */\nexport let dev_current_component_function = null;\n\n/** @param {ComponentContext['function']} fn */\nexport function set_dev_current_component_function(fn) {\n\tdev_current_component_function = fn;\n}\n\n/**\n * Retrieves the context that belongs to the closest parent component with the specified `key`.\n * Must be called during component initialisation.\n *\n * @template T\n * @param {any} key\n * @returns {T}\n */\nexport function getContext(key) {\n\tconst context_map = get_or_init_context_map('getContext');\n\tconst result = /** @type {T} */ (context_map.get(key));\n\treturn result;\n}\n\n/**\n * Associates an arbitrary `context` object with the current component and the specified `key`\n * and returns that object. The context is then available to children of the component\n * (including slotted content) with `getContext`.\n *\n * Like lifecycle functions, this must be called during component initialisation.\n *\n * @template T\n * @param {any} key\n * @param {T} context\n * @returns {T}\n */\nexport function setContext(key, context) {\n\tconst context_map = get_or_init_context_map('setContext');\n\n\tif (DEV) {\n\t\t// When state is put into context, we treat as if it's global from now on.\n\t\t// We do for performance reasons (it's for example very expensive to call\n\t\t// getContext on a big object many times when part of a list component)\n\t\t// and danger of false positives.\n\t\tuntrack(() => add_owner(context, null, true));\n\t}\n\n\tcontext_map.set(key, context);\n\treturn context;\n}\n\n/**\n * Checks whether a given `key` has been set in the context of a parent component.\n * Must be called during component initialisation.\n *\n * @param {any} key\n * @returns {boolean}\n */\nexport function hasContext(key) {\n\tconst context_map = get_or_init_context_map('hasContext');\n\treturn context_map.has(key);\n}\n\n/**\n * Retrieves the whole context map that belongs to the closest parent component.\n * Must be called during component initialisation. Useful, for example, if you\n * programmatically create a component and want to pass the existing context to it.\n *\n * @template {Map} [T=Map]\n * @returns {T}\n */\nexport function getAllContexts() {\n\tconst context_map = get_or_init_context_map('getAllContexts');\n\treturn /** @type {T} */ (context_map);\n}\n\n/**\n * @param {Record} props\n * @param {any} runes\n * @param {Function} [fn]\n * @returns {void}\n */\nexport function push(props, runes = false, fn) {\n\tvar ctx = (component_context = {\n\t\tp: component_context,\n\t\tc: null,\n\t\td: false,\n\t\te: null,\n\t\tm: false,\n\t\ts: props,\n\t\tx: null,\n\t\tl: null\n\t});\n\n\tif (legacy_mode_flag && !runes) {\n\t\tcomponent_context.l = {\n\t\t\ts: null,\n\t\t\tu: null,\n\t\t\tr1: [],\n\t\t\tr2: source(false)\n\t\t};\n\t}\n\n\tteardown(() => {\n\t\t/** @type {ComponentContext} */ (ctx).d = true;\n\t});\n\n\tif (DEV) {\n\t\t// component function\n\t\tcomponent_context.function = fn;\n\t\tdev_current_component_function = fn;\n\t}\n}\n\n/**\n * @template {Record} T\n * @param {T} [component]\n * @returns {T}\n */\nexport function pop(component) {\n\tconst context_stack_item = component_context;\n\tif (context_stack_item !== null) {\n\t\tif (component !== undefined) {\n\t\t\tcontext_stack_item.x = component;\n\t\t}\n\t\tconst component_effects = context_stack_item.e;\n\t\tif (component_effects !== null) {\n\t\t\tvar previous_effect = active_effect;\n\t\t\tvar previous_reaction = active_reaction;\n\t\t\tcontext_stack_item.e = null;\n\t\t\ttry {\n\t\t\t\tfor (var i = 0; i < component_effects.length; i++) {\n\t\t\t\t\tvar component_effect = component_effects[i];\n\t\t\t\t\tset_active_effect(component_effect.effect);\n\t\t\t\t\tset_active_reaction(component_effect.reaction);\n\t\t\t\t\teffect(component_effect.fn);\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tset_active_effect(previous_effect);\n\t\t\t\tset_active_reaction(previous_reaction);\n\t\t\t}\n\t\t}\n\t\tcomponent_context = context_stack_item.p;\n\t\tif (DEV) {\n\t\t\tdev_current_component_function = context_stack_item.p?.function ?? null;\n\t\t}\n\t\tcontext_stack_item.m = true;\n\t}\n\t// Micro-optimization: Don't set .a above to the empty object\n\t// so it can be garbage-collected when the return here is unused\n\treturn component || /** @type {T} */ ({});\n}\n\n/** @returns {boolean} */\nexport function is_runes() {\n\treturn !legacy_mode_flag || (component_context !== null && component_context.l === null);\n}\n\n/**\n * @param {string} name\n * @returns {Map}\n */\nfunction get_or_init_context_map(name) {\n\tif (component_context === null) {\n\t\tlifecycle_outside_component(name);\n\t}\n\n\treturn (component_context.c ??= new Map(get_parent_context(component_context) || undefined));\n}\n\n/**\n * @param {ComponentContext} component_context\n * @returns {Map | null}\n */\nfunction get_parent_context(component_context) {\n\tlet parent = component_context.p;\n\twhile (parent !== null) {\n\t\tconst context_map = parent.c;\n\t\tif (context_map !== null) {\n\t\t\treturn context_map;\n\t\t}\n\t\tparent = parent.p;\n\t}\n\treturn null;\n}\n","const regex_return_characters = /\\r/g;\n\n/**\n * @param {string} str\n * @returns {string}\n */\nexport function hash(str) {\n\tstr = str.replace(regex_return_characters, '');\n\tlet hash = 5381;\n\tlet i = str.length;\n\n\twhile (i--) hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n\treturn (hash >>> 0).toString(36);\n}\n\nconst VOID_ELEMENT_NAMES = [\n\t'area',\n\t'base',\n\t'br',\n\t'col',\n\t'command',\n\t'embed',\n\t'hr',\n\t'img',\n\t'input',\n\t'keygen',\n\t'link',\n\t'meta',\n\t'param',\n\t'source',\n\t'track',\n\t'wbr'\n];\n\n/**\n * Returns `true` if `name` is of a void element\n * @param {string} name\n */\nexport function is_void(name) {\n\treturn VOID_ELEMENT_NAMES.includes(name) || name.toLowerCase() === '!doctype';\n}\n\nconst RESERVED_WORDS = [\n\t'arguments',\n\t'await',\n\t'break',\n\t'case',\n\t'catch',\n\t'class',\n\t'const',\n\t'continue',\n\t'debugger',\n\t'default',\n\t'delete',\n\t'do',\n\t'else',\n\t'enum',\n\t'eval',\n\t'export',\n\t'extends',\n\t'false',\n\t'finally',\n\t'for',\n\t'function',\n\t'if',\n\t'implements',\n\t'import',\n\t'in',\n\t'instanceof',\n\t'interface',\n\t'let',\n\t'new',\n\t'null',\n\t'package',\n\t'private',\n\t'protected',\n\t'public',\n\t'return',\n\t'static',\n\t'super',\n\t'switch',\n\t'this',\n\t'throw',\n\t'true',\n\t'try',\n\t'typeof',\n\t'var',\n\t'void',\n\t'while',\n\t'with',\n\t'yield'\n];\n\n/**\n * Returns `true` if `word` is a reserved JavaScript keyword\n * @param {string} word\n */\nexport function is_reserved(word) {\n\treturn RESERVED_WORDS.includes(word);\n}\n\n/**\n * @param {string} name\n */\nexport function is_capture_event(name) {\n\treturn name.endsWith('capture') && name !== 'gotpointercapture' && name !== 'lostpointercapture';\n}\n\n/** List of Element events that will be delegated */\nconst DELEGATED_EVENTS = [\n\t'beforeinput',\n\t'click',\n\t'change',\n\t'dblclick',\n\t'contextmenu',\n\t'focusin',\n\t'focusout',\n\t'input',\n\t'keydown',\n\t'keyup',\n\t'mousedown',\n\t'mousemove',\n\t'mouseout',\n\t'mouseover',\n\t'mouseup',\n\t'pointerdown',\n\t'pointermove',\n\t'pointerout',\n\t'pointerover',\n\t'pointerup',\n\t'touchend',\n\t'touchmove',\n\t'touchstart'\n];\n\n/**\n * Returns `true` if `event_name` is a delegated event\n * @param {string} event_name\n */\nexport function is_delegated(event_name) {\n\treturn DELEGATED_EVENTS.includes(event_name);\n}\n\n/**\n * Attributes that are boolean, i.e. they are present or not present.\n */\nconst DOM_BOOLEAN_ATTRIBUTES = [\n\t'allowfullscreen',\n\t'async',\n\t'autofocus',\n\t'autoplay',\n\t'checked',\n\t'controls',\n\t'default',\n\t'disabled',\n\t'formnovalidate',\n\t'hidden',\n\t'indeterminate',\n\t'inert',\n\t'ismap',\n\t'loop',\n\t'multiple',\n\t'muted',\n\t'nomodule',\n\t'novalidate',\n\t'open',\n\t'playsinline',\n\t'readonly',\n\t'required',\n\t'reversed',\n\t'seamless',\n\t'selected',\n\t'webkitdirectory',\n\t'defer',\n\t'disablepictureinpicture',\n\t'disableremoteplayback'\n];\n\n/**\n * Returns `true` if `name` is a boolean attribute\n * @param {string} name\n */\nexport function is_boolean_attribute(name) {\n\treturn DOM_BOOLEAN_ATTRIBUTES.includes(name);\n}\n\n/**\n * @type {Record}\n * List of attribute names that should be aliased to their property names\n * because they behave differently between setting them as an attribute and\n * setting them as a property.\n */\nconst ATTRIBUTE_ALIASES = {\n\t// no `class: 'className'` because we handle that separately\n\tformnovalidate: 'formNoValidate',\n\tismap: 'isMap',\n\tnomodule: 'noModule',\n\tplaysinline: 'playsInline',\n\treadonly: 'readOnly',\n\tdefaultvalue: 'defaultValue',\n\tdefaultchecked: 'defaultChecked',\n\tsrcobject: 'srcObject',\n\tnovalidate: 'noValidate',\n\tallowfullscreen: 'allowFullscreen',\n\tdisablepictureinpicture: 'disablePictureInPicture',\n\tdisableremoteplayback: 'disableRemotePlayback'\n};\n\n/**\n * @param {string} name\n */\nexport function normalize_attribute(name) {\n\tname = name.toLowerCase();\n\treturn ATTRIBUTE_ALIASES[name] ?? name;\n}\n\nconst DOM_PROPERTIES = [\n\t...DOM_BOOLEAN_ATTRIBUTES,\n\t'formNoValidate',\n\t'isMap',\n\t'noModule',\n\t'playsInline',\n\t'readOnly',\n\t'value',\n\t'volume',\n\t'defaultValue',\n\t'defaultChecked',\n\t'srcObject',\n\t'noValidate',\n\t'allowFullscreen',\n\t'disablePictureInPicture',\n\t'disableRemotePlayback'\n];\n\n/**\n * @param {string} name\n */\nexport function is_dom_property(name) {\n\treturn DOM_PROPERTIES.includes(name);\n}\n\nconst NON_STATIC_PROPERTIES = ['autofocus', 'muted', 'defaultValue', 'defaultChecked'];\n\n/**\n * Returns `true` if the given attribute cannot be set through the template\n * string, i.e. needs some kind of JavaScript handling to work.\n * @param {string} name\n */\nexport function cannot_be_set_statically(name) {\n\treturn NON_STATIC_PROPERTIES.includes(name);\n}\n\n/**\n * Subset of delegated events which should be passive by default.\n * These two are already passive via browser defaults on window, document and body.\n * But since\n * - we're delegating them\n * - they happen often\n * - they apply to mobile which is generally less performant\n * we're marking them as passive by default for other elements, too.\n */\nconst PASSIVE_EVENTS = ['touchstart', 'touchmove'];\n\n/**\n * Returns `true` if `name` is a passive event\n * @param {string} name\n */\nexport function is_passive_event(name) {\n\treturn PASSIVE_EVENTS.includes(name);\n}\n\nconst CONTENT_EDITABLE_BINDINGS = ['textContent', 'innerHTML', 'innerText'];\n\n/** @param {string} name */\nexport function is_content_editable_binding(name) {\n\treturn CONTENT_EDITABLE_BINDINGS.includes(name);\n}\n\nconst LOAD_ERROR_ELEMENTS = [\n\t'body',\n\t'embed',\n\t'iframe',\n\t'img',\n\t'link',\n\t'object',\n\t'script',\n\t'style',\n\t'track'\n];\n\n/**\n * Returns `true` if the element emits `load` and `error` events\n * @param {string} name\n */\nexport function is_load_error_element(name) {\n\treturn LOAD_ERROR_ELEMENTS.includes(name);\n}\n\nconst SVG_ELEMENTS = [\n\t'altGlyph',\n\t'altGlyphDef',\n\t'altGlyphItem',\n\t'animate',\n\t'animateColor',\n\t'animateMotion',\n\t'animateTransform',\n\t'circle',\n\t'clipPath',\n\t'color-profile',\n\t'cursor',\n\t'defs',\n\t'desc',\n\t'discard',\n\t'ellipse',\n\t'feBlend',\n\t'feColorMatrix',\n\t'feComponentTransfer',\n\t'feComposite',\n\t'feConvolveMatrix',\n\t'feDiffuseLighting',\n\t'feDisplacementMap',\n\t'feDistantLight',\n\t'feDropShadow',\n\t'feFlood',\n\t'feFuncA',\n\t'feFuncB',\n\t'feFuncG',\n\t'feFuncR',\n\t'feGaussianBlur',\n\t'feImage',\n\t'feMerge',\n\t'feMergeNode',\n\t'feMorphology',\n\t'feOffset',\n\t'fePointLight',\n\t'feSpecularLighting',\n\t'feSpotLight',\n\t'feTile',\n\t'feTurbulence',\n\t'filter',\n\t'font',\n\t'font-face',\n\t'font-face-format',\n\t'font-face-name',\n\t'font-face-src',\n\t'font-face-uri',\n\t'foreignObject',\n\t'g',\n\t'glyph',\n\t'glyphRef',\n\t'hatch',\n\t'hatchpath',\n\t'hkern',\n\t'image',\n\t'line',\n\t'linearGradient',\n\t'marker',\n\t'mask',\n\t'mesh',\n\t'meshgradient',\n\t'meshpatch',\n\t'meshrow',\n\t'metadata',\n\t'missing-glyph',\n\t'mpath',\n\t'path',\n\t'pattern',\n\t'polygon',\n\t'polyline',\n\t'radialGradient',\n\t'rect',\n\t'set',\n\t'solidcolor',\n\t'stop',\n\t'svg',\n\t'switch',\n\t'symbol',\n\t'text',\n\t'textPath',\n\t'tref',\n\t'tspan',\n\t'unknown',\n\t'use',\n\t'view',\n\t'vkern'\n];\n\n/** @param {string} name */\nexport function is_svg(name) {\n\treturn SVG_ELEMENTS.includes(name);\n}\n\nconst MATHML_ELEMENTS = [\n\t'annotation',\n\t'annotation-xml',\n\t'maction',\n\t'math',\n\t'merror',\n\t'mfrac',\n\t'mi',\n\t'mmultiscripts',\n\t'mn',\n\t'mo',\n\t'mover',\n\t'mpadded',\n\t'mphantom',\n\t'mprescripts',\n\t'mroot',\n\t'mrow',\n\t'ms',\n\t'mspace',\n\t'msqrt',\n\t'mstyle',\n\t'msub',\n\t'msubsup',\n\t'msup',\n\t'mtable',\n\t'mtd',\n\t'mtext',\n\t'mtr',\n\t'munder',\n\t'munderover',\n\t'semantics'\n];\n\n/** @param {string} name */\nexport function is_mathml(name) {\n\treturn MATHML_ELEMENTS.includes(name);\n}\n\nconst RUNES = /** @type {const} */ ([\n\t'$state',\n\t'$state.raw',\n\t'$state.snapshot',\n\t'$props',\n\t'$props.id',\n\t'$bindable',\n\t'$derived',\n\t'$derived.by',\n\t'$effect',\n\t'$effect.pre',\n\t'$effect.tracking',\n\t'$effect.root',\n\t'$inspect',\n\t'$inspect().with',\n\t'$inspect.trace',\n\t'$host'\n]);\n\n/**\n * @param {string} name\n * @returns {name is RUNES[number]}\n */\nexport function is_rune(name) {\n\treturn RUNES.includes(/** @type {RUNES[number]} */ (name));\n}\n\n/** List of elements that require raw contents and should not have SSR comments put in them */\nconst RAW_TEXT_ELEMENTS = /** @type {const} */ (['textarea', 'script', 'style', 'title']);\n\n/** @param {string} name */\nexport function is_raw_text_element(name) {\n\treturn RAW_TEXT_ELEMENTS.includes(/** @type {RAW_TEXT_ELEMENTS[number]} */ (name));\n}\n\n/**\n * Prevent devtools trying to make `location` a clickable link by inserting a zero-width space\n * @param {string | undefined} location\n */\nexport function sanitize_location(location) {\n\treturn location?.replace(/\\//g, '/\\u200b');\n}\n","import { hydrating } from '../hydration.js';\nimport { clear_text_content, get_first_child } from '../operations.js';\nimport { queue_micro_task } from '../task.js';\n\n/**\n * @param {HTMLElement} dom\n * @param {boolean} value\n * @returns {void}\n */\nexport function autofocus(dom, value) {\n\tif (value) {\n\t\tconst body = document.body;\n\t\tdom.autofocus = true;\n\n\t\tqueue_micro_task(() => {\n\t\t\tif (document.activeElement === body) {\n\t\t\t\tdom.focus();\n\t\t\t}\n\t\t});\n\t}\n}\n\n/**\n * The child of a textarea actually corresponds to the defaultValue property, so we need\n * to remove it upon hydration to avoid a bug when someone resets the form value.\n * @param {HTMLTextAreaElement} dom\n * @returns {void}\n */\nexport function remove_textarea_child(dom) {\n\tif (hydrating && get_first_child(dom) !== null) {\n\t\tclear_text_content(dom);\n\t}\n}\n\nlet listening_to_form_reset = false;\n\nexport function add_form_reset_listener() {\n\tif (!listening_to_form_reset) {\n\t\tlistening_to_form_reset = true;\n\t\tdocument.addEventListener(\n\t\t\t'reset',\n\t\t\t(evt) => {\n\t\t\t\t// Needs to happen one tick later or else the dom properties of the form\n\t\t\t\t// elements have not updated to their reset values yet\n\t\t\t\tPromise.resolve().then(() => {\n\t\t\t\t\tif (!evt.defaultPrevented) {\n\t\t\t\t\t\tfor (const e of /**@type {HTMLFormElement} */ (evt.target).elements) {\n\t\t\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\t\t\te.__on_r?.();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\t// In the capture phase to guarantee we get noticed of it (no possiblity of stopPropagation)\n\t\t\t{ capture: true }\n\t\t);\n\t}\n}\n","import { teardown } from '../../../reactivity/effects.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tset_active_effect,\n\tset_active_reaction\n} from '../../../runtime.js';\nimport { add_form_reset_listener } from '../misc.js';\n\n/**\n * Fires the handler once immediately (unless corresponding arg is set to `false`),\n * then listens to the given events until the render effect context is destroyed\n * @param {EventTarget} target\n * @param {Array} events\n * @param {(event?: Event) => void} handler\n * @param {any} call_handler_immediately\n */\nexport function listen(target, events, handler, call_handler_immediately = true) {\n\tif (call_handler_immediately) {\n\t\thandler();\n\t}\n\n\tfor (var name of events) {\n\t\ttarget.addEventListener(name, handler);\n\t}\n\n\tteardown(() => {\n\t\tfor (var name of events) {\n\t\t\ttarget.removeEventListener(name, handler);\n\t\t}\n\t});\n}\n\n/**\n * @template T\n * @param {() => T} fn\n */\nexport function without_reactive_context(fn) {\n\tvar previous_reaction = active_reaction;\n\tvar previous_effect = active_effect;\n\tset_active_reaction(null);\n\tset_active_effect(null);\n\ttry {\n\t\treturn fn();\n\t} finally {\n\t\tset_active_reaction(previous_reaction);\n\t\tset_active_effect(previous_effect);\n\t}\n}\n\n/**\n * Listen to the given event, and then instantiate a global form reset listener if not already done,\n * to notify all bindings when the form is reset\n * @param {HTMLElement} element\n * @param {string} event\n * @param {(is_reset?: true) => void} handler\n * @param {(is_reset?: true) => void} [on_reset]\n */\nexport function listen_to_event_and_reset_event(element, event, handler, on_reset = handler) {\n\telement.addEventListener(event, () => without_reactive_context(handler));\n\t// @ts-expect-error\n\tconst prev = element.__on_r;\n\tif (prev) {\n\t\t// special case for checkbox that can have multiple binds (group & checked)\n\t\t// @ts-expect-error\n\t\telement.__on_r = () => {\n\t\t\tprev();\n\t\t\ton_reset(true);\n\t\t};\n\t} else {\n\t\t// @ts-expect-error\n\t\telement.__on_r = () => on_reset(true);\n\t}\n\n\tadd_form_reset_listener();\n}\n","/** @import { Location } from 'locate-character' */\nimport { teardown } from '../../reactivity/effects.js';\nimport { define_property, is_array } from '../../../shared/utils.js';\nimport { hydrating } from '../hydration.js';\nimport { queue_micro_task } from '../task.js';\nimport { FILENAME } from '../../../../constants.js';\nimport * as w from '../../warnings.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tset_active_effect,\n\tset_active_reaction\n} from '../../runtime.js';\nimport { without_reactive_context } from './bindings/shared.js';\n\n/** @type {Set} */\nexport const all_registered_events = new Set();\n\n/** @type {Set<(events: Array) => void>} */\nexport const root_event_handles = new Set();\n\n/**\n * SSR adds onload and onerror attributes to catch those events before the hydration.\n * This function detects those cases, removes the attributes and replays the events.\n * @param {HTMLElement} dom\n */\nexport function replay_events(dom) {\n\tif (!hydrating) return;\n\n\tif (dom.onload) {\n\t\tdom.removeAttribute('onload');\n\t}\n\tif (dom.onerror) {\n\t\tdom.removeAttribute('onerror');\n\t}\n\t// @ts-expect-error\n\tconst event = dom.__e;\n\tif (event !== undefined) {\n\t\t// @ts-expect-error\n\t\tdom.__e = undefined;\n\t\tqueueMicrotask(() => {\n\t\t\tif (dom.isConnected) {\n\t\t\t\tdom.dispatchEvent(event);\n\t\t\t}\n\t\t});\n\t}\n}\n\n/**\n * @param {string} event_name\n * @param {EventTarget} dom\n * @param {EventListener} [handler]\n * @param {AddEventListenerOptions} [options]\n */\nexport function create_event(event_name, dom, handler, options = {}) {\n\t/**\n\t * @this {EventTarget}\n\t */\n\tfunction target_handler(/** @type {Event} */ event) {\n\t\tif (!options.capture) {\n\t\t\t// Only call in the bubble phase, else delegated events would be called before the capturing events\n\t\t\thandle_event_propagation.call(dom, event);\n\t\t}\n\t\tif (!event.cancelBubble) {\n\t\t\treturn without_reactive_context(() => {\n\t\t\t\treturn handler?.call(this, event);\n\t\t\t});\n\t\t}\n\t}\n\n\t// Chrome has a bug where pointer events don't work when attached to a DOM element that has been cloned\n\t// with cloneNode() and the DOM element is disconnected from the document. To ensure the event works, we\n\t// defer the attachment till after it's been appended to the document. TODO: remove this once Chrome fixes\n\t// this bug. The same applies to wheel events and touch events.\n\tif (\n\t\tevent_name.startsWith('pointer') ||\n\t\tevent_name.startsWith('touch') ||\n\t\tevent_name === 'wheel'\n\t) {\n\t\tqueue_micro_task(() => {\n\t\t\tdom.addEventListener(event_name, target_handler, options);\n\t\t});\n\t} else {\n\t\tdom.addEventListener(event_name, target_handler, options);\n\t}\n\n\treturn target_handler;\n}\n\n/**\n * Attaches an event handler to an element and returns a function that removes the handler. Using this\n * rather than `addEventListener` will preserve the correct order relative to handlers added declaratively\n * (with attributes like `onclick`), which use event delegation for performance reasons\n *\n * @param {EventTarget} element\n * @param {string} type\n * @param {EventListener} handler\n * @param {AddEventListenerOptions} [options]\n */\nexport function on(element, type, handler, options = {}) {\n\tvar target_handler = create_event(type, element, handler, options);\n\n\treturn () => {\n\t\telement.removeEventListener(type, target_handler, options);\n\t};\n}\n\n/**\n * @param {string} event_name\n * @param {Element} dom\n * @param {EventListener} [handler]\n * @param {boolean} [capture]\n * @param {boolean} [passive]\n * @returns {void}\n */\nexport function event(event_name, dom, handler, capture, passive) {\n\tvar options = { capture, passive };\n\tvar target_handler = create_event(event_name, dom, handler, options);\n\n\t// @ts-ignore\n\tif (dom === document.body || dom === window || dom === document) {\n\t\tteardown(() => {\n\t\t\tdom.removeEventListener(event_name, target_handler, options);\n\t\t});\n\t}\n}\n\n/**\n * @param {Array} events\n * @returns {void}\n */\nexport function delegate(events) {\n\tfor (var i = 0; i < events.length; i++) {\n\t\tall_registered_events.add(events[i]);\n\t}\n\n\tfor (var fn of root_event_handles) {\n\t\tfn(events);\n\t}\n}\n\n/**\n * @this {EventTarget}\n * @param {Event} event\n * @returns {void}\n */\nexport function handle_event_propagation(event) {\n\tvar handler_element = this;\n\tvar owner_document = /** @type {Node} */ (handler_element).ownerDocument;\n\tvar event_name = event.type;\n\tvar path = event.composedPath?.() || [];\n\tvar current_target = /** @type {null | Element} */ (path[0] || event.target);\n\n\t// composedPath contains list of nodes the event has propagated through.\n\t// We check __root to skip all nodes below it in case this is a\n\t// parent of the __root node, which indicates that there's nested\n\t// mounted apps. In this case we don't want to trigger events multiple times.\n\tvar path_idx = 0;\n\n\t// @ts-expect-error is added below\n\tvar handled_at = event.__root;\n\n\tif (handled_at) {\n\t\tvar at_idx = path.indexOf(handled_at);\n\t\tif (\n\t\t\tat_idx !== -1 &&\n\t\t\t(handler_element === document || handler_element === /** @type {any} */ (window))\n\t\t) {\n\t\t\t// This is the fallback document listener or a window listener, but the event was already handled\n\t\t\t// -> ignore, but set handle_at to document/window so that we're resetting the event\n\t\t\t// chain in case someone manually dispatches the same event object again.\n\t\t\t// @ts-expect-error\n\t\t\tevent.__root = handler_element;\n\t\t\treturn;\n\t\t}\n\n\t\t// We're deliberately not skipping if the index is higher, because\n\t\t// someone could create an event programmatically and emit it multiple times,\n\t\t// in which case we want to handle the whole propagation chain properly each time.\n\t\t// (this will only be a false negative if the event is dispatched multiple times and\n\t\t// the fallback document listener isn't reached in between, but that's super rare)\n\t\tvar handler_idx = path.indexOf(handler_element);\n\t\tif (handler_idx === -1) {\n\t\t\t// handle_idx can theoretically be -1 (happened in some JSDOM testing scenarios with an event listener on the window object)\n\t\t\t// so guard against that, too, and assume that everything was handled at this point.\n\t\t\treturn;\n\t\t}\n\n\t\tif (at_idx <= handler_idx) {\n\t\t\tpath_idx = at_idx;\n\t\t}\n\t}\n\n\tcurrent_target = /** @type {Element} */ (path[path_idx] || event.target);\n\t// there can only be one delegated event per element, and we either already handled the current target,\n\t// or this is the very first target in the chain which has a non-delegated listener, in which case it's safe\n\t// to handle a possible delegated event on it later (through the root delegation listener for example).\n\tif (current_target === handler_element) return;\n\n\t// Proxy currentTarget to correct target\n\tdefine_property(event, 'currentTarget', {\n\t\tconfigurable: true,\n\t\tget() {\n\t\t\treturn current_target || owner_document;\n\t\t}\n\t});\n\n\t// This started because of Chromium issue https://chromestatus.com/feature/5128696823545856,\n\t// where removal or moving of of the DOM can cause sync `blur` events to fire, which can cause logic\n\t// to run inside the current `active_reaction`, which isn't what we want at all. However, on reflection,\n\t// it's probably best that all event handled by Svelte have this behaviour, as we don't really want\n\t// an event handler to run in the context of another reaction or effect.\n\tvar previous_reaction = active_reaction;\n\tvar previous_effect = active_effect;\n\tset_active_reaction(null);\n\tset_active_effect(null);\n\n\ttry {\n\t\t/**\n\t\t * @type {unknown}\n\t\t */\n\t\tvar throw_error;\n\t\t/**\n\t\t * @type {unknown[]}\n\t\t */\n\t\tvar other_errors = [];\n\n\t\twhile (current_target !== null) {\n\t\t\t/** @type {null | Element} */\n\t\t\tvar parent_element =\n\t\t\t\tcurrent_target.assignedSlot ||\n\t\t\t\tcurrent_target.parentNode ||\n\t\t\t\t/** @type {any} */ (current_target).host ||\n\t\t\t\tnull;\n\n\t\t\ttry {\n\t\t\t\t// @ts-expect-error\n\t\t\t\tvar delegated = current_target['__' + event_name];\n\n\t\t\t\tif (\n\t\t\t\t\tdelegated != null &&\n\t\t\t\t\t(!(/** @type {any} */ (current_target).disabled) ||\n\t\t\t\t\t\t// DOM could've been updated already by the time this is reached, so we check this as well\n\t\t\t\t\t\t// -> the target could not have been disabled because it emits the event in the first place\n\t\t\t\t\t\tevent.target === current_target)\n\t\t\t\t) {\n\t\t\t\t\tif (is_array(delegated)) {\n\t\t\t\t\t\tvar [fn, ...data] = delegated;\n\t\t\t\t\t\tfn.apply(current_target, [event, ...data]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdelegated.call(current_target, event);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (throw_error) {\n\t\t\t\t\tother_errors.push(error);\n\t\t\t\t} else {\n\t\t\t\t\tthrow_error = error;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (event.cancelBubble || parent_element === handler_element || parent_element === null) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcurrent_target = parent_element;\n\t\t}\n\n\t\tif (throw_error) {\n\t\t\tfor (let error of other_errors) {\n\t\t\t\t// Throw the rest of the errors, one-by-one on a microtask\n\t\t\t\tqueueMicrotask(() => {\n\t\t\t\t\tthrow error;\n\t\t\t\t});\n\t\t\t}\n\t\t\tthrow throw_error;\n\t\t}\n\t} finally {\n\t\t// @ts-expect-error is used above\n\t\tevent.__root = handler_element;\n\t\t// @ts-ignore remove proxy on currentTarget\n\t\tdelete event.currentTarget;\n\t\tset_active_reaction(previous_reaction);\n\t\tset_active_effect(previous_effect);\n\t}\n}\n\n/**\n * In dev, warn if an event handler is not a function, as it means the\n * user probably called the handler or forgot to add a `() =>`\n * @param {() => (event: Event, ...args: any) => void} thunk\n * @param {EventTarget} element\n * @param {[Event, ...any]} args\n * @param {any} component\n * @param {[number, number]} [loc]\n * @param {boolean} [remove_parens]\n */\nexport function apply(\n\tthunk,\n\telement,\n\targs,\n\tcomponent,\n\tloc,\n\thas_side_effects = false,\n\tremove_parens = false\n) {\n\tlet handler;\n\tlet error;\n\n\ttry {\n\t\thandler = thunk();\n\t} catch (e) {\n\t\terror = e;\n\t}\n\n\tif (typeof handler !== 'function' && (has_side_effects || handler != null || error)) {\n\t\tconst filename = component?.[FILENAME];\n\t\tconst location = loc ? ` at ${filename}:${loc[0]}:${loc[1]}` : ` in ${filename}`;\n\t\tconst phase = args[0]?.eventPhase < Event.BUBBLING_PHASE ? 'capture' : '';\n\t\tconst event_name = args[0]?.type + phase;\n\t\tconst description = `\\`${event_name}\\` handler${location}`;\n\t\tconst suggestion = remove_parens ? 'remove the trailing `()`' : 'add a leading `() =>`';\n\n\t\tw.event_handler_invalid(description, suggestion);\n\n\t\tif (error) {\n\t\t\tthrow error;\n\t\t}\n\t}\n\thandler?.apply(element, args);\n}\n","/** @import { TemplateNode } from '#client' */\nimport { hydrate_node, hydrating, set_hydrate_node, set_hydrating } from '../hydration.js';\nimport { create_text, get_first_child, get_next_sibling } from '../operations.js';\nimport { block } from '../../reactivity/effects.js';\nimport { HEAD_EFFECT } from '../../constants.js';\nimport { HYDRATION_START } from '../../../../constants.js';\n\n/**\n * @type {Node | undefined}\n */\nlet head_anchor;\n\nexport function reset_head_anchor() {\n\thead_anchor = undefined;\n}\n\n/**\n * @param {(anchor: Node) => void} render_fn\n * @returns {void}\n */\nexport function head(render_fn) {\n\t// The head function may be called after the first hydration pass and ssr comment nodes may still be present,\n\t// therefore we need to skip that when we detect that we're not in hydration mode.\n\tlet previous_hydrate_node = null;\n\tlet was_hydrating = hydrating;\n\n\t/** @type {Comment | Text} */\n\tvar anchor;\n\n\tif (hydrating) {\n\t\tprevious_hydrate_node = hydrate_node;\n\n\t\t// There might be multiple head blocks in our app, so we need to account for each one needing independent hydration.\n\t\tif (head_anchor === undefined) {\n\t\t\thead_anchor = /** @type {TemplateNode} */ (get_first_child(document.head));\n\t\t}\n\n\t\twhile (\n\t\t\thead_anchor !== null &&\n\t\t\t(head_anchor.nodeType !== 8 || /** @type {Comment} */ (head_anchor).data !== HYDRATION_START)\n\t\t) {\n\t\t\thead_anchor = /** @type {TemplateNode} */ (get_next_sibling(head_anchor));\n\t\t}\n\n\t\t// If we can't find an opening hydration marker, skip hydration (this can happen\n\t\t// if a framework rendered body but not head content)\n\t\tif (head_anchor === null) {\n\t\t\tset_hydrating(false);\n\t\t} else {\n\t\t\thead_anchor = set_hydrate_node(/** @type {TemplateNode} */ (get_next_sibling(head_anchor)));\n\t\t}\n\t}\n\n\tif (!hydrating) {\n\t\tanchor = document.head.appendChild(create_text());\n\t}\n\n\ttry {\n\t\tblock(() => render_fn(anchor), HEAD_EFFECT);\n\t} finally {\n\t\tif (was_hydrating) {\n\t\t\tset_hydrating(true);\n\t\t\thead_anchor = hydrate_node; // so that next head block starts from the correct node\n\t\t\tset_hydrate_node(/** @type {TemplateNode} */ (previous_hydrate_node));\n\t\t}\n\t}\n}\n","/** @param {string} html */\nexport function create_fragment_from_html(html) {\n\tvar elem = document.createElement('template');\n\telem.innerHTML = html;\n\treturn elem.content;\n}\n","/** @import { Effect, TemplateNode } from '#client' */\nimport { hydrate_next, hydrate_node, hydrating, set_hydrate_node } from './hydration.js';\nimport { create_text, get_first_child, is_firefox } from './operations.js';\nimport { create_fragment_from_html } from './reconciler.js';\nimport { active_effect } from '../runtime.js';\nimport { TEMPLATE_FRAGMENT, TEMPLATE_USE_IMPORT_NODE } from '../../../constants.js';\n\n/**\n * @param {TemplateNode} start\n * @param {TemplateNode | null} end\n */\nexport function assign_nodes(start, end) {\n\tvar effect = /** @type {Effect} */ (active_effect);\n\tif (effect.nodes_start === null) {\n\t\teffect.nodes_start = start;\n\t\teffect.nodes_end = end;\n\t}\n}\n\n/**\n * @param {string} content\n * @param {number} flags\n * @returns {() => Node | Node[]}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function template(content, flags) {\n\tvar is_fragment = (flags & TEMPLATE_FRAGMENT) !== 0;\n\tvar use_import_node = (flags & TEMPLATE_USE_IMPORT_NODE) !== 0;\n\n\t/** @type {Node} */\n\tvar node;\n\n\t/**\n\t * Whether or not the first item is a text/element node. If not, we need to\n\t * create an additional comment node to act as `effect.nodes.start`\n\t */\n\tvar has_start = !content.startsWith('');\n\n\treturn () => {\n\t\tif (hydrating) {\n\t\t\tassign_nodes(hydrate_node, null);\n\t\t\treturn hydrate_node;\n\t\t}\n\n\t\tif (node === undefined) {\n\t\t\tnode = create_fragment_from_html(has_start ? content : '' + content);\n\t\t\tif (!is_fragment) node = /** @type {Node} */ (get_first_child(node));\n\t\t}\n\n\t\tvar clone = /** @type {TemplateNode} */ (\n\t\t\tuse_import_node || is_firefox ? document.importNode(node, true) : node.cloneNode(true)\n\t\t);\n\n\t\tif (is_fragment) {\n\t\t\tvar start = /** @type {TemplateNode} */ (get_first_child(clone));\n\t\t\tvar end = /** @type {TemplateNode} */ (clone.lastChild);\n\n\t\t\tassign_nodes(start, end);\n\t\t} else {\n\t\t\tassign_nodes(clone, clone);\n\t\t}\n\n\t\treturn clone;\n\t};\n}\n\n/**\n * @param {string} content\n * @param {number} flags\n * @returns {() => Node | Node[]}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function template_with_script(content, flags) {\n\tvar fn = template(content, flags);\n\treturn () => run_scripts(/** @type {Element | DocumentFragment} */ (fn()));\n}\n\n/**\n * @param {string} content\n * @param {number} flags\n * @param {'svg' | 'math'} ns\n * @returns {() => Node | Node[]}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function ns_template(content, flags, ns = 'svg') {\n\t/**\n\t * Whether or not the first item is a text/element node. If not, we need to\n\t * create an additional comment node to act as `effect.nodes.start`\n\t */\n\tvar has_start = !content.startsWith('');\n\n\tvar is_fragment = (flags & TEMPLATE_FRAGMENT) !== 0;\n\tvar wrapped = `<${ns}>${has_start ? content : '' + content}`;\n\n\t/** @type {Element | DocumentFragment} */\n\tvar node;\n\n\treturn () => {\n\t\tif (hydrating) {\n\t\t\tassign_nodes(hydrate_node, null);\n\t\t\treturn hydrate_node;\n\t\t}\n\n\t\tif (!node) {\n\t\t\tvar fragment = /** @type {DocumentFragment} */ (create_fragment_from_html(wrapped));\n\t\t\tvar root = /** @type {Element} */ (get_first_child(fragment));\n\n\t\t\tif (is_fragment) {\n\t\t\t\tnode = document.createDocumentFragment();\n\t\t\t\twhile (get_first_child(root)) {\n\t\t\t\t\tnode.appendChild(/** @type {Node} */ (get_first_child(root)));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tnode = /** @type {Element} */ (get_first_child(root));\n\t\t\t}\n\t\t}\n\n\t\tvar clone = /** @type {TemplateNode} */ (node.cloneNode(true));\n\n\t\tif (is_fragment) {\n\t\t\tvar start = /** @type {TemplateNode} */ (get_first_child(clone));\n\t\t\tvar end = /** @type {TemplateNode} */ (clone.lastChild);\n\n\t\t\tassign_nodes(start, end);\n\t\t} else {\n\t\t\tassign_nodes(clone, clone);\n\t\t}\n\n\t\treturn clone;\n\t};\n}\n\n/**\n * @param {string} content\n * @param {number} flags\n * @returns {() => Node | Node[]}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function svg_template_with_script(content, flags) {\n\tvar fn = ns_template(content, flags);\n\treturn () => run_scripts(/** @type {Element | DocumentFragment} */ (fn()));\n}\n\n/**\n * @param {string} content\n * @param {number} flags\n * @returns {() => Node | Node[]}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function mathml_template(content, flags) {\n\treturn ns_template(content, flags, 'math');\n}\n\n/**\n * Creating a document fragment from HTML that contains script tags will not execute\n * the scripts. We need to replace the script tags with new ones so that they are executed.\n * @param {Element | DocumentFragment} node\n * @returns {Node | Node[]}\n */\nfunction run_scripts(node) {\n\t// scripts were SSR'd, in which case they will run\n\tif (hydrating) return node;\n\n\tconst is_fragment = node.nodeType === 11;\n\tconst scripts =\n\t\t/** @type {HTMLElement} */ (node).tagName === 'SCRIPT'\n\t\t\t? [/** @type {HTMLScriptElement} */ (node)]\n\t\t\t: node.querySelectorAll('script');\n\tconst effect = /** @type {Effect} */ (active_effect);\n\n\tfor (const script of scripts) {\n\t\tconst clone = document.createElement('script');\n\t\tfor (var attribute of script.attributes) {\n\t\t\tclone.setAttribute(attribute.name, attribute.value);\n\t\t}\n\n\t\tclone.textContent = script.textContent;\n\n\t\t// The script has changed - if it's at the edges, the effect now points at dead nodes\n\t\tif (is_fragment ? node.firstChild === script : node === script) {\n\t\t\teffect.nodes_start = clone;\n\t\t}\n\t\tif (is_fragment ? node.lastChild === script : node === script) {\n\t\t\teffect.nodes_end = clone;\n\t\t}\n\n\t\tscript.replaceWith(clone);\n\t}\n\treturn node;\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @param {any} value\n */\nexport function text(value = '') {\n\tif (!hydrating) {\n\t\tvar t = create_text(value + '');\n\t\tassign_nodes(t, t);\n\t\treturn t;\n\t}\n\n\tvar node = hydrate_node;\n\n\tif (node.nodeType !== 3) {\n\t\t// if an {expression} is empty during SSR, we need to insert an empty text node\n\t\tnode.before((node = create_text()));\n\t\tset_hydrate_node(node);\n\t}\n\n\tassign_nodes(node, node);\n\treturn node;\n}\n\nexport function comment() {\n\t// we're not delegating to `template` here for performance reasons\n\tif (hydrating) {\n\t\tassign_nodes(hydrate_node, null);\n\t\treturn hydrate_node;\n\t}\n\n\tvar frag = document.createDocumentFragment();\n\tvar start = document.createComment('');\n\tvar anchor = create_text();\n\tfrag.append(start, anchor);\n\n\tassign_nodes(start, anchor);\n\n\treturn frag;\n}\n\n/**\n * Assign the created (or in hydration mode, traversed) dom elements to the current block\n * and insert the elements into the dom (in client mode).\n * @param {Text | Comment | Element} anchor\n * @param {DocumentFragment | Element} dom\n */\nexport function append(anchor, dom) {\n\tif (hydrating) {\n\t\t/** @type {Effect} */ (active_effect).nodes_end = hydrate_node;\n\t\thydrate_next();\n\t\treturn;\n\t}\n\n\tif (anchor === null) {\n\t\t// edge case — void `` with content\n\t\treturn;\n\t}\n\n\tanchor.before(/** @type {Node} */ (dom));\n}\n\n/**\n * Create (or hydrate) an unique UID for the component instance.\n */\nexport function props_id() {\n\tif (\n\t\thydrating &&\n\t\thydrate_node &&\n\t\thydrate_node.nodeType === 8 &&\n\t\thydrate_node.textContent?.startsWith(`#`)\n\t) {\n\t\tconst id = hydrate_node.textContent.substring(1);\n\t\thydrate_next();\n\t\treturn id;\n\t}\n\n\t// @ts-expect-error This way we ensure the id is unique even across Svelte runtimes\n\t(window.__svelte ??= {}).uid ??= 1;\n\n\t// @ts-expect-error\n\treturn `c${window.__svelte.uid++}`;\n}\n","/** @import { ComponentContext, Effect, TemplateNode } from '#client' */\n/** @import { Component, ComponentType, SvelteComponent, MountOptions } from '../../index.js' */\nimport { DEV } from 'esm-env';\nimport {\n\tclear_text_content,\n\tcreate_text,\n\tget_first_child,\n\tget_next_sibling,\n\tinit_operations\n} from './dom/operations.js';\nimport { HYDRATION_END, HYDRATION_ERROR, HYDRATION_START } from '../../constants.js';\nimport { active_effect } from './runtime.js';\nimport { push, pop, component_context } from './context.js';\nimport { component_root, branch } from './reactivity/effects.js';\nimport {\n\thydrate_next,\n\thydrate_node,\n\thydrating,\n\tset_hydrate_node,\n\tset_hydrating\n} from './dom/hydration.js';\nimport { array_from } from '../shared/utils.js';\nimport {\n\tall_registered_events,\n\thandle_event_propagation,\n\troot_event_handles\n} from './dom/elements/events.js';\nimport { reset_head_anchor } from './dom/blocks/svelte-head.js';\nimport * as w from './warnings.js';\nimport * as e from './errors.js';\nimport { assign_nodes } from './dom/template.js';\nimport { is_passive_event } from '../../utils.js';\n\n/**\n * This is normally true — block effects should run their intro transitions —\n * but is false during hydration (unless `options.intro` is `true`) and\n * when creating the children of a `` that just changed tag\n */\nexport let should_intro = true;\n\n/** @param {boolean} value */\nexport function set_should_intro(value) {\n\tshould_intro = value;\n}\n\n/**\n * @param {Element} text\n * @param {string} value\n * @returns {void}\n */\nexport function set_text(text, value) {\n\t// For objects, we apply string coercion (which might make things like $state array references in the template reactive) before diffing\n\tvar str = value == null ? '' : typeof value === 'object' ? value + '' : value;\n\t// @ts-expect-error\n\tif (str !== (text.__t ??= text.nodeValue)) {\n\t\t// @ts-expect-error\n\t\ttext.__t = str;\n\t\ttext.nodeValue = str + '';\n\t}\n}\n\n/**\n * Mounts a component to the given target and returns the exports and potentially the props (if compiled with `accessors: true`) of the component.\n * Transitions will play during the initial render unless the `intro` option is set to `false`.\n *\n * @template {Record} Props\n * @template {Record} Exports\n * @param {ComponentType> | Component} component\n * @param {MountOptions} options\n * @returns {Exports}\n */\nexport function mount(component, options) {\n\treturn _mount(component, options);\n}\n\n/**\n * Hydrates a component on the given target and returns the exports and potentially the props (if compiled with `accessors: true`) of the component\n *\n * @template {Record} Props\n * @template {Record} Exports\n * @param {ComponentType> | Component} component\n * @param {{} extends Props ? {\n * \t\ttarget: Document | Element | ShadowRoot;\n * \t\tprops?: Props;\n * \t\tevents?: Record any>;\n * \tcontext?: Map;\n * \t\tintro?: boolean;\n * \t\trecover?: boolean;\n * \t} : {\n * \t\ttarget: Document | Element | ShadowRoot;\n * \t\tprops: Props;\n * \t\tevents?: Record any>;\n * \tcontext?: Map;\n * \t\tintro?: boolean;\n * \t\trecover?: boolean;\n * \t}} options\n * @returns {Exports}\n */\nexport function hydrate(component, options) {\n\tinit_operations();\n\toptions.intro = options.intro ?? false;\n\tconst target = options.target;\n\tconst was_hydrating = hydrating;\n\tconst previous_hydrate_node = hydrate_node;\n\n\ttry {\n\t\tvar anchor = /** @type {TemplateNode} */ (get_first_child(target));\n\t\twhile (\n\t\t\tanchor &&\n\t\t\t(anchor.nodeType !== 8 || /** @type {Comment} */ (anchor).data !== HYDRATION_START)\n\t\t) {\n\t\t\tanchor = /** @type {TemplateNode} */ (get_next_sibling(anchor));\n\t\t}\n\n\t\tif (!anchor) {\n\t\t\tthrow HYDRATION_ERROR;\n\t\t}\n\n\t\tset_hydrating(true);\n\t\tset_hydrate_node(/** @type {Comment} */ (anchor));\n\t\thydrate_next();\n\n\t\tconst instance = _mount(component, { ...options, anchor });\n\n\t\tif (\n\t\t\thydrate_node === null ||\n\t\t\thydrate_node.nodeType !== 8 ||\n\t\t\t/** @type {Comment} */ (hydrate_node).data !== HYDRATION_END\n\t\t) {\n\t\t\tw.hydration_mismatch();\n\t\t\tthrow HYDRATION_ERROR;\n\t\t}\n\n\t\tset_hydrating(false);\n\n\t\treturn /** @type {Exports} */ (instance);\n\t} catch (error) {\n\t\tif (error === HYDRATION_ERROR) {\n\t\t\tif (options.recover === false) {\n\t\t\t\te.hydration_failed();\n\t\t\t}\n\n\t\t\t// If an error occured above, the operations might not yet have been initialised.\n\t\t\tinit_operations();\n\t\t\tclear_text_content(target);\n\n\t\t\tset_hydrating(false);\n\t\t\treturn mount(component, options);\n\t\t}\n\n\t\tthrow error;\n\t} finally {\n\t\tset_hydrating(was_hydrating);\n\t\tset_hydrate_node(previous_hydrate_node);\n\t\treset_head_anchor();\n\t}\n}\n\n/** @type {Map} */\nconst document_listeners = new Map();\n\n/**\n * @template {Record} Exports\n * @param {ComponentType> | Component} Component\n * @param {MountOptions} options\n * @returns {Exports}\n */\nfunction _mount(Component, { target, anchor, props = {}, events, context, intro = true }) {\n\tinit_operations();\n\n\tvar registered_events = new Set();\n\n\t/** @param {Array} events */\n\tvar event_handle = (events) => {\n\t\tfor (var i = 0; i < events.length; i++) {\n\t\t\tvar event_name = events[i];\n\n\t\t\tif (registered_events.has(event_name)) continue;\n\t\t\tregistered_events.add(event_name);\n\n\t\t\tvar passive = is_passive_event(event_name);\n\n\t\t\t// Add the event listener to both the container and the document.\n\t\t\t// The container listener ensures we catch events from within in case\n\t\t\t// the outer content stops propagation of the event.\n\t\t\ttarget.addEventListener(event_name, handle_event_propagation, { passive });\n\n\t\t\tvar n = document_listeners.get(event_name);\n\n\t\t\tif (n === undefined) {\n\t\t\t\t// The document listener ensures we catch events that originate from elements that were\n\t\t\t\t// manually moved outside of the container (e.g. via manual portals).\n\t\t\t\tdocument.addEventListener(event_name, handle_event_propagation, { passive });\n\t\t\t\tdocument_listeners.set(event_name, 1);\n\t\t\t} else {\n\t\t\t\tdocument_listeners.set(event_name, n + 1);\n\t\t\t}\n\t\t}\n\t};\n\n\tevent_handle(array_from(all_registered_events));\n\troot_event_handles.add(event_handle);\n\n\t/** @type {Exports} */\n\t// @ts-expect-error will be defined because the render effect runs synchronously\n\tvar component = undefined;\n\n\tvar unmount = component_root(() => {\n\t\tvar anchor_node = anchor ?? target.appendChild(create_text());\n\n\t\tbranch(() => {\n\t\t\tif (context) {\n\t\t\t\tpush({});\n\t\t\t\tvar ctx = /** @type {ComponentContext} */ (component_context);\n\t\t\t\tctx.c = context;\n\t\t\t}\n\n\t\t\tif (events) {\n\t\t\t\t// We can't spread the object or else we'd lose the state proxy stuff, if it is one\n\t\t\t\t/** @type {any} */ (props).$$events = events;\n\t\t\t}\n\n\t\t\tif (hydrating) {\n\t\t\t\tassign_nodes(/** @type {TemplateNode} */ (anchor_node), null);\n\t\t\t}\n\n\t\t\tshould_intro = intro;\n\t\t\t// @ts-expect-error the public typings are not what the actual function looks like\n\t\t\tcomponent = Component(anchor_node, props) || {};\n\t\t\tshould_intro = true;\n\n\t\t\tif (hydrating) {\n\t\t\t\t/** @type {Effect} */ (active_effect).nodes_end = hydrate_node;\n\t\t\t}\n\n\t\t\tif (context) {\n\t\t\t\tpop();\n\t\t\t}\n\t\t});\n\n\t\treturn () => {\n\t\t\tfor (var event_name of registered_events) {\n\t\t\t\ttarget.removeEventListener(event_name, handle_event_propagation);\n\n\t\t\t\tvar n = /** @type {number} */ (document_listeners.get(event_name));\n\n\t\t\t\tif (--n === 0) {\n\t\t\t\t\tdocument.removeEventListener(event_name, handle_event_propagation);\n\t\t\t\t\tdocument_listeners.delete(event_name);\n\t\t\t\t} else {\n\t\t\t\t\tdocument_listeners.set(event_name, n);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\troot_event_handles.delete(event_handle);\n\n\t\t\tif (anchor_node !== anchor) {\n\t\t\t\tanchor_node.parentNode?.removeChild(anchor_node);\n\t\t\t}\n\t\t};\n\t});\n\n\tmounted_components.set(component, unmount);\n\treturn component;\n}\n\n/**\n * References of the components that were mounted or hydrated.\n * Uses a `WeakMap` to avoid memory leaks.\n */\nlet mounted_components = new WeakMap();\n\n/**\n * Unmounts a component that was previously mounted using `mount` or `hydrate`.\n *\n * Since 5.13.0, if `options.outro` is `true`, [transitions](https://svelte.dev/docs/svelte/transition) will play before the component is removed from the DOM.\n *\n * Returns a `Promise` that resolves after transitions have completed if `options.outro` is true, or immediately otherwise (prior to 5.13.0, returns `void`).\n *\n * ```js\n * import { mount, unmount } from 'svelte';\n * import App from './App.svelte';\n *\n * const app = mount(App, { target: document.body });\n *\n * // later...\n * unmount(app, { outro: true });\n * ```\n * @param {Record} component\n * @param {{ outro?: boolean }} [options]\n * @returns {Promise}\n */\nexport function unmount(component, options) {\n\tconst fn = mounted_components.get(component);\n\n\tif (fn) {\n\t\tmounted_components.delete(component);\n\t\treturn fn(options);\n\t}\n\n\tif (DEV) {\n\t\tw.lifecycle_double_unmount();\n\t}\n\n\treturn Promise.resolve();\n}\n","/** @import { Effect, TemplateNode } from '#client' */\nimport { EFFECT_TRANSPARENT } from '../../constants.js';\nimport {\n\thydrate_next,\n\thydrate_node,\n\thydrating,\n\tremove_nodes,\n\tset_hydrate_node,\n\tset_hydrating\n} from '../hydration.js';\nimport { block, branch, pause_effect, resume_effect } from '../../reactivity/effects.js';\nimport { HYDRATION_START, HYDRATION_START_ELSE, UNINITIALIZED } from '../../../../constants.js';\n\n/**\n * @param {TemplateNode} node\n * @param {(branch: (fn: (anchor: Node, elseif?: [number,number]) => void, flag?: boolean) => void) => void} fn\n * @param {[number,number]} [elseif]\n * @returns {void}\n */\nexport function if_block(node, fn, [root_index, hydrate_index] = [0, 0]) {\n\tif (hydrating && root_index === 0) {\n\t\thydrate_next();\n\t}\n\n\tvar anchor = node;\n\n\t/** @type {Effect | null} */\n\tvar consequent_effect = null;\n\n\t/** @type {Effect | null} */\n\tvar alternate_effect = null;\n\n\t/** @type {UNINITIALIZED | boolean | null} */\n\tvar condition = UNINITIALIZED;\n\n\tvar flags = root_index > 0 ? EFFECT_TRANSPARENT : 0;\n\n\tvar has_branch = false;\n\n\tconst set_branch = (\n\t\t/** @type {(anchor: Node, elseif?: [number,number]) => void} */ fn,\n\t\tflag = true\n\t) => {\n\t\thas_branch = true;\n\t\tupdate_branch(flag, fn);\n\t};\n\n\tconst update_branch = (\n\t\t/** @type {boolean | null} */ new_condition,\n\t\t/** @type {null | ((anchor: Node, elseif?: [number,number]) => void)} */ fn\n\t) => {\n\t\tif (condition === (condition = new_condition)) return;\n\n\t\t/** Whether or not there was a hydration mismatch. Needs to be a `let` or else it isn't treeshaken out */\n\t\tlet mismatch = false;\n\n\t\tif (hydrating && hydrate_index !== -1) {\n\t\t\tif (root_index === 0) {\n\t\t\t\tconst data = /** @type {Comment} */ (anchor).data;\n\t\t\t\tif (data === HYDRATION_START) {\n\t\t\t\t\thydrate_index = 0;\n\t\t\t\t} else if (data === HYDRATION_START_ELSE) {\n\t\t\t\t\thydrate_index = Infinity;\n\t\t\t\t} else {\n\t\t\t\t\thydrate_index = parseInt(data.substring(1));\n\t\t\t\t\tif (hydrate_index !== hydrate_index) {\n\t\t\t\t\t\t// if hydrate_index is NaN\n\t\t\t\t\t\t// we set an invalid index to force mismatch\n\t\t\t\t\t\thydrate_index = condition ? Infinity : -1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst is_else = hydrate_index > root_index;\n\n\t\t\tif (!!condition === is_else) {\n\t\t\t\t// Hydration mismatch: remove everything inside the anchor and start fresh.\n\t\t\t\t// This could happen with `{#if browser}...{/if}`, for example\n\t\t\t\tanchor = remove_nodes();\n\n\t\t\t\tset_hydrate_node(anchor);\n\t\t\t\tset_hydrating(false);\n\t\t\t\tmismatch = true;\n\t\t\t\thydrate_index = -1; // ignore hydration in next else if\n\t\t\t}\n\t\t}\n\n\t\tif (condition) {\n\t\t\tif (consequent_effect) {\n\t\t\t\tresume_effect(consequent_effect);\n\t\t\t} else if (fn) {\n\t\t\t\tconsequent_effect = branch(() => fn(anchor));\n\t\t\t}\n\n\t\t\tif (alternate_effect) {\n\t\t\t\tpause_effect(alternate_effect, () => {\n\t\t\t\t\talternate_effect = null;\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tif (alternate_effect) {\n\t\t\t\tresume_effect(alternate_effect);\n\t\t\t} else if (fn) {\n\t\t\t\talternate_effect = branch(() => fn(anchor, [root_index + 1, hydrate_index]));\n\t\t\t}\n\n\t\t\tif (consequent_effect) {\n\t\t\t\tpause_effect(consequent_effect, () => {\n\t\t\t\t\tconsequent_effect = null;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (mismatch) {\n\t\t\t// continue in hydration mode\n\t\t\tset_hydrating(true);\n\t\t}\n\t};\n\n\tblock(() => {\n\t\thas_branch = false;\n\t\tfn(set_branch);\n\t\tif (!has_branch) {\n\t\t\tupdate_branch(null, null);\n\t\t}\n\t}, flags);\n\n\tif (hydrating) {\n\t\tanchor = hydrate_node;\n\t}\n}\n","/** @import { EachItem, EachState, Effect, MaybeSource, Source, TemplateNode, TransitionManager, Value } from '#client' */\nimport {\n\tEACH_INDEX_REACTIVE,\n\tEACH_IS_ANIMATED,\n\tEACH_IS_CONTROLLED,\n\tEACH_ITEM_IMMUTABLE,\n\tEACH_ITEM_REACTIVE,\n\tHYDRATION_END,\n\tHYDRATION_START_ELSE\n} from '../../../../constants.js';\nimport {\n\thydrate_next,\n\thydrate_node,\n\thydrating,\n\tremove_nodes,\n\tset_hydrate_node,\n\tset_hydrating\n} from '../hydration.js';\nimport {\n\tclear_text_content,\n\tcreate_text,\n\tget_first_child,\n\tget_next_sibling\n} from '../operations.js';\nimport {\n\tblock,\n\tbranch,\n\tdestroy_effect,\n\trun_out_transitions,\n\tpause_children,\n\tpause_effect,\n\tresume_effect\n} from '../../reactivity/effects.js';\nimport { source, mutable_source, internal_set } from '../../reactivity/sources.js';\nimport { array_from, is_array } from '../../../shared/utils.js';\nimport { INERT } from '../../constants.js';\nimport { queue_micro_task } from '../task.js';\nimport { active_effect, active_reaction, get } from '../../runtime.js';\nimport { DEV } from 'esm-env';\nimport { derived_safe_equal } from '../../reactivity/deriveds.js';\n\n/**\n * The row of a keyed each block that is currently updating. We track this\n * so that `animate:` directives have something to attach themselves to\n * @type {EachItem | null}\n */\nexport let current_each_item = null;\n\n/** @param {EachItem | null} item */\nexport function set_current_each_item(item) {\n\tcurrent_each_item = item;\n}\n\n/**\n * @param {any} _\n * @param {number} i\n */\nexport function index(_, i) {\n\treturn i;\n}\n\n/**\n * Pause multiple effects simultaneously, and coordinate their\n * subsequent destruction. Used in each blocks\n * @param {EachState} state\n * @param {EachItem[]} items\n * @param {null | Node} controlled_anchor\n * @param {Map} items_map\n */\nfunction pause_effects(state, items, controlled_anchor, items_map) {\n\t/** @type {TransitionManager[]} */\n\tvar transitions = [];\n\tvar length = items.length;\n\n\tfor (var i = 0; i < length; i++) {\n\t\tpause_children(items[i].e, transitions, true);\n\t}\n\n\tvar is_controlled = length > 0 && transitions.length === 0 && controlled_anchor !== null;\n\t// If we have a controlled anchor, it means that the each block is inside a single\n\t// DOM element, so we can apply a fast-path for clearing the contents of the element.\n\tif (is_controlled) {\n\t\tvar parent_node = /** @type {Element} */ (\n\t\t\t/** @type {Element} */ (controlled_anchor).parentNode\n\t\t);\n\t\tclear_text_content(parent_node);\n\t\tparent_node.append(/** @type {Element} */ (controlled_anchor));\n\t\titems_map.clear();\n\t\tlink(state, items[0].prev, items[length - 1].next);\n\t}\n\n\trun_out_transitions(transitions, () => {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tvar item = items[i];\n\t\t\tif (!is_controlled) {\n\t\t\t\titems_map.delete(item.k);\n\t\t\t\tlink(state, item.prev, item.next);\n\t\t\t}\n\t\t\tdestroy_effect(item.e, !is_controlled);\n\t\t}\n\t});\n}\n\n/**\n * @template V\n * @param {Element | Comment} node The next sibling node, or the parent node if this is a 'controlled' block\n * @param {number} flags\n * @param {() => V[]} get_collection\n * @param {(value: V, index: number) => any} get_key\n * @param {(anchor: Node, item: MaybeSource, index: MaybeSource) => void} render_fn\n * @param {null | ((anchor: Node) => void)} fallback_fn\n * @returns {void}\n */\nexport function each(node, flags, get_collection, get_key, render_fn, fallback_fn = null) {\n\tvar anchor = node;\n\n\t/** @type {EachState} */\n\tvar state = { flags, items: new Map(), first: null };\n\n\tvar is_controlled = (flags & EACH_IS_CONTROLLED) !== 0;\n\n\tif (is_controlled) {\n\t\tvar parent_node = /** @type {Element} */ (node);\n\n\t\tanchor = hydrating\n\t\t\t? set_hydrate_node(/** @type {Comment | Text} */ (get_first_child(parent_node)))\n\t\t\t: parent_node.appendChild(create_text());\n\t}\n\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\t/** @type {Effect | null} */\n\tvar fallback = null;\n\n\tvar was_empty = false;\n\n\t// TODO: ideally we could use derived for runes mode but because of the ability\n\t// to use a store which can be mutated, we can't do that here as mutating a store\n\t// will still result in the collection array being the same from the store\n\tvar each_array = derived_safe_equal(() => {\n\t\tvar collection = get_collection();\n\n\t\treturn is_array(collection) ? collection : collection == null ? [] : array_from(collection);\n\t});\n\n\tblock(() => {\n\t\tvar array = get(each_array);\n\t\tvar length = array.length;\n\n\t\tif (was_empty && length === 0) {\n\t\t\t// ignore updates if the array is empty,\n\t\t\t// and it already was empty on previous run\n\t\t\treturn;\n\t\t}\n\t\twas_empty = length === 0;\n\n\t\t/** `true` if there was a hydration mismatch. Needs to be a `let` or else it isn't treeshaken out */\n\t\tlet mismatch = false;\n\n\t\tif (hydrating) {\n\t\t\tvar is_else = /** @type {Comment} */ (anchor).data === HYDRATION_START_ELSE;\n\n\t\t\tif (is_else !== (length === 0)) {\n\t\t\t\t// hydration mismatch — remove the server-rendered DOM and start over\n\t\t\t\tanchor = remove_nodes();\n\n\t\t\t\tset_hydrate_node(anchor);\n\t\t\t\tset_hydrating(false);\n\t\t\t\tmismatch = true;\n\t\t\t}\n\t\t}\n\n\t\t// this is separate to the previous block because `hydrating` might change\n\t\tif (hydrating) {\n\t\t\t/** @type {EachItem | null} */\n\t\t\tvar prev = null;\n\n\t\t\t/** @type {EachItem} */\n\t\t\tvar item;\n\n\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\tif (\n\t\t\t\t\thydrate_node.nodeType === 8 &&\n\t\t\t\t\t/** @type {Comment} */ (hydrate_node).data === HYDRATION_END\n\t\t\t\t) {\n\t\t\t\t\t// The server rendered fewer items than expected,\n\t\t\t\t\t// so break out and continue appending non-hydrated items\n\t\t\t\t\tanchor = /** @type {Comment} */ (hydrate_node);\n\t\t\t\t\tmismatch = true;\n\t\t\t\t\tset_hydrating(false);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tvar value = array[i];\n\t\t\t\tvar key = get_key(value, i);\n\t\t\t\titem = create_item(\n\t\t\t\t\thydrate_node,\n\t\t\t\t\tstate,\n\t\t\t\t\tprev,\n\t\t\t\t\tnull,\n\t\t\t\t\tvalue,\n\t\t\t\t\tkey,\n\t\t\t\t\ti,\n\t\t\t\t\trender_fn,\n\t\t\t\t\tflags,\n\t\t\t\t\tget_collection\n\t\t\t\t);\n\t\t\t\tstate.items.set(key, item);\n\n\t\t\t\tprev = item;\n\t\t\t}\n\n\t\t\t// remove excess nodes\n\t\t\tif (length > 0) {\n\t\t\t\tset_hydrate_node(remove_nodes());\n\t\t\t}\n\t\t}\n\n\t\tif (!hydrating) {\n\t\t\treconcile(array, state, anchor, render_fn, flags, get_key, get_collection);\n\t\t}\n\n\t\tif (fallback_fn !== null) {\n\t\t\tif (length === 0) {\n\t\t\t\tif (fallback) {\n\t\t\t\t\tresume_effect(fallback);\n\t\t\t\t} else {\n\t\t\t\t\tfallback = branch(() => fallback_fn(anchor));\n\t\t\t\t}\n\t\t\t} else if (fallback !== null) {\n\t\t\t\tpause_effect(fallback, () => {\n\t\t\t\t\tfallback = null;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (mismatch) {\n\t\t\t// continue in hydration mode\n\t\t\tset_hydrating(true);\n\t\t}\n\n\t\t// When we mount the each block for the first time, the collection won't be\n\t\t// connected to this effect as the effect hasn't finished running yet and its deps\n\t\t// won't be assigned. However, it's possible that when reconciling the each block\n\t\t// that a mutation occurred and it's made the collection MAYBE_DIRTY, so reading the\n\t\t// collection again can provide consistency to the reactive graph again as the deriveds\n\t\t// will now be `CLEAN`.\n\t\tget(each_array);\n\t});\n\n\tif (hydrating) {\n\t\tanchor = hydrate_node;\n\t}\n}\n\n/**\n * Add, remove, or reorder items output by an each block as its input changes\n * @template V\n * @param {Array} array\n * @param {EachState} state\n * @param {Element | Comment | Text} anchor\n * @param {(anchor: Node, item: MaybeSource, index: number | Source, collection: () => V[]) => void} render_fn\n * @param {number} flags\n * @param {(value: V, index: number) => any} get_key\n * @param {() => V[]} get_collection\n * @returns {void}\n */\nfunction reconcile(array, state, anchor, render_fn, flags, get_key, get_collection) {\n\tvar is_animated = (flags & EACH_IS_ANIMATED) !== 0;\n\tvar should_update = (flags & (EACH_ITEM_REACTIVE | EACH_INDEX_REACTIVE)) !== 0;\n\n\tvar length = array.length;\n\tvar items = state.items;\n\tvar first = state.first;\n\tvar current = first;\n\n\t/** @type {undefined | Set} */\n\tvar seen;\n\n\t/** @type {EachItem | null} */\n\tvar prev = null;\n\n\t/** @type {undefined | Set} */\n\tvar to_animate;\n\n\t/** @type {EachItem[]} */\n\tvar matched = [];\n\n\t/** @type {EachItem[]} */\n\tvar stashed = [];\n\n\t/** @type {V} */\n\tvar value;\n\n\t/** @type {any} */\n\tvar key;\n\n\t/** @type {EachItem | undefined} */\n\tvar item;\n\n\t/** @type {number} */\n\tvar i;\n\n\tif (is_animated) {\n\t\tfor (i = 0; i < length; i += 1) {\n\t\t\tvalue = array[i];\n\t\t\tkey = get_key(value, i);\n\t\t\titem = items.get(key);\n\n\t\t\tif (item !== undefined) {\n\t\t\t\titem.a?.measure();\n\t\t\t\t(to_animate ??= new Set()).add(item);\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (i = 0; i < length; i += 1) {\n\t\tvalue = array[i];\n\t\tkey = get_key(value, i);\n\t\titem = items.get(key);\n\n\t\tif (item === undefined) {\n\t\t\tvar child_anchor = current ? /** @type {TemplateNode} */ (current.e.nodes_start) : anchor;\n\n\t\t\tprev = create_item(\n\t\t\t\tchild_anchor,\n\t\t\t\tstate,\n\t\t\t\tprev,\n\t\t\t\tprev === null ? state.first : prev.next,\n\t\t\t\tvalue,\n\t\t\t\tkey,\n\t\t\t\ti,\n\t\t\t\trender_fn,\n\t\t\t\tflags,\n\t\t\t\tget_collection\n\t\t\t);\n\n\t\t\titems.set(key, prev);\n\n\t\t\tmatched = [];\n\t\t\tstashed = [];\n\n\t\t\tcurrent = prev.next;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (should_update) {\n\t\t\tupdate_item(item, value, i, flags);\n\t\t}\n\n\t\tif ((item.e.f & INERT) !== 0) {\n\t\t\tresume_effect(item.e);\n\t\t\tif (is_animated) {\n\t\t\t\titem.a?.unfix();\n\t\t\t\t(to_animate ??= new Set()).delete(item);\n\t\t\t}\n\t\t}\n\n\t\tif (item !== current) {\n\t\t\tif (seen !== undefined && seen.has(item)) {\n\t\t\t\tif (matched.length < stashed.length) {\n\t\t\t\t\t// more efficient to move later items to the front\n\t\t\t\t\tvar start = stashed[0];\n\t\t\t\t\tvar j;\n\n\t\t\t\t\tprev = start.prev;\n\n\t\t\t\t\tvar a = matched[0];\n\t\t\t\t\tvar b = matched[matched.length - 1];\n\n\t\t\t\t\tfor (j = 0; j < matched.length; j += 1) {\n\t\t\t\t\t\tmove(matched[j], start, anchor);\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (j = 0; j < stashed.length; j += 1) {\n\t\t\t\t\t\tseen.delete(stashed[j]);\n\t\t\t\t\t}\n\n\t\t\t\t\tlink(state, a.prev, b.next);\n\t\t\t\t\tlink(state, prev, a);\n\t\t\t\t\tlink(state, b, start);\n\n\t\t\t\t\tcurrent = start;\n\t\t\t\t\tprev = b;\n\t\t\t\t\ti -= 1;\n\n\t\t\t\t\tmatched = [];\n\t\t\t\t\tstashed = [];\n\t\t\t\t} else {\n\t\t\t\t\t// more efficient to move earlier items to the back\n\t\t\t\t\tseen.delete(item);\n\t\t\t\t\tmove(item, current, anchor);\n\n\t\t\t\t\tlink(state, item.prev, item.next);\n\t\t\t\t\tlink(state, item, prev === null ? state.first : prev.next);\n\t\t\t\t\tlink(state, prev, item);\n\n\t\t\t\t\tprev = item;\n\t\t\t\t}\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tmatched = [];\n\t\t\tstashed = [];\n\n\t\t\twhile (current !== null && current.k !== key) {\n\t\t\t\t// If the each block isn't inert and an item has an effect that is already inert,\n\t\t\t\t// skip over adding it to our seen Set as the item is already being handled\n\t\t\t\tif ((current.e.f & INERT) === 0) {\n\t\t\t\t\t(seen ??= new Set()).add(current);\n\t\t\t\t}\n\t\t\t\tstashed.push(current);\n\t\t\t\tcurrent = current.next;\n\t\t\t}\n\n\t\t\tif (current === null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\titem = current;\n\t\t}\n\n\t\tmatched.push(item);\n\t\tprev = item;\n\t\tcurrent = item.next;\n\t}\n\n\tif (current !== null || seen !== undefined) {\n\t\tvar to_destroy = seen === undefined ? [] : array_from(seen);\n\n\t\twhile (current !== null) {\n\t\t\t// If the each block isn't inert, then inert effects are currently outroing and will be removed once the transition is finished\n\t\t\tif ((current.e.f & INERT) === 0) {\n\t\t\t\tto_destroy.push(current);\n\t\t\t}\n\t\t\tcurrent = current.next;\n\t\t}\n\n\t\tvar destroy_length = to_destroy.length;\n\n\t\tif (destroy_length > 0) {\n\t\t\tvar controlled_anchor = (flags & EACH_IS_CONTROLLED) !== 0 && length === 0 ? anchor : null;\n\n\t\t\tif (is_animated) {\n\t\t\t\tfor (i = 0; i < destroy_length; i += 1) {\n\t\t\t\t\tto_destroy[i].a?.measure();\n\t\t\t\t}\n\n\t\t\t\tfor (i = 0; i < destroy_length; i += 1) {\n\t\t\t\t\tto_destroy[i].a?.fix();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tpause_effects(state, to_destroy, controlled_anchor, items);\n\t\t}\n\t}\n\n\tif (is_animated) {\n\t\tqueue_micro_task(() => {\n\t\t\tif (to_animate === undefined) return;\n\t\t\tfor (item of to_animate) {\n\t\t\t\titem.a?.apply();\n\t\t\t}\n\t\t});\n\t}\n\n\t/** @type {Effect} */ (active_effect).first = state.first && state.first.e;\n\t/** @type {Effect} */ (active_effect).last = prev && prev.e;\n}\n\n/**\n * @param {EachItem} item\n * @param {any} value\n * @param {number} index\n * @param {number} type\n * @returns {void}\n */\nfunction update_item(item, value, index, type) {\n\tif ((type & EACH_ITEM_REACTIVE) !== 0) {\n\t\tinternal_set(item.v, value);\n\t}\n\n\tif ((type & EACH_INDEX_REACTIVE) !== 0) {\n\t\tinternal_set(/** @type {Value} */ (item.i), index);\n\t} else {\n\t\titem.i = index;\n\t}\n}\n\n/**\n * @template V\n * @param {Node} anchor\n * @param {EachState} state\n * @param {EachItem | null} prev\n * @param {EachItem | null} next\n * @param {V} value\n * @param {unknown} key\n * @param {number} index\n * @param {(anchor: Node, item: V | Source, index: number | Value, collection: () => V[]) => void} render_fn\n * @param {number} flags\n * @param {() => V[]} get_collection\n * @returns {EachItem}\n */\nfunction create_item(\n\tanchor,\n\tstate,\n\tprev,\n\tnext,\n\tvalue,\n\tkey,\n\tindex,\n\trender_fn,\n\tflags,\n\tget_collection\n) {\n\tvar previous_each_item = current_each_item;\n\tvar reactive = (flags & EACH_ITEM_REACTIVE) !== 0;\n\tvar mutable = (flags & EACH_ITEM_IMMUTABLE) === 0;\n\n\tvar v = reactive ? (mutable ? mutable_source(value) : source(value)) : value;\n\tvar i = (flags & EACH_INDEX_REACTIVE) === 0 ? index : source(index);\n\n\tif (DEV && reactive) {\n\t\t// For tracing purposes, we need to link the source signal we create with the\n\t\t// collection + index so that tracing works as intended\n\t\t/** @type {Value} */ (v).debug = () => {\n\t\t\tvar collection_index = typeof i === 'number' ? index : i.v;\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-expressions\n\t\t\tget_collection()[collection_index];\n\t\t};\n\t}\n\n\t/** @type {EachItem} */\n\tvar item = {\n\t\ti,\n\t\tv,\n\t\tk: key,\n\t\ta: null,\n\t\t// @ts-expect-error\n\t\te: null,\n\t\tprev,\n\t\tnext\n\t};\n\n\tcurrent_each_item = item;\n\n\ttry {\n\t\titem.e = branch(() => render_fn(anchor, v, i, get_collection), hydrating);\n\n\t\titem.e.prev = prev && prev.e;\n\t\titem.e.next = next && next.e;\n\n\t\tif (prev === null) {\n\t\t\tstate.first = item;\n\t\t} else {\n\t\t\tprev.next = item;\n\t\t\tprev.e.next = item.e;\n\t\t}\n\n\t\tif (next !== null) {\n\t\t\tnext.prev = item;\n\t\t\tnext.e.prev = item.e;\n\t\t}\n\n\t\treturn item;\n\t} finally {\n\t\tcurrent_each_item = previous_each_item;\n\t}\n}\n\n/**\n * @param {EachItem} item\n * @param {EachItem | null} next\n * @param {Text | Element | Comment} anchor\n */\nfunction move(item, next, anchor) {\n\tvar end = item.next ? /** @type {TemplateNode} */ (item.next.e.nodes_start) : anchor;\n\n\tvar dest = next ? /** @type {TemplateNode} */ (next.e.nodes_start) : anchor;\n\tvar node = /** @type {TemplateNode} */ (item.e.nodes_start);\n\n\twhile (node !== end) {\n\t\tvar next_node = /** @type {TemplateNode} */ (get_next_sibling(node));\n\t\tdest.before(node);\n\t\tnode = next_node;\n\t}\n}\n\n/**\n * @param {EachState} state\n * @param {EachItem | null} prev\n * @param {EachItem | null} next\n */\nfunction link(state, prev, next) {\n\tif (prev === null) {\n\t\tstate.first = next;\n\t} else {\n\t\tprev.next = next;\n\t\tprev.e.next = next && next.e;\n\t}\n\n\tif (next !== null) {\n\t\tnext.prev = prev;\n\t\tnext.e.prev = prev && prev.e;\n\t}\n}\n","/** @import { Effect, TemplateNode } from '#client' */\nimport { FILENAME, HYDRATION_ERROR } from '../../../../constants.js';\nimport { block, branch, destroy_effect } from '../../reactivity/effects.js';\nimport { hydrate_next, hydrate_node, hydrating, set_hydrate_node } from '../hydration.js';\nimport { create_fragment_from_html } from '../reconciler.js';\nimport { assign_nodes } from '../template.js';\nimport * as w from '../../warnings.js';\nimport { hash, sanitize_location } from '../../../../utils.js';\nimport { DEV } from 'esm-env';\nimport { dev_current_component_function } from '../../context.js';\nimport { get_first_child, get_next_sibling } from '../operations.js';\n\n/**\n * @param {Element} element\n * @param {string | null} server_hash\n * @param {string} value\n */\nfunction check_hash(element, server_hash, value) {\n\tif (!server_hash || server_hash === hash(String(value ?? ''))) return;\n\n\tlet location;\n\n\t// @ts-expect-error\n\tconst loc = element.__svelte_meta?.loc;\n\tif (loc) {\n\t\tlocation = `near ${loc.file}:${loc.line}:${loc.column}`;\n\t} else if (dev_current_component_function?.[FILENAME]) {\n\t\tlocation = `in ${dev_current_component_function[FILENAME]}`;\n\t}\n\n\tw.hydration_html_changed(sanitize_location(location));\n}\n\n/**\n * @param {Element | Text | Comment} node\n * @param {() => string} get_value\n * @param {boolean} svg\n * @param {boolean} mathml\n * @param {boolean} [skip_warning]\n * @returns {void}\n */\nexport function html(node, get_value, svg, mathml, skip_warning) {\n\tvar anchor = node;\n\n\tvar value = '';\n\n\t/** @type {Effect | undefined} */\n\tvar effect;\n\n\tblock(() => {\n\t\tif (value === (value = get_value() ?? '')) {\n\t\t\tif (hydrating) {\n\t\t\t\thydrate_next();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (effect !== undefined) {\n\t\t\tdestroy_effect(effect);\n\t\t\teffect = undefined;\n\t\t}\n\n\t\tif (value === '') return;\n\n\t\teffect = branch(() => {\n\t\t\tif (hydrating) {\n\t\t\t\t// We're deliberately not trying to repair mismatches between server and client,\n\t\t\t\t// as it's costly and error-prone (and it's an edge case to have a mismatch anyway)\n\t\t\t\tvar hash = /** @type {Comment} */ (hydrate_node).data;\n\t\t\t\tvar next = hydrate_next();\n\t\t\t\tvar last = next;\n\n\t\t\t\twhile (\n\t\t\t\t\tnext !== null &&\n\t\t\t\t\t(next.nodeType !== 8 || /** @type {Comment} */ (next).data !== '')\n\t\t\t\t) {\n\t\t\t\t\tlast = next;\n\t\t\t\t\tnext = /** @type {TemplateNode} */ (get_next_sibling(next));\n\t\t\t\t}\n\n\t\t\t\tif (next === null) {\n\t\t\t\t\tw.hydration_mismatch();\n\t\t\t\t\tthrow HYDRATION_ERROR;\n\t\t\t\t}\n\n\t\t\t\tif (DEV && !skip_warning) {\n\t\t\t\t\tcheck_hash(/** @type {Element} */ (next.parentNode), hash, value);\n\t\t\t\t}\n\n\t\t\t\tassign_nodes(hydrate_node, last);\n\t\t\t\tanchor = set_hydrate_node(next);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar html = value + '';\n\t\t\tif (svg) html = `${html}`;\n\t\t\telse if (mathml) html = `${html}`;\n\n\t\t\t// Don't use create_fragment_with_script_from_html here because that would mean script tags are executed.\n\t\t\t// @html is basically `.innerHTML = ...` and that doesn't execute scripts either due to security reasons.\n\t\t\t/** @type {DocumentFragment | Element} */\n\t\t\tvar node = create_fragment_from_html(html);\n\n\t\t\tif (svg || mathml) {\n\t\t\t\tnode = /** @type {Element} */ (get_first_child(node));\n\t\t\t}\n\n\t\t\tassign_nodes(\n\t\t\t\t/** @type {TemplateNode} */ (get_first_child(node)),\n\t\t\t\t/** @type {TemplateNode} */ (node.lastChild)\n\t\t\t);\n\n\t\t\tif (svg || mathml) {\n\t\t\t\twhile (get_first_child(node)) {\n\t\t\t\t\tanchor.before(/** @type {Node} */ (get_first_child(node)));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tanchor.before(node);\n\t\t\t}\n\t\t});\n\t});\n}\n","import { hydrate_next, hydrating } from '../hydration.js';\n\n/**\n * @param {Comment} anchor\n * @param {Record} $$props\n * @param {string} name\n * @param {Record} slot_props\n * @param {null | ((anchor: Comment) => void)} fallback_fn\n */\nexport function slot(anchor, $$props, name, slot_props, fallback_fn) {\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\tvar slot_fn = $$props.$$slots?.[name];\n\t// Interop: Can use snippets to fill slots\n\tvar is_interop = false;\n\tif (slot_fn === true) {\n\t\tslot_fn = $$props[name === 'default' ? 'children' : name];\n\t\tis_interop = true;\n\t}\n\n\tif (slot_fn === undefined) {\n\t\tif (fallback_fn !== null) {\n\t\t\tfallback_fn(anchor);\n\t\t}\n\t} else {\n\t\tslot_fn(anchor, is_interop ? () => slot_props : slot_props);\n\t}\n}\n\n/**\n * @param {Record} props\n * @returns {Record}\n */\nexport function sanitize_slots(props) {\n\t/** @type {Record} */\n\tconst sanitized = {};\n\tif (props.children) sanitized.default = true;\n\tfor (const key in props.$$slots) {\n\t\tsanitized[key] = true;\n\t}\n\treturn sanitized;\n}\n","/** @import { Snippet } from 'svelte' */\n/** @import { Effect, TemplateNode } from '#client' */\n/** @import { Getters } from '#shared' */\nimport { EFFECT_TRANSPARENT } from '../../constants.js';\nimport { branch, block, destroy_effect, teardown } from '../../reactivity/effects.js';\nimport {\n\tdev_current_component_function,\n\tset_dev_current_component_function\n} from '../../context.js';\nimport { hydrate_next, hydrate_node, hydrating } from '../hydration.js';\nimport { create_fragment_from_html } from '../reconciler.js';\nimport { assign_nodes } from '../template.js';\nimport * as w from '../../warnings.js';\nimport * as e from '../../errors.js';\nimport { DEV } from 'esm-env';\nimport { get_first_child, get_next_sibling } from '../operations.js';\nimport { noop } from '../../../shared/utils.js';\n\n/**\n * @template {(node: TemplateNode, ...args: any[]) => void} SnippetFn\n * @param {TemplateNode} node\n * @param {() => SnippetFn | null | undefined} get_snippet\n * @param {(() => any)[]} args\n * @returns {void}\n */\nexport function snippet(node, get_snippet, ...args) {\n\tvar anchor = node;\n\n\t/** @type {SnippetFn | null | undefined} */\n\t// @ts-ignore\n\tvar snippet = noop;\n\n\t/** @type {Effect | null} */\n\tvar snippet_effect;\n\n\tblock(() => {\n\t\tif (snippet === (snippet = get_snippet())) return;\n\n\t\tif (snippet_effect) {\n\t\t\tdestroy_effect(snippet_effect);\n\t\t\tsnippet_effect = null;\n\t\t}\n\n\t\tif (DEV && snippet == null) {\n\t\t\te.invalid_snippet();\n\t\t}\n\n\t\tsnippet_effect = branch(() => /** @type {SnippetFn} */ (snippet)(anchor, ...args));\n\t}, EFFECT_TRANSPARENT);\n\n\tif (hydrating) {\n\t\tanchor = hydrate_node;\n\t}\n}\n\n/**\n * In development, wrap the snippet function so that it passes validation, and so that the\n * correct component context is set for ownership checks\n * @param {any} component\n * @param {(node: TemplateNode, ...args: any[]) => void} fn\n */\nexport function wrap_snippet(component, fn) {\n\treturn (/** @type {TemplateNode} */ node, /** @type {any[]} */ ...args) => {\n\t\tvar previous_component_function = dev_current_component_function;\n\t\tset_dev_current_component_function(component);\n\n\t\ttry {\n\t\t\treturn fn(node, ...args);\n\t\t} finally {\n\t\t\tset_dev_current_component_function(previous_component_function);\n\t\t}\n\t};\n}\n\n/**\n * Create a snippet programmatically\n * @template {unknown[]} Params\n * @param {(...params: Getters) => {\n * render: () => string\n * setup?: (element: Element) => void | (() => void)\n * }} fn\n * @returns {Snippet}\n */\nexport function createRawSnippet(fn) {\n\t// @ts-expect-error the types are a lie\n\treturn (/** @type {TemplateNode} */ anchor, /** @type {Getters} */ ...params) => {\n\t\tvar snippet = fn(...params);\n\n\t\t/** @type {Element} */\n\t\tvar element;\n\n\t\tif (hydrating) {\n\t\t\telement = /** @type {Element} */ (hydrate_node);\n\t\t\thydrate_next();\n\t\t} else {\n\t\t\tvar html = snippet.render().trim();\n\t\t\tvar fragment = create_fragment_from_html(html);\n\t\t\telement = /** @type {Element} */ (get_first_child(fragment));\n\n\t\t\tif (DEV && (get_next_sibling(element) !== null || element.nodeType !== 1)) {\n\t\t\t\tw.invalid_raw_snippet_render();\n\t\t\t}\n\n\t\t\tanchor.before(element);\n\t\t}\n\n\t\tconst result = snippet.setup?.(element);\n\t\tassign_nodes(element, element);\n\n\t\tif (typeof result === 'function') {\n\t\t\tteardown(result);\n\t\t}\n\t};\n}\n","/** @import { TemplateNode, Dom, Effect } from '#client' */\nimport { EFFECT_TRANSPARENT } from '../../constants.js';\nimport { block, branch, pause_effect } from '../../reactivity/effects.js';\nimport { hydrate_next, hydrate_node, hydrating } from '../hydration.js';\n\n/**\n * @template P\n * @template {(props: P) => void} C\n * @param {TemplateNode} node\n * @param {() => C} get_component\n * @param {(anchor: TemplateNode, component: C) => Dom | void} render_fn\n * @returns {void}\n */\nexport function component(node, get_component, render_fn) {\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\tvar anchor = node;\n\n\t/** @type {C} */\n\tvar component;\n\n\t/** @type {Effect | null} */\n\tvar effect;\n\n\tblock(() => {\n\t\tif (component === (component = get_component())) return;\n\n\t\tif (effect) {\n\t\t\tpause_effect(effect);\n\t\t\teffect = null;\n\t\t}\n\n\t\tif (component) {\n\t\t\teffect = branch(() => render_fn(anchor, component));\n\t\t}\n\t}, EFFECT_TRANSPARENT);\n\n\tif (hydrating) {\n\t\tanchor = hydrate_node;\n\t}\n}\n","/** @import { Effect, TemplateNode } from '#client' */\nimport { FILENAME, NAMESPACE_SVG } from '../../../../constants.js';\nimport {\n\thydrate_next,\n\thydrate_node,\n\thydrating,\n\tset_hydrate_node,\n\tset_hydrating\n} from '../hydration.js';\nimport { create_text, get_first_child } from '../operations.js';\nimport {\n\tblock,\n\tbranch,\n\tdestroy_effect,\n\tpause_effect,\n\tresume_effect\n} from '../../reactivity/effects.js';\nimport { set_should_intro } from '../../render.js';\nimport { current_each_item, set_current_each_item } from './each.js';\nimport { active_effect } from '../../runtime.js';\nimport { component_context } from '../../context.js';\nimport { DEV } from 'esm-env';\nimport { EFFECT_TRANSPARENT } from '../../constants.js';\nimport { assign_nodes } from '../template.js';\nimport { is_raw_text_element } from '../../../../utils.js';\n\n/**\n * @param {Comment | Element} node\n * @param {() => string} get_tag\n * @param {boolean} is_svg\n * @param {undefined | ((element: Element, anchor: Node | null) => void)} render_fn,\n * @param {undefined | (() => string)} get_namespace\n * @param {undefined | [number, number]} location\n * @returns {void}\n */\nexport function element(node, get_tag, is_svg, render_fn, get_namespace, location) {\n\tlet was_hydrating = hydrating;\n\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\tvar filename = DEV && location && component_context?.function[FILENAME];\n\n\t/** @type {string | null} */\n\tvar tag;\n\n\t/** @type {string | null} */\n\tvar current_tag;\n\n\t/** @type {null | Element} */\n\tvar element = null;\n\n\tif (hydrating && hydrate_node.nodeType === 1) {\n\t\telement = /** @type {Element} */ (hydrate_node);\n\t\thydrate_next();\n\t}\n\n\tvar anchor = /** @type {TemplateNode} */ (hydrating ? hydrate_node : node);\n\n\t/** @type {Effect | null} */\n\tvar effect;\n\n\t/**\n\t * The keyed `{#each ...}` item block, if any, that this element is inside.\n\t * We track this so we can set it when changing the element, allowing any\n\t * `animate:` directive to bind itself to the correct block\n\t */\n\tvar each_item_block = current_each_item;\n\n\tblock(() => {\n\t\tconst next_tag = get_tag() || null;\n\t\tvar ns = get_namespace ? get_namespace() : is_svg || next_tag === 'svg' ? NAMESPACE_SVG : null;\n\n\t\t// Assumption: Noone changes the namespace but not the tag (what would that even mean?)\n\t\tif (next_tag === tag) return;\n\n\t\t// See explanation of `each_item_block` above\n\t\tvar previous_each_item = current_each_item;\n\t\tset_current_each_item(each_item_block);\n\n\t\tif (effect) {\n\t\t\tif (next_tag === null) {\n\t\t\t\t// start outro\n\t\t\t\tpause_effect(effect, () => {\n\t\t\t\t\teffect = null;\n\t\t\t\t\tcurrent_tag = null;\n\t\t\t\t});\n\t\t\t} else if (next_tag === current_tag) {\n\t\t\t\t// same tag as is currently rendered — abort outro\n\t\t\t\tresume_effect(effect);\n\t\t\t} else {\n\t\t\t\t// tag is changing — destroy immediately, render contents without intro transitions\n\t\t\t\tdestroy_effect(effect);\n\t\t\t\tset_should_intro(false);\n\t\t\t}\n\t\t}\n\n\t\tif (next_tag && next_tag !== current_tag) {\n\t\t\teffect = branch(() => {\n\t\t\t\telement = hydrating\n\t\t\t\t\t? /** @type {Element} */ (element)\n\t\t\t\t\t: ns\n\t\t\t\t\t\t? document.createElementNS(ns, next_tag)\n\t\t\t\t\t\t: document.createElement(next_tag);\n\n\t\t\t\tif (DEV && location) {\n\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\telement.__svelte_meta = {\n\t\t\t\t\t\tloc: {\n\t\t\t\t\t\t\tfile: filename,\n\t\t\t\t\t\t\tline: location[0],\n\t\t\t\t\t\t\tcolumn: location[1]\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tassign_nodes(element, element);\n\n\t\t\t\tif (render_fn) {\n\t\t\t\t\tif (hydrating && is_raw_text_element(next_tag)) {\n\t\t\t\t\t\t// prevent hydration glitches\n\t\t\t\t\t\telement.append(document.createComment(''));\n\t\t\t\t\t}\n\n\t\t\t\t\t// If hydrating, use the existing ssr comment as the anchor so that the\n\t\t\t\t\t// inner open and close methods can pick up the existing nodes correctly\n\t\t\t\t\tvar child_anchor = /** @type {TemplateNode} */ (\n\t\t\t\t\t\thydrating ? get_first_child(element) : element.appendChild(create_text())\n\t\t\t\t\t);\n\n\t\t\t\t\tif (hydrating) {\n\t\t\t\t\t\tif (child_anchor === null) {\n\t\t\t\t\t\t\tset_hydrating(false);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tset_hydrate_node(child_anchor);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// `child_anchor` is undefined if this is a void element, but we still\n\t\t\t\t\t// need to call `render_fn` in order to run actions etc. If the element\n\t\t\t\t\t// contains children, it's a user error (which is warned on elsewhere)\n\t\t\t\t\t// and the DOM will be silently discarded\n\t\t\t\t\trender_fn(element, child_anchor);\n\t\t\t\t}\n\n\t\t\t\t// we do this after calling `render_fn` so that child effects don't override `nodes.end`\n\t\t\t\t/** @type {Effect} */ (active_effect).nodes_end = element;\n\n\t\t\t\tanchor.before(element);\n\t\t\t});\n\t\t}\n\n\t\ttag = next_tag;\n\t\tif (tag) current_tag = tag;\n\t\tset_should_intro(true);\n\n\t\tset_current_each_item(previous_each_item);\n\t}, EFFECT_TRANSPARENT);\n\n\tif (was_hydrating) {\n\t\tset_hydrating(true);\n\t\tset_hydrate_node(anchor);\n\t}\n}\n","/** @import { ActionPayload } from '#client' */\nimport { effect, render_effect } from '../../reactivity/effects.js';\nimport { safe_not_equal } from '../../reactivity/equality.js';\nimport { deep_read_state, untrack } from '../../runtime.js';\n\n/**\n * @template P\n * @param {Element} dom\n * @param {(dom: Element, value?: P) => ActionPayload

} action\n * @param {() => P} [get_value]\n * @returns {void}\n */\nexport function action(dom, action, get_value) {\n\teffect(() => {\n\t\tvar payload = untrack(() => action(dom, get_value?.()) || {});\n\n\t\tif (get_value && payload?.update) {\n\t\t\tvar inited = false;\n\t\t\t/** @type {P} */\n\t\t\tvar prev = /** @type {any} */ ({}); // initialize with something so it's never equal on first run\n\n\t\t\trender_effect(() => {\n\t\t\t\tvar value = get_value();\n\n\t\t\t\t// Action's update method is coarse-grained, i.e. when anything in the passed value changes, update.\n\t\t\t\t// This works in legacy mode because of mutable_source being updated as a whole, but when using $state\n\t\t\t\t// together with actions and mutation, it wouldn't notice the change without a deep read.\n\t\t\t\tdeep_read_state(value);\n\n\t\t\t\tif (inited && safe_not_equal(prev, value)) {\n\t\t\t\t\tprev = value;\n\t\t\t\t\t/** @type {Function} */ (payload.update)(value);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tinited = true;\n\t\t}\n\n\t\tif (payload?.destroy) {\n\t\t\treturn () => /** @type {Function} */ (payload.destroy)();\n\t\t}\n\t});\n}\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t` should be rendered as `

` and _not_\n * `
`, which is equivalent to `
`. There\n * may be other odd cases that need to be added to this list in future\n * @type {Record>}\n */\nconst replacements = {\n\ttranslate: new Map([\n\t\t[true, 'yes'],\n\t\t[false, 'no']\n\t])\n};\n\n/**\n * @template V\n * @param {string} name\n * @param {V} value\n * @param {boolean} [is_boolean]\n * @returns {string}\n */\nexport function attr(name, value, is_boolean = false) {\n\tif (value == null || (!value && is_boolean)) return '';\n\tconst normalized = (name in replacements && replacements[name].get(value)) || value;\n\tconst assignment = is_boolean ? '' : `=\"${escape_html(normalized, true)}\"`;\n\treturn ` ${name}${assignment}`;\n}\n\n/**\n * Small wrapper around clsx to preserve Svelte's (weird) handling of falsy values.\n * TODO Svelte 6 revisit this, and likely turn all falsy values into the empty string (what clsx also does)\n * @param {any} value\n */\nexport function clsx(value) {\n\tif (typeof value === 'object') {\n\t\treturn _clsx(value);\n\t} else {\n\t\treturn value ?? '';\n\t}\n}\n\nconst whitespace = [...' \\t\\n\\r\\f\\u00a0\\u000b\\ufeff'];\n\n/**\n * @param {any} value\n * @param {string | null} [hash]\n * @param {Record} [directives]\n * @returns {string | null}\n */\nexport function to_class(value, hash, directives) {\n\tvar classname = value == null ? '' : '' + value;\n\n\tif (hash) {\n\t\tclassname = classname ? classname + ' ' + hash : hash;\n\t}\n\n\tif (directives) {\n\t\tfor (var key in directives) {\n\t\t\tif (directives[key]) {\n\t\t\t\tclassname = classname ? classname + ' ' + key : key;\n\t\t\t} else if (classname.length) {\n\t\t\t\tvar len = key.length;\n\t\t\t\tvar a = 0;\n\n\t\t\t\twhile ((a = classname.indexOf(key, a)) >= 0) {\n\t\t\t\t\tvar b = a + len;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t(a === 0 || whitespace.includes(classname[a - 1])) &&\n\t\t\t\t\t\t(b === classname.length || whitespace.includes(classname[b]))\n\t\t\t\t\t) {\n\t\t\t\t\t\tclassname = (a === 0 ? '' : classname.substring(0, a)) + classname.substring(b + 1);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ta = b;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn classname === '' ? null : classname;\n}\n\n/**\n *\n * @param {Record} styles\n * @param {boolean} important\n */\nfunction append_styles(styles, important = false) {\n\tvar separator = important ? ' !important;' : ';';\n\tvar css = '';\n\n\tfor (var key in styles) {\n\t\tvar value = styles[key];\n\t\tif (value != null && value !== '') {\n\t\t\tcss += ' ' + key + ': ' + value + separator;\n\t\t}\n\t}\n\n\treturn css;\n}\n\n/**\n * @param {string} name\n * @returns {string}\n */\nfunction to_css_name(name) {\n\tif (name[0] !== '-' || name[1] !== '-') {\n\t\treturn name.toLowerCase();\n\t}\n\treturn name;\n}\n\n/**\n * @param {any} value\n * @param {Record | [Record, Record]} [styles]\n * @returns {string | null}\n */\nexport function to_style(value, styles) {\n\tif (styles) {\n\t\tvar new_style = '';\n\n\t\t/** @type {Record | undefined} */\n\t\tvar normal_styles;\n\n\t\t/** @type {Record | undefined} */\n\t\tvar important_styles;\n\n\t\tif (Array.isArray(styles)) {\n\t\t\tnormal_styles = styles[0];\n\t\t\timportant_styles = styles[1];\n\t\t} else {\n\t\t\tnormal_styles = styles;\n\t\t}\n\n\t\tif (value) {\n\t\t\tvalue = String(value)\n\t\t\t\t.replaceAll(/\\s*\\/\\*.*?\\*\\/\\s*/g, '')\n\t\t\t\t.trim();\n\n\t\t\t/** @type {boolean | '\"' | \"'\"} */\n\t\t\tvar in_str = false;\n\t\t\tvar in_apo = 0;\n\t\t\tvar in_comment = false;\n\n\t\t\tvar reserved_names = [];\n\n\t\t\tif (normal_styles) {\n\t\t\t\treserved_names.push(...Object.keys(normal_styles).map(to_css_name));\n\t\t\t}\n\t\t\tif (important_styles) {\n\t\t\t\treserved_names.push(...Object.keys(important_styles).map(to_css_name));\n\t\t\t}\n\n\t\t\tvar start_index = 0;\n\t\t\tvar name_index = -1;\n\n\t\t\tconst len = value.length;\n\t\t\tfor (var i = 0; i < len; i++) {\n\t\t\t\tvar c = value[i];\n\n\t\t\t\tif (in_comment) {\n\t\t\t\t\tif (c === '/' && value[i - 1] === '*') {\n\t\t\t\t\t\tin_comment = false;\n\t\t\t\t\t}\n\t\t\t\t} else if (in_str) {\n\t\t\t\t\tif (in_str === c) {\n\t\t\t\t\t\tin_str = false;\n\t\t\t\t\t}\n\t\t\t\t} else if (c === '/' && value[i + 1] === '*') {\n\t\t\t\t\tin_comment = true;\n\t\t\t\t} else if (c === '\"' || c === \"'\") {\n\t\t\t\t\tin_str = c;\n\t\t\t\t} else if (c === '(') {\n\t\t\t\t\tin_apo++;\n\t\t\t\t} else if (c === ')') {\n\t\t\t\t\tin_apo--;\n\t\t\t\t}\n\n\t\t\t\tif (!in_comment && in_str === false && in_apo === 0) {\n\t\t\t\t\tif (c === ':' && name_index === -1) {\n\t\t\t\t\t\tname_index = i;\n\t\t\t\t\t} else if (c === ';' || i === len - 1) {\n\t\t\t\t\t\tif (name_index !== -1) {\n\t\t\t\t\t\t\tvar name = to_css_name(value.substring(start_index, name_index).trim());\n\n\t\t\t\t\t\t\tif (!reserved_names.includes(name)) {\n\t\t\t\t\t\t\t\tif (c !== ';') {\n\t\t\t\t\t\t\t\t\ti++;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tvar property = value.substring(start_index, i).trim();\n\t\t\t\t\t\t\t\tnew_style += ' ' + property + ';';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart_index = i + 1;\n\t\t\t\t\t\tname_index = -1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (normal_styles) {\n\t\t\tnew_style += append_styles(normal_styles);\n\t\t}\n\n\t\tif (important_styles) {\n\t\t\tnew_style += append_styles(important_styles, true);\n\t\t}\n\n\t\tnew_style = new_style.trim();\n\t\treturn new_style === '' ? null : new_style;\n\t}\n\n\treturn value == null ? null : String(value);\n}\n","import { to_class } from '../../../shared/attributes.js';\nimport { hydrating } from '../hydration.js';\n\n/**\n * @param {Element} dom\n * @param {boolean | number} is_html\n * @param {string | null} value\n * @param {string} [hash]\n * @param {Record} [prev_classes]\n * @param {Record} [next_classes]\n * @returns {Record | undefined}\n */\nexport function set_class(dom, is_html, value, hash, prev_classes, next_classes) {\n\t// @ts-expect-error need to add __className to patched prototype\n\tvar prev = dom.__className;\n\n\tif (hydrating || prev !== value) {\n\t\tvar next_class_name = to_class(value, hash, next_classes);\n\n\t\tif (!hydrating || next_class_name !== dom.getAttribute('class')) {\n\t\t\t// Removing the attribute when the value is only an empty string causes\n\t\t\t// performance issues vs simply making the className an empty string. So\n\t\t\t// we should only remove the class if the the value is nullish\n\t\t\t// and there no hash/directives :\n\t\t\tif (next_class_name == null) {\n\t\t\t\tdom.removeAttribute('class');\n\t\t\t} else if (is_html) {\n\t\t\t\tdom.className = next_class_name;\n\t\t\t} else {\n\t\t\t\tdom.setAttribute('class', next_class_name);\n\t\t\t}\n\t\t}\n\n\t\t// @ts-expect-error need to add __className to patched prototype\n\t\tdom.__className = value;\n\t} else if (next_classes && prev_classes !== next_classes) {\n\t\tfor (var key in next_classes) {\n\t\t\tvar is_present = !!next_classes[key];\n\n\t\t\tif (prev_classes == null || is_present !== !!prev_classes[key]) {\n\t\t\t\tdom.classList.toggle(key, is_present);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn next_classes;\n}\n","import { to_style } from '../../../shared/attributes.js';\nimport { hydrating } from '../hydration.js';\n\n/**\n * @param {Element & ElementCSSInlineStyle} dom\n * @param {Record} prev\n * @param {Record} next\n * @param {string} [priority]\n */\nfunction update_styles(dom, prev = {}, next, priority) {\n\tfor (var key in next) {\n\t\tvar value = next[key];\n\n\t\tif (prev[key] !== value) {\n\t\t\tif (next[key] == null) {\n\t\t\t\tdom.style.removeProperty(key);\n\t\t\t} else {\n\t\t\t\tdom.style.setProperty(key, value, priority);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * @param {Element & ElementCSSInlineStyle} dom\n * @param {string | null} value\n * @param {Record | [Record, Record]} [prev_styles]\n * @param {Record | [Record, Record]} [next_styles]\n */\nexport function set_style(dom, value, prev_styles, next_styles) {\n\t// @ts-expect-error\n\tvar prev = dom.__style;\n\n\tif (hydrating || prev !== value) {\n\t\tvar next_style_attr = to_style(value, next_styles);\n\n\t\tif (!hydrating || next_style_attr !== dom.getAttribute('style')) {\n\t\t\tif (next_style_attr == null) {\n\t\t\t\tdom.removeAttribute('style');\n\t\t\t} else {\n\t\t\t\tdom.style.cssText = next_style_attr;\n\t\t\t}\n\t\t}\n\n\t\t// @ts-expect-error\n\t\tdom.__style = value;\n\t} else if (next_styles) {\n\t\tif (Array.isArray(next_styles)) {\n\t\t\tupdate_styles(dom, prev_styles?.[0], next_styles[0]);\n\t\t\tupdate_styles(dom, prev_styles?.[1], next_styles[1], 'important');\n\t\t} else {\n\t\t\tupdate_styles(dom, prev_styles, next_styles);\n\t\t}\n\t}\n\n\treturn next_styles;\n}\n","import { DEV } from 'esm-env';\nimport { hydrating, set_hydrating } from '../hydration.js';\nimport { get_descriptors, get_prototype_of } from '../../../shared/utils.js';\nimport { create_event, delegate } from './events.js';\nimport { add_form_reset_listener, autofocus } from './misc.js';\nimport * as w from '../../warnings.js';\nimport { LOADING_ATTR_SYMBOL } from '../../constants.js';\nimport { queue_idle_task } from '../task.js';\nimport { is_capture_event, is_delegated, normalize_attribute } from '../../../../utils.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tset_active_effect,\n\tset_active_reaction\n} from '../../runtime.js';\nimport { clsx } from '../../../shared/attributes.js';\nimport { set_class } from './class.js';\nimport { set_style } from './style.js';\nimport { NAMESPACE_HTML } from '../../../../constants.js';\n\nexport const CLASS = Symbol('class');\nexport const STYLE = Symbol('style');\n\nconst IS_CUSTOM_ELEMENT = Symbol('is custom element');\nconst IS_HTML = Symbol('is html');\n\n/**\n * The value/checked attribute in the template actually corresponds to the defaultValue property, so we need\n * to remove it upon hydration to avoid a bug when someone resets the form value.\n * @param {HTMLInputElement} input\n * @returns {void}\n */\nexport function remove_input_defaults(input) {\n\tif (!hydrating) return;\n\n\tvar already_removed = false;\n\n\t// We try and remove the default attributes later, rather than sync during hydration.\n\t// Doing it sync during hydration has a negative impact on performance, but deferring the\n\t// work in an idle task alleviates this greatly. If a form reset event comes in before\n\t// the idle callback, then we ensure the input defaults are cleared just before.\n\tvar remove_defaults = () => {\n\t\tif (already_removed) return;\n\t\talready_removed = true;\n\n\t\t// Remove the attributes but preserve the values\n\t\tif (input.hasAttribute('value')) {\n\t\t\tvar value = input.value;\n\t\t\tset_attribute(input, 'value', null);\n\t\t\tinput.value = value;\n\t\t}\n\n\t\tif (input.hasAttribute('checked')) {\n\t\t\tvar checked = input.checked;\n\t\t\tset_attribute(input, 'checked', null);\n\t\t\tinput.checked = checked;\n\t\t}\n\t};\n\n\t// @ts-expect-error\n\tinput.__on_r = remove_defaults;\n\tqueue_idle_task(remove_defaults);\n\tadd_form_reset_listener();\n}\n\n/**\n * @param {Element} element\n * @param {any} value\n */\nexport function set_value(element, value) {\n\tvar attributes = get_attributes(element);\n\n\tif (\n\t\tattributes.value ===\n\t\t\t(attributes.value =\n\t\t\t\t// treat null and undefined the same for the initial value\n\t\t\t\tvalue ?? undefined) ||\n\t\t// @ts-expect-error\n\t\t// `progress` elements always need their value set when it's `0`\n\t\t(element.value === value && (value !== 0 || element.nodeName !== 'PROGRESS'))\n\t) {\n\t\treturn;\n\t}\n\n\t// @ts-expect-error\n\telement.value = value ?? '';\n}\n\n/**\n * @param {Element} element\n * @param {boolean} checked\n */\nexport function set_checked(element, checked) {\n\tvar attributes = get_attributes(element);\n\n\tif (\n\t\tattributes.checked ===\n\t\t(attributes.checked =\n\t\t\t// treat null and undefined the same for the initial value\n\t\t\tchecked ?? undefined)\n\t) {\n\t\treturn;\n\t}\n\n\t// @ts-expect-error\n\telement.checked = checked;\n}\n\n/**\n * Sets the `selected` attribute on an `option` element.\n * Not set through the property because that doesn't reflect to the DOM,\n * which means it wouldn't be taken into account when a form is reset.\n * @param {HTMLOptionElement} element\n * @param {boolean} selected\n */\nexport function set_selected(element, selected) {\n\tif (selected) {\n\t\t// The selected option could've changed via user selection, and\n\t\t// setting the value without this check would set it back.\n\t\tif (!element.hasAttribute('selected')) {\n\t\t\telement.setAttribute('selected', '');\n\t\t}\n\t} else {\n\t\telement.removeAttribute('selected');\n\t}\n}\n\n/**\n * Applies the default checked property without influencing the current checked property.\n * @param {HTMLInputElement} element\n * @param {boolean} checked\n */\nexport function set_default_checked(element, checked) {\n\tconst existing_value = element.checked;\n\telement.defaultChecked = checked;\n\telement.checked = existing_value;\n}\n\n/**\n * Applies the default value property without influencing the current value property.\n * @param {HTMLInputElement | HTMLTextAreaElement} element\n * @param {string} value\n */\nexport function set_default_value(element, value) {\n\tconst existing_value = element.value;\n\telement.defaultValue = value;\n\telement.value = existing_value;\n}\n\n/**\n * @param {Element} element\n * @param {string} attribute\n * @param {string | null} value\n * @param {boolean} [skip_warning]\n */\nexport function set_attribute(element, attribute, value, skip_warning) {\n\tvar attributes = get_attributes(element);\n\n\tif (hydrating) {\n\t\tattributes[attribute] = element.getAttribute(attribute);\n\n\t\tif (\n\t\t\tattribute === 'src' ||\n\t\t\tattribute === 'srcset' ||\n\t\t\t(attribute === 'href' && element.nodeName === 'LINK')\n\t\t) {\n\t\t\tif (!skip_warning) {\n\t\t\t\tcheck_src_in_dev_hydration(element, attribute, value ?? '');\n\t\t\t}\n\n\t\t\t// If we reset these attributes, they would result in another network request, which we want to avoid.\n\t\t\t// We assume they are the same between client and server as checking if they are equal is expensive\n\t\t\t// (we can't just compare the strings as they can be different between client and server but result in the\n\t\t\t// same url, so we would need to create hidden anchor elements to compare them)\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (attributes[attribute] === (attributes[attribute] = value)) return;\n\n\tif (attribute === 'loading') {\n\t\t// @ts-expect-error\n\t\telement[LOADING_ATTR_SYMBOL] = value;\n\t}\n\n\tif (value == null) {\n\t\telement.removeAttribute(attribute);\n\t} else if (typeof value !== 'string' && get_setters(element).includes(attribute)) {\n\t\t// @ts-ignore\n\t\telement[attribute] = value;\n\t} else {\n\t\telement.setAttribute(attribute, value);\n\t}\n}\n\n/**\n * @param {Element} dom\n * @param {string} attribute\n * @param {string} value\n */\nexport function set_xlink_attribute(dom, attribute, value) {\n\tdom.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\n\n/**\n * @param {HTMLElement} node\n * @param {string} prop\n * @param {any} value\n */\nexport function set_custom_element_data(node, prop, value) {\n\t// We need to ensure that setting custom element props, which can\n\t// invoke lifecycle methods on other custom elements, does not also\n\t// associate those lifecycle methods with the current active reaction\n\t// or effect\n\tvar previous_reaction = active_reaction;\n\tvar previous_effect = active_effect;\n\n\t// If we're hydrating but the custom element is from Svelte, and it already scaffolded,\n\t// then it might run block logic in hydration mode, which we have to prevent.\n\tlet was_hydrating = hydrating;\n\tif (hydrating) {\n\t\tset_hydrating(false);\n\t}\n\n\tset_active_reaction(null);\n\tset_active_effect(null);\n\n\ttry {\n\t\tif (\n\t\t\t// `style` should use `set_attribute` rather than the setter\n\t\t\tprop !== 'style' &&\n\t\t\t// Don't compute setters for custom elements while they aren't registered yet,\n\t\t\t// because during their upgrade/instantiation they might add more setters.\n\t\t\t// Instead, fall back to a simple \"an object, then set as property\" heuristic.\n\t\t\t(setters_cache.has(node.nodeName) ||\n\t\t\t// customElements may not be available in browser extension contexts\n\t\t\t!customElements ||\n\t\t\tcustomElements.get(node.tagName.toLowerCase())\n\t\t\t\t? get_setters(node).includes(prop)\n\t\t\t\t: value && typeof value === 'object')\n\t\t) {\n\t\t\t// @ts-expect-error\n\t\t\tnode[prop] = value;\n\t\t} else {\n\t\t\t// We did getters etc checks already, stringify before passing to set_attribute\n\t\t\t// to ensure it doesn't invoke the same logic again, and potentially populating\n\t\t\t// the setters cache too early.\n\t\t\tset_attribute(node, prop, value == null ? value : String(value));\n\t\t}\n\t} finally {\n\t\tset_active_reaction(previous_reaction);\n\t\tset_active_effect(previous_effect);\n\t\tif (was_hydrating) {\n\t\t\tset_hydrating(true);\n\t\t}\n\t}\n}\n\n/**\n * Spreads attributes onto a DOM element, taking into account the currently set attributes\n * @param {Element & ElementCSSInlineStyle} element\n * @param {Record | undefined} prev\n * @param {Record} next New attributes - this function mutates this object\n * @param {string} [css_hash]\n * @param {boolean} [skip_warning]\n * @returns {Record}\n */\nexport function set_attributes(element, prev, next, css_hash, skip_warning = false) {\n\tvar attributes = get_attributes(element);\n\n\tvar is_custom_element = attributes[IS_CUSTOM_ELEMENT];\n\tvar preserve_attribute_case = !attributes[IS_HTML];\n\n\t// If we're hydrating but the custom element is from Svelte, and it already scaffolded,\n\t// then it might run block logic in hydration mode, which we have to prevent.\n\tlet is_hydrating_custom_element = hydrating && is_custom_element;\n\tif (is_hydrating_custom_element) {\n\t\tset_hydrating(false);\n\t}\n\n\tvar current = prev || {};\n\tvar is_option_element = element.tagName === 'OPTION';\n\n\tfor (var key in prev) {\n\t\tif (!(key in next)) {\n\t\t\tnext[key] = null;\n\t\t}\n\t}\n\n\tif (next.class) {\n\t\tnext.class = clsx(next.class);\n\t} else if (css_hash || next[CLASS]) {\n\t\tnext.class = null; /* force call to set_class() */\n\t}\n\n\tif (next[STYLE]) {\n\t\tnext.style ??= null; /* force call to set_style() */\n\t}\n\n\tvar setters = get_setters(element);\n\n\t// since key is captured we use const\n\tfor (const key in next) {\n\t\t// let instead of var because referenced in a closure\n\t\tlet value = next[key];\n\n\t\t// Up here because we want to do this for the initial value, too, even if it's undefined,\n\t\t// and this wouldn't be reached in case of undefined because of the equality check below\n\t\tif (is_option_element && key === 'value' && value == null) {\n\t\t\t// The
\n \n {/each}\n\n","export const nameMin = 1;\nexport const nameMax = 64;\nexport const passMin = 6;\nexport const passMax = 72;\nexport const nameLenError = `Name must be between ${nameMin} and ${nameMax} characters.`;\nexport const passLenError = `Password must be between ${passMin} and ${passMax} characters.`;\nexport const passNotMatchError = `Password and Confirm Password do not match.`;\n\nexport const validatePasswords = (password1, password2) => {\n let valid = true;\n let error = '';\n\n if (password1.length < passMin || password1.length > passMax) {\n valid = false;\n error = passLenError;\n }\n\n if (password1 !== password2) {\n valid = false;\n error = passNotMatchError;\n }\n\n return {\n valid,\n error,\n };\n};\n\nexport const validateName = warriorName => {\n let valid = true;\n let error = '';\n\n if (warriorName.length < nameMin || warriorName.length > nameMax) {\n valid = false;\n error = nameLenError;\n }\n\n return {\n valid,\n error,\n };\n};\n\nexport const validateUserIsAdmin = user => {\n return user.rank === 'ADMIN' || user.rank === 'GENERAL';\n};\n\nexport const validateUserIsRegistered = user => {\n return user && user.rank !== 'GUEST' && user.rank !== 'PRIVATE';\n};\n","import type { FormattersInitializer } from 'typesafe-i18n';\nimport type { Locales, Formatters } from './i18n-types';\n\nexport const initFormatters: FormattersInitializer = (\n locale: Locales,\n) => {\n const formatters: Formatters = {\n // add your formatter functions here\n };\n\n return formatters;\n};\n","// This file was auto-generated by 'typesafe-i18n'. Any manual changes will be overwritten.\n/* eslint-disable */\n\nimport { initFormatters } from './formatters';\nimport type { Locales, Translations } from './i18n-types';\nimport { loadedFormatters, loadedLocales, locales } from './i18n-util';\n\nconst localeTranslationLoaders = {\n de: () => import('./de'),\n en: () => import('./en'),\n es: () => import('./es'),\n fa: () => import('./fa'),\n fr: () => import('./fr'),\n it: () => import('./it'),\n pt: () => import('./pt'),\n ru: () => import('./ru'),\n};\n\nconst updateDictionary = (\n locale: Locales,\n dictionary: Partial,\n): Translations =>\n (loadedLocales[locale] = { ...loadedLocales[locale], ...dictionary });\n\nexport const importLocaleAsync = async (\n locale: Locales,\n): Promise =>\n (await localeTranslationLoaders[locale]()).default as unknown as Translations;\n\nexport const loadLocaleAsync = async (locale: Locales): Promise => {\n updateDictionary(locale, await importLocaleAsync(locale));\n loadFormatters(locale);\n};\n\nexport const loadAllLocalesAsync = (): Promise =>\n Promise.all(locales.map(loadLocaleAsync));\n\nexport const loadFormatters = (locale: Locales): void =>\n void (loadedFormatters[locale] = initFormatters(locale));\n","import { enable_legacy_mode_flag } from './index.js';\n\nenable_legacy_mode_flag();\n","/**\n * @license lucide-svelte v0.439.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\nconst defaultAttributes = {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 24,\n height: 24,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n 'stroke-width': 2,\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n};\nexport default defaultAttributes;\n","\n\n\n {#each iconNode as [tag, attrs]}\n \n {/each}\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n\n \n\n","\n\n
\n Theme\n \n \n \n \n\n {#if showMenu}\n \n \n \n \n
\n
Light
\n \n \n \n \n
\n
Dark
\n \n \n \n \n
\n
System
\n \n \n {/if}\n\n","\n\n{#if pictureUrl !== ''}\n \n{:else if AvatarService === 'gravatar'}\n {#if gravatarHash !== ''}\n \n {:else}\n \n {/if}\n{:else if AvatarService === 'robohash'}\n \n{:else if AvatarService === 'govatar'}\n \n{:else if AvatarService === 'goadorable'}\n \n{/if}\n","\n\n
\n {$user.name}\n \n \n \n
\n\n{#if showMenu}\n \n
  • \n \n \n {$LL.profile()}\n \n
  • \n {#if $user.rank === 'GUEST'}\n
  • \n \n \n {$LL.createAccount()}\n \n
  • \n
  • \n \n \n {$LL.login()}\n \n
  • \n {:else}\n
  • \n \n \n {$LL.logout()}\n \n
  • \n {/if}\n \n{/if}\n","\n\n
    \n \n\n \n \n \n\n {#if showMenu}\n \n {#each supportedLocales as locale}\n \n
    \n
    \n \n {/each}\n \n {/if}\n
    \n","\n\n\n \n \n \n \n \n \n \n \n \n \n \n\n","\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","\n\n
    \n \n
    \n \n\n \n {#if !$user.id}\n
  • \n setupI18n(e.detail)}\n />\n
  • \n
  • \n \n
  • \n
  • \n {#if HeaderAuthEnabled}\n {$LL.login()}\n \n \n {:else}\n {$LL.login()}\n \n \n {/if}\n
  • \n {/if}\n {#if $user.id}\n
  • \n \n
  • \n {/if}\n
  • \n \n Open main menu\n \n \n \n \n
  • \n \n\n \n \n {#if FeaturePoker}\n
  • \n \n {$LL.battles()}\n \n
  • \n {/if}\n {#if FeatureRetro}\n
  • \n \n {$LL.retros()}\n \n
  • \n {/if}\n {#if FeatureStoryboard}\n
  • \n \n {$LL.storyboards()}\n \n
  • \n {/if}\n {#if $user.name && $user.rank !== 'GUEST' && $user.rank !== 'PRIVATE'}\n
  • \n \n {$LL.teams()}\n \n
  • \n {/if}\n {#if SubscriptionsEnabled && !$user.subscribed}\n
  • \n \n Pricing\n \n
  • \n {/if}\n {#if $user.name && validateUserIsAdmin($user)}\n
  • \n \n {$LL.admin()}\n \n
  • \n {/if}\n \n
    \n \n \n
    \n","\n\n\n\n{#each alerts as alert}\n {#if showAlert(dismissed, registered, alert)}\n
    \n
    \n
    \n
    \n \n {alert.type}\n \n

    \n {alert.content}\n

    \n
    \n {#if alert.allowDismiss}\n
    \n \n \n \n
    \n {/if}\n
    \n
    \n
    \n {/if}\n{/each}\n","\n\n\n \n\n","\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","\n\n\n
    \n
    \n \n \n \n \n \n {#if SubscriptionsEnabled}\n
  • \n Pricing\n
  • \n {/if}\n
  • \n {$LL.userGuide()}\n
  • \n
  • \n {$LL.privacyPolicy()}\n
  • \n
  • \n {$LL.termsConditions()}\n
  • \n
  • \n {$LL.support()}\n
  • \n \n
    \n
    \n
    \n \n \n {$LL.appName()}\n \n {@html $LL.footerAuthoredBy({\n authorOpen: ``,\n authorClose: ``,\n })}\n
    \n {@html $LL.footerLicense({\n licenseOpen: ``,\n licenseClose: ``,\n })}\n
    \n
    \n {$LL.appVersion({ version: AppVersion })}\n
    \n
    \n
    \n\n","/*\nlist copied from countryflags.io with the following console snippet\n\nlet countries = []\n$('.item_country p').map((i, c) => {\n if (i === 0 || i % 2 === 0) {\n const country = {\n abbrev: $(c).text(),\n name: $(c).next('p').text()\n }\n countries.push(country)\n }\n})\ncopy(countries)\n\n*/\nexport const countryList = [\n {\n abbrev: 'AD',\n name: 'Andorra',\n },\n {\n abbrev: 'AE',\n name: 'United Arab Emirates',\n },\n {\n abbrev: 'AF',\n name: 'Afghanistan',\n },\n {\n abbrev: 'AG',\n name: 'Antigua and Barbuda',\n },\n {\n abbrev: 'AI',\n name: 'Anguilla',\n },\n {\n abbrev: 'AL',\n name: 'Albania',\n },\n {\n abbrev: 'AM',\n name: 'Armenia',\n },\n {\n abbrev: 'AN',\n name: 'Netherlands Antilles',\n },\n {\n abbrev: 'AO',\n name: 'Angola',\n },\n {\n abbrev: 'AQ',\n name: 'Antarctica',\n },\n {\n abbrev: 'AR',\n name: 'Argentina',\n },\n {\n abbrev: 'AS',\n name: 'American Samoa',\n },\n {\n abbrev: 'AT',\n name: 'Austria',\n },\n {\n abbrev: 'AU',\n name: 'Australia',\n },\n {\n abbrev: 'AW',\n name: 'Aruba',\n },\n {\n abbrev: 'AX',\n name: 'Åland Islands',\n },\n {\n abbrev: 'AZ',\n name: 'Azerbaijan',\n },\n {\n abbrev: 'BA',\n name: 'Bosnia and Herzegovina',\n },\n {\n abbrev: 'BB',\n name: 'Barbados',\n },\n {\n abbrev: 'BD',\n name: 'Bangladesh',\n },\n {\n abbrev: 'BE',\n name: 'Belgium',\n },\n {\n abbrev: 'BF',\n name: 'Burkina Faso',\n },\n {\n abbrev: 'BG',\n name: 'Bulgaria',\n },\n {\n abbrev: 'BH',\n name: 'Bahrain',\n },\n {\n abbrev: 'BI',\n name: 'Burundi',\n },\n {\n abbrev: 'BJ',\n name: 'Benin',\n },\n {\n abbrev: 'BL',\n name: 'Saint Barthélemy',\n },\n {\n abbrev: 'BM',\n name: 'Bermuda',\n },\n {\n abbrev: 'BN',\n name: 'Brunei Darussalam',\n },\n {\n abbrev: 'BO',\n name: 'Bolivia',\n },\n {\n abbrev: 'BQ',\n name: 'Bonaire, Sint Eustatius and Saba',\n },\n {\n abbrev: 'BR',\n name: 'Brazil',\n },\n {\n abbrev: 'BS',\n name: 'Bahamas',\n },\n {\n abbrev: 'BT',\n name: 'Bhutan',\n },\n {\n abbrev: 'BV',\n name: 'Bouvet Island',\n },\n {\n abbrev: 'BW',\n name: 'Botswana',\n },\n {\n abbrev: 'BY',\n name: 'Belarus',\n },\n {\n abbrev: 'BZ',\n name: 'Belize',\n },\n {\n abbrev: 'CA',\n name: 'Canada',\n },\n {\n abbrev: 'CC',\n name: 'Cocos (Keeling) Islands',\n },\n {\n abbrev: 'CD',\n name: 'Congo, The Democratic Republic Of The',\n },\n {\n abbrev: 'CF',\n name: 'Central African Republic',\n },\n {\n abbrev: 'CG',\n name: 'Congo',\n },\n {\n abbrev: 'CH',\n name: 'Switzerland',\n },\n {\n abbrev: 'CI',\n name: \"Côte D'Ivoire\",\n },\n {\n abbrev: 'CK',\n name: 'Cook Islands',\n },\n {\n abbrev: 'CL',\n name: 'Chile',\n },\n {\n abbrev: 'CM',\n name: 'Cameroon',\n },\n {\n abbrev: 'CN',\n name: 'China',\n },\n {\n abbrev: 'CO',\n name: 'Colombia',\n },\n {\n abbrev: 'CR',\n name: 'Costa Rica',\n },\n {\n abbrev: 'CU',\n name: 'Cuba',\n },\n {\n abbrev: 'CV',\n name: 'Cape Verde',\n },\n {\n abbrev: 'CW',\n name: 'Curaçao',\n },\n {\n abbrev: 'CX',\n name: 'Christmas Island',\n },\n {\n abbrev: 'CY',\n name: 'Cyprus',\n },\n {\n abbrev: 'CZ',\n name: 'Czech Republic',\n },\n {\n abbrev: 'DE',\n name: 'Germany',\n },\n {\n abbrev: 'DJ',\n name: 'Djibouti',\n },\n {\n abbrev: 'DK',\n name: 'Denmark',\n },\n {\n abbrev: 'DM',\n name: 'Dominica',\n },\n {\n abbrev: 'DO',\n name: 'Dominican Republic',\n },\n {\n abbrev: 'DZ',\n name: 'Algeria',\n },\n {\n abbrev: 'EC',\n name: 'Ecuador',\n },\n {\n abbrev: 'EE',\n name: 'Estonia',\n },\n {\n abbrev: 'EG',\n name: 'Egypt',\n },\n {\n abbrev: 'EH',\n name: 'Western Sahara',\n },\n {\n abbrev: 'ER',\n name: 'Eritrea',\n },\n {\n abbrev: 'ES',\n name: 'Spain',\n },\n {\n abbrev: 'ET',\n name: 'Ethiopia',\n },\n {\n abbrev: 'FI',\n name: 'Finland',\n },\n {\n abbrev: 'FJ',\n name: 'Fiji',\n },\n {\n abbrev: 'FK',\n name: 'Falkland Islands (Malvinas)',\n },\n {\n abbrev: 'FM',\n name: 'Micronesia, Federated States Of',\n },\n {\n abbrev: 'FO',\n name: 'Faroe Islands',\n },\n {\n abbrev: 'FR',\n name: 'France',\n },\n {\n abbrev: 'GA',\n name: 'Gabon',\n },\n {\n abbrev: 'GB',\n name: 'United Kingdom',\n },\n {\n abbrev: 'GD',\n name: 'Grenada',\n },\n {\n abbrev: 'GE',\n name: 'Georgia',\n },\n {\n abbrev: 'GF',\n name: 'French Guiana',\n },\n {\n abbrev: 'GG',\n name: 'Guernsey',\n },\n {\n abbrev: 'GH',\n name: 'Ghana',\n },\n {\n abbrev: 'GI',\n name: 'Gibraltar',\n },\n {\n abbrev: 'GL',\n name: 'Greenland',\n },\n {\n abbrev: 'GM',\n name: 'Gambia',\n },\n {\n abbrev: 'GN',\n name: 'Guinea',\n },\n {\n abbrev: 'GP',\n name: 'Guadeloupe',\n },\n {\n abbrev: 'GQ',\n name: 'Equatorial Guinea',\n },\n {\n abbrev: 'GR',\n name: 'Greece',\n },\n {\n abbrev: 'GS',\n name: 'South Georgia and the South Sandwich Islands',\n },\n {\n abbrev: 'GT',\n name: 'Guatemala',\n },\n {\n abbrev: 'GU',\n name: 'Guam',\n },\n {\n abbrev: 'GW',\n name: 'Guinea-Bissau',\n },\n {\n abbrev: 'GY',\n name: 'Guyana',\n },\n {\n abbrev: 'HK',\n name: 'Hong Kong',\n },\n {\n abbrev: 'HM',\n name: 'Heard and McDonald Islands',\n },\n {\n abbrev: 'HN',\n name: 'Honduras',\n },\n {\n abbrev: 'HR',\n name: 'Croatia',\n },\n {\n abbrev: 'HT',\n name: 'Haiti',\n },\n {\n abbrev: 'HU',\n name: 'Hungary',\n },\n {\n abbrev: 'ID',\n name: 'Indonesia',\n },\n {\n abbrev: 'IE',\n name: 'Ireland',\n },\n {\n abbrev: 'IL',\n name: 'Israel',\n },\n {\n abbrev: 'IM',\n name: 'Isle of Man',\n },\n {\n abbrev: 'IN',\n name: 'India',\n },\n {\n abbrev: 'IO',\n name: 'British Indian Ocean Territory',\n },\n {\n abbrev: 'IQ',\n name: 'Iraq',\n },\n {\n abbrev: 'IR',\n name: 'Iran, Islamic Republic Of',\n },\n {\n abbrev: 'IS',\n name: 'Iceland',\n },\n {\n abbrev: 'IT',\n name: 'Italy',\n },\n {\n abbrev: 'JE',\n name: 'Jersey',\n },\n {\n abbrev: 'JM',\n name: 'Jamaica',\n },\n {\n abbrev: 'JO',\n name: 'Jordan',\n },\n {\n abbrev: 'JP',\n name: 'Japan',\n },\n {\n abbrev: 'KE',\n name: 'Kenya',\n },\n {\n abbrev: 'KG',\n name: 'Kyrgyzstan',\n },\n {\n abbrev: 'KH',\n name: 'Cambodia',\n },\n {\n abbrev: 'KI',\n name: 'Kiribati',\n },\n {\n abbrev: 'KM',\n name: 'Comoros',\n },\n {\n abbrev: 'KN',\n name: 'Saint Kitts And Nevis',\n },\n {\n abbrev: 'KP',\n name: \"Korea, Democratic People's Republic Of\",\n },\n {\n abbrev: 'KR',\n name: 'Korea, Republic of',\n },\n {\n abbrev: 'KW',\n name: 'Kuwait',\n },\n {\n abbrev: 'KY',\n name: 'Cayman Islands',\n },\n {\n abbrev: 'KZ',\n name: 'Kazakhstan',\n },\n {\n abbrev: 'LA',\n name: \"Lao People's Democratic Republic\",\n },\n {\n abbrev: 'LB',\n name: 'Lebanon',\n },\n {\n abbrev: 'LC',\n name: 'Saint Lucia',\n },\n {\n abbrev: 'LI',\n name: 'Liechtenstein',\n },\n {\n abbrev: 'LK',\n name: 'Sri Lanka',\n },\n {\n abbrev: 'LR',\n name: 'Liberia',\n },\n {\n abbrev: 'LS',\n name: 'Lesotho',\n },\n {\n abbrev: 'LT',\n name: 'Lithuania',\n },\n {\n abbrev: 'LU',\n name: 'Luxembourg',\n },\n {\n abbrev: 'LV',\n name: 'Latvia',\n },\n {\n abbrev: 'LY',\n name: 'Libya',\n },\n {\n abbrev: 'MA',\n name: 'Morocco',\n },\n {\n abbrev: 'MC',\n name: 'Monaco',\n },\n {\n abbrev: 'MD',\n name: 'Moldova, Republic of',\n },\n {\n abbrev: 'ME',\n name: 'Montenegro',\n },\n {\n abbrev: 'MF',\n name: 'Saint Martin',\n },\n {\n abbrev: 'MG',\n name: 'Madagascar',\n },\n {\n abbrev: 'MH',\n name: 'Marshall Islands',\n },\n {\n abbrev: 'MK',\n name: 'Macedonia, the Former Yugoslav Republic Of',\n },\n {\n abbrev: 'ML',\n name: 'Mali',\n },\n {\n abbrev: 'MM',\n name: 'Myanmar',\n },\n {\n abbrev: 'MN',\n name: 'Mongolia',\n },\n {\n abbrev: 'MO',\n name: 'Macao',\n },\n {\n abbrev: 'MP',\n name: 'Northern Mariana Islands',\n },\n {\n abbrev: 'MQ',\n name: 'Martinique',\n },\n {\n abbrev: 'MR',\n name: 'Mauritania',\n },\n {\n abbrev: 'MS',\n name: 'Montserrat',\n },\n {\n abbrev: 'MT',\n name: 'Malta',\n },\n {\n abbrev: 'MU',\n name: 'Mauritius',\n },\n {\n abbrev: 'MV',\n name: 'Maldives',\n },\n {\n abbrev: 'MW',\n name: 'Malawi',\n },\n {\n abbrev: 'MX',\n name: 'Mexico',\n },\n {\n abbrev: 'MY',\n name: 'Malaysia',\n },\n {\n abbrev: 'MZ',\n name: 'Mozambique',\n },\n {\n abbrev: 'NA',\n name: 'Namibia',\n },\n {\n abbrev: 'NC',\n name: 'New Caledonia',\n },\n {\n abbrev: 'NE',\n name: 'Niger',\n },\n {\n abbrev: 'NF',\n name: 'Norfolk Island',\n },\n {\n abbrev: 'NG',\n name: 'Nigeria',\n },\n {\n abbrev: 'NI',\n name: 'Nicaragua',\n },\n {\n abbrev: 'NL',\n name: 'Netherlands',\n },\n {\n abbrev: 'NO',\n name: 'Norway',\n },\n {\n abbrev: 'NP',\n name: 'Nepal',\n },\n {\n abbrev: 'NR',\n name: 'Nauru',\n },\n {\n abbrev: 'NU',\n name: 'Niue',\n },\n {\n abbrev: 'NZ',\n name: 'New Zealand',\n },\n {\n abbrev: 'OM',\n name: 'Oman',\n },\n {\n abbrev: 'PA',\n name: 'Panama',\n },\n {\n abbrev: 'PE',\n name: 'Peru',\n },\n {\n abbrev: 'PF',\n name: 'French Polynesia',\n },\n {\n abbrev: 'PG',\n name: 'Papua New Guinea',\n },\n {\n abbrev: 'PH',\n name: 'Philippines',\n },\n {\n abbrev: 'PK',\n name: 'Pakistan',\n },\n {\n abbrev: 'PL',\n name: 'Poland',\n },\n {\n abbrev: 'PM',\n name: 'Saint Pierre And Miquelon',\n },\n {\n abbrev: 'PN',\n name: 'Pitcairn',\n },\n {\n abbrev: 'PR',\n name: 'Puerto Rico',\n },\n {\n abbrev: 'PS',\n name: 'Palestine, State of',\n },\n {\n abbrev: 'PT',\n name: 'Portugal',\n },\n {\n abbrev: 'PW',\n name: 'Palau',\n },\n {\n abbrev: 'PY',\n name: 'Paraguay',\n },\n {\n abbrev: 'QA',\n name: 'Qatar',\n },\n {\n abbrev: 'RE',\n name: 'Réunion',\n },\n {\n abbrev: 'RO',\n name: 'Romania',\n },\n {\n abbrev: 'RS',\n name: 'Serbia',\n },\n {\n abbrev: 'RU',\n name: 'Russian Federation',\n },\n {\n abbrev: 'RW',\n name: 'Rwanda',\n },\n {\n abbrev: 'SA',\n name: 'Saudi Arabia',\n },\n {\n abbrev: 'SB',\n name: 'Solomon Islands',\n },\n {\n abbrev: 'SC',\n name: 'Seychelles',\n },\n {\n abbrev: 'SD',\n name: 'Sudan',\n },\n {\n abbrev: 'SE',\n name: 'Sweden',\n },\n {\n abbrev: 'SG',\n name: 'Singapore',\n },\n {\n abbrev: 'SH',\n name: 'Saint Helena',\n },\n {\n abbrev: 'SI',\n name: 'Slovenia',\n },\n {\n abbrev: 'SJ',\n name: 'Svalbard And Jan Mayen',\n },\n {\n abbrev: 'SK',\n name: 'Slovakia',\n },\n {\n abbrev: 'SL',\n name: 'Sierra Leone',\n },\n {\n abbrev: 'SM',\n name: 'San Marino',\n },\n {\n abbrev: 'SN',\n name: 'Senegal',\n },\n {\n abbrev: 'SO',\n name: 'Somalia',\n },\n {\n abbrev: 'SR',\n name: 'Suriname',\n },\n {\n abbrev: 'SS',\n name: 'South Sudan',\n },\n {\n abbrev: 'ST',\n name: 'Sao Tome and Principe',\n },\n {\n abbrev: 'SV',\n name: 'El Salvador',\n },\n {\n abbrev: 'SX',\n name: 'Sint Maarten',\n },\n {\n abbrev: 'SY',\n name: 'Syrian Arab Republic',\n },\n {\n abbrev: 'SZ',\n name: 'Swaziland',\n },\n {\n abbrev: 'TC',\n name: 'Turks and Caicos Islands',\n },\n {\n abbrev: 'TD',\n name: 'Chad',\n },\n {\n abbrev: 'TF',\n name: 'French Southern Territories',\n },\n {\n abbrev: 'TG',\n name: 'Togo',\n },\n {\n abbrev: 'TH',\n name: 'Thailand',\n },\n {\n abbrev: 'TJ',\n name: 'Tajikistan',\n },\n {\n abbrev: 'TK',\n name: 'Tokelau',\n },\n {\n abbrev: 'TL',\n name: 'Timor-Leste',\n },\n {\n abbrev: 'TM',\n name: 'Turkmenistan',\n },\n {\n abbrev: 'TN',\n name: 'Tunisia',\n },\n {\n abbrev: 'TO',\n name: 'Tonga',\n },\n {\n abbrev: 'TR',\n name: 'Turkey',\n },\n {\n abbrev: 'TT',\n name: 'Trinidad and Tobago',\n },\n {\n abbrev: 'TV',\n name: 'Tuvalu',\n },\n {\n abbrev: 'TW',\n name: 'Taiwan, Republic Of China',\n },\n {\n abbrev: 'TZ',\n name: 'Tanzania, United Republic of',\n },\n {\n abbrev: 'UA',\n name: 'Ukraine',\n },\n {\n abbrev: 'UG',\n name: 'Uganda',\n },\n {\n abbrev: 'UM',\n name: 'United States Minor Outlying Islands',\n },\n {\n abbrev: 'US',\n name: 'United States',\n },\n {\n abbrev: 'UY',\n name: 'Uruguay',\n },\n {\n abbrev: 'UZ',\n name: 'Uzbekistan',\n },\n {\n abbrev: 'VA',\n name: 'Holy See (Vatican City State)',\n },\n {\n abbrev: 'VC',\n name: 'Saint Vincent And The Grenadines',\n },\n {\n abbrev: 'VE',\n name: 'Venezuela, Bolivarian Republic of',\n },\n {\n abbrev: 'VG',\n name: 'Virgin Islands, British',\n },\n {\n abbrev: 'VI',\n name: 'Virgin Islands, U.S.',\n },\n {\n abbrev: 'VN',\n name: 'Vietnam',\n },\n {\n abbrev: 'VU',\n name: 'Vanuatu',\n },\n {\n abbrev: 'WF',\n name: 'Wallis and Futuna',\n },\n {\n abbrev: 'WS',\n name: 'Samoa',\n },\n {\n abbrev: 'YE',\n name: 'Yemen',\n },\n {\n abbrev: 'YT',\n name: 'Mayotte',\n },\n {\n abbrev: 'ZA',\n name: 'South Africa',\n },\n {\n abbrev: 'ZM',\n name: 'Zambia',\n },\n {\n abbrev: 'ZW',\n name: 'Zimbabwe',\n },\n];\n\nexport const countryMap = countryList.reduce((prev, country) => {\n prev[country.abbrev] = country.name;\n\n return prev;\n}, {});\n","\n\n\n","\n\n
    \n
    \n \n Transforming teamwork in {activeCountries.length} countries and counting\n \n\n
      \n {#each activeCountries as country}\n
    • \n \n
    • \n {/each}\n
    \n
    \n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {@render children?.()}\n
    \n
    \n","\n\n\n {$LL.appName()} - {$LL.appSubtitle()}\n\n\n
    \n
    \n
    \n
    \n \n \n Thunderdome\n \n {randomSlogan}\n \n

    \n Elevate your agile practices, foster seamless collaboration, and\n unlock your team's full potential with our innovative suite of tools.\n

    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n \n Agile Poker Planning\n \n \n
  • Streamline sprint planning with collaborative estimation
  • \n
  • Customize estimation scales to fit your team's needs
  • \n
  • Real-time voting and result visualization
  • \n \n \n \n {$user.id ? $LL.battleCreate() : 'Learn More'}\n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n \n Sprint Retrospectives\n \n \n
  • Facilitate engaging and productive retrospectives
  • \n
  • Choose from customizable templates or create your own
  • \n
  • Track action items and improvement initiatives
  • \n \n \n \n {$user.id ? 'Create Retro' : 'Learn More'}\n \n \n
    \n
    \n \n \n
    \n
    \n \n
    \n\n
    \n
    \n
    \n
    \n
    \n \n Story Mapping\n \n \n
  • Drag-and-drop interface for easy story organization
  • \n
  • \n Customizable columns and swimlanes for user activities and\n iterations\n
  • \n
  • Create, edit, and prioritize user stories within the map
  • \n
  • Color-coding and tagging for improved story categorization
  • \n \n \n \n {$user.id ? 'Create Storyboard' : 'Learn More'}\n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n \n Team Checkins\n \n

    \n Streamline your team's agile stand-up. Focus on blockers and\n critical details instead of spending time discussing yesterday's and\n today's tasks.\n

    \n
    \n
    \n
    \n
    \n \n
    \n\n
    \n
    \n

    \n Why Choose Thunderdome?\n

    \n
    \n \n
    \n \n
    \n

    Boost Productivity

    \n

    \n Streamline your agile processes and eliminate bottlenecks to deliver\n value faster.\n

    \n
    \n \n
    \n \n
    \n

    Enhanced Collaboration

    \n

    \n Foster teamwork and communication with our suite of collaborative\n tools.\n

    \n
    \n \n
    \n \n
    \n

    Open Source

    \n

    \n Choose between our premium\n hosted solution or\n self-host Thunderdome.\n

    \n \n \n \n
    \n\n {#if ShowActiveCountries}\n
    \n
    \n \n
    \n
    \n {/if}\n
    \n","function noop() {}\n\nexport default function (url, opts) {\n\topts = opts || {};\n\n\tvar ws, num=0, timer=1, $={};\n\tvar max = opts.maxAttempts || Infinity;\n\n\t$.open = function () {\n\t\tws = new WebSocket(url, opts.protocols || []);\n\n\t\tws.onmessage = opts.onmessage || noop;\n\n\t\tws.onopen = function (e) {\n\t\t\t(opts.onopen || noop)(e);\n\t\t\tnum = 0;\n\t\t};\n\n\t\tws.onclose = function (e) {\n\t\t\te.code === 1e3 || e.code === 1001 || e.code === 1005 || $.reconnect(e);\n\t\t\t(opts.onclose || noop)(e);\n\t\t};\n\n\t\tws.onerror = function (e) {\n\t\t\t(e && e.code==='ECONNREFUSED') ? $.reconnect(e) : (opts.onerror || noop)(e);\n\t\t};\n\t};\n\n\t$.reconnect = function (e) {\n\t\tif (timer && num++ < max) {\n\t\t\ttimer = setTimeout(function () {\n\t\t\t\t(opts.onreconnect || noop)(e);\n\t\t\t\t$.open();\n\t\t\t}, opts.timeout || 1e3);\n\t\t} else {\n\t\t\t(opts.onmaximum || noop)(e);\n\t\t}\n\t};\n\n\t$.json = function (x) {\n\t\tws.send(JSON.stringify(x));\n\t};\n\n\t$.send = function (x) {\n\t\tws.send(x);\n\t};\n\n\t$.close = function (x, y) {\n\t\ttimer = clearTimeout(timer);\n\t\tws.close(x || 1e3, y);\n\t};\n\n\t$.open(); // init\n\n\treturn $;\n}\n","\n\n\n {#if results.count}\n \n {results.count}\n {\n if (!hideVoterIdentity) {\n showVoters = true;\n }\n }}\n onmouseleave={() => {\n if (!hideVoterIdentity) {\n showVoters = false;\n }\n }}\n title=\"{$LL.showVoters()}\"\n class=\"text-green-500 dark:text-lime-400 relative leading-none\"\n >\n \n \n {#each results.voters as voter}\n {voter}\n
    \n {/each}\n \n \n \n {/if}\n \n
    {point}
    \n \n\n","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function () {};\n return {\n s: F,\n n: function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function (e) {\n throw e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function () {\n it = it.call(o);\n },\n n: function () {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function (e) {\n didErr = true;\n err = e;\n },\n f: function () {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\n// external events\nvar FINALIZE_EVENT_NAME = \"finalize\";\nvar CONSIDER_EVENT_NAME = \"consider\";\n\n/**\n * @typedef {Object} Info\n * @property {string} trigger\n * @property {string} id\n * @property {string} source\n * @param {Node} el\n * @param {Array} items\n * @param {Info} info\n */\nfunction dispatchFinalizeEvent(el, items, info) {\n el.dispatchEvent(new CustomEvent(FINALIZE_EVENT_NAME, {\n detail: {\n items: items,\n info: info\n }\n }));\n}\n\n/**\n * Dispatches a consider event\n * @param {Node} el\n * @param {Array} items\n * @param {Info} info\n */\nfunction dispatchConsiderEvent(el, items, info) {\n el.dispatchEvent(new CustomEvent(CONSIDER_EVENT_NAME, {\n detail: {\n items: items,\n info: info\n }\n }));\n}\n\n// internal events\nvar DRAGGED_ENTERED_EVENT_NAME = \"draggedEntered\";\nvar DRAGGED_LEFT_EVENT_NAME = \"draggedLeft\";\nvar DRAGGED_OVER_INDEX_EVENT_NAME = \"draggedOverIndex\";\nvar DRAGGED_LEFT_DOCUMENT_EVENT_NAME = \"draggedLeftDocument\";\nvar DRAGGED_LEFT_TYPES = {\n LEFT_FOR_ANOTHER: \"leftForAnother\",\n OUTSIDE_OF_ANY: \"outsideOfAny\"\n};\nfunction dispatchDraggedElementEnteredContainer(containerEl, indexObj, draggedEl) {\n containerEl.dispatchEvent(new CustomEvent(DRAGGED_ENTERED_EVENT_NAME, {\n detail: {\n indexObj: indexObj,\n draggedEl: draggedEl\n }\n }));\n}\n\n/**\n * @param containerEl - the dropzone the element left\n * @param draggedEl - the dragged element\n * @param theOtherDz - the new dropzone the element entered\n */\nfunction dispatchDraggedElementLeftContainerForAnother(containerEl, draggedEl, theOtherDz) {\n containerEl.dispatchEvent(new CustomEvent(DRAGGED_LEFT_EVENT_NAME, {\n detail: {\n draggedEl: draggedEl,\n type: DRAGGED_LEFT_TYPES.LEFT_FOR_ANOTHER,\n theOtherDz: theOtherDz\n }\n }));\n}\nfunction dispatchDraggedElementLeftContainerForNone(containerEl, draggedEl) {\n containerEl.dispatchEvent(new CustomEvent(DRAGGED_LEFT_EVENT_NAME, {\n detail: {\n draggedEl: draggedEl,\n type: DRAGGED_LEFT_TYPES.OUTSIDE_OF_ANY\n }\n }));\n}\nfunction dispatchDraggedElementIsOverIndex(containerEl, indexObj, draggedEl) {\n containerEl.dispatchEvent(new CustomEvent(DRAGGED_OVER_INDEX_EVENT_NAME, {\n detail: {\n indexObj: indexObj,\n draggedEl: draggedEl\n }\n }));\n}\nfunction dispatchDraggedLeftDocument(draggedEl) {\n window.dispatchEvent(new CustomEvent(DRAGGED_LEFT_DOCUMENT_EVENT_NAME, {\n detail: {\n draggedEl: draggedEl\n }\n }));\n}\n\nvar TRIGGERS = {\n DRAG_STARTED: \"dragStarted\",\n DRAGGED_ENTERED: DRAGGED_ENTERED_EVENT_NAME,\n DRAGGED_ENTERED_ANOTHER: \"dragEnteredAnother\",\n DRAGGED_OVER_INDEX: DRAGGED_OVER_INDEX_EVENT_NAME,\n DRAGGED_LEFT: DRAGGED_LEFT_EVENT_NAME,\n DRAGGED_LEFT_ALL: \"draggedLeftAll\",\n DROPPED_INTO_ZONE: \"droppedIntoZone\",\n DROPPED_INTO_ANOTHER: \"droppedIntoAnother\",\n DROPPED_OUTSIDE_OF_ANY: \"droppedOutsideOfAny\",\n DRAG_STOPPED: \"dragStopped\"\n};\nvar SOURCES = {\n POINTER: \"pointer\",\n KEYBOARD: \"keyboard\"\n};\nvar SHADOW_ITEM_MARKER_PROPERTY_NAME = \"isDndShadowItem\";\nvar SHADOW_ELEMENT_ATTRIBUTE_NAME = \"data-is-dnd-shadow-item-internal\";\nvar SHADOW_ELEMENT_HINT_ATTRIBUTE_NAME = \"data-is-dnd-shadow-item-hint\";\nvar SHADOW_PLACEHOLDER_ITEM_ID = \"id:dnd-shadow-placeholder-0000\";\nvar DRAGGED_ELEMENT_ID = \"dnd-action-dragged-el\";\nvar ITEM_ID_KEY = \"id\";\nvar activeDndZoneCount = 0;\nfunction incrementActiveDropZoneCount() {\n activeDndZoneCount++;\n}\nfunction decrementActiveDropZoneCount() {\n if (activeDndZoneCount === 0) {\n throw new Error(\"Bug! trying to decrement when there are no dropzones\");\n }\n activeDndZoneCount--;\n}\n\n/**\n * Allows using another key instead of \"id\" in the items data. This is global and applies to all dndzones.\n * Has to be called when there are no rendered dndzones whatsoever.\n * @param {String} newKeyName\n * @throws {Error} if it was called when there are rendered dndzones or if it is given the wrong type (not a string)\n */\nfunction overrideItemIdKeyNameBeforeInitialisingDndZones(newKeyName) {\n if (activeDndZoneCount > 0) {\n throw new Error(\"can only override the id key before initialising any dndzone\");\n }\n if (typeof newKeyName !== \"string\") {\n throw new Error(\"item id key has to be a string\");\n }\n printDebug(function () {\n return [\"overriding item id key name\", newKeyName];\n });\n ITEM_ID_KEY = newKeyName;\n}\nvar isOnServer = typeof window === \"undefined\";\nvar printDebug = function printDebug() {};\n\n/**\n * Allows the user to show/hide console debug output\n * * @param {boolean} isDebug\n */\nfunction setDebugMode(isDebug) {\n if (isDebug) {\n printDebug = function printDebug(generateMessage) {\n var logFunction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : console.debug;\n var message = generateMessage();\n if (Array.isArray(message)) {\n logFunction.apply(void 0, _toConsumableArray(message));\n } else {\n logFunction(message);\n }\n };\n } else {\n printDebug = function printDebug() {};\n }\n}\n\n// This is based off https://stackoverflow.com/questions/27745438/how-to-compute-getboundingclientrect-without-considering-transforms/57876601#57876601\n// It removes the transforms that are potentially applied by the flip animations\n/**\n * Gets the bounding rect but removes transforms (ex: flip animation)\n * @param {HTMLElement} el\n * @param {boolean} [onlyVisible] - use the visible rect defaults to true\n * @return {{top: number, left: number, bottom: number, right: number}}\n */\nfunction getBoundingRectNoTransforms(el) {\n var onlyVisible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var ta;\n var rect = onlyVisible ? getVisibleRectRecursive(el) : el.getBoundingClientRect();\n var style = getComputedStyle(el);\n var tx = style.transform;\n if (tx) {\n var sx, sy, dx, dy;\n if (tx.startsWith(\"matrix3d(\")) {\n ta = tx.slice(9, -1).split(/, /);\n sx = +ta[0];\n sy = +ta[5];\n dx = +ta[12];\n dy = +ta[13];\n } else if (tx.startsWith(\"matrix(\")) {\n ta = tx.slice(7, -1).split(/, /);\n sx = +ta[0];\n sy = +ta[3];\n dx = +ta[4];\n dy = +ta[5];\n } else {\n return rect;\n }\n var to = style.transformOrigin;\n var x = rect.x - dx - (1 - sx) * parseFloat(to);\n var y = rect.y - dy - (1 - sy) * parseFloat(to.slice(to.indexOf(\" \") + 1));\n var w = sx ? rect.width / sx : el.offsetWidth;\n var h = sy ? rect.height / sy : el.offsetHeight;\n return {\n x: x,\n y: y,\n width: w,\n height: h,\n top: y,\n right: x + w,\n bottom: y + h,\n left: x\n };\n } else {\n return rect;\n }\n}\n\n/**\n * Gets the absolute bounding rect (accounts for the window's scroll position and removes transforms)\n * @param {HTMLElement} el\n * @return {{top: number, left: number, bottom: number, right: number}}\n */\nfunction getAbsoluteRectNoTransforms(el) {\n var rect = getBoundingRectNoTransforms(el);\n return {\n top: rect.top + window.scrollY,\n bottom: rect.bottom + window.scrollY,\n left: rect.left + window.scrollX,\n right: rect.right + window.scrollX\n };\n}\n\n/**\n * Gets the absolute bounding rect (accounts for the window's scroll position)\n * @param {HTMLElement} el\n * @return {{top: number, left: number, bottom: number, right: number}}\n */\nfunction getAbsoluteRect(el) {\n var rect = el.getBoundingClientRect();\n return {\n top: rect.top + window.scrollY,\n bottom: rect.bottom + window.scrollY,\n left: rect.left + window.scrollX,\n right: rect.right + window.scrollX\n };\n}\n\n/**\n * finds the center :)\n * @typedef {Object} Rect\n * @property {number} top\n * @property {number} bottom\n * @property {number} left\n * @property {number} right\n * @param {Rect} rect\n * @return {{x: number, y: number}}\n */\nfunction findCenter(rect) {\n return {\n x: (rect.left + rect.right) / 2,\n y: (rect.top + rect.bottom) / 2\n };\n}\n\n/**\n * @typedef {Object} Point\n * @property {number} x\n * @property {number} y\n * @param {Point} pointA\n * @param {Point} pointB\n * @return {number}\n */\nfunction calcDistance(pointA, pointB) {\n return Math.sqrt(Math.pow(pointA.x - pointB.x, 2) + Math.pow(pointA.y - pointB.y, 2));\n}\n\n/**\n * @param {Point} point\n * @param {Rect} rect\n * @return {boolean|boolean}\n */\nfunction isPointInsideRect(point, rect) {\n return point.y <= rect.bottom && point.y >= rect.top && point.x >= rect.left && point.x <= rect.right;\n}\n\n/**\n * find the absolute coordinates of the center of a dom element\n * @param el {HTMLElement}\n * @returns {{x: number, y: number}}\n */\nfunction findCenterOfElement(el) {\n return findCenter(getAbsoluteRect(el));\n}\n\n/**\n * @param {HTMLElement} elA\n * @param {HTMLElement} elB\n * @return {boolean}\n */\nfunction isCenterOfAInsideB(elA, elB) {\n var centerOfA = findCenterOfElement(elA);\n var rectOfB = getAbsoluteRectNoTransforms(elB);\n return isPointInsideRect(centerOfA, rectOfB);\n}\n\n/**\n * @param {HTMLElement|ChildNode} elA\n * @param {HTMLElement|ChildNode} elB\n * @return {number}\n */\nfunction calcDistanceBetweenCenters(elA, elB) {\n var centerOfA = findCenterOfElement(elA);\n var centerOfB = findCenterOfElement(elB);\n return calcDistance(centerOfA, centerOfB);\n}\n\n/**\n * @param {HTMLElement} el - the element to check\n * @returns {boolean} - true if the element in its entirety is off-screen including the scrollable area (the normal dom events look at the mouse rather than the element)\n */\nfunction isElementOffDocument(el) {\n var rect = getAbsoluteRect(el);\n return rect.right < 0 || rect.left > document.documentElement.scrollWidth || rect.bottom < 0 || rect.top > document.documentElement.scrollHeight;\n}\nfunction getVisibleRectRecursive(element) {\n var rect = element.getBoundingClientRect();\n var visibleRect = {\n top: rect.top,\n bottom: rect.bottom,\n left: rect.left,\n right: rect.right\n };\n\n // Traverse up the DOM hierarchy, checking for scrollable ancestors\n var parent = element.parentElement;\n while (parent && parent !== document.body) {\n var parentRect = parent.getBoundingClientRect();\n\n // Check if the parent has a scrollable overflow\n var overflowY = window.getComputedStyle(parent).overflowY;\n var overflowX = window.getComputedStyle(parent).overflowX;\n var isScrollableY = overflowY === \"scroll\" || overflowY === \"auto\";\n var isScrollableX = overflowX === \"scroll\" || overflowX === \"auto\";\n\n // Constrain the visible area to the parent's visible area\n if (isScrollableY) {\n visibleRect.top = Math.max(visibleRect.top, parentRect.top);\n visibleRect.bottom = Math.min(visibleRect.bottom, parentRect.bottom);\n }\n if (isScrollableX) {\n visibleRect.left = Math.max(visibleRect.left, parentRect.left);\n visibleRect.right = Math.min(visibleRect.right, parentRect.right);\n }\n parent = parent.parentElement;\n }\n\n // Finally, constrain the visible rect to the viewport\n visibleRect.top = Math.max(visibleRect.top, 0);\n visibleRect.bottom = Math.min(visibleRect.bottom, window.innerHeight);\n visibleRect.left = Math.max(visibleRect.left, 0);\n visibleRect.right = Math.min(visibleRect.right, window.innerWidth);\n\n // Return the visible rectangle, ensuring that all values are valid\n return {\n top: visibleRect.top,\n bottom: visibleRect.bottom,\n left: visibleRect.left,\n right: visibleRect.right,\n width: Math.max(0, visibleRect.right - visibleRect.left),\n height: Math.max(0, visibleRect.bottom - visibleRect.top)\n };\n}\n\nvar dzToShadowIndexToRect;\n\n/**\n * Resets the cache that allows for smarter \"would be index\" resolution. Should be called after every drag operation\n */\nfunction resetIndexesCache() {\n printDebug(function () {\n return \"resetting indexes cache\";\n });\n dzToShadowIndexToRect = new Map();\n}\nresetIndexesCache();\n\n/**\n * Caches the coordinates of the shadow element when it's in a certain index in a certain dropzone.\n * Helpful in order to determine \"would be index\" more effectively\n * @param {HTMLElement} dz\n * @return {number} - the shadow element index\n */\nfunction cacheShadowRect(dz) {\n var shadowElIndex = Array.from(dz.children).findIndex(function (child) {\n return child.getAttribute(SHADOW_ELEMENT_ATTRIBUTE_NAME);\n });\n if (shadowElIndex >= 0) {\n if (!dzToShadowIndexToRect.has(dz)) {\n dzToShadowIndexToRect.set(dz, new Map());\n }\n dzToShadowIndexToRect.get(dz).set(shadowElIndex, getAbsoluteRectNoTransforms(dz.children[shadowElIndex]));\n return shadowElIndex;\n }\n return undefined;\n}\n\n/**\n * @typedef {Object} Index\n * @property {number} index - the would be index\n * @property {boolean} isProximityBased - false if the element is actually over the index, true if it is not over it but this index is the closest\n */\n/**\n * Find the index for the dragged element in the list it is dragged over\n * @param {HTMLElement} floatingAboveEl\n * @param {HTMLElement} collectionBelowEl\n * @returns {Index|null} - if the element is over the container the Index object otherwise null\n */\nfunction findWouldBeIndex(floatingAboveEl, collectionBelowEl) {\n if (!isCenterOfAInsideB(floatingAboveEl, collectionBelowEl)) {\n return null;\n }\n var children = collectionBelowEl.children;\n // the container is empty, floating element should be the first\n if (children.length === 0) {\n return {\n index: 0,\n isProximityBased: true\n };\n }\n var shadowElIndex = cacheShadowRect(collectionBelowEl);\n\n // the search could be more efficient but keeping it simple for now\n // a possible improvement: pass in the lastIndex it was found in and check there first, then expand from there\n for (var i = 0; i < children.length; i++) {\n if (isCenterOfAInsideB(floatingAboveEl, children[i])) {\n var cachedShadowRect = dzToShadowIndexToRect.has(collectionBelowEl) && dzToShadowIndexToRect.get(collectionBelowEl).get(i);\n if (cachedShadowRect) {\n if (!isPointInsideRect(findCenterOfElement(floatingAboveEl), cachedShadowRect)) {\n return {\n index: shadowElIndex,\n isProximityBased: false\n };\n }\n }\n return {\n index: i,\n isProximityBased: false\n };\n }\n }\n // this can happen if there is space around the children so the floating element has\n //entered the container but not any of the children, in this case we will find the nearest child\n var minDistanceSoFar = Number.MAX_VALUE;\n var indexOfMin = undefined;\n // we are checking all of them because we don't know whether we are dealing with a horizontal or vertical container and where the floating element entered from\n for (var _i = 0; _i < children.length; _i++) {\n var distance = calcDistanceBetweenCenters(floatingAboveEl, children[_i]);\n if (distance < minDistanceSoFar) {\n minDistanceSoFar = distance;\n indexOfMin = _i;\n }\n }\n return {\n index: indexOfMin,\n isProximityBased: true\n };\n}\n\n/**\n * @param {Object} object\n * @return {string}\n */\nfunction toString(object) {\n return JSON.stringify(object, null, 2);\n}\n\n/**\n * Finds the depth of the given node in the DOM tree\n * @param {HTMLElement} node\n * @return {number} - the depth of the node\n */\nfunction getDepth(node) {\n if (!node) {\n throw new Error(\"cannot get depth of a falsy node\");\n }\n return _getDepth(node, 0);\n}\nfunction _getDepth(node) {\n var countSoFar = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n if (!node.parentElement) {\n return countSoFar - 1;\n }\n return _getDepth(node.parentElement, countSoFar + 1);\n}\n\n/**\n * A simple util to shallow compare objects quickly, it doesn't validate the arguments so pass objects in\n * @param {Object} objA\n * @param {Object} objB\n * @return {boolean} - true if objA and objB are shallow equal\n */\nfunction areObjectsShallowEqual(objA, objB) {\n if (Object.keys(objA).length !== Object.keys(objB).length) {\n return false;\n }\n for (var keyA in objA) {\n if (!{}.hasOwnProperty.call(objB, keyA) || objB[keyA] !== objA[keyA]) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Shallow compares two arrays\n * @param arrA\n * @param arrB\n * @return {boolean} - whether the arrays are shallow equal\n */\nfunction areArraysShallowEqualSameOrder(arrA, arrB) {\n if (arrA.length !== arrB.length) {\n return false;\n }\n for (var i = 0; i < arrA.length; i++) {\n if (arrA[i] !== arrB[i]) {\n return false;\n }\n }\n return true;\n}\n\nvar INTERVAL_MS = 200;\nvar TOLERANCE_PX = 10;\nvar next;\n\n/**\n * Tracks the dragged elements and performs the side effects when it is dragged over a drop zone (basically dispatching custom-events scrolling)\n * @param {Set} dropZones\n * @param {HTMLElement} draggedEl\n * @param {number} [intervalMs = INTERVAL_MS]\n * @param {MultiScroller} multiScroller\n */\nfunction observe(draggedEl, dropZones) {\n var intervalMs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : INTERVAL_MS;\n var multiScroller = arguments.length > 3 ? arguments[3] : undefined;\n // initialization\n var lastDropZoneFound;\n var lastIndexFound;\n var lastIsDraggedInADropZone = false;\n var lastCentrePositionOfDragged;\n // We are sorting to make sure that in case of nested zones of the same type the one \"on top\" is considered first\n var dropZonesFromDeepToShallow = Array.from(dropZones).sort(function (dz1, dz2) {\n return getDepth(dz2) - getDepth(dz1);\n });\n\n /**\n * The main function in this module. Tracks where everything is/ should be a take the actions\n */\n function andNow() {\n var currentCenterOfDragged = findCenterOfElement(draggedEl);\n var scrolled = multiScroller.multiScrollIfNeeded();\n // we only want to make a new decision after the element was moved a bit to prevent flickering\n if (!scrolled && lastCentrePositionOfDragged && Math.abs(lastCentrePositionOfDragged.x - currentCenterOfDragged.x) < TOLERANCE_PX && Math.abs(lastCentrePositionOfDragged.y - currentCenterOfDragged.y) < TOLERANCE_PX) {\n next = window.setTimeout(andNow, intervalMs);\n return;\n }\n if (isElementOffDocument(draggedEl)) {\n printDebug(function () {\n return \"off document\";\n });\n dispatchDraggedLeftDocument(draggedEl);\n return;\n }\n lastCentrePositionOfDragged = currentCenterOfDragged;\n // this is a simple algorithm, potential improvement: first look at lastDropZoneFound\n var isDraggedInADropZone = false;\n var _iterator = _createForOfIteratorHelper(dropZonesFromDeepToShallow),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var dz = _step.value;\n if (scrolled) resetIndexesCache();\n var indexObj = findWouldBeIndex(draggedEl, dz);\n if (indexObj === null) {\n // it is not inside\n continue;\n }\n var index = indexObj.index;\n isDraggedInADropZone = true;\n // the element is over a container\n if (dz !== lastDropZoneFound) {\n lastDropZoneFound && dispatchDraggedElementLeftContainerForAnother(lastDropZoneFound, draggedEl, dz);\n dispatchDraggedElementEnteredContainer(dz, indexObj, draggedEl);\n lastDropZoneFound = dz;\n } else if (index !== lastIndexFound) {\n dispatchDraggedElementIsOverIndex(dz, indexObj, draggedEl);\n lastIndexFound = index;\n }\n // we handle looping with the 'continue' statement above\n break;\n }\n // the first time the dragged element is not in any dropzone we need to notify the last dropzone it was in\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n if (!isDraggedInADropZone && lastIsDraggedInADropZone && lastDropZoneFound) {\n dispatchDraggedElementLeftContainerForNone(lastDropZoneFound, draggedEl);\n lastDropZoneFound = undefined;\n lastIndexFound = undefined;\n lastIsDraggedInADropZone = false;\n } else {\n lastIsDraggedInADropZone = true;\n }\n next = window.setTimeout(andNow, intervalMs);\n }\n andNow();\n}\n\n// assumption - we can only observe one dragged element at a time, this could be changed in the future\nfunction unobserve() {\n printDebug(function () {\n return \"unobserving\";\n });\n clearTimeout(next);\n resetIndexesCache();\n}\n\nvar SCROLL_ZONE_PX = 30;\n\n/**\n * Will make a scroller that can scroll any element given to it in any direction\n * @returns {{scrollIfNeeded: function(Point, HTMLElement): boolean, resetScrolling: function(void):void}}\n */\nfunction makeScroller() {\n var scrollingInfo;\n function resetScrolling() {\n scrollingInfo = {\n directionObj: undefined,\n stepPx: 0\n };\n }\n resetScrolling();\n // directionObj {x: 0|1|-1, y:0|1|-1} - 1 means down in y and right in x\n function scrollContainer(containerEl) {\n var _scrollingInfo = scrollingInfo,\n directionObj = _scrollingInfo.directionObj,\n stepPx = _scrollingInfo.stepPx;\n if (directionObj) {\n containerEl.scrollBy(directionObj.x * stepPx, directionObj.y * stepPx);\n window.requestAnimationFrame(function () {\n return scrollContainer(containerEl);\n });\n }\n }\n function calcScrollStepPx(distancePx) {\n return SCROLL_ZONE_PX - distancePx;\n }\n\n /**\n * @param {Point} pointer - the pointer will be used to decide in which direction to scroll\n * @param {HTMLElement} elementToScroll - the scroll container\n * If the pointer is next to the sides of the element to scroll, will trigger scrolling\n * Can be called repeatedly with updated pointer and elementToScroll values without issues\n * @return {boolean} - true if scrolling was needed\n */\n function scrollIfNeeded(pointer, elementToScroll) {\n if (!elementToScroll) {\n return false;\n }\n var distances = calcInnerDistancesBetweenPointAndSidesOfElement(pointer, elementToScroll);\n var isAlreadyScrolling = !!scrollingInfo.directionObj;\n if (distances === null) {\n if (isAlreadyScrolling) resetScrolling();\n return false;\n }\n var scrollingVertically = false,\n scrollingHorizontally = false;\n // vertical\n if (elementToScroll.scrollHeight > elementToScroll.clientHeight) {\n if (distances.bottom < SCROLL_ZONE_PX) {\n scrollingVertically = true;\n scrollingInfo.directionObj = {\n x: 0,\n y: 1\n };\n scrollingInfo.stepPx = calcScrollStepPx(distances.bottom);\n } else if (distances.top < SCROLL_ZONE_PX) {\n scrollingVertically = true;\n scrollingInfo.directionObj = {\n x: 0,\n y: -1\n };\n scrollingInfo.stepPx = calcScrollStepPx(distances.top);\n }\n if (!isAlreadyScrolling && scrollingVertically) {\n scrollContainer(elementToScroll);\n return true;\n }\n }\n // horizontal\n if (elementToScroll.scrollWidth > elementToScroll.clientWidth) {\n if (distances.right < SCROLL_ZONE_PX) {\n scrollingHorizontally = true;\n scrollingInfo.directionObj = {\n x: 1,\n y: 0\n };\n scrollingInfo.stepPx = calcScrollStepPx(distances.right);\n } else if (distances.left < SCROLL_ZONE_PX) {\n scrollingHorizontally = true;\n scrollingInfo.directionObj = {\n x: -1,\n y: 0\n };\n scrollingInfo.stepPx = calcScrollStepPx(distances.left);\n }\n if (!isAlreadyScrolling && scrollingHorizontally) {\n scrollContainer(elementToScroll);\n return true;\n }\n }\n resetScrolling();\n return false;\n }\n return {\n scrollIfNeeded: scrollIfNeeded,\n resetScrolling: resetScrolling\n };\n}\n\n/**\n * If the point is inside the element returns its distances from the sides, otherwise returns null\n * @param {Point} point\n * @param {HTMLElement} el\n * @return {null|{top: number, left: number, bottom: number, right: number}}\n */\nfunction calcInnerDistancesBetweenPointAndSidesOfElement(point, el) {\n // Even if the scrolling element is small it acts as a scroller for the viewport\n var rect = el === document.scrollingElement ? {\n top: 0,\n bottom: window.innerHeight,\n left: 0,\n right: window.innerWidth\n } : el.getBoundingClientRect();\n if (!isPointInsideRect(point, rect)) {\n return null;\n }\n return {\n top: point.y - rect.top,\n bottom: rect.bottom - point.y,\n left: point.x - rect.left,\n right: rect.right - point.x\n };\n}\n\n/**\n @typedef {Object} MultiScroller\n @property {function():boolean} multiScrollIfNeeded - call this on every \"tick\" to scroll containers if needed, returns true if anything was scrolled\n/**\n * Creates a scroller than can scroll any of the provided containers or any of their scrollable parents (including the document's scrolling element)\n * @param {HTMLElement[]} baseElementsForScrolling\n * @param {function():Point} getPointerPosition\n * @return {MultiScroller}\n */\nfunction createMultiScroller() {\n var baseElementsForScrolling = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var getPointerPosition = arguments.length > 1 ? arguments[1] : undefined;\n printDebug(function () {\n return \"creating multi-scroller\";\n });\n var scrollingContainersSet = findRelevantScrollContainers(baseElementsForScrolling);\n var scrollingContainersDeepToShallow = Array.from(scrollingContainersSet).sort(function (dz1, dz2) {\n return getDepth(dz2) - getDepth(dz1);\n });\n var _makeScroller = makeScroller(),\n scrollIfNeeded = _makeScroller.scrollIfNeeded,\n resetScrolling = _makeScroller.resetScrolling;\n\n /**\n * @return {boolean} - was any container scrolled\n */\n function tick() {\n var mousePosition = getPointerPosition();\n if (!mousePosition || !scrollingContainersDeepToShallow) {\n return false;\n }\n var scrollContainersUnderCursor = scrollingContainersDeepToShallow.filter(function (el) {\n return isPointInsideRect(mousePosition, el.getBoundingClientRect()) || el === document.scrollingElement;\n });\n for (var i = 0; i < scrollContainersUnderCursor.length; i++) {\n var scrolled = scrollIfNeeded(mousePosition, scrollContainersUnderCursor[i]);\n if (scrolled) {\n return true;\n }\n }\n return false;\n }\n return {\n multiScrollIfNeeded: scrollingContainersSet.size > 0 ? tick : function () {\n return false;\n },\n destroy: function destroy() {\n return resetScrolling();\n }\n };\n}\n\n// internal utils\nfunction findScrollableParents(element) {\n if (!element) {\n return [];\n }\n var scrollableContainers = [];\n var parent = element;\n while (parent) {\n var _window$getComputedSt = window.getComputedStyle(parent),\n overflow = _window$getComputedSt.overflow;\n if (overflow.split(\" \").some(function (o) {\n return o.includes(\"auto\") || o.includes(\"scroll\");\n })) {\n scrollableContainers.push(parent);\n }\n parent = parent.parentElement;\n }\n return scrollableContainers;\n}\nfunction findRelevantScrollContainers(dropZones) {\n var scrollingContainers = new Set();\n var _iterator = _createForOfIteratorHelper(dropZones),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var dz = _step.value;\n findScrollableParents(dz).forEach(function (container) {\n return scrollingContainers.add(container);\n });\n }\n // The scrolling element might have overflow visible and still be scrollable\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n if (document.scrollingElement.scrollHeight > document.scrollingElement.clientHeight || document.scrollingElement.scrollWidth > document.scrollingElement.clientHeight) {\n scrollingContainers.add(document.scrollingElement);\n }\n return scrollingContainers;\n}\n\n/**\n * Fixes svelte issue when cloning node containing (or being) \n \n \n \n\n","/*!\n * Quill Editor v1.3.7\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Quill\"] = factory();\n\telse\n\t\troot[\"Quill\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 109);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(17);\nvar format_1 = __webpack_require__(18);\nvar leaf_1 = __webpack_require__(19);\nvar scroll_1 = __webpack_require__(45);\nvar inline_1 = __webpack_require__(46);\nvar block_1 = __webpack_require__(47);\nvar embed_1 = __webpack_require__(48);\nvar text_1 = __webpack_require__(49);\nvar attributor_1 = __webpack_require__(12);\nvar class_1 = __webpack_require__(32);\nvar style_1 = __webpack_require__(33);\nvar store_1 = __webpack_require__(31);\nvar Registry = __webpack_require__(1);\nvar Parchment = {\n Scope: Registry.Scope,\n create: Registry.create,\n find: Registry.find,\n query: Registry.query,\n register: Registry.register,\n Container: container_1.default,\n Format: format_1.default,\n Leaf: leaf_1.default,\n Embed: embed_1.default,\n Scroll: scroll_1.default,\n Block: block_1.default,\n Inline: inline_1.default,\n Text: text_1.default,\n Attributor: {\n Attribute: attributor_1.default,\n Class: class_1.default,\n Style: style_1.default,\n Store: store_1.default,\n },\n};\nexports.default = Parchment;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ParchmentError = /** @class */ (function (_super) {\n __extends(ParchmentError, _super);\n function ParchmentError(message) {\n var _this = this;\n message = '[Parchment] ' + message;\n _this = _super.call(this, message) || this;\n _this.message = message;\n _this.name = _this.constructor.name;\n return _this;\n }\n return ParchmentError;\n}(Error));\nexports.ParchmentError = ParchmentError;\nvar attributes = {};\nvar classes = {};\nvar tags = {};\nvar types = {};\nexports.DATA_KEY = '__blot';\nvar Scope;\n(function (Scope) {\n Scope[Scope[\"TYPE\"] = 3] = \"TYPE\";\n Scope[Scope[\"LEVEL\"] = 12] = \"LEVEL\";\n Scope[Scope[\"ATTRIBUTE\"] = 13] = \"ATTRIBUTE\";\n Scope[Scope[\"BLOT\"] = 14] = \"BLOT\";\n Scope[Scope[\"INLINE\"] = 7] = \"INLINE\";\n Scope[Scope[\"BLOCK\"] = 11] = \"BLOCK\";\n Scope[Scope[\"BLOCK_BLOT\"] = 10] = \"BLOCK_BLOT\";\n Scope[Scope[\"INLINE_BLOT\"] = 6] = \"INLINE_BLOT\";\n Scope[Scope[\"BLOCK_ATTRIBUTE\"] = 9] = \"BLOCK_ATTRIBUTE\";\n Scope[Scope[\"INLINE_ATTRIBUTE\"] = 5] = \"INLINE_ATTRIBUTE\";\n Scope[Scope[\"ANY\"] = 15] = \"ANY\";\n})(Scope = exports.Scope || (exports.Scope = {}));\nfunction create(input, value) {\n var match = query(input);\n if (match == null) {\n throw new ParchmentError(\"Unable to create \" + input + \" blot\");\n }\n var BlotClass = match;\n var node = \n // @ts-ignore\n input instanceof Node || input['nodeType'] === Node.TEXT_NODE ? input : BlotClass.create(value);\n return new BlotClass(node, value);\n}\nexports.create = create;\nfunction find(node, bubble) {\n if (bubble === void 0) { bubble = false; }\n if (node == null)\n return null;\n // @ts-ignore\n if (node[exports.DATA_KEY] != null)\n return node[exports.DATA_KEY].blot;\n if (bubble)\n return find(node.parentNode, bubble);\n return null;\n}\nexports.find = find;\nfunction query(query, scope) {\n if (scope === void 0) { scope = Scope.ANY; }\n var match;\n if (typeof query === 'string') {\n match = types[query] || attributes[query];\n // @ts-ignore\n }\n else if (query instanceof Text || query['nodeType'] === Node.TEXT_NODE) {\n match = types['text'];\n }\n else if (typeof query === 'number') {\n if (query & Scope.LEVEL & Scope.BLOCK) {\n match = types['block'];\n }\n else if (query & Scope.LEVEL & Scope.INLINE) {\n match = types['inline'];\n }\n }\n else if (query instanceof HTMLElement) {\n var names = (query.getAttribute('class') || '').split(/\\s+/);\n for (var i in names) {\n match = classes[names[i]];\n if (match)\n break;\n }\n match = match || tags[query.tagName];\n }\n if (match == null)\n return null;\n // @ts-ignore\n if (scope & Scope.LEVEL & match.scope && scope & Scope.TYPE & match.scope)\n return match;\n return null;\n}\nexports.query = query;\nfunction register() {\n var Definitions = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n Definitions[_i] = arguments[_i];\n }\n if (Definitions.length > 1) {\n return Definitions.map(function (d) {\n return register(d);\n });\n }\n var Definition = Definitions[0];\n if (typeof Definition.blotName !== 'string' && typeof Definition.attrName !== 'string') {\n throw new ParchmentError('Invalid definition');\n }\n else if (Definition.blotName === 'abstract') {\n throw new ParchmentError('Cannot register abstract class');\n }\n types[Definition.blotName || Definition.attrName] = Definition;\n if (typeof Definition.keyName === 'string') {\n attributes[Definition.keyName] = Definition;\n }\n else {\n if (Definition.className != null) {\n classes[Definition.className] = Definition;\n }\n if (Definition.tagName != null) {\n if (Array.isArray(Definition.tagName)) {\n Definition.tagName = Definition.tagName.map(function (tagName) {\n return tagName.toUpperCase();\n });\n }\n else {\n Definition.tagName = Definition.tagName.toUpperCase();\n }\n var tagNames = Array.isArray(Definition.tagName) ? Definition.tagName : [Definition.tagName];\n tagNames.forEach(function (tag) {\n if (tags[tag] == null || Definition.className == null) {\n tags[tag] = Definition;\n }\n });\n }\n }\n return Definition;\n}\nexports.register = register;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar diff = __webpack_require__(51);\nvar equal = __webpack_require__(11);\nvar extend = __webpack_require__(3);\nvar op = __webpack_require__(20);\n\n\nvar NULL_CHARACTER = String.fromCharCode(0); // Placeholder char for embed in diff()\n\n\nvar Delta = function (ops) {\n // Assume we are given a well formed ops\n if (Array.isArray(ops)) {\n this.ops = ops;\n } else if (ops != null && Array.isArray(ops.ops)) {\n this.ops = ops.ops;\n } else {\n this.ops = [];\n }\n};\n\n\nDelta.prototype.insert = function (text, attributes) {\n var newOp = {};\n if (text.length === 0) return this;\n newOp.insert = text;\n if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n};\n\nDelta.prototype['delete'] = function (length) {\n if (length <= 0) return this;\n return this.push({ 'delete': length });\n};\n\nDelta.prototype.retain = function (length, attributes) {\n if (length <= 0) return this;\n var newOp = { retain: length };\n if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n};\n\nDelta.prototype.push = function (newOp) {\n var index = this.ops.length;\n var lastOp = this.ops[index - 1];\n newOp = extend(true, {}, newOp);\n if (typeof lastOp === 'object') {\n if (typeof newOp['delete'] === 'number' && typeof lastOp['delete'] === 'number') {\n this.ops[index - 1] = { 'delete': lastOp['delete'] + newOp['delete'] };\n return this;\n }\n // Since it does not matter if we insert before or after deleting at the same index,\n // always prefer to insert first\n if (typeof lastOp['delete'] === 'number' && newOp.insert != null) {\n index -= 1;\n lastOp = this.ops[index - 1];\n if (typeof lastOp !== 'object') {\n this.ops.unshift(newOp);\n return this;\n }\n }\n if (equal(newOp.attributes, lastOp.attributes)) {\n if (typeof newOp.insert === 'string' && typeof lastOp.insert === 'string') {\n this.ops[index - 1] = { insert: lastOp.insert + newOp.insert };\n if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\n return this;\n } else if (typeof newOp.retain === 'number' && typeof lastOp.retain === 'number') {\n this.ops[index - 1] = { retain: lastOp.retain + newOp.retain };\n if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\n return this;\n }\n }\n }\n if (index === this.ops.length) {\n this.ops.push(newOp);\n } else {\n this.ops.splice(index, 0, newOp);\n }\n return this;\n};\n\nDelta.prototype.chop = function () {\n var lastOp = this.ops[this.ops.length - 1];\n if (lastOp && lastOp.retain && !lastOp.attributes) {\n this.ops.pop();\n }\n return this;\n};\n\nDelta.prototype.filter = function (predicate) {\n return this.ops.filter(predicate);\n};\n\nDelta.prototype.forEach = function (predicate) {\n this.ops.forEach(predicate);\n};\n\nDelta.prototype.map = function (predicate) {\n return this.ops.map(predicate);\n};\n\nDelta.prototype.partition = function (predicate) {\n var passed = [], failed = [];\n this.forEach(function(op) {\n var target = predicate(op) ? passed : failed;\n target.push(op);\n });\n return [passed, failed];\n};\n\nDelta.prototype.reduce = function (predicate, initial) {\n return this.ops.reduce(predicate, initial);\n};\n\nDelta.prototype.changeLength = function () {\n return this.reduce(function (length, elem) {\n if (elem.insert) {\n return length + op.length(elem);\n } else if (elem.delete) {\n return length - elem.delete;\n }\n return length;\n }, 0);\n};\n\nDelta.prototype.length = function () {\n return this.reduce(function (length, elem) {\n return length + op.length(elem);\n }, 0);\n};\n\nDelta.prototype.slice = function (start, end) {\n start = start || 0;\n if (typeof end !== 'number') end = Infinity;\n var ops = [];\n var iter = op.iterator(this.ops);\n var index = 0;\n while (index < end && iter.hasNext()) {\n var nextOp;\n if (index < start) {\n nextOp = iter.next(start - index);\n } else {\n nextOp = iter.next(end - index);\n ops.push(nextOp);\n }\n index += op.length(nextOp);\n }\n return new Delta(ops);\n};\n\n\nDelta.prototype.compose = function (other) {\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n var ops = [];\n var firstOther = otherIter.peek();\n if (firstOther != null && typeof firstOther.retain === 'number' && firstOther.attributes == null) {\n var firstLeft = firstOther.retain;\n while (thisIter.peekType() === 'insert' && thisIter.peekLength() <= firstLeft) {\n firstLeft -= thisIter.peekLength();\n ops.push(thisIter.next());\n }\n if (firstOther.retain - firstLeft > 0) {\n otherIter.next(firstOther.retain - firstLeft);\n }\n }\n var delta = new Delta(ops);\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n } else if (thisIter.peekType() === 'delete') {\n delta.push(thisIter.next());\n } else {\n var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n var thisOp = thisIter.next(length);\n var otherOp = otherIter.next(length);\n if (typeof otherOp.retain === 'number') {\n var newOp = {};\n if (typeof thisOp.retain === 'number') {\n newOp.retain = length;\n } else {\n newOp.insert = thisOp.insert;\n }\n // Preserve null when composing with a retain, otherwise remove it for inserts\n var attributes = op.attributes.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number');\n if (attributes) newOp.attributes = attributes;\n delta.push(newOp);\n\n // Optimization if rest of other is just retain\n if (!otherIter.hasNext() && equal(delta.ops[delta.ops.length - 1], newOp)) {\n var rest = new Delta(thisIter.rest());\n return delta.concat(rest).chop();\n }\n\n // Other op should be delete, we could be an insert or retain\n // Insert + delete cancels out\n } else if (typeof otherOp['delete'] === 'number' && typeof thisOp.retain === 'number') {\n delta.push(otherOp);\n }\n }\n }\n return delta.chop();\n};\n\nDelta.prototype.concat = function (other) {\n var delta = new Delta(this.ops.slice());\n if (other.ops.length > 0) {\n delta.push(other.ops[0]);\n delta.ops = delta.ops.concat(other.ops.slice(1));\n }\n return delta;\n};\n\nDelta.prototype.diff = function (other, index) {\n if (this.ops === other.ops) {\n return new Delta();\n }\n var strings = [this, other].map(function (delta) {\n return delta.map(function (op) {\n if (op.insert != null) {\n return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER;\n }\n var prep = (delta === other) ? 'on' : 'with';\n throw new Error('diff() called ' + prep + ' non-document');\n }).join('');\n });\n var delta = new Delta();\n var diffResult = diff(strings[0], strings[1], index);\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n diffResult.forEach(function (component) {\n var length = component[1].length;\n while (length > 0) {\n var opLength = 0;\n switch (component[0]) {\n case diff.INSERT:\n opLength = Math.min(otherIter.peekLength(), length);\n delta.push(otherIter.next(opLength));\n break;\n case diff.DELETE:\n opLength = Math.min(length, thisIter.peekLength());\n thisIter.next(opLength);\n delta['delete'](opLength);\n break;\n case diff.EQUAL:\n opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length);\n var thisOp = thisIter.next(opLength);\n var otherOp = otherIter.next(opLength);\n if (equal(thisOp.insert, otherOp.insert)) {\n delta.retain(opLength, op.attributes.diff(thisOp.attributes, otherOp.attributes));\n } else {\n delta.push(otherOp)['delete'](opLength);\n }\n break;\n }\n length -= opLength;\n }\n });\n return delta.chop();\n};\n\nDelta.prototype.eachLine = function (predicate, newline) {\n newline = newline || '\\n';\n var iter = op.iterator(this.ops);\n var line = new Delta();\n var i = 0;\n while (iter.hasNext()) {\n if (iter.peekType() !== 'insert') return;\n var thisOp = iter.peek();\n var start = op.length(thisOp) - iter.peekLength();\n var index = typeof thisOp.insert === 'string' ?\n thisOp.insert.indexOf(newline, start) - start : -1;\n if (index < 0) {\n line.push(iter.next());\n } else if (index > 0) {\n line.push(iter.next(index));\n } else {\n if (predicate(line, iter.next(1).attributes || {}, i) === false) {\n return;\n }\n i += 1;\n line = new Delta();\n }\n }\n if (line.length() > 0) {\n predicate(line, {}, i);\n }\n};\n\nDelta.prototype.transform = function (other, priority) {\n priority = !!priority;\n if (typeof other === 'number') {\n return this.transformPosition(other, priority);\n }\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n var delta = new Delta();\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (thisIter.peekType() === 'insert' && (priority || otherIter.peekType() !== 'insert')) {\n delta.retain(op.length(thisIter.next()));\n } else if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n } else {\n var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n var thisOp = thisIter.next(length);\n var otherOp = otherIter.next(length);\n if (thisOp['delete']) {\n // Our delete either makes their delete redundant or removes their retain\n continue;\n } else if (otherOp['delete']) {\n delta.push(otherOp);\n } else {\n // We retain either their retain or insert\n delta.retain(length, op.attributes.transform(thisOp.attributes, otherOp.attributes, priority));\n }\n }\n }\n return delta.chop();\n};\n\nDelta.prototype.transformPosition = function (index, priority) {\n priority = !!priority;\n var thisIter = op.iterator(this.ops);\n var offset = 0;\n while (thisIter.hasNext() && offset <= index) {\n var length = thisIter.peekLength();\n var nextType = thisIter.peekType();\n thisIter.next();\n if (nextType === 'delete') {\n index -= Math.min(length, index - offset);\n continue;\n } else if (nextType === 'insert' && (offset < index || !priority)) {\n index += length;\n }\n offset += length;\n }\n return index;\n};\n\n\nmodule.exports = Delta;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BlockEmbed = exports.bubbleFormats = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar NEWLINE_LENGTH = 1;\n\nvar BlockEmbed = function (_Parchment$Embed) {\n _inherits(BlockEmbed, _Parchment$Embed);\n\n function BlockEmbed() {\n _classCallCheck(this, BlockEmbed);\n\n return _possibleConstructorReturn(this, (BlockEmbed.__proto__ || Object.getPrototypeOf(BlockEmbed)).apply(this, arguments));\n }\n\n _createClass(BlockEmbed, [{\n key: 'attach',\n value: function attach() {\n _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'attach', this).call(this);\n this.attributes = new _parchment2.default.Attributor.Store(this.domNode);\n }\n }, {\n key: 'delta',\n value: function delta() {\n return new _quillDelta2.default().insert(this.value(), (0, _extend2.default)(this.formats(), this.attributes.values()));\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n var attribute = _parchment2.default.query(name, _parchment2.default.Scope.BLOCK_ATTRIBUTE);\n if (attribute != null) {\n this.attributes.attribute(attribute, value);\n }\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n this.format(name, value);\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (typeof value === 'string' && value.endsWith('\\n')) {\n var block = _parchment2.default.create(Block.blotName);\n this.parent.insertBefore(block, index === 0 ? this : this.next);\n block.insertAt(0, value.slice(0, -1));\n } else {\n _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'insertAt', this).call(this, index, value, def);\n }\n }\n }]);\n\n return BlockEmbed;\n}(_parchment2.default.Embed);\n\nBlockEmbed.scope = _parchment2.default.Scope.BLOCK_BLOT;\n// It is important for cursor behavior BlockEmbeds use tags that are block level elements\n\n\nvar Block = function (_Parchment$Block) {\n _inherits(Block, _Parchment$Block);\n\n function Block(domNode) {\n _classCallCheck(this, Block);\n\n var _this2 = _possibleConstructorReturn(this, (Block.__proto__ || Object.getPrototypeOf(Block)).call(this, domNode));\n\n _this2.cache = {};\n return _this2;\n }\n\n _createClass(Block, [{\n key: 'delta',\n value: function delta() {\n if (this.cache.delta == null) {\n this.cache.delta = this.descendants(_parchment2.default.Leaf).reduce(function (delta, leaf) {\n if (leaf.length() === 0) {\n return delta;\n } else {\n return delta.insert(leaf.value(), bubbleFormats(leaf));\n }\n }, new _quillDelta2.default()).insert('\\n', bubbleFormats(this));\n }\n return this.cache.delta;\n }\n }, {\n key: 'deleteAt',\n value: function deleteAt(index, length) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'deleteAt', this).call(this, index, length);\n this.cache = {};\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (length <= 0) return;\n if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n if (index + length === this.length()) {\n this.format(name, value);\n }\n } else {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'formatAt', this).call(this, index, Math.min(length, this.length() - index - 1), name, value);\n }\n this.cache = {};\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null) return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, index, value, def);\n if (value.length === 0) return;\n var lines = value.split('\\n');\n var text = lines.shift();\n if (text.length > 0) {\n if (index < this.length() - 1 || this.children.tail == null) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, Math.min(index, this.length() - 1), text);\n } else {\n this.children.tail.insertAt(this.children.tail.length(), text);\n }\n this.cache = {};\n }\n var block = this;\n lines.reduce(function (index, line) {\n block = block.split(index, true);\n block.insertAt(0, line);\n return line.length;\n }, index + text.length);\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n var head = this.children.head;\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertBefore', this).call(this, blot, ref);\n if (head instanceof _break2.default) {\n head.remove();\n }\n this.cache = {};\n }\n }, {\n key: 'length',\n value: function length() {\n if (this.cache.length == null) {\n this.cache.length = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'length', this).call(this) + NEWLINE_LENGTH;\n }\n return this.cache.length;\n }\n }, {\n key: 'moveChildren',\n value: function moveChildren(target, ref) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'moveChildren', this).call(this, target, ref);\n this.cache = {};\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'optimize', this).call(this, context);\n this.cache = {};\n }\n }, {\n key: 'path',\n value: function path(index) {\n return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'path', this).call(this, index, true);\n }\n }, {\n key: 'removeChild',\n value: function removeChild(child) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'removeChild', this).call(this, child);\n this.cache = {};\n }\n }, {\n key: 'split',\n value: function split(index) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (force && (index === 0 || index >= this.length() - NEWLINE_LENGTH)) {\n var clone = this.clone();\n if (index === 0) {\n this.parent.insertBefore(clone, this);\n return this;\n } else {\n this.parent.insertBefore(clone, this.next);\n return clone;\n }\n } else {\n var next = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'split', this).call(this, index, force);\n this.cache = {};\n return next;\n }\n }\n }]);\n\n return Block;\n}(_parchment2.default.Block);\n\nBlock.blotName = 'block';\nBlock.tagName = 'P';\nBlock.defaultChild = 'break';\nBlock.allowedChildren = [_inline2.default, _parchment2.default.Embed, _text2.default];\n\nfunction bubbleFormats(blot) {\n var formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (blot == null) return formats;\n if (typeof blot.formats === 'function') {\n formats = (0, _extend2.default)(formats, blot.formats());\n }\n if (blot.parent == null || blot.parent.blotName == 'scroll' || blot.parent.statics.scope !== blot.statics.scope) {\n return formats;\n }\n return bubbleFormats(blot.parent, formats);\n}\n\nexports.bubbleFormats = bubbleFormats;\nexports.BlockEmbed = BlockEmbed;\nexports.default = Block;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.overload = exports.expandConfig = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n__webpack_require__(50);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _editor = __webpack_require__(14);\n\nvar _editor2 = _interopRequireDefault(_editor);\n\nvar _emitter3 = __webpack_require__(8);\n\nvar _emitter4 = _interopRequireDefault(_emitter3);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _selection = __webpack_require__(15);\n\nvar _selection2 = _interopRequireDefault(_selection);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _theme = __webpack_require__(34);\n\nvar _theme2 = _interopRequireDefault(_theme);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar debug = (0, _logger2.default)('quill');\n\nvar Quill = function () {\n _createClass(Quill, null, [{\n key: 'debug',\n value: function debug(limit) {\n if (limit === true) {\n limit = 'log';\n }\n _logger2.default.level(limit);\n }\n }, {\n key: 'find',\n value: function find(node) {\n return node.__quill || _parchment2.default.find(node);\n }\n }, {\n key: 'import',\n value: function _import(name) {\n if (this.imports[name] == null) {\n debug.error('Cannot import ' + name + '. Are you sure it was registered?');\n }\n return this.imports[name];\n }\n }, {\n key: 'register',\n value: function register(path, target) {\n var _this = this;\n\n var overwrite = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (typeof path !== 'string') {\n var name = path.attrName || path.blotName;\n if (typeof name === 'string') {\n // register(Blot | Attributor, overwrite)\n this.register('formats/' + name, path, target);\n } else {\n Object.keys(path).forEach(function (key) {\n _this.register(key, path[key], target);\n });\n }\n } else {\n if (this.imports[path] != null && !overwrite) {\n debug.warn('Overwriting ' + path + ' with', target);\n }\n this.imports[path] = target;\n if ((path.startsWith('blots/') || path.startsWith('formats/')) && target.blotName !== 'abstract') {\n _parchment2.default.register(target);\n } else if (path.startsWith('modules') && typeof target.register === 'function') {\n target.register();\n }\n }\n }\n }]);\n\n function Quill(container) {\n var _this2 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Quill);\n\n this.options = expandConfig(container, options);\n this.container = this.options.container;\n if (this.container == null) {\n return debug.error('Invalid Quill container', container);\n }\n if (this.options.debug) {\n Quill.debug(this.options.debug);\n }\n var html = this.container.innerHTML.trim();\n this.container.classList.add('ql-container');\n this.container.innerHTML = '';\n this.container.__quill = this;\n this.root = this.addContainer('ql-editor');\n this.root.classList.add('ql-blank');\n this.root.setAttribute('data-gramm', false);\n this.scrollingContainer = this.options.scrollingContainer || this.root;\n this.emitter = new _emitter4.default();\n this.scroll = _parchment2.default.create(this.root, {\n emitter: this.emitter,\n whitelist: this.options.formats\n });\n this.editor = new _editor2.default(this.scroll);\n this.selection = new _selection2.default(this.scroll, this.emitter);\n this.theme = new this.options.theme(this, this.options);\n this.keyboard = this.theme.addModule('keyboard');\n this.clipboard = this.theme.addModule('clipboard');\n this.history = this.theme.addModule('history');\n this.theme.init();\n this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type) {\n if (type === _emitter4.default.events.TEXT_CHANGE) {\n _this2.root.classList.toggle('ql-blank', _this2.editor.isBlank());\n }\n });\n this.emitter.on(_emitter4.default.events.SCROLL_UPDATE, function (source, mutations) {\n var range = _this2.selection.lastRange;\n var index = range && range.length === 0 ? range.index : undefined;\n modify.call(_this2, function () {\n return _this2.editor.update(null, mutations, index);\n }, source);\n });\n var contents = this.clipboard.convert('
    ' + html + '


    ');\n this.setContents(contents);\n this.history.clear();\n if (this.options.placeholder) {\n this.root.setAttribute('data-placeholder', this.options.placeholder);\n }\n if (this.options.readOnly) {\n this.disable();\n }\n }\n\n _createClass(Quill, [{\n key: 'addContainer',\n value: function addContainer(container) {\n var refNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (typeof container === 'string') {\n var className = container;\n container = document.createElement('div');\n container.classList.add(className);\n }\n this.container.insertBefore(container, refNode);\n return container;\n }\n }, {\n key: 'blur',\n value: function blur() {\n this.selection.setRange(null);\n }\n }, {\n key: 'deleteText',\n value: function deleteText(index, length, source) {\n var _this3 = this;\n\n var _overload = overload(index, length, source);\n\n var _overload2 = _slicedToArray(_overload, 4);\n\n index = _overload2[0];\n length = _overload2[1];\n source = _overload2[3];\n\n return modify.call(this, function () {\n return _this3.editor.deleteText(index, length);\n }, source, index, -1 * length);\n }\n }, {\n key: 'disable',\n value: function disable() {\n this.enable(false);\n }\n }, {\n key: 'enable',\n value: function enable() {\n var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.scroll.enable(enabled);\n this.container.classList.toggle('ql-disabled', !enabled);\n }\n }, {\n key: 'focus',\n value: function focus() {\n var scrollTop = this.scrollingContainer.scrollTop;\n this.selection.focus();\n this.scrollingContainer.scrollTop = scrollTop;\n this.scrollIntoView();\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n var _this4 = this;\n\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\n return modify.call(this, function () {\n var range = _this4.getSelection(true);\n var change = new _quillDelta2.default();\n if (range == null) {\n return change;\n } else if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n change = _this4.editor.formatLine(range.index, range.length, _defineProperty({}, name, value));\n } else if (range.length === 0) {\n _this4.selection.format(name, value);\n return change;\n } else {\n change = _this4.editor.formatText(range.index, range.length, _defineProperty({}, name, value));\n }\n _this4.setSelection(range, _emitter4.default.sources.SILENT);\n return change;\n }, source);\n }\n }, {\n key: 'formatLine',\n value: function formatLine(index, length, name, value, source) {\n var _this5 = this;\n\n var formats = void 0;\n\n var _overload3 = overload(index, length, name, value, source);\n\n var _overload4 = _slicedToArray(_overload3, 4);\n\n index = _overload4[0];\n length = _overload4[1];\n formats = _overload4[2];\n source = _overload4[3];\n\n return modify.call(this, function () {\n return _this5.editor.formatLine(index, length, formats);\n }, source, index, 0);\n }\n }, {\n key: 'formatText',\n value: function formatText(index, length, name, value, source) {\n var _this6 = this;\n\n var formats = void 0;\n\n var _overload5 = overload(index, length, name, value, source);\n\n var _overload6 = _slicedToArray(_overload5, 4);\n\n index = _overload6[0];\n length = _overload6[1];\n formats = _overload6[2];\n source = _overload6[3];\n\n return modify.call(this, function () {\n return _this6.editor.formatText(index, length, formats);\n }, source, index, 0);\n }\n }, {\n key: 'getBounds',\n value: function getBounds(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var bounds = void 0;\n if (typeof index === 'number') {\n bounds = this.selection.getBounds(index, length);\n } else {\n bounds = this.selection.getBounds(index.index, index.length);\n }\n var containerBounds = this.container.getBoundingClientRect();\n return {\n bottom: bounds.bottom - containerBounds.top,\n height: bounds.height,\n left: bounds.left - containerBounds.left,\n right: bounds.right - containerBounds.left,\n top: bounds.top - containerBounds.top,\n width: bounds.width\n };\n }\n }, {\n key: 'getContents',\n value: function getContents() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n var _overload7 = overload(index, length);\n\n var _overload8 = _slicedToArray(_overload7, 2);\n\n index = _overload8[0];\n length = _overload8[1];\n\n return this.editor.getContents(index, length);\n }\n }, {\n key: 'getFormat',\n value: function getFormat() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSelection(true);\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (typeof index === 'number') {\n return this.editor.getFormat(index, length);\n } else {\n return this.editor.getFormat(index.index, index.length);\n }\n }\n }, {\n key: 'getIndex',\n value: function getIndex(blot) {\n return blot.offset(this.scroll);\n }\n }, {\n key: 'getLength',\n value: function getLength() {\n return this.scroll.length();\n }\n }, {\n key: 'getLeaf',\n value: function getLeaf(index) {\n return this.scroll.leaf(index);\n }\n }, {\n key: 'getLine',\n value: function getLine(index) {\n return this.scroll.line(index);\n }\n }, {\n key: 'getLines',\n value: function getLines() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n if (typeof index !== 'number') {\n return this.scroll.lines(index.index, index.length);\n } else {\n return this.scroll.lines(index, length);\n }\n }\n }, {\n key: 'getModule',\n value: function getModule(name) {\n return this.theme.modules[name];\n }\n }, {\n key: 'getSelection',\n value: function getSelection() {\n var focus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (focus) this.focus();\n this.update(); // Make sure we access getRange with editor in consistent state\n return this.selection.getRange()[0];\n }\n }, {\n key: 'getText',\n value: function getText() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n var _overload9 = overload(index, length);\n\n var _overload10 = _slicedToArray(_overload9, 2);\n\n index = _overload10[0];\n length = _overload10[1];\n\n return this.editor.getText(index, length);\n }\n }, {\n key: 'hasFocus',\n value: function hasFocus() {\n return this.selection.hasFocus();\n }\n }, {\n key: 'insertEmbed',\n value: function insertEmbed(index, embed, value) {\n var _this7 = this;\n\n var source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Quill.sources.API;\n\n return modify.call(this, function () {\n return _this7.editor.insertEmbed(index, embed, value);\n }, source, index);\n }\n }, {\n key: 'insertText',\n value: function insertText(index, text, name, value, source) {\n var _this8 = this;\n\n var formats = void 0;\n\n var _overload11 = overload(index, 0, name, value, source);\n\n var _overload12 = _slicedToArray(_overload11, 4);\n\n index = _overload12[0];\n formats = _overload12[2];\n source = _overload12[3];\n\n return modify.call(this, function () {\n return _this8.editor.insertText(index, text, formats);\n }, source, index, text.length);\n }\n }, {\n key: 'isEnabled',\n value: function isEnabled() {\n return !this.container.classList.contains('ql-disabled');\n }\n }, {\n key: 'off',\n value: function off() {\n return this.emitter.off.apply(this.emitter, arguments);\n }\n }, {\n key: 'on',\n value: function on() {\n return this.emitter.on.apply(this.emitter, arguments);\n }\n }, {\n key: 'once',\n value: function once() {\n return this.emitter.once.apply(this.emitter, arguments);\n }\n }, {\n key: 'pasteHTML',\n value: function pasteHTML(index, html, source) {\n this.clipboard.dangerouslyPasteHTML(index, html, source);\n }\n }, {\n key: 'removeFormat',\n value: function removeFormat(index, length, source) {\n var _this9 = this;\n\n var _overload13 = overload(index, length, source);\n\n var _overload14 = _slicedToArray(_overload13, 4);\n\n index = _overload14[0];\n length = _overload14[1];\n source = _overload14[3];\n\n return modify.call(this, function () {\n return _this9.editor.removeFormat(index, length);\n }, source, index);\n }\n }, {\n key: 'scrollIntoView',\n value: function scrollIntoView() {\n this.selection.scrollIntoView(this.scrollingContainer);\n }\n }, {\n key: 'setContents',\n value: function setContents(delta) {\n var _this10 = this;\n\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n return modify.call(this, function () {\n delta = new _quillDelta2.default(delta);\n var length = _this10.getLength();\n var deleted = _this10.editor.deleteText(0, length);\n var applied = _this10.editor.applyDelta(delta);\n var lastOp = applied.ops[applied.ops.length - 1];\n if (lastOp != null && typeof lastOp.insert === 'string' && lastOp.insert[lastOp.insert.length - 1] === '\\n') {\n _this10.editor.deleteText(_this10.getLength() - 1, 1);\n applied.delete(1);\n }\n var ret = deleted.compose(applied);\n return ret;\n }, source);\n }\n }, {\n key: 'setSelection',\n value: function setSelection(index, length, source) {\n if (index == null) {\n this.selection.setRange(null, length || Quill.sources.API);\n } else {\n var _overload15 = overload(index, length, source);\n\n var _overload16 = _slicedToArray(_overload15, 4);\n\n index = _overload16[0];\n length = _overload16[1];\n source = _overload16[3];\n\n this.selection.setRange(new _selection.Range(index, length), source);\n if (source !== _emitter4.default.sources.SILENT) {\n this.selection.scrollIntoView(this.scrollingContainer);\n }\n }\n }\n }, {\n key: 'setText',\n value: function setText(text) {\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n var delta = new _quillDelta2.default().insert(text);\n return this.setContents(delta, source);\n }\n }, {\n key: 'update',\n value: function update() {\n var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n\n var change = this.scroll.update(source); // Will update selection before selection.update() does if text changes\n this.selection.update(source);\n return change;\n }\n }, {\n key: 'updateContents',\n value: function updateContents(delta) {\n var _this11 = this;\n\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n return modify.call(this, function () {\n delta = new _quillDelta2.default(delta);\n return _this11.editor.applyDelta(delta, source);\n }, source, true);\n }\n }]);\n\n return Quill;\n}();\n\nQuill.DEFAULTS = {\n bounds: null,\n formats: null,\n modules: {},\n placeholder: '',\n readOnly: false,\n scrollingContainer: null,\n strict: true,\n theme: 'default'\n};\nQuill.events = _emitter4.default.events;\nQuill.sources = _emitter4.default.sources;\n// eslint-disable-next-line no-undef\nQuill.version = false ? 'dev' : \"1.3.7\";\n\nQuill.imports = {\n 'delta': _quillDelta2.default,\n 'parchment': _parchment2.default,\n 'core/module': _module2.default,\n 'core/theme': _theme2.default\n};\n\nfunction expandConfig(container, userConfig) {\n userConfig = (0, _extend2.default)(true, {\n container: container,\n modules: {\n clipboard: true,\n keyboard: true,\n history: true\n }\n }, userConfig);\n if (!userConfig.theme || userConfig.theme === Quill.DEFAULTS.theme) {\n userConfig.theme = _theme2.default;\n } else {\n userConfig.theme = Quill.import('themes/' + userConfig.theme);\n if (userConfig.theme == null) {\n throw new Error('Invalid theme ' + userConfig.theme + '. Did you register it?');\n }\n }\n var themeConfig = (0, _extend2.default)(true, {}, userConfig.theme.DEFAULTS);\n [themeConfig, userConfig].forEach(function (config) {\n config.modules = config.modules || {};\n Object.keys(config.modules).forEach(function (module) {\n if (config.modules[module] === true) {\n config.modules[module] = {};\n }\n });\n });\n var moduleNames = Object.keys(themeConfig.modules).concat(Object.keys(userConfig.modules));\n var moduleConfig = moduleNames.reduce(function (config, name) {\n var moduleClass = Quill.import('modules/' + name);\n if (moduleClass == null) {\n debug.error('Cannot load ' + name + ' module. Are you sure you registered it?');\n } else {\n config[name] = moduleClass.DEFAULTS || {};\n }\n return config;\n }, {});\n // Special case toolbar shorthand\n if (userConfig.modules != null && userConfig.modules.toolbar && userConfig.modules.toolbar.constructor !== Object) {\n userConfig.modules.toolbar = {\n container: userConfig.modules.toolbar\n };\n }\n userConfig = (0, _extend2.default)(true, {}, Quill.DEFAULTS, { modules: moduleConfig }, themeConfig, userConfig);\n ['bounds', 'container', 'scrollingContainer'].forEach(function (key) {\n if (typeof userConfig[key] === 'string') {\n userConfig[key] = document.querySelector(userConfig[key]);\n }\n });\n userConfig.modules = Object.keys(userConfig.modules).reduce(function (config, name) {\n if (userConfig.modules[name]) {\n config[name] = userConfig.modules[name];\n }\n return config;\n }, {});\n return userConfig;\n}\n\n// Handle selection preservation and TEXT_CHANGE emission\n// common to modification APIs\nfunction modify(modifier, source, index, shift) {\n if (this.options.strict && !this.isEnabled() && source === _emitter4.default.sources.USER) {\n return new _quillDelta2.default();\n }\n var range = index == null ? null : this.getSelection();\n var oldDelta = this.editor.delta;\n var change = modifier();\n if (range != null) {\n if (index === true) index = range.index;\n if (shift == null) {\n range = shiftRange(range, change, source);\n } else if (shift !== 0) {\n range = shiftRange(range, index, shift, source);\n }\n this.setSelection(range, _emitter4.default.sources.SILENT);\n }\n if (change.length() > 0) {\n var _emitter;\n\n var args = [_emitter4.default.events.TEXT_CHANGE, change, oldDelta, source];\n (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n if (source !== _emitter4.default.sources.SILENT) {\n var _emitter2;\n\n (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n }\n }\n return change;\n}\n\nfunction overload(index, length, name, value, source) {\n var formats = {};\n if (typeof index.index === 'number' && typeof index.length === 'number') {\n // Allow for throwaway end (used by insertText/insertEmbed)\n if (typeof length !== 'number') {\n source = value, value = name, name = length, length = index.length, index = index.index;\n } else {\n length = index.length, index = index.index;\n }\n } else if (typeof length !== 'number') {\n source = value, value = name, name = length, length = 0;\n }\n // Handle format being object, two format name/value strings or excluded\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n formats = name;\n source = value;\n } else if (typeof name === 'string') {\n if (value != null) {\n formats[name] = value;\n } else {\n source = name;\n }\n }\n // Handle optional source\n source = source || _emitter4.default.sources.API;\n return [index, length, formats, source];\n}\n\nfunction shiftRange(range, index, length, source) {\n if (range == null) return null;\n var start = void 0,\n end = void 0;\n if (index instanceof _quillDelta2.default) {\n var _map = [range.index, range.index + range.length].map(function (pos) {\n return index.transformPosition(pos, source !== _emitter4.default.sources.USER);\n });\n\n var _map2 = _slicedToArray(_map, 2);\n\n start = _map2[0];\n end = _map2[1];\n } else {\n var _map3 = [range.index, range.index + range.length].map(function (pos) {\n if (pos < index || pos === index && source === _emitter4.default.sources.USER) return pos;\n if (length >= 0) {\n return pos + length;\n } else {\n return Math.max(index, pos + length);\n }\n });\n\n var _map4 = _slicedToArray(_map3, 2);\n\n start = _map4[0];\n end = _map4[1];\n }\n return new _selection.Range(start, end - start);\n}\n\nexports.expandConfig = expandConfig;\nexports.overload = overload;\nexports.default = Quill;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Inline = function (_Parchment$Inline) {\n _inherits(Inline, _Parchment$Inline);\n\n function Inline() {\n _classCallCheck(this, Inline);\n\n return _possibleConstructorReturn(this, (Inline.__proto__ || Object.getPrototypeOf(Inline)).apply(this, arguments));\n }\n\n _createClass(Inline, [{\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (Inline.compare(this.statics.blotName, name) < 0 && _parchment2.default.query(name, _parchment2.default.Scope.BLOT)) {\n var blot = this.isolate(index, length);\n if (value) {\n blot.wrap(name, value);\n }\n } else {\n _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'formatAt', this).call(this, index, length, name, value);\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'optimize', this).call(this, context);\n if (this.parent instanceof Inline && Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {\n var parent = this.parent.isolate(this.offset(), this.length());\n this.moveChildren(parent);\n parent.wrap(this);\n }\n }\n }], [{\n key: 'compare',\n value: function compare(self, other) {\n var selfIndex = Inline.order.indexOf(self);\n var otherIndex = Inline.order.indexOf(other);\n if (selfIndex >= 0 || otherIndex >= 0) {\n return selfIndex - otherIndex;\n } else if (self === other) {\n return 0;\n } else if (self < other) {\n return -1;\n } else {\n return 1;\n }\n }\n }]);\n\n return Inline;\n}(_parchment2.default.Inline);\n\nInline.allowedChildren = [Inline, _parchment2.default.Embed, _text2.default];\n// Lower index means deeper in the DOM tree, since not found (-1) is for embeds\nInline.order = ['cursor', 'inline', // Must be lower\n'underline', 'strike', 'italic', 'bold', 'script', 'link', 'code' // Must be higher\n];\n\nexports.default = Inline;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TextBlot = function (_Parchment$Text) {\n _inherits(TextBlot, _Parchment$Text);\n\n function TextBlot() {\n _classCallCheck(this, TextBlot);\n\n return _possibleConstructorReturn(this, (TextBlot.__proto__ || Object.getPrototypeOf(TextBlot)).apply(this, arguments));\n }\n\n return TextBlot;\n}(_parchment2.default.Text);\n\nexports.default = TextBlot;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _eventemitter = __webpack_require__(54);\n\nvar _eventemitter2 = _interopRequireDefault(_eventemitter);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:events');\n\nvar EVENTS = ['selectionchange', 'mousedown', 'mouseup', 'click'];\n\nEVENTS.forEach(function (eventName) {\n document.addEventListener(eventName, function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n [].slice.call(document.querySelectorAll('.ql-container')).forEach(function (node) {\n // TODO use WeakMap\n if (node.__quill && node.__quill.emitter) {\n var _node$__quill$emitter;\n\n (_node$__quill$emitter = node.__quill.emitter).handleDOM.apply(_node$__quill$emitter, args);\n }\n });\n });\n});\n\nvar Emitter = function (_EventEmitter) {\n _inherits(Emitter, _EventEmitter);\n\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n var _this = _possibleConstructorReturn(this, (Emitter.__proto__ || Object.getPrototypeOf(Emitter)).call(this));\n\n _this.listeners = {};\n _this.on('error', debug.error);\n return _this;\n }\n\n _createClass(Emitter, [{\n key: 'emit',\n value: function emit() {\n debug.log.apply(debug, arguments);\n _get(Emitter.prototype.__proto__ || Object.getPrototypeOf(Emitter.prototype), 'emit', this).apply(this, arguments);\n }\n }, {\n key: 'handleDOM',\n value: function handleDOM(event) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n (this.listeners[event.type] || []).forEach(function (_ref) {\n var node = _ref.node,\n handler = _ref.handler;\n\n if (event.target === node || node.contains(event.target)) {\n handler.apply(undefined, [event].concat(args));\n }\n });\n }\n }, {\n key: 'listenDOM',\n value: function listenDOM(eventName, node, handler) {\n if (!this.listeners[eventName]) {\n this.listeners[eventName] = [];\n }\n this.listeners[eventName].push({ node: node, handler: handler });\n }\n }]);\n\n return Emitter;\n}(_eventemitter2.default);\n\nEmitter.events = {\n EDITOR_CHANGE: 'editor-change',\n SCROLL_BEFORE_UPDATE: 'scroll-before-update',\n SCROLL_OPTIMIZE: 'scroll-optimize',\n SCROLL_UPDATE: 'scroll-update',\n SELECTION_CHANGE: 'selection-change',\n TEXT_CHANGE: 'text-change'\n};\nEmitter.sources = {\n API: 'api',\n SILENT: 'silent',\n USER: 'user'\n};\n\nexports.default = Emitter;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Module = function Module(quill) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Module);\n\n this.quill = quill;\n this.options = options;\n};\n\nModule.DEFAULTS = {};\n\nexports.default = Module;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar levels = ['error', 'warn', 'log', 'info'];\nvar level = 'warn';\n\nfunction debug(method) {\n if (levels.indexOf(method) <= levels.indexOf(level)) {\n var _console;\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n (_console = console)[method].apply(_console, args); // eslint-disable-line no-console\n }\n}\n\nfunction namespace(ns) {\n return levels.reduce(function (logger, method) {\n logger[method] = debug.bind(console, method, ns);\n return logger;\n }, {});\n}\n\ndebug.level = namespace.level = function (newLevel) {\n level = newLevel;\n};\n\nexports.default = namespace;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pSlice = Array.prototype.slice;\nvar objectKeys = __webpack_require__(52);\nvar isArguments = __webpack_require__(53);\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar Attributor = /** @class */ (function () {\n function Attributor(attrName, keyName, options) {\n if (options === void 0) { options = {}; }\n this.attrName = attrName;\n this.keyName = keyName;\n var attributeBit = Registry.Scope.TYPE & Registry.Scope.ATTRIBUTE;\n if (options.scope != null) {\n // Ignore type bits, force attribute bit\n this.scope = (options.scope & Registry.Scope.LEVEL) | attributeBit;\n }\n else {\n this.scope = Registry.Scope.ATTRIBUTE;\n }\n if (options.whitelist != null)\n this.whitelist = options.whitelist;\n }\n Attributor.keys = function (node) {\n return [].map.call(node.attributes, function (item) {\n return item.name;\n });\n };\n Attributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n node.setAttribute(this.keyName, value);\n return true;\n };\n Attributor.prototype.canAdd = function (node, value) {\n var match = Registry.query(node, Registry.Scope.BLOT & (this.scope | Registry.Scope.TYPE));\n if (match == null)\n return false;\n if (this.whitelist == null)\n return true;\n if (typeof value === 'string') {\n return this.whitelist.indexOf(value.replace(/[\"']/g, '')) > -1;\n }\n else {\n return this.whitelist.indexOf(value) > -1;\n }\n };\n Attributor.prototype.remove = function (node) {\n node.removeAttribute(this.keyName);\n };\n Attributor.prototype.value = function (node) {\n var value = node.getAttribute(this.keyName);\n if (this.canAdd(node, value) && value) {\n return value;\n }\n return '';\n };\n return Attributor;\n}());\nexports.default = Attributor;\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Code = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Code = function (_Inline) {\n _inherits(Code, _Inline);\n\n function Code() {\n _classCallCheck(this, Code);\n\n return _possibleConstructorReturn(this, (Code.__proto__ || Object.getPrototypeOf(Code)).apply(this, arguments));\n }\n\n return Code;\n}(_inline2.default);\n\nCode.blotName = 'code';\nCode.tagName = 'CODE';\n\nvar CodeBlock = function (_Block) {\n _inherits(CodeBlock, _Block);\n\n function CodeBlock() {\n _classCallCheck(this, CodeBlock);\n\n return _possibleConstructorReturn(this, (CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock)).apply(this, arguments));\n }\n\n _createClass(CodeBlock, [{\n key: 'delta',\n value: function delta() {\n var _this3 = this;\n\n var text = this.domNode.textContent;\n if (text.endsWith('\\n')) {\n // Should always be true\n text = text.slice(0, -1);\n }\n return text.split('\\n').reduce(function (delta, frag) {\n return delta.insert(frag).insert('\\n', _this3.formats());\n }, new _quillDelta2.default());\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n if (name === this.statics.blotName && value) return;\n\n var _descendant = this.descendant(_text2.default, this.length() - 1),\n _descendant2 = _slicedToArray(_descendant, 1),\n text = _descendant2[0];\n\n if (text != null) {\n text.deleteAt(text.length() - 1, 1);\n }\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'format', this).call(this, name, value);\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (length === 0) return;\n if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK) == null || name === this.statics.blotName && value === this.statics.formats(this.domNode)) {\n return;\n }\n var nextNewline = this.newlineIndex(index);\n if (nextNewline < 0 || nextNewline >= index + length) return;\n var prevNewline = this.newlineIndex(index, true) + 1;\n var isolateLength = nextNewline - prevNewline + 1;\n var blot = this.isolate(prevNewline, isolateLength);\n var next = blot.next;\n blot.format(name, value);\n if (next instanceof CodeBlock) {\n next.formatAt(0, index - prevNewline + length - isolateLength, name, value);\n }\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null) return;\n\n var _descendant3 = this.descendant(_text2.default, index),\n _descendant4 = _slicedToArray(_descendant3, 2),\n text = _descendant4[0],\n offset = _descendant4[1];\n\n text.insertAt(offset, value);\n }\n }, {\n key: 'length',\n value: function length() {\n var length = this.domNode.textContent.length;\n if (!this.domNode.textContent.endsWith('\\n')) {\n return length + 1;\n }\n return length;\n }\n }, {\n key: 'newlineIndex',\n value: function newlineIndex(searchIndex) {\n var reverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!reverse) {\n var offset = this.domNode.textContent.slice(searchIndex).indexOf('\\n');\n return offset > -1 ? searchIndex + offset : -1;\n } else {\n return this.domNode.textContent.slice(0, searchIndex).lastIndexOf('\\n');\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n if (!this.domNode.textContent.endsWith('\\n')) {\n this.appendChild(_parchment2.default.create('text', '\\n'));\n }\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'optimize', this).call(this, context);\n var next = this.next;\n if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && this.statics.formats(this.domNode) === next.statics.formats(next.domNode)) {\n next.optimize(context);\n next.moveChildren(this);\n next.remove();\n }\n }\n }, {\n key: 'replace',\n value: function replace(target) {\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'replace', this).call(this, target);\n [].slice.call(this.domNode.querySelectorAll('*')).forEach(function (node) {\n var blot = _parchment2.default.find(node);\n if (blot == null) {\n node.parentNode.removeChild(node);\n } else if (blot instanceof _parchment2.default.Embed) {\n blot.remove();\n } else {\n blot.unwrap();\n }\n });\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var domNode = _get(CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock), 'create', this).call(this, value);\n domNode.setAttribute('spellcheck', false);\n return domNode;\n }\n }, {\n key: 'formats',\n value: function formats() {\n return true;\n }\n }]);\n\n return CodeBlock;\n}(_block2.default);\n\nCodeBlock.blotName = 'code-block';\nCodeBlock.tagName = 'PRE';\nCodeBlock.TAB = ' ';\n\nexports.Code = Code;\nexports.default = CodeBlock;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ASCII = /^[ -~]*$/;\n\nvar Editor = function () {\n function Editor(scroll) {\n _classCallCheck(this, Editor);\n\n this.scroll = scroll;\n this.delta = this.getDelta();\n }\n\n _createClass(Editor, [{\n key: 'applyDelta',\n value: function applyDelta(delta) {\n var _this = this;\n\n var consumeNextNewline = false;\n this.scroll.update();\n var scrollLength = this.scroll.length();\n this.scroll.batchStart();\n delta = normalizeDelta(delta);\n delta.reduce(function (index, op) {\n var length = op.retain || op.delete || op.insert.length || 1;\n var attributes = op.attributes || {};\n if (op.insert != null) {\n if (typeof op.insert === 'string') {\n var text = op.insert;\n if (text.endsWith('\\n') && consumeNextNewline) {\n consumeNextNewline = false;\n text = text.slice(0, -1);\n }\n if (index >= scrollLength && !text.endsWith('\\n')) {\n consumeNextNewline = true;\n }\n _this.scroll.insertAt(index, text);\n\n var _scroll$line = _this.scroll.line(index),\n _scroll$line2 = _slicedToArray(_scroll$line, 2),\n line = _scroll$line2[0],\n offset = _scroll$line2[1];\n\n var formats = (0, _extend2.default)({}, (0, _block.bubbleFormats)(line));\n if (line instanceof _block2.default) {\n var _line$descendant = line.descendant(_parchment2.default.Leaf, offset),\n _line$descendant2 = _slicedToArray(_line$descendant, 1),\n leaf = _line$descendant2[0];\n\n formats = (0, _extend2.default)(formats, (0, _block.bubbleFormats)(leaf));\n }\n attributes = _op2.default.attributes.diff(formats, attributes) || {};\n } else if (_typeof(op.insert) === 'object') {\n var key = Object.keys(op.insert)[0]; // There should only be one key\n if (key == null) return index;\n _this.scroll.insertAt(index, key, op.insert[key]);\n }\n scrollLength += length;\n }\n Object.keys(attributes).forEach(function (name) {\n _this.scroll.formatAt(index, length, name, attributes[name]);\n });\n return index + length;\n }, 0);\n delta.reduce(function (index, op) {\n if (typeof op.delete === 'number') {\n _this.scroll.deleteAt(index, op.delete);\n return index;\n }\n return index + (op.retain || op.insert.length || 1);\n }, 0);\n this.scroll.batchEnd();\n return this.update(delta);\n }\n }, {\n key: 'deleteText',\n value: function deleteText(index, length) {\n this.scroll.deleteAt(index, length);\n return this.update(new _quillDelta2.default().retain(index).delete(length));\n }\n }, {\n key: 'formatLine',\n value: function formatLine(index, length) {\n var _this2 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n this.scroll.update();\n Object.keys(formats).forEach(function (format) {\n if (_this2.scroll.whitelist != null && !_this2.scroll.whitelist[format]) return;\n var lines = _this2.scroll.lines(index, Math.max(length, 1));\n var lengthRemaining = length;\n lines.forEach(function (line) {\n var lineLength = line.length();\n if (!(line instanceof _code2.default)) {\n line.format(format, formats[format]);\n } else {\n var codeIndex = index - line.offset(_this2.scroll);\n var codeLength = line.newlineIndex(codeIndex + lengthRemaining) - codeIndex + 1;\n line.formatAt(codeIndex, codeLength, format, formats[format]);\n }\n lengthRemaining -= lineLength;\n });\n });\n this.scroll.optimize();\n return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'formatText',\n value: function formatText(index, length) {\n var _this3 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n Object.keys(formats).forEach(function (format) {\n _this3.scroll.formatAt(index, length, format, formats[format]);\n });\n return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'getContents',\n value: function getContents(index, length) {\n return this.delta.slice(index, index + length);\n }\n }, {\n key: 'getDelta',\n value: function getDelta() {\n return this.scroll.lines().reduce(function (delta, line) {\n return delta.concat(line.delta());\n }, new _quillDelta2.default());\n }\n }, {\n key: 'getFormat',\n value: function getFormat(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var lines = [],\n leaves = [];\n if (length === 0) {\n this.scroll.path(index).forEach(function (path) {\n var _path = _slicedToArray(path, 1),\n blot = _path[0];\n\n if (blot instanceof _block2.default) {\n lines.push(blot);\n } else if (blot instanceof _parchment2.default.Leaf) {\n leaves.push(blot);\n }\n });\n } else {\n lines = this.scroll.lines(index, length);\n leaves = this.scroll.descendants(_parchment2.default.Leaf, index, length);\n }\n var formatsArr = [lines, leaves].map(function (blots) {\n if (blots.length === 0) return {};\n var formats = (0, _block.bubbleFormats)(blots.shift());\n while (Object.keys(formats).length > 0) {\n var blot = blots.shift();\n if (blot == null) return formats;\n formats = combineFormats((0, _block.bubbleFormats)(blot), formats);\n }\n return formats;\n });\n return _extend2.default.apply(_extend2.default, formatsArr);\n }\n }, {\n key: 'getText',\n value: function getText(index, length) {\n return this.getContents(index, length).filter(function (op) {\n return typeof op.insert === 'string';\n }).map(function (op) {\n return op.insert;\n }).join('');\n }\n }, {\n key: 'insertEmbed',\n value: function insertEmbed(index, embed, value) {\n this.scroll.insertAt(index, embed, value);\n return this.update(new _quillDelta2.default().retain(index).insert(_defineProperty({}, embed, value)));\n }\n }, {\n key: 'insertText',\n value: function insertText(index, text) {\n var _this4 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n text = text.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n this.scroll.insertAt(index, text);\n Object.keys(formats).forEach(function (format) {\n _this4.scroll.formatAt(index, text.length, format, formats[format]);\n });\n return this.update(new _quillDelta2.default().retain(index).insert(text, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'isBlank',\n value: function isBlank() {\n if (this.scroll.children.length == 0) return true;\n if (this.scroll.children.length > 1) return false;\n var block = this.scroll.children.head;\n if (block.statics.blotName !== _block2.default.blotName) return false;\n if (block.children.length > 1) return false;\n return block.children.head instanceof _break2.default;\n }\n }, {\n key: 'removeFormat',\n value: function removeFormat(index, length) {\n var text = this.getText(index, length);\n\n var _scroll$line3 = this.scroll.line(index + length),\n _scroll$line4 = _slicedToArray(_scroll$line3, 2),\n line = _scroll$line4[0],\n offset = _scroll$line4[1];\n\n var suffixLength = 0,\n suffix = new _quillDelta2.default();\n if (line != null) {\n if (!(line instanceof _code2.default)) {\n suffixLength = line.length() - offset;\n } else {\n suffixLength = line.newlineIndex(offset) - offset + 1;\n }\n suffix = line.delta().slice(offset, offset + suffixLength - 1).insert('\\n');\n }\n var contents = this.getContents(index, length + suffixLength);\n var diff = contents.diff(new _quillDelta2.default().insert(text).concat(suffix));\n var delta = new _quillDelta2.default().retain(index).concat(diff);\n return this.applyDelta(delta);\n }\n }, {\n key: 'update',\n value: function update(change) {\n var mutations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var cursorIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n\n var oldDelta = this.delta;\n if (mutations.length === 1 && mutations[0].type === 'characterData' && mutations[0].target.data.match(ASCII) && _parchment2.default.find(mutations[0].target)) {\n // Optimization for character changes\n var textBlot = _parchment2.default.find(mutations[0].target);\n var formats = (0, _block.bubbleFormats)(textBlot);\n var index = textBlot.offset(this.scroll);\n var oldValue = mutations[0].oldValue.replace(_cursor2.default.CONTENTS, '');\n var oldText = new _quillDelta2.default().insert(oldValue);\n var newText = new _quillDelta2.default().insert(textBlot.value());\n var diffDelta = new _quillDelta2.default().retain(index).concat(oldText.diff(newText, cursorIndex));\n change = diffDelta.reduce(function (delta, op) {\n if (op.insert) {\n return delta.insert(op.insert, formats);\n } else {\n return delta.push(op);\n }\n }, new _quillDelta2.default());\n this.delta = oldDelta.compose(change);\n } else {\n this.delta = this.getDelta();\n if (!change || !(0, _deepEqual2.default)(oldDelta.compose(change), this.delta)) {\n change = oldDelta.diff(this.delta, cursorIndex);\n }\n }\n return change;\n }\n }]);\n\n return Editor;\n}();\n\nfunction combineFormats(formats, combined) {\n return Object.keys(combined).reduce(function (merged, name) {\n if (formats[name] == null) return merged;\n if (combined[name] === formats[name]) {\n merged[name] = combined[name];\n } else if (Array.isArray(combined[name])) {\n if (combined[name].indexOf(formats[name]) < 0) {\n merged[name] = combined[name].concat([formats[name]]);\n }\n } else {\n merged[name] = [combined[name], formats[name]];\n }\n return merged;\n }, {});\n}\n\nfunction normalizeDelta(delta) {\n return delta.reduce(function (delta, op) {\n if (op.insert === 1) {\n var attributes = (0, _clone2.default)(op.attributes);\n delete attributes['image'];\n return delta.insert({ image: op.attributes.image }, attributes);\n }\n if (op.attributes != null && (op.attributes.list === true || op.attributes.bullet === true)) {\n op = (0, _clone2.default)(op);\n if (op.attributes.list) {\n op.attributes.list = 'ordered';\n } else {\n op.attributes.list = 'bullet';\n delete op.attributes.bullet;\n }\n }\n if (typeof op.insert === 'string') {\n var text = op.insert.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n return delta.insert(text, op.attributes);\n }\n return delta.push(op);\n }, new _quillDelta2.default());\n}\n\nexports.default = Editor;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Range = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _emitter3 = __webpack_require__(8);\n\nvar _emitter4 = _interopRequireDefault(_emitter3);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar debug = (0, _logger2.default)('quill:selection');\n\nvar Range = function Range(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n _classCallCheck(this, Range);\n\n this.index = index;\n this.length = length;\n};\n\nvar Selection = function () {\n function Selection(scroll, emitter) {\n var _this = this;\n\n _classCallCheck(this, Selection);\n\n this.emitter = emitter;\n this.scroll = scroll;\n this.composing = false;\n this.mouseDown = false;\n this.root = this.scroll.domNode;\n this.cursor = _parchment2.default.create('cursor', this);\n // savedRange is last non-null range\n this.lastRange = this.savedRange = new Range(0, 0);\n this.handleComposition();\n this.handleDragging();\n this.emitter.listenDOM('selectionchange', document, function () {\n if (!_this.mouseDown) {\n setTimeout(_this.update.bind(_this, _emitter4.default.sources.USER), 1);\n }\n });\n this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type, delta) {\n if (type === _emitter4.default.events.TEXT_CHANGE && delta.length() > 0) {\n _this.update(_emitter4.default.sources.SILENT);\n }\n });\n this.emitter.on(_emitter4.default.events.SCROLL_BEFORE_UPDATE, function () {\n if (!_this.hasFocus()) return;\n var native = _this.getNativeRange();\n if (native == null) return;\n if (native.start.node === _this.cursor.textNode) return; // cursor.restore() will handle\n // TODO unclear if this has negative side effects\n _this.emitter.once(_emitter4.default.events.SCROLL_UPDATE, function () {\n try {\n _this.setNativeRange(native.start.node, native.start.offset, native.end.node, native.end.offset);\n } catch (ignored) {}\n });\n });\n this.emitter.on(_emitter4.default.events.SCROLL_OPTIMIZE, function (mutations, context) {\n if (context.range) {\n var _context$range = context.range,\n startNode = _context$range.startNode,\n startOffset = _context$range.startOffset,\n endNode = _context$range.endNode,\n endOffset = _context$range.endOffset;\n\n _this.setNativeRange(startNode, startOffset, endNode, endOffset);\n }\n });\n this.update(_emitter4.default.sources.SILENT);\n }\n\n _createClass(Selection, [{\n key: 'handleComposition',\n value: function handleComposition() {\n var _this2 = this;\n\n this.root.addEventListener('compositionstart', function () {\n _this2.composing = true;\n });\n this.root.addEventListener('compositionend', function () {\n _this2.composing = false;\n if (_this2.cursor.parent) {\n var range = _this2.cursor.restore();\n if (!range) return;\n setTimeout(function () {\n _this2.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n }, 1);\n }\n });\n }\n }, {\n key: 'handleDragging',\n value: function handleDragging() {\n var _this3 = this;\n\n this.emitter.listenDOM('mousedown', document.body, function () {\n _this3.mouseDown = true;\n });\n this.emitter.listenDOM('mouseup', document.body, function () {\n _this3.mouseDown = false;\n _this3.update(_emitter4.default.sources.USER);\n });\n }\n }, {\n key: 'focus',\n value: function focus() {\n if (this.hasFocus()) return;\n this.root.focus();\n this.setRange(this.savedRange);\n }\n }, {\n key: 'format',\n value: function format(_format, value) {\n if (this.scroll.whitelist != null && !this.scroll.whitelist[_format]) return;\n this.scroll.update();\n var nativeRange = this.getNativeRange();\n if (nativeRange == null || !nativeRange.native.collapsed || _parchment2.default.query(_format, _parchment2.default.Scope.BLOCK)) return;\n if (nativeRange.start.node !== this.cursor.textNode) {\n var blot = _parchment2.default.find(nativeRange.start.node, false);\n if (blot == null) return;\n // TODO Give blot ability to not split\n if (blot instanceof _parchment2.default.Leaf) {\n var after = blot.split(nativeRange.start.offset);\n blot.parent.insertBefore(this.cursor, after);\n } else {\n blot.insertBefore(this.cursor, nativeRange.start.node); // Should never happen\n }\n this.cursor.attach();\n }\n this.cursor.format(_format, value);\n this.scroll.optimize();\n this.setNativeRange(this.cursor.textNode, this.cursor.textNode.data.length);\n this.update();\n }\n }, {\n key: 'getBounds',\n value: function getBounds(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var scrollLength = this.scroll.length();\n index = Math.min(index, scrollLength - 1);\n length = Math.min(index + length, scrollLength - 1) - index;\n var node = void 0,\n _scroll$leaf = this.scroll.leaf(index),\n _scroll$leaf2 = _slicedToArray(_scroll$leaf, 2),\n leaf = _scroll$leaf2[0],\n offset = _scroll$leaf2[1];\n if (leaf == null) return null;\n\n var _leaf$position = leaf.position(offset, true);\n\n var _leaf$position2 = _slicedToArray(_leaf$position, 2);\n\n node = _leaf$position2[0];\n offset = _leaf$position2[1];\n\n var range = document.createRange();\n if (length > 0) {\n range.setStart(node, offset);\n\n var _scroll$leaf3 = this.scroll.leaf(index + length);\n\n var _scroll$leaf4 = _slicedToArray(_scroll$leaf3, 2);\n\n leaf = _scroll$leaf4[0];\n offset = _scroll$leaf4[1];\n\n if (leaf == null) return null;\n\n var _leaf$position3 = leaf.position(offset, true);\n\n var _leaf$position4 = _slicedToArray(_leaf$position3, 2);\n\n node = _leaf$position4[0];\n offset = _leaf$position4[1];\n\n range.setEnd(node, offset);\n return range.getBoundingClientRect();\n } else {\n var side = 'left';\n var rect = void 0;\n if (node instanceof Text) {\n if (offset < node.data.length) {\n range.setStart(node, offset);\n range.setEnd(node, offset + 1);\n } else {\n range.setStart(node, offset - 1);\n range.setEnd(node, offset);\n side = 'right';\n }\n rect = range.getBoundingClientRect();\n } else {\n rect = leaf.domNode.getBoundingClientRect();\n if (offset > 0) side = 'right';\n }\n return {\n bottom: rect.top + rect.height,\n height: rect.height,\n left: rect[side],\n right: rect[side],\n top: rect.top,\n width: 0\n };\n }\n }\n }, {\n key: 'getNativeRange',\n value: function getNativeRange() {\n var selection = document.getSelection();\n if (selection == null || selection.rangeCount <= 0) return null;\n var nativeRange = selection.getRangeAt(0);\n if (nativeRange == null) return null;\n var range = this.normalizeNative(nativeRange);\n debug.info('getNativeRange', range);\n return range;\n }\n }, {\n key: 'getRange',\n value: function getRange() {\n var normalized = this.getNativeRange();\n if (normalized == null) return [null, null];\n var range = this.normalizedToRange(normalized);\n return [range, normalized];\n }\n }, {\n key: 'hasFocus',\n value: function hasFocus() {\n return document.activeElement === this.root;\n }\n }, {\n key: 'normalizedToRange',\n value: function normalizedToRange(range) {\n var _this4 = this;\n\n var positions = [[range.start.node, range.start.offset]];\n if (!range.native.collapsed) {\n positions.push([range.end.node, range.end.offset]);\n }\n var indexes = positions.map(function (position) {\n var _position = _slicedToArray(position, 2),\n node = _position[0],\n offset = _position[1];\n\n var blot = _parchment2.default.find(node, true);\n var index = blot.offset(_this4.scroll);\n if (offset === 0) {\n return index;\n } else if (blot instanceof _parchment2.default.Container) {\n return index + blot.length();\n } else {\n return index + blot.index(node, offset);\n }\n });\n var end = Math.min(Math.max.apply(Math, _toConsumableArray(indexes)), this.scroll.length() - 1);\n var start = Math.min.apply(Math, [end].concat(_toConsumableArray(indexes)));\n return new Range(start, end - start);\n }\n }, {\n key: 'normalizeNative',\n value: function normalizeNative(nativeRange) {\n if (!contains(this.root, nativeRange.startContainer) || !nativeRange.collapsed && !contains(this.root, nativeRange.endContainer)) {\n return null;\n }\n var range = {\n start: { node: nativeRange.startContainer, offset: nativeRange.startOffset },\n end: { node: nativeRange.endContainer, offset: nativeRange.endOffset },\n native: nativeRange\n };\n [range.start, range.end].forEach(function (position) {\n var node = position.node,\n offset = position.offset;\n while (!(node instanceof Text) && node.childNodes.length > 0) {\n if (node.childNodes.length > offset) {\n node = node.childNodes[offset];\n offset = 0;\n } else if (node.childNodes.length === offset) {\n node = node.lastChild;\n offset = node instanceof Text ? node.data.length : node.childNodes.length + 1;\n } else {\n break;\n }\n }\n position.node = node, position.offset = offset;\n });\n return range;\n }\n }, {\n key: 'rangeToNative',\n value: function rangeToNative(range) {\n var _this5 = this;\n\n var indexes = range.collapsed ? [range.index] : [range.index, range.index + range.length];\n var args = [];\n var scrollLength = this.scroll.length();\n indexes.forEach(function (index, i) {\n index = Math.min(scrollLength - 1, index);\n var node = void 0,\n _scroll$leaf5 = _this5.scroll.leaf(index),\n _scroll$leaf6 = _slicedToArray(_scroll$leaf5, 2),\n leaf = _scroll$leaf6[0],\n offset = _scroll$leaf6[1];\n var _leaf$position5 = leaf.position(offset, i !== 0);\n\n var _leaf$position6 = _slicedToArray(_leaf$position5, 2);\n\n node = _leaf$position6[0];\n offset = _leaf$position6[1];\n\n args.push(node, offset);\n });\n if (args.length < 2) {\n args = args.concat(args);\n }\n return args;\n }\n }, {\n key: 'scrollIntoView',\n value: function scrollIntoView(scrollingContainer) {\n var range = this.lastRange;\n if (range == null) return;\n var bounds = this.getBounds(range.index, range.length);\n if (bounds == null) return;\n var limit = this.scroll.length() - 1;\n\n var _scroll$line = this.scroll.line(Math.min(range.index, limit)),\n _scroll$line2 = _slicedToArray(_scroll$line, 1),\n first = _scroll$line2[0];\n\n var last = first;\n if (range.length > 0) {\n var _scroll$line3 = this.scroll.line(Math.min(range.index + range.length, limit));\n\n var _scroll$line4 = _slicedToArray(_scroll$line3, 1);\n\n last = _scroll$line4[0];\n }\n if (first == null || last == null) return;\n var scrollBounds = scrollingContainer.getBoundingClientRect();\n if (bounds.top < scrollBounds.top) {\n scrollingContainer.scrollTop -= scrollBounds.top - bounds.top;\n } else if (bounds.bottom > scrollBounds.bottom) {\n scrollingContainer.scrollTop += bounds.bottom - scrollBounds.bottom;\n }\n }\n }, {\n key: 'setNativeRange',\n value: function setNativeRange(startNode, startOffset) {\n var endNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : startNode;\n var endOffset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : startOffset;\n var force = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n debug.info('setNativeRange', startNode, startOffset, endNode, endOffset);\n if (startNode != null && (this.root.parentNode == null || startNode.parentNode == null || endNode.parentNode == null)) {\n return;\n }\n var selection = document.getSelection();\n if (selection == null) return;\n if (startNode != null) {\n if (!this.hasFocus()) this.root.focus();\n var native = (this.getNativeRange() || {}).native;\n if (native == null || force || startNode !== native.startContainer || startOffset !== native.startOffset || endNode !== native.endContainer || endOffset !== native.endOffset) {\n\n if (startNode.tagName == \"BR\") {\n startOffset = [].indexOf.call(startNode.parentNode.childNodes, startNode);\n startNode = startNode.parentNode;\n }\n if (endNode.tagName == \"BR\") {\n endOffset = [].indexOf.call(endNode.parentNode.childNodes, endNode);\n endNode = endNode.parentNode;\n }\n var range = document.createRange();\n range.setStart(startNode, startOffset);\n range.setEnd(endNode, endOffset);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n } else {\n selection.removeAllRanges();\n this.root.blur();\n document.body.focus(); // root.blur() not enough on IE11+Travis+SauceLabs (but not local VMs)\n }\n }\n }, {\n key: 'setRange',\n value: function setRange(range) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\n if (typeof force === 'string') {\n source = force;\n force = false;\n }\n debug.info('setRange', range);\n if (range != null) {\n var args = this.rangeToNative(range);\n this.setNativeRange.apply(this, _toConsumableArray(args).concat([force]));\n } else {\n this.setNativeRange(null);\n }\n this.update(source);\n }\n }, {\n key: 'update',\n value: function update() {\n var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n\n var oldRange = this.lastRange;\n\n var _getRange = this.getRange(),\n _getRange2 = _slicedToArray(_getRange, 2),\n lastRange = _getRange2[0],\n nativeRange = _getRange2[1];\n\n this.lastRange = lastRange;\n if (this.lastRange != null) {\n this.savedRange = this.lastRange;\n }\n if (!(0, _deepEqual2.default)(oldRange, this.lastRange)) {\n var _emitter;\n\n if (!this.composing && nativeRange != null && nativeRange.native.collapsed && nativeRange.start.node !== this.cursor.textNode) {\n this.cursor.restore();\n }\n var args = [_emitter4.default.events.SELECTION_CHANGE, (0, _clone2.default)(this.lastRange), (0, _clone2.default)(oldRange), source];\n (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n if (source !== _emitter4.default.sources.SILENT) {\n var _emitter2;\n\n (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n }\n }\n }\n }]);\n\n return Selection;\n}();\n\nfunction contains(parent, descendant) {\n try {\n // Firefox inserts inaccessible nodes around video elements\n descendant.parentNode;\n } catch (e) {\n return false;\n }\n // IE11 has bug with Text nodes\n // https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect\n if (descendant instanceof Text) {\n descendant = descendant.parentNode;\n }\n return parent.contains(descendant);\n}\n\nexports.Range = Range;\nexports.default = Selection;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Break = function (_Parchment$Embed) {\n _inherits(Break, _Parchment$Embed);\n\n function Break() {\n _classCallCheck(this, Break);\n\n return _possibleConstructorReturn(this, (Break.__proto__ || Object.getPrototypeOf(Break)).apply(this, arguments));\n }\n\n _createClass(Break, [{\n key: 'insertInto',\n value: function insertInto(parent, ref) {\n if (parent.children.length === 0) {\n _get(Break.prototype.__proto__ || Object.getPrototypeOf(Break.prototype), 'insertInto', this).call(this, parent, ref);\n } else {\n this.remove();\n }\n }\n }, {\n key: 'length',\n value: function length() {\n return 0;\n }\n }, {\n key: 'value',\n value: function value() {\n return '';\n }\n }], [{\n key: 'value',\n value: function value() {\n return undefined;\n }\n }]);\n\n return Break;\n}(_parchment2.default.Embed);\n\nBreak.blotName = 'break';\nBreak.tagName = 'BR';\n\nexports.default = Break;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar linked_list_1 = __webpack_require__(44);\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar ContainerBlot = /** @class */ (function (_super) {\n __extends(ContainerBlot, _super);\n function ContainerBlot(domNode) {\n var _this = _super.call(this, domNode) || this;\n _this.build();\n return _this;\n }\n ContainerBlot.prototype.appendChild = function (other) {\n this.insertBefore(other);\n };\n ContainerBlot.prototype.attach = function () {\n _super.prototype.attach.call(this);\n this.children.forEach(function (child) {\n child.attach();\n });\n };\n ContainerBlot.prototype.build = function () {\n var _this = this;\n this.children = new linked_list_1.default();\n // Need to be reversed for if DOM nodes already in order\n [].slice\n .call(this.domNode.childNodes)\n .reverse()\n .forEach(function (node) {\n try {\n var child = makeBlot(node);\n _this.insertBefore(child, _this.children.head || undefined);\n }\n catch (err) {\n if (err instanceof Registry.ParchmentError)\n return;\n else\n throw err;\n }\n });\n };\n ContainerBlot.prototype.deleteAt = function (index, length) {\n if (index === 0 && length === this.length()) {\n return this.remove();\n }\n this.children.forEachAt(index, length, function (child, offset, length) {\n child.deleteAt(offset, length);\n });\n };\n ContainerBlot.prototype.descendant = function (criteria, index) {\n var _a = this.children.find(index), child = _a[0], offset = _a[1];\n if ((criteria.blotName == null && criteria(child)) ||\n (criteria.blotName != null && child instanceof criteria)) {\n return [child, offset];\n }\n else if (child instanceof ContainerBlot) {\n return child.descendant(criteria, offset);\n }\n else {\n return [null, -1];\n }\n };\n ContainerBlot.prototype.descendants = function (criteria, index, length) {\n if (index === void 0) { index = 0; }\n if (length === void 0) { length = Number.MAX_VALUE; }\n var descendants = [];\n var lengthLeft = length;\n this.children.forEachAt(index, length, function (child, index, length) {\n if ((criteria.blotName == null && criteria(child)) ||\n (criteria.blotName != null && child instanceof criteria)) {\n descendants.push(child);\n }\n if (child instanceof ContainerBlot) {\n descendants = descendants.concat(child.descendants(criteria, index, lengthLeft));\n }\n lengthLeft -= length;\n });\n return descendants;\n };\n ContainerBlot.prototype.detach = function () {\n this.children.forEach(function (child) {\n child.detach();\n });\n _super.prototype.detach.call(this);\n };\n ContainerBlot.prototype.formatAt = function (index, length, name, value) {\n this.children.forEachAt(index, length, function (child, offset, length) {\n child.formatAt(offset, length, name, value);\n });\n };\n ContainerBlot.prototype.insertAt = function (index, value, def) {\n var _a = this.children.find(index), child = _a[0], offset = _a[1];\n if (child) {\n child.insertAt(offset, value, def);\n }\n else {\n var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n this.appendChild(blot);\n }\n };\n ContainerBlot.prototype.insertBefore = function (childBlot, refBlot) {\n if (this.statics.allowedChildren != null &&\n !this.statics.allowedChildren.some(function (child) {\n return childBlot instanceof child;\n })) {\n throw new Registry.ParchmentError(\"Cannot insert \" + childBlot.statics.blotName + \" into \" + this.statics.blotName);\n }\n childBlot.insertInto(this, refBlot);\n };\n ContainerBlot.prototype.length = function () {\n return this.children.reduce(function (memo, child) {\n return memo + child.length();\n }, 0);\n };\n ContainerBlot.prototype.moveChildren = function (targetParent, refNode) {\n this.children.forEach(function (child) {\n targetParent.insertBefore(child, refNode);\n });\n };\n ContainerBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n if (this.children.length === 0) {\n if (this.statics.defaultChild != null) {\n var child = Registry.create(this.statics.defaultChild);\n this.appendChild(child);\n child.optimize(context);\n }\n else {\n this.remove();\n }\n }\n };\n ContainerBlot.prototype.path = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n var _a = this.children.find(index, inclusive), child = _a[0], offset = _a[1];\n var position = [[this, index]];\n if (child instanceof ContainerBlot) {\n return position.concat(child.path(offset, inclusive));\n }\n else if (child != null) {\n position.push([child, offset]);\n }\n return position;\n };\n ContainerBlot.prototype.removeChild = function (child) {\n this.children.remove(child);\n };\n ContainerBlot.prototype.replace = function (target) {\n if (target instanceof ContainerBlot) {\n target.moveChildren(this);\n }\n _super.prototype.replace.call(this, target);\n };\n ContainerBlot.prototype.split = function (index, force) {\n if (force === void 0) { force = false; }\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n var after = this.clone();\n this.parent.insertBefore(after, this.next);\n this.children.forEachAt(index, this.length(), function (child, offset, length) {\n child = child.split(offset, force);\n after.appendChild(child);\n });\n return after;\n };\n ContainerBlot.prototype.unwrap = function () {\n this.moveChildren(this.parent, this.next);\n this.remove();\n };\n ContainerBlot.prototype.update = function (mutations, context) {\n var _this = this;\n var addedNodes = [];\n var removedNodes = [];\n mutations.forEach(function (mutation) {\n if (mutation.target === _this.domNode && mutation.type === 'childList') {\n addedNodes.push.apply(addedNodes, mutation.addedNodes);\n removedNodes.push.apply(removedNodes, mutation.removedNodes);\n }\n });\n removedNodes.forEach(function (node) {\n // Check node has actually been removed\n // One exception is Chrome does not immediately remove IFRAMEs\n // from DOM but MutationRecord is correct in its reported removal\n if (node.parentNode != null &&\n // @ts-ignore\n node.tagName !== 'IFRAME' &&\n document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return;\n }\n var blot = Registry.find(node);\n if (blot == null)\n return;\n if (blot.domNode.parentNode == null || blot.domNode.parentNode === _this.domNode) {\n blot.detach();\n }\n });\n addedNodes\n .filter(function (node) {\n return node.parentNode == _this.domNode;\n })\n .sort(function (a, b) {\n if (a === b)\n return 0;\n if (a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING) {\n return 1;\n }\n return -1;\n })\n .forEach(function (node) {\n var refBlot = null;\n if (node.nextSibling != null) {\n refBlot = Registry.find(node.nextSibling);\n }\n var blot = makeBlot(node);\n if (blot.next != refBlot || blot.next == null) {\n if (blot.parent != null) {\n blot.parent.removeChild(_this);\n }\n _this.insertBefore(blot, refBlot || undefined);\n }\n });\n };\n return ContainerBlot;\n}(shadow_1.default));\nfunction makeBlot(node) {\n var blot = Registry.find(node);\n if (blot == null) {\n try {\n blot = Registry.create(node);\n }\n catch (e) {\n blot = Registry.create(Registry.Scope.INLINE);\n [].slice.call(node.childNodes).forEach(function (child) {\n // @ts-ignore\n blot.domNode.appendChild(child);\n });\n if (node.parentNode) {\n node.parentNode.replaceChild(blot.domNode, node);\n }\n blot.attach();\n }\n }\n return blot;\n}\nexports.default = ContainerBlot;\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar store_1 = __webpack_require__(31);\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar FormatBlot = /** @class */ (function (_super) {\n __extends(FormatBlot, _super);\n function FormatBlot(domNode) {\n var _this = _super.call(this, domNode) || this;\n _this.attributes = new store_1.default(_this.domNode);\n return _this;\n }\n FormatBlot.formats = function (domNode) {\n if (typeof this.tagName === 'string') {\n return true;\n }\n else if (Array.isArray(this.tagName)) {\n return domNode.tagName.toLowerCase();\n }\n return undefined;\n };\n FormatBlot.prototype.format = function (name, value) {\n var format = Registry.query(name);\n if (format instanceof attributor_1.default) {\n this.attributes.attribute(format, value);\n }\n else if (value) {\n if (format != null && (name !== this.statics.blotName || this.formats()[name] !== value)) {\n this.replaceWith(name, value);\n }\n }\n };\n FormatBlot.prototype.formats = function () {\n var formats = this.attributes.values();\n var format = this.statics.formats(this.domNode);\n if (format != null) {\n formats[this.statics.blotName] = format;\n }\n return formats;\n };\n FormatBlot.prototype.replaceWith = function (name, value) {\n var replacement = _super.prototype.replaceWith.call(this, name, value);\n this.attributes.copy(replacement);\n return replacement;\n };\n FormatBlot.prototype.update = function (mutations, context) {\n var _this = this;\n _super.prototype.update.call(this, mutations, context);\n if (mutations.some(function (mutation) {\n return mutation.target === _this.domNode && mutation.type === 'attributes';\n })) {\n this.attributes.build();\n }\n };\n FormatBlot.prototype.wrap = function (name, value) {\n var wrapper = _super.prototype.wrap.call(this, name, value);\n if (wrapper instanceof FormatBlot && wrapper.statics.scope === this.statics.scope) {\n this.attributes.move(wrapper);\n }\n return wrapper;\n };\n return FormatBlot;\n}(container_1.default));\nexports.default = FormatBlot;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar LeafBlot = /** @class */ (function (_super) {\n __extends(LeafBlot, _super);\n function LeafBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LeafBlot.value = function (domNode) {\n return true;\n };\n LeafBlot.prototype.index = function (node, offset) {\n if (this.domNode === node ||\n this.domNode.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return Math.min(offset, 1);\n }\n return -1;\n };\n LeafBlot.prototype.position = function (index, inclusive) {\n var offset = [].indexOf.call(this.parent.domNode.childNodes, this.domNode);\n if (index > 0)\n offset += 1;\n return [this.parent.domNode, offset];\n };\n LeafBlot.prototype.value = function () {\n var _a;\n return _a = {}, _a[this.statics.blotName] = this.statics.value(this.domNode) || true, _a;\n };\n LeafBlot.scope = Registry.Scope.INLINE_BLOT;\n return LeafBlot;\n}(shadow_1.default));\nexports.default = LeafBlot;\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar equal = __webpack_require__(11);\nvar extend = __webpack_require__(3);\n\n\nvar lib = {\n attributes: {\n compose: function (a, b, keepNull) {\n if (typeof a !== 'object') a = {};\n if (typeof b !== 'object') b = {};\n var attributes = extend(true, {}, b);\n if (!keepNull) {\n attributes = Object.keys(attributes).reduce(function (copy, key) {\n if (attributes[key] != null) {\n copy[key] = attributes[key];\n }\n return copy;\n }, {});\n }\n for (var key in a) {\n if (a[key] !== undefined && b[key] === undefined) {\n attributes[key] = a[key];\n }\n }\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n },\n\n diff: function(a, b) {\n if (typeof a !== 'object') a = {};\n if (typeof b !== 'object') b = {};\n var attributes = Object.keys(a).concat(Object.keys(b)).reduce(function (attributes, key) {\n if (!equal(a[key], b[key])) {\n attributes[key] = b[key] === undefined ? null : b[key];\n }\n return attributes;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n },\n\n transform: function (a, b, priority) {\n if (typeof a !== 'object') return b;\n if (typeof b !== 'object') return undefined;\n if (!priority) return b; // b simply overwrites us without priority\n var attributes = Object.keys(b).reduce(function (attributes, key) {\n if (a[key] === undefined) attributes[key] = b[key]; // null is a valid value\n return attributes;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n },\n\n iterator: function (ops) {\n return new Iterator(ops);\n },\n\n length: function (op) {\n if (typeof op['delete'] === 'number') {\n return op['delete'];\n } else if (typeof op.retain === 'number') {\n return op.retain;\n } else {\n return typeof op.insert === 'string' ? op.insert.length : 1;\n }\n }\n};\n\n\nfunction Iterator(ops) {\n this.ops = ops;\n this.index = 0;\n this.offset = 0;\n};\n\nIterator.prototype.hasNext = function () {\n return this.peekLength() < Infinity;\n};\n\nIterator.prototype.next = function (length) {\n if (!length) length = Infinity;\n var nextOp = this.ops[this.index];\n if (nextOp) {\n var offset = this.offset;\n var opLength = lib.length(nextOp)\n if (length >= opLength - offset) {\n length = opLength - offset;\n this.index += 1;\n this.offset = 0;\n } else {\n this.offset += length;\n }\n if (typeof nextOp['delete'] === 'number') {\n return { 'delete': length };\n } else {\n var retOp = {};\n if (nextOp.attributes) {\n retOp.attributes = nextOp.attributes;\n }\n if (typeof nextOp.retain === 'number') {\n retOp.retain = length;\n } else if (typeof nextOp.insert === 'string') {\n retOp.insert = nextOp.insert.substr(offset, length);\n } else {\n // offset should === 0, length should === 1\n retOp.insert = nextOp.insert;\n }\n return retOp;\n }\n } else {\n return { retain: Infinity };\n }\n};\n\nIterator.prototype.peek = function () {\n return this.ops[this.index];\n};\n\nIterator.prototype.peekLength = function () {\n if (this.ops[this.index]) {\n // Should never return 0 if our index is being managed correctly\n return lib.length(this.ops[this.index]) - this.offset;\n } else {\n return Infinity;\n }\n};\n\nIterator.prototype.peekType = function () {\n if (this.ops[this.index]) {\n if (typeof this.ops[this.index]['delete'] === 'number') {\n return 'delete';\n } else if (typeof this.ops[this.index].retain === 'number') {\n return 'retain';\n } else {\n return 'insert';\n }\n }\n return 'retain';\n};\n\nIterator.prototype.rest = function () {\n if (!this.hasNext()) {\n return [];\n } else if (this.offset === 0) {\n return this.ops.slice(this.index);\n } else {\n var offset = this.offset;\n var index = this.index;\n var next = this.next();\n var rest = this.ops.slice(this.index);\n this.offset = offset;\n this.index = index;\n return [next].concat(rest);\n }\n};\n\n\nmodule.exports = lib;\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar clone = (function() {\n'use strict';\n\nfunction _instanceof(obj, type) {\n return type != null && obj instanceof type;\n}\n\nvar nativeMap;\ntry {\n nativeMap = Map;\n} catch(_) {\n // maybe a reference error because no `Map`. Give it a dummy value that no\n // value will ever be an instanceof.\n nativeMap = function() {};\n}\n\nvar nativeSet;\ntry {\n nativeSet = Set;\n} catch(_) {\n nativeSet = function() {};\n}\n\nvar nativePromise;\ntry {\n nativePromise = Promise;\n} catch(_) {\n nativePromise = function() {};\n}\n\n/**\n * Clones (copies) an Object using deep copying.\n *\n * This function supports circular references by default, but if you are certain\n * there are no circular references in your object, you can save some CPU time\n * by calling clone(obj, false).\n *\n * Caution: if `circular` is false and `parent` contains circular references,\n * your program may enter an infinite loop and crash.\n *\n * @param `parent` - the object to be cloned\n * @param `circular` - set to true if the object to be cloned may contain\n * circular references. (optional - true by default)\n * @param `depth` - set to a number if the object is only to be cloned to\n * a particular depth. (optional - defaults to Infinity)\n * @param `prototype` - sets the prototype to be used when cloning an object.\n * (optional - defaults to parent prototype).\n * @param `includeNonEnumerable` - set to true if the non-enumerable properties\n * should be cloned as well. Non-enumerable properties on the prototype\n * chain will be ignored. (optional - false by default)\n*/\nfunction clone(parent, circular, depth, prototype, includeNonEnumerable) {\n if (typeof circular === 'object') {\n depth = circular.depth;\n prototype = circular.prototype;\n includeNonEnumerable = circular.includeNonEnumerable;\n circular = circular.circular;\n }\n // maintain two arrays for circular references, where corresponding parents\n // and children have the same index\n var allParents = [];\n var allChildren = [];\n\n var useBuffer = typeof Buffer != 'undefined';\n\n if (typeof circular == 'undefined')\n circular = true;\n\n if (typeof depth == 'undefined')\n depth = Infinity;\n\n // recurse this function so we don't reset allParents and allChildren\n function _clone(parent, depth) {\n // cloning null always returns null\n if (parent === null)\n return null;\n\n if (depth === 0)\n return parent;\n\n var child;\n var proto;\n if (typeof parent != 'object') {\n return parent;\n }\n\n if (_instanceof(parent, nativeMap)) {\n child = new nativeMap();\n } else if (_instanceof(parent, nativeSet)) {\n child = new nativeSet();\n } else if (_instanceof(parent, nativePromise)) {\n child = new nativePromise(function (resolve, reject) {\n parent.then(function(value) {\n resolve(_clone(value, depth - 1));\n }, function(err) {\n reject(_clone(err, depth - 1));\n });\n });\n } else if (clone.__isArray(parent)) {\n child = [];\n } else if (clone.__isRegExp(parent)) {\n child = new RegExp(parent.source, __getRegExpFlags(parent));\n if (parent.lastIndex) child.lastIndex = parent.lastIndex;\n } else if (clone.__isDate(parent)) {\n child = new Date(parent.getTime());\n } else if (useBuffer && Buffer.isBuffer(parent)) {\n if (Buffer.allocUnsafe) {\n // Node.js >= 4.5.0\n child = Buffer.allocUnsafe(parent.length);\n } else {\n // Older Node.js versions\n child = new Buffer(parent.length);\n }\n parent.copy(child);\n return child;\n } else if (_instanceof(parent, Error)) {\n child = Object.create(parent);\n } else {\n if (typeof prototype == 'undefined') {\n proto = Object.getPrototypeOf(parent);\n child = Object.create(proto);\n }\n else {\n child = Object.create(prototype);\n proto = prototype;\n }\n }\n\n if (circular) {\n var index = allParents.indexOf(parent);\n\n if (index != -1) {\n return allChildren[index];\n }\n allParents.push(parent);\n allChildren.push(child);\n }\n\n if (_instanceof(parent, nativeMap)) {\n parent.forEach(function(value, key) {\n var keyChild = _clone(key, depth - 1);\n var valueChild = _clone(value, depth - 1);\n child.set(keyChild, valueChild);\n });\n }\n if (_instanceof(parent, nativeSet)) {\n parent.forEach(function(value) {\n var entryChild = _clone(value, depth - 1);\n child.add(entryChild);\n });\n }\n\n for (var i in parent) {\n var attrs;\n if (proto) {\n attrs = Object.getOwnPropertyDescriptor(proto, i);\n }\n\n if (attrs && attrs.set == null) {\n continue;\n }\n child[i] = _clone(parent[i], depth - 1);\n }\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(parent);\n for (var i = 0; i < symbols.length; i++) {\n // Don't need to worry about cloning a symbol because it is a primitive,\n // like a number or string.\n var symbol = symbols[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\n if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\n continue;\n }\n child[symbol] = _clone(parent[symbol], depth - 1);\n if (!descriptor.enumerable) {\n Object.defineProperty(child, symbol, {\n enumerable: false\n });\n }\n }\n }\n\n if (includeNonEnumerable) {\n var allPropertyNames = Object.getOwnPropertyNames(parent);\n for (var i = 0; i < allPropertyNames.length; i++) {\n var propertyName = allPropertyNames[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\n if (descriptor && descriptor.enumerable) {\n continue;\n }\n child[propertyName] = _clone(parent[propertyName], depth - 1);\n Object.defineProperty(child, propertyName, {\n enumerable: false\n });\n }\n }\n\n return child;\n }\n\n return _clone(parent, depth);\n}\n\n/**\n * Simple flat clone using prototype, accepts only objects, usefull for property\n * override on FLAT configuration object (no nested props).\n *\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\n * works.\n */\nclone.clonePrototype = function clonePrototype(parent) {\n if (parent === null)\n return null;\n\n var c = function () {};\n c.prototype = parent;\n return new c();\n};\n\n// private utility functions\n\nfunction __objToStr(o) {\n return Object.prototype.toString.call(o);\n}\nclone.__objToStr = __objToStr;\n\nfunction __isDate(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Date]';\n}\nclone.__isDate = __isDate;\n\nfunction __isArray(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Array]';\n}\nclone.__isArray = __isArray;\n\nfunction __isRegExp(o) {\n return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\n}\nclone.__isRegExp = __isRegExp;\n\nfunction __getRegExpFlags(re) {\n var flags = '';\n if (re.global) flags += 'g';\n if (re.ignoreCase) flags += 'i';\n if (re.multiline) flags += 'm';\n return flags;\n}\nclone.__getRegExpFlags = __getRegExpFlags;\n\nreturn clone;\n})();\n\nif (typeof module === 'object' && module.exports) {\n module.exports = clone;\n}\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction isLine(blot) {\n return blot instanceof _block2.default || blot instanceof _block.BlockEmbed;\n}\n\nvar Scroll = function (_Parchment$Scroll) {\n _inherits(Scroll, _Parchment$Scroll);\n\n function Scroll(domNode, config) {\n _classCallCheck(this, Scroll);\n\n var _this = _possibleConstructorReturn(this, (Scroll.__proto__ || Object.getPrototypeOf(Scroll)).call(this, domNode));\n\n _this.emitter = config.emitter;\n if (Array.isArray(config.whitelist)) {\n _this.whitelist = config.whitelist.reduce(function (whitelist, format) {\n whitelist[format] = true;\n return whitelist;\n }, {});\n }\n // Some reason fixes composition issues with character languages in Windows/Chrome, Safari\n _this.domNode.addEventListener('DOMNodeInserted', function () {});\n _this.optimize();\n _this.enable();\n return _this;\n }\n\n _createClass(Scroll, [{\n key: 'batchStart',\n value: function batchStart() {\n this.batch = true;\n }\n }, {\n key: 'batchEnd',\n value: function batchEnd() {\n this.batch = false;\n this.optimize();\n }\n }, {\n key: 'deleteAt',\n value: function deleteAt(index, length) {\n var _line = this.line(index),\n _line2 = _slicedToArray(_line, 2),\n first = _line2[0],\n offset = _line2[1];\n\n var _line3 = this.line(index + length),\n _line4 = _slicedToArray(_line3, 1),\n last = _line4[0];\n\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'deleteAt', this).call(this, index, length);\n if (last != null && first !== last && offset > 0) {\n if (first instanceof _block.BlockEmbed || last instanceof _block.BlockEmbed) {\n this.optimize();\n return;\n }\n if (first instanceof _code2.default) {\n var newlineIndex = first.newlineIndex(first.length(), true);\n if (newlineIndex > -1) {\n first = first.split(newlineIndex + 1);\n if (first === last) {\n this.optimize();\n return;\n }\n }\n } else if (last instanceof _code2.default) {\n var _newlineIndex = last.newlineIndex(0);\n if (_newlineIndex > -1) {\n last.split(_newlineIndex + 1);\n }\n }\n var ref = last.children.head instanceof _break2.default ? null : last.children.head;\n first.moveChildren(last, ref);\n first.remove();\n }\n this.optimize();\n }\n }, {\n key: 'enable',\n value: function enable() {\n var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.domNode.setAttribute('contenteditable', enabled);\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, format, value) {\n if (this.whitelist != null && !this.whitelist[format]) return;\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'formatAt', this).call(this, index, length, format, value);\n this.optimize();\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null && this.whitelist != null && !this.whitelist[value]) return;\n if (index >= this.length()) {\n if (def == null || _parchment2.default.query(value, _parchment2.default.Scope.BLOCK) == null) {\n var blot = _parchment2.default.create(this.statics.defaultChild);\n this.appendChild(blot);\n if (def == null && value.endsWith('\\n')) {\n value = value.slice(0, -1);\n }\n blot.insertAt(0, value, def);\n } else {\n var embed = _parchment2.default.create(value, def);\n this.appendChild(embed);\n }\n } else {\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertAt', this).call(this, index, value, def);\n }\n this.optimize();\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n if (blot.statics.scope === _parchment2.default.Scope.INLINE_BLOT) {\n var wrapper = _parchment2.default.create(this.statics.defaultChild);\n wrapper.appendChild(blot);\n blot = wrapper;\n }\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertBefore', this).call(this, blot, ref);\n }\n }, {\n key: 'leaf',\n value: function leaf(index) {\n return this.path(index).pop() || [null, -1];\n }\n }, {\n key: 'line',\n value: function line(index) {\n if (index === this.length()) {\n return this.line(index - 1);\n }\n return this.descendant(isLine, index);\n }\n }, {\n key: 'lines',\n value: function lines() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n var getLines = function getLines(blot, index, length) {\n var lines = [],\n lengthLeft = length;\n blot.children.forEachAt(index, length, function (child, index, length) {\n if (isLine(child)) {\n lines.push(child);\n } else if (child instanceof _parchment2.default.Container) {\n lines = lines.concat(getLines(child, index, lengthLeft));\n }\n lengthLeft -= length;\n });\n return lines;\n };\n return getLines(this, index, length);\n }\n }, {\n key: 'optimize',\n value: function optimize() {\n var mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.batch === true) return;\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'optimize', this).call(this, mutations, context);\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_OPTIMIZE, mutations, context);\n }\n }\n }, {\n key: 'path',\n value: function path(index) {\n return _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'path', this).call(this, index).slice(1); // Exclude self\n }\n }, {\n key: 'update',\n value: function update(mutations) {\n if (this.batch === true) return;\n var source = _emitter2.default.sources.USER;\n if (typeof mutations === 'string') {\n source = mutations;\n }\n if (!Array.isArray(mutations)) {\n mutations = this.observer.takeRecords();\n }\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_BEFORE_UPDATE, source, mutations);\n }\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'update', this).call(this, mutations.concat([])); // pass copy\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_UPDATE, source, mutations);\n }\n }\n }]);\n\n return Scroll;\n}(_parchment2.default.Scroll);\n\nScroll.blotName = 'scroll';\nScroll.className = 'ql-editor';\nScroll.tagName = 'DIV';\nScroll.defaultChild = 'block';\nScroll.allowedChildren = [_block2.default, _block.BlockEmbed, _container2.default];\n\nexports.default = Scroll;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SHORTKEY = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:keyboard');\n\nvar SHORTKEY = /Mac/i.test(navigator.platform) ? 'metaKey' : 'ctrlKey';\n\nvar Keyboard = function (_Module) {\n _inherits(Keyboard, _Module);\n\n _createClass(Keyboard, null, [{\n key: 'match',\n value: function match(evt, binding) {\n binding = normalize(binding);\n if (['altKey', 'ctrlKey', 'metaKey', 'shiftKey'].some(function (key) {\n return !!binding[key] !== evt[key] && binding[key] !== null;\n })) {\n return false;\n }\n return binding.key === (evt.which || evt.keyCode);\n }\n }]);\n\n function Keyboard(quill, options) {\n _classCallCheck(this, Keyboard);\n\n var _this = _possibleConstructorReturn(this, (Keyboard.__proto__ || Object.getPrototypeOf(Keyboard)).call(this, quill, options));\n\n _this.bindings = {};\n Object.keys(_this.options.bindings).forEach(function (name) {\n if (name === 'list autofill' && quill.scroll.whitelist != null && !quill.scroll.whitelist['list']) {\n return;\n }\n if (_this.options.bindings[name]) {\n _this.addBinding(_this.options.bindings[name]);\n }\n });\n _this.addBinding({ key: Keyboard.keys.ENTER, shiftKey: null }, handleEnter);\n _this.addBinding({ key: Keyboard.keys.ENTER, metaKey: null, ctrlKey: null, altKey: null }, function () {});\n if (/Firefox/i.test(navigator.userAgent)) {\n // Need to handle delete and backspace for Firefox in the general case #1171\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true }, handleBackspace);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true }, handleDelete);\n } else {\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true, prefix: /^.?$/ }, handleBackspace);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true, suffix: /^.?$/ }, handleDelete);\n }\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: false }, handleDeleteRange);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: false }, handleDeleteRange);\n _this.addBinding({ key: Keyboard.keys.BACKSPACE, altKey: null, ctrlKey: null, metaKey: null, shiftKey: null }, { collapsed: true, offset: 0 }, handleBackspace);\n _this.listen();\n return _this;\n }\n\n _createClass(Keyboard, [{\n key: 'addBinding',\n value: function addBinding(key) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var handler = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var binding = normalize(key);\n if (binding == null || binding.key == null) {\n return debug.warn('Attempted to add invalid keyboard binding', binding);\n }\n if (typeof context === 'function') {\n context = { handler: context };\n }\n if (typeof handler === 'function') {\n handler = { handler: handler };\n }\n binding = (0, _extend2.default)(binding, context, handler);\n this.bindings[binding.key] = this.bindings[binding.key] || [];\n this.bindings[binding.key].push(binding);\n }\n }, {\n key: 'listen',\n value: function listen() {\n var _this2 = this;\n\n this.quill.root.addEventListener('keydown', function (evt) {\n if (evt.defaultPrevented) return;\n var which = evt.which || evt.keyCode;\n var bindings = (_this2.bindings[which] || []).filter(function (binding) {\n return Keyboard.match(evt, binding);\n });\n if (bindings.length === 0) return;\n var range = _this2.quill.getSelection();\n if (range == null || !_this2.quill.hasFocus()) return;\n\n var _quill$getLine = _this2.quill.getLine(range.index),\n _quill$getLine2 = _slicedToArray(_quill$getLine, 2),\n line = _quill$getLine2[0],\n offset = _quill$getLine2[1];\n\n var _quill$getLeaf = _this2.quill.getLeaf(range.index),\n _quill$getLeaf2 = _slicedToArray(_quill$getLeaf, 2),\n leafStart = _quill$getLeaf2[0],\n offsetStart = _quill$getLeaf2[1];\n\n var _ref = range.length === 0 ? [leafStart, offsetStart] : _this2.quill.getLeaf(range.index + range.length),\n _ref2 = _slicedToArray(_ref, 2),\n leafEnd = _ref2[0],\n offsetEnd = _ref2[1];\n\n var prefixText = leafStart instanceof _parchment2.default.Text ? leafStart.value().slice(0, offsetStart) : '';\n var suffixText = leafEnd instanceof _parchment2.default.Text ? leafEnd.value().slice(offsetEnd) : '';\n var curContext = {\n collapsed: range.length === 0,\n empty: range.length === 0 && line.length() <= 1,\n format: _this2.quill.getFormat(range),\n offset: offset,\n prefix: prefixText,\n suffix: suffixText\n };\n var prevented = bindings.some(function (binding) {\n if (binding.collapsed != null && binding.collapsed !== curContext.collapsed) return false;\n if (binding.empty != null && binding.empty !== curContext.empty) return false;\n if (binding.offset != null && binding.offset !== curContext.offset) return false;\n if (Array.isArray(binding.format)) {\n // any format is present\n if (binding.format.every(function (name) {\n return curContext.format[name] == null;\n })) {\n return false;\n }\n } else if (_typeof(binding.format) === 'object') {\n // all formats must match\n if (!Object.keys(binding.format).every(function (name) {\n if (binding.format[name] === true) return curContext.format[name] != null;\n if (binding.format[name] === false) return curContext.format[name] == null;\n return (0, _deepEqual2.default)(binding.format[name], curContext.format[name]);\n })) {\n return false;\n }\n }\n if (binding.prefix != null && !binding.prefix.test(curContext.prefix)) return false;\n if (binding.suffix != null && !binding.suffix.test(curContext.suffix)) return false;\n return binding.handler.call(_this2, range, curContext) !== true;\n });\n if (prevented) {\n evt.preventDefault();\n }\n });\n }\n }]);\n\n return Keyboard;\n}(_module2.default);\n\nKeyboard.keys = {\n BACKSPACE: 8,\n TAB: 9,\n ENTER: 13,\n ESCAPE: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n DELETE: 46\n};\n\nKeyboard.DEFAULTS = {\n bindings: {\n 'bold': makeFormatHandler('bold'),\n 'italic': makeFormatHandler('italic'),\n 'underline': makeFormatHandler('underline'),\n 'indent': {\n // highlight tab or tab at beginning of list, indent or blockquote\n key: Keyboard.keys.TAB,\n format: ['blockquote', 'indent', 'list'],\n handler: function handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '+1', _quill2.default.sources.USER);\n }\n },\n 'outdent': {\n key: Keyboard.keys.TAB,\n shiftKey: true,\n format: ['blockquote', 'indent', 'list'],\n // highlight tab or tab at beginning of list, indent or blockquote\n handler: function handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '-1', _quill2.default.sources.USER);\n }\n },\n 'outdent backspace': {\n key: Keyboard.keys.BACKSPACE,\n collapsed: true,\n shiftKey: null,\n metaKey: null,\n ctrlKey: null,\n altKey: null,\n format: ['indent', 'list'],\n offset: 0,\n handler: function handler(range, context) {\n if (context.format.indent != null) {\n this.quill.format('indent', '-1', _quill2.default.sources.USER);\n } else if (context.format.list != null) {\n this.quill.format('list', false, _quill2.default.sources.USER);\n }\n }\n },\n 'indent code-block': makeCodeBlockHandler(true),\n 'outdent code-block': makeCodeBlockHandler(false),\n 'remove tab': {\n key: Keyboard.keys.TAB,\n shiftKey: true,\n collapsed: true,\n prefix: /\\t$/,\n handler: function handler(range) {\n this.quill.deleteText(range.index - 1, 1, _quill2.default.sources.USER);\n }\n },\n 'tab': {\n key: Keyboard.keys.TAB,\n handler: function handler(range) {\n this.quill.history.cutoff();\n var delta = new _quillDelta2.default().retain(range.index).delete(range.length).insert('\\t');\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n }\n },\n 'list empty enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['list'],\n empty: true,\n handler: function handler(range, context) {\n this.quill.format('list', false, _quill2.default.sources.USER);\n if (context.format.indent) {\n this.quill.format('indent', false, _quill2.default.sources.USER);\n }\n }\n },\n 'checklist enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: { list: 'checked' },\n handler: function handler(range) {\n var _quill$getLine3 = this.quill.getLine(range.index),\n _quill$getLine4 = _slicedToArray(_quill$getLine3, 2),\n line = _quill$getLine4[0],\n offset = _quill$getLine4[1];\n\n var formats = (0, _extend2.default)({}, line.formats(), { list: 'checked' });\n var delta = new _quillDelta2.default().retain(range.index).insert('\\n', formats).retain(line.length() - offset - 1).retain(1, { list: 'unchecked' });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.scrollIntoView();\n }\n },\n 'header enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['header'],\n suffix: /^$/,\n handler: function handler(range, context) {\n var _quill$getLine5 = this.quill.getLine(range.index),\n _quill$getLine6 = _slicedToArray(_quill$getLine5, 2),\n line = _quill$getLine6[0],\n offset = _quill$getLine6[1];\n\n var delta = new _quillDelta2.default().retain(range.index).insert('\\n', context.format).retain(line.length() - offset - 1).retain(1, { header: null });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.scrollIntoView();\n }\n },\n 'list autofill': {\n key: ' ',\n collapsed: true,\n format: { list: false },\n prefix: /^\\s*?(\\d+\\.|-|\\*|\\[ ?\\]|\\[x\\])$/,\n handler: function handler(range, context) {\n var length = context.prefix.length;\n\n var _quill$getLine7 = this.quill.getLine(range.index),\n _quill$getLine8 = _slicedToArray(_quill$getLine7, 2),\n line = _quill$getLine8[0],\n offset = _quill$getLine8[1];\n\n if (offset > length) return true;\n var value = void 0;\n switch (context.prefix.trim()) {\n case '[]':case '[ ]':\n value = 'unchecked';\n break;\n case '[x]':\n value = 'checked';\n break;\n case '-':case '*':\n value = 'bullet';\n break;\n default:\n value = 'ordered';\n }\n this.quill.insertText(range.index, ' ', _quill2.default.sources.USER);\n this.quill.history.cutoff();\n var delta = new _quillDelta2.default().retain(range.index - offset).delete(length + 1).retain(line.length() - 2 - offset).retain(1, { list: value });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index - length, _quill2.default.sources.SILENT);\n }\n },\n 'code exit': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['code-block'],\n prefix: /\\n\\n$/,\n suffix: /^\\s+$/,\n handler: function handler(range) {\n var _quill$getLine9 = this.quill.getLine(range.index),\n _quill$getLine10 = _slicedToArray(_quill$getLine9, 2),\n line = _quill$getLine10[0],\n offset = _quill$getLine10[1];\n\n var delta = new _quillDelta2.default().retain(range.index + line.length() - offset - 2).retain(1, { 'code-block': null }).delete(1);\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n }\n },\n 'embed left': makeEmbedArrowHandler(Keyboard.keys.LEFT, false),\n 'embed left shift': makeEmbedArrowHandler(Keyboard.keys.LEFT, true),\n 'embed right': makeEmbedArrowHandler(Keyboard.keys.RIGHT, false),\n 'embed right shift': makeEmbedArrowHandler(Keyboard.keys.RIGHT, true)\n }\n};\n\nfunction makeEmbedArrowHandler(key, shiftKey) {\n var _ref3;\n\n var where = key === Keyboard.keys.LEFT ? 'prefix' : 'suffix';\n return _ref3 = {\n key: key,\n shiftKey: shiftKey,\n altKey: null\n }, _defineProperty(_ref3, where, /^$/), _defineProperty(_ref3, 'handler', function handler(range) {\n var index = range.index;\n if (key === Keyboard.keys.RIGHT) {\n index += range.length + 1;\n }\n\n var _quill$getLeaf3 = this.quill.getLeaf(index),\n _quill$getLeaf4 = _slicedToArray(_quill$getLeaf3, 1),\n leaf = _quill$getLeaf4[0];\n\n if (!(leaf instanceof _parchment2.default.Embed)) return true;\n if (key === Keyboard.keys.LEFT) {\n if (shiftKey) {\n this.quill.setSelection(range.index - 1, range.length + 1, _quill2.default.sources.USER);\n } else {\n this.quill.setSelection(range.index - 1, _quill2.default.sources.USER);\n }\n } else {\n if (shiftKey) {\n this.quill.setSelection(range.index, range.length + 1, _quill2.default.sources.USER);\n } else {\n this.quill.setSelection(range.index + range.length + 1, _quill2.default.sources.USER);\n }\n }\n return false;\n }), _ref3;\n}\n\nfunction handleBackspace(range, context) {\n if (range.index === 0 || this.quill.getLength() <= 1) return;\n\n var _quill$getLine11 = this.quill.getLine(range.index),\n _quill$getLine12 = _slicedToArray(_quill$getLine11, 1),\n line = _quill$getLine12[0];\n\n var formats = {};\n if (context.offset === 0) {\n var _quill$getLine13 = this.quill.getLine(range.index - 1),\n _quill$getLine14 = _slicedToArray(_quill$getLine13, 1),\n prev = _quill$getLine14[0];\n\n if (prev != null && prev.length() > 1) {\n var curFormats = line.formats();\n var prevFormats = this.quill.getFormat(range.index - 1, 1);\n formats = _op2.default.attributes.diff(curFormats, prevFormats) || {};\n }\n }\n // Check for astral symbols\n var length = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]$/.test(context.prefix) ? 2 : 1;\n this.quill.deleteText(range.index - length, length, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index - length, length, formats, _quill2.default.sources.USER);\n }\n this.quill.focus();\n}\n\nfunction handleDelete(range, context) {\n // Check for astral symbols\n var length = /^[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/.test(context.suffix) ? 2 : 1;\n if (range.index >= this.quill.getLength() - length) return;\n var formats = {},\n nextLength = 0;\n\n var _quill$getLine15 = this.quill.getLine(range.index),\n _quill$getLine16 = _slicedToArray(_quill$getLine15, 1),\n line = _quill$getLine16[0];\n\n if (context.offset >= line.length() - 1) {\n var _quill$getLine17 = this.quill.getLine(range.index + 1),\n _quill$getLine18 = _slicedToArray(_quill$getLine17, 1),\n next = _quill$getLine18[0];\n\n if (next) {\n var curFormats = line.formats();\n var nextFormats = this.quill.getFormat(range.index, 1);\n formats = _op2.default.attributes.diff(curFormats, nextFormats) || {};\n nextLength = next.length();\n }\n }\n this.quill.deleteText(range.index, length, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index + nextLength - 1, length, formats, _quill2.default.sources.USER);\n }\n}\n\nfunction handleDeleteRange(range) {\n var lines = this.quill.getLines(range);\n var formats = {};\n if (lines.length > 1) {\n var firstFormats = lines[0].formats();\n var lastFormats = lines[lines.length - 1].formats();\n formats = _op2.default.attributes.diff(lastFormats, firstFormats) || {};\n }\n this.quill.deleteText(range, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index, 1, formats, _quill2.default.sources.USER);\n }\n this.quill.setSelection(range.index, _quill2.default.sources.SILENT);\n this.quill.focus();\n}\n\nfunction handleEnter(range, context) {\n var _this3 = this;\n\n if (range.length > 0) {\n this.quill.scroll.deleteAt(range.index, range.length); // So we do not trigger text-change\n }\n var lineFormats = Object.keys(context.format).reduce(function (lineFormats, format) {\n if (_parchment2.default.query(format, _parchment2.default.Scope.BLOCK) && !Array.isArray(context.format[format])) {\n lineFormats[format] = context.format[format];\n }\n return lineFormats;\n }, {});\n this.quill.insertText(range.index, '\\n', lineFormats, _quill2.default.sources.USER);\n // Earlier scroll.deleteAt might have messed up our selection,\n // so insertText's built in selection preservation is not reliable\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.focus();\n Object.keys(context.format).forEach(function (name) {\n if (lineFormats[name] != null) return;\n if (Array.isArray(context.format[name])) return;\n if (name === 'link') return;\n _this3.quill.format(name, context.format[name], _quill2.default.sources.USER);\n });\n}\n\nfunction makeCodeBlockHandler(indent) {\n return {\n key: Keyboard.keys.TAB,\n shiftKey: !indent,\n format: { 'code-block': true },\n handler: function handler(range) {\n var CodeBlock = _parchment2.default.query('code-block');\n var index = range.index,\n length = range.length;\n\n var _quill$scroll$descend = this.quill.scroll.descendant(CodeBlock, index),\n _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n block = _quill$scroll$descend2[0],\n offset = _quill$scroll$descend2[1];\n\n if (block == null) return;\n var scrollIndex = this.quill.getIndex(block);\n var start = block.newlineIndex(offset, true) + 1;\n var end = block.newlineIndex(scrollIndex + offset + length);\n var lines = block.domNode.textContent.slice(start, end).split('\\n');\n offset = 0;\n lines.forEach(function (line, i) {\n if (indent) {\n block.insertAt(start + offset, CodeBlock.TAB);\n offset += CodeBlock.TAB.length;\n if (i === 0) {\n index += CodeBlock.TAB.length;\n } else {\n length += CodeBlock.TAB.length;\n }\n } else if (line.startsWith(CodeBlock.TAB)) {\n block.deleteAt(start + offset, CodeBlock.TAB.length);\n offset -= CodeBlock.TAB.length;\n if (i === 0) {\n index -= CodeBlock.TAB.length;\n } else {\n length -= CodeBlock.TAB.length;\n }\n }\n offset += line.length + 1;\n });\n this.quill.update(_quill2.default.sources.USER);\n this.quill.setSelection(index, length, _quill2.default.sources.SILENT);\n }\n };\n}\n\nfunction makeFormatHandler(format) {\n return {\n key: format[0].toUpperCase(),\n shortKey: true,\n handler: function handler(range, context) {\n this.quill.format(format, !context.format[format], _quill2.default.sources.USER);\n }\n };\n}\n\nfunction normalize(binding) {\n if (typeof binding === 'string' || typeof binding === 'number') {\n return normalize({ key: binding });\n }\n if ((typeof binding === 'undefined' ? 'undefined' : _typeof(binding)) === 'object') {\n binding = (0, _clone2.default)(binding, false);\n }\n if (typeof binding.key === 'string') {\n if (Keyboard.keys[binding.key.toUpperCase()] != null) {\n binding.key = Keyboard.keys[binding.key.toUpperCase()];\n } else if (binding.key.length === 1) {\n binding.key = binding.key.toUpperCase().charCodeAt(0);\n } else {\n return null;\n }\n }\n if (binding.shortKey) {\n binding[SHORTKEY] = binding.shortKey;\n delete binding.shortKey;\n }\n return binding;\n}\n\nexports.default = Keyboard;\nexports.SHORTKEY = SHORTKEY;\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Cursor = function (_Parchment$Embed) {\n _inherits(Cursor, _Parchment$Embed);\n\n _createClass(Cursor, null, [{\n key: 'value',\n value: function value() {\n return undefined;\n }\n }]);\n\n function Cursor(domNode, selection) {\n _classCallCheck(this, Cursor);\n\n var _this = _possibleConstructorReturn(this, (Cursor.__proto__ || Object.getPrototypeOf(Cursor)).call(this, domNode));\n\n _this.selection = selection;\n _this.textNode = document.createTextNode(Cursor.CONTENTS);\n _this.domNode.appendChild(_this.textNode);\n _this._length = 0;\n return _this;\n }\n\n _createClass(Cursor, [{\n key: 'detach',\n value: function detach() {\n // super.detach() will also clear domNode.__blot\n if (this.parent != null) this.parent.removeChild(this);\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n if (this._length !== 0) {\n return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'format', this).call(this, name, value);\n }\n var target = this,\n index = 0;\n while (target != null && target.statics.scope !== _parchment2.default.Scope.BLOCK_BLOT) {\n index += target.offset(target.parent);\n target = target.parent;\n }\n if (target != null) {\n this._length = Cursor.CONTENTS.length;\n target.optimize();\n target.formatAt(index, Cursor.CONTENTS.length, name, value);\n this._length = 0;\n }\n }\n }, {\n key: 'index',\n value: function index(node, offset) {\n if (node === this.textNode) return 0;\n return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'index', this).call(this, node, offset);\n }\n }, {\n key: 'length',\n value: function length() {\n return this._length;\n }\n }, {\n key: 'position',\n value: function position() {\n return [this.textNode, this.textNode.data.length];\n }\n }, {\n key: 'remove',\n value: function remove() {\n _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'remove', this).call(this);\n this.parent = null;\n }\n }, {\n key: 'restore',\n value: function restore() {\n if (this.selection.composing || this.parent == null) return;\n var textNode = this.textNode;\n var range = this.selection.getNativeRange();\n var restoreText = void 0,\n start = void 0,\n end = void 0;\n if (range != null && range.start.node === textNode && range.end.node === textNode) {\n var _ref = [textNode, range.start.offset, range.end.offset];\n restoreText = _ref[0];\n start = _ref[1];\n end = _ref[2];\n }\n // Link format will insert text outside of anchor tag\n while (this.domNode.lastChild != null && this.domNode.lastChild !== this.textNode) {\n this.domNode.parentNode.insertBefore(this.domNode.lastChild, this.domNode);\n }\n if (this.textNode.data !== Cursor.CONTENTS) {\n var text = this.textNode.data.split(Cursor.CONTENTS).join('');\n if (this.next instanceof _text2.default) {\n restoreText = this.next.domNode;\n this.next.insertAt(0, text);\n this.textNode.data = Cursor.CONTENTS;\n } else {\n this.textNode.data = text;\n this.parent.insertBefore(_parchment2.default.create(this.textNode), this);\n this.textNode = document.createTextNode(Cursor.CONTENTS);\n this.domNode.appendChild(this.textNode);\n }\n }\n this.remove();\n if (start != null) {\n var _map = [start, end].map(function (offset) {\n return Math.max(0, Math.min(restoreText.data.length, offset - 1));\n });\n\n var _map2 = _slicedToArray(_map, 2);\n\n start = _map2[0];\n end = _map2[1];\n\n return {\n startNode: restoreText,\n startOffset: start,\n endNode: restoreText,\n endOffset: end\n };\n }\n }\n }, {\n key: 'update',\n value: function update(mutations, context) {\n var _this2 = this;\n\n if (mutations.some(function (mutation) {\n return mutation.type === 'characterData' && mutation.target === _this2.textNode;\n })) {\n var range = this.restore();\n if (range) context.range = range;\n }\n }\n }, {\n key: 'value',\n value: function value() {\n return '';\n }\n }]);\n\n return Cursor;\n}(_parchment2.default.Embed);\n\nCursor.blotName = 'cursor';\nCursor.className = 'ql-cursor';\nCursor.tagName = 'span';\nCursor.CONTENTS = '\\uFEFF'; // Zero width no break space\n\n\nexports.default = Cursor;\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Container = function (_Parchment$Container) {\n _inherits(Container, _Parchment$Container);\n\n function Container() {\n _classCallCheck(this, Container);\n\n return _possibleConstructorReturn(this, (Container.__proto__ || Object.getPrototypeOf(Container)).apply(this, arguments));\n }\n\n return Container;\n}(_parchment2.default.Container);\n\nContainer.allowedChildren = [_block2.default, _block.BlockEmbed, Container];\n\nexports.default = Container;\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColorStyle = exports.ColorClass = exports.ColorAttributor = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorAttributor = function (_Parchment$Attributor) {\n _inherits(ColorAttributor, _Parchment$Attributor);\n\n function ColorAttributor() {\n _classCallCheck(this, ColorAttributor);\n\n return _possibleConstructorReturn(this, (ColorAttributor.__proto__ || Object.getPrototypeOf(ColorAttributor)).apply(this, arguments));\n }\n\n _createClass(ColorAttributor, [{\n key: 'value',\n value: function value(domNode) {\n var value = _get(ColorAttributor.prototype.__proto__ || Object.getPrototypeOf(ColorAttributor.prototype), 'value', this).call(this, domNode);\n if (!value.startsWith('rgb(')) return value;\n value = value.replace(/^[^\\d]+/, '').replace(/[^\\d]+$/, '');\n return '#' + value.split(',').map(function (component) {\n return ('00' + parseInt(component).toString(16)).slice(-2);\n }).join('');\n }\n }]);\n\n return ColorAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar ColorClass = new _parchment2.default.Attributor.Class('color', 'ql-color', {\n scope: _parchment2.default.Scope.INLINE\n});\nvar ColorStyle = new ColorAttributor('color', 'color', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nexports.ColorAttributor = ColorAttributor;\nexports.ColorClass = ColorClass;\nexports.ColorStyle = ColorStyle;\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sanitize = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Link = function (_Inline) {\n _inherits(Link, _Inline);\n\n function Link() {\n _classCallCheck(this, Link);\n\n return _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).apply(this, arguments));\n }\n\n _createClass(Link, [{\n key: 'format',\n value: function format(name, value) {\n if (name !== this.statics.blotName || !value) return _get(Link.prototype.__proto__ || Object.getPrototypeOf(Link.prototype), 'format', this).call(this, name, value);\n value = this.constructor.sanitize(value);\n this.domNode.setAttribute('href', value);\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Link.__proto__ || Object.getPrototypeOf(Link), 'create', this).call(this, value);\n value = this.sanitize(value);\n node.setAttribute('href', value);\n node.setAttribute('rel', 'noopener noreferrer');\n node.setAttribute('target', '_blank');\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return domNode.getAttribute('href');\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return _sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;\n }\n }]);\n\n return Link;\n}(_inline2.default);\n\nLink.blotName = 'link';\nLink.tagName = 'A';\nLink.SANITIZED_URL = 'about:blank';\nLink.PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel'];\n\nfunction _sanitize(url, protocols) {\n var anchor = document.createElement('a');\n anchor.href = url;\n var protocol = anchor.href.slice(0, anchor.href.indexOf(':'));\n return protocols.indexOf(protocol) > -1;\n}\n\nexports.default = Link;\nexports.sanitize = _sanitize;\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _dropdown = __webpack_require__(107);\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar optionsCounter = 0;\n\nfunction toggleAriaAttribute(element, attribute) {\n element.setAttribute(attribute, !(element.getAttribute(attribute) === 'true'));\n}\n\nvar Picker = function () {\n function Picker(select) {\n var _this = this;\n\n _classCallCheck(this, Picker);\n\n this.select = select;\n this.container = document.createElement('span');\n this.buildPicker();\n this.select.style.display = 'none';\n this.select.parentNode.insertBefore(this.container, this.select);\n\n this.label.addEventListener('mousedown', function () {\n _this.togglePicker();\n });\n this.label.addEventListener('keydown', function (event) {\n switch (event.keyCode) {\n // Allows the \"Enter\" key to open the picker\n case _keyboard2.default.keys.ENTER:\n _this.togglePicker();\n break;\n\n // Allows the \"Escape\" key to close the picker\n case _keyboard2.default.keys.ESCAPE:\n _this.escape();\n event.preventDefault();\n break;\n default:\n }\n });\n this.select.addEventListener('change', this.update.bind(this));\n }\n\n _createClass(Picker, [{\n key: 'togglePicker',\n value: function togglePicker() {\n this.container.classList.toggle('ql-expanded');\n // Toggle aria-expanded and aria-hidden to make the picker accessible\n toggleAriaAttribute(this.label, 'aria-expanded');\n toggleAriaAttribute(this.options, 'aria-hidden');\n }\n }, {\n key: 'buildItem',\n value: function buildItem(option) {\n var _this2 = this;\n\n var item = document.createElement('span');\n item.tabIndex = '0';\n item.setAttribute('role', 'button');\n\n item.classList.add('ql-picker-item');\n if (option.hasAttribute('value')) {\n item.setAttribute('data-value', option.getAttribute('value'));\n }\n if (option.textContent) {\n item.setAttribute('data-label', option.textContent);\n }\n item.addEventListener('click', function () {\n _this2.selectItem(item, true);\n });\n item.addEventListener('keydown', function (event) {\n switch (event.keyCode) {\n // Allows the \"Enter\" key to select an item\n case _keyboard2.default.keys.ENTER:\n _this2.selectItem(item, true);\n event.preventDefault();\n break;\n\n // Allows the \"Escape\" key to close the picker\n case _keyboard2.default.keys.ESCAPE:\n _this2.escape();\n event.preventDefault();\n break;\n default:\n }\n });\n\n return item;\n }\n }, {\n key: 'buildLabel',\n value: function buildLabel() {\n var label = document.createElement('span');\n label.classList.add('ql-picker-label');\n label.innerHTML = _dropdown2.default;\n label.tabIndex = '0';\n label.setAttribute('role', 'button');\n label.setAttribute('aria-expanded', 'false');\n this.container.appendChild(label);\n return label;\n }\n }, {\n key: 'buildOptions',\n value: function buildOptions() {\n var _this3 = this;\n\n var options = document.createElement('span');\n options.classList.add('ql-picker-options');\n\n // Don't want screen readers to read this until options are visible\n options.setAttribute('aria-hidden', 'true');\n options.tabIndex = '-1';\n\n // Need a unique id for aria-controls\n options.id = 'ql-picker-options-' + optionsCounter;\n optionsCounter += 1;\n this.label.setAttribute('aria-controls', options.id);\n\n this.options = options;\n\n [].slice.call(this.select.options).forEach(function (option) {\n var item = _this3.buildItem(option);\n options.appendChild(item);\n if (option.selected === true) {\n _this3.selectItem(item);\n }\n });\n this.container.appendChild(options);\n }\n }, {\n key: 'buildPicker',\n value: function buildPicker() {\n var _this4 = this;\n\n [].slice.call(this.select.attributes).forEach(function (item) {\n _this4.container.setAttribute(item.name, item.value);\n });\n this.container.classList.add('ql-picker');\n this.label = this.buildLabel();\n this.buildOptions();\n }\n }, {\n key: 'escape',\n value: function escape() {\n var _this5 = this;\n\n // Close menu and return focus to trigger label\n this.close();\n // Need setTimeout for accessibility to ensure that the browser executes\n // focus on the next process thread and after any DOM content changes\n setTimeout(function () {\n return _this5.label.focus();\n }, 1);\n }\n }, {\n key: 'close',\n value: function close() {\n this.container.classList.remove('ql-expanded');\n this.label.setAttribute('aria-expanded', 'false');\n this.options.setAttribute('aria-hidden', 'true');\n }\n }, {\n key: 'selectItem',\n value: function selectItem(item) {\n var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var selected = this.container.querySelector('.ql-selected');\n if (item === selected) return;\n if (selected != null) {\n selected.classList.remove('ql-selected');\n }\n if (item == null) return;\n item.classList.add('ql-selected');\n this.select.selectedIndex = [].indexOf.call(item.parentNode.children, item);\n if (item.hasAttribute('data-value')) {\n this.label.setAttribute('data-value', item.getAttribute('data-value'));\n } else {\n this.label.removeAttribute('data-value');\n }\n if (item.hasAttribute('data-label')) {\n this.label.setAttribute('data-label', item.getAttribute('data-label'));\n } else {\n this.label.removeAttribute('data-label');\n }\n if (trigger) {\n if (typeof Event === 'function') {\n this.select.dispatchEvent(new Event('change'));\n } else if ((typeof Event === 'undefined' ? 'undefined' : _typeof(Event)) === 'object') {\n // IE11\n var event = document.createEvent('Event');\n event.initEvent('change', true, true);\n this.select.dispatchEvent(event);\n }\n this.close();\n }\n }\n }, {\n key: 'update',\n value: function update() {\n var option = void 0;\n if (this.select.selectedIndex > -1) {\n var item = this.container.querySelector('.ql-picker-options').children[this.select.selectedIndex];\n option = this.select.options[this.select.selectedIndex];\n this.selectItem(item);\n } else {\n this.selectItem(null);\n }\n var isActive = option != null && option !== this.select.querySelector('option[selected]');\n this.label.classList.toggle('ql-active', isActive);\n }\n }]);\n\n return Picker;\n}();\n\nexports.default = Picker;\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _embed = __webpack_require__(35);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _scroll = __webpack_require__(22);\n\nvar _scroll2 = _interopRequireDefault(_scroll);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _clipboard = __webpack_require__(55);\n\nvar _clipboard2 = _interopRequireDefault(_clipboard);\n\nvar _history = __webpack_require__(42);\n\nvar _history2 = _interopRequireDefault(_history);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_quill2.default.register({\n 'blots/block': _block2.default,\n 'blots/block/embed': _block.BlockEmbed,\n 'blots/break': _break2.default,\n 'blots/container': _container2.default,\n 'blots/cursor': _cursor2.default,\n 'blots/embed': _embed2.default,\n 'blots/inline': _inline2.default,\n 'blots/scroll': _scroll2.default,\n 'blots/text': _text2.default,\n\n 'modules/clipboard': _clipboard2.default,\n 'modules/history': _history2.default,\n 'modules/keyboard': _keyboard2.default\n});\n\n_parchment2.default.register(_block2.default, _break2.default, _cursor2.default, _inline2.default, _scroll2.default, _text2.default);\n\nexports.default = _quill2.default;\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar ShadowBlot = /** @class */ (function () {\n function ShadowBlot(domNode) {\n this.domNode = domNode;\n // @ts-ignore\n this.domNode[Registry.DATA_KEY] = { blot: this };\n }\n Object.defineProperty(ShadowBlot.prototype, \"statics\", {\n // Hack for accessing inherited static methods\n get: function () {\n return this.constructor;\n },\n enumerable: true,\n configurable: true\n });\n ShadowBlot.create = function (value) {\n if (this.tagName == null) {\n throw new Registry.ParchmentError('Blot definition missing tagName');\n }\n var node;\n if (Array.isArray(this.tagName)) {\n if (typeof value === 'string') {\n value = value.toUpperCase();\n if (parseInt(value).toString() === value) {\n value = parseInt(value);\n }\n }\n if (typeof value === 'number') {\n node = document.createElement(this.tagName[value - 1]);\n }\n else if (this.tagName.indexOf(value) > -1) {\n node = document.createElement(value);\n }\n else {\n node = document.createElement(this.tagName[0]);\n }\n }\n else {\n node = document.createElement(this.tagName);\n }\n if (this.className) {\n node.classList.add(this.className);\n }\n return node;\n };\n ShadowBlot.prototype.attach = function () {\n if (this.parent != null) {\n this.scroll = this.parent.scroll;\n }\n };\n ShadowBlot.prototype.clone = function () {\n var domNode = this.domNode.cloneNode(false);\n return Registry.create(domNode);\n };\n ShadowBlot.prototype.detach = function () {\n if (this.parent != null)\n this.parent.removeChild(this);\n // @ts-ignore\n delete this.domNode[Registry.DATA_KEY];\n };\n ShadowBlot.prototype.deleteAt = function (index, length) {\n var blot = this.isolate(index, length);\n blot.remove();\n };\n ShadowBlot.prototype.formatAt = function (index, length, name, value) {\n var blot = this.isolate(index, length);\n if (Registry.query(name, Registry.Scope.BLOT) != null && value) {\n blot.wrap(name, value);\n }\n else if (Registry.query(name, Registry.Scope.ATTRIBUTE) != null) {\n var parent = Registry.create(this.statics.scope);\n blot.wrap(parent);\n parent.format(name, value);\n }\n };\n ShadowBlot.prototype.insertAt = function (index, value, def) {\n var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n var ref = this.split(index);\n this.parent.insertBefore(blot, ref);\n };\n ShadowBlot.prototype.insertInto = function (parentBlot, refBlot) {\n if (refBlot === void 0) { refBlot = null; }\n if (this.parent != null) {\n this.parent.children.remove(this);\n }\n var refDomNode = null;\n parentBlot.children.insertBefore(this, refBlot);\n if (refBlot != null) {\n refDomNode = refBlot.domNode;\n }\n if (this.domNode.parentNode != parentBlot.domNode ||\n this.domNode.nextSibling != refDomNode) {\n parentBlot.domNode.insertBefore(this.domNode, refDomNode);\n }\n this.parent = parentBlot;\n this.attach();\n };\n ShadowBlot.prototype.isolate = function (index, length) {\n var target = this.split(index);\n target.split(length);\n return target;\n };\n ShadowBlot.prototype.length = function () {\n return 1;\n };\n ShadowBlot.prototype.offset = function (root) {\n if (root === void 0) { root = this.parent; }\n if (this.parent == null || this == root)\n return 0;\n return this.parent.children.offset(this) + this.parent.offset(root);\n };\n ShadowBlot.prototype.optimize = function (context) {\n // TODO clean up once we use WeakMap\n // @ts-ignore\n if (this.domNode[Registry.DATA_KEY] != null) {\n // @ts-ignore\n delete this.domNode[Registry.DATA_KEY].mutations;\n }\n };\n ShadowBlot.prototype.remove = function () {\n if (this.domNode.parentNode != null) {\n this.domNode.parentNode.removeChild(this.domNode);\n }\n this.detach();\n };\n ShadowBlot.prototype.replace = function (target) {\n if (target.parent == null)\n return;\n target.parent.insertBefore(this, target.next);\n target.remove();\n };\n ShadowBlot.prototype.replaceWith = function (name, value) {\n var replacement = typeof name === 'string' ? Registry.create(name, value) : name;\n replacement.replace(this);\n return replacement;\n };\n ShadowBlot.prototype.split = function (index, force) {\n return index === 0 ? this : this.next;\n };\n ShadowBlot.prototype.update = function (mutations, context) {\n // Nothing to do by default\n };\n ShadowBlot.prototype.wrap = function (name, value) {\n var wrapper = typeof name === 'string' ? Registry.create(name, value) : name;\n if (this.parent != null) {\n this.parent.insertBefore(wrapper, this.next);\n }\n wrapper.appendChild(this);\n return wrapper;\n };\n ShadowBlot.blotName = 'abstract';\n return ShadowBlot;\n}());\nexports.default = ShadowBlot;\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar class_1 = __webpack_require__(32);\nvar style_1 = __webpack_require__(33);\nvar Registry = __webpack_require__(1);\nvar AttributorStore = /** @class */ (function () {\n function AttributorStore(domNode) {\n this.attributes = {};\n this.domNode = domNode;\n this.build();\n }\n AttributorStore.prototype.attribute = function (attribute, value) {\n // verb\n if (value) {\n if (attribute.add(this.domNode, value)) {\n if (attribute.value(this.domNode) != null) {\n this.attributes[attribute.attrName] = attribute;\n }\n else {\n delete this.attributes[attribute.attrName];\n }\n }\n }\n else {\n attribute.remove(this.domNode);\n delete this.attributes[attribute.attrName];\n }\n };\n AttributorStore.prototype.build = function () {\n var _this = this;\n this.attributes = {};\n var attributes = attributor_1.default.keys(this.domNode);\n var classes = class_1.default.keys(this.domNode);\n var styles = style_1.default.keys(this.domNode);\n attributes\n .concat(classes)\n .concat(styles)\n .forEach(function (name) {\n var attr = Registry.query(name, Registry.Scope.ATTRIBUTE);\n if (attr instanceof attributor_1.default) {\n _this.attributes[attr.attrName] = attr;\n }\n });\n };\n AttributorStore.prototype.copy = function (target) {\n var _this = this;\n Object.keys(this.attributes).forEach(function (key) {\n var value = _this.attributes[key].value(_this.domNode);\n target.format(key, value);\n });\n };\n AttributorStore.prototype.move = function (target) {\n var _this = this;\n this.copy(target);\n Object.keys(this.attributes).forEach(function (key) {\n _this.attributes[key].remove(_this.domNode);\n });\n this.attributes = {};\n };\n AttributorStore.prototype.values = function () {\n var _this = this;\n return Object.keys(this.attributes).reduce(function (attributes, name) {\n attributes[name] = _this.attributes[name].value(_this.domNode);\n return attributes;\n }, {});\n };\n return AttributorStore;\n}());\nexports.default = AttributorStore;\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction match(node, prefix) {\n var className = node.getAttribute('class') || '';\n return className.split(/\\s+/).filter(function (name) {\n return name.indexOf(prefix + \"-\") === 0;\n });\n}\nvar ClassAttributor = /** @class */ (function (_super) {\n __extends(ClassAttributor, _super);\n function ClassAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ClassAttributor.keys = function (node) {\n return (node.getAttribute('class') || '').split(/\\s+/).map(function (name) {\n return name\n .split('-')\n .slice(0, -1)\n .join('-');\n });\n };\n ClassAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n this.remove(node);\n node.classList.add(this.keyName + \"-\" + value);\n return true;\n };\n ClassAttributor.prototype.remove = function (node) {\n var matches = match(node, this.keyName);\n matches.forEach(function (name) {\n node.classList.remove(name);\n });\n if (node.classList.length === 0) {\n node.removeAttribute('class');\n }\n };\n ClassAttributor.prototype.value = function (node) {\n var result = match(node, this.keyName)[0] || '';\n var value = result.slice(this.keyName.length + 1); // +1 for hyphen\n return this.canAdd(node, value) ? value : '';\n };\n return ClassAttributor;\n}(attributor_1.default));\nexports.default = ClassAttributor;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction camelize(name) {\n var parts = name.split('-');\n var rest = parts\n .slice(1)\n .map(function (part) {\n return part[0].toUpperCase() + part.slice(1);\n })\n .join('');\n return parts[0] + rest;\n}\nvar StyleAttributor = /** @class */ (function (_super) {\n __extends(StyleAttributor, _super);\n function StyleAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StyleAttributor.keys = function (node) {\n return (node.getAttribute('style') || '').split(';').map(function (value) {\n var arr = value.split(':');\n return arr[0].trim();\n });\n };\n StyleAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n // @ts-ignore\n node.style[camelize(this.keyName)] = value;\n return true;\n };\n StyleAttributor.prototype.remove = function (node) {\n // @ts-ignore\n node.style[camelize(this.keyName)] = '';\n if (!node.getAttribute('style')) {\n node.removeAttribute('style');\n }\n };\n StyleAttributor.prototype.value = function (node) {\n // @ts-ignore\n var value = node.style[camelize(this.keyName)];\n return this.canAdd(node, value) ? value : '';\n };\n return StyleAttributor;\n}(attributor_1.default));\nexports.default = StyleAttributor;\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Theme = function () {\n function Theme(quill, options) {\n _classCallCheck(this, Theme);\n\n this.quill = quill;\n this.options = options;\n this.modules = {};\n }\n\n _createClass(Theme, [{\n key: 'init',\n value: function init() {\n var _this = this;\n\n Object.keys(this.options.modules).forEach(function (name) {\n if (_this.modules[name] == null) {\n _this.addModule(name);\n }\n });\n }\n }, {\n key: 'addModule',\n value: function addModule(name) {\n var moduleClass = this.quill.constructor.import('modules/' + name);\n this.modules[name] = new moduleClass(this.quill, this.options.modules[name] || {});\n return this.modules[name];\n }\n }]);\n\n return Theme;\n}();\n\nTheme.DEFAULTS = {\n modules: {}\n};\nTheme.themes = {\n 'default': Theme\n};\n\nexports.default = Theme;\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar GUARD_TEXT = '\\uFEFF';\n\nvar Embed = function (_Parchment$Embed) {\n _inherits(Embed, _Parchment$Embed);\n\n function Embed(node) {\n _classCallCheck(this, Embed);\n\n var _this = _possibleConstructorReturn(this, (Embed.__proto__ || Object.getPrototypeOf(Embed)).call(this, node));\n\n _this.contentNode = document.createElement('span');\n _this.contentNode.setAttribute('contenteditable', false);\n [].slice.call(_this.domNode.childNodes).forEach(function (childNode) {\n _this.contentNode.appendChild(childNode);\n });\n _this.leftGuard = document.createTextNode(GUARD_TEXT);\n _this.rightGuard = document.createTextNode(GUARD_TEXT);\n _this.domNode.appendChild(_this.leftGuard);\n _this.domNode.appendChild(_this.contentNode);\n _this.domNode.appendChild(_this.rightGuard);\n return _this;\n }\n\n _createClass(Embed, [{\n key: 'index',\n value: function index(node, offset) {\n if (node === this.leftGuard) return 0;\n if (node === this.rightGuard) return 1;\n return _get(Embed.prototype.__proto__ || Object.getPrototypeOf(Embed.prototype), 'index', this).call(this, node, offset);\n }\n }, {\n key: 'restore',\n value: function restore(node) {\n var range = void 0,\n textNode = void 0;\n var text = node.data.split(GUARD_TEXT).join('');\n if (node === this.leftGuard) {\n if (this.prev instanceof _text2.default) {\n var prevLength = this.prev.length();\n this.prev.insertAt(prevLength, text);\n range = {\n startNode: this.prev.domNode,\n startOffset: prevLength + text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(_parchment2.default.create(textNode), this);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n } else if (node === this.rightGuard) {\n if (this.next instanceof _text2.default) {\n this.next.insertAt(0, text);\n range = {\n startNode: this.next.domNode,\n startOffset: text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(_parchment2.default.create(textNode), this.next);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n }\n node.data = GUARD_TEXT;\n return range;\n }\n }, {\n key: 'update',\n value: function update(mutations, context) {\n var _this2 = this;\n\n mutations.forEach(function (mutation) {\n if (mutation.type === 'characterData' && (mutation.target === _this2.leftGuard || mutation.target === _this2.rightGuard)) {\n var range = _this2.restore(mutation.target);\n if (range) context.range = range;\n }\n });\n }\n }]);\n\n return Embed;\n}(_parchment2.default.Embed);\n\nexports.default = Embed;\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AlignStyle = exports.AlignClass = exports.AlignAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: ['right', 'center', 'justify']\n};\n\nvar AlignAttribute = new _parchment2.default.Attributor.Attribute('align', 'align', config);\nvar AlignClass = new _parchment2.default.Attributor.Class('align', 'ql-align', config);\nvar AlignStyle = new _parchment2.default.Attributor.Style('align', 'text-align', config);\n\nexports.AlignAttribute = AlignAttribute;\nexports.AlignClass = AlignClass;\nexports.AlignStyle = AlignStyle;\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BackgroundStyle = exports.BackgroundClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _color = __webpack_require__(26);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BackgroundClass = new _parchment2.default.Attributor.Class('background', 'ql-bg', {\n scope: _parchment2.default.Scope.INLINE\n});\nvar BackgroundStyle = new _color.ColorAttributor('background', 'background-color', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nexports.BackgroundClass = BackgroundClass;\nexports.BackgroundStyle = BackgroundStyle;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DirectionStyle = exports.DirectionClass = exports.DirectionAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: ['rtl']\n};\n\nvar DirectionAttribute = new _parchment2.default.Attributor.Attribute('direction', 'dir', config);\nvar DirectionClass = new _parchment2.default.Attributor.Class('direction', 'ql-direction', config);\nvar DirectionStyle = new _parchment2.default.Attributor.Style('direction', 'direction', config);\n\nexports.DirectionAttribute = DirectionAttribute;\nexports.DirectionClass = DirectionClass;\nexports.DirectionStyle = DirectionStyle;\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontClass = exports.FontStyle = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar config = {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['serif', 'monospace']\n};\n\nvar FontClass = new _parchment2.default.Attributor.Class('font', 'ql-font', config);\n\nvar FontStyleAttributor = function (_Parchment$Attributor) {\n _inherits(FontStyleAttributor, _Parchment$Attributor);\n\n function FontStyleAttributor() {\n _classCallCheck(this, FontStyleAttributor);\n\n return _possibleConstructorReturn(this, (FontStyleAttributor.__proto__ || Object.getPrototypeOf(FontStyleAttributor)).apply(this, arguments));\n }\n\n _createClass(FontStyleAttributor, [{\n key: 'value',\n value: function value(node) {\n return _get(FontStyleAttributor.prototype.__proto__ || Object.getPrototypeOf(FontStyleAttributor.prototype), 'value', this).call(this, node).replace(/[\"']/g, '');\n }\n }]);\n\n return FontStyleAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar FontStyle = new FontStyleAttributor('font', 'font-family', config);\n\nexports.FontStyle = FontStyle;\nexports.FontClass = FontClass;\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SizeStyle = exports.SizeClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SizeClass = new _parchment2.default.Attributor.Class('size', 'ql-size', {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['small', 'large', 'huge']\n});\nvar SizeStyle = new _parchment2.default.Attributor.Style('size', 'font-size', {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['10px', '18px', '32px']\n});\n\nexports.SizeClass = SizeClass;\nexports.SizeStyle = SizeStyle;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n 'align': {\n '': __webpack_require__(76),\n 'center': __webpack_require__(77),\n 'right': __webpack_require__(78),\n 'justify': __webpack_require__(79)\n },\n 'background': __webpack_require__(80),\n 'blockquote': __webpack_require__(81),\n 'bold': __webpack_require__(82),\n 'clean': __webpack_require__(83),\n 'code': __webpack_require__(58),\n 'code-block': __webpack_require__(58),\n 'color': __webpack_require__(84),\n 'direction': {\n '': __webpack_require__(85),\n 'rtl': __webpack_require__(86)\n },\n 'float': {\n 'center': __webpack_require__(87),\n 'full': __webpack_require__(88),\n 'left': __webpack_require__(89),\n 'right': __webpack_require__(90)\n },\n 'formula': __webpack_require__(91),\n 'header': {\n '1': __webpack_require__(92),\n '2': __webpack_require__(93)\n },\n 'italic': __webpack_require__(94),\n 'image': __webpack_require__(95),\n 'indent': {\n '+1': __webpack_require__(96),\n '-1': __webpack_require__(97)\n },\n 'link': __webpack_require__(98),\n 'list': {\n 'ordered': __webpack_require__(99),\n 'bullet': __webpack_require__(100),\n 'check': __webpack_require__(101)\n },\n 'script': {\n 'sub': __webpack_require__(102),\n 'super': __webpack_require__(103)\n },\n 'strike': __webpack_require__(104),\n 'underline': __webpack_require__(105),\n 'video': __webpack_require__(106)\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLastChangeIndex = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar History = function (_Module) {\n _inherits(History, _Module);\n\n function History(quill, options) {\n _classCallCheck(this, History);\n\n var _this = _possibleConstructorReturn(this, (History.__proto__ || Object.getPrototypeOf(History)).call(this, quill, options));\n\n _this.lastRecorded = 0;\n _this.ignoreChange = false;\n _this.clear();\n _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (eventName, delta, oldDelta, source) {\n if (eventName !== _quill2.default.events.TEXT_CHANGE || _this.ignoreChange) return;\n if (!_this.options.userOnly || source === _quill2.default.sources.USER) {\n _this.record(delta, oldDelta);\n } else {\n _this.transform(delta);\n }\n });\n _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true }, _this.undo.bind(_this));\n _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true, shiftKey: true }, _this.redo.bind(_this));\n if (/Win/i.test(navigator.platform)) {\n _this.quill.keyboard.addBinding({ key: 'Y', shortKey: true }, _this.redo.bind(_this));\n }\n return _this;\n }\n\n _createClass(History, [{\n key: 'change',\n value: function change(source, dest) {\n if (this.stack[source].length === 0) return;\n var delta = this.stack[source].pop();\n this.stack[dest].push(delta);\n this.lastRecorded = 0;\n this.ignoreChange = true;\n this.quill.updateContents(delta[source], _quill2.default.sources.USER);\n this.ignoreChange = false;\n var index = getLastChangeIndex(delta[source]);\n this.quill.setSelection(index);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.stack = { undo: [], redo: [] };\n }\n }, {\n key: 'cutoff',\n value: function cutoff() {\n this.lastRecorded = 0;\n }\n }, {\n key: 'record',\n value: function record(changeDelta, oldDelta) {\n if (changeDelta.ops.length === 0) return;\n this.stack.redo = [];\n var undoDelta = this.quill.getContents().diff(oldDelta);\n var timestamp = Date.now();\n if (this.lastRecorded + this.options.delay > timestamp && this.stack.undo.length > 0) {\n var delta = this.stack.undo.pop();\n undoDelta = undoDelta.compose(delta.undo);\n changeDelta = delta.redo.compose(changeDelta);\n } else {\n this.lastRecorded = timestamp;\n }\n this.stack.undo.push({\n redo: changeDelta,\n undo: undoDelta\n });\n if (this.stack.undo.length > this.options.maxStack) {\n this.stack.undo.shift();\n }\n }\n }, {\n key: 'redo',\n value: function redo() {\n this.change('redo', 'undo');\n }\n }, {\n key: 'transform',\n value: function transform(delta) {\n this.stack.undo.forEach(function (change) {\n change.undo = delta.transform(change.undo, true);\n change.redo = delta.transform(change.redo, true);\n });\n this.stack.redo.forEach(function (change) {\n change.undo = delta.transform(change.undo, true);\n change.redo = delta.transform(change.redo, true);\n });\n }\n }, {\n key: 'undo',\n value: function undo() {\n this.change('undo', 'redo');\n }\n }]);\n\n return History;\n}(_module2.default);\n\nHistory.DEFAULTS = {\n delay: 1000,\n maxStack: 100,\n userOnly: false\n};\n\nfunction endsWithNewlineChange(delta) {\n var lastOp = delta.ops[delta.ops.length - 1];\n if (lastOp == null) return false;\n if (lastOp.insert != null) {\n return typeof lastOp.insert === 'string' && lastOp.insert.endsWith('\\n');\n }\n if (lastOp.attributes != null) {\n return Object.keys(lastOp.attributes).some(function (attr) {\n return _parchment2.default.query(attr, _parchment2.default.Scope.BLOCK) != null;\n });\n }\n return false;\n}\n\nfunction getLastChangeIndex(delta) {\n var deleteLength = delta.reduce(function (length, op) {\n length += op.delete || 0;\n return length;\n }, 0);\n var changeIndex = delta.length() - deleteLength;\n if (endsWithNewlineChange(delta)) {\n changeIndex -= 1;\n }\n return changeIndex;\n}\n\nexports.default = History;\nexports.getLastChangeIndex = getLastChangeIndex;\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BaseTooltip = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _theme = __webpack_require__(34);\n\nvar _theme2 = _interopRequireDefault(_theme);\n\nvar _colorPicker = __webpack_require__(59);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(60);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _tooltip = __webpack_require__(61);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ALIGNS = [false, 'center', 'right', 'justify'];\n\nvar COLORS = [\"#000000\", \"#e60000\", \"#ff9900\", \"#ffff00\", \"#008a00\", \"#0066cc\", \"#9933ff\", \"#ffffff\", \"#facccc\", \"#ffebcc\", \"#ffffcc\", \"#cce8cc\", \"#cce0f5\", \"#ebd6ff\", \"#bbbbbb\", \"#f06666\", \"#ffc266\", \"#ffff66\", \"#66b966\", \"#66a3e0\", \"#c285ff\", \"#888888\", \"#a10000\", \"#b26b00\", \"#b2b200\", \"#006100\", \"#0047b2\", \"#6b24b2\", \"#444444\", \"#5c0000\", \"#663d00\", \"#666600\", \"#003700\", \"#002966\", \"#3d1466\"];\n\nvar FONTS = [false, 'serif', 'monospace'];\n\nvar HEADERS = ['1', '2', '3', false];\n\nvar SIZES = ['small', false, 'large', 'huge'];\n\nvar BaseTheme = function (_Theme) {\n _inherits(BaseTheme, _Theme);\n\n function BaseTheme(quill, options) {\n _classCallCheck(this, BaseTheme);\n\n var _this = _possibleConstructorReturn(this, (BaseTheme.__proto__ || Object.getPrototypeOf(BaseTheme)).call(this, quill, options));\n\n var listener = function listener(e) {\n if (!document.body.contains(quill.root)) {\n return document.body.removeEventListener('click', listener);\n }\n if (_this.tooltip != null && !_this.tooltip.root.contains(e.target) && document.activeElement !== _this.tooltip.textbox && !_this.quill.hasFocus()) {\n _this.tooltip.hide();\n }\n if (_this.pickers != null) {\n _this.pickers.forEach(function (picker) {\n if (!picker.container.contains(e.target)) {\n picker.close();\n }\n });\n }\n };\n quill.emitter.listenDOM('click', document.body, listener);\n return _this;\n }\n\n _createClass(BaseTheme, [{\n key: 'addModule',\n value: function addModule(name) {\n var module = _get(BaseTheme.prototype.__proto__ || Object.getPrototypeOf(BaseTheme.prototype), 'addModule', this).call(this, name);\n if (name === 'toolbar') {\n this.extendToolbar(module);\n }\n return module;\n }\n }, {\n key: 'buildButtons',\n value: function buildButtons(buttons, icons) {\n buttons.forEach(function (button) {\n var className = button.getAttribute('class') || '';\n className.split(/\\s+/).forEach(function (name) {\n if (!name.startsWith('ql-')) return;\n name = name.slice('ql-'.length);\n if (icons[name] == null) return;\n if (name === 'direction') {\n button.innerHTML = icons[name][''] + icons[name]['rtl'];\n } else if (typeof icons[name] === 'string') {\n button.innerHTML = icons[name];\n } else {\n var value = button.value || '';\n if (value != null && icons[name][value]) {\n button.innerHTML = icons[name][value];\n }\n }\n });\n });\n }\n }, {\n key: 'buildPickers',\n value: function buildPickers(selects, icons) {\n var _this2 = this;\n\n this.pickers = selects.map(function (select) {\n if (select.classList.contains('ql-align')) {\n if (select.querySelector('option') == null) {\n fillSelect(select, ALIGNS);\n }\n return new _iconPicker2.default(select, icons.align);\n } else if (select.classList.contains('ql-background') || select.classList.contains('ql-color')) {\n var format = select.classList.contains('ql-background') ? 'background' : 'color';\n if (select.querySelector('option') == null) {\n fillSelect(select, COLORS, format === 'background' ? '#ffffff' : '#000000');\n }\n return new _colorPicker2.default(select, icons[format]);\n } else {\n if (select.querySelector('option') == null) {\n if (select.classList.contains('ql-font')) {\n fillSelect(select, FONTS);\n } else if (select.classList.contains('ql-header')) {\n fillSelect(select, HEADERS);\n } else if (select.classList.contains('ql-size')) {\n fillSelect(select, SIZES);\n }\n }\n return new _picker2.default(select);\n }\n });\n var update = function update() {\n _this2.pickers.forEach(function (picker) {\n picker.update();\n });\n };\n this.quill.on(_emitter2.default.events.EDITOR_CHANGE, update);\n }\n }]);\n\n return BaseTheme;\n}(_theme2.default);\n\nBaseTheme.DEFAULTS = (0, _extend2.default)(true, {}, _theme2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n formula: function formula() {\n this.quill.theme.tooltip.edit('formula');\n },\n image: function image() {\n var _this3 = this;\n\n var fileInput = this.container.querySelector('input.ql-image[type=file]');\n if (fileInput == null) {\n fileInput = document.createElement('input');\n fileInput.setAttribute('type', 'file');\n fileInput.setAttribute('accept', 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon');\n fileInput.classList.add('ql-image');\n fileInput.addEventListener('change', function () {\n if (fileInput.files != null && fileInput.files[0] != null) {\n var reader = new FileReader();\n reader.onload = function (e) {\n var range = _this3.quill.getSelection(true);\n _this3.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert({ image: e.target.result }), _emitter2.default.sources.USER);\n _this3.quill.setSelection(range.index + 1, _emitter2.default.sources.SILENT);\n fileInput.value = \"\";\n };\n reader.readAsDataURL(fileInput.files[0]);\n }\n });\n this.container.appendChild(fileInput);\n }\n fileInput.click();\n },\n video: function video() {\n this.quill.theme.tooltip.edit('video');\n }\n }\n }\n }\n});\n\nvar BaseTooltip = function (_Tooltip) {\n _inherits(BaseTooltip, _Tooltip);\n\n function BaseTooltip(quill, boundsContainer) {\n _classCallCheck(this, BaseTooltip);\n\n var _this4 = _possibleConstructorReturn(this, (BaseTooltip.__proto__ || Object.getPrototypeOf(BaseTooltip)).call(this, quill, boundsContainer));\n\n _this4.textbox = _this4.root.querySelector('input[type=\"text\"]');\n _this4.listen();\n return _this4;\n }\n\n _createClass(BaseTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this5 = this;\n\n this.textbox.addEventListener('keydown', function (event) {\n if (_keyboard2.default.match(event, 'enter')) {\n _this5.save();\n event.preventDefault();\n } else if (_keyboard2.default.match(event, 'escape')) {\n _this5.cancel();\n event.preventDefault();\n }\n });\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n this.hide();\n }\n }, {\n key: 'edit',\n value: function edit() {\n var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'link';\n var preview = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n this.root.classList.remove('ql-hidden');\n this.root.classList.add('ql-editing');\n if (preview != null) {\n this.textbox.value = preview;\n } else if (mode !== this.root.getAttribute('data-mode')) {\n this.textbox.value = '';\n }\n this.position(this.quill.getBounds(this.quill.selection.savedRange));\n this.textbox.select();\n this.textbox.setAttribute('placeholder', this.textbox.getAttribute('data-' + mode) || '');\n this.root.setAttribute('data-mode', mode);\n }\n }, {\n key: 'restoreFocus',\n value: function restoreFocus() {\n var scrollTop = this.quill.scrollingContainer.scrollTop;\n this.quill.focus();\n this.quill.scrollingContainer.scrollTop = scrollTop;\n }\n }, {\n key: 'save',\n value: function save() {\n var value = this.textbox.value;\n switch (this.root.getAttribute('data-mode')) {\n case 'link':\n {\n var scrollTop = this.quill.root.scrollTop;\n if (this.linkRange) {\n this.quill.formatText(this.linkRange, 'link', value, _emitter2.default.sources.USER);\n delete this.linkRange;\n } else {\n this.restoreFocus();\n this.quill.format('link', value, _emitter2.default.sources.USER);\n }\n this.quill.root.scrollTop = scrollTop;\n break;\n }\n case 'video':\n {\n value = extractVideoUrl(value);\n } // eslint-disable-next-line no-fallthrough\n case 'formula':\n {\n if (!value) break;\n var range = this.quill.getSelection(true);\n if (range != null) {\n var index = range.index + range.length;\n this.quill.insertEmbed(index, this.root.getAttribute('data-mode'), value, _emitter2.default.sources.USER);\n if (this.root.getAttribute('data-mode') === 'formula') {\n this.quill.insertText(index + 1, ' ', _emitter2.default.sources.USER);\n }\n this.quill.setSelection(index + 2, _emitter2.default.sources.USER);\n }\n break;\n }\n default:\n }\n this.textbox.value = '';\n this.hide();\n }\n }]);\n\n return BaseTooltip;\n}(_tooltip2.default);\n\nfunction extractVideoUrl(url) {\n var match = url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtube\\.com\\/watch.*v=([a-zA-Z0-9_-]+)/) || url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtu\\.be\\/([a-zA-Z0-9_-]+)/);\n if (match) {\n return (match[1] || 'https') + '://www.youtube.com/embed/' + match[2] + '?showinfo=0';\n }\n if (match = url.match(/^(?:(https?):\\/\\/)?(?:www\\.)?vimeo\\.com\\/(\\d+)/)) {\n // eslint-disable-line no-cond-assign\n return (match[1] || 'https') + '://player.vimeo.com/video/' + match[2] + '/';\n }\n return url;\n}\n\nfunction fillSelect(select, values) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n values.forEach(function (value) {\n var option = document.createElement('option');\n if (value === defaultValue) {\n option.setAttribute('selected', 'selected');\n } else {\n option.setAttribute('value', value);\n }\n select.appendChild(option);\n });\n}\n\nexports.BaseTooltip = BaseTooltip;\nexports.default = BaseTheme;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar LinkedList = /** @class */ (function () {\n function LinkedList() {\n this.head = this.tail = null;\n this.length = 0;\n }\n LinkedList.prototype.append = function () {\n var nodes = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n nodes[_i] = arguments[_i];\n }\n this.insertBefore(nodes[0], null);\n if (nodes.length > 1) {\n this.append.apply(this, nodes.slice(1));\n }\n };\n LinkedList.prototype.contains = function (node) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n if (cur === node)\n return true;\n }\n return false;\n };\n LinkedList.prototype.insertBefore = function (node, refNode) {\n if (!node)\n return;\n node.next = refNode;\n if (refNode != null) {\n node.prev = refNode.prev;\n if (refNode.prev != null) {\n refNode.prev.next = node;\n }\n refNode.prev = node;\n if (refNode === this.head) {\n this.head = node;\n }\n }\n else if (this.tail != null) {\n this.tail.next = node;\n node.prev = this.tail;\n this.tail = node;\n }\n else {\n node.prev = null;\n this.head = this.tail = node;\n }\n this.length += 1;\n };\n LinkedList.prototype.offset = function (target) {\n var index = 0, cur = this.head;\n while (cur != null) {\n if (cur === target)\n return index;\n index += cur.length();\n cur = cur.next;\n }\n return -1;\n };\n LinkedList.prototype.remove = function (node) {\n if (!this.contains(node))\n return;\n if (node.prev != null)\n node.prev.next = node.next;\n if (node.next != null)\n node.next.prev = node.prev;\n if (node === this.head)\n this.head = node.next;\n if (node === this.tail)\n this.tail = node.prev;\n this.length -= 1;\n };\n LinkedList.prototype.iterator = function (curNode) {\n if (curNode === void 0) { curNode = this.head; }\n // TODO use yield when we can\n return function () {\n var ret = curNode;\n if (curNode != null)\n curNode = curNode.next;\n return ret;\n };\n };\n LinkedList.prototype.find = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n var cur, next = this.iterator();\n while ((cur = next())) {\n var length = cur.length();\n if (index < length ||\n (inclusive && index === length && (cur.next == null || cur.next.length() !== 0))) {\n return [cur, index];\n }\n index -= length;\n }\n return [null, 0];\n };\n LinkedList.prototype.forEach = function (callback) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n callback(cur);\n }\n };\n LinkedList.prototype.forEachAt = function (index, length, callback) {\n if (length <= 0)\n return;\n var _a = this.find(index), startNode = _a[0], offset = _a[1];\n var cur, curIndex = index - offset, next = this.iterator(startNode);\n while ((cur = next()) && curIndex < index + length) {\n var curLength = cur.length();\n if (index > curIndex) {\n callback(cur, index - curIndex, Math.min(length, curIndex + curLength - index));\n }\n else {\n callback(cur, 0, Math.min(curLength, index + length - curIndex));\n }\n curIndex += curLength;\n }\n };\n LinkedList.prototype.map = function (callback) {\n return this.reduce(function (memo, cur) {\n memo.push(callback(cur));\n return memo;\n }, []);\n };\n LinkedList.prototype.reduce = function (callback, memo) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n memo = callback(memo, cur);\n }\n return memo;\n };\n return LinkedList;\n}());\nexports.default = LinkedList;\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar OBSERVER_CONFIG = {\n attributes: true,\n characterData: true,\n characterDataOldValue: true,\n childList: true,\n subtree: true,\n};\nvar MAX_OPTIMIZE_ITERATIONS = 100;\nvar ScrollBlot = /** @class */ (function (_super) {\n __extends(ScrollBlot, _super);\n function ScrollBlot(node) {\n var _this = _super.call(this, node) || this;\n _this.scroll = _this;\n _this.observer = new MutationObserver(function (mutations) {\n _this.update(mutations);\n });\n _this.observer.observe(_this.domNode, OBSERVER_CONFIG);\n _this.attach();\n return _this;\n }\n ScrollBlot.prototype.detach = function () {\n _super.prototype.detach.call(this);\n this.observer.disconnect();\n };\n ScrollBlot.prototype.deleteAt = function (index, length) {\n this.update();\n if (index === 0 && length === this.length()) {\n this.children.forEach(function (child) {\n child.remove();\n });\n }\n else {\n _super.prototype.deleteAt.call(this, index, length);\n }\n };\n ScrollBlot.prototype.formatAt = function (index, length, name, value) {\n this.update();\n _super.prototype.formatAt.call(this, index, length, name, value);\n };\n ScrollBlot.prototype.insertAt = function (index, value, def) {\n this.update();\n _super.prototype.insertAt.call(this, index, value, def);\n };\n ScrollBlot.prototype.optimize = function (mutations, context) {\n var _this = this;\n if (mutations === void 0) { mutations = []; }\n if (context === void 0) { context = {}; }\n _super.prototype.optimize.call(this, context);\n // We must modify mutations directly, cannot make copy and then modify\n var records = [].slice.call(this.observer.takeRecords());\n // Array.push currently seems to be implemented by a non-tail recursive function\n // so we cannot just mutations.push.apply(mutations, this.observer.takeRecords());\n while (records.length > 0)\n mutations.push(records.pop());\n // TODO use WeakMap\n var mark = function (blot, markParent) {\n if (markParent === void 0) { markParent = true; }\n if (blot == null || blot === _this)\n return;\n if (blot.domNode.parentNode == null)\n return;\n // @ts-ignore\n if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations = [];\n }\n if (markParent)\n mark(blot.parent);\n };\n var optimize = function (blot) {\n // Post-order traversal\n if (\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY] == null ||\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations == null) {\n return;\n }\n if (blot instanceof container_1.default) {\n blot.children.forEach(optimize);\n }\n blot.optimize(context);\n };\n var remaining = mutations;\n for (var i = 0; remaining.length > 0; i += 1) {\n if (i >= MAX_OPTIMIZE_ITERATIONS) {\n throw new Error('[Parchment] Maximum optimize iterations reached');\n }\n remaining.forEach(function (mutation) {\n var blot = Registry.find(mutation.target, true);\n if (blot == null)\n return;\n if (blot.domNode === mutation.target) {\n if (mutation.type === 'childList') {\n mark(Registry.find(mutation.previousSibling, false));\n [].forEach.call(mutation.addedNodes, function (node) {\n var child = Registry.find(node, false);\n mark(child, false);\n if (child instanceof container_1.default) {\n child.children.forEach(function (grandChild) {\n mark(grandChild, false);\n });\n }\n });\n }\n else if (mutation.type === 'attributes') {\n mark(blot.prev);\n }\n }\n mark(blot);\n });\n this.children.forEach(optimize);\n remaining = [].slice.call(this.observer.takeRecords());\n records = remaining.slice();\n while (records.length > 0)\n mutations.push(records.pop());\n }\n };\n ScrollBlot.prototype.update = function (mutations, context) {\n var _this = this;\n if (context === void 0) { context = {}; }\n mutations = mutations || this.observer.takeRecords();\n // TODO use WeakMap\n mutations\n .map(function (mutation) {\n var blot = Registry.find(mutation.target, true);\n if (blot == null)\n return null;\n // @ts-ignore\n if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations = [mutation];\n return blot;\n }\n else {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations.push(mutation);\n return null;\n }\n })\n .forEach(function (blot) {\n if (blot == null ||\n blot === _this ||\n //@ts-ignore\n blot.domNode[Registry.DATA_KEY] == null)\n return;\n // @ts-ignore\n blot.update(blot.domNode[Registry.DATA_KEY].mutations || [], context);\n });\n // @ts-ignore\n if (this.domNode[Registry.DATA_KEY].mutations != null) {\n // @ts-ignore\n _super.prototype.update.call(this, this.domNode[Registry.DATA_KEY].mutations, context);\n }\n this.optimize(mutations, context);\n };\n ScrollBlot.blotName = 'scroll';\n ScrollBlot.defaultChild = 'block';\n ScrollBlot.scope = Registry.Scope.BLOCK_BLOT;\n ScrollBlot.tagName = 'DIV';\n return ScrollBlot;\n}(container_1.default));\nexports.default = ScrollBlot;\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\n// Shallow object comparison\nfunction isEqual(obj1, obj2) {\n if (Object.keys(obj1).length !== Object.keys(obj2).length)\n return false;\n // @ts-ignore\n for (var prop in obj1) {\n // @ts-ignore\n if (obj1[prop] !== obj2[prop])\n return false;\n }\n return true;\n}\nvar InlineBlot = /** @class */ (function (_super) {\n __extends(InlineBlot, _super);\n function InlineBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n InlineBlot.formats = function (domNode) {\n if (domNode.tagName === InlineBlot.tagName)\n return undefined;\n return _super.formats.call(this, domNode);\n };\n InlineBlot.prototype.format = function (name, value) {\n var _this = this;\n if (name === this.statics.blotName && !value) {\n this.children.forEach(function (child) {\n if (!(child instanceof format_1.default)) {\n child = child.wrap(InlineBlot.blotName, true);\n }\n _this.attributes.copy(child);\n });\n this.unwrap();\n }\n else {\n _super.prototype.format.call(this, name, value);\n }\n };\n InlineBlot.prototype.formatAt = function (index, length, name, value) {\n if (this.formats()[name] != null || Registry.query(name, Registry.Scope.ATTRIBUTE)) {\n var blot = this.isolate(index, length);\n blot.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n InlineBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n var formats = this.formats();\n if (Object.keys(formats).length === 0) {\n return this.unwrap(); // unformatted span\n }\n var next = this.next;\n if (next instanceof InlineBlot && next.prev === this && isEqual(formats, next.formats())) {\n next.moveChildren(this);\n next.remove();\n }\n };\n InlineBlot.blotName = 'inline';\n InlineBlot.scope = Registry.Scope.INLINE_BLOT;\n InlineBlot.tagName = 'SPAN';\n return InlineBlot;\n}(format_1.default));\nexports.default = InlineBlot;\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\nvar BlockBlot = /** @class */ (function (_super) {\n __extends(BlockBlot, _super);\n function BlockBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BlockBlot.formats = function (domNode) {\n var tagName = Registry.query(BlockBlot.blotName).tagName;\n if (domNode.tagName === tagName)\n return undefined;\n return _super.formats.call(this, domNode);\n };\n BlockBlot.prototype.format = function (name, value) {\n if (Registry.query(name, Registry.Scope.BLOCK) == null) {\n return;\n }\n else if (name === this.statics.blotName && !value) {\n this.replaceWith(BlockBlot.blotName);\n }\n else {\n _super.prototype.format.call(this, name, value);\n }\n };\n BlockBlot.prototype.formatAt = function (index, length, name, value) {\n if (Registry.query(name, Registry.Scope.BLOCK) != null) {\n this.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n BlockBlot.prototype.insertAt = function (index, value, def) {\n if (def == null || Registry.query(value, Registry.Scope.INLINE) != null) {\n // Insert text or inline\n _super.prototype.insertAt.call(this, index, value, def);\n }\n else {\n var after = this.split(index);\n var blot = Registry.create(value, def);\n after.parent.insertBefore(blot, after);\n }\n };\n BlockBlot.prototype.update = function (mutations, context) {\n if (navigator.userAgent.match(/Trident/)) {\n this.build();\n }\n else {\n _super.prototype.update.call(this, mutations, context);\n }\n };\n BlockBlot.blotName = 'block';\n BlockBlot.scope = Registry.Scope.BLOCK_BLOT;\n BlockBlot.tagName = 'P';\n return BlockBlot;\n}(format_1.default));\nexports.default = BlockBlot;\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar EmbedBlot = /** @class */ (function (_super) {\n __extends(EmbedBlot, _super);\n function EmbedBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EmbedBlot.formats = function (domNode) {\n return undefined;\n };\n EmbedBlot.prototype.format = function (name, value) {\n // super.formatAt wraps, which is what we want in general,\n // but this allows subclasses to overwrite for formats\n // that just apply to particular embeds\n _super.prototype.formatAt.call(this, 0, this.length(), name, value);\n };\n EmbedBlot.prototype.formatAt = function (index, length, name, value) {\n if (index === 0 && length === this.length()) {\n this.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n EmbedBlot.prototype.formats = function () {\n return this.statics.formats(this.domNode);\n };\n return EmbedBlot;\n}(leaf_1.default));\nexports.default = EmbedBlot;\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar Registry = __webpack_require__(1);\nvar TextBlot = /** @class */ (function (_super) {\n __extends(TextBlot, _super);\n function TextBlot(node) {\n var _this = _super.call(this, node) || this;\n _this.text = _this.statics.value(_this.domNode);\n return _this;\n }\n TextBlot.create = function (value) {\n return document.createTextNode(value);\n };\n TextBlot.value = function (domNode) {\n var text = domNode.data;\n // @ts-ignore\n if (text['normalize'])\n text = text['normalize']();\n return text;\n };\n TextBlot.prototype.deleteAt = function (index, length) {\n this.domNode.data = this.text = this.text.slice(0, index) + this.text.slice(index + length);\n };\n TextBlot.prototype.index = function (node, offset) {\n if (this.domNode === node) {\n return offset;\n }\n return -1;\n };\n TextBlot.prototype.insertAt = function (index, value, def) {\n if (def == null) {\n this.text = this.text.slice(0, index) + value + this.text.slice(index);\n this.domNode.data = this.text;\n }\n else {\n _super.prototype.insertAt.call(this, index, value, def);\n }\n };\n TextBlot.prototype.length = function () {\n return this.text.length;\n };\n TextBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n this.text = this.statics.value(this.domNode);\n if (this.text.length === 0) {\n this.remove();\n }\n else if (this.next instanceof TextBlot && this.next.prev === this) {\n this.insertAt(this.length(), this.next.value());\n this.next.remove();\n }\n };\n TextBlot.prototype.position = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n return [this.domNode, index];\n };\n TextBlot.prototype.split = function (index, force) {\n if (force === void 0) { force = false; }\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n var after = Registry.create(this.domNode.splitText(index));\n this.parent.insertBefore(after, this.next);\n this.text = this.statics.value(this.domNode);\n return after;\n };\n TextBlot.prototype.update = function (mutations, context) {\n var _this = this;\n if (mutations.some(function (mutation) {\n return mutation.type === 'characterData' && mutation.target === _this.domNode;\n })) {\n this.text = this.statics.value(this.domNode);\n }\n };\n TextBlot.prototype.value = function () {\n return this.text;\n };\n TextBlot.blotName = 'text';\n TextBlot.scope = Registry.Scope.INLINE_BLOT;\n return TextBlot;\n}(leaf_1.default));\nexports.default = TextBlot;\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar elem = document.createElement('div');\nelem.classList.toggle('test-class', false);\nif (elem.classList.contains('test-class')) {\n var _toggle = DOMTokenList.prototype.toggle;\n DOMTokenList.prototype.toggle = function (token, force) {\n if (arguments.length > 1 && !this.contains(token) === !force) {\n return force;\n } else {\n return _toggle.call(this, token);\n }\n };\n}\n\nif (!String.prototype.startsWith) {\n String.prototype.startsWith = function (searchString, position) {\n position = position || 0;\n return this.substr(position, searchString.length) === searchString;\n };\n}\n\nif (!String.prototype.endsWith) {\n String.prototype.endsWith = function (searchString, position) {\n var subjectString = this.toString();\n if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n position = subjectString.length;\n }\n position -= searchString.length;\n var lastIndex = subjectString.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n };\n}\n\nif (!Array.prototype.find) {\n Object.defineProperty(Array.prototype, \"find\", {\n value: function value(predicate) {\n if (this === null) {\n throw new TypeError('Array.prototype.find called on null or undefined');\n }\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n var list = Object(this);\n var length = list.length >>> 0;\n var thisArg = arguments[1];\n var value;\n\n for (var i = 0; i < length; i++) {\n value = list[i];\n if (predicate.call(thisArg, value, i, list)) {\n return value;\n }\n }\n return undefined;\n }\n });\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n // Disable resizing in Firefox\n document.execCommand(\"enableObjectResizing\", false, false);\n // Disable automatic linkifying in IE11\n document.execCommand(\"autoUrlDetect\", false, false);\n});\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\n/**\n * This library modifies the diff-patch-match library by Neil Fraser\n * by removing the patch and match functionality and certain advanced\n * options in the diff function. The original license is as follows:\n *\n * ===\n *\n * Diff Match and Patch\n *\n * Copyright 2006 Google Inc.\n * http://code.google.com/p/google-diff-match-patch/\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\n\n/**\n * Find the differences between two texts. Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {Int} cursor_pos Expected edit position in text1 (optional)\n * @return {Array} Array of diff tuples.\n */\nfunction diff_main(text1, text2, cursor_pos) {\n // Check for equality (speedup).\n if (text1 == text2) {\n if (text1) {\n return [[DIFF_EQUAL, text1]];\n }\n return [];\n }\n\n // Check cursor_pos within bounds\n if (cursor_pos < 0 || text1.length < cursor_pos) {\n cursor_pos = null;\n }\n\n // Trim off common prefix (speedup).\n var commonlength = diff_commonPrefix(text1, text2);\n var commonprefix = text1.substring(0, commonlength);\n text1 = text1.substring(commonlength);\n text2 = text2.substring(commonlength);\n\n // Trim off common suffix (speedup).\n commonlength = diff_commonSuffix(text1, text2);\n var commonsuffix = text1.substring(text1.length - commonlength);\n text1 = text1.substring(0, text1.length - commonlength);\n text2 = text2.substring(0, text2.length - commonlength);\n\n // Compute the diff on the middle block.\n var diffs = diff_compute_(text1, text2);\n\n // Restore the prefix and suffix.\n if (commonprefix) {\n diffs.unshift([DIFF_EQUAL, commonprefix]);\n }\n if (commonsuffix) {\n diffs.push([DIFF_EQUAL, commonsuffix]);\n }\n diff_cleanupMerge(diffs);\n if (cursor_pos != null) {\n diffs = fix_cursor(diffs, cursor_pos);\n }\n diffs = fix_emoji(diffs);\n return diffs;\n};\n\n\n/**\n * Find the differences between two texts. Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_compute_(text1, text2) {\n var diffs;\n\n if (!text1) {\n // Just add some text (speedup).\n return [[DIFF_INSERT, text2]];\n }\n\n if (!text2) {\n // Just delete some text (speedup).\n return [[DIFF_DELETE, text1]];\n }\n\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n var i = longtext.indexOf(shorttext);\n if (i != -1) {\n // Shorter text is inside the longer text (speedup).\n diffs = [[DIFF_INSERT, longtext.substring(0, i)],\n [DIFF_EQUAL, shorttext],\n [DIFF_INSERT, longtext.substring(i + shorttext.length)]];\n // Swap insertions for deletions if diff is reversed.\n if (text1.length > text2.length) {\n diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n }\n return diffs;\n }\n\n if (shorttext.length == 1) {\n // Single character string.\n // After the previous speedup, the character can't be an equality.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n }\n\n // Check to see if the problem can be split in two.\n var hm = diff_halfMatch_(text1, text2);\n if (hm) {\n // A half-match was found, sort out the return data.\n var text1_a = hm[0];\n var text1_b = hm[1];\n var text2_a = hm[2];\n var text2_b = hm[3];\n var mid_common = hm[4];\n // Send both pairs off for separate processing.\n var diffs_a = diff_main(text1_a, text2_a);\n var diffs_b = diff_main(text1_b, text2_b);\n // Merge the results.\n return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\n }\n\n return diff_bisect_(text1, text2);\n};\n\n\n/**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n * @private\n */\nfunction diff_bisect_(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n var max_d = Math.ceil((text1_length + text2_length) / 2);\n var v_offset = max_d;\n var v_length = 2 * max_d;\n var v1 = new Array(v_length);\n var v2 = new Array(v_length);\n // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n // integers and undefined.\n for (var x = 0; x < v_length; x++) {\n v1[x] = -1;\n v2[x] = -1;\n }\n v1[v_offset + 1] = 0;\n v2[v_offset + 1] = 0;\n var delta = text1_length - text2_length;\n // If the total number of characters is odd, then the front path will collide\n // with the reverse path.\n var front = (delta % 2 != 0);\n // Offsets for start and end of k loop.\n // Prevents mapping of space beyond the grid.\n var k1start = 0;\n var k1end = 0;\n var k2start = 0;\n var k2end = 0;\n for (var d = 0; d < max_d; d++) {\n // Walk the front path one step.\n for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n var k1_offset = v_offset + k1;\n var x1;\n if (k1 == -d || (k1 != d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\n x1 = v1[k1_offset + 1];\n } else {\n x1 = v1[k1_offset - 1] + 1;\n }\n var y1 = x1 - k1;\n while (x1 < text1_length && y1 < text2_length &&\n text1.charAt(x1) == text2.charAt(y1)) {\n x1++;\n y1++;\n }\n v1[k1_offset] = x1;\n if (x1 > text1_length) {\n // Ran off the right of the graph.\n k1end += 2;\n } else if (y1 > text2_length) {\n // Ran off the bottom of the graph.\n k1start += 2;\n } else if (front) {\n var k2_offset = v_offset + delta - k1;\n if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] != -1) {\n // Mirror x2 onto top-left coordinate system.\n var x2 = text1_length - v2[k2_offset];\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n\n // Walk the reverse path one step.\n for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n var k2_offset = v_offset + k2;\n var x2;\n if (k2 == -d || (k2 != d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\n x2 = v2[k2_offset + 1];\n } else {\n x2 = v2[k2_offset - 1] + 1;\n }\n var y2 = x2 - k2;\n while (x2 < text1_length && y2 < text2_length &&\n text1.charAt(text1_length - x2 - 1) ==\n text2.charAt(text2_length - y2 - 1)) {\n x2++;\n y2++;\n }\n v2[k2_offset] = x2;\n if (x2 > text1_length) {\n // Ran off the left of the graph.\n k2end += 2;\n } else if (y2 > text2_length) {\n // Ran off the top of the graph.\n k2start += 2;\n } else if (!front) {\n var k1_offset = v_offset + delta - k2;\n if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] != -1) {\n var x1 = v1[k1_offset];\n var y1 = v_offset + x1 - k1_offset;\n // Mirror x2 onto top-left coordinate system.\n x2 = text1_length - x2;\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n }\n // Diff took too long and hit the deadline or\n // number of diffs equals number of characters, no commonality at all.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n};\n\n\n/**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_bisectSplit_(text1, text2, x, y) {\n var text1a = text1.substring(0, x);\n var text2a = text2.substring(0, y);\n var text1b = text1.substring(x);\n var text2b = text2.substring(y);\n\n // Compute both diffs serially.\n var diffs = diff_main(text1a, text2a);\n var diffsb = diff_main(text1b, text2b);\n\n return diffs.concat(diffsb);\n};\n\n\n/**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n * string.\n */\nfunction diff_commonPrefix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.charAt(0) != text2.charAt(0)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerstart = 0;\n while (pointermin < pointermid) {\n if (text1.substring(pointerstart, pointermid) ==\n text2.substring(pointerstart, pointermid)) {\n pointermin = pointermid;\n pointerstart = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n return pointermid;\n};\n\n\n/**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\nfunction diff_commonSuffix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 ||\n text1.charAt(text1.length - 1) != text2.charAt(text2.length - 1)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerend = 0;\n while (pointermin < pointermid) {\n if (text1.substring(text1.length - pointermid, text1.length - pointerend) ==\n text2.substring(text2.length - pointermid, text2.length - pointerend)) {\n pointermin = pointermid;\n pointerend = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n return pointermid;\n};\n\n\n/**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.} Five element Array, containing the prefix of\n * text1, the suffix of text1, the prefix of text2, the suffix of\n * text2 and the common middle. Or null if there was no match.\n */\nfunction diff_halfMatch_(text1, text2) {\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n return null; // Pointless.\n }\n\n /**\n * Does a substring of shorttext exist within longtext such that the substring\n * is at least half the length of longtext?\n * Closure, but does not reference any external variables.\n * @param {string} longtext Longer string.\n * @param {string} shorttext Shorter string.\n * @param {number} i Start index of quarter length substring within longtext.\n * @return {Array.} Five element Array, containing the prefix of\n * longtext, the suffix of longtext, the prefix of shorttext, the suffix\n * of shorttext and the common middle. Or null if there was no match.\n * @private\n */\n function diff_halfMatchI_(longtext, shorttext, i) {\n // Start with a 1/4 length substring at position i as a seed.\n var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n var j = -1;\n var best_common = '';\n var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n while ((j = shorttext.indexOf(seed, j + 1)) != -1) {\n var prefixLength = diff_commonPrefix(longtext.substring(i),\n shorttext.substring(j));\n var suffixLength = diff_commonSuffix(longtext.substring(0, i),\n shorttext.substring(0, j));\n if (best_common.length < suffixLength + prefixLength) {\n best_common = shorttext.substring(j - suffixLength, j) +\n shorttext.substring(j, j + prefixLength);\n best_longtext_a = longtext.substring(0, i - suffixLength);\n best_longtext_b = longtext.substring(i + prefixLength);\n best_shorttext_a = shorttext.substring(0, j - suffixLength);\n best_shorttext_b = shorttext.substring(j + prefixLength);\n }\n }\n if (best_common.length * 2 >= longtext.length) {\n return [best_longtext_a, best_longtext_b,\n best_shorttext_a, best_shorttext_b, best_common];\n } else {\n return null;\n }\n }\n\n // First check if the second quarter is the seed for a half-match.\n var hm1 = diff_halfMatchI_(longtext, shorttext,\n Math.ceil(longtext.length / 4));\n // Check again based on the third quarter.\n var hm2 = diff_halfMatchI_(longtext, shorttext,\n Math.ceil(longtext.length / 2));\n var hm;\n if (!hm1 && !hm2) {\n return null;\n } else if (!hm2) {\n hm = hm1;\n } else if (!hm1) {\n hm = hm2;\n } else {\n // Both matched. Select the longest.\n hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n }\n\n // A half-match was found, sort out the return data.\n var text1_a, text1_b, text2_a, text2_b;\n if (text1.length > text2.length) {\n text1_a = hm[0];\n text1_b = hm[1];\n text2_a = hm[2];\n text2_b = hm[3];\n } else {\n text2_a = hm[0];\n text2_b = hm[1];\n text1_a = hm[2];\n text1_b = hm[3];\n }\n var mid_common = hm[4];\n return [text1_a, text1_b, text2_a, text2_b, mid_common];\n};\n\n\n/**\n * Reorder and merge like edit sections. Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {Array} diffs Array of diff tuples.\n */\nfunction diff_cleanupMerge(diffs) {\n diffs.push([DIFF_EQUAL, '']); // Add a dummy entry at the end.\n var pointer = 0;\n var count_delete = 0;\n var count_insert = 0;\n var text_delete = '';\n var text_insert = '';\n var commonlength;\n while (pointer < diffs.length) {\n switch (diffs[pointer][0]) {\n case DIFF_INSERT:\n count_insert++;\n text_insert += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_DELETE:\n count_delete++;\n text_delete += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_EQUAL:\n // Upon reaching an equality, check for prior redundancies.\n if (count_delete + count_insert > 1) {\n if (count_delete !== 0 && count_insert !== 0) {\n // Factor out any common prefixies.\n commonlength = diff_commonPrefix(text_insert, text_delete);\n if (commonlength !== 0) {\n if ((pointer - count_delete - count_insert) > 0 &&\n diffs[pointer - count_delete - count_insert - 1][0] ==\n DIFF_EQUAL) {\n diffs[pointer - count_delete - count_insert - 1][1] +=\n text_insert.substring(0, commonlength);\n } else {\n diffs.splice(0, 0, [DIFF_EQUAL,\n text_insert.substring(0, commonlength)]);\n pointer++;\n }\n text_insert = text_insert.substring(commonlength);\n text_delete = text_delete.substring(commonlength);\n }\n // Factor out any common suffixies.\n commonlength = diff_commonSuffix(text_insert, text_delete);\n if (commonlength !== 0) {\n diffs[pointer][1] = text_insert.substring(text_insert.length -\n commonlength) + diffs[pointer][1];\n text_insert = text_insert.substring(0, text_insert.length -\n commonlength);\n text_delete = text_delete.substring(0, text_delete.length -\n commonlength);\n }\n }\n // Delete the offending records and add the merged ones.\n if (count_delete === 0) {\n diffs.splice(pointer - count_insert,\n count_delete + count_insert, [DIFF_INSERT, text_insert]);\n } else if (count_insert === 0) {\n diffs.splice(pointer - count_delete,\n count_delete + count_insert, [DIFF_DELETE, text_delete]);\n } else {\n diffs.splice(pointer - count_delete - count_insert,\n count_delete + count_insert, [DIFF_DELETE, text_delete],\n [DIFF_INSERT, text_insert]);\n }\n pointer = pointer - count_delete - count_insert +\n (count_delete ? 1 : 0) + (count_insert ? 1 : 0) + 1;\n } else if (pointer !== 0 && diffs[pointer - 1][0] == DIFF_EQUAL) {\n // Merge this equality with the previous one.\n diffs[pointer - 1][1] += diffs[pointer][1];\n diffs.splice(pointer, 1);\n } else {\n pointer++;\n }\n count_insert = 0;\n count_delete = 0;\n text_delete = '';\n text_insert = '';\n break;\n }\n }\n if (diffs[diffs.length - 1][1] === '') {\n diffs.pop(); // Remove the dummy entry at the end.\n }\n\n // Second pass: look for single edits surrounded on both sides by equalities\n // which can be shifted sideways to eliminate an equality.\n // e.g: ABAC -> ABAC\n var changes = false;\n pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (diffs[pointer - 1][0] == DIFF_EQUAL &&\n diffs[pointer + 1][0] == DIFF_EQUAL) {\n // This is a single edit surrounded by equalities.\n if (diffs[pointer][1].substring(diffs[pointer][1].length -\n diffs[pointer - 1][1].length) == diffs[pointer - 1][1]) {\n // Shift the edit over the previous equality.\n diffs[pointer][1] = diffs[pointer - 1][1] +\n diffs[pointer][1].substring(0, diffs[pointer][1].length -\n diffs[pointer - 1][1].length);\n diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n diffs.splice(pointer - 1, 1);\n changes = true;\n } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\n diffs[pointer + 1][1]) {\n // Shift the edit over the next equality.\n diffs[pointer - 1][1] += diffs[pointer + 1][1];\n diffs[pointer][1] =\n diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n diffs[pointer + 1][1];\n diffs.splice(pointer + 1, 1);\n changes = true;\n }\n }\n pointer++;\n }\n // If shifts were made, the diff needs reordering and another shift sweep.\n if (changes) {\n diff_cleanupMerge(diffs);\n }\n};\n\n\nvar diff = diff_main;\ndiff.INSERT = DIFF_INSERT;\ndiff.DELETE = DIFF_DELETE;\ndiff.EQUAL = DIFF_EQUAL;\n\nmodule.exports = diff;\n\n/*\n * Modify a diff such that the cursor position points to the start of a change:\n * E.g.\n * cursor_normalize_diff([[DIFF_EQUAL, 'abc']], 1)\n * => [1, [[DIFF_EQUAL, 'a'], [DIFF_EQUAL, 'bc']]]\n * cursor_normalize_diff([[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xyz']], 2)\n * => [2, [[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xy'], [DIFF_DELETE, 'z']]]\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} A tuple [cursor location in the modified diff, modified diff]\n */\nfunction cursor_normalize_diff (diffs, cursor_pos) {\n if (cursor_pos === 0) {\n return [DIFF_EQUAL, diffs];\n }\n for (var current_pos = 0, i = 0; i < diffs.length; i++) {\n var d = diffs[i];\n if (d[0] === DIFF_DELETE || d[0] === DIFF_EQUAL) {\n var next_pos = current_pos + d[1].length;\n if (cursor_pos === next_pos) {\n return [i + 1, diffs];\n } else if (cursor_pos < next_pos) {\n // copy to prevent side effects\n diffs = diffs.slice();\n // split d into two diff changes\n var split_pos = cursor_pos - current_pos;\n var d_left = [d[0], d[1].slice(0, split_pos)];\n var d_right = [d[0], d[1].slice(split_pos)];\n diffs.splice(i, 1, d_left, d_right);\n return [i + 1, diffs];\n } else {\n current_pos = next_pos;\n }\n }\n }\n throw new Error('cursor_pos is out of bounds!')\n}\n\n/*\n * Modify a diff such that the edit position is \"shifted\" to the proposed edit location (cursor_position).\n *\n * Case 1)\n * Check if a naive shift is possible:\n * [0, X], [ 1, Y] -> [ 1, Y], [0, X] (if X + Y === Y + X)\n * [0, X], [-1, Y] -> [-1, Y], [0, X] (if X + Y === Y + X) - holds same result\n * Case 2)\n * Check if the following shifts are possible:\n * [0, 'pre'], [ 1, 'prefix'] -> [ 1, 'pre'], [0, 'pre'], [ 1, 'fix']\n * [0, 'pre'], [-1, 'prefix'] -> [-1, 'pre'], [0, 'pre'], [-1, 'fix']\n * ^ ^\n * d d_next\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} Array of diff tuples\n */\nfunction fix_cursor (diffs, cursor_pos) {\n var norm = cursor_normalize_diff(diffs, cursor_pos);\n var ndiffs = norm[1];\n var cursor_pointer = norm[0];\n var d = ndiffs[cursor_pointer];\n var d_next = ndiffs[cursor_pointer + 1];\n\n if (d == null) {\n // Text was deleted from end of original string,\n // cursor is now out of bounds in new string\n return diffs;\n } else if (d[0] !== DIFF_EQUAL) {\n // A modification happened at the cursor location.\n // This is the expected outcome, so we can return the original diff.\n return diffs;\n } else {\n if (d_next != null && d[1] + d_next[1] === d_next[1] + d[1]) {\n // Case 1)\n // It is possible to perform a naive shift\n ndiffs.splice(cursor_pointer, 2, d_next, d)\n return merge_tuples(ndiffs, cursor_pointer, 2)\n } else if (d_next != null && d_next[1].indexOf(d[1]) === 0) {\n // Case 2)\n // d[1] is a prefix of d_next[1]\n // We can assume that d_next[0] !== 0, since d[0] === 0\n // Shift edit locations..\n ndiffs.splice(cursor_pointer, 2, [d_next[0], d[1]], [0, d[1]]);\n var suffix = d_next[1].slice(d[1].length);\n if (suffix.length > 0) {\n ndiffs.splice(cursor_pointer + 2, 0, [d_next[0], suffix]);\n }\n return merge_tuples(ndiffs, cursor_pointer, 3)\n } else {\n // Not possible to perform any modification\n return diffs;\n }\n }\n}\n\n/*\n * Check diff did not split surrogate pairs.\n * Ex. [0, '\\uD83D'], [-1, '\\uDC36'], [1, '\\uDC2F'] -> [-1, '\\uD83D\\uDC36'], [1, '\\uD83D\\uDC2F']\n * '\\uD83D\\uDC36' === '🐶', '\\uD83D\\uDC2F' === '🐯'\n *\n * @param {Array} diffs Array of diff tuples\n * @return {Array} Array of diff tuples\n */\nfunction fix_emoji (diffs) {\n var compact = false;\n var starts_with_pair_end = function(str) {\n return str.charCodeAt(0) >= 0xDC00 && str.charCodeAt(0) <= 0xDFFF;\n }\n var ends_with_pair_start = function(str) {\n return str.charCodeAt(str.length-1) >= 0xD800 && str.charCodeAt(str.length-1) <= 0xDBFF;\n }\n for (var i = 2; i < diffs.length; i += 1) {\n if (diffs[i-2][0] === DIFF_EQUAL && ends_with_pair_start(diffs[i-2][1]) &&\n diffs[i-1][0] === DIFF_DELETE && starts_with_pair_end(diffs[i-1][1]) &&\n diffs[i][0] === DIFF_INSERT && starts_with_pair_end(diffs[i][1])) {\n compact = true;\n\n diffs[i-1][1] = diffs[i-2][1].slice(-1) + diffs[i-1][1];\n diffs[i][1] = diffs[i-2][1].slice(-1) + diffs[i][1];\n\n diffs[i-2][1] = diffs[i-2][1].slice(0, -1);\n }\n }\n if (!compact) {\n return diffs;\n }\n var fixed_diffs = [];\n for (var i = 0; i < diffs.length; i += 1) {\n if (diffs[i][1].length > 0) {\n fixed_diffs.push(diffs[i]);\n }\n }\n return fixed_diffs;\n}\n\n/*\n * Try to merge tuples with their neigbors in a given range.\n * E.g. [0, 'a'], [0, 'b'] -> [0, 'ab']\n *\n * @param {Array} diffs Array of diff tuples.\n * @param {Int} start Position of the first element to merge (diffs[start] is also merged with diffs[start - 1]).\n * @param {Int} length Number of consecutive elements to check.\n * @return {Array} Array of merged diff tuples.\n */\nfunction merge_tuples (diffs, start, length) {\n // Check from (start-1) to (start+length).\n for (var i = start + length - 1; i >= 0 && i >= start - 1; i--) {\n if (i + 1 < diffs.length) {\n var left_d = diffs[i];\n var right_d = diffs[i+1];\n if (left_d[0] === right_d[1]) {\n diffs.splice(i, 2, [left_d[0], left_d[1] + right_d[1]]);\n }\n }\n }\n return diffs;\n}\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports) {\n\nexports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports) {\n\nvar supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @api private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {Mixed} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @api private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @api public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @api public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Boolean} exists Only check if there are listeners.\n * @returns {Array|Boolean}\n * @api public\n */\nEventEmitter.prototype.listeners = function listeners(event, exists) {\n var evt = prefix ? prefix + event : event\n , available = this._events[evt];\n\n if (exists) return !!available;\n if (!available) return [];\n if (available.fn) return [available.fn];\n\n for (var i = 0, l = available.length, ee = new Array(l); i < l; i++) {\n ee[i] = available[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @api public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n var listener = new EE(fn, context || this)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n else if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [this._events[evt], listener];\n\n return this;\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n var listener = new EE(fn, context || this, true)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n else if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [this._events[evt], listener];\n\n return this;\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {Mixed} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn\n && (!once || listeners.once)\n && (!context || listeners.context === context)\n ) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn\n || (once && !listeners[i].once)\n || (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {String|Symbol} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// This function doesn't apply anymore.\n//\nEventEmitter.prototype.setMaxListeners = function setMaxListeners() {\n return this;\n};\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.matchText = exports.matchSpacing = exports.matchNewline = exports.matchBlot = exports.matchAttributor = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend2 = __webpack_require__(3);\n\nvar _extend3 = _interopRequireDefault(_extend2);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _align = __webpack_require__(36);\n\nvar _background = __webpack_require__(37);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _color = __webpack_require__(26);\n\nvar _direction = __webpack_require__(38);\n\nvar _font = __webpack_require__(39);\n\nvar _size = __webpack_require__(40);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:clipboard');\n\nvar DOM_KEY = '__ql-matcher';\n\nvar CLIPBOARD_CONFIG = [[Node.TEXT_NODE, matchText], [Node.TEXT_NODE, matchNewline], ['br', matchBreak], [Node.ELEMENT_NODE, matchNewline], [Node.ELEMENT_NODE, matchBlot], [Node.ELEMENT_NODE, matchSpacing], [Node.ELEMENT_NODE, matchAttributor], [Node.ELEMENT_NODE, matchStyles], ['li', matchIndent], ['b', matchAlias.bind(matchAlias, 'bold')], ['i', matchAlias.bind(matchAlias, 'italic')], ['style', matchIgnore]];\n\nvar ATTRIBUTE_ATTRIBUTORS = [_align.AlignAttribute, _direction.DirectionAttribute].reduce(function (memo, attr) {\n memo[attr.keyName] = attr;\n return memo;\n}, {});\n\nvar STYLE_ATTRIBUTORS = [_align.AlignStyle, _background.BackgroundStyle, _color.ColorStyle, _direction.DirectionStyle, _font.FontStyle, _size.SizeStyle].reduce(function (memo, attr) {\n memo[attr.keyName] = attr;\n return memo;\n}, {});\n\nvar Clipboard = function (_Module) {\n _inherits(Clipboard, _Module);\n\n function Clipboard(quill, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this, quill, options));\n\n _this.quill.root.addEventListener('paste', _this.onPaste.bind(_this));\n _this.container = _this.quill.addContainer('ql-clipboard');\n _this.container.setAttribute('contenteditable', true);\n _this.container.setAttribute('tabindex', -1);\n _this.matchers = [];\n CLIPBOARD_CONFIG.concat(_this.options.matchers).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n selector = _ref2[0],\n matcher = _ref2[1];\n\n if (!options.matchVisual && matcher === matchSpacing) return;\n _this.addMatcher(selector, matcher);\n });\n return _this;\n }\n\n _createClass(Clipboard, [{\n key: 'addMatcher',\n value: function addMatcher(selector, matcher) {\n this.matchers.push([selector, matcher]);\n }\n }, {\n key: 'convert',\n value: function convert(html) {\n if (typeof html === 'string') {\n this.container.innerHTML = html.replace(/\\>\\r?\\n +\\<'); // Remove spaces between tags\n return this.convert();\n }\n var formats = this.quill.getFormat(this.quill.selection.savedRange.index);\n if (formats[_code2.default.blotName]) {\n var text = this.container.innerText;\n this.container.innerHTML = '';\n return new _quillDelta2.default().insert(text, _defineProperty({}, _code2.default.blotName, formats[_code2.default.blotName]));\n }\n\n var _prepareMatching = this.prepareMatching(),\n _prepareMatching2 = _slicedToArray(_prepareMatching, 2),\n elementMatchers = _prepareMatching2[0],\n textMatchers = _prepareMatching2[1];\n\n var delta = traverse(this.container, elementMatchers, textMatchers);\n // Remove trailing newline\n if (deltaEndsWith(delta, '\\n') && delta.ops[delta.ops.length - 1].attributes == null) {\n delta = delta.compose(new _quillDelta2.default().retain(delta.length() - 1).delete(1));\n }\n debug.log('convert', this.container.innerHTML, delta);\n this.container.innerHTML = '';\n return delta;\n }\n }, {\n key: 'dangerouslyPasteHTML',\n value: function dangerouslyPasteHTML(index, html) {\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _quill2.default.sources.API;\n\n if (typeof index === 'string') {\n this.quill.setContents(this.convert(index), html);\n this.quill.setSelection(0, _quill2.default.sources.SILENT);\n } else {\n var paste = this.convert(html);\n this.quill.updateContents(new _quillDelta2.default().retain(index).concat(paste), source);\n this.quill.setSelection(index + paste.length(), _quill2.default.sources.SILENT);\n }\n }\n }, {\n key: 'onPaste',\n value: function onPaste(e) {\n var _this2 = this;\n\n if (e.defaultPrevented || !this.quill.isEnabled()) return;\n var range = this.quill.getSelection();\n var delta = new _quillDelta2.default().retain(range.index);\n var scrollTop = this.quill.scrollingContainer.scrollTop;\n this.container.focus();\n this.quill.selection.update(_quill2.default.sources.SILENT);\n setTimeout(function () {\n delta = delta.concat(_this2.convert()).delete(range.length);\n _this2.quill.updateContents(delta, _quill2.default.sources.USER);\n // range.length contributes to delta.length()\n _this2.quill.setSelection(delta.length() - range.length, _quill2.default.sources.SILENT);\n _this2.quill.scrollingContainer.scrollTop = scrollTop;\n _this2.quill.focus();\n }, 1);\n }\n }, {\n key: 'prepareMatching',\n value: function prepareMatching() {\n var _this3 = this;\n\n var elementMatchers = [],\n textMatchers = [];\n this.matchers.forEach(function (pair) {\n var _pair = _slicedToArray(pair, 2),\n selector = _pair[0],\n matcher = _pair[1];\n\n switch (selector) {\n case Node.TEXT_NODE:\n textMatchers.push(matcher);\n break;\n case Node.ELEMENT_NODE:\n elementMatchers.push(matcher);\n break;\n default:\n [].forEach.call(_this3.container.querySelectorAll(selector), function (node) {\n // TODO use weakmap\n node[DOM_KEY] = node[DOM_KEY] || [];\n node[DOM_KEY].push(matcher);\n });\n break;\n }\n });\n return [elementMatchers, textMatchers];\n }\n }]);\n\n return Clipboard;\n}(_module2.default);\n\nClipboard.DEFAULTS = {\n matchers: [],\n matchVisual: true\n};\n\nfunction applyFormat(delta, format, value) {\n if ((typeof format === 'undefined' ? 'undefined' : _typeof(format)) === 'object') {\n return Object.keys(format).reduce(function (delta, key) {\n return applyFormat(delta, key, format[key]);\n }, delta);\n } else {\n return delta.reduce(function (delta, op) {\n if (op.attributes && op.attributes[format]) {\n return delta.push(op);\n } else {\n return delta.insert(op.insert, (0, _extend3.default)({}, _defineProperty({}, format, value), op.attributes));\n }\n }, new _quillDelta2.default());\n }\n}\n\nfunction computeStyle(node) {\n if (node.nodeType !== Node.ELEMENT_NODE) return {};\n var DOM_KEY = '__ql-computed-style';\n return node[DOM_KEY] || (node[DOM_KEY] = window.getComputedStyle(node));\n}\n\nfunction deltaEndsWith(delta, text) {\n var endText = \"\";\n for (var i = delta.ops.length - 1; i >= 0 && endText.length < text.length; --i) {\n var op = delta.ops[i];\n if (typeof op.insert !== 'string') break;\n endText = op.insert + endText;\n }\n return endText.slice(-1 * text.length) === text;\n}\n\nfunction isLine(node) {\n if (node.childNodes.length === 0) return false; // Exclude embed blocks\n var style = computeStyle(node);\n return ['block', 'list-item'].indexOf(style.display) > -1;\n}\n\nfunction traverse(node, elementMatchers, textMatchers) {\n // Post-order\n if (node.nodeType === node.TEXT_NODE) {\n return textMatchers.reduce(function (delta, matcher) {\n return matcher(node, delta);\n }, new _quillDelta2.default());\n } else if (node.nodeType === node.ELEMENT_NODE) {\n return [].reduce.call(node.childNodes || [], function (delta, childNode) {\n var childrenDelta = traverse(childNode, elementMatchers, textMatchers);\n if (childNode.nodeType === node.ELEMENT_NODE) {\n childrenDelta = elementMatchers.reduce(function (childrenDelta, matcher) {\n return matcher(childNode, childrenDelta);\n }, childrenDelta);\n childrenDelta = (childNode[DOM_KEY] || []).reduce(function (childrenDelta, matcher) {\n return matcher(childNode, childrenDelta);\n }, childrenDelta);\n }\n return delta.concat(childrenDelta);\n }, new _quillDelta2.default());\n } else {\n return new _quillDelta2.default();\n }\n}\n\nfunction matchAlias(format, node, delta) {\n return applyFormat(delta, format, true);\n}\n\nfunction matchAttributor(node, delta) {\n var attributes = _parchment2.default.Attributor.Attribute.keys(node);\n var classes = _parchment2.default.Attributor.Class.keys(node);\n var styles = _parchment2.default.Attributor.Style.keys(node);\n var formats = {};\n attributes.concat(classes).concat(styles).forEach(function (name) {\n var attr = _parchment2.default.query(name, _parchment2.default.Scope.ATTRIBUTE);\n if (attr != null) {\n formats[attr.attrName] = attr.value(node);\n if (formats[attr.attrName]) return;\n }\n attr = ATTRIBUTE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n attr = STYLE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n attr = STYLE_ATTRIBUTORS[name];\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n });\n if (Object.keys(formats).length > 0) {\n delta = applyFormat(delta, formats);\n }\n return delta;\n}\n\nfunction matchBlot(node, delta) {\n var match = _parchment2.default.query(node);\n if (match == null) return delta;\n if (match.prototype instanceof _parchment2.default.Embed) {\n var embed = {};\n var value = match.value(node);\n if (value != null) {\n embed[match.blotName] = value;\n delta = new _quillDelta2.default().insert(embed, match.formats(node));\n }\n } else if (typeof match.formats === 'function') {\n delta = applyFormat(delta, match.blotName, match.formats(node));\n }\n return delta;\n}\n\nfunction matchBreak(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n delta.insert('\\n');\n }\n return delta;\n}\n\nfunction matchIgnore() {\n return new _quillDelta2.default();\n}\n\nfunction matchIndent(node, delta) {\n var match = _parchment2.default.query(node);\n if (match == null || match.blotName !== 'list-item' || !deltaEndsWith(delta, '\\n')) {\n return delta;\n }\n var indent = -1,\n parent = node.parentNode;\n while (!parent.classList.contains('ql-clipboard')) {\n if ((_parchment2.default.query(parent) || {}).blotName === 'list') {\n indent += 1;\n }\n parent = parent.parentNode;\n }\n if (indent <= 0) return delta;\n return delta.compose(new _quillDelta2.default().retain(delta.length() - 1).retain(1, { indent: indent }));\n}\n\nfunction matchNewline(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n if (isLine(node) || delta.length() > 0 && node.nextSibling && isLine(node.nextSibling)) {\n delta.insert('\\n');\n }\n }\n return delta;\n}\n\nfunction matchSpacing(node, delta) {\n if (isLine(node) && node.nextElementSibling != null && !deltaEndsWith(delta, '\\n\\n')) {\n var nodeHeight = node.offsetHeight + parseFloat(computeStyle(node).marginTop) + parseFloat(computeStyle(node).marginBottom);\n if (node.nextElementSibling.offsetTop > node.offsetTop + nodeHeight * 1.5) {\n delta.insert('\\n');\n }\n }\n return delta;\n}\n\nfunction matchStyles(node, delta) {\n var formats = {};\n var style = node.style || {};\n if (style.fontStyle && computeStyle(node).fontStyle === 'italic') {\n formats.italic = true;\n }\n if (style.fontWeight && (computeStyle(node).fontWeight.startsWith('bold') || parseInt(computeStyle(node).fontWeight) >= 700)) {\n formats.bold = true;\n }\n if (Object.keys(formats).length > 0) {\n delta = applyFormat(delta, formats);\n }\n if (parseFloat(style.textIndent || 0) > 0) {\n // Could be 0.5in\n delta = new _quillDelta2.default().insert('\\t').concat(delta);\n }\n return delta;\n}\n\nfunction matchText(node, delta) {\n var text = node.data;\n // Word represents empty line with  \n if (node.parentNode.tagName === 'O:P') {\n return delta.insert(text.trim());\n }\n if (text.trim().length === 0 && node.parentNode.classList.contains('ql-clipboard')) {\n return delta;\n }\n if (!computeStyle(node.parentNode).whiteSpace.startsWith('pre')) {\n // eslint-disable-next-line func-style\n var replacer = function replacer(collapse, match) {\n match = match.replace(/[^\\u00a0]/g, ''); // \\u00a0 is nbsp;\n return match.length < 1 && collapse ? ' ' : match;\n };\n text = text.replace(/\\r\\n/g, ' ').replace(/\\n/g, ' ');\n text = text.replace(/\\s\\s+/g, replacer.bind(replacer, true)); // collapse whitespace\n if (node.previousSibling == null && isLine(node.parentNode) || node.previousSibling != null && isLine(node.previousSibling)) {\n text = text.replace(/^\\s+/, replacer.bind(replacer, false));\n }\n if (node.nextSibling == null && isLine(node.parentNode) || node.nextSibling != null && isLine(node.nextSibling)) {\n text = text.replace(/\\s+$/, replacer.bind(replacer, false));\n }\n }\n return delta.insert(text);\n}\n\nexports.default = Clipboard;\nexports.matchAttributor = matchAttributor;\nexports.matchBlot = matchBlot;\nexports.matchNewline = matchNewline;\nexports.matchSpacing = matchSpacing;\nexports.matchText = matchText;\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Bold = function (_Inline) {\n _inherits(Bold, _Inline);\n\n function Bold() {\n _classCallCheck(this, Bold);\n\n return _possibleConstructorReturn(this, (Bold.__proto__ || Object.getPrototypeOf(Bold)).apply(this, arguments));\n }\n\n _createClass(Bold, [{\n key: 'optimize',\n value: function optimize(context) {\n _get(Bold.prototype.__proto__ || Object.getPrototypeOf(Bold.prototype), 'optimize', this).call(this, context);\n if (this.domNode.tagName !== this.statics.tagName[0]) {\n this.replaceWith(this.statics.blotName);\n }\n }\n }], [{\n key: 'create',\n value: function create() {\n return _get(Bold.__proto__ || Object.getPrototypeOf(Bold), 'create', this).call(this);\n }\n }, {\n key: 'formats',\n value: function formats() {\n return true;\n }\n }]);\n\n return Bold;\n}(_inline2.default);\n\nBold.blotName = 'bold';\nBold.tagName = ['STRONG', 'B'];\n\nexports.default = Bold;\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addControls = exports.default = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:toolbar');\n\nvar Toolbar = function (_Module) {\n _inherits(Toolbar, _Module);\n\n function Toolbar(quill, options) {\n _classCallCheck(this, Toolbar);\n\n var _this = _possibleConstructorReturn(this, (Toolbar.__proto__ || Object.getPrototypeOf(Toolbar)).call(this, quill, options));\n\n if (Array.isArray(_this.options.container)) {\n var container = document.createElement('div');\n addControls(container, _this.options.container);\n quill.container.parentNode.insertBefore(container, quill.container);\n _this.container = container;\n } else if (typeof _this.options.container === 'string') {\n _this.container = document.querySelector(_this.options.container);\n } else {\n _this.container = _this.options.container;\n }\n if (!(_this.container instanceof HTMLElement)) {\n var _ret;\n\n return _ret = debug.error('Container required for toolbar', _this.options), _possibleConstructorReturn(_this, _ret);\n }\n _this.container.classList.add('ql-toolbar');\n _this.controls = [];\n _this.handlers = {};\n Object.keys(_this.options.handlers).forEach(function (format) {\n _this.addHandler(format, _this.options.handlers[format]);\n });\n [].forEach.call(_this.container.querySelectorAll('button, select'), function (input) {\n _this.attach(input);\n });\n _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (type, range) {\n if (type === _quill2.default.events.SELECTION_CHANGE) {\n _this.update(range);\n }\n });\n _this.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n var _this$quill$selection = _this.quill.selection.getRange(),\n _this$quill$selection2 = _slicedToArray(_this$quill$selection, 1),\n range = _this$quill$selection2[0]; // quill.getSelection triggers update\n\n\n _this.update(range);\n });\n return _this;\n }\n\n _createClass(Toolbar, [{\n key: 'addHandler',\n value: function addHandler(format, handler) {\n this.handlers[format] = handler;\n }\n }, {\n key: 'attach',\n value: function attach(input) {\n var _this2 = this;\n\n var format = [].find.call(input.classList, function (className) {\n return className.indexOf('ql-') === 0;\n });\n if (!format) return;\n format = format.slice('ql-'.length);\n if (input.tagName === 'BUTTON') {\n input.setAttribute('type', 'button');\n }\n if (this.handlers[format] == null) {\n if (this.quill.scroll.whitelist != null && this.quill.scroll.whitelist[format] == null) {\n debug.warn('ignoring attaching to disabled format', format, input);\n return;\n }\n if (_parchment2.default.query(format) == null) {\n debug.warn('ignoring attaching to nonexistent format', format, input);\n return;\n }\n }\n var eventName = input.tagName === 'SELECT' ? 'change' : 'click';\n input.addEventListener(eventName, function (e) {\n var value = void 0;\n if (input.tagName === 'SELECT') {\n if (input.selectedIndex < 0) return;\n var selected = input.options[input.selectedIndex];\n if (selected.hasAttribute('selected')) {\n value = false;\n } else {\n value = selected.value || false;\n }\n } else {\n if (input.classList.contains('ql-active')) {\n value = false;\n } else {\n value = input.value || !input.hasAttribute('value');\n }\n e.preventDefault();\n }\n _this2.quill.focus();\n\n var _quill$selection$getR = _this2.quill.selection.getRange(),\n _quill$selection$getR2 = _slicedToArray(_quill$selection$getR, 1),\n range = _quill$selection$getR2[0];\n\n if (_this2.handlers[format] != null) {\n _this2.handlers[format].call(_this2, value);\n } else if (_parchment2.default.query(format).prototype instanceof _parchment2.default.Embed) {\n value = prompt('Enter ' + format);\n if (!value) return;\n _this2.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert(_defineProperty({}, format, value)), _quill2.default.sources.USER);\n } else {\n _this2.quill.format(format, value, _quill2.default.sources.USER);\n }\n _this2.update(range);\n });\n // TODO use weakmap\n this.controls.push([format, input]);\n }\n }, {\n key: 'update',\n value: function update(range) {\n var formats = range == null ? {} : this.quill.getFormat(range);\n this.controls.forEach(function (pair) {\n var _pair = _slicedToArray(pair, 2),\n format = _pair[0],\n input = _pair[1];\n\n if (input.tagName === 'SELECT') {\n var option = void 0;\n if (range == null) {\n option = null;\n } else if (formats[format] == null) {\n option = input.querySelector('option[selected]');\n } else if (!Array.isArray(formats[format])) {\n var value = formats[format];\n if (typeof value === 'string') {\n value = value.replace(/\\\"/g, '\\\\\"');\n }\n option = input.querySelector('option[value=\"' + value + '\"]');\n }\n if (option == null) {\n input.value = ''; // TODO make configurable?\n input.selectedIndex = -1;\n } else {\n option.selected = true;\n }\n } else {\n if (range == null) {\n input.classList.remove('ql-active');\n } else if (input.hasAttribute('value')) {\n // both being null should match (default values)\n // '1' should match with 1 (headers)\n var isActive = formats[format] === input.getAttribute('value') || formats[format] != null && formats[format].toString() === input.getAttribute('value') || formats[format] == null && !input.getAttribute('value');\n input.classList.toggle('ql-active', isActive);\n } else {\n input.classList.toggle('ql-active', formats[format] != null);\n }\n }\n });\n }\n }]);\n\n return Toolbar;\n}(_module2.default);\n\nToolbar.DEFAULTS = {};\n\nfunction addButton(container, format, value) {\n var input = document.createElement('button');\n input.setAttribute('type', 'button');\n input.classList.add('ql-' + format);\n if (value != null) {\n input.value = value;\n }\n container.appendChild(input);\n}\n\nfunction addControls(container, groups) {\n if (!Array.isArray(groups[0])) {\n groups = [groups];\n }\n groups.forEach(function (controls) {\n var group = document.createElement('span');\n group.classList.add('ql-formats');\n controls.forEach(function (control) {\n if (typeof control === 'string') {\n addButton(group, control);\n } else {\n var format = Object.keys(control)[0];\n var value = control[format];\n if (Array.isArray(value)) {\n addSelect(group, format, value);\n } else {\n addButton(group, format, value);\n }\n }\n });\n container.appendChild(group);\n });\n}\n\nfunction addSelect(container, format, values) {\n var input = document.createElement('select');\n input.classList.add('ql-' + format);\n values.forEach(function (value) {\n var option = document.createElement('option');\n if (value !== false) {\n option.setAttribute('value', value);\n } else {\n option.setAttribute('selected', 'selected');\n }\n input.appendChild(option);\n });\n container.appendChild(input);\n}\n\nToolbar.DEFAULTS = {\n container: null,\n handlers: {\n clean: function clean() {\n var _this3 = this;\n\n var range = this.quill.getSelection();\n if (range == null) return;\n if (range.length == 0) {\n var formats = this.quill.getFormat();\n Object.keys(formats).forEach(function (name) {\n // Clean functionality in existing apps only clean inline formats\n if (_parchment2.default.query(name, _parchment2.default.Scope.INLINE) != null) {\n _this3.quill.format(name, false);\n }\n });\n } else {\n this.quill.removeFormat(range, _quill2.default.sources.USER);\n }\n },\n direction: function direction(value) {\n var align = this.quill.getFormat()['align'];\n if (value === 'rtl' && align == null) {\n this.quill.format('align', 'right', _quill2.default.sources.USER);\n } else if (!value && align === 'right') {\n this.quill.format('align', false, _quill2.default.sources.USER);\n }\n this.quill.format('direction', value, _quill2.default.sources.USER);\n },\n indent: function indent(value) {\n var range = this.quill.getSelection();\n var formats = this.quill.getFormat(range);\n var indent = parseInt(formats.indent || 0);\n if (value === '+1' || value === '-1') {\n var modifier = value === '+1' ? 1 : -1;\n if (formats.direction === 'rtl') modifier *= -1;\n this.quill.format('indent', indent + modifier, _quill2.default.sources.USER);\n }\n },\n link: function link(value) {\n if (value === true) {\n value = prompt('Enter link URL:');\n }\n this.quill.format('link', value, _quill2.default.sources.USER);\n },\n list: function list(value) {\n var range = this.quill.getSelection();\n var formats = this.quill.getFormat(range);\n if (value === 'check') {\n if (formats['list'] === 'checked' || formats['list'] === 'unchecked') {\n this.quill.format('list', false, _quill2.default.sources.USER);\n } else {\n this.quill.format('list', 'unchecked', _quill2.default.sources.USER);\n }\n } else {\n this.quill.format('list', value, _quill2.default.sources.USER);\n }\n }\n }\n};\n\nexports.default = Toolbar;\nexports.addControls = addControls;\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorPicker = function (_Picker) {\n _inherits(ColorPicker, _Picker);\n\n function ColorPicker(select, label) {\n _classCallCheck(this, ColorPicker);\n\n var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this, select));\n\n _this.label.innerHTML = label;\n _this.container.classList.add('ql-color-picker');\n [].slice.call(_this.container.querySelectorAll('.ql-picker-item'), 0, 7).forEach(function (item) {\n item.classList.add('ql-primary');\n });\n return _this;\n }\n\n _createClass(ColorPicker, [{\n key: 'buildItem',\n value: function buildItem(option) {\n var item = _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'buildItem', this).call(this, option);\n item.style.backgroundColor = option.getAttribute('value') || '';\n return item;\n }\n }, {\n key: 'selectItem',\n value: function selectItem(item, trigger) {\n _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'selectItem', this).call(this, item, trigger);\n var colorLabel = this.label.querySelector('.ql-color-label');\n var value = item ? item.getAttribute('data-value') || '' : '';\n if (colorLabel) {\n if (colorLabel.tagName === 'line') {\n colorLabel.style.stroke = value;\n } else {\n colorLabel.style.fill = value;\n }\n }\n }\n }]);\n\n return ColorPicker;\n}(_picker2.default);\n\nexports.default = ColorPicker;\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IconPicker = function (_Picker) {\n _inherits(IconPicker, _Picker);\n\n function IconPicker(select, icons) {\n _classCallCheck(this, IconPicker);\n\n var _this = _possibleConstructorReturn(this, (IconPicker.__proto__ || Object.getPrototypeOf(IconPicker)).call(this, select));\n\n _this.container.classList.add('ql-icon-picker');\n [].forEach.call(_this.container.querySelectorAll('.ql-picker-item'), function (item) {\n item.innerHTML = icons[item.getAttribute('data-value') || ''];\n });\n _this.defaultItem = _this.container.querySelector('.ql-selected');\n _this.selectItem(_this.defaultItem);\n return _this;\n }\n\n _createClass(IconPicker, [{\n key: 'selectItem',\n value: function selectItem(item, trigger) {\n _get(IconPicker.prototype.__proto__ || Object.getPrototypeOf(IconPicker.prototype), 'selectItem', this).call(this, item, trigger);\n item = item || this.defaultItem;\n this.label.innerHTML = item.innerHTML;\n }\n }]);\n\n return IconPicker;\n}(_picker2.default);\n\nexports.default = IconPicker;\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Tooltip = function () {\n function Tooltip(quill, boundsContainer) {\n var _this = this;\n\n _classCallCheck(this, Tooltip);\n\n this.quill = quill;\n this.boundsContainer = boundsContainer || document.body;\n this.root = quill.addContainer('ql-tooltip');\n this.root.innerHTML = this.constructor.TEMPLATE;\n if (this.quill.root === this.quill.scrollingContainer) {\n this.quill.root.addEventListener('scroll', function () {\n _this.root.style.marginTop = -1 * _this.quill.root.scrollTop + 'px';\n });\n }\n this.hide();\n }\n\n _createClass(Tooltip, [{\n key: 'hide',\n value: function hide() {\n this.root.classList.add('ql-hidden');\n }\n }, {\n key: 'position',\n value: function position(reference) {\n var left = reference.left + reference.width / 2 - this.root.offsetWidth / 2;\n // root.scrollTop should be 0 if scrollContainer !== root\n var top = reference.bottom + this.quill.root.scrollTop;\n this.root.style.left = left + 'px';\n this.root.style.top = top + 'px';\n this.root.classList.remove('ql-flip');\n var containerBounds = this.boundsContainer.getBoundingClientRect();\n var rootBounds = this.root.getBoundingClientRect();\n var shift = 0;\n if (rootBounds.right > containerBounds.right) {\n shift = containerBounds.right - rootBounds.right;\n this.root.style.left = left + shift + 'px';\n }\n if (rootBounds.left < containerBounds.left) {\n shift = containerBounds.left - rootBounds.left;\n this.root.style.left = left + shift + 'px';\n }\n if (rootBounds.bottom > containerBounds.bottom) {\n var height = rootBounds.bottom - rootBounds.top;\n var verticalShift = reference.bottom - reference.top + height;\n this.root.style.top = top - verticalShift + 'px';\n this.root.classList.add('ql-flip');\n }\n return shift;\n }\n }, {\n key: 'show',\n value: function show() {\n this.root.classList.remove('ql-editing');\n this.root.classList.remove('ql-hidden');\n }\n }]);\n\n return Tooltip;\n}();\n\nexports.default = Tooltip;\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(43);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [[{ header: ['1', '2', '3', false] }], ['bold', 'italic', 'underline', 'link'], [{ list: 'ordered' }, { list: 'bullet' }], ['clean']];\n\nvar SnowTheme = function (_BaseTheme) {\n _inherits(SnowTheme, _BaseTheme);\n\n function SnowTheme(quill, options) {\n _classCallCheck(this, SnowTheme);\n\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n\n var _this = _possibleConstructorReturn(this, (SnowTheme.__proto__ || Object.getPrototypeOf(SnowTheme)).call(this, quill, options));\n\n _this.quill.container.classList.add('ql-snow');\n return _this;\n }\n\n _createClass(SnowTheme, [{\n key: 'extendToolbar',\n value: function extendToolbar(toolbar) {\n toolbar.container.classList.add('ql-snow');\n this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n this.tooltip = new SnowTooltip(this.quill, this.options.bounds);\n if (toolbar.container.querySelector('.ql-link')) {\n this.quill.keyboard.addBinding({ key: 'K', shortKey: true }, function (range, context) {\n toolbar.handlers['link'].call(toolbar, !context.format.link);\n });\n }\n }\n }]);\n\n return SnowTheme;\n}(_base2.default);\n\nSnowTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link: function link(value) {\n if (value) {\n var range = this.quill.getSelection();\n if (range == null || range.length == 0) return;\n var preview = this.quill.getText(range);\n if (/^\\S+@\\S+\\.\\S+$/.test(preview) && preview.indexOf('mailto:') !== 0) {\n preview = 'mailto:' + preview;\n }\n var tooltip = this.quill.theme.tooltip;\n tooltip.edit('link', preview);\n } else {\n this.quill.format('link', false);\n }\n }\n }\n }\n }\n});\n\nvar SnowTooltip = function (_BaseTooltip) {\n _inherits(SnowTooltip, _BaseTooltip);\n\n function SnowTooltip(quill, bounds) {\n _classCallCheck(this, SnowTooltip);\n\n var _this2 = _possibleConstructorReturn(this, (SnowTooltip.__proto__ || Object.getPrototypeOf(SnowTooltip)).call(this, quill, bounds));\n\n _this2.preview = _this2.root.querySelector('a.ql-preview');\n return _this2;\n }\n\n _createClass(SnowTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this3 = this;\n\n _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'listen', this).call(this);\n this.root.querySelector('a.ql-action').addEventListener('click', function (event) {\n if (_this3.root.classList.contains('ql-editing')) {\n _this3.save();\n } else {\n _this3.edit('link', _this3.preview.textContent);\n }\n event.preventDefault();\n });\n this.root.querySelector('a.ql-remove').addEventListener('click', function (event) {\n if (_this3.linkRange != null) {\n var range = _this3.linkRange;\n _this3.restoreFocus();\n _this3.quill.formatText(range, 'link', false, _emitter2.default.sources.USER);\n delete _this3.linkRange;\n }\n event.preventDefault();\n _this3.hide();\n });\n this.quill.on(_emitter2.default.events.SELECTION_CHANGE, function (range, oldRange, source) {\n if (range == null) return;\n if (range.length === 0 && source === _emitter2.default.sources.USER) {\n var _quill$scroll$descend = _this3.quill.scroll.descendant(_link2.default, range.index),\n _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n link = _quill$scroll$descend2[0],\n offset = _quill$scroll$descend2[1];\n\n if (link != null) {\n _this3.linkRange = new _selection.Range(range.index - offset, link.length());\n var preview = _link2.default.formats(link.domNode);\n _this3.preview.textContent = preview;\n _this3.preview.setAttribute('href', preview);\n _this3.show();\n _this3.position(_this3.quill.getBounds(_this3.linkRange));\n return;\n }\n } else {\n delete _this3.linkRange;\n }\n _this3.hide();\n });\n }\n }, {\n key: 'show',\n value: function show() {\n _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'show', this).call(this);\n this.root.removeAttribute('data-mode');\n }\n }]);\n\n return SnowTooltip;\n}(_base.BaseTooltip);\n\nSnowTooltip.TEMPLATE = ['', '', '', ''].join('');\n\nexports.default = SnowTheme;\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _core = __webpack_require__(29);\n\nvar _core2 = _interopRequireDefault(_core);\n\nvar _align = __webpack_require__(36);\n\nvar _direction = __webpack_require__(38);\n\nvar _indent = __webpack_require__(64);\n\nvar _blockquote = __webpack_require__(65);\n\nvar _blockquote2 = _interopRequireDefault(_blockquote);\n\nvar _header = __webpack_require__(66);\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _list = __webpack_require__(67);\n\nvar _list2 = _interopRequireDefault(_list);\n\nvar _background = __webpack_require__(37);\n\nvar _color = __webpack_require__(26);\n\nvar _font = __webpack_require__(39);\n\nvar _size = __webpack_require__(40);\n\nvar _bold = __webpack_require__(56);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nvar _italic = __webpack_require__(68);\n\nvar _italic2 = _interopRequireDefault(_italic);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _script = __webpack_require__(69);\n\nvar _script2 = _interopRequireDefault(_script);\n\nvar _strike = __webpack_require__(70);\n\nvar _strike2 = _interopRequireDefault(_strike);\n\nvar _underline = __webpack_require__(71);\n\nvar _underline2 = _interopRequireDefault(_underline);\n\nvar _image = __webpack_require__(72);\n\nvar _image2 = _interopRequireDefault(_image);\n\nvar _video = __webpack_require__(73);\n\nvar _video2 = _interopRequireDefault(_video);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _formula = __webpack_require__(74);\n\nvar _formula2 = _interopRequireDefault(_formula);\n\nvar _syntax = __webpack_require__(75);\n\nvar _syntax2 = _interopRequireDefault(_syntax);\n\nvar _toolbar = __webpack_require__(57);\n\nvar _toolbar2 = _interopRequireDefault(_toolbar);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _colorPicker = __webpack_require__(59);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(60);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _tooltip = __webpack_require__(61);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nvar _bubble = __webpack_require__(108);\n\nvar _bubble2 = _interopRequireDefault(_bubble);\n\nvar _snow = __webpack_require__(62);\n\nvar _snow2 = _interopRequireDefault(_snow);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_core2.default.register({\n 'attributors/attribute/direction': _direction.DirectionAttribute,\n\n 'attributors/class/align': _align.AlignClass,\n 'attributors/class/background': _background.BackgroundClass,\n 'attributors/class/color': _color.ColorClass,\n 'attributors/class/direction': _direction.DirectionClass,\n 'attributors/class/font': _font.FontClass,\n 'attributors/class/size': _size.SizeClass,\n\n 'attributors/style/align': _align.AlignStyle,\n 'attributors/style/background': _background.BackgroundStyle,\n 'attributors/style/color': _color.ColorStyle,\n 'attributors/style/direction': _direction.DirectionStyle,\n 'attributors/style/font': _font.FontStyle,\n 'attributors/style/size': _size.SizeStyle\n}, true);\n\n_core2.default.register({\n 'formats/align': _align.AlignClass,\n 'formats/direction': _direction.DirectionClass,\n 'formats/indent': _indent.IndentClass,\n\n 'formats/background': _background.BackgroundStyle,\n 'formats/color': _color.ColorStyle,\n 'formats/font': _font.FontClass,\n 'formats/size': _size.SizeClass,\n\n 'formats/blockquote': _blockquote2.default,\n 'formats/code-block': _code2.default,\n 'formats/header': _header2.default,\n 'formats/list': _list2.default,\n\n 'formats/bold': _bold2.default,\n 'formats/code': _code.Code,\n 'formats/italic': _italic2.default,\n 'formats/link': _link2.default,\n 'formats/script': _script2.default,\n 'formats/strike': _strike2.default,\n 'formats/underline': _underline2.default,\n\n 'formats/image': _image2.default,\n 'formats/video': _video2.default,\n\n 'formats/list/item': _list.ListItem,\n\n 'modules/formula': _formula2.default,\n 'modules/syntax': _syntax2.default,\n 'modules/toolbar': _toolbar2.default,\n\n 'themes/bubble': _bubble2.default,\n 'themes/snow': _snow2.default,\n\n 'ui/icons': _icons2.default,\n 'ui/picker': _picker2.default,\n 'ui/icon-picker': _iconPicker2.default,\n 'ui/color-picker': _colorPicker2.default,\n 'ui/tooltip': _tooltip2.default\n}, true);\n\nexports.default = _core2.default;\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.IndentClass = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IdentAttributor = function (_Parchment$Attributor) {\n _inherits(IdentAttributor, _Parchment$Attributor);\n\n function IdentAttributor() {\n _classCallCheck(this, IdentAttributor);\n\n return _possibleConstructorReturn(this, (IdentAttributor.__proto__ || Object.getPrototypeOf(IdentAttributor)).apply(this, arguments));\n }\n\n _createClass(IdentAttributor, [{\n key: 'add',\n value: function add(node, value) {\n if (value === '+1' || value === '-1') {\n var indent = this.value(node) || 0;\n value = value === '+1' ? indent + 1 : indent - 1;\n }\n if (value === 0) {\n this.remove(node);\n return true;\n } else {\n return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'add', this).call(this, node, value);\n }\n }\n }, {\n key: 'canAdd',\n value: function canAdd(node, value) {\n return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, value) || _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, parseInt(value));\n }\n }, {\n key: 'value',\n value: function value(node) {\n return parseInt(_get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'value', this).call(this, node)) || undefined; // Don't return NaN\n }\n }]);\n\n return IdentAttributor;\n}(_parchment2.default.Attributor.Class);\n\nvar IndentClass = new IdentAttributor('indent', 'ql-indent', {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: [1, 2, 3, 4, 5, 6, 7, 8]\n});\n\nexports.IndentClass = IndentClass;\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Blockquote = function (_Block) {\n _inherits(Blockquote, _Block);\n\n function Blockquote() {\n _classCallCheck(this, Blockquote);\n\n return _possibleConstructorReturn(this, (Blockquote.__proto__ || Object.getPrototypeOf(Blockquote)).apply(this, arguments));\n }\n\n return Blockquote;\n}(_block2.default);\n\nBlockquote.blotName = 'blockquote';\nBlockquote.tagName = 'blockquote';\n\nexports.default = Blockquote;\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Header = function (_Block) {\n _inherits(Header, _Block);\n\n function Header() {\n _classCallCheck(this, Header);\n\n return _possibleConstructorReturn(this, (Header.__proto__ || Object.getPrototypeOf(Header)).apply(this, arguments));\n }\n\n _createClass(Header, null, [{\n key: 'formats',\n value: function formats(domNode) {\n return this.tagName.indexOf(domNode.tagName) + 1;\n }\n }]);\n\n return Header;\n}(_block2.default);\n\nHeader.blotName = 'header';\nHeader.tagName = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];\n\nexports.default = Header;\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.ListItem = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ListItem = function (_Block) {\n _inherits(ListItem, _Block);\n\n function ListItem() {\n _classCallCheck(this, ListItem);\n\n return _possibleConstructorReturn(this, (ListItem.__proto__ || Object.getPrototypeOf(ListItem)).apply(this, arguments));\n }\n\n _createClass(ListItem, [{\n key: 'format',\n value: function format(name, value) {\n if (name === List.blotName && !value) {\n this.replaceWith(_parchment2.default.create(this.statics.scope));\n } else {\n _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'format', this).call(this, name, value);\n }\n }\n }, {\n key: 'remove',\n value: function remove() {\n if (this.prev == null && this.next == null) {\n this.parent.remove();\n } else {\n _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'remove', this).call(this);\n }\n }\n }, {\n key: 'replaceWith',\n value: function replaceWith(name, value) {\n this.parent.isolate(this.offset(this.parent), this.length());\n if (name === this.parent.statics.blotName) {\n this.parent.replaceWith(name, value);\n return this;\n } else {\n this.parent.unwrap();\n return _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'replaceWith', this).call(this, name, value);\n }\n }\n }], [{\n key: 'formats',\n value: function formats(domNode) {\n return domNode.tagName === this.tagName ? undefined : _get(ListItem.__proto__ || Object.getPrototypeOf(ListItem), 'formats', this).call(this, domNode);\n }\n }]);\n\n return ListItem;\n}(_block2.default);\n\nListItem.blotName = 'list-item';\nListItem.tagName = 'LI';\n\nvar List = function (_Container) {\n _inherits(List, _Container);\n\n _createClass(List, null, [{\n key: 'create',\n value: function create(value) {\n var tagName = value === 'ordered' ? 'OL' : 'UL';\n var node = _get(List.__proto__ || Object.getPrototypeOf(List), 'create', this).call(this, tagName);\n if (value === 'checked' || value === 'unchecked') {\n node.setAttribute('data-checked', value === 'checked');\n }\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n if (domNode.tagName === 'OL') return 'ordered';\n if (domNode.tagName === 'UL') {\n if (domNode.hasAttribute('data-checked')) {\n return domNode.getAttribute('data-checked') === 'true' ? 'checked' : 'unchecked';\n } else {\n return 'bullet';\n }\n }\n return undefined;\n }\n }]);\n\n function List(domNode) {\n _classCallCheck(this, List);\n\n var _this2 = _possibleConstructorReturn(this, (List.__proto__ || Object.getPrototypeOf(List)).call(this, domNode));\n\n var listEventHandler = function listEventHandler(e) {\n if (e.target.parentNode !== domNode) return;\n var format = _this2.statics.formats(domNode);\n var blot = _parchment2.default.find(e.target);\n if (format === 'checked') {\n blot.format('list', 'unchecked');\n } else if (format === 'unchecked') {\n blot.format('list', 'checked');\n }\n };\n\n domNode.addEventListener('touchstart', listEventHandler);\n domNode.addEventListener('mousedown', listEventHandler);\n return _this2;\n }\n\n _createClass(List, [{\n key: 'format',\n value: function format(name, value) {\n if (this.children.length > 0) {\n this.children.tail.format(name, value);\n }\n }\n }, {\n key: 'formats',\n value: function formats() {\n // We don't inherit from FormatBlot\n return _defineProperty({}, this.statics.blotName, this.statics.formats(this.domNode));\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n if (blot instanceof ListItem) {\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'insertBefore', this).call(this, blot, ref);\n } else {\n var index = ref == null ? this.length() : ref.offset(this);\n var after = this.split(index);\n after.parent.insertBefore(blot, after);\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'optimize', this).call(this, context);\n var next = this.next;\n if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && next.domNode.tagName === this.domNode.tagName && next.domNode.getAttribute('data-checked') === this.domNode.getAttribute('data-checked')) {\n next.moveChildren(this);\n next.remove();\n }\n }\n }, {\n key: 'replace',\n value: function replace(target) {\n if (target.statics.blotName !== this.statics.blotName) {\n var item = _parchment2.default.create(this.statics.defaultChild);\n target.moveChildren(item);\n this.appendChild(item);\n }\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'replace', this).call(this, target);\n }\n }]);\n\n return List;\n}(_container2.default);\n\nList.blotName = 'list';\nList.scope = _parchment2.default.Scope.BLOCK_BLOT;\nList.tagName = ['OL', 'UL'];\nList.defaultChild = 'list-item';\nList.allowedChildren = [ListItem];\n\nexports.ListItem = ListItem;\nexports.default = List;\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _bold = __webpack_require__(56);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Italic = function (_Bold) {\n _inherits(Italic, _Bold);\n\n function Italic() {\n _classCallCheck(this, Italic);\n\n return _possibleConstructorReturn(this, (Italic.__proto__ || Object.getPrototypeOf(Italic)).apply(this, arguments));\n }\n\n return Italic;\n}(_bold2.default);\n\nItalic.blotName = 'italic';\nItalic.tagName = ['EM', 'I'];\n\nexports.default = Italic;\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Script = function (_Inline) {\n _inherits(Script, _Inline);\n\n function Script() {\n _classCallCheck(this, Script);\n\n return _possibleConstructorReturn(this, (Script.__proto__ || Object.getPrototypeOf(Script)).apply(this, arguments));\n }\n\n _createClass(Script, null, [{\n key: 'create',\n value: function create(value) {\n if (value === 'super') {\n return document.createElement('sup');\n } else if (value === 'sub') {\n return document.createElement('sub');\n } else {\n return _get(Script.__proto__ || Object.getPrototypeOf(Script), 'create', this).call(this, value);\n }\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n if (domNode.tagName === 'SUB') return 'sub';\n if (domNode.tagName === 'SUP') return 'super';\n return undefined;\n }\n }]);\n\n return Script;\n}(_inline2.default);\n\nScript.blotName = 'script';\nScript.tagName = ['SUB', 'SUP'];\n\nexports.default = Script;\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Strike = function (_Inline) {\n _inherits(Strike, _Inline);\n\n function Strike() {\n _classCallCheck(this, Strike);\n\n return _possibleConstructorReturn(this, (Strike.__proto__ || Object.getPrototypeOf(Strike)).apply(this, arguments));\n }\n\n return Strike;\n}(_inline2.default);\n\nStrike.blotName = 'strike';\nStrike.tagName = 'S';\n\nexports.default = Strike;\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Underline = function (_Inline) {\n _inherits(Underline, _Inline);\n\n function Underline() {\n _classCallCheck(this, Underline);\n\n return _possibleConstructorReturn(this, (Underline.__proto__ || Object.getPrototypeOf(Underline)).apply(this, arguments));\n }\n\n return Underline;\n}(_inline2.default);\n\nUnderline.blotName = 'underline';\nUnderline.tagName = 'U';\n\nexports.default = Underline;\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _link = __webpack_require__(27);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['alt', 'height', 'width'];\n\nvar Image = function (_Parchment$Embed) {\n _inherits(Image, _Parchment$Embed);\n\n function Image() {\n _classCallCheck(this, Image);\n\n return _possibleConstructorReturn(this, (Image.__proto__ || Object.getPrototypeOf(Image)).apply(this, arguments));\n }\n\n _createClass(Image, [{\n key: 'format',\n value: function format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n _get(Image.prototype.__proto__ || Object.getPrototypeOf(Image.prototype), 'format', this).call(this, name, value);\n }\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Image.__proto__ || Object.getPrototypeOf(Image), 'create', this).call(this, value);\n if (typeof value === 'string') {\n node.setAttribute('src', this.sanitize(value));\n }\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n }, {\n key: 'match',\n value: function match(url) {\n return (/\\.(jpe?g|gif|png)$/.test(url) || /^data:image\\/.+;base64/.test(url)\n );\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return (0, _link.sanitize)(url, ['http', 'https', 'data']) ? url : '//:0';\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('src');\n }\n }]);\n\n return Image;\n}(_parchment2.default.Embed);\n\nImage.blotName = 'image';\nImage.tagName = 'IMG';\n\nexports.default = Image;\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _block = __webpack_require__(4);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['height', 'width'];\n\nvar Video = function (_BlockEmbed) {\n _inherits(Video, _BlockEmbed);\n\n function Video() {\n _classCallCheck(this, Video);\n\n return _possibleConstructorReturn(this, (Video.__proto__ || Object.getPrototypeOf(Video)).apply(this, arguments));\n }\n\n _createClass(Video, [{\n key: 'format',\n value: function format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n _get(Video.prototype.__proto__ || Object.getPrototypeOf(Video.prototype), 'format', this).call(this, name, value);\n }\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Video.__proto__ || Object.getPrototypeOf(Video), 'create', this).call(this, value);\n node.setAttribute('frameborder', '0');\n node.setAttribute('allowfullscreen', true);\n node.setAttribute('src', this.sanitize(value));\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return _link2.default.sanitize(url);\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('src');\n }\n }]);\n\n return Video;\n}(_block.BlockEmbed);\n\nVideo.blotName = 'video';\nVideo.className = 'ql-video';\nVideo.tagName = 'IFRAME';\n\nexports.default = Video;\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.FormulaBlot = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _embed = __webpack_require__(35);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar FormulaBlot = function (_Embed) {\n _inherits(FormulaBlot, _Embed);\n\n function FormulaBlot() {\n _classCallCheck(this, FormulaBlot);\n\n return _possibleConstructorReturn(this, (FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot)).apply(this, arguments));\n }\n\n _createClass(FormulaBlot, null, [{\n key: 'create',\n value: function create(value) {\n var node = _get(FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot), 'create', this).call(this, value);\n if (typeof value === 'string') {\n window.katex.render(value, node, {\n throwOnError: false,\n errorColor: '#f00'\n });\n node.setAttribute('data-value', value);\n }\n return node;\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('data-value');\n }\n }]);\n\n return FormulaBlot;\n}(_embed2.default);\n\nFormulaBlot.blotName = 'formula';\nFormulaBlot.className = 'ql-formula';\nFormulaBlot.tagName = 'SPAN';\n\nvar Formula = function (_Module) {\n _inherits(Formula, _Module);\n\n _createClass(Formula, null, [{\n key: 'register',\n value: function register() {\n _quill2.default.register(FormulaBlot, true);\n }\n }]);\n\n function Formula() {\n _classCallCheck(this, Formula);\n\n var _this2 = _possibleConstructorReturn(this, (Formula.__proto__ || Object.getPrototypeOf(Formula)).call(this));\n\n if (window.katex == null) {\n throw new Error('Formula module requires KaTeX.');\n }\n return _this2;\n }\n\n return Formula;\n}(_module2.default);\n\nexports.FormulaBlot = FormulaBlot;\nexports.default = Formula;\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.CodeToken = exports.CodeBlock = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar SyntaxCodeBlock = function (_CodeBlock) {\n _inherits(SyntaxCodeBlock, _CodeBlock);\n\n function SyntaxCodeBlock() {\n _classCallCheck(this, SyntaxCodeBlock);\n\n return _possibleConstructorReturn(this, (SyntaxCodeBlock.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock)).apply(this, arguments));\n }\n\n _createClass(SyntaxCodeBlock, [{\n key: 'replaceWith',\n value: function replaceWith(block) {\n this.domNode.textContent = this.domNode.textContent;\n this.attach();\n _get(SyntaxCodeBlock.prototype.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock.prototype), 'replaceWith', this).call(this, block);\n }\n }, {\n key: 'highlight',\n value: function highlight(_highlight) {\n var text = this.domNode.textContent;\n if (this.cachedText !== text) {\n if (text.trim().length > 0 || this.cachedText == null) {\n this.domNode.innerHTML = _highlight(text);\n this.domNode.normalize();\n this.attach();\n }\n this.cachedText = text;\n }\n }\n }]);\n\n return SyntaxCodeBlock;\n}(_code2.default);\n\nSyntaxCodeBlock.className = 'ql-syntax';\n\nvar CodeToken = new _parchment2.default.Attributor.Class('token', 'hljs', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nvar Syntax = function (_Module) {\n _inherits(Syntax, _Module);\n\n _createClass(Syntax, null, [{\n key: 'register',\n value: function register() {\n _quill2.default.register(CodeToken, true);\n _quill2.default.register(SyntaxCodeBlock, true);\n }\n }]);\n\n function Syntax(quill, options) {\n _classCallCheck(this, Syntax);\n\n var _this2 = _possibleConstructorReturn(this, (Syntax.__proto__ || Object.getPrototypeOf(Syntax)).call(this, quill, options));\n\n if (typeof _this2.options.highlight !== 'function') {\n throw new Error('Syntax module requires highlight.js. Please include the library on the page before Quill.');\n }\n var timer = null;\n _this2.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n clearTimeout(timer);\n timer = setTimeout(function () {\n _this2.highlight();\n timer = null;\n }, _this2.options.interval);\n });\n _this2.highlight();\n return _this2;\n }\n\n _createClass(Syntax, [{\n key: 'highlight',\n value: function highlight() {\n var _this3 = this;\n\n if (this.quill.selection.composing) return;\n this.quill.update(_quill2.default.sources.USER);\n var range = this.quill.getSelection();\n this.quill.scroll.descendants(SyntaxCodeBlock).forEach(function (code) {\n code.highlight(_this3.options.highlight);\n });\n this.quill.update(_quill2.default.sources.SILENT);\n if (range != null) {\n this.quill.setSelection(range, _quill2.default.sources.SILENT);\n }\n }\n }]);\n\n return Syntax;\n}(_module2.default);\n\nSyntax.DEFAULTS = {\n highlight: function () {\n if (window.hljs == null) return null;\n return function (text) {\n var result = window.hljs.highlightAuto(text);\n return result.value;\n };\n }(),\n interval: 1000\n};\n\nexports.CodeBlock = SyntaxCodeBlock;\nexports.CodeToken = CodeToken;\nexports.default = Syntax;\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BubbleTooltip = undefined;\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(43);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [['bold', 'italic', 'link'], [{ header: 1 }, { header: 2 }, 'blockquote']];\n\nvar BubbleTheme = function (_BaseTheme) {\n _inherits(BubbleTheme, _BaseTheme);\n\n function BubbleTheme(quill, options) {\n _classCallCheck(this, BubbleTheme);\n\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n\n var _this = _possibleConstructorReturn(this, (BubbleTheme.__proto__ || Object.getPrototypeOf(BubbleTheme)).call(this, quill, options));\n\n _this.quill.container.classList.add('ql-bubble');\n return _this;\n }\n\n _createClass(BubbleTheme, [{\n key: 'extendToolbar',\n value: function extendToolbar(toolbar) {\n this.tooltip = new BubbleTooltip(this.quill, this.options.bounds);\n this.tooltip.root.appendChild(toolbar.container);\n this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n }\n }]);\n\n return BubbleTheme;\n}(_base2.default);\n\nBubbleTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link: function link(value) {\n if (!value) {\n this.quill.format('link', false);\n } else {\n this.quill.theme.tooltip.edit();\n }\n }\n }\n }\n }\n});\n\nvar BubbleTooltip = function (_BaseTooltip) {\n _inherits(BubbleTooltip, _BaseTooltip);\n\n function BubbleTooltip(quill, bounds) {\n _classCallCheck(this, BubbleTooltip);\n\n var _this2 = _possibleConstructorReturn(this, (BubbleTooltip.__proto__ || Object.getPrototypeOf(BubbleTooltip)).call(this, quill, bounds));\n\n _this2.quill.on(_emitter2.default.events.EDITOR_CHANGE, function (type, range, oldRange, source) {\n if (type !== _emitter2.default.events.SELECTION_CHANGE) return;\n if (range != null && range.length > 0 && source === _emitter2.default.sources.USER) {\n _this2.show();\n // Lock our width so we will expand beyond our offsetParent boundaries\n _this2.root.style.left = '0px';\n _this2.root.style.width = '';\n _this2.root.style.width = _this2.root.offsetWidth + 'px';\n var lines = _this2.quill.getLines(range.index, range.length);\n if (lines.length === 1) {\n _this2.position(_this2.quill.getBounds(range));\n } else {\n var lastLine = lines[lines.length - 1];\n var index = _this2.quill.getIndex(lastLine);\n var length = Math.min(lastLine.length() - 1, range.index + range.length - index);\n var _bounds = _this2.quill.getBounds(new _selection.Range(index, length));\n _this2.position(_bounds);\n }\n } else if (document.activeElement !== _this2.textbox && _this2.quill.hasFocus()) {\n _this2.hide();\n }\n });\n return _this2;\n }\n\n _createClass(BubbleTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this3 = this;\n\n _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'listen', this).call(this);\n this.root.querySelector('.ql-close').addEventListener('click', function () {\n _this3.root.classList.remove('ql-editing');\n });\n this.quill.on(_emitter2.default.events.SCROLL_OPTIMIZE, function () {\n // Let selection be restored by toolbar handlers before repositioning\n setTimeout(function () {\n if (_this3.root.classList.contains('ql-hidden')) return;\n var range = _this3.quill.getSelection();\n if (range != null) {\n _this3.position(_this3.quill.getBounds(range));\n }\n }, 1);\n });\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n this.show();\n }\n }, {\n key: 'position',\n value: function position(reference) {\n var shift = _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'position', this).call(this, reference);\n var arrow = this.root.querySelector('.ql-tooltip-arrow');\n arrow.style.marginLeft = '';\n if (shift === 0) return shift;\n arrow.style.marginLeft = -1 * shift - arrow.offsetWidth / 2 + 'px';\n }\n }]);\n\n return BubbleTooltip;\n}(_base.BaseTooltip);\n\nBubbleTooltip.TEMPLATE = ['', '
    ', '', '', '
    '].join('');\n\nexports.BubbleTooltip = BubbleTooltip;\nexports.default = BubbleTheme;\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(63);\n\n\n/***/ })\n/******/ ])[\"default\"];\n});","import Quill from 'quill';\n\nfunction quill(node, options) {\n const quill = new Quill(node, {\n modules: {\n toolbar: [\n ['bold', 'italic', 'underline', 'strike'], // toggled buttons\n ['blockquote', 'code-block'],\n [{ list: 'ordered' }, { list: 'bullet' }],\n [{ script: 'sub' }, { script: 'super' }], // superscript/subscript\n [{ indent: '-1' }, { indent: '+1' }], // outdent/indent\n [{ header: [1, 2, 3, 4, 5, 6, false] }],\n [{ color: [] }, { background: [] }], // dropdown with defaults from theme\n [{ align: [] }],\n ['clean'], // remove formatting button\n ],\n clipboard: {\n matchVisual: false,\n },\n },\n placeholder: 'Type something...',\n theme: 'snow',\n ...options,\n });\n const container = node.getElementsByClassName('ql-editor')[0];\n if (options.content !== '') {\n const delta = quill.clipboard.convert(options.content);\n quill.setContents(delta);\n }\n\n quill.on('text-change', function (delta, oldDelta, source) {\n node.dispatchEvent(\n new CustomEvent('text-change', {\n detail: {\n html: container.innerHTML.replace('


    ', ''),\n text: quill.getText(),\n },\n }),\n );\n });\n}\n\nexport { quill };\n","\n\n\n","\n\n\n
    \n
    \n \n \n \n {#each planTypes as pType}\n \n {/each}\n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n {#each priorities as p}\n \n
    \n
    \n
    \n {\n e.preventDefault();\n descriptionExpanded = !descriptionExpanded;\n }}\n class=\"inline-block align-baseline text-sm\n text-blue-700 dark:text-sky-400 hover:text-blue-800 dark:hover:text-sky-600 bg-transparent\n border-transparent me-1 font-bold text-xl\"\n type=\"button\"\n >\n {#if descriptionExpanded}-{:else}+{/if}\n \n {$LL.planDescription()}\n
    \n {#if descriptionExpanded}\n
    \n
    \n (description = c)}\n />\n
    \n
    \n {/if}\n
    \n
    \n
    \n {\n e.preventDefault();\n acceptanceExpanded = !acceptanceExpanded;\n }}\n class=\"inline-block align-baseline text-sm\n text-blue-700 dark:text-sky-400 hover:text-blue-800 dark:hover:text-sky-600 bg-transparent\n border-transparent me-1 font-bold text-xl\"\n type=\"button\"\n >\n {#if acceptanceExpanded}-{:else}+{/if}\n \n {$LL.planAcceptanceCriteria()}\n
    \n {#if acceptanceExpanded}\n
    \n
    \n (acceptanceCriteria = c)}\n />\n
    \n
    \n {/if}\n
    \n
    \n
    \n {$LL.save()}\n
    \n
    \n
    \n
    \n","\n\n\n
    \n
    \n {$LL.planType()}\n
    \n {planType}\n
    \n
    \n
    \n {$LL.planName()}\n
    \n {planName}\n
    \n
    \n
    \n {$LL.planReferenceId()}\n
    \n {referenceId}\n
    \n
    \n
    {$LL.planLink()}
    \n {#if planLink !== ''}\n \n \n {planLink}\n \n {/if}\n
    \n {@const SvelteComponent = priorities[priority].icon}\n
    \n
    \n {$LL.planPriority()}\n
    \n {priorities[priority].name}\n
    \n
    \n
    \n {$LL.planDescription()}\n
    \n
    \n {@html description}\n
    \n
    \n
    \n
    \n {$LL.planAcceptanceCriteria()}\n
    \n
    \n {@html acceptanceCriteria}\n
    \n
    \n
    \n","\n\n{#if allowCsvImport}\n \n {$LL.selectFile()}\n \n \n{/if}\n","/*! https://mths.be/he v1.2.0 by @mathias | MIT license */\n;(function(root) {\n\n\t// Detect free variables `exports`.\n\tvar freeExports = typeof exports == 'object' && exports;\n\n\t// Detect free variable `module`.\n\tvar freeModule = typeof module == 'object' && module &&\n\t\tmodule.exports == freeExports && module;\n\n\t// Detect free variable `global`, from Node.js or Browserified code,\n\t// and use it as `root`.\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t// All astral symbols.\n\tvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\t// All ASCII symbols (not just printable ASCII) except those listed in the\n\t// first column of the overrides table.\n\t// https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides\n\tvar regexAsciiWhitelist = /[\\x01-\\x7F]/g;\n\t// All BMP symbols that are not ASCII newlines, printable ASCII symbols, or\n\t// code points listed in the first column of the overrides table on\n\t// https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides.\n\tvar regexBmpWhitelist = /[\\x01-\\t\\x0B\\f\\x0E-\\x1F\\x7F\\x81\\x8D\\x8F\\x90\\x9D\\xA0-\\uFFFF]/g;\n\n\tvar regexEncodeNonAscii = /<\\u20D2|=\\u20E5|>\\u20D2|\\u205F\\u200A|\\u219D\\u0338|\\u2202\\u0338|\\u2220\\u20D2|\\u2229\\uFE00|\\u222A\\uFE00|\\u223C\\u20D2|\\u223D\\u0331|\\u223E\\u0333|\\u2242\\u0338|\\u224B\\u0338|\\u224D\\u20D2|\\u224E\\u0338|\\u224F\\u0338|\\u2250\\u0338|\\u2261\\u20E5|\\u2264\\u20D2|\\u2265\\u20D2|\\u2266\\u0338|\\u2267\\u0338|\\u2268\\uFE00|\\u2269\\uFE00|\\u226A\\u0338|\\u226A\\u20D2|\\u226B\\u0338|\\u226B\\u20D2|\\u227F\\u0338|\\u2282\\u20D2|\\u2283\\u20D2|\\u228A\\uFE00|\\u228B\\uFE00|\\u228F\\u0338|\\u2290\\u0338|\\u2293\\uFE00|\\u2294\\uFE00|\\u22B4\\u20D2|\\u22B5\\u20D2|\\u22D8\\u0338|\\u22D9\\u0338|\\u22DA\\uFE00|\\u22DB\\uFE00|\\u22F5\\u0338|\\u22F9\\u0338|\\u2933\\u0338|\\u29CF\\u0338|\\u29D0\\u0338|\\u2A6D\\u0338|\\u2A70\\u0338|\\u2A7D\\u0338|\\u2A7E\\u0338|\\u2AA1\\u0338|\\u2AA2\\u0338|\\u2AAC\\uFE00|\\u2AAD\\uFE00|\\u2AAF\\u0338|\\u2AB0\\u0338|\\u2AC5\\u0338|\\u2AC6\\u0338|\\u2ACB\\uFE00|\\u2ACC\\uFE00|\\u2AFD\\u20E5|[\\xA0-\\u0113\\u0116-\\u0122\\u0124-\\u012B\\u012E-\\u014D\\u0150-\\u017E\\u0192\\u01B5\\u01F5\\u0237\\u02C6\\u02C7\\u02D8-\\u02DD\\u0311\\u0391-\\u03A1\\u03A3-\\u03A9\\u03B1-\\u03C9\\u03D1\\u03D2\\u03D5\\u03D6\\u03DC\\u03DD\\u03F0\\u03F1\\u03F5\\u03F6\\u0401-\\u040C\\u040E-\\u044F\\u0451-\\u045C\\u045E\\u045F\\u2002-\\u2005\\u2007-\\u2010\\u2013-\\u2016\\u2018-\\u201A\\u201C-\\u201E\\u2020-\\u2022\\u2025\\u2026\\u2030-\\u2035\\u2039\\u203A\\u203E\\u2041\\u2043\\u2044\\u204F\\u2057\\u205F-\\u2063\\u20AC\\u20DB\\u20DC\\u2102\\u2105\\u210A-\\u2113\\u2115-\\u211E\\u2122\\u2124\\u2127-\\u2129\\u212C\\u212D\\u212F-\\u2131\\u2133-\\u2138\\u2145-\\u2148\\u2153-\\u215E\\u2190-\\u219B\\u219D-\\u21A7\\u21A9-\\u21AE\\u21B0-\\u21B3\\u21B5-\\u21B7\\u21BA-\\u21DB\\u21DD\\u21E4\\u21E5\\u21F5\\u21FD-\\u2205\\u2207-\\u2209\\u220B\\u220C\\u220F-\\u2214\\u2216-\\u2218\\u221A\\u221D-\\u2238\\u223A-\\u2257\\u2259\\u225A\\u225C\\u225F-\\u2262\\u2264-\\u228B\\u228D-\\u229B\\u229D-\\u22A5\\u22A7-\\u22B0\\u22B2-\\u22BB\\u22BD-\\u22DB\\u22DE-\\u22E3\\u22E6-\\u22F7\\u22F9-\\u22FE\\u2305\\u2306\\u2308-\\u2310\\u2312\\u2313\\u2315\\u2316\\u231C-\\u231F\\u2322\\u2323\\u232D\\u232E\\u2336\\u233D\\u233F\\u237C\\u23B0\\u23B1\\u23B4-\\u23B6\\u23DC-\\u23DF\\u23E2\\u23E7\\u2423\\u24C8\\u2500\\u2502\\u250C\\u2510\\u2514\\u2518\\u251C\\u2524\\u252C\\u2534\\u253C\\u2550-\\u256C\\u2580\\u2584\\u2588\\u2591-\\u2593\\u25A1\\u25AA\\u25AB\\u25AD\\u25AE\\u25B1\\u25B3-\\u25B5\\u25B8\\u25B9\\u25BD-\\u25BF\\u25C2\\u25C3\\u25CA\\u25CB\\u25EC\\u25EF\\u25F8-\\u25FC\\u2605\\u2606\\u260E\\u2640\\u2642\\u2660\\u2663\\u2665\\u2666\\u266A\\u266D-\\u266F\\u2713\\u2717\\u2720\\u2736\\u2758\\u2772\\u2773\\u27C8\\u27C9\\u27E6-\\u27ED\\u27F5-\\u27FA\\u27FC\\u27FF\\u2902-\\u2905\\u290C-\\u2913\\u2916\\u2919-\\u2920\\u2923-\\u292A\\u2933\\u2935-\\u2939\\u293C\\u293D\\u2945\\u2948-\\u294B\\u294E-\\u2976\\u2978\\u2979\\u297B-\\u297F\\u2985\\u2986\\u298B-\\u2996\\u299A\\u299C\\u299D\\u29A4-\\u29B7\\u29B9\\u29BB\\u29BC\\u29BE-\\u29C5\\u29C9\\u29CD-\\u29D0\\u29DC-\\u29DE\\u29E3-\\u29E5\\u29EB\\u29F4\\u29F6\\u2A00-\\u2A02\\u2A04\\u2A06\\u2A0C\\u2A0D\\u2A10-\\u2A17\\u2A22-\\u2A27\\u2A29\\u2A2A\\u2A2D-\\u2A31\\u2A33-\\u2A3C\\u2A3F\\u2A40\\u2A42-\\u2A4D\\u2A50\\u2A53-\\u2A58\\u2A5A-\\u2A5D\\u2A5F\\u2A66\\u2A6A\\u2A6D-\\u2A75\\u2A77-\\u2A9A\\u2A9D-\\u2AA2\\u2AA4-\\u2AB0\\u2AB3-\\u2AC8\\u2ACB\\u2ACC\\u2ACF-\\u2ADB\\u2AE4\\u2AE6-\\u2AE9\\u2AEB-\\u2AF3\\u2AFD\\uFB00-\\uFB04]|\\uD835[\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDCCF\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDD6B]/g;\n\tvar encodeMap = {'\\xAD':'shy','\\u200C':'zwnj','\\u200D':'zwj','\\u200E':'lrm','\\u2063':'ic','\\u2062':'it','\\u2061':'af','\\u200F':'rlm','\\u200B':'ZeroWidthSpace','\\u2060':'NoBreak','\\u0311':'DownBreve','\\u20DB':'tdot','\\u20DC':'DotDot','\\t':'Tab','\\n':'NewLine','\\u2008':'puncsp','\\u205F':'MediumSpace','\\u2009':'thinsp','\\u200A':'hairsp','\\u2004':'emsp13','\\u2002':'ensp','\\u2005':'emsp14','\\u2003':'emsp','\\u2007':'numsp','\\xA0':'nbsp','\\u205F\\u200A':'ThickSpace','\\u203E':'oline','_':'lowbar','\\u2010':'dash','\\u2013':'ndash','\\u2014':'mdash','\\u2015':'horbar',',':'comma',';':'semi','\\u204F':'bsemi',':':'colon','\\u2A74':'Colone','!':'excl','\\xA1':'iexcl','?':'quest','\\xBF':'iquest','.':'period','\\u2025':'nldr','\\u2026':'mldr','\\xB7':'middot','\\'':'apos','\\u2018':'lsquo','\\u2019':'rsquo','\\u201A':'sbquo','\\u2039':'lsaquo','\\u203A':'rsaquo','\"':'quot','\\u201C':'ldquo','\\u201D':'rdquo','\\u201E':'bdquo','\\xAB':'laquo','\\xBB':'raquo','(':'lpar',')':'rpar','[':'lsqb',']':'rsqb','{':'lcub','}':'rcub','\\u2308':'lceil','\\u2309':'rceil','\\u230A':'lfloor','\\u230B':'rfloor','\\u2985':'lopar','\\u2986':'ropar','\\u298B':'lbrke','\\u298C':'rbrke','\\u298D':'lbrkslu','\\u298E':'rbrksld','\\u298F':'lbrksld','\\u2990':'rbrkslu','\\u2991':'langd','\\u2992':'rangd','\\u2993':'lparlt','\\u2994':'rpargt','\\u2995':'gtlPar','\\u2996':'ltrPar','\\u27E6':'lobrk','\\u27E7':'robrk','\\u27E8':'lang','\\u27E9':'rang','\\u27EA':'Lang','\\u27EB':'Rang','\\u27EC':'loang','\\u27ED':'roang','\\u2772':'lbbrk','\\u2773':'rbbrk','\\u2016':'Vert','\\xA7':'sect','\\xB6':'para','@':'commat','*':'ast','/':'sol','undefined':null,'&':'amp','#':'num','%':'percnt','\\u2030':'permil','\\u2031':'pertenk','\\u2020':'dagger','\\u2021':'Dagger','\\u2022':'bull','\\u2043':'hybull','\\u2032':'prime','\\u2033':'Prime','\\u2034':'tprime','\\u2057':'qprime','\\u2035':'bprime','\\u2041':'caret','`':'grave','\\xB4':'acute','\\u02DC':'tilde','^':'Hat','\\xAF':'macr','\\u02D8':'breve','\\u02D9':'dot','\\xA8':'die','\\u02DA':'ring','\\u02DD':'dblac','\\xB8':'cedil','\\u02DB':'ogon','\\u02C6':'circ','\\u02C7':'caron','\\xB0':'deg','\\xA9':'copy','\\xAE':'reg','\\u2117':'copysr','\\u2118':'wp','\\u211E':'rx','\\u2127':'mho','\\u2129':'iiota','\\u2190':'larr','\\u219A':'nlarr','\\u2192':'rarr','\\u219B':'nrarr','\\u2191':'uarr','\\u2193':'darr','\\u2194':'harr','\\u21AE':'nharr','\\u2195':'varr','\\u2196':'nwarr','\\u2197':'nearr','\\u2198':'searr','\\u2199':'swarr','\\u219D':'rarrw','\\u219D\\u0338':'nrarrw','\\u219E':'Larr','\\u219F':'Uarr','\\u21A0':'Rarr','\\u21A1':'Darr','\\u21A2':'larrtl','\\u21A3':'rarrtl','\\u21A4':'mapstoleft','\\u21A5':'mapstoup','\\u21A6':'map','\\u21A7':'mapstodown','\\u21A9':'larrhk','\\u21AA':'rarrhk','\\u21AB':'larrlp','\\u21AC':'rarrlp','\\u21AD':'harrw','\\u21B0':'lsh','\\u21B1':'rsh','\\u21B2':'ldsh','\\u21B3':'rdsh','\\u21B5':'crarr','\\u21B6':'cularr','\\u21B7':'curarr','\\u21BA':'olarr','\\u21BB':'orarr','\\u21BC':'lharu','\\u21BD':'lhard','\\u21BE':'uharr','\\u21BF':'uharl','\\u21C0':'rharu','\\u21C1':'rhard','\\u21C2':'dharr','\\u21C3':'dharl','\\u21C4':'rlarr','\\u21C5':'udarr','\\u21C6':'lrarr','\\u21C7':'llarr','\\u21C8':'uuarr','\\u21C9':'rrarr','\\u21CA':'ddarr','\\u21CB':'lrhar','\\u21CC':'rlhar','\\u21D0':'lArr','\\u21CD':'nlArr','\\u21D1':'uArr','\\u21D2':'rArr','\\u21CF':'nrArr','\\u21D3':'dArr','\\u21D4':'iff','\\u21CE':'nhArr','\\u21D5':'vArr','\\u21D6':'nwArr','\\u21D7':'neArr','\\u21D8':'seArr','\\u21D9':'swArr','\\u21DA':'lAarr','\\u21DB':'rAarr','\\u21DD':'zigrarr','\\u21E4':'larrb','\\u21E5':'rarrb','\\u21F5':'duarr','\\u21FD':'loarr','\\u21FE':'roarr','\\u21FF':'hoarr','\\u2200':'forall','\\u2201':'comp','\\u2202':'part','\\u2202\\u0338':'npart','\\u2203':'exist','\\u2204':'nexist','\\u2205':'empty','\\u2207':'Del','\\u2208':'in','\\u2209':'notin','\\u220B':'ni','\\u220C':'notni','\\u03F6':'bepsi','\\u220F':'prod','\\u2210':'coprod','\\u2211':'sum','+':'plus','\\xB1':'pm','\\xF7':'div','\\xD7':'times','<':'lt','\\u226E':'nlt','<\\u20D2':'nvlt','=':'equals','\\u2260':'ne','=\\u20E5':'bne','\\u2A75':'Equal','>':'gt','\\u226F':'ngt','>\\u20D2':'nvgt','\\xAC':'not','|':'vert','\\xA6':'brvbar','\\u2212':'minus','\\u2213':'mp','\\u2214':'plusdo','\\u2044':'frasl','\\u2216':'setmn','\\u2217':'lowast','\\u2218':'compfn','\\u221A':'Sqrt','\\u221D':'prop','\\u221E':'infin','\\u221F':'angrt','\\u2220':'ang','\\u2220\\u20D2':'nang','\\u2221':'angmsd','\\u2222':'angsph','\\u2223':'mid','\\u2224':'nmid','\\u2225':'par','\\u2226':'npar','\\u2227':'and','\\u2228':'or','\\u2229':'cap','\\u2229\\uFE00':'caps','\\u222A':'cup','\\u222A\\uFE00':'cups','\\u222B':'int','\\u222C':'Int','\\u222D':'tint','\\u2A0C':'qint','\\u222E':'oint','\\u222F':'Conint','\\u2230':'Cconint','\\u2231':'cwint','\\u2232':'cwconint','\\u2233':'awconint','\\u2234':'there4','\\u2235':'becaus','\\u2236':'ratio','\\u2237':'Colon','\\u2238':'minusd','\\u223A':'mDDot','\\u223B':'homtht','\\u223C':'sim','\\u2241':'nsim','\\u223C\\u20D2':'nvsim','\\u223D':'bsim','\\u223D\\u0331':'race','\\u223E':'ac','\\u223E\\u0333':'acE','\\u223F':'acd','\\u2240':'wr','\\u2242':'esim','\\u2242\\u0338':'nesim','\\u2243':'sime','\\u2244':'nsime','\\u2245':'cong','\\u2247':'ncong','\\u2246':'simne','\\u2248':'ap','\\u2249':'nap','\\u224A':'ape','\\u224B':'apid','\\u224B\\u0338':'napid','\\u224C':'bcong','\\u224D':'CupCap','\\u226D':'NotCupCap','\\u224D\\u20D2':'nvap','\\u224E':'bump','\\u224E\\u0338':'nbump','\\u224F':'bumpe','\\u224F\\u0338':'nbumpe','\\u2250':'doteq','\\u2250\\u0338':'nedot','\\u2251':'eDot','\\u2252':'efDot','\\u2253':'erDot','\\u2254':'colone','\\u2255':'ecolon','\\u2256':'ecir','\\u2257':'cire','\\u2259':'wedgeq','\\u225A':'veeeq','\\u225C':'trie','\\u225F':'equest','\\u2261':'equiv','\\u2262':'nequiv','\\u2261\\u20E5':'bnequiv','\\u2264':'le','\\u2270':'nle','\\u2264\\u20D2':'nvle','\\u2265':'ge','\\u2271':'nge','\\u2265\\u20D2':'nvge','\\u2266':'lE','\\u2266\\u0338':'nlE','\\u2267':'gE','\\u2267\\u0338':'ngE','\\u2268\\uFE00':'lvnE','\\u2268':'lnE','\\u2269':'gnE','\\u2269\\uFE00':'gvnE','\\u226A':'ll','\\u226A\\u0338':'nLtv','\\u226A\\u20D2':'nLt','\\u226B':'gg','\\u226B\\u0338':'nGtv','\\u226B\\u20D2':'nGt','\\u226C':'twixt','\\u2272':'lsim','\\u2274':'nlsim','\\u2273':'gsim','\\u2275':'ngsim','\\u2276':'lg','\\u2278':'ntlg','\\u2277':'gl','\\u2279':'ntgl','\\u227A':'pr','\\u2280':'npr','\\u227B':'sc','\\u2281':'nsc','\\u227C':'prcue','\\u22E0':'nprcue','\\u227D':'sccue','\\u22E1':'nsccue','\\u227E':'prsim','\\u227F':'scsim','\\u227F\\u0338':'NotSucceedsTilde','\\u2282':'sub','\\u2284':'nsub','\\u2282\\u20D2':'vnsub','\\u2283':'sup','\\u2285':'nsup','\\u2283\\u20D2':'vnsup','\\u2286':'sube','\\u2288':'nsube','\\u2287':'supe','\\u2289':'nsupe','\\u228A\\uFE00':'vsubne','\\u228A':'subne','\\u228B\\uFE00':'vsupne','\\u228B':'supne','\\u228D':'cupdot','\\u228E':'uplus','\\u228F':'sqsub','\\u228F\\u0338':'NotSquareSubset','\\u2290':'sqsup','\\u2290\\u0338':'NotSquareSuperset','\\u2291':'sqsube','\\u22E2':'nsqsube','\\u2292':'sqsupe','\\u22E3':'nsqsupe','\\u2293':'sqcap','\\u2293\\uFE00':'sqcaps','\\u2294':'sqcup','\\u2294\\uFE00':'sqcups','\\u2295':'oplus','\\u2296':'ominus','\\u2297':'otimes','\\u2298':'osol','\\u2299':'odot','\\u229A':'ocir','\\u229B':'oast','\\u229D':'odash','\\u229E':'plusb','\\u229F':'minusb','\\u22A0':'timesb','\\u22A1':'sdotb','\\u22A2':'vdash','\\u22AC':'nvdash','\\u22A3':'dashv','\\u22A4':'top','\\u22A5':'bot','\\u22A7':'models','\\u22A8':'vDash','\\u22AD':'nvDash','\\u22A9':'Vdash','\\u22AE':'nVdash','\\u22AA':'Vvdash','\\u22AB':'VDash','\\u22AF':'nVDash','\\u22B0':'prurel','\\u22B2':'vltri','\\u22EA':'nltri','\\u22B3':'vrtri','\\u22EB':'nrtri','\\u22B4':'ltrie','\\u22EC':'nltrie','\\u22B4\\u20D2':'nvltrie','\\u22B5':'rtrie','\\u22ED':'nrtrie','\\u22B5\\u20D2':'nvrtrie','\\u22B6':'origof','\\u22B7':'imof','\\u22B8':'mumap','\\u22B9':'hercon','\\u22BA':'intcal','\\u22BB':'veebar','\\u22BD':'barvee','\\u22BE':'angrtvb','\\u22BF':'lrtri','\\u22C0':'Wedge','\\u22C1':'Vee','\\u22C2':'xcap','\\u22C3':'xcup','\\u22C4':'diam','\\u22C5':'sdot','\\u22C6':'Star','\\u22C7':'divonx','\\u22C8':'bowtie','\\u22C9':'ltimes','\\u22CA':'rtimes','\\u22CB':'lthree','\\u22CC':'rthree','\\u22CD':'bsime','\\u22CE':'cuvee','\\u22CF':'cuwed','\\u22D0':'Sub','\\u22D1':'Sup','\\u22D2':'Cap','\\u22D3':'Cup','\\u22D4':'fork','\\u22D5':'epar','\\u22D6':'ltdot','\\u22D7':'gtdot','\\u22D8':'Ll','\\u22D8\\u0338':'nLl','\\u22D9':'Gg','\\u22D9\\u0338':'nGg','\\u22DA\\uFE00':'lesg','\\u22DA':'leg','\\u22DB':'gel','\\u22DB\\uFE00':'gesl','\\u22DE':'cuepr','\\u22DF':'cuesc','\\u22E6':'lnsim','\\u22E7':'gnsim','\\u22E8':'prnsim','\\u22E9':'scnsim','\\u22EE':'vellip','\\u22EF':'ctdot','\\u22F0':'utdot','\\u22F1':'dtdot','\\u22F2':'disin','\\u22F3':'isinsv','\\u22F4':'isins','\\u22F5':'isindot','\\u22F5\\u0338':'notindot','\\u22F6':'notinvc','\\u22F7':'notinvb','\\u22F9':'isinE','\\u22F9\\u0338':'notinE','\\u22FA':'nisd','\\u22FB':'xnis','\\u22FC':'nis','\\u22FD':'notnivc','\\u22FE':'notnivb','\\u2305':'barwed','\\u2306':'Barwed','\\u230C':'drcrop','\\u230D':'dlcrop','\\u230E':'urcrop','\\u230F':'ulcrop','\\u2310':'bnot','\\u2312':'profline','\\u2313':'profsurf','\\u2315':'telrec','\\u2316':'target','\\u231C':'ulcorn','\\u231D':'urcorn','\\u231E':'dlcorn','\\u231F':'drcorn','\\u2322':'frown','\\u2323':'smile','\\u232D':'cylcty','\\u232E':'profalar','\\u2336':'topbot','\\u233D':'ovbar','\\u233F':'solbar','\\u237C':'angzarr','\\u23B0':'lmoust','\\u23B1':'rmoust','\\u23B4':'tbrk','\\u23B5':'bbrk','\\u23B6':'bbrktbrk','\\u23DC':'OverParenthesis','\\u23DD':'UnderParenthesis','\\u23DE':'OverBrace','\\u23DF':'UnderBrace','\\u23E2':'trpezium','\\u23E7':'elinters','\\u2423':'blank','\\u2500':'boxh','\\u2502':'boxv','\\u250C':'boxdr','\\u2510':'boxdl','\\u2514':'boxur','\\u2518':'boxul','\\u251C':'boxvr','\\u2524':'boxvl','\\u252C':'boxhd','\\u2534':'boxhu','\\u253C':'boxvh','\\u2550':'boxH','\\u2551':'boxV','\\u2552':'boxdR','\\u2553':'boxDr','\\u2554':'boxDR','\\u2555':'boxdL','\\u2556':'boxDl','\\u2557':'boxDL','\\u2558':'boxuR','\\u2559':'boxUr','\\u255A':'boxUR','\\u255B':'boxuL','\\u255C':'boxUl','\\u255D':'boxUL','\\u255E':'boxvR','\\u255F':'boxVr','\\u2560':'boxVR','\\u2561':'boxvL','\\u2562':'boxVl','\\u2563':'boxVL','\\u2564':'boxHd','\\u2565':'boxhD','\\u2566':'boxHD','\\u2567':'boxHu','\\u2568':'boxhU','\\u2569':'boxHU','\\u256A':'boxvH','\\u256B':'boxVh','\\u256C':'boxVH','\\u2580':'uhblk','\\u2584':'lhblk','\\u2588':'block','\\u2591':'blk14','\\u2592':'blk12','\\u2593':'blk34','\\u25A1':'squ','\\u25AA':'squf','\\u25AB':'EmptyVerySmallSquare','\\u25AD':'rect','\\u25AE':'marker','\\u25B1':'fltns','\\u25B3':'xutri','\\u25B4':'utrif','\\u25B5':'utri','\\u25B8':'rtrif','\\u25B9':'rtri','\\u25BD':'xdtri','\\u25BE':'dtrif','\\u25BF':'dtri','\\u25C2':'ltrif','\\u25C3':'ltri','\\u25CA':'loz','\\u25CB':'cir','\\u25EC':'tridot','\\u25EF':'xcirc','\\u25F8':'ultri','\\u25F9':'urtri','\\u25FA':'lltri','\\u25FB':'EmptySmallSquare','\\u25FC':'FilledSmallSquare','\\u2605':'starf','\\u2606':'star','\\u260E':'phone','\\u2640':'female','\\u2642':'male','\\u2660':'spades','\\u2663':'clubs','\\u2665':'hearts','\\u2666':'diams','\\u266A':'sung','\\u2713':'check','\\u2717':'cross','\\u2720':'malt','\\u2736':'sext','\\u2758':'VerticalSeparator','\\u27C8':'bsolhsub','\\u27C9':'suphsol','\\u27F5':'xlarr','\\u27F6':'xrarr','\\u27F7':'xharr','\\u27F8':'xlArr','\\u27F9':'xrArr','\\u27FA':'xhArr','\\u27FC':'xmap','\\u27FF':'dzigrarr','\\u2902':'nvlArr','\\u2903':'nvrArr','\\u2904':'nvHarr','\\u2905':'Map','\\u290C':'lbarr','\\u290D':'rbarr','\\u290E':'lBarr','\\u290F':'rBarr','\\u2910':'RBarr','\\u2911':'DDotrahd','\\u2912':'UpArrowBar','\\u2913':'DownArrowBar','\\u2916':'Rarrtl','\\u2919':'latail','\\u291A':'ratail','\\u291B':'lAtail','\\u291C':'rAtail','\\u291D':'larrfs','\\u291E':'rarrfs','\\u291F':'larrbfs','\\u2920':'rarrbfs','\\u2923':'nwarhk','\\u2924':'nearhk','\\u2925':'searhk','\\u2926':'swarhk','\\u2927':'nwnear','\\u2928':'toea','\\u2929':'tosa','\\u292A':'swnwar','\\u2933':'rarrc','\\u2933\\u0338':'nrarrc','\\u2935':'cudarrr','\\u2936':'ldca','\\u2937':'rdca','\\u2938':'cudarrl','\\u2939':'larrpl','\\u293C':'curarrm','\\u293D':'cularrp','\\u2945':'rarrpl','\\u2948':'harrcir','\\u2949':'Uarrocir','\\u294A':'lurdshar','\\u294B':'ldrushar','\\u294E':'LeftRightVector','\\u294F':'RightUpDownVector','\\u2950':'DownLeftRightVector','\\u2951':'LeftUpDownVector','\\u2952':'LeftVectorBar','\\u2953':'RightVectorBar','\\u2954':'RightUpVectorBar','\\u2955':'RightDownVectorBar','\\u2956':'DownLeftVectorBar','\\u2957':'DownRightVectorBar','\\u2958':'LeftUpVectorBar','\\u2959':'LeftDownVectorBar','\\u295A':'LeftTeeVector','\\u295B':'RightTeeVector','\\u295C':'RightUpTeeVector','\\u295D':'RightDownTeeVector','\\u295E':'DownLeftTeeVector','\\u295F':'DownRightTeeVector','\\u2960':'LeftUpTeeVector','\\u2961':'LeftDownTeeVector','\\u2962':'lHar','\\u2963':'uHar','\\u2964':'rHar','\\u2965':'dHar','\\u2966':'luruhar','\\u2967':'ldrdhar','\\u2968':'ruluhar','\\u2969':'rdldhar','\\u296A':'lharul','\\u296B':'llhard','\\u296C':'rharul','\\u296D':'lrhard','\\u296E':'udhar','\\u296F':'duhar','\\u2970':'RoundImplies','\\u2971':'erarr','\\u2972':'simrarr','\\u2973':'larrsim','\\u2974':'rarrsim','\\u2975':'rarrap','\\u2976':'ltlarr','\\u2978':'gtrarr','\\u2979':'subrarr','\\u297B':'suplarr','\\u297C':'lfisht','\\u297D':'rfisht','\\u297E':'ufisht','\\u297F':'dfisht','\\u299A':'vzigzag','\\u299C':'vangrt','\\u299D':'angrtvbd','\\u29A4':'ange','\\u29A5':'range','\\u29A6':'dwangle','\\u29A7':'uwangle','\\u29A8':'angmsdaa','\\u29A9':'angmsdab','\\u29AA':'angmsdac','\\u29AB':'angmsdad','\\u29AC':'angmsdae','\\u29AD':'angmsdaf','\\u29AE':'angmsdag','\\u29AF':'angmsdah','\\u29B0':'bemptyv','\\u29B1':'demptyv','\\u29B2':'cemptyv','\\u29B3':'raemptyv','\\u29B4':'laemptyv','\\u29B5':'ohbar','\\u29B6':'omid','\\u29B7':'opar','\\u29B9':'operp','\\u29BB':'olcross','\\u29BC':'odsold','\\u29BE':'olcir','\\u29BF':'ofcir','\\u29C0':'olt','\\u29C1':'ogt','\\u29C2':'cirscir','\\u29C3':'cirE','\\u29C4':'solb','\\u29C5':'bsolb','\\u29C9':'boxbox','\\u29CD':'trisb','\\u29CE':'rtriltri','\\u29CF':'LeftTriangleBar','\\u29CF\\u0338':'NotLeftTriangleBar','\\u29D0':'RightTriangleBar','\\u29D0\\u0338':'NotRightTriangleBar','\\u29DC':'iinfin','\\u29DD':'infintie','\\u29DE':'nvinfin','\\u29E3':'eparsl','\\u29E4':'smeparsl','\\u29E5':'eqvparsl','\\u29EB':'lozf','\\u29F4':'RuleDelayed','\\u29F6':'dsol','\\u2A00':'xodot','\\u2A01':'xoplus','\\u2A02':'xotime','\\u2A04':'xuplus','\\u2A06':'xsqcup','\\u2A0D':'fpartint','\\u2A10':'cirfnint','\\u2A11':'awint','\\u2A12':'rppolint','\\u2A13':'scpolint','\\u2A14':'npolint','\\u2A15':'pointint','\\u2A16':'quatint','\\u2A17':'intlarhk','\\u2A22':'pluscir','\\u2A23':'plusacir','\\u2A24':'simplus','\\u2A25':'plusdu','\\u2A26':'plussim','\\u2A27':'plustwo','\\u2A29':'mcomma','\\u2A2A':'minusdu','\\u2A2D':'loplus','\\u2A2E':'roplus','\\u2A2F':'Cross','\\u2A30':'timesd','\\u2A31':'timesbar','\\u2A33':'smashp','\\u2A34':'lotimes','\\u2A35':'rotimes','\\u2A36':'otimesas','\\u2A37':'Otimes','\\u2A38':'odiv','\\u2A39':'triplus','\\u2A3A':'triminus','\\u2A3B':'tritime','\\u2A3C':'iprod','\\u2A3F':'amalg','\\u2A40':'capdot','\\u2A42':'ncup','\\u2A43':'ncap','\\u2A44':'capand','\\u2A45':'cupor','\\u2A46':'cupcap','\\u2A47':'capcup','\\u2A48':'cupbrcap','\\u2A49':'capbrcup','\\u2A4A':'cupcup','\\u2A4B':'capcap','\\u2A4C':'ccups','\\u2A4D':'ccaps','\\u2A50':'ccupssm','\\u2A53':'And','\\u2A54':'Or','\\u2A55':'andand','\\u2A56':'oror','\\u2A57':'orslope','\\u2A58':'andslope','\\u2A5A':'andv','\\u2A5B':'orv','\\u2A5C':'andd','\\u2A5D':'ord','\\u2A5F':'wedbar','\\u2A66':'sdote','\\u2A6A':'simdot','\\u2A6D':'congdot','\\u2A6D\\u0338':'ncongdot','\\u2A6E':'easter','\\u2A6F':'apacir','\\u2A70':'apE','\\u2A70\\u0338':'napE','\\u2A71':'eplus','\\u2A72':'pluse','\\u2A73':'Esim','\\u2A77':'eDDot','\\u2A78':'equivDD','\\u2A79':'ltcir','\\u2A7A':'gtcir','\\u2A7B':'ltquest','\\u2A7C':'gtquest','\\u2A7D':'les','\\u2A7D\\u0338':'nles','\\u2A7E':'ges','\\u2A7E\\u0338':'nges','\\u2A7F':'lesdot','\\u2A80':'gesdot','\\u2A81':'lesdoto','\\u2A82':'gesdoto','\\u2A83':'lesdotor','\\u2A84':'gesdotol','\\u2A85':'lap','\\u2A86':'gap','\\u2A87':'lne','\\u2A88':'gne','\\u2A89':'lnap','\\u2A8A':'gnap','\\u2A8B':'lEg','\\u2A8C':'gEl','\\u2A8D':'lsime','\\u2A8E':'gsime','\\u2A8F':'lsimg','\\u2A90':'gsiml','\\u2A91':'lgE','\\u2A92':'glE','\\u2A93':'lesges','\\u2A94':'gesles','\\u2A95':'els','\\u2A96':'egs','\\u2A97':'elsdot','\\u2A98':'egsdot','\\u2A99':'el','\\u2A9A':'eg','\\u2A9D':'siml','\\u2A9E':'simg','\\u2A9F':'simlE','\\u2AA0':'simgE','\\u2AA1':'LessLess','\\u2AA1\\u0338':'NotNestedLessLess','\\u2AA2':'GreaterGreater','\\u2AA2\\u0338':'NotNestedGreaterGreater','\\u2AA4':'glj','\\u2AA5':'gla','\\u2AA6':'ltcc','\\u2AA7':'gtcc','\\u2AA8':'lescc','\\u2AA9':'gescc','\\u2AAA':'smt','\\u2AAB':'lat','\\u2AAC':'smte','\\u2AAC\\uFE00':'smtes','\\u2AAD':'late','\\u2AAD\\uFE00':'lates','\\u2AAE':'bumpE','\\u2AAF':'pre','\\u2AAF\\u0338':'npre','\\u2AB0':'sce','\\u2AB0\\u0338':'nsce','\\u2AB3':'prE','\\u2AB4':'scE','\\u2AB5':'prnE','\\u2AB6':'scnE','\\u2AB7':'prap','\\u2AB8':'scap','\\u2AB9':'prnap','\\u2ABA':'scnap','\\u2ABB':'Pr','\\u2ABC':'Sc','\\u2ABD':'subdot','\\u2ABE':'supdot','\\u2ABF':'subplus','\\u2AC0':'supplus','\\u2AC1':'submult','\\u2AC2':'supmult','\\u2AC3':'subedot','\\u2AC4':'supedot','\\u2AC5':'subE','\\u2AC5\\u0338':'nsubE','\\u2AC6':'supE','\\u2AC6\\u0338':'nsupE','\\u2AC7':'subsim','\\u2AC8':'supsim','\\u2ACB\\uFE00':'vsubnE','\\u2ACB':'subnE','\\u2ACC\\uFE00':'vsupnE','\\u2ACC':'supnE','\\u2ACF':'csub','\\u2AD0':'csup','\\u2AD1':'csube','\\u2AD2':'csupe','\\u2AD3':'subsup','\\u2AD4':'supsub','\\u2AD5':'subsub','\\u2AD6':'supsup','\\u2AD7':'suphsub','\\u2AD8':'supdsub','\\u2AD9':'forkv','\\u2ADA':'topfork','\\u2ADB':'mlcp','\\u2AE4':'Dashv','\\u2AE6':'Vdashl','\\u2AE7':'Barv','\\u2AE8':'vBar','\\u2AE9':'vBarv','\\u2AEB':'Vbar','\\u2AEC':'Not','\\u2AED':'bNot','\\u2AEE':'rnmid','\\u2AEF':'cirmid','\\u2AF0':'midcir','\\u2AF1':'topcir','\\u2AF2':'nhpar','\\u2AF3':'parsim','\\u2AFD':'parsl','\\u2AFD\\u20E5':'nparsl','\\u266D':'flat','\\u266E':'natur','\\u266F':'sharp','\\xA4':'curren','\\xA2':'cent','$':'dollar','\\xA3':'pound','\\xA5':'yen','\\u20AC':'euro','\\xB9':'sup1','\\xBD':'half','\\u2153':'frac13','\\xBC':'frac14','\\u2155':'frac15','\\u2159':'frac16','\\u215B':'frac18','\\xB2':'sup2','\\u2154':'frac23','\\u2156':'frac25','\\xB3':'sup3','\\xBE':'frac34','\\u2157':'frac35','\\u215C':'frac38','\\u2158':'frac45','\\u215A':'frac56','\\u215D':'frac58','\\u215E':'frac78','\\uD835\\uDCB6':'ascr','\\uD835\\uDD52':'aopf','\\uD835\\uDD1E':'afr','\\uD835\\uDD38':'Aopf','\\uD835\\uDD04':'Afr','\\uD835\\uDC9C':'Ascr','\\xAA':'ordf','\\xE1':'aacute','\\xC1':'Aacute','\\xE0':'agrave','\\xC0':'Agrave','\\u0103':'abreve','\\u0102':'Abreve','\\xE2':'acirc','\\xC2':'Acirc','\\xE5':'aring','\\xC5':'angst','\\xE4':'auml','\\xC4':'Auml','\\xE3':'atilde','\\xC3':'Atilde','\\u0105':'aogon','\\u0104':'Aogon','\\u0101':'amacr','\\u0100':'Amacr','\\xE6':'aelig','\\xC6':'AElig','\\uD835\\uDCB7':'bscr','\\uD835\\uDD53':'bopf','\\uD835\\uDD1F':'bfr','\\uD835\\uDD39':'Bopf','\\u212C':'Bscr','\\uD835\\uDD05':'Bfr','\\uD835\\uDD20':'cfr','\\uD835\\uDCB8':'cscr','\\uD835\\uDD54':'copf','\\u212D':'Cfr','\\uD835\\uDC9E':'Cscr','\\u2102':'Copf','\\u0107':'cacute','\\u0106':'Cacute','\\u0109':'ccirc','\\u0108':'Ccirc','\\u010D':'ccaron','\\u010C':'Ccaron','\\u010B':'cdot','\\u010A':'Cdot','\\xE7':'ccedil','\\xC7':'Ccedil','\\u2105':'incare','\\uD835\\uDD21':'dfr','\\u2146':'dd','\\uD835\\uDD55':'dopf','\\uD835\\uDCB9':'dscr','\\uD835\\uDC9F':'Dscr','\\uD835\\uDD07':'Dfr','\\u2145':'DD','\\uD835\\uDD3B':'Dopf','\\u010F':'dcaron','\\u010E':'Dcaron','\\u0111':'dstrok','\\u0110':'Dstrok','\\xF0':'eth','\\xD0':'ETH','\\u2147':'ee','\\u212F':'escr','\\uD835\\uDD22':'efr','\\uD835\\uDD56':'eopf','\\u2130':'Escr','\\uD835\\uDD08':'Efr','\\uD835\\uDD3C':'Eopf','\\xE9':'eacute','\\xC9':'Eacute','\\xE8':'egrave','\\xC8':'Egrave','\\xEA':'ecirc','\\xCA':'Ecirc','\\u011B':'ecaron','\\u011A':'Ecaron','\\xEB':'euml','\\xCB':'Euml','\\u0117':'edot','\\u0116':'Edot','\\u0119':'eogon','\\u0118':'Eogon','\\u0113':'emacr','\\u0112':'Emacr','\\uD835\\uDD23':'ffr','\\uD835\\uDD57':'fopf','\\uD835\\uDCBB':'fscr','\\uD835\\uDD09':'Ffr','\\uD835\\uDD3D':'Fopf','\\u2131':'Fscr','\\uFB00':'fflig','\\uFB03':'ffilig','\\uFB04':'ffllig','\\uFB01':'filig','fj':'fjlig','\\uFB02':'fllig','\\u0192':'fnof','\\u210A':'gscr','\\uD835\\uDD58':'gopf','\\uD835\\uDD24':'gfr','\\uD835\\uDCA2':'Gscr','\\uD835\\uDD3E':'Gopf','\\uD835\\uDD0A':'Gfr','\\u01F5':'gacute','\\u011F':'gbreve','\\u011E':'Gbreve','\\u011D':'gcirc','\\u011C':'Gcirc','\\u0121':'gdot','\\u0120':'Gdot','\\u0122':'Gcedil','\\uD835\\uDD25':'hfr','\\u210E':'planckh','\\uD835\\uDCBD':'hscr','\\uD835\\uDD59':'hopf','\\u210B':'Hscr','\\u210C':'Hfr','\\u210D':'Hopf','\\u0125':'hcirc','\\u0124':'Hcirc','\\u210F':'hbar','\\u0127':'hstrok','\\u0126':'Hstrok','\\uD835\\uDD5A':'iopf','\\uD835\\uDD26':'ifr','\\uD835\\uDCBE':'iscr','\\u2148':'ii','\\uD835\\uDD40':'Iopf','\\u2110':'Iscr','\\u2111':'Im','\\xED':'iacute','\\xCD':'Iacute','\\xEC':'igrave','\\xCC':'Igrave','\\xEE':'icirc','\\xCE':'Icirc','\\xEF':'iuml','\\xCF':'Iuml','\\u0129':'itilde','\\u0128':'Itilde','\\u0130':'Idot','\\u012F':'iogon','\\u012E':'Iogon','\\u012B':'imacr','\\u012A':'Imacr','\\u0133':'ijlig','\\u0132':'IJlig','\\u0131':'imath','\\uD835\\uDCBF':'jscr','\\uD835\\uDD5B':'jopf','\\uD835\\uDD27':'jfr','\\uD835\\uDCA5':'Jscr','\\uD835\\uDD0D':'Jfr','\\uD835\\uDD41':'Jopf','\\u0135':'jcirc','\\u0134':'Jcirc','\\u0237':'jmath','\\uD835\\uDD5C':'kopf','\\uD835\\uDCC0':'kscr','\\uD835\\uDD28':'kfr','\\uD835\\uDCA6':'Kscr','\\uD835\\uDD42':'Kopf','\\uD835\\uDD0E':'Kfr','\\u0137':'kcedil','\\u0136':'Kcedil','\\uD835\\uDD29':'lfr','\\uD835\\uDCC1':'lscr','\\u2113':'ell','\\uD835\\uDD5D':'lopf','\\u2112':'Lscr','\\uD835\\uDD0F':'Lfr','\\uD835\\uDD43':'Lopf','\\u013A':'lacute','\\u0139':'Lacute','\\u013E':'lcaron','\\u013D':'Lcaron','\\u013C':'lcedil','\\u013B':'Lcedil','\\u0142':'lstrok','\\u0141':'Lstrok','\\u0140':'lmidot','\\u013F':'Lmidot','\\uD835\\uDD2A':'mfr','\\uD835\\uDD5E':'mopf','\\uD835\\uDCC2':'mscr','\\uD835\\uDD10':'Mfr','\\uD835\\uDD44':'Mopf','\\u2133':'Mscr','\\uD835\\uDD2B':'nfr','\\uD835\\uDD5F':'nopf','\\uD835\\uDCC3':'nscr','\\u2115':'Nopf','\\uD835\\uDCA9':'Nscr','\\uD835\\uDD11':'Nfr','\\u0144':'nacute','\\u0143':'Nacute','\\u0148':'ncaron','\\u0147':'Ncaron','\\xF1':'ntilde','\\xD1':'Ntilde','\\u0146':'ncedil','\\u0145':'Ncedil','\\u2116':'numero','\\u014B':'eng','\\u014A':'ENG','\\uD835\\uDD60':'oopf','\\uD835\\uDD2C':'ofr','\\u2134':'oscr','\\uD835\\uDCAA':'Oscr','\\uD835\\uDD12':'Ofr','\\uD835\\uDD46':'Oopf','\\xBA':'ordm','\\xF3':'oacute','\\xD3':'Oacute','\\xF2':'ograve','\\xD2':'Ograve','\\xF4':'ocirc','\\xD4':'Ocirc','\\xF6':'ouml','\\xD6':'Ouml','\\u0151':'odblac','\\u0150':'Odblac','\\xF5':'otilde','\\xD5':'Otilde','\\xF8':'oslash','\\xD8':'Oslash','\\u014D':'omacr','\\u014C':'Omacr','\\u0153':'oelig','\\u0152':'OElig','\\uD835\\uDD2D':'pfr','\\uD835\\uDCC5':'pscr','\\uD835\\uDD61':'popf','\\u2119':'Popf','\\uD835\\uDD13':'Pfr','\\uD835\\uDCAB':'Pscr','\\uD835\\uDD62':'qopf','\\uD835\\uDD2E':'qfr','\\uD835\\uDCC6':'qscr','\\uD835\\uDCAC':'Qscr','\\uD835\\uDD14':'Qfr','\\u211A':'Qopf','\\u0138':'kgreen','\\uD835\\uDD2F':'rfr','\\uD835\\uDD63':'ropf','\\uD835\\uDCC7':'rscr','\\u211B':'Rscr','\\u211C':'Re','\\u211D':'Ropf','\\u0155':'racute','\\u0154':'Racute','\\u0159':'rcaron','\\u0158':'Rcaron','\\u0157':'rcedil','\\u0156':'Rcedil','\\uD835\\uDD64':'sopf','\\uD835\\uDCC8':'sscr','\\uD835\\uDD30':'sfr','\\uD835\\uDD4A':'Sopf','\\uD835\\uDD16':'Sfr','\\uD835\\uDCAE':'Sscr','\\u24C8':'oS','\\u015B':'sacute','\\u015A':'Sacute','\\u015D':'scirc','\\u015C':'Scirc','\\u0161':'scaron','\\u0160':'Scaron','\\u015F':'scedil','\\u015E':'Scedil','\\xDF':'szlig','\\uD835\\uDD31':'tfr','\\uD835\\uDCC9':'tscr','\\uD835\\uDD65':'topf','\\uD835\\uDCAF':'Tscr','\\uD835\\uDD17':'Tfr','\\uD835\\uDD4B':'Topf','\\u0165':'tcaron','\\u0164':'Tcaron','\\u0163':'tcedil','\\u0162':'Tcedil','\\u2122':'trade','\\u0167':'tstrok','\\u0166':'Tstrok','\\uD835\\uDCCA':'uscr','\\uD835\\uDD66':'uopf','\\uD835\\uDD32':'ufr','\\uD835\\uDD4C':'Uopf','\\uD835\\uDD18':'Ufr','\\uD835\\uDCB0':'Uscr','\\xFA':'uacute','\\xDA':'Uacute','\\xF9':'ugrave','\\xD9':'Ugrave','\\u016D':'ubreve','\\u016C':'Ubreve','\\xFB':'ucirc','\\xDB':'Ucirc','\\u016F':'uring','\\u016E':'Uring','\\xFC':'uuml','\\xDC':'Uuml','\\u0171':'udblac','\\u0170':'Udblac','\\u0169':'utilde','\\u0168':'Utilde','\\u0173':'uogon','\\u0172':'Uogon','\\u016B':'umacr','\\u016A':'Umacr','\\uD835\\uDD33':'vfr','\\uD835\\uDD67':'vopf','\\uD835\\uDCCB':'vscr','\\uD835\\uDD19':'Vfr','\\uD835\\uDD4D':'Vopf','\\uD835\\uDCB1':'Vscr','\\uD835\\uDD68':'wopf','\\uD835\\uDCCC':'wscr','\\uD835\\uDD34':'wfr','\\uD835\\uDCB2':'Wscr','\\uD835\\uDD4E':'Wopf','\\uD835\\uDD1A':'Wfr','\\u0175':'wcirc','\\u0174':'Wcirc','\\uD835\\uDD35':'xfr','\\uD835\\uDCCD':'xscr','\\uD835\\uDD69':'xopf','\\uD835\\uDD4F':'Xopf','\\uD835\\uDD1B':'Xfr','\\uD835\\uDCB3':'Xscr','\\uD835\\uDD36':'yfr','\\uD835\\uDCCE':'yscr','\\uD835\\uDD6A':'yopf','\\uD835\\uDCB4':'Yscr','\\uD835\\uDD1C':'Yfr','\\uD835\\uDD50':'Yopf','\\xFD':'yacute','\\xDD':'Yacute','\\u0177':'ycirc','\\u0176':'Ycirc','\\xFF':'yuml','\\u0178':'Yuml','\\uD835\\uDCCF':'zscr','\\uD835\\uDD37':'zfr','\\uD835\\uDD6B':'zopf','\\u2128':'Zfr','\\u2124':'Zopf','\\uD835\\uDCB5':'Zscr','\\u017A':'zacute','\\u0179':'Zacute','\\u017E':'zcaron','\\u017D':'Zcaron','\\u017C':'zdot','\\u017B':'Zdot','\\u01B5':'imped','\\xFE':'thorn','\\xDE':'THORN','\\u0149':'napos','\\u03B1':'alpha','\\u0391':'Alpha','\\u03B2':'beta','\\u0392':'Beta','\\u03B3':'gamma','\\u0393':'Gamma','\\u03B4':'delta','\\u0394':'Delta','\\u03B5':'epsi','\\u03F5':'epsiv','\\u0395':'Epsilon','\\u03DD':'gammad','\\u03DC':'Gammad','\\u03B6':'zeta','\\u0396':'Zeta','\\u03B7':'eta','\\u0397':'Eta','\\u03B8':'theta','\\u03D1':'thetav','\\u0398':'Theta','\\u03B9':'iota','\\u0399':'Iota','\\u03BA':'kappa','\\u03F0':'kappav','\\u039A':'Kappa','\\u03BB':'lambda','\\u039B':'Lambda','\\u03BC':'mu','\\xB5':'micro','\\u039C':'Mu','\\u03BD':'nu','\\u039D':'Nu','\\u03BE':'xi','\\u039E':'Xi','\\u03BF':'omicron','\\u039F':'Omicron','\\u03C0':'pi','\\u03D6':'piv','\\u03A0':'Pi','\\u03C1':'rho','\\u03F1':'rhov','\\u03A1':'Rho','\\u03C3':'sigma','\\u03A3':'Sigma','\\u03C2':'sigmaf','\\u03C4':'tau','\\u03A4':'Tau','\\u03C5':'upsi','\\u03A5':'Upsilon','\\u03D2':'Upsi','\\u03C6':'phi','\\u03D5':'phiv','\\u03A6':'Phi','\\u03C7':'chi','\\u03A7':'Chi','\\u03C8':'psi','\\u03A8':'Psi','\\u03C9':'omega','\\u03A9':'ohm','\\u0430':'acy','\\u0410':'Acy','\\u0431':'bcy','\\u0411':'Bcy','\\u0432':'vcy','\\u0412':'Vcy','\\u0433':'gcy','\\u0413':'Gcy','\\u0453':'gjcy','\\u0403':'GJcy','\\u0434':'dcy','\\u0414':'Dcy','\\u0452':'djcy','\\u0402':'DJcy','\\u0435':'iecy','\\u0415':'IEcy','\\u0451':'iocy','\\u0401':'IOcy','\\u0454':'jukcy','\\u0404':'Jukcy','\\u0436':'zhcy','\\u0416':'ZHcy','\\u0437':'zcy','\\u0417':'Zcy','\\u0455':'dscy','\\u0405':'DScy','\\u0438':'icy','\\u0418':'Icy','\\u0456':'iukcy','\\u0406':'Iukcy','\\u0457':'yicy','\\u0407':'YIcy','\\u0439':'jcy','\\u0419':'Jcy','\\u0458':'jsercy','\\u0408':'Jsercy','\\u043A':'kcy','\\u041A':'Kcy','\\u045C':'kjcy','\\u040C':'KJcy','\\u043B':'lcy','\\u041B':'Lcy','\\u0459':'ljcy','\\u0409':'LJcy','\\u043C':'mcy','\\u041C':'Mcy','\\u043D':'ncy','\\u041D':'Ncy','\\u045A':'njcy','\\u040A':'NJcy','\\u043E':'ocy','\\u041E':'Ocy','\\u043F':'pcy','\\u041F':'Pcy','\\u0440':'rcy','\\u0420':'Rcy','\\u0441':'scy','\\u0421':'Scy','\\u0442':'tcy','\\u0422':'Tcy','\\u045B':'tshcy','\\u040B':'TSHcy','\\u0443':'ucy','\\u0423':'Ucy','\\u045E':'ubrcy','\\u040E':'Ubrcy','\\u0444':'fcy','\\u0424':'Fcy','\\u0445':'khcy','\\u0425':'KHcy','\\u0446':'tscy','\\u0426':'TScy','\\u0447':'chcy','\\u0427':'CHcy','\\u045F':'dzcy','\\u040F':'DZcy','\\u0448':'shcy','\\u0428':'SHcy','\\u0449':'shchcy','\\u0429':'SHCHcy','\\u044A':'hardcy','\\u042A':'HARDcy','\\u044B':'ycy','\\u042B':'Ycy','\\u044C':'softcy','\\u042C':'SOFTcy','\\u044D':'ecy','\\u042D':'Ecy','\\u044E':'yucy','\\u042E':'YUcy','\\u044F':'yacy','\\u042F':'YAcy','\\u2135':'aleph','\\u2136':'beth','\\u2137':'gimel','\\u2138':'daleth'};\n\n\tvar regexEscape = /[\"&'<>`]/g;\n\tvar escapeMap = {\n\t\t'\"': '"',\n\t\t'&': '&',\n\t\t'\\'': ''',\n\t\t'<': '<',\n\t\t// See https://mathiasbynens.be/notes/ambiguous-ampersands: in HTML, the\n\t\t// following is not strictly necessary unless it’s part of a tag or an\n\t\t// unquoted attribute value. We’re only escaping it to support those\n\t\t// situations, and for XML support.\n\t\t'>': '>',\n\t\t// In Internet Explorer ≤ 8, the backtick character can be used\n\t\t// to break out of (un)quoted attribute values or HTML comments.\n\t\t// See http://html5sec.org/#102, http://html5sec.org/#108, and\n\t\t// http://html5sec.org/#133.\n\t\t'`': '`'\n\t};\n\n\tvar regexInvalidEntity = /&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/;\n\tvar regexInvalidRawCodePoint = /[\\0-\\x08\\x0B\\x0E-\\x1F\\x7F-\\x9F\\uFDD0-\\uFDEF\\uFFFE\\uFFFF]|[\\uD83F\\uD87F\\uD8BF\\uD8FF\\uD93F\\uD97F\\uD9BF\\uD9FF\\uDA3F\\uDA7F\\uDABF\\uDAFF\\uDB3F\\uDB7F\\uDBBF\\uDBFF][\\uDFFE\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n\tvar regexDecode = /&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g;\n\tvar decodeMap = {'aacute':'\\xE1','Aacute':'\\xC1','abreve':'\\u0103','Abreve':'\\u0102','ac':'\\u223E','acd':'\\u223F','acE':'\\u223E\\u0333','acirc':'\\xE2','Acirc':'\\xC2','acute':'\\xB4','acy':'\\u0430','Acy':'\\u0410','aelig':'\\xE6','AElig':'\\xC6','af':'\\u2061','afr':'\\uD835\\uDD1E','Afr':'\\uD835\\uDD04','agrave':'\\xE0','Agrave':'\\xC0','alefsym':'\\u2135','aleph':'\\u2135','alpha':'\\u03B1','Alpha':'\\u0391','amacr':'\\u0101','Amacr':'\\u0100','amalg':'\\u2A3F','amp':'&','AMP':'&','and':'\\u2227','And':'\\u2A53','andand':'\\u2A55','andd':'\\u2A5C','andslope':'\\u2A58','andv':'\\u2A5A','ang':'\\u2220','ange':'\\u29A4','angle':'\\u2220','angmsd':'\\u2221','angmsdaa':'\\u29A8','angmsdab':'\\u29A9','angmsdac':'\\u29AA','angmsdad':'\\u29AB','angmsdae':'\\u29AC','angmsdaf':'\\u29AD','angmsdag':'\\u29AE','angmsdah':'\\u29AF','angrt':'\\u221F','angrtvb':'\\u22BE','angrtvbd':'\\u299D','angsph':'\\u2222','angst':'\\xC5','angzarr':'\\u237C','aogon':'\\u0105','Aogon':'\\u0104','aopf':'\\uD835\\uDD52','Aopf':'\\uD835\\uDD38','ap':'\\u2248','apacir':'\\u2A6F','ape':'\\u224A','apE':'\\u2A70','apid':'\\u224B','apos':'\\'','ApplyFunction':'\\u2061','approx':'\\u2248','approxeq':'\\u224A','aring':'\\xE5','Aring':'\\xC5','ascr':'\\uD835\\uDCB6','Ascr':'\\uD835\\uDC9C','Assign':'\\u2254','ast':'*','asymp':'\\u2248','asympeq':'\\u224D','atilde':'\\xE3','Atilde':'\\xC3','auml':'\\xE4','Auml':'\\xC4','awconint':'\\u2233','awint':'\\u2A11','backcong':'\\u224C','backepsilon':'\\u03F6','backprime':'\\u2035','backsim':'\\u223D','backsimeq':'\\u22CD','Backslash':'\\u2216','Barv':'\\u2AE7','barvee':'\\u22BD','barwed':'\\u2305','Barwed':'\\u2306','barwedge':'\\u2305','bbrk':'\\u23B5','bbrktbrk':'\\u23B6','bcong':'\\u224C','bcy':'\\u0431','Bcy':'\\u0411','bdquo':'\\u201E','becaus':'\\u2235','because':'\\u2235','Because':'\\u2235','bemptyv':'\\u29B0','bepsi':'\\u03F6','bernou':'\\u212C','Bernoullis':'\\u212C','beta':'\\u03B2','Beta':'\\u0392','beth':'\\u2136','between':'\\u226C','bfr':'\\uD835\\uDD1F','Bfr':'\\uD835\\uDD05','bigcap':'\\u22C2','bigcirc':'\\u25EF','bigcup':'\\u22C3','bigodot':'\\u2A00','bigoplus':'\\u2A01','bigotimes':'\\u2A02','bigsqcup':'\\u2A06','bigstar':'\\u2605','bigtriangledown':'\\u25BD','bigtriangleup':'\\u25B3','biguplus':'\\u2A04','bigvee':'\\u22C1','bigwedge':'\\u22C0','bkarow':'\\u290D','blacklozenge':'\\u29EB','blacksquare':'\\u25AA','blacktriangle':'\\u25B4','blacktriangledown':'\\u25BE','blacktriangleleft':'\\u25C2','blacktriangleright':'\\u25B8','blank':'\\u2423','blk12':'\\u2592','blk14':'\\u2591','blk34':'\\u2593','block':'\\u2588','bne':'=\\u20E5','bnequiv':'\\u2261\\u20E5','bnot':'\\u2310','bNot':'\\u2AED','bopf':'\\uD835\\uDD53','Bopf':'\\uD835\\uDD39','bot':'\\u22A5','bottom':'\\u22A5','bowtie':'\\u22C8','boxbox':'\\u29C9','boxdl':'\\u2510','boxdL':'\\u2555','boxDl':'\\u2556','boxDL':'\\u2557','boxdr':'\\u250C','boxdR':'\\u2552','boxDr':'\\u2553','boxDR':'\\u2554','boxh':'\\u2500','boxH':'\\u2550','boxhd':'\\u252C','boxhD':'\\u2565','boxHd':'\\u2564','boxHD':'\\u2566','boxhu':'\\u2534','boxhU':'\\u2568','boxHu':'\\u2567','boxHU':'\\u2569','boxminus':'\\u229F','boxplus':'\\u229E','boxtimes':'\\u22A0','boxul':'\\u2518','boxuL':'\\u255B','boxUl':'\\u255C','boxUL':'\\u255D','boxur':'\\u2514','boxuR':'\\u2558','boxUr':'\\u2559','boxUR':'\\u255A','boxv':'\\u2502','boxV':'\\u2551','boxvh':'\\u253C','boxvH':'\\u256A','boxVh':'\\u256B','boxVH':'\\u256C','boxvl':'\\u2524','boxvL':'\\u2561','boxVl':'\\u2562','boxVL':'\\u2563','boxvr':'\\u251C','boxvR':'\\u255E','boxVr':'\\u255F','boxVR':'\\u2560','bprime':'\\u2035','breve':'\\u02D8','Breve':'\\u02D8','brvbar':'\\xA6','bscr':'\\uD835\\uDCB7','Bscr':'\\u212C','bsemi':'\\u204F','bsim':'\\u223D','bsime':'\\u22CD','bsol':'\\\\','bsolb':'\\u29C5','bsolhsub':'\\u27C8','bull':'\\u2022','bullet':'\\u2022','bump':'\\u224E','bumpe':'\\u224F','bumpE':'\\u2AAE','bumpeq':'\\u224F','Bumpeq':'\\u224E','cacute':'\\u0107','Cacute':'\\u0106','cap':'\\u2229','Cap':'\\u22D2','capand':'\\u2A44','capbrcup':'\\u2A49','capcap':'\\u2A4B','capcup':'\\u2A47','capdot':'\\u2A40','CapitalDifferentialD':'\\u2145','caps':'\\u2229\\uFE00','caret':'\\u2041','caron':'\\u02C7','Cayleys':'\\u212D','ccaps':'\\u2A4D','ccaron':'\\u010D','Ccaron':'\\u010C','ccedil':'\\xE7','Ccedil':'\\xC7','ccirc':'\\u0109','Ccirc':'\\u0108','Cconint':'\\u2230','ccups':'\\u2A4C','ccupssm':'\\u2A50','cdot':'\\u010B','Cdot':'\\u010A','cedil':'\\xB8','Cedilla':'\\xB8','cemptyv':'\\u29B2','cent':'\\xA2','centerdot':'\\xB7','CenterDot':'\\xB7','cfr':'\\uD835\\uDD20','Cfr':'\\u212D','chcy':'\\u0447','CHcy':'\\u0427','check':'\\u2713','checkmark':'\\u2713','chi':'\\u03C7','Chi':'\\u03A7','cir':'\\u25CB','circ':'\\u02C6','circeq':'\\u2257','circlearrowleft':'\\u21BA','circlearrowright':'\\u21BB','circledast':'\\u229B','circledcirc':'\\u229A','circleddash':'\\u229D','CircleDot':'\\u2299','circledR':'\\xAE','circledS':'\\u24C8','CircleMinus':'\\u2296','CirclePlus':'\\u2295','CircleTimes':'\\u2297','cire':'\\u2257','cirE':'\\u29C3','cirfnint':'\\u2A10','cirmid':'\\u2AEF','cirscir':'\\u29C2','ClockwiseContourIntegral':'\\u2232','CloseCurlyDoubleQuote':'\\u201D','CloseCurlyQuote':'\\u2019','clubs':'\\u2663','clubsuit':'\\u2663','colon':':','Colon':'\\u2237','colone':'\\u2254','Colone':'\\u2A74','coloneq':'\\u2254','comma':',','commat':'@','comp':'\\u2201','compfn':'\\u2218','complement':'\\u2201','complexes':'\\u2102','cong':'\\u2245','congdot':'\\u2A6D','Congruent':'\\u2261','conint':'\\u222E','Conint':'\\u222F','ContourIntegral':'\\u222E','copf':'\\uD835\\uDD54','Copf':'\\u2102','coprod':'\\u2210','Coproduct':'\\u2210','copy':'\\xA9','COPY':'\\xA9','copysr':'\\u2117','CounterClockwiseContourIntegral':'\\u2233','crarr':'\\u21B5','cross':'\\u2717','Cross':'\\u2A2F','cscr':'\\uD835\\uDCB8','Cscr':'\\uD835\\uDC9E','csub':'\\u2ACF','csube':'\\u2AD1','csup':'\\u2AD0','csupe':'\\u2AD2','ctdot':'\\u22EF','cudarrl':'\\u2938','cudarrr':'\\u2935','cuepr':'\\u22DE','cuesc':'\\u22DF','cularr':'\\u21B6','cularrp':'\\u293D','cup':'\\u222A','Cup':'\\u22D3','cupbrcap':'\\u2A48','cupcap':'\\u2A46','CupCap':'\\u224D','cupcup':'\\u2A4A','cupdot':'\\u228D','cupor':'\\u2A45','cups':'\\u222A\\uFE00','curarr':'\\u21B7','curarrm':'\\u293C','curlyeqprec':'\\u22DE','curlyeqsucc':'\\u22DF','curlyvee':'\\u22CE','curlywedge':'\\u22CF','curren':'\\xA4','curvearrowleft':'\\u21B6','curvearrowright':'\\u21B7','cuvee':'\\u22CE','cuwed':'\\u22CF','cwconint':'\\u2232','cwint':'\\u2231','cylcty':'\\u232D','dagger':'\\u2020','Dagger':'\\u2021','daleth':'\\u2138','darr':'\\u2193','dArr':'\\u21D3','Darr':'\\u21A1','dash':'\\u2010','dashv':'\\u22A3','Dashv':'\\u2AE4','dbkarow':'\\u290F','dblac':'\\u02DD','dcaron':'\\u010F','Dcaron':'\\u010E','dcy':'\\u0434','Dcy':'\\u0414','dd':'\\u2146','DD':'\\u2145','ddagger':'\\u2021','ddarr':'\\u21CA','DDotrahd':'\\u2911','ddotseq':'\\u2A77','deg':'\\xB0','Del':'\\u2207','delta':'\\u03B4','Delta':'\\u0394','demptyv':'\\u29B1','dfisht':'\\u297F','dfr':'\\uD835\\uDD21','Dfr':'\\uD835\\uDD07','dHar':'\\u2965','dharl':'\\u21C3','dharr':'\\u21C2','DiacriticalAcute':'\\xB4','DiacriticalDot':'\\u02D9','DiacriticalDoubleAcute':'\\u02DD','DiacriticalGrave':'`','DiacriticalTilde':'\\u02DC','diam':'\\u22C4','diamond':'\\u22C4','Diamond':'\\u22C4','diamondsuit':'\\u2666','diams':'\\u2666','die':'\\xA8','DifferentialD':'\\u2146','digamma':'\\u03DD','disin':'\\u22F2','div':'\\xF7','divide':'\\xF7','divideontimes':'\\u22C7','divonx':'\\u22C7','djcy':'\\u0452','DJcy':'\\u0402','dlcorn':'\\u231E','dlcrop':'\\u230D','dollar':'$','dopf':'\\uD835\\uDD55','Dopf':'\\uD835\\uDD3B','dot':'\\u02D9','Dot':'\\xA8','DotDot':'\\u20DC','doteq':'\\u2250','doteqdot':'\\u2251','DotEqual':'\\u2250','dotminus':'\\u2238','dotplus':'\\u2214','dotsquare':'\\u22A1','doublebarwedge':'\\u2306','DoubleContourIntegral':'\\u222F','DoubleDot':'\\xA8','DoubleDownArrow':'\\u21D3','DoubleLeftArrow':'\\u21D0','DoubleLeftRightArrow':'\\u21D4','DoubleLeftTee':'\\u2AE4','DoubleLongLeftArrow':'\\u27F8','DoubleLongLeftRightArrow':'\\u27FA','DoubleLongRightArrow':'\\u27F9','DoubleRightArrow':'\\u21D2','DoubleRightTee':'\\u22A8','DoubleUpArrow':'\\u21D1','DoubleUpDownArrow':'\\u21D5','DoubleVerticalBar':'\\u2225','downarrow':'\\u2193','Downarrow':'\\u21D3','DownArrow':'\\u2193','DownArrowBar':'\\u2913','DownArrowUpArrow':'\\u21F5','DownBreve':'\\u0311','downdownarrows':'\\u21CA','downharpoonleft':'\\u21C3','downharpoonright':'\\u21C2','DownLeftRightVector':'\\u2950','DownLeftTeeVector':'\\u295E','DownLeftVector':'\\u21BD','DownLeftVectorBar':'\\u2956','DownRightTeeVector':'\\u295F','DownRightVector':'\\u21C1','DownRightVectorBar':'\\u2957','DownTee':'\\u22A4','DownTeeArrow':'\\u21A7','drbkarow':'\\u2910','drcorn':'\\u231F','drcrop':'\\u230C','dscr':'\\uD835\\uDCB9','Dscr':'\\uD835\\uDC9F','dscy':'\\u0455','DScy':'\\u0405','dsol':'\\u29F6','dstrok':'\\u0111','Dstrok':'\\u0110','dtdot':'\\u22F1','dtri':'\\u25BF','dtrif':'\\u25BE','duarr':'\\u21F5','duhar':'\\u296F','dwangle':'\\u29A6','dzcy':'\\u045F','DZcy':'\\u040F','dzigrarr':'\\u27FF','eacute':'\\xE9','Eacute':'\\xC9','easter':'\\u2A6E','ecaron':'\\u011B','Ecaron':'\\u011A','ecir':'\\u2256','ecirc':'\\xEA','Ecirc':'\\xCA','ecolon':'\\u2255','ecy':'\\u044D','Ecy':'\\u042D','eDDot':'\\u2A77','edot':'\\u0117','eDot':'\\u2251','Edot':'\\u0116','ee':'\\u2147','efDot':'\\u2252','efr':'\\uD835\\uDD22','Efr':'\\uD835\\uDD08','eg':'\\u2A9A','egrave':'\\xE8','Egrave':'\\xC8','egs':'\\u2A96','egsdot':'\\u2A98','el':'\\u2A99','Element':'\\u2208','elinters':'\\u23E7','ell':'\\u2113','els':'\\u2A95','elsdot':'\\u2A97','emacr':'\\u0113','Emacr':'\\u0112','empty':'\\u2205','emptyset':'\\u2205','EmptySmallSquare':'\\u25FB','emptyv':'\\u2205','EmptyVerySmallSquare':'\\u25AB','emsp':'\\u2003','emsp13':'\\u2004','emsp14':'\\u2005','eng':'\\u014B','ENG':'\\u014A','ensp':'\\u2002','eogon':'\\u0119','Eogon':'\\u0118','eopf':'\\uD835\\uDD56','Eopf':'\\uD835\\uDD3C','epar':'\\u22D5','eparsl':'\\u29E3','eplus':'\\u2A71','epsi':'\\u03B5','epsilon':'\\u03B5','Epsilon':'\\u0395','epsiv':'\\u03F5','eqcirc':'\\u2256','eqcolon':'\\u2255','eqsim':'\\u2242','eqslantgtr':'\\u2A96','eqslantless':'\\u2A95','Equal':'\\u2A75','equals':'=','EqualTilde':'\\u2242','equest':'\\u225F','Equilibrium':'\\u21CC','equiv':'\\u2261','equivDD':'\\u2A78','eqvparsl':'\\u29E5','erarr':'\\u2971','erDot':'\\u2253','escr':'\\u212F','Escr':'\\u2130','esdot':'\\u2250','esim':'\\u2242','Esim':'\\u2A73','eta':'\\u03B7','Eta':'\\u0397','eth':'\\xF0','ETH':'\\xD0','euml':'\\xEB','Euml':'\\xCB','euro':'\\u20AC','excl':'!','exist':'\\u2203','Exists':'\\u2203','expectation':'\\u2130','exponentiale':'\\u2147','ExponentialE':'\\u2147','fallingdotseq':'\\u2252','fcy':'\\u0444','Fcy':'\\u0424','female':'\\u2640','ffilig':'\\uFB03','fflig':'\\uFB00','ffllig':'\\uFB04','ffr':'\\uD835\\uDD23','Ffr':'\\uD835\\uDD09','filig':'\\uFB01','FilledSmallSquare':'\\u25FC','FilledVerySmallSquare':'\\u25AA','fjlig':'fj','flat':'\\u266D','fllig':'\\uFB02','fltns':'\\u25B1','fnof':'\\u0192','fopf':'\\uD835\\uDD57','Fopf':'\\uD835\\uDD3D','forall':'\\u2200','ForAll':'\\u2200','fork':'\\u22D4','forkv':'\\u2AD9','Fouriertrf':'\\u2131','fpartint':'\\u2A0D','frac12':'\\xBD','frac13':'\\u2153','frac14':'\\xBC','frac15':'\\u2155','frac16':'\\u2159','frac18':'\\u215B','frac23':'\\u2154','frac25':'\\u2156','frac34':'\\xBE','frac35':'\\u2157','frac38':'\\u215C','frac45':'\\u2158','frac56':'\\u215A','frac58':'\\u215D','frac78':'\\u215E','frasl':'\\u2044','frown':'\\u2322','fscr':'\\uD835\\uDCBB','Fscr':'\\u2131','gacute':'\\u01F5','gamma':'\\u03B3','Gamma':'\\u0393','gammad':'\\u03DD','Gammad':'\\u03DC','gap':'\\u2A86','gbreve':'\\u011F','Gbreve':'\\u011E','Gcedil':'\\u0122','gcirc':'\\u011D','Gcirc':'\\u011C','gcy':'\\u0433','Gcy':'\\u0413','gdot':'\\u0121','Gdot':'\\u0120','ge':'\\u2265','gE':'\\u2267','gel':'\\u22DB','gEl':'\\u2A8C','geq':'\\u2265','geqq':'\\u2267','geqslant':'\\u2A7E','ges':'\\u2A7E','gescc':'\\u2AA9','gesdot':'\\u2A80','gesdoto':'\\u2A82','gesdotol':'\\u2A84','gesl':'\\u22DB\\uFE00','gesles':'\\u2A94','gfr':'\\uD835\\uDD24','Gfr':'\\uD835\\uDD0A','gg':'\\u226B','Gg':'\\u22D9','ggg':'\\u22D9','gimel':'\\u2137','gjcy':'\\u0453','GJcy':'\\u0403','gl':'\\u2277','gla':'\\u2AA5','glE':'\\u2A92','glj':'\\u2AA4','gnap':'\\u2A8A','gnapprox':'\\u2A8A','gne':'\\u2A88','gnE':'\\u2269','gneq':'\\u2A88','gneqq':'\\u2269','gnsim':'\\u22E7','gopf':'\\uD835\\uDD58','Gopf':'\\uD835\\uDD3E','grave':'`','GreaterEqual':'\\u2265','GreaterEqualLess':'\\u22DB','GreaterFullEqual':'\\u2267','GreaterGreater':'\\u2AA2','GreaterLess':'\\u2277','GreaterSlantEqual':'\\u2A7E','GreaterTilde':'\\u2273','gscr':'\\u210A','Gscr':'\\uD835\\uDCA2','gsim':'\\u2273','gsime':'\\u2A8E','gsiml':'\\u2A90','gt':'>','Gt':'\\u226B','GT':'>','gtcc':'\\u2AA7','gtcir':'\\u2A7A','gtdot':'\\u22D7','gtlPar':'\\u2995','gtquest':'\\u2A7C','gtrapprox':'\\u2A86','gtrarr':'\\u2978','gtrdot':'\\u22D7','gtreqless':'\\u22DB','gtreqqless':'\\u2A8C','gtrless':'\\u2277','gtrsim':'\\u2273','gvertneqq':'\\u2269\\uFE00','gvnE':'\\u2269\\uFE00','Hacek':'\\u02C7','hairsp':'\\u200A','half':'\\xBD','hamilt':'\\u210B','hardcy':'\\u044A','HARDcy':'\\u042A','harr':'\\u2194','hArr':'\\u21D4','harrcir':'\\u2948','harrw':'\\u21AD','Hat':'^','hbar':'\\u210F','hcirc':'\\u0125','Hcirc':'\\u0124','hearts':'\\u2665','heartsuit':'\\u2665','hellip':'\\u2026','hercon':'\\u22B9','hfr':'\\uD835\\uDD25','Hfr':'\\u210C','HilbertSpace':'\\u210B','hksearow':'\\u2925','hkswarow':'\\u2926','hoarr':'\\u21FF','homtht':'\\u223B','hookleftarrow':'\\u21A9','hookrightarrow':'\\u21AA','hopf':'\\uD835\\uDD59','Hopf':'\\u210D','horbar':'\\u2015','HorizontalLine':'\\u2500','hscr':'\\uD835\\uDCBD','Hscr':'\\u210B','hslash':'\\u210F','hstrok':'\\u0127','Hstrok':'\\u0126','HumpDownHump':'\\u224E','HumpEqual':'\\u224F','hybull':'\\u2043','hyphen':'\\u2010','iacute':'\\xED','Iacute':'\\xCD','ic':'\\u2063','icirc':'\\xEE','Icirc':'\\xCE','icy':'\\u0438','Icy':'\\u0418','Idot':'\\u0130','iecy':'\\u0435','IEcy':'\\u0415','iexcl':'\\xA1','iff':'\\u21D4','ifr':'\\uD835\\uDD26','Ifr':'\\u2111','igrave':'\\xEC','Igrave':'\\xCC','ii':'\\u2148','iiiint':'\\u2A0C','iiint':'\\u222D','iinfin':'\\u29DC','iiota':'\\u2129','ijlig':'\\u0133','IJlig':'\\u0132','Im':'\\u2111','imacr':'\\u012B','Imacr':'\\u012A','image':'\\u2111','ImaginaryI':'\\u2148','imagline':'\\u2110','imagpart':'\\u2111','imath':'\\u0131','imof':'\\u22B7','imped':'\\u01B5','Implies':'\\u21D2','in':'\\u2208','incare':'\\u2105','infin':'\\u221E','infintie':'\\u29DD','inodot':'\\u0131','int':'\\u222B','Int':'\\u222C','intcal':'\\u22BA','integers':'\\u2124','Integral':'\\u222B','intercal':'\\u22BA','Intersection':'\\u22C2','intlarhk':'\\u2A17','intprod':'\\u2A3C','InvisibleComma':'\\u2063','InvisibleTimes':'\\u2062','iocy':'\\u0451','IOcy':'\\u0401','iogon':'\\u012F','Iogon':'\\u012E','iopf':'\\uD835\\uDD5A','Iopf':'\\uD835\\uDD40','iota':'\\u03B9','Iota':'\\u0399','iprod':'\\u2A3C','iquest':'\\xBF','iscr':'\\uD835\\uDCBE','Iscr':'\\u2110','isin':'\\u2208','isindot':'\\u22F5','isinE':'\\u22F9','isins':'\\u22F4','isinsv':'\\u22F3','isinv':'\\u2208','it':'\\u2062','itilde':'\\u0129','Itilde':'\\u0128','iukcy':'\\u0456','Iukcy':'\\u0406','iuml':'\\xEF','Iuml':'\\xCF','jcirc':'\\u0135','Jcirc':'\\u0134','jcy':'\\u0439','Jcy':'\\u0419','jfr':'\\uD835\\uDD27','Jfr':'\\uD835\\uDD0D','jmath':'\\u0237','jopf':'\\uD835\\uDD5B','Jopf':'\\uD835\\uDD41','jscr':'\\uD835\\uDCBF','Jscr':'\\uD835\\uDCA5','jsercy':'\\u0458','Jsercy':'\\u0408','jukcy':'\\u0454','Jukcy':'\\u0404','kappa':'\\u03BA','Kappa':'\\u039A','kappav':'\\u03F0','kcedil':'\\u0137','Kcedil':'\\u0136','kcy':'\\u043A','Kcy':'\\u041A','kfr':'\\uD835\\uDD28','Kfr':'\\uD835\\uDD0E','kgreen':'\\u0138','khcy':'\\u0445','KHcy':'\\u0425','kjcy':'\\u045C','KJcy':'\\u040C','kopf':'\\uD835\\uDD5C','Kopf':'\\uD835\\uDD42','kscr':'\\uD835\\uDCC0','Kscr':'\\uD835\\uDCA6','lAarr':'\\u21DA','lacute':'\\u013A','Lacute':'\\u0139','laemptyv':'\\u29B4','lagran':'\\u2112','lambda':'\\u03BB','Lambda':'\\u039B','lang':'\\u27E8','Lang':'\\u27EA','langd':'\\u2991','langle':'\\u27E8','lap':'\\u2A85','Laplacetrf':'\\u2112','laquo':'\\xAB','larr':'\\u2190','lArr':'\\u21D0','Larr':'\\u219E','larrb':'\\u21E4','larrbfs':'\\u291F','larrfs':'\\u291D','larrhk':'\\u21A9','larrlp':'\\u21AB','larrpl':'\\u2939','larrsim':'\\u2973','larrtl':'\\u21A2','lat':'\\u2AAB','latail':'\\u2919','lAtail':'\\u291B','late':'\\u2AAD','lates':'\\u2AAD\\uFE00','lbarr':'\\u290C','lBarr':'\\u290E','lbbrk':'\\u2772','lbrace':'{','lbrack':'[','lbrke':'\\u298B','lbrksld':'\\u298F','lbrkslu':'\\u298D','lcaron':'\\u013E','Lcaron':'\\u013D','lcedil':'\\u013C','Lcedil':'\\u013B','lceil':'\\u2308','lcub':'{','lcy':'\\u043B','Lcy':'\\u041B','ldca':'\\u2936','ldquo':'\\u201C','ldquor':'\\u201E','ldrdhar':'\\u2967','ldrushar':'\\u294B','ldsh':'\\u21B2','le':'\\u2264','lE':'\\u2266','LeftAngleBracket':'\\u27E8','leftarrow':'\\u2190','Leftarrow':'\\u21D0','LeftArrow':'\\u2190','LeftArrowBar':'\\u21E4','LeftArrowRightArrow':'\\u21C6','leftarrowtail':'\\u21A2','LeftCeiling':'\\u2308','LeftDoubleBracket':'\\u27E6','LeftDownTeeVector':'\\u2961','LeftDownVector':'\\u21C3','LeftDownVectorBar':'\\u2959','LeftFloor':'\\u230A','leftharpoondown':'\\u21BD','leftharpoonup':'\\u21BC','leftleftarrows':'\\u21C7','leftrightarrow':'\\u2194','Leftrightarrow':'\\u21D4','LeftRightArrow':'\\u2194','leftrightarrows':'\\u21C6','leftrightharpoons':'\\u21CB','leftrightsquigarrow':'\\u21AD','LeftRightVector':'\\u294E','LeftTee':'\\u22A3','LeftTeeArrow':'\\u21A4','LeftTeeVector':'\\u295A','leftthreetimes':'\\u22CB','LeftTriangle':'\\u22B2','LeftTriangleBar':'\\u29CF','LeftTriangleEqual':'\\u22B4','LeftUpDownVector':'\\u2951','LeftUpTeeVector':'\\u2960','LeftUpVector':'\\u21BF','LeftUpVectorBar':'\\u2958','LeftVector':'\\u21BC','LeftVectorBar':'\\u2952','leg':'\\u22DA','lEg':'\\u2A8B','leq':'\\u2264','leqq':'\\u2266','leqslant':'\\u2A7D','les':'\\u2A7D','lescc':'\\u2AA8','lesdot':'\\u2A7F','lesdoto':'\\u2A81','lesdotor':'\\u2A83','lesg':'\\u22DA\\uFE00','lesges':'\\u2A93','lessapprox':'\\u2A85','lessdot':'\\u22D6','lesseqgtr':'\\u22DA','lesseqqgtr':'\\u2A8B','LessEqualGreater':'\\u22DA','LessFullEqual':'\\u2266','LessGreater':'\\u2276','lessgtr':'\\u2276','LessLess':'\\u2AA1','lesssim':'\\u2272','LessSlantEqual':'\\u2A7D','LessTilde':'\\u2272','lfisht':'\\u297C','lfloor':'\\u230A','lfr':'\\uD835\\uDD29','Lfr':'\\uD835\\uDD0F','lg':'\\u2276','lgE':'\\u2A91','lHar':'\\u2962','lhard':'\\u21BD','lharu':'\\u21BC','lharul':'\\u296A','lhblk':'\\u2584','ljcy':'\\u0459','LJcy':'\\u0409','ll':'\\u226A','Ll':'\\u22D8','llarr':'\\u21C7','llcorner':'\\u231E','Lleftarrow':'\\u21DA','llhard':'\\u296B','lltri':'\\u25FA','lmidot':'\\u0140','Lmidot':'\\u013F','lmoust':'\\u23B0','lmoustache':'\\u23B0','lnap':'\\u2A89','lnapprox':'\\u2A89','lne':'\\u2A87','lnE':'\\u2268','lneq':'\\u2A87','lneqq':'\\u2268','lnsim':'\\u22E6','loang':'\\u27EC','loarr':'\\u21FD','lobrk':'\\u27E6','longleftarrow':'\\u27F5','Longleftarrow':'\\u27F8','LongLeftArrow':'\\u27F5','longleftrightarrow':'\\u27F7','Longleftrightarrow':'\\u27FA','LongLeftRightArrow':'\\u27F7','longmapsto':'\\u27FC','longrightarrow':'\\u27F6','Longrightarrow':'\\u27F9','LongRightArrow':'\\u27F6','looparrowleft':'\\u21AB','looparrowright':'\\u21AC','lopar':'\\u2985','lopf':'\\uD835\\uDD5D','Lopf':'\\uD835\\uDD43','loplus':'\\u2A2D','lotimes':'\\u2A34','lowast':'\\u2217','lowbar':'_','LowerLeftArrow':'\\u2199','LowerRightArrow':'\\u2198','loz':'\\u25CA','lozenge':'\\u25CA','lozf':'\\u29EB','lpar':'(','lparlt':'\\u2993','lrarr':'\\u21C6','lrcorner':'\\u231F','lrhar':'\\u21CB','lrhard':'\\u296D','lrm':'\\u200E','lrtri':'\\u22BF','lsaquo':'\\u2039','lscr':'\\uD835\\uDCC1','Lscr':'\\u2112','lsh':'\\u21B0','Lsh':'\\u21B0','lsim':'\\u2272','lsime':'\\u2A8D','lsimg':'\\u2A8F','lsqb':'[','lsquo':'\\u2018','lsquor':'\\u201A','lstrok':'\\u0142','Lstrok':'\\u0141','lt':'<','Lt':'\\u226A','LT':'<','ltcc':'\\u2AA6','ltcir':'\\u2A79','ltdot':'\\u22D6','lthree':'\\u22CB','ltimes':'\\u22C9','ltlarr':'\\u2976','ltquest':'\\u2A7B','ltri':'\\u25C3','ltrie':'\\u22B4','ltrif':'\\u25C2','ltrPar':'\\u2996','lurdshar':'\\u294A','luruhar':'\\u2966','lvertneqq':'\\u2268\\uFE00','lvnE':'\\u2268\\uFE00','macr':'\\xAF','male':'\\u2642','malt':'\\u2720','maltese':'\\u2720','map':'\\u21A6','Map':'\\u2905','mapsto':'\\u21A6','mapstodown':'\\u21A7','mapstoleft':'\\u21A4','mapstoup':'\\u21A5','marker':'\\u25AE','mcomma':'\\u2A29','mcy':'\\u043C','Mcy':'\\u041C','mdash':'\\u2014','mDDot':'\\u223A','measuredangle':'\\u2221','MediumSpace':'\\u205F','Mellintrf':'\\u2133','mfr':'\\uD835\\uDD2A','Mfr':'\\uD835\\uDD10','mho':'\\u2127','micro':'\\xB5','mid':'\\u2223','midast':'*','midcir':'\\u2AF0','middot':'\\xB7','minus':'\\u2212','minusb':'\\u229F','minusd':'\\u2238','minusdu':'\\u2A2A','MinusPlus':'\\u2213','mlcp':'\\u2ADB','mldr':'\\u2026','mnplus':'\\u2213','models':'\\u22A7','mopf':'\\uD835\\uDD5E','Mopf':'\\uD835\\uDD44','mp':'\\u2213','mscr':'\\uD835\\uDCC2','Mscr':'\\u2133','mstpos':'\\u223E','mu':'\\u03BC','Mu':'\\u039C','multimap':'\\u22B8','mumap':'\\u22B8','nabla':'\\u2207','nacute':'\\u0144','Nacute':'\\u0143','nang':'\\u2220\\u20D2','nap':'\\u2249','napE':'\\u2A70\\u0338','napid':'\\u224B\\u0338','napos':'\\u0149','napprox':'\\u2249','natur':'\\u266E','natural':'\\u266E','naturals':'\\u2115','nbsp':'\\xA0','nbump':'\\u224E\\u0338','nbumpe':'\\u224F\\u0338','ncap':'\\u2A43','ncaron':'\\u0148','Ncaron':'\\u0147','ncedil':'\\u0146','Ncedil':'\\u0145','ncong':'\\u2247','ncongdot':'\\u2A6D\\u0338','ncup':'\\u2A42','ncy':'\\u043D','Ncy':'\\u041D','ndash':'\\u2013','ne':'\\u2260','nearhk':'\\u2924','nearr':'\\u2197','neArr':'\\u21D7','nearrow':'\\u2197','nedot':'\\u2250\\u0338','NegativeMediumSpace':'\\u200B','NegativeThickSpace':'\\u200B','NegativeThinSpace':'\\u200B','NegativeVeryThinSpace':'\\u200B','nequiv':'\\u2262','nesear':'\\u2928','nesim':'\\u2242\\u0338','NestedGreaterGreater':'\\u226B','NestedLessLess':'\\u226A','NewLine':'\\n','nexist':'\\u2204','nexists':'\\u2204','nfr':'\\uD835\\uDD2B','Nfr':'\\uD835\\uDD11','nge':'\\u2271','ngE':'\\u2267\\u0338','ngeq':'\\u2271','ngeqq':'\\u2267\\u0338','ngeqslant':'\\u2A7E\\u0338','nges':'\\u2A7E\\u0338','nGg':'\\u22D9\\u0338','ngsim':'\\u2275','ngt':'\\u226F','nGt':'\\u226B\\u20D2','ngtr':'\\u226F','nGtv':'\\u226B\\u0338','nharr':'\\u21AE','nhArr':'\\u21CE','nhpar':'\\u2AF2','ni':'\\u220B','nis':'\\u22FC','nisd':'\\u22FA','niv':'\\u220B','njcy':'\\u045A','NJcy':'\\u040A','nlarr':'\\u219A','nlArr':'\\u21CD','nldr':'\\u2025','nle':'\\u2270','nlE':'\\u2266\\u0338','nleftarrow':'\\u219A','nLeftarrow':'\\u21CD','nleftrightarrow':'\\u21AE','nLeftrightarrow':'\\u21CE','nleq':'\\u2270','nleqq':'\\u2266\\u0338','nleqslant':'\\u2A7D\\u0338','nles':'\\u2A7D\\u0338','nless':'\\u226E','nLl':'\\u22D8\\u0338','nlsim':'\\u2274','nlt':'\\u226E','nLt':'\\u226A\\u20D2','nltri':'\\u22EA','nltrie':'\\u22EC','nLtv':'\\u226A\\u0338','nmid':'\\u2224','NoBreak':'\\u2060','NonBreakingSpace':'\\xA0','nopf':'\\uD835\\uDD5F','Nopf':'\\u2115','not':'\\xAC','Not':'\\u2AEC','NotCongruent':'\\u2262','NotCupCap':'\\u226D','NotDoubleVerticalBar':'\\u2226','NotElement':'\\u2209','NotEqual':'\\u2260','NotEqualTilde':'\\u2242\\u0338','NotExists':'\\u2204','NotGreater':'\\u226F','NotGreaterEqual':'\\u2271','NotGreaterFullEqual':'\\u2267\\u0338','NotGreaterGreater':'\\u226B\\u0338','NotGreaterLess':'\\u2279','NotGreaterSlantEqual':'\\u2A7E\\u0338','NotGreaterTilde':'\\u2275','NotHumpDownHump':'\\u224E\\u0338','NotHumpEqual':'\\u224F\\u0338','notin':'\\u2209','notindot':'\\u22F5\\u0338','notinE':'\\u22F9\\u0338','notinva':'\\u2209','notinvb':'\\u22F7','notinvc':'\\u22F6','NotLeftTriangle':'\\u22EA','NotLeftTriangleBar':'\\u29CF\\u0338','NotLeftTriangleEqual':'\\u22EC','NotLess':'\\u226E','NotLessEqual':'\\u2270','NotLessGreater':'\\u2278','NotLessLess':'\\u226A\\u0338','NotLessSlantEqual':'\\u2A7D\\u0338','NotLessTilde':'\\u2274','NotNestedGreaterGreater':'\\u2AA2\\u0338','NotNestedLessLess':'\\u2AA1\\u0338','notni':'\\u220C','notniva':'\\u220C','notnivb':'\\u22FE','notnivc':'\\u22FD','NotPrecedes':'\\u2280','NotPrecedesEqual':'\\u2AAF\\u0338','NotPrecedesSlantEqual':'\\u22E0','NotReverseElement':'\\u220C','NotRightTriangle':'\\u22EB','NotRightTriangleBar':'\\u29D0\\u0338','NotRightTriangleEqual':'\\u22ED','NotSquareSubset':'\\u228F\\u0338','NotSquareSubsetEqual':'\\u22E2','NotSquareSuperset':'\\u2290\\u0338','NotSquareSupersetEqual':'\\u22E3','NotSubset':'\\u2282\\u20D2','NotSubsetEqual':'\\u2288','NotSucceeds':'\\u2281','NotSucceedsEqual':'\\u2AB0\\u0338','NotSucceedsSlantEqual':'\\u22E1','NotSucceedsTilde':'\\u227F\\u0338','NotSuperset':'\\u2283\\u20D2','NotSupersetEqual':'\\u2289','NotTilde':'\\u2241','NotTildeEqual':'\\u2244','NotTildeFullEqual':'\\u2247','NotTildeTilde':'\\u2249','NotVerticalBar':'\\u2224','npar':'\\u2226','nparallel':'\\u2226','nparsl':'\\u2AFD\\u20E5','npart':'\\u2202\\u0338','npolint':'\\u2A14','npr':'\\u2280','nprcue':'\\u22E0','npre':'\\u2AAF\\u0338','nprec':'\\u2280','npreceq':'\\u2AAF\\u0338','nrarr':'\\u219B','nrArr':'\\u21CF','nrarrc':'\\u2933\\u0338','nrarrw':'\\u219D\\u0338','nrightarrow':'\\u219B','nRightarrow':'\\u21CF','nrtri':'\\u22EB','nrtrie':'\\u22ED','nsc':'\\u2281','nsccue':'\\u22E1','nsce':'\\u2AB0\\u0338','nscr':'\\uD835\\uDCC3','Nscr':'\\uD835\\uDCA9','nshortmid':'\\u2224','nshortparallel':'\\u2226','nsim':'\\u2241','nsime':'\\u2244','nsimeq':'\\u2244','nsmid':'\\u2224','nspar':'\\u2226','nsqsube':'\\u22E2','nsqsupe':'\\u22E3','nsub':'\\u2284','nsube':'\\u2288','nsubE':'\\u2AC5\\u0338','nsubset':'\\u2282\\u20D2','nsubseteq':'\\u2288','nsubseteqq':'\\u2AC5\\u0338','nsucc':'\\u2281','nsucceq':'\\u2AB0\\u0338','nsup':'\\u2285','nsupe':'\\u2289','nsupE':'\\u2AC6\\u0338','nsupset':'\\u2283\\u20D2','nsupseteq':'\\u2289','nsupseteqq':'\\u2AC6\\u0338','ntgl':'\\u2279','ntilde':'\\xF1','Ntilde':'\\xD1','ntlg':'\\u2278','ntriangleleft':'\\u22EA','ntrianglelefteq':'\\u22EC','ntriangleright':'\\u22EB','ntrianglerighteq':'\\u22ED','nu':'\\u03BD','Nu':'\\u039D','num':'#','numero':'\\u2116','numsp':'\\u2007','nvap':'\\u224D\\u20D2','nvdash':'\\u22AC','nvDash':'\\u22AD','nVdash':'\\u22AE','nVDash':'\\u22AF','nvge':'\\u2265\\u20D2','nvgt':'>\\u20D2','nvHarr':'\\u2904','nvinfin':'\\u29DE','nvlArr':'\\u2902','nvle':'\\u2264\\u20D2','nvlt':'<\\u20D2','nvltrie':'\\u22B4\\u20D2','nvrArr':'\\u2903','nvrtrie':'\\u22B5\\u20D2','nvsim':'\\u223C\\u20D2','nwarhk':'\\u2923','nwarr':'\\u2196','nwArr':'\\u21D6','nwarrow':'\\u2196','nwnear':'\\u2927','oacute':'\\xF3','Oacute':'\\xD3','oast':'\\u229B','ocir':'\\u229A','ocirc':'\\xF4','Ocirc':'\\xD4','ocy':'\\u043E','Ocy':'\\u041E','odash':'\\u229D','odblac':'\\u0151','Odblac':'\\u0150','odiv':'\\u2A38','odot':'\\u2299','odsold':'\\u29BC','oelig':'\\u0153','OElig':'\\u0152','ofcir':'\\u29BF','ofr':'\\uD835\\uDD2C','Ofr':'\\uD835\\uDD12','ogon':'\\u02DB','ograve':'\\xF2','Ograve':'\\xD2','ogt':'\\u29C1','ohbar':'\\u29B5','ohm':'\\u03A9','oint':'\\u222E','olarr':'\\u21BA','olcir':'\\u29BE','olcross':'\\u29BB','oline':'\\u203E','olt':'\\u29C0','omacr':'\\u014D','Omacr':'\\u014C','omega':'\\u03C9','Omega':'\\u03A9','omicron':'\\u03BF','Omicron':'\\u039F','omid':'\\u29B6','ominus':'\\u2296','oopf':'\\uD835\\uDD60','Oopf':'\\uD835\\uDD46','opar':'\\u29B7','OpenCurlyDoubleQuote':'\\u201C','OpenCurlyQuote':'\\u2018','operp':'\\u29B9','oplus':'\\u2295','or':'\\u2228','Or':'\\u2A54','orarr':'\\u21BB','ord':'\\u2A5D','order':'\\u2134','orderof':'\\u2134','ordf':'\\xAA','ordm':'\\xBA','origof':'\\u22B6','oror':'\\u2A56','orslope':'\\u2A57','orv':'\\u2A5B','oS':'\\u24C8','oscr':'\\u2134','Oscr':'\\uD835\\uDCAA','oslash':'\\xF8','Oslash':'\\xD8','osol':'\\u2298','otilde':'\\xF5','Otilde':'\\xD5','otimes':'\\u2297','Otimes':'\\u2A37','otimesas':'\\u2A36','ouml':'\\xF6','Ouml':'\\xD6','ovbar':'\\u233D','OverBar':'\\u203E','OverBrace':'\\u23DE','OverBracket':'\\u23B4','OverParenthesis':'\\u23DC','par':'\\u2225','para':'\\xB6','parallel':'\\u2225','parsim':'\\u2AF3','parsl':'\\u2AFD','part':'\\u2202','PartialD':'\\u2202','pcy':'\\u043F','Pcy':'\\u041F','percnt':'%','period':'.','permil':'\\u2030','perp':'\\u22A5','pertenk':'\\u2031','pfr':'\\uD835\\uDD2D','Pfr':'\\uD835\\uDD13','phi':'\\u03C6','Phi':'\\u03A6','phiv':'\\u03D5','phmmat':'\\u2133','phone':'\\u260E','pi':'\\u03C0','Pi':'\\u03A0','pitchfork':'\\u22D4','piv':'\\u03D6','planck':'\\u210F','planckh':'\\u210E','plankv':'\\u210F','plus':'+','plusacir':'\\u2A23','plusb':'\\u229E','pluscir':'\\u2A22','plusdo':'\\u2214','plusdu':'\\u2A25','pluse':'\\u2A72','PlusMinus':'\\xB1','plusmn':'\\xB1','plussim':'\\u2A26','plustwo':'\\u2A27','pm':'\\xB1','Poincareplane':'\\u210C','pointint':'\\u2A15','popf':'\\uD835\\uDD61','Popf':'\\u2119','pound':'\\xA3','pr':'\\u227A','Pr':'\\u2ABB','prap':'\\u2AB7','prcue':'\\u227C','pre':'\\u2AAF','prE':'\\u2AB3','prec':'\\u227A','precapprox':'\\u2AB7','preccurlyeq':'\\u227C','Precedes':'\\u227A','PrecedesEqual':'\\u2AAF','PrecedesSlantEqual':'\\u227C','PrecedesTilde':'\\u227E','preceq':'\\u2AAF','precnapprox':'\\u2AB9','precneqq':'\\u2AB5','precnsim':'\\u22E8','precsim':'\\u227E','prime':'\\u2032','Prime':'\\u2033','primes':'\\u2119','prnap':'\\u2AB9','prnE':'\\u2AB5','prnsim':'\\u22E8','prod':'\\u220F','Product':'\\u220F','profalar':'\\u232E','profline':'\\u2312','profsurf':'\\u2313','prop':'\\u221D','Proportion':'\\u2237','Proportional':'\\u221D','propto':'\\u221D','prsim':'\\u227E','prurel':'\\u22B0','pscr':'\\uD835\\uDCC5','Pscr':'\\uD835\\uDCAB','psi':'\\u03C8','Psi':'\\u03A8','puncsp':'\\u2008','qfr':'\\uD835\\uDD2E','Qfr':'\\uD835\\uDD14','qint':'\\u2A0C','qopf':'\\uD835\\uDD62','Qopf':'\\u211A','qprime':'\\u2057','qscr':'\\uD835\\uDCC6','Qscr':'\\uD835\\uDCAC','quaternions':'\\u210D','quatint':'\\u2A16','quest':'?','questeq':'\\u225F','quot':'\"','QUOT':'\"','rAarr':'\\u21DB','race':'\\u223D\\u0331','racute':'\\u0155','Racute':'\\u0154','radic':'\\u221A','raemptyv':'\\u29B3','rang':'\\u27E9','Rang':'\\u27EB','rangd':'\\u2992','range':'\\u29A5','rangle':'\\u27E9','raquo':'\\xBB','rarr':'\\u2192','rArr':'\\u21D2','Rarr':'\\u21A0','rarrap':'\\u2975','rarrb':'\\u21E5','rarrbfs':'\\u2920','rarrc':'\\u2933','rarrfs':'\\u291E','rarrhk':'\\u21AA','rarrlp':'\\u21AC','rarrpl':'\\u2945','rarrsim':'\\u2974','rarrtl':'\\u21A3','Rarrtl':'\\u2916','rarrw':'\\u219D','ratail':'\\u291A','rAtail':'\\u291C','ratio':'\\u2236','rationals':'\\u211A','rbarr':'\\u290D','rBarr':'\\u290F','RBarr':'\\u2910','rbbrk':'\\u2773','rbrace':'}','rbrack':']','rbrke':'\\u298C','rbrksld':'\\u298E','rbrkslu':'\\u2990','rcaron':'\\u0159','Rcaron':'\\u0158','rcedil':'\\u0157','Rcedil':'\\u0156','rceil':'\\u2309','rcub':'}','rcy':'\\u0440','Rcy':'\\u0420','rdca':'\\u2937','rdldhar':'\\u2969','rdquo':'\\u201D','rdquor':'\\u201D','rdsh':'\\u21B3','Re':'\\u211C','real':'\\u211C','realine':'\\u211B','realpart':'\\u211C','reals':'\\u211D','rect':'\\u25AD','reg':'\\xAE','REG':'\\xAE','ReverseElement':'\\u220B','ReverseEquilibrium':'\\u21CB','ReverseUpEquilibrium':'\\u296F','rfisht':'\\u297D','rfloor':'\\u230B','rfr':'\\uD835\\uDD2F','Rfr':'\\u211C','rHar':'\\u2964','rhard':'\\u21C1','rharu':'\\u21C0','rharul':'\\u296C','rho':'\\u03C1','Rho':'\\u03A1','rhov':'\\u03F1','RightAngleBracket':'\\u27E9','rightarrow':'\\u2192','Rightarrow':'\\u21D2','RightArrow':'\\u2192','RightArrowBar':'\\u21E5','RightArrowLeftArrow':'\\u21C4','rightarrowtail':'\\u21A3','RightCeiling':'\\u2309','RightDoubleBracket':'\\u27E7','RightDownTeeVector':'\\u295D','RightDownVector':'\\u21C2','RightDownVectorBar':'\\u2955','RightFloor':'\\u230B','rightharpoondown':'\\u21C1','rightharpoonup':'\\u21C0','rightleftarrows':'\\u21C4','rightleftharpoons':'\\u21CC','rightrightarrows':'\\u21C9','rightsquigarrow':'\\u219D','RightTee':'\\u22A2','RightTeeArrow':'\\u21A6','RightTeeVector':'\\u295B','rightthreetimes':'\\u22CC','RightTriangle':'\\u22B3','RightTriangleBar':'\\u29D0','RightTriangleEqual':'\\u22B5','RightUpDownVector':'\\u294F','RightUpTeeVector':'\\u295C','RightUpVector':'\\u21BE','RightUpVectorBar':'\\u2954','RightVector':'\\u21C0','RightVectorBar':'\\u2953','ring':'\\u02DA','risingdotseq':'\\u2253','rlarr':'\\u21C4','rlhar':'\\u21CC','rlm':'\\u200F','rmoust':'\\u23B1','rmoustache':'\\u23B1','rnmid':'\\u2AEE','roang':'\\u27ED','roarr':'\\u21FE','robrk':'\\u27E7','ropar':'\\u2986','ropf':'\\uD835\\uDD63','Ropf':'\\u211D','roplus':'\\u2A2E','rotimes':'\\u2A35','RoundImplies':'\\u2970','rpar':')','rpargt':'\\u2994','rppolint':'\\u2A12','rrarr':'\\u21C9','Rrightarrow':'\\u21DB','rsaquo':'\\u203A','rscr':'\\uD835\\uDCC7','Rscr':'\\u211B','rsh':'\\u21B1','Rsh':'\\u21B1','rsqb':']','rsquo':'\\u2019','rsquor':'\\u2019','rthree':'\\u22CC','rtimes':'\\u22CA','rtri':'\\u25B9','rtrie':'\\u22B5','rtrif':'\\u25B8','rtriltri':'\\u29CE','RuleDelayed':'\\u29F4','ruluhar':'\\u2968','rx':'\\u211E','sacute':'\\u015B','Sacute':'\\u015A','sbquo':'\\u201A','sc':'\\u227B','Sc':'\\u2ABC','scap':'\\u2AB8','scaron':'\\u0161','Scaron':'\\u0160','sccue':'\\u227D','sce':'\\u2AB0','scE':'\\u2AB4','scedil':'\\u015F','Scedil':'\\u015E','scirc':'\\u015D','Scirc':'\\u015C','scnap':'\\u2ABA','scnE':'\\u2AB6','scnsim':'\\u22E9','scpolint':'\\u2A13','scsim':'\\u227F','scy':'\\u0441','Scy':'\\u0421','sdot':'\\u22C5','sdotb':'\\u22A1','sdote':'\\u2A66','searhk':'\\u2925','searr':'\\u2198','seArr':'\\u21D8','searrow':'\\u2198','sect':'\\xA7','semi':';','seswar':'\\u2929','setminus':'\\u2216','setmn':'\\u2216','sext':'\\u2736','sfr':'\\uD835\\uDD30','Sfr':'\\uD835\\uDD16','sfrown':'\\u2322','sharp':'\\u266F','shchcy':'\\u0449','SHCHcy':'\\u0429','shcy':'\\u0448','SHcy':'\\u0428','ShortDownArrow':'\\u2193','ShortLeftArrow':'\\u2190','shortmid':'\\u2223','shortparallel':'\\u2225','ShortRightArrow':'\\u2192','ShortUpArrow':'\\u2191','shy':'\\xAD','sigma':'\\u03C3','Sigma':'\\u03A3','sigmaf':'\\u03C2','sigmav':'\\u03C2','sim':'\\u223C','simdot':'\\u2A6A','sime':'\\u2243','simeq':'\\u2243','simg':'\\u2A9E','simgE':'\\u2AA0','siml':'\\u2A9D','simlE':'\\u2A9F','simne':'\\u2246','simplus':'\\u2A24','simrarr':'\\u2972','slarr':'\\u2190','SmallCircle':'\\u2218','smallsetminus':'\\u2216','smashp':'\\u2A33','smeparsl':'\\u29E4','smid':'\\u2223','smile':'\\u2323','smt':'\\u2AAA','smte':'\\u2AAC','smtes':'\\u2AAC\\uFE00','softcy':'\\u044C','SOFTcy':'\\u042C','sol':'/','solb':'\\u29C4','solbar':'\\u233F','sopf':'\\uD835\\uDD64','Sopf':'\\uD835\\uDD4A','spades':'\\u2660','spadesuit':'\\u2660','spar':'\\u2225','sqcap':'\\u2293','sqcaps':'\\u2293\\uFE00','sqcup':'\\u2294','sqcups':'\\u2294\\uFE00','Sqrt':'\\u221A','sqsub':'\\u228F','sqsube':'\\u2291','sqsubset':'\\u228F','sqsubseteq':'\\u2291','sqsup':'\\u2290','sqsupe':'\\u2292','sqsupset':'\\u2290','sqsupseteq':'\\u2292','squ':'\\u25A1','square':'\\u25A1','Square':'\\u25A1','SquareIntersection':'\\u2293','SquareSubset':'\\u228F','SquareSubsetEqual':'\\u2291','SquareSuperset':'\\u2290','SquareSupersetEqual':'\\u2292','SquareUnion':'\\u2294','squarf':'\\u25AA','squf':'\\u25AA','srarr':'\\u2192','sscr':'\\uD835\\uDCC8','Sscr':'\\uD835\\uDCAE','ssetmn':'\\u2216','ssmile':'\\u2323','sstarf':'\\u22C6','star':'\\u2606','Star':'\\u22C6','starf':'\\u2605','straightepsilon':'\\u03F5','straightphi':'\\u03D5','strns':'\\xAF','sub':'\\u2282','Sub':'\\u22D0','subdot':'\\u2ABD','sube':'\\u2286','subE':'\\u2AC5','subedot':'\\u2AC3','submult':'\\u2AC1','subne':'\\u228A','subnE':'\\u2ACB','subplus':'\\u2ABF','subrarr':'\\u2979','subset':'\\u2282','Subset':'\\u22D0','subseteq':'\\u2286','subseteqq':'\\u2AC5','SubsetEqual':'\\u2286','subsetneq':'\\u228A','subsetneqq':'\\u2ACB','subsim':'\\u2AC7','subsub':'\\u2AD5','subsup':'\\u2AD3','succ':'\\u227B','succapprox':'\\u2AB8','succcurlyeq':'\\u227D','Succeeds':'\\u227B','SucceedsEqual':'\\u2AB0','SucceedsSlantEqual':'\\u227D','SucceedsTilde':'\\u227F','succeq':'\\u2AB0','succnapprox':'\\u2ABA','succneqq':'\\u2AB6','succnsim':'\\u22E9','succsim':'\\u227F','SuchThat':'\\u220B','sum':'\\u2211','Sum':'\\u2211','sung':'\\u266A','sup':'\\u2283','Sup':'\\u22D1','sup1':'\\xB9','sup2':'\\xB2','sup3':'\\xB3','supdot':'\\u2ABE','supdsub':'\\u2AD8','supe':'\\u2287','supE':'\\u2AC6','supedot':'\\u2AC4','Superset':'\\u2283','SupersetEqual':'\\u2287','suphsol':'\\u27C9','suphsub':'\\u2AD7','suplarr':'\\u297B','supmult':'\\u2AC2','supne':'\\u228B','supnE':'\\u2ACC','supplus':'\\u2AC0','supset':'\\u2283','Supset':'\\u22D1','supseteq':'\\u2287','supseteqq':'\\u2AC6','supsetneq':'\\u228B','supsetneqq':'\\u2ACC','supsim':'\\u2AC8','supsub':'\\u2AD4','supsup':'\\u2AD6','swarhk':'\\u2926','swarr':'\\u2199','swArr':'\\u21D9','swarrow':'\\u2199','swnwar':'\\u292A','szlig':'\\xDF','Tab':'\\t','target':'\\u2316','tau':'\\u03C4','Tau':'\\u03A4','tbrk':'\\u23B4','tcaron':'\\u0165','Tcaron':'\\u0164','tcedil':'\\u0163','Tcedil':'\\u0162','tcy':'\\u0442','Tcy':'\\u0422','tdot':'\\u20DB','telrec':'\\u2315','tfr':'\\uD835\\uDD31','Tfr':'\\uD835\\uDD17','there4':'\\u2234','therefore':'\\u2234','Therefore':'\\u2234','theta':'\\u03B8','Theta':'\\u0398','thetasym':'\\u03D1','thetav':'\\u03D1','thickapprox':'\\u2248','thicksim':'\\u223C','ThickSpace':'\\u205F\\u200A','thinsp':'\\u2009','ThinSpace':'\\u2009','thkap':'\\u2248','thksim':'\\u223C','thorn':'\\xFE','THORN':'\\xDE','tilde':'\\u02DC','Tilde':'\\u223C','TildeEqual':'\\u2243','TildeFullEqual':'\\u2245','TildeTilde':'\\u2248','times':'\\xD7','timesb':'\\u22A0','timesbar':'\\u2A31','timesd':'\\u2A30','tint':'\\u222D','toea':'\\u2928','top':'\\u22A4','topbot':'\\u2336','topcir':'\\u2AF1','topf':'\\uD835\\uDD65','Topf':'\\uD835\\uDD4B','topfork':'\\u2ADA','tosa':'\\u2929','tprime':'\\u2034','trade':'\\u2122','TRADE':'\\u2122','triangle':'\\u25B5','triangledown':'\\u25BF','triangleleft':'\\u25C3','trianglelefteq':'\\u22B4','triangleq':'\\u225C','triangleright':'\\u25B9','trianglerighteq':'\\u22B5','tridot':'\\u25EC','trie':'\\u225C','triminus':'\\u2A3A','TripleDot':'\\u20DB','triplus':'\\u2A39','trisb':'\\u29CD','tritime':'\\u2A3B','trpezium':'\\u23E2','tscr':'\\uD835\\uDCC9','Tscr':'\\uD835\\uDCAF','tscy':'\\u0446','TScy':'\\u0426','tshcy':'\\u045B','TSHcy':'\\u040B','tstrok':'\\u0167','Tstrok':'\\u0166','twixt':'\\u226C','twoheadleftarrow':'\\u219E','twoheadrightarrow':'\\u21A0','uacute':'\\xFA','Uacute':'\\xDA','uarr':'\\u2191','uArr':'\\u21D1','Uarr':'\\u219F','Uarrocir':'\\u2949','ubrcy':'\\u045E','Ubrcy':'\\u040E','ubreve':'\\u016D','Ubreve':'\\u016C','ucirc':'\\xFB','Ucirc':'\\xDB','ucy':'\\u0443','Ucy':'\\u0423','udarr':'\\u21C5','udblac':'\\u0171','Udblac':'\\u0170','udhar':'\\u296E','ufisht':'\\u297E','ufr':'\\uD835\\uDD32','Ufr':'\\uD835\\uDD18','ugrave':'\\xF9','Ugrave':'\\xD9','uHar':'\\u2963','uharl':'\\u21BF','uharr':'\\u21BE','uhblk':'\\u2580','ulcorn':'\\u231C','ulcorner':'\\u231C','ulcrop':'\\u230F','ultri':'\\u25F8','umacr':'\\u016B','Umacr':'\\u016A','uml':'\\xA8','UnderBar':'_','UnderBrace':'\\u23DF','UnderBracket':'\\u23B5','UnderParenthesis':'\\u23DD','Union':'\\u22C3','UnionPlus':'\\u228E','uogon':'\\u0173','Uogon':'\\u0172','uopf':'\\uD835\\uDD66','Uopf':'\\uD835\\uDD4C','uparrow':'\\u2191','Uparrow':'\\u21D1','UpArrow':'\\u2191','UpArrowBar':'\\u2912','UpArrowDownArrow':'\\u21C5','updownarrow':'\\u2195','Updownarrow':'\\u21D5','UpDownArrow':'\\u2195','UpEquilibrium':'\\u296E','upharpoonleft':'\\u21BF','upharpoonright':'\\u21BE','uplus':'\\u228E','UpperLeftArrow':'\\u2196','UpperRightArrow':'\\u2197','upsi':'\\u03C5','Upsi':'\\u03D2','upsih':'\\u03D2','upsilon':'\\u03C5','Upsilon':'\\u03A5','UpTee':'\\u22A5','UpTeeArrow':'\\u21A5','upuparrows':'\\u21C8','urcorn':'\\u231D','urcorner':'\\u231D','urcrop':'\\u230E','uring':'\\u016F','Uring':'\\u016E','urtri':'\\u25F9','uscr':'\\uD835\\uDCCA','Uscr':'\\uD835\\uDCB0','utdot':'\\u22F0','utilde':'\\u0169','Utilde':'\\u0168','utri':'\\u25B5','utrif':'\\u25B4','uuarr':'\\u21C8','uuml':'\\xFC','Uuml':'\\xDC','uwangle':'\\u29A7','vangrt':'\\u299C','varepsilon':'\\u03F5','varkappa':'\\u03F0','varnothing':'\\u2205','varphi':'\\u03D5','varpi':'\\u03D6','varpropto':'\\u221D','varr':'\\u2195','vArr':'\\u21D5','varrho':'\\u03F1','varsigma':'\\u03C2','varsubsetneq':'\\u228A\\uFE00','varsubsetneqq':'\\u2ACB\\uFE00','varsupsetneq':'\\u228B\\uFE00','varsupsetneqq':'\\u2ACC\\uFE00','vartheta':'\\u03D1','vartriangleleft':'\\u22B2','vartriangleright':'\\u22B3','vBar':'\\u2AE8','Vbar':'\\u2AEB','vBarv':'\\u2AE9','vcy':'\\u0432','Vcy':'\\u0412','vdash':'\\u22A2','vDash':'\\u22A8','Vdash':'\\u22A9','VDash':'\\u22AB','Vdashl':'\\u2AE6','vee':'\\u2228','Vee':'\\u22C1','veebar':'\\u22BB','veeeq':'\\u225A','vellip':'\\u22EE','verbar':'|','Verbar':'\\u2016','vert':'|','Vert':'\\u2016','VerticalBar':'\\u2223','VerticalLine':'|','VerticalSeparator':'\\u2758','VerticalTilde':'\\u2240','VeryThinSpace':'\\u200A','vfr':'\\uD835\\uDD33','Vfr':'\\uD835\\uDD19','vltri':'\\u22B2','vnsub':'\\u2282\\u20D2','vnsup':'\\u2283\\u20D2','vopf':'\\uD835\\uDD67','Vopf':'\\uD835\\uDD4D','vprop':'\\u221D','vrtri':'\\u22B3','vscr':'\\uD835\\uDCCB','Vscr':'\\uD835\\uDCB1','vsubne':'\\u228A\\uFE00','vsubnE':'\\u2ACB\\uFE00','vsupne':'\\u228B\\uFE00','vsupnE':'\\u2ACC\\uFE00','Vvdash':'\\u22AA','vzigzag':'\\u299A','wcirc':'\\u0175','Wcirc':'\\u0174','wedbar':'\\u2A5F','wedge':'\\u2227','Wedge':'\\u22C0','wedgeq':'\\u2259','weierp':'\\u2118','wfr':'\\uD835\\uDD34','Wfr':'\\uD835\\uDD1A','wopf':'\\uD835\\uDD68','Wopf':'\\uD835\\uDD4E','wp':'\\u2118','wr':'\\u2240','wreath':'\\u2240','wscr':'\\uD835\\uDCCC','Wscr':'\\uD835\\uDCB2','xcap':'\\u22C2','xcirc':'\\u25EF','xcup':'\\u22C3','xdtri':'\\u25BD','xfr':'\\uD835\\uDD35','Xfr':'\\uD835\\uDD1B','xharr':'\\u27F7','xhArr':'\\u27FA','xi':'\\u03BE','Xi':'\\u039E','xlarr':'\\u27F5','xlArr':'\\u27F8','xmap':'\\u27FC','xnis':'\\u22FB','xodot':'\\u2A00','xopf':'\\uD835\\uDD69','Xopf':'\\uD835\\uDD4F','xoplus':'\\u2A01','xotime':'\\u2A02','xrarr':'\\u27F6','xrArr':'\\u27F9','xscr':'\\uD835\\uDCCD','Xscr':'\\uD835\\uDCB3','xsqcup':'\\u2A06','xuplus':'\\u2A04','xutri':'\\u25B3','xvee':'\\u22C1','xwedge':'\\u22C0','yacute':'\\xFD','Yacute':'\\xDD','yacy':'\\u044F','YAcy':'\\u042F','ycirc':'\\u0177','Ycirc':'\\u0176','ycy':'\\u044B','Ycy':'\\u042B','yen':'\\xA5','yfr':'\\uD835\\uDD36','Yfr':'\\uD835\\uDD1C','yicy':'\\u0457','YIcy':'\\u0407','yopf':'\\uD835\\uDD6A','Yopf':'\\uD835\\uDD50','yscr':'\\uD835\\uDCCE','Yscr':'\\uD835\\uDCB4','yucy':'\\u044E','YUcy':'\\u042E','yuml':'\\xFF','Yuml':'\\u0178','zacute':'\\u017A','Zacute':'\\u0179','zcaron':'\\u017E','Zcaron':'\\u017D','zcy':'\\u0437','Zcy':'\\u0417','zdot':'\\u017C','Zdot':'\\u017B','zeetrf':'\\u2128','ZeroWidthSpace':'\\u200B','zeta':'\\u03B6','Zeta':'\\u0396','zfr':'\\uD835\\uDD37','Zfr':'\\u2128','zhcy':'\\u0436','ZHcy':'\\u0416','zigrarr':'\\u21DD','zopf':'\\uD835\\uDD6B','Zopf':'\\u2124','zscr':'\\uD835\\uDCCF','Zscr':'\\uD835\\uDCB5','zwj':'\\u200D','zwnj':'\\u200C'};\n\tvar decodeMapLegacy = {'aacute':'\\xE1','Aacute':'\\xC1','acirc':'\\xE2','Acirc':'\\xC2','acute':'\\xB4','aelig':'\\xE6','AElig':'\\xC6','agrave':'\\xE0','Agrave':'\\xC0','amp':'&','AMP':'&','aring':'\\xE5','Aring':'\\xC5','atilde':'\\xE3','Atilde':'\\xC3','auml':'\\xE4','Auml':'\\xC4','brvbar':'\\xA6','ccedil':'\\xE7','Ccedil':'\\xC7','cedil':'\\xB8','cent':'\\xA2','copy':'\\xA9','COPY':'\\xA9','curren':'\\xA4','deg':'\\xB0','divide':'\\xF7','eacute':'\\xE9','Eacute':'\\xC9','ecirc':'\\xEA','Ecirc':'\\xCA','egrave':'\\xE8','Egrave':'\\xC8','eth':'\\xF0','ETH':'\\xD0','euml':'\\xEB','Euml':'\\xCB','frac12':'\\xBD','frac14':'\\xBC','frac34':'\\xBE','gt':'>','GT':'>','iacute':'\\xED','Iacute':'\\xCD','icirc':'\\xEE','Icirc':'\\xCE','iexcl':'\\xA1','igrave':'\\xEC','Igrave':'\\xCC','iquest':'\\xBF','iuml':'\\xEF','Iuml':'\\xCF','laquo':'\\xAB','lt':'<','LT':'<','macr':'\\xAF','micro':'\\xB5','middot':'\\xB7','nbsp':'\\xA0','not':'\\xAC','ntilde':'\\xF1','Ntilde':'\\xD1','oacute':'\\xF3','Oacute':'\\xD3','ocirc':'\\xF4','Ocirc':'\\xD4','ograve':'\\xF2','Ograve':'\\xD2','ordf':'\\xAA','ordm':'\\xBA','oslash':'\\xF8','Oslash':'\\xD8','otilde':'\\xF5','Otilde':'\\xD5','ouml':'\\xF6','Ouml':'\\xD6','para':'\\xB6','plusmn':'\\xB1','pound':'\\xA3','quot':'\"','QUOT':'\"','raquo':'\\xBB','reg':'\\xAE','REG':'\\xAE','sect':'\\xA7','shy':'\\xAD','sup1':'\\xB9','sup2':'\\xB2','sup3':'\\xB3','szlig':'\\xDF','thorn':'\\xFE','THORN':'\\xDE','times':'\\xD7','uacute':'\\xFA','Uacute':'\\xDA','ucirc':'\\xFB','Ucirc':'\\xDB','ugrave':'\\xF9','Ugrave':'\\xD9','uml':'\\xA8','uuml':'\\xFC','Uuml':'\\xDC','yacute':'\\xFD','Yacute':'\\xDD','yen':'\\xA5','yuml':'\\xFF'};\n\tvar decodeMapNumeric = {'0':'\\uFFFD','128':'\\u20AC','130':'\\u201A','131':'\\u0192','132':'\\u201E','133':'\\u2026','134':'\\u2020','135':'\\u2021','136':'\\u02C6','137':'\\u2030','138':'\\u0160','139':'\\u2039','140':'\\u0152','142':'\\u017D','145':'\\u2018','146':'\\u2019','147':'\\u201C','148':'\\u201D','149':'\\u2022','150':'\\u2013','151':'\\u2014','152':'\\u02DC','153':'\\u2122','154':'\\u0161','155':'\\u203A','156':'\\u0153','158':'\\u017E','159':'\\u0178'};\n\tvar invalidReferenceCodePoints = [1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65000,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111];\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar stringFromCharCode = String.fromCharCode;\n\n\tvar object = {};\n\tvar hasOwnProperty = object.hasOwnProperty;\n\tvar has = function(object, propertyName) {\n\t\treturn hasOwnProperty.call(object, propertyName);\n\t};\n\n\tvar contains = function(array, value) {\n\t\tvar index = -1;\n\t\tvar length = array.length;\n\t\twhile (++index < length) {\n\t\t\tif (array[index] == value) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t};\n\n\tvar merge = function(options, defaults) {\n\t\tif (!options) {\n\t\t\treturn defaults;\n\t\t}\n\t\tvar result = {};\n\t\tvar key;\n\t\tfor (key in defaults) {\n\t\t\t// A `hasOwnProperty` check is not needed here, since only recognized\n\t\t\t// option names are used anyway. Any others are ignored.\n\t\t\tresult[key] = has(options, key) ? options[key] : defaults[key];\n\t\t}\n\t\treturn result;\n\t};\n\n\t// Modified version of `ucs2encode`; see https://mths.be/punycode.\n\tvar codePointToSymbol = function(codePoint, strict) {\n\t\tvar output = '';\n\t\tif ((codePoint >= 0xD800 && codePoint <= 0xDFFF) || codePoint > 0x10FFFF) {\n\t\t\t// See issue #4:\n\t\t\t// “Otherwise, if the number is in the range 0xD800 to 0xDFFF or is\n\t\t\t// greater than 0x10FFFF, then this is a parse error. Return a U+FFFD\n\t\t\t// REPLACEMENT CHARACTER.”\n\t\t\tif (strict) {\n\t\t\t\tparseError('character reference outside the permissible Unicode range');\n\t\t\t}\n\t\t\treturn '\\uFFFD';\n\t\t}\n\t\tif (has(decodeMapNumeric, codePoint)) {\n\t\t\tif (strict) {\n\t\t\t\tparseError('disallowed character reference');\n\t\t\t}\n\t\t\treturn decodeMapNumeric[codePoint];\n\t\t}\n\t\tif (strict && contains(invalidReferenceCodePoints, codePoint)) {\n\t\t\tparseError('disallowed character reference');\n\t\t}\n\t\tif (codePoint > 0xFFFF) {\n\t\t\tcodePoint -= 0x10000;\n\t\t\toutput += stringFromCharCode(codePoint >>> 10 & 0x3FF | 0xD800);\n\t\t\tcodePoint = 0xDC00 | codePoint & 0x3FF;\n\t\t}\n\t\toutput += stringFromCharCode(codePoint);\n\t\treturn output;\n\t};\n\n\tvar hexEscape = function(codePoint) {\n\t\treturn '&#x' + codePoint.toString(16).toUpperCase() + ';';\n\t};\n\n\tvar decEscape = function(codePoint) {\n\t\treturn '&#' + codePoint + ';';\n\t};\n\n\tvar parseError = function(message) {\n\t\tthrow Error('Parse error: ' + message);\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar encode = function(string, options) {\n\t\toptions = merge(options, encode.options);\n\t\tvar strict = options.strict;\n\t\tif (strict && regexInvalidRawCodePoint.test(string)) {\n\t\t\tparseError('forbidden code point');\n\t\t}\n\t\tvar encodeEverything = options.encodeEverything;\n\t\tvar useNamedReferences = options.useNamedReferences;\n\t\tvar allowUnsafeSymbols = options.allowUnsafeSymbols;\n\t\tvar escapeCodePoint = options.decimal ? decEscape : hexEscape;\n\n\t\tvar escapeBmpSymbol = function(symbol) {\n\t\t\treturn escapeCodePoint(symbol.charCodeAt(0));\n\t\t};\n\n\t\tif (encodeEverything) {\n\t\t\t// Encode ASCII symbols.\n\t\t\tstring = string.replace(regexAsciiWhitelist, function(symbol) {\n\t\t\t\t// Use named references if requested & possible.\n\t\t\t\tif (useNamedReferences && has(encodeMap, symbol)) {\n\t\t\t\t\treturn '&' + encodeMap[symbol] + ';';\n\t\t\t\t}\n\t\t\t\treturn escapeBmpSymbol(symbol);\n\t\t\t});\n\t\t\t// Shorten a few escapes that represent two symbols, of which at least one\n\t\t\t// is within the ASCII range.\n\t\t\tif (useNamedReferences) {\n\t\t\t\tstring = string\n\t\t\t\t\t.replace(/>\\u20D2/g, '>⃒')\n\t\t\t\t\t.replace(/<\\u20D2/g, '<⃒')\n\t\t\t\t\t.replace(/fj/g, 'fj');\n\t\t\t}\n\t\t\t// Encode non-ASCII symbols.\n\t\t\tif (useNamedReferences) {\n\t\t\t\t// Encode non-ASCII symbols that can be replaced with a named reference.\n\t\t\t\tstring = string.replace(regexEncodeNonAscii, function(string) {\n\t\t\t\t\t// Note: there is no need to check `has(encodeMap, string)` here.\n\t\t\t\t\treturn '&' + encodeMap[string] + ';';\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Note: any remaining non-ASCII symbols are handled outside of the `if`.\n\t\t} else if (useNamedReferences) {\n\t\t\t// Apply named character references.\n\t\t\t// Encode `<>\"'&` using named character references.\n\t\t\tif (!allowUnsafeSymbols) {\n\t\t\t\tstring = string.replace(regexEscape, function(string) {\n\t\t\t\t\treturn '&' + encodeMap[string] + ';'; // no need to check `has()` here\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Shorten escapes that represent two symbols, of which at least one is\n\t\t\t// `<>\"'&`.\n\t\t\tstring = string\n\t\t\t\t.replace(/>\\u20D2/g, '>⃒')\n\t\t\t\t.replace(/<\\u20D2/g, '<⃒');\n\t\t\t// Encode non-ASCII symbols that can be replaced with a named reference.\n\t\t\tstring = string.replace(regexEncodeNonAscii, function(string) {\n\t\t\t\t// Note: there is no need to check `has(encodeMap, string)` here.\n\t\t\t\treturn '&' + encodeMap[string] + ';';\n\t\t\t});\n\t\t} else if (!allowUnsafeSymbols) {\n\t\t\t// Encode `<>\"'&` using hexadecimal escapes, now that they’re not handled\n\t\t\t// using named character references.\n\t\t\tstring = string.replace(regexEscape, escapeBmpSymbol);\n\t\t}\n\t\treturn string\n\t\t\t// Encode astral symbols.\n\t\t\t.replace(regexAstralSymbols, function($0) {\n\t\t\t\t// https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n\t\t\t\tvar high = $0.charCodeAt(0);\n\t\t\t\tvar low = $0.charCodeAt(1);\n\t\t\t\tvar codePoint = (high - 0xD800) * 0x400 + low - 0xDC00 + 0x10000;\n\t\t\t\treturn escapeCodePoint(codePoint);\n\t\t\t})\n\t\t\t// Encode any remaining BMP symbols that are not printable ASCII symbols\n\t\t\t// using a hexadecimal escape.\n\t\t\t.replace(regexBmpWhitelist, escapeBmpSymbol);\n\t};\n\t// Expose default options (so they can be overridden globally).\n\tencode.options = {\n\t\t'allowUnsafeSymbols': false,\n\t\t'encodeEverything': false,\n\t\t'strict': false,\n\t\t'useNamedReferences': false,\n\t\t'decimal' : false\n\t};\n\n\tvar decode = function(html, options) {\n\t\toptions = merge(options, decode.options);\n\t\tvar strict = options.strict;\n\t\tif (strict && regexInvalidEntity.test(html)) {\n\t\t\tparseError('malformed character reference');\n\t\t}\n\t\treturn html.replace(regexDecode, function($0, $1, $2, $3, $4, $5, $6, $7, $8) {\n\t\t\tvar codePoint;\n\t\t\tvar semicolon;\n\t\t\tvar decDigits;\n\t\t\tvar hexDigits;\n\t\t\tvar reference;\n\t\t\tvar next;\n\n\t\t\tif ($1) {\n\t\t\t\treference = $1;\n\t\t\t\t// Note: there is no need to check `has(decodeMap, reference)`.\n\t\t\t\treturn decodeMap[reference];\n\t\t\t}\n\n\t\t\tif ($2) {\n\t\t\t\t// Decode named character references without trailing `;`, e.g. `&`.\n\t\t\t\t// This is only a parse error if it gets converted to `&`, or if it is\n\t\t\t\t// followed by `=` in an attribute context.\n\t\t\t\treference = $2;\n\t\t\t\tnext = $3;\n\t\t\t\tif (next && options.isAttributeValue) {\n\t\t\t\t\tif (strict && next == '=') {\n\t\t\t\t\t\tparseError('`&` did not start a character reference');\n\t\t\t\t\t}\n\t\t\t\t\treturn $0;\n\t\t\t\t} else {\n\t\t\t\t\tif (strict) {\n\t\t\t\t\t\tparseError(\n\t\t\t\t\t\t\t'named character reference was not terminated by a semicolon'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// Note: there is no need to check `has(decodeMapLegacy, reference)`.\n\t\t\t\t\treturn decodeMapLegacy[reference] + (next || '');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ($4) {\n\t\t\t\t// Decode decimal escapes, e.g. `𝌆`.\n\t\t\t\tdecDigits = $4;\n\t\t\t\tsemicolon = $5;\n\t\t\t\tif (strict && !semicolon) {\n\t\t\t\t\tparseError('character reference was not terminated by a semicolon');\n\t\t\t\t}\n\t\t\t\tcodePoint = parseInt(decDigits, 10);\n\t\t\t\treturn codePointToSymbol(codePoint, strict);\n\t\t\t}\n\n\t\t\tif ($6) {\n\t\t\t\t// Decode hexadecimal escapes, e.g. `𝌆`.\n\t\t\t\thexDigits = $6;\n\t\t\t\tsemicolon = $7;\n\t\t\t\tif (strict && !semicolon) {\n\t\t\t\t\tparseError('character reference was not terminated by a semicolon');\n\t\t\t\t}\n\t\t\t\tcodePoint = parseInt(hexDigits, 16);\n\t\t\t\treturn codePointToSymbol(codePoint, strict);\n\t\t\t}\n\n\t\t\t// If we’re still here, `if ($7)` is implied; it’s an ambiguous\n\t\t\t// ampersand for sure. https://mths.be/notes/ambiguous-ampersands\n\t\t\tif (strict) {\n\t\t\t\tparseError(\n\t\t\t\t\t'named character reference was not terminated by a semicolon'\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn $0;\n\t\t});\n\t};\n\t// Expose default options (so they can be overridden globally).\n\tdecode.options = {\n\t\t'isAttributeValue': false,\n\t\t'strict': false\n\t};\n\n\tvar escape = function(string) {\n\t\treturn string.replace(regexEscape, function($0) {\n\t\t\t// Note: there is no need to check `has(escapeMap, $0)` here.\n\t\t\treturn escapeMap[$0];\n\t\t});\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar he = {\n\t\t'version': '1.2.0',\n\t\t'encode': encode,\n\t\t'decode': decode,\n\t\t'escape': escape,\n\t\t'unescape': decode\n\t};\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine(function() {\n\t\t\treturn he;\n\t\t});\n\t}\telse if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) { // in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = he;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (var key in he) {\n\t\t\t\thas(he, key) && (freeExports[key] = he[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.he = he;\n\t}\n\n}(this));\n","\n\n{#if allowJiraImport}\n \n {$LL.selectFile()}\n \n \n{/if}\n","\n\n\n
    \n \n

    \n New:\n {salesPitch}\n \n Subscribe now\n \n

    \n
    \n\n","\n\n{#if AppConfig.SubscriptionsEnabled && !$user.subscribed}\n \n{:else if !AppConfig.SubscriptionsEnabled || (AppConfig.SubscriptionsEnabled && $user.subscribed)}\n {#if jiraInstances.length === 0}\n

    \n Visit your profile page to setup instances of Jira Cloud.\n

    \n {:else}\n
    \n {\n dispatch('instance_selected');\n }}\"\n >\n >\n \n {#each jiraInstances as ji, idx}\n \n {/each}\n \n
    \n\n {#if selectedJiraInstance !== ''}\n
    \n Search\n
    \n \n \n \n \n
    \n \n \n Search\n \n \n \n\n
    \n {#if jqlError !== ''}\n \n {jqlError}\n
    \n {/if}\n {#each jiraStories as story, idx}\n \n
    \n [{story.key}] {story.fields.summary}\n
    \n
    \n Import\n
    \n \n {/each}\n \n {/if}\n {/if}\n{/if}\n","\n\n
    \n \n >\n \n {#each games as game, idx}\n {#if game.id !== gameId}\n \n {/if}\n {/each}\n \n
    \n\n{#if selectedGameIdx !== ''}\n
    \n {#each game.plans as story, idx}\n \n
    \n \n {story.type}[{story.referenceId}] {story.name}\n
    \n
    \n Import\n
    \n
    \n {/each}\n \n{/if}\n","\n\n
    \n \n \n {#each storyboards as storyboard, idx}\n \n {/each}\n \n
    \n\n
    \n \n \n {#if selectedStoryboardIdx !== ''}\n {#each storyboard.goals as goal, idx}\n \n {/each}\n {/if}\n \n
    \n\n{#if selectedGoalIdx !== ''}\n
    \n {#each storyboard.goals[selectedGoalIdx].columns as column, cIdx}\n {#each column.stories as story, sIdx}\n {#if story.name !== ''}\n \n
    \n {story.name}\n
    \n
    \n Import\n \n
    \n
    \n {/if}\n {/each}\n {/each}\n \n{/if}\n","\n\n\n
    \n {#if !showJiraCloudSearch}\n
    \n

    Internal Import

    \n {#if AppConfig.SubscriptionsEnabled && !$user.subscribed}\n \n {:else if !AppConfig.SubscriptionsEnabled || (AppConfig.SubscriptionsEnabled && $user.subscribed)}\n {#if !showGameImport && !showStoryboardImport}\n Import from another Game\n \n Import from a Storyboard\n \n {/if}\n {/if}\n
    \n\n {#if showGameImport}\n \n {/if}\n\n {#if showStoryboardImport}\n \n {/if}\n {/if}\n\n {#if !showGameImport && !showStoryboardImport}\n
    \n

    Import from Jira Cloud

    \n {\n showJiraCloudSearch = true;\n }}\"\n />\n
    \n\n {#if !showJiraCloudSearch}\n
    \n
    \n

    \n {$LL.importJiraXML()}\n

    \n \n
    \n
    \n

    \n {$LL.importCsv()}\n

    \n

    \n The CSV file must include all the following fields with no header\n row:\n

    \n
    \n Type,Title,ReferenceId,Link,Description,AcceptanceCriteria\n
    \n \n
    \n
    \n {/if}\n {/if}\n
    \n
    \n","\n\n
    \n
    \n {#if plan.points !== ''}\n \n {plan.points}\n
    \n {/if}\n \n {$LL.view()}\n \n {#if isLeader}\n {#if !plan.active}\n \n {$LL.delete()}\n \n {/if}\n \n {$LL.edit()}\n \n {#if !plan.active}\n \n {$LL.activate()}\n \n {/if}\n {/if}\n \n \n {#if plan[SHADOW_ITEM_MARKER_PROPERTY_NAME]}\n {@const SvelteComponent_1 = priorities[plan.priority].icon}\n \n
    \n {#if plan.link !== ''}\n \n \n \n  \n {/if}\n \n {plan.type}\n
    \n  \n {#if plan.referenceId}[{plan.referenceId}] {/if}\n \n {plan.name}\n \n
    \n {#if plan.points !== ''}\n \n {plan.points}\n
    \n {/if}\n \n {$LL.view()}\n \n {#if isLeader}\n {#if !plan.active}\n \n {$LL.delete()}\n \n {/if}\n \n {$LL.edit()}\n \n {#if !plan.active}\n \n {$LL.activate()}\n \n {/if}\n {/if}\n \n \n {/if}\n {/each}\n \n {#if storysShow === 'pointed' || storysShow === 'all'}\n \n
    \n
    \n {$LL.totalPoints()}:\n
    \n  \n \n {totalPoints}\n
    \n \n \n {/if}\n\n\n{#if showAddPlan}\n \n{/if}\n\n{#if showViewPlan}\n \n{/if}\n\n{#if showImport}\n \n{/if}\n","\n\n
    \n
    \n \n
    \n {label}\n \n
    \n\n","\n\n\n
    \n
    \n \n {$LL.battleName()}\n \n
    \n \n
    \n
    \n\n
    \n

    \n {$LL.pointValuesAllowed()}\n

    \n
    \n {#if !votingLocked}\n
    \n {$LL.battleEditPointsDisabled()}\n
    \n {/if}\n {#each allowedPointValues as point}\n \n \n {point}\n \n {/each}\n
    \n
    \n\n
    \n \n {$LL.pointAverageRounding()}\n \n
    \n \n {#each allowedPointAverages as item}\n \n {/each}\n \n \n \n
    \n
    \n \n\n
    \n \n
    \n\n
    \n \n
    \n\n
    \n \n {$LL.passCode()}\n \n
    \n \n
    \n
    \n\n
    \n \n {$LL.facilitatorCodeOptional()}\n \n
    \n \n
    \n
    \n\n
    \n \n {$LL.associateTeam()}\n {#if !AppConfig.RequireTeams}{$LL.optional()}{/if}\n \n \n \n {#each teams as team}\n \n {/each}\n \n
    \n\n
    \n {$LL.save()}\n
    \n
    \n\n","\n\n\n
    \n \n \n
    \n \n {confirmText}\n \n
    \n {#if permanent}\n {$LL.cannotBeUndone()}\n {/if}\n
    \n \n
    \n \n {$LL.cancel()}\n \n \n {confirmBtnText}\n \n
    \n
    \n","\n\n\n
    \n
    \n \n {$LL.leaderPasscode()}\n \n
    \n \n
    \n
    \n\n
    \n {$LL.save()}\n
    \n
    \n\n","\n\n\n
    \n \n
    \n
    \n
    \n
    \n \n {#if showRank}\n {#if warrior.rank == 'ADMIN'}\n \n {:else if warrior.rank == 'REGISTERED'}\n \n {:else}\n \n {/if}\n {/if}\n {#if autoFinishVoting && warrior.spectator}\n \n {warrior.name}\n \n {:else}\n {warrior.name}\n {/if}\n

    \n

    \n {#if leaders.includes(warrior.id)}\n \n {#if isLeader}\n  \n \n {$LL.demote()}\n \n {:else} {$LL.leader()}\n {/if}\n {:else if isLeader}\n \n {$LL.promote()}\n \n {/if}\n {#if isLeader && warrior.id !== $sessionUser.id && !warrior.spectator}\n  | \n \n {$LL.warriorNudge()}\n \n {/if}\n

    \n {#if warrior.id === $sessionUser.id}\n {#if !isLeader}\n \n {$LL.becomeLeader()}\n \n {/if}\n {#if autoFinishVoting}\n \n {#if !warrior.spectator}\n {$LL.becomeSpectator()}\n {:else}{$LL.becomeParticipant()}{/if}\n \n {/if}\n {/if}\n
    \n
    \n {#if !warrior.spectator}\n {#if voted && points === ''}\n \n \n \n {:else if voted && points !== ''}\n \n {points}\n \n {/if}\n {/if}\n
    \n
    \n
    \n\n {#if showBecomeLeader}\n \n {/if}\n\n","\n\n{#if planId != ''}\n
    \n \n {$LL.planSkip()}\n \n {#if !votingLocked}\n \n {$LL.votingFinish()}\n \n {:else}\n \n {$LL.votingRestart()}\n \n
    \n \n {$LL.finalPoints()}\n \n
    \n
    \n \n \n >\n {#each points as point}\n \n {/each}\n \n \n {#if customPointValue}\n \n {/if}\n
    \n
    \n \n {$LL.save()}\n \n
    \n
    \n \n {/if}\n
    \n{/if}\n","\n\n
    \n \n {$LL.warriorInvite()}\n \n
    \n \n
    \n \n \n \n
    \n
    \n {#if joinCode !== ''}\n
    \n
    \n {/if}\n
    \n","// formatTimestamp formats the timestamp in locale string\nexport const formatTimestamp = function (timestamp) {\n return new Date(timestamp).toLocaleString();\n};\n\nexport const getTimezoneName = function () {\n return Intl.DateTimeFormat().resolvedOptions().timeZone || 'America/New_York'; // add fallback for users whose timezone is undefined\n};\n\nexport const formatDayForInput = function (date) {\n let month, day, year;\n (month = '' + (date.getMonth() + 1)),\n (day = '' + date.getDate()),\n (year = date.getFullYear());\n\n if (month.length < 2) month = '0' + month;\n if (day.length < 2) day = '0' + day;\n\n return [year, month, day].join('-');\n};\n\nexport const subtractDays = function (date, days) {\n return new Date(\n date.getFullYear(),\n date.getMonth(),\n date.getDate() - days,\n date.getHours(),\n date.getMinutes(),\n date.getSeconds(),\n date.getMilliseconds(),\n );\n};\n\nexport const addMinutesToDate = (date, n) => {\n const d = new Date(date);\n d.setTime(d.getTime() + n * 60000);\n return d;\n};\n\nexport const addTimeLeadZero = function (time) {\n return ('0' + time).slice(-2);\n};\n\nexport type TimeBetweenUnits = {\n seconds: number;\n minutes: number;\n hours: number;\n days: number;\n};\n\nexport const timeUnitsBetween = function (\n startDate,\n endDate,\n): TimeBetweenUnits {\n let delta = Math.abs(endDate - startDate) / 1000;\n const unitDivisions: Array<{\n key: string;\n value: number;\n }> = [\n { key: 'days', value: 24 * 60 * 60 },\n { key: 'hours', value: 60 * 60 },\n { key: 'minutes', value: 60 },\n { key: 'seconds', value: 1 },\n ];\n return unitDivisions.reduce(\n (acc: TimeBetweenUnits, arrValue) => (\n (acc[arrValue.key] = Math.floor(delta / arrValue.value)),\n (delta -= acc[arrValue.key] * arrValue.value),\n acc\n ),\n {\n seconds: 0,\n minutes: 0,\n hours: 0,\n days: 0,\n },\n );\n};\n","\n\n\n {#if voteDuration.seconds !== undefined}\n {#if voteDuration.hours !== 0}\n {addTimeLeadZero(voteDuration.hours)}:\n {/if}\n {addTimeLeadZero(voteDuration.minutes)}:{addTimeLeadZero(\n voteDuration.seconds,\n )}\n {/if}\n\n","\n\n\n \n {#each chartData as { value, count, users }}\n \n
    \n
    \n \n 10 ? 'text-white' : 'dark:text-white'}\"\n data-testid=\"voteresult-graph-count\"\n >\n {count > 0 ? count : ''}\n \n {#if count > 0}\n \n {getBarHeight(count).toFixed(1)}%\n \n \n {users.join(', ')}\n \n {/if}\n \n \n
    \n 5 ? 'text-white' : ''}\"\n data-testid=\"voteresult-graph-value\">{value}\n
    \n \n {/each}\n \n\n
    \n \n
    {totalVoters}
    \n
    Total Voters
    \n
    \n \n
    {consensusValue}
    \n
    Consensus
    \n \n \n
    {consensusPercentage}%
    \n
    Agreement
    \n \n \n
    {averageOrMedian}
    \n
    \n {isNumeric ? 'Average' : 'Median'}\n
    \n \n \n\n {#if consensusPercentage < 70}\n \n Low\n consensus. Further discussion recommended.\n \n {/if}\n\n","\n\n\n
    \n
    \n \n
    \n \n {$LL.passCodeRequired()}\n \n \n
    \n\n
    \n {submitText}\n
    \n \n
    \n
    \n\n","import { AppConfig, PathPrefix } from './config';\n\nexport const getWebsocketAddress = () => {\n const socketExtension = window.location.protocol === 'https:' ? 'wss' : 'ws';\n const hostname = window.location.host;\n const socketDomain =\n AppConfig.WebsocketSubdomain !== ''\n ? `${AppConfig.WebsocketSubdomain}.${hostname}`\n : hostname;\n\n return `${socketExtension}://${socketDomain}${PathPrefix}`;\n};\n","\n\n\n {$LL.battle()}\n {pokerGame.name} | {$LL.appName()}\n\n\n\n
    \n
    \n \n {#if currentStory.link}\n \n \n \n {/if}\n {#if currentStory.type}\n  \n {currentStory.type}\n \n {/if}\n {#if currentStory.referenceId}\n  [{currentStory.referenceId}]\n {/if}\n {#if currentStory.name === ''}[{$LL.votingNotStarted()}]{:else} {currentStory.name}{/if}\n \n \n {pokerGame.name}\n \n
    \n\n
    \n \n
    \n
    \n\n
    \n
    \n {#if showVotingResults}\n
    \n p.id === pokerGame.activePlanId)\n .votes}\n users={pokerGame.users}\n averageRounding={pokerGame.pointAverageRounding}\n />\n
    \n {:else}\n
    \n {#each points as point}\n
    \n \n
    \n {/each}\n
    \n {/if}\n\n \n
    \n\n
    \n
    \n
    \n \n {$LL.warriors()}\n \n
    \n\n {#each pokerGame.users as war (war.id)}\n {#if war.active}\n \n {/if}\n {/each}\n\n {#if isLeader}\n \n {/if}\n
    \n\n
    \n \n {#if isLeader}\n
    \n \n {$LL.battleEdit()}\n \n \n {$LL.battleDelete()}\n \n
    \n {:else}\n
    \n \n {$LL.battleAbandon()}\n \n
    \n {/if}\n
    \n
    \n
    \n\n {#if showEditGame}\n \n {/if}\n\n {#if showDeleteGame}\n \n {/if}\n\n {#if socketReconnecting}\n \n {$LL.battleSocketReconnecting()}\n \n {:else if socketError}\n \n {$LL.battleSocketError()}\n \n {:else if isLoading}\n \n {$LL.battleLoading()}\n \n {:else if JoinPassRequired}\n \n {/if}\n
    \n","\n\n
    \n \n \n \n {selectedItemIdx > -1\n ? items[selectedItemIdx][nameField]\n : label}\n \n \n \n\n {#if isOpen}\n \n
    \n {#each items as item, idx}\n handleChange(idx)}\"\n class=\"flex content-center w-full px-4 py-2 text-gray-700 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-200 dark:hover:text-gray-100 dark:hover:bg-gray-700\"\n >\n \n
    \n
    \n {item[nameField]}\n
    \n \n {item[descriptionField]}\n
    \n
    \n \n {/each}\n
    \n \n {/if}\n\n","\n\n
    \n
    \n \n {$LL.battleName()}\n \n
    \n \n
    \n
    \n\n {#if apiPrefix === '/api' && $user.rank !== 'GUEST'}\n
    \n \n {$LL.associateTeam()}\n {#if !AppConfig.RequireTeams}{$LL.optional()}{/if}\n \n \n \n {#each teams as team}\n \n {/each}\n \n
    \n {/if}\n\n
    \n \n Estimation Scale\n
    \n \n \n\n
    \n

    \n {$LL.pointValuesAllowed()}\n

    \n
    \n {#each allowedPointValues as point, pi}\n \n \n {point}\n \n {/each}\n
    \n
    \n\n
    \n

    \n {$LL.plans()}\n

    \n
    \n \n {$LL.importPlans()}\n \n \n {$LL.addPlan()}\n \n {#if showImport}\n \n {/if}\n
    \n\n {#each plans as plan, i}\n
    \n
    \n \n
    \n
    \n
    \n \n {$LL.remove()}\n \n
    \n
    \n
    \n {/each}\n
    \n\n
    \n \n {$LL.pointAverageRounding()}\n \n \n {#each allowedPointAverages as item}\n \n {/each}\n \n
    \n\n
    \n \n
    \n\n
    \n \n
    \n\n
    \n \n {$LL.joinCodeLabelOptional()}\n \n
    \n \n
    \n
    \n\n
    \n \n {$LL.facilitatorCodeOptional()}\n \n
    \n \n
    \n
    \n\n
    \n {$LL.battleCreate()}\n
    \n\n","\n\n
    \n 1\n ? 'cursor-pointer'\n : 'text-gray-400 dark:text-gray-700'}\"\n role=\"button\"\n tabindex=\"0\"\n on:click=\"{() => current > 1 && setCurrent(current - 1)}\"\n on:keypress=\"{() => current > 1 && setCurrent(current - 1)}\"\n >\n \n
    \n
    \n {#each arr_pages as i}\n setCurrent(i)}\"\n on:keypress=\"{() => setCurrent(i)}\"\n >\n {i}\n
    \n {/each}\n \n {current}\n \n \n current < num_pages && setCurrent(current + 1)}\"\n on:keypress=\"{() => current < num_pages && setCurrent(current + 1)}\"\n >\n \n \n\n","\n\n{#each items as item}\n \n
    \n \n {#if showFacilitatorIcon}\n {#if item[facilitatorsKey].includes($user.id)}\n  \n {/if}\n {/if}\n {item.name}\n {#if showOwnerName}\n \n {#if ownerNameField && item[ownerNameField]}\n {item[ownerNameField]}\n {/if}\n \n {/if}\n {#if showOwner}\n \n {#if $user.id === item[ownerField]}\n {$LL.owner()}\n {/if}\n
    \n {/if}\n {#if showCompletedStories}\n \n {$LL.countPlansPointed({\n totalPointed: item.plans.filter(p => p.points !== '').length,\n totalPlans: item.plans.length,\n })}\n \n {/if}\n \n
    \n {#if isAdmin}\n \n {$LL.remove()}\n \n {/if}\n \n {joinBtnText}\n \n
    \n \n \n{/each}\n","\n\n\n {$LL.myBattles()} | {$LL.appName()}\n\n\n\n \n {$LL.myBattles()}\n \n\n
    \n
    \n {#if battleCount > 0}\n \n {:else if loading === false}\n \n {$LL.noGamesFound()}\n
    \n {/if}\n {#if battleCount > battlesPageLimit}\n
    \n \n
    \n {/if}\n
    \n\n
    \n \n \n {$LL.createBattle()}\n \n \n
    \n \n \n\n
    \n

    {$LL.pokerDescription()}

    \n
    \n
    \n","\n\n
    \n
    \n \n {$LL.retroName()}\n \n
    \n \n
    \n
    \n\n {#if apiPrefix === '/api' && $user.rank !== 'GUEST'}\n
    \n \n {$LL.associateTeam()}\n {#if !AppConfig.RequireTeams}{$LL.optional()}\n {/if}\n \n \n \n {#each teams as team}\n \n {/each}\n \n
    \n {/if}\n\n
    \n \n Retro Template\n
    \n \n \n\n
    \n \n {$LL.joinCodeLabelOptional()}\n \n
    \n \n
    \n
    \n\n
    \n \n {$LL.facilitatorCodeOptional()}\n \n
    \n \n
    \n
    \n\n
    \n \n {$LL.retroMaxVotesPerUserLabel()}\n \n
    \n \n
    \n
    \n\n
    \n \n
    \n\n
    \n \n {$LL.brainstormPhaseFeedbackVisibility()}\n \n \n {#each brainstormVisibilityOptions as item}\n \n {/each}\n \n
    \n\n
    \n \n {$LL.retroPhaseTimeLimitMinLabel()}\n \n
    \n \n
    \n
    \n\n
    \n \n
    \n\n
    \n {$LL.createRetro()}\n
    \n\n","\n\n\n {$LL.yourRetros()} | {$LL.appName()}\n\n\n\n \n {$LL.myRetros()}\n \n\n
    \n
    \n {#if retroCount > 0}\n \n {:else if loading === false}\n \n {$LL.noRetrosFound()}\n
    \n {/if}\n {#if retroCount > retrosPageLimit}\n
    \n \n
    \n {/if}\n
    \n\n
    \n \n \n {$LL.createARetro()}\n \n \n
    \n \n \n\n
    \n

    {$LL.retroDescription()}

    \n
    \n
    \n","\n\n\n
    \n
    \n \n {$LL.retroName()}\n \n
    \n \n
    \n
    \n\n
    \n \n {$LL.passCode()}\n \n
    \n \n
    \n
    \n\n
    \n \n {$LL.facilitatorCodeOptional()}\n \n
    \n \n
    \n
    \n\n
    \n \n {$LL.retroMaxVotesPerUserLabel()}\n \n
    \n \n
    \n
    \n\n
    \n \n {$LL.brainstormPhaseFeedbackVisibility()}\n \n \n {#each brainstormVisibilityOptions as item}\n \n {/each}\n \n
    \n\n
    \n \n
    \n\n
    \n {$LL.save()}\n
    \n
    \n
    \n","\n\n\n
    \n
    \n \n {$LL.actionItem()}\n \n
    \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n {$LL.delete()}\n
    \n
    \n {$LL.save()}\n
    \n
    \n
    \n\n
    \n
    \n {$LL.assignees()}\n
    \n
    \n
    \n \n \n {#each assignableUsers as user}\n \n {/each}\n \n
    \n
    \n \n {$LL.assigneeAdd()}\n \n
    \n
    \n {#if action.assignees.length}\n
    \n {#each action.assignees as assignee}\n
    \n
    \n \n
    \n
    {assignee.name}
    \n
    \n \n \n \n
    \n
    \n {/each}\n
    \n {/if}\n
    \n
    \n","\n\n\n
    \n
    \n \n {$LL.facilitatorCode()}\n \n
    \n \n
    \n
    \n\n
    \n {$LL.save()}\n
    \n
    \n\n","\n\n
    \n
    \n {#each retro.template.format.columns as column (column.id)}\n
    \n

    {column.label}

    \n
      \n {#each retro.items as item (item.id)}\n {#if item.type === column.name}\n
    • \n • {item.content}\n
    • \n {/if}\n {/each}\n
    \n
    \n {/each}\n
    \n

    {$LL.actionItems()}

    \n
      \n {#each retro.actionItems as item (item.id)}\n
    • • {item.content}
    • \n {/each}\n
    \n
    \n
    \n
    \n","\n\n
    \n \n \n\n","\n\n\n
    \n

    \n Comments\n

    \n {#each item.comments as comment}\n \n
    \n  {userMap[\n comment.user_id\n ] || '...'}\n
    \n {#if selectedComment !== null && selectedComment.id === comment.id}\n
    \n \n
    \n \n {$LL.cancel()}\n \n \n {$LL.updateComment()}\n \n
    \n
    \n {:else}\n
    \n {comment.comment}\n
    \n {/if}\n {#if (comment.user_id === $user.id || comment.user_id === isFacilitator) && !(selectedComment !== null && selectedComment.id === comment.id)}\n
    \n \n {$LL.edit()}\n \n \n {$LL.delete()}\n \n
    \n {/if}\n
    \n {/each}\n {#if item.comments.length === 0}\n

    {$LL.noComments()}

    \n {/if}\n\n
    \n \n
    \n \n {$LL.postComment()}\n \n
    \n
    \n \n
    \n","\n\n\n
    \n
    \n {#if phase !== 'brainstorm'}\n \n {item.type}\n \n {/if}\n \n \n {item.comments.length}\n \n
    \n {#if phase === 'brainstorm' && item.userId === $user.id}\n \n \n \n {/if}\n
    \n

    \n {#if phase === 'brainstorm' && feedbackVisibility === 'hidden' && item.userId !== $user.id}\n {$LL.retroFeedbackHidden()}\n {:else if phase === 'brainstorm' && feedbackVisibility === 'concealed' && item.userId !== $user.id}\n {$LL.retroFeedbackConcealed()}  {item.content}\n {:else}\n {item.content}\n {/if}\n

    \n {@render children?.()}\n\n {#if showComments}\n \n {/if}\n\n","\n\n{#each groups as group, i (group.id)}\n \n
    \n \n
    \n \n {#each group.items as item, ii (item.id)}\n \n {#if item[SHADOW_ITEM_MARKER_PROPERTY_NAME]}\n \n {/if}\n \n {/each}\n \n \n{/each}\n","\n\n\n
    \n

    {group.name ? group.name : 'Group'}

    \n
    \n {#if phase === 'vote'}\n {\n handleVoteAction(group);\n }}\n disabled={voteLimitReached && !group.userVoted}\n class=\"inline-block leading-none\"\n class:text-gray-300={voteLimitReached && !group.userVoted}\n class:dark:text-gray-600={voteLimitReached && !group.userVoted}\n class:cursor-not-allowed={voteLimitReached && !group.userVoted}\n class:hover:text-blue-500={!(voteLimitReached && !group.userVoted)}\n class:dark:hover:text-sky-500={!(\n voteLimitReached && !group.userVoted\n )}\n class:text-green-500={group.userVoted}\n class:dark:text-lime-500={group.userVoted}\n >\n \n \n {:else}\n \n {/if}\n {group.voteCount}\n
    \n
    \n
    \n {#each group.items as item, ii (item.id)}\n \n {/each}\n
    \n\n","\n\n{#each groups as group, i (group.id)}\n {#if group.items.length > 0}\n \n {/if}\n{/each}\n","\n\n{#each groups as group, i (group.id)}\n {#if group.items.length > 0}\n \n {/if}\n{/each}\n","\n\n\n \n \n {user.name}\n {#if facilitators.includes(user.id)}\n
    \n {$LL.facilitator()}\n {#if facilitators.includes($sessionUser.id)}\n {$LL.remove()}\n {/if}\n
    \n {:else if facilitators.includes($sessionUser.id)}\n
    \n {$LL.makeFacilitator()}\n
    \n {/if}\n {#if phase === 'brainstorm'}\n {#if user.id === $sessionUser.id}\n
    \n \n \n \n
    \n {:else}\n \n \n \n {/if}\n {/if}\n {#if phase === 'vote'}\n {#if voteTally.userVoteCount >= maxVotes}\n
    \n {$LL.allVotesIn()}\n
    \n {:else}\n
    \n {voteTally.votesLeft} votes left\n
    \n {/if}\n {/if}\n \n\n","\n\n

    Invite a user

    \n\n
    \n \n
    \n \n \n \n
    \n
    \n","\n\n\n {#each Object.entries({ m, s }) as [key, value], i}\n {padValue(value)}{key}\n {/each}\n\n","\n\n\n
    \n {#if icon !== ''}\n \n {#if icon === 'smiley'}\n \n {:else if icon === 'frown'}\n \n {:else if icon === 'question'}\n \n {:else if icon === 'angry'}\n \n {/if}\n
    \n {/if}\n
    \n
    \n \n \n \n
    \n \n
    \n {#each items.filter(i => i.type === itemType) as item}\n \n {/each}\n
    \n\n","\n\n\n {#each template.format.columns as column}\n \n {/each}\n\n","\n\n\n
    \n
    \n
    \n {title}\n
    \n {#if searchEnabled}\n
    \n
    \n \n \n \n \n
    \n \n
    \n \n {/if}\n
    \n \n \n {@render children?.()}\n {#if createBtnEnabled}\n \n \n \n \n {createBtnText}\n \n {/if}\n \n\n","\n\n{#if type === 'default'}\n \n {@render children?.()}\n \n{:else if type === 'action'}\n \n {@render children?.()}\n \n{/if}\n","\n\n{#if type === 'default'}\n \n {@render children?.()}\n \n{:else if type === 'action'}\n \n {@render children?.()}\n \n{/if}\n","\n\n\n {@render children?.()}\n\n","\n\n{#if boolValue}\n \n{:else}\n \n{/if}\n","\n\n
    \n {@render children?.()}\n {#if detailsLink !== ''}\n \n \n View Details\n \n {/if}\n {#if editBtnEnabled}\n \n {$LL.edit()}\n \n \n {/if}\n {#if deleteBtnEnabled}\n \n {$LL.delete()}\n \n \n {/if}\n
    \n","\n\n\n \n Showing\n {showingBegin}\n - {showingEnd}
    \n of\n {num_items}\n \n
      \n
    • \n current > 1 && setCurrent(current - 1)}\"\n on:keypress=\"{() => current > 1 && setCurrent(current - 1)}\"\n >\n Previous\n \n \n
    • \n {#each arr_pages as i}\n
    • \n {#if i === current}\n \n {i}\n \n {:else if i === '...'}\n \n {i}\n \n {:else}\n setCurrent(i)}\"\n on:keypress=\"{() => setCurrent(i)}\"\n >\n {i}\n \n {/if}\n
    • \n {/each}\n
    • \n current < num_pages && setCurrent(current + 1)}\"\n on:keypress=\"{() => current < num_pages && setCurrent(current + 1)}\"\n >\n Next\n \n \n
    • \n
    \n\n","\n\n\n
    \n

    \n {$LL.actionComments()}\n

    \n {#each selectedAction.comments as comment}\n \n
    \n  {userMap[\n comment.user_id\n ] || '...'}\n
    \n {#if selectedComment !== null && selectedComment.id === comment.id}\n
    \n \n
    \n \n {$LL.cancel()}\n \n \n {$LL.updateComment()}\n \n
    \n
    \n {:else}\n
    \n {comment.comment}\n
    \n {/if}\n {#if (comment.user_id === $user.id || comment.user_id === isAdmin) && !(selectedComment !== null && selectedComment.id === comment.id)}\n
    \n \n {$LL.edit()}\n \n \n {$LL.delete()}\n \n
    \n {/if}\n
    \n {/each}\n {#if selectedAction.comments.length === 0}\n

    {$LL.noComments()}

    \n {/if}\n\n
    \n \n
    \n \n {$LL.postComment()}\n \n
    \n
    \n \n
    \n","\n\n
    \n
    \n \n \n \n {#snippet header()}\n \n {$LL.actionItem()}\n {$LL.completed()}\n {$LL.comments()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each actionItems as item, i}\n \n \n
    \n {#each item.assignees as assignee}\n \n {/each}{item.content}\n
    \n
    \n \n \n \n \n \n \n  {item.comments.length}\n \n \n \n \n \n
    \n {/each}\n \n {/snippet}\n
    \n \n
    \n
    \n
    \n\n{#if showRetroActionEdit}\n \n{/if}\n\n{#if showRetroActionComments}\n \n{/if}\n","\n\n\n\n\n {$LL.retro()} {retro.name} | {$LL.appName()}\n\n\n
    \n \n
    \n

    \n {retro.name}\n

    \n
    \n
    \n
    \n {#if retro.phase === 'completed'}\n \n {#if showExport}\n {$LL.back()}\n {:else}\n {$LL.export()}\n {/if}\n \n {/if}\n {#if retro.phase === 'brainstorm' && phaseTimeLimitMin > 0}\n \n {/if}\n {#if isFacilitator}\n {#if retro.phase !== 'completed'}\n \n {$LL.nextPhase()}\n \n {/if}\n\n \n {$LL.editRetro()}\n \n\n \n {$LL.deleteRetro()}\n \n {:else}\n \n {$LL.becomeFacilitator()}\n \n \n {$LL.leaveRetro()}\n \n {/if}\n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n \n \n \n
    \n \n
    \n \n \n \n
    \n \n
    \n \n \n \n
    \n \n
    \n \n \n \n \n \n
    \n {#if retro.phase === 'brainstorm'}\n {$LL.brainstormPhaseDescription()}\n {:else if retro.phase === 'group'}\n {$LL.groupPhaseDescription()}\n {:else if retro.phase === 'vote'}\n {$LL.votePhaseDescription()}\n {:else if retro.phase === 'action'}\n {$LL.actionPhaseDescription()}\n {/if}\n
    \n \n {#if showExport}\n \n {/if}\n {#if !showExport}\n
    \n {#if retro.phase === 'intro'}\n {#if showOpenActionItems}\n \n
    \n Back to Prime Directive\n \n
    \n {:else}\n
    \n {#if team && (!AppConfig.SubscriptionsEnabled || (AppConfig.SubscriptionsEnabled && team.subscribed))}\n
    \n Review Open Action Items\n \n
    \n {:else if team && AppConfig.SubscriptionsEnabled && !team.subscribed}\n \n {/if}\n \n The Prime Directive\n \n
    \n \n \"Regardless of what we discover, we understand and truly believe\n that everyone did the best job they could, given what they knew at\n the time, their skills and abilities, the resources available, and\n the situation at hand.\"\n

    \n

    \n —Norm Kerth, Project Retrospectives: A Handbook for Team\n Review \n \n \n

    \n
    \n {/if}\n {/if}\n
    \n {#if retro.phase === 'brainstorm'}\n \n {/if}\n {#if retro.phase === 'group'}\n
    \n \n
    \n {/if}\n {#if retro.phase === 'vote'}\n
    \n
    \n \n
    \n
    \n {/if}\n {#if retro.phase === 'action' || retro.phase === 'completed'}\n
    \n
    \n \n
    \n
    \n
    \n
    \n {#if retro.phase === 'action'}\n
    \n
    \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n {/if}\n {#each retro.actionItems as item, i}\n \n
    \n
    \n \n \n \n
    \n
    \n
    \n {#each item.assignees as assignee}\n \n {/each}\n {item.content}\n
    \n
    \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n {/each}\n
    \n
    \n {/if}\n \n\n
    \n
    \n {#each retro.users as usr, index (usr.id)}\n {#if usr.active}\n \n {/if}\n {/each}\n
    \n {#if retro.phase === 'intro'}\n
    \n \n \n
    \n
    \n {/if}\n \n \n {/if}\n\n\n{#if showEditRetro}\n \n{/if}\n\n{#if showDeleteRetro}\n \n{/if}\n\n{#if showActionEdit}\n \n{/if}\n\n{#if showBecomeFacilitator}\n \n{/if}\n\n{#if socketReconnecting}\n \n {$LL.reloadingRetro()}\n \n{:else if socketError}\n \n {$LL.retroJoinError()}\n \n{:else if isLoading}\n \n {$LL.loadingRetro()}\n \n{:else if JoinPassRequired}\n \n{/if}\n","\n\n
    \n
    \n \n {$LL.storyboardName()}\n \n
    \n \n
    \n
    \n\n {#if apiPrefix === '/api' && $user.rank !== 'GUEST'}\n
    \n \n {$LL.associateTeam()}\n {#if !AppConfig.RequireTeams}{$LL.optional()}\n {/if}\n \n \n \n {#each teams as team}\n \n {/each}\n \n
    \n {/if}\n\n
    \n \n {$LL.passCode()}\n \n
    \n \n
    \n
    \n\n
    \n \n {$LL.facilitatorCodeOptional()}\n \n
    \n \n
    \n
    \n\n
    \n {$LL.createStoryboard()}\n
    \n
    \n","\n\n\n {$LL.yourStoryboards()} | {$LL.appName()}\n\n\n\n \n {$LL.myStoryboards()}\n \n\n
    \n
    \n {#if storyboardCount > 0}\n \n {:else if loading === false}\n \n {$LL.noStoryboardsFound()}\n
    \n {/if}\n {#if storyboardCount > storyboardsPageLimit}\n
    \n \n
    \n {/if}\n
    \n\n
    \n \n \n {$LL.createAStoryboard()}\n \n \n
    \n \n \n\n
    \n

    {$LL.storyboardDescription()}

    \n
    \n
    \n","\n\n\n
    \n
    \n \n {$LL.storyboardGoalName()}\n \n \n
    \n
    \n
    \n {$LL.save()}\n
    \n
    \n
    \n
    \n","\n\n\n \n \n {user.name}\n {#if facilitators.includes(user.id)}\n
    \n {$LL.facilitator()}\n {#if facilitators.includes($sessionUser.id)}\n {$LL.remove()}\n {/if}\n
    \n {:else if facilitators.includes($sessionUser.id)}\n
    \n {$LL.makeFacilitator()}\n
    \n {/if}\n \n\n","\n\n

    Invite a user

    \n\n
    \n \n
    \n \n \n \n
    \n
    \n","\n\n\n
    \n
    \n \n Column Name\n \n \n
    \n
    \n
    \n \n Delete Column\n \n
    \n
    \n Save\n
    \n
    \n
    \n\n
    \n
    \n {$LL.personas()}\n
    \n
    \n
    \n \n \n {#each personas as persona}\n \n {/each}\n \n
    \n
    \n \n Add Persona\n \n
    \n
    \n {#if column.personas.length}\n
    \n {#each column.personas as persona}\n
    \n
    \n \n
    \n
    {persona.name} ({persona.role})
    \n
    \n \n \n \n
    \n
    \n {/each}\n
    \n {/if}\n
    \n
    \n","\n\n\n\n\n
    \n
    \n
    \n \n Story Name\n \n \n
    \n
    \n \n Story Link\n \n \n
    \n
    \n \n Story Content\n \n
    \n {\n story.content = c;\n updateContent();\n }}\n />\n
    \n
    \n
    \n
    \n Discussion{story.comments ? ` (${story.comments.length})` : ''}\n
    \n
    \n {#if story.comments}\n {#each story.comments as comment}\n \n
    \n  {userMap[\n comment.user_id\n ]}\n
    \n {#if selectedComment !== null && selectedComment.id === comment.id}\n
    \n \n
    \n \n {$LL.cancel()}\n \n \n {$LL.updateComment()}\n \n
    \n
    \n {:else}\n
    \n {comment.comment}\n
    \n {/if}\n {#if comment.user_id === $user.id && !(selectedComment !== null && selectedComment.id === comment.id)}\n
    \n \n {$LL.edit()}\n \n \n {$LL.delete()}\n \n
    \n {/if}\n
    \n {/each}\n {/if}\n
    \n
    \n \n
    \n \n Post comment\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n Story Points\n \n \n
    \n
    \n
    \n Storycard Color\n
    \n
    \n {#each colorLegend as color}\n change color\n {/each}\n
    \n
    \n
    \n {#if !story.closed}\n \n Mark story as Closed\n \n {:else}\n Reopen story\n \n {/if}\n
    \n
    \n \n Delete Story\n \n
    \n
    \n \n
    \n","\n\n\n\n\n
    \n
    \n {#each colorLegend as color, i}\n
    \n \n \n
    \n {/each}\n
    \n
    \n
    \n {$LL.save()}\n
    \n
    \n
    \n
    \n","\n\n\n
    \n
    \n \n Persona Name\n \n \n
    \n
    \n \n Persona Role\n \n \n
    \n
    \n \n Persona Description\n \n \n
    \n
    \n
    \n Save\n
    \n
    \n
    \n
    \n","\n\n\n
    \n

    \n Are you sure you want to delete this Storyboard?\n
    \n This cannot be undone.\n

    \n
    \n
    \n \n Cancel\n \n \n Delete Storyboard\n \n
    \n
    \n","\n\n\n
    \n
    \n \n {$LL.storyboardName()}\n \n
    \n \n
    \n
    \n\n
    \n \n {$LL.passCode()}\n \n
    \n \n
    \n
    \n\n
    \n \n {$LL.facilitatorCodeOptional()}\n \n
    \n \n
    \n
    \n\n
    \n {$LL.save()}\n
    \n
    \n\n","\n\n({calculateGoalEstimate(columns)} Story Points)\n","\n\n\n\n\n {$LL.storyboard()} {storyboard.name} | {$LL.appName()}\n\n\n
    \n \n
    \n

    \n {storyboard.name}\n

    \n
    \n
    \n
    \n {#if isFacilitator}\n \n {$LL.storyboardAddGoal()}\n \n \n {$LL.editStoryboard()}\n \n \n {$LL.deleteStoryboard()}\n \n {:else}\n \n {$LL.becomeFacilitator()}\n \n \n {$LL.leaveStoryboard()}\n \n {/if}\n
    \n \n {$LL.personas()}\n \n \n {#if showPersonas}\n \n \n
    \n {#each storyboard.personas as persona}\n
    \n
    \n \n {persona.name}\n \n {#if isFacilitator}\n  | \n \n {$LL.edit()}\n \n  | \n \n {$LL.delete()}\n \n {/if}\n
    \n \n {persona.role}\n \n
    \n {/each}\n
    \n\n {#if isFacilitator}\n
    \n \n {$LL.addPersona()}\n \n
    \n {/if}\n
    \n
    \n {/if}\n
    \n
    \n \n {$LL.colorLegend()}\n \n \n {#if showColorLegend}\n \n \n
    \n {#each storyboard.color_legend as color}\n
    \n \n \n {color.legend || $LL.colorLegendNotSpecified()}\n \n
    \n {/each}\n
    \n\n {#if isFacilitator}\n
    \n \n {$LL.editColorLegend()}\n \n
    \n {/if}\n
    \n
    \n {/if}\n \n
    \n \n \n {$LL.users()}\n \n \n {#if showUsers}\n \n \n {#each storyboard.users as usr, index (usr.id)}\n {#if usr.active}\n \n {/if}\n {/each}\n\n
    \n \n
    \n
    \n \n {/if}\n \n \n \n \n {#each storyboard.goals as goal, goalIndex (goal.id)}\n
    \n \n 0\n ? 'border-t-2'\n : ''}\"\n >\n
    \n
    \n

    \n \n {#if collapseGoals.includes(goal.id)}\n \n {:else}\n \n {/if}\n {goal.name} \n

    \n
    \n
    \n
    \n {#if isFacilitator}\n \n {$LL.storyboardAddColumn()}\n \n \n {$LL.edit()}\n \n \n {$LL.delete()}\n \n {/if}\n
    \n
    \n {#if !collapseGoals.includes(goal.id)}\n
    \n
    \n {#each goal.columns as goalColumn, columnIndex (goalColumn.id)}\n
    \n
    \n {#each goalColumn.personas as persona}\n \n
    \n \n {persona.name}\n
    \n
    \n {persona.role}\n
    \n
    \n {/each}\n
    \n
    \n {/each}\n \n
    \n {#each goal.columns as goalColumn, columnIndex (goalColumn.id)}\n
    \n
    \n
    \n
    \n \n {goalColumn.name}\n \n \n \n \n
    \n
    \n
    \n
    \n \n +\n \n
    \n
    \n
    \n \n {#each goalColumn.stories as story (story.id)}\n \n
    \n
    \n \n {story.name}\n
    \n
    \n \n \n {#if story.comments.length > 0}\n \n {story.comments.length}\n \n \n {/if}\n
    \n
    \n {#if story.points > 0}\n \n {story.points}\n \n {/if}\n
    \n
    \n
    \n
    \n \n {#if story[SHADOW_ITEM_MARKER_PROPERTY_NAME]}\n \n
    \n
    \n \n {story.name}\n
    \n
    \n \n \n {#if story.comments.length > 0}\n \n {story.comments.length}\n \n \n {/if}\n
    \n
    \n {#if story.points > 0}\n \n {story.points}\n \n {/if}\n
    \n
    \n \n \n \n \n {/if}\n \n {/each}\n \n \n {/each}\n \n
    \n {/if}\n \n {/each}\n\n\n{#if showAddGoal}\n \n{/if}\n\n{#if editColumn}\n \n{/if}\n\n{#if activeStory}\n \n{/if}\n\n{#if showColorLegendForm}\n \n{/if}\n\n{#if showPersonasForm}\n \n{/if}\n\n{#if showEditStoryboard}\n \n{/if}\n\n{#if showDeleteStoryboard}\n \n{/if}\n\n{#if showBecomeFacilitator}\n \n{/if}\n\n{#if socketReconnecting}\n \n {$LL.reloadingStoryboard()}\n \n{:else if socketError}\n \n {$LL.joinStoryboardError()}\n \n{:else if isLoading}\n \n {$LL.loadingStoryboard()}\n \n{:else if JoinPassRequired}\n \n{/if}\n","\n\n\n
    \n
    \n \n {$LL.organizationName()}\n \n \n
    \n\n
    \n
    \n \n {$LL.organizationSave()}\n \n
    \n
    \n
    \n
    \n","\n\n\n
    \n
    \n \n {$LL.teamName()}\n \n \n
    \n\n
    \n
    \n \n {$LL.teamSave()}\n \n
    \n
    \n
    \n
    \n","\n\n\n {$LL.organizations()} | {$LL.appName()}\n\n\n\n {#if OrganizationsEnabled}\n
    \n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each organizations as organization, i}\n \n \n \n {organization.name}\n \n \n \n {new Date(organization.createdDate).toLocaleString()}\n \n \n {new Date(organization.updatedDate).toLocaleString()}\n \n \n {#if organization.role === 'ADMIN'}\n \n {/if}\n \n \n {/each}\n \n {/snippet}\n
    \n
    \n
    \n {/if}\n\n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each teams as team, i}\n \n \n \n {team.name}\n \n \n \n {new Date(team.createdDate).toLocaleString()}\n \n \n {new Date(team.updatedDate).toLocaleString()}\n \n \n {#if team.role === 'ADMIN'}\n \n {/if}\n \n \n {/each}\n \n {/snippet}\n
    \n
    \n\n {#if showCreateOrganization}\n \n {/if}\n\n {#if showOrganizationUpdate}\n \n {/if}\n\n {#if showDeleteOrganization}\n \n {/if}\n\n {#if showCreateTeam}\n \n {/if}\n\n {#if showTeamUpdate}\n \n {/if}\n\n {#if showDeleteTeam}\n \n {/if}\n
    \n","\n\n\n
    \n
    \n \n {$LL.departmentName()}\n \n \n
    \n\n
    \n
    \n \n {$LL.departmentSave()}\n \n
    \n
    \n
    \n
    \n","\n\n\n
    \n
    \n \n {$LL.role()}\n \n \n \n {#each roles as userRole}\n \n {/each}\n \n
    \n\n {#if showOrgUsers}\n
    \n \n Select an existing user from Organization\n \n \n \n {#each organizationUsers as orgUser}\n \n {/each}\n \n
    \n {/if}\n {#if showDeptUsers}\n
    \n \n Select an existing user from Department\n \n \n \n {#each departmentUsers as deptUser}\n \n {/each}\n \n
    \n {/if}\n\n {#if showOrgUsers || showDeptUsers}\n
    \n
    \n
    \n
    \n
    \n Or invite a user by email\n
    \n
    \n {/if}\n\n
    \n \n {$LL.userEmail()}\n \n \n
    \n\n
    \n {#if AppConfig.LdapEnabled || AppConfig.HeaderAuthEnabled}\n {$LL.addUserWillInviteNotFoundFieldNote({ pageType })}\n {:else}\n {$LL.inviteUserFieldNote({ pageType })}\n {/if}\n
    \n\n
    \n
    \n \n {$LL.userAdd()}\n \n
    \n
    \n
    \n
    \n","\n\n\n
    \n
    \n \n {$LL.userEmail()}\n \n \n
    \n\n
    \n \n {$LL.role()}\n \n \n {#each roles as userRole}\n \n {/each}\n \n
    \n\n
    \n
    \n \n {$LL.userUpdate()}\n \n
    \n
    \n
    \n
    \n","\n\n
    \n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.email()}\n \n \n {$LL.role()}\n \n \n {$LL.actions()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each users as user, i}\n \n \n
    \n
    \n \n
    \n
    \n
    \n {user.name}\n {#if user.country}\n  \n \n {/if}\n
    \n
    \n
    \n
    \n \n {user.email}\n \n \n
    \n {user.role}\n
    \n
    \n \n {#if isAdmin}\n \n {/if}\n \n
    \n {/each}\n \n {/snippet}\n
    \n
    \n\n {#if showAddUser}\n \n {/if}\n\n {#if showUpdateUser}\n \n {/if}\n\n {#if showRemoveUser}\n \n {/if}\n
    \n","\n\n\n \n \n {#snippet header()}\n \n {$LL.email()}\n {$LL.role()}\n {$LL.dateCreated()}\n {$LL.expireDate()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each invites as item, i}\n \n \n {item.email}\n \n \n {item.role}\n \n \n {new Date(item.created_date).toLocaleString()}\n \n \n {new Date(item.expire_date).toLocaleString()}\n \n \n \n \n \n {/each}\n \n {/snippet}\n
    \n
    \n\n{#if showDeleteInvite}\n \n{/if}\n","\n\n\n
    \n
    \n \n {$LL.name()}\n \n \n
    \n\n
    \n \n {$LL.description()}\n \n \n
    \n\n {#if isAdmin && !organizationId && !teamId}\n
    \n \n \n \n {#each scaleTypes as type}\n \n {/each}\n \n
    \n {/if}\n\n
    \n \n {$LL.scaleValues()}\n \n \n

    \n {$LL.estimationScaleValuesHelp()}\n

    \n
    \n\n {#if isAdmin && !organizationId && !teamId}\n
    \n \n
    \n {/if}\n\n
    \n \n
    \n\n
    \n
    \n \n {$LL.estimationScaleSave()}\n \n
    \n
    \n
    \n
    \n","\n\n\n
    \n
    \n \n {$LL.name()}\n \n \n
    \n\n
    \n \n {$LL.description()}\n \n \n
    \n\n {#if isAdmin && !organizationId && !teamId}\n
    \n \n \n \n {#each scaleTypes as type}\n \n {/each}\n \n
    \n {/if}\n\n
    \n \n {$LL.scaleValues()}\n \n \n

    \n {$LL.estimationScaleValuesHelp()}\n

    \n
    \n\n {#if isAdmin && !organizationId && !teamId}\n
    \n \n
    \n {/if}\n\n
    \n \n
    \n\n
    \n
    \n \n {$LL.estimationScaleSave()}\n \n
    \n
    \n
    \n
    \n","\n\n
    \n \n \n \n {#snippet header()}\n \n {$LL.name()}\n {$LL.description()}\n {$LL.scaleValues()}\n {#if isAdmin && !teamId && !organizationId}\n {$LL.scaleType()}\n {$LL.isPublic()}\n {/if}\n {$LL.default()}\n \n {$LL.actions()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each scales as scale, i}\n \n \n
    \n {scale.name}\n
    \n
    \n \n {scale.description}\n \n \n {scale.values.join(', ')}\n \n {#if isAdmin && !teamId && !organizationId}\n \n {scale.scaleType}\n \n \n \n \n {/if}\n \n \n \n \n \n {#if isAdmin || isEntityAdmin}\n \n {/if}\n \n
    \n {/each}\n \n {/snippet}\n
    \n \n
    \n\n {#if showAddScale}\n \n {/if}\n\n {#if showUpdateScale}\n \n {/if}\n\n {#if showRemoveScale}\n \n {/if}\n
    \n","\n\n
    \n {#each metrics as { key, name, value, icon }}\n {@const SvelteComponent = icon || HelpCircle}\n
    \n
    \n \n
    \n
    \n

    \n {name}\n

    \n

    \n {getMetricValue(value)}\n

    \n
    \n
    \n {/each}\n
    \n","import type { ComponentType } from 'svelte';\nimport {\n ChartNoAxesColumn,\n Briefcase,\n CheckSquare,\n FileText,\n Layout,\n Play,\n RefreshCcw,\n Users,\n} from 'lucide-svelte';\n\nexport type MetricItem = {\n key: string;\n name: string;\n value: number;\n icon: ComponentType;\n};\n\nexport type MetricsResponse = {\n [key: string]: number;\n};\n\nexport const iconMap: { [key: string]: ComponentType } = {\n user_count: Users,\n department_count: Briefcase,\n team_count: Users,\n retro_count: RefreshCcw,\n poker_count: Play,\n storyboard_count: Layout,\n team_checkin_count: CheckSquare,\n estimation_scale_count: ChartNoAxesColumn,\n retro_template_count: FileText,\n};\n\nexport async function fetchAndUpdateMetrics(\n apiPrefix: string,\n currentMetrics: MetricItem[],\n): Promise {\n try {\n const response = await fetch(`${apiPrefix}/metrics`);\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const res: MetricsResponse = await response.json();\n\n // Update the current metrics with the fetched values\n return currentMetrics.map(metric => ({\n ...metric,\n value: res.data[metric.key] || 0, // Use 0 if the key doesn't exist in the response\n }));\n } catch (error) {\n console.error('Error fetching metrics:', error);\n // In case of error, return the current metrics unchanged\n return currentMetrics;\n }\n}\n","\n\n
    \n

    Manage Columns

    \n\n

    \n You must have at least {MIN_COLUMNS} columns and can have up to {MAX_COLUMNS}\n columns. Column names are limited to 16 lowercase alphabetic characters.\n

    \n\n {#each format.columns as column, index}\n
    \n updateColumn(index, 'name', column.name)}\n placeholder=\"Column name\"\n maxlength=\"16\"\n pattern=\"[a-z]+\"\n class=\"w-full p-2 mb-2 border rounded bg-white dark:bg-gray-700 dark:text-white dark:border-gray-600\"\n />\n updateColumn(index, 'label', column.label)}\n placeholder=\"Column label\"\n class=\"w-full p-2 mb-2 border rounded bg-white dark:bg-gray-700 dark:text-white dark:border-gray-600\"\n />\n updateColumn(index, 'color', column.color)}\n class=\"w-full p-2 mb-2 border rounded bg-white dark:bg-gray-700 dark:text-white dark:border-gray-600\"\n >\n \n {#each colorOptions as option}\n \n {/each}\n \n
    \n updateColumn(index, 'icon', column.icon)}\n class=\"flex-grow p-2 border rounded bg-white dark:bg-gray-700 dark:text-white dark:border-gray-600\"\n >\n \n {#each iconOptions as option}\n \n {/each}\n \n \n {#if column.icon}\n {@const SvelteComponent = getIconComponent(column.icon)}\n \n {/if}\n
    \n
    \n removeColumn(index)}\n class=\"w-full p-2 bg-red-500 text-white rounded hover:bg-red-600 disabled:bg-red-300 disabled:cursor-not-allowed dark:bg-red-700 dark:hover:bg-red-800 dark:disabled:bg-red-900\"\n disabled=\"{!canRemoveColumn}\"\n >\n Remove Column\n \n
    \n {/each}\n\n {#if canAddColumn}\n
    \n

    Add New Column

    \n \n \n \n \n {#each colorOptions as option}\n \n {/each}\n \n
    \n \n \n {#each iconOptions as option}\n \n {/each}\n \n \n {#if newColumn.icon}\n {@const SvelteComponent_1 = getIconComponent(newColumn.icon)}\n \n {/if}\n
    \n
    \n \n Add Column\n \n \n {:else}\n

    \n Maximum number of columns reached. You cannot add more columns.\n

    \n {/if}\n\n","\n\n\n
    \n
    \n \n {$LL.name()}\n \n \n
    \n\n
    \n \n {$LL.description()}\n \n \n
    \n\n \n\n {#if isAdmin && !organizationId && !teamId}\n
    \n \n
    \n {/if}\n\n
    \n \n
    \n\n
    \n
    \n \n {$LL.retroTemplateSave()}\n \n
    \n
    \n \n
    \n","\n\n\n
    \n
    \n \n {$LL.name()}\n \n \n
    \n\n
    \n \n {$LL.description()}\n \n \n
    \n\n \n\n {#if isAdmin && !organizationId && !teamId}\n
    \n \n
    \n {/if}\n\n
    \n \n
    \n\n
    \n
    \n \n {$LL.retroTemplateSave()}\n \n
    \n
    \n \n
    \n","\n\n toggleClose(null)} widthClasses=\"w-full md:w-2/3\">\n
    \n {#each format.columns as column}\n \n

    column

    \n
      \n
    • name: {column.name}
    • \n
    • label: {column.label}
    • \n
    • color: {column.color}
    • \n
    • icon: {column.icon}
    • \n
    \n
    \n {/each}\n \n
    \n","\n\n
    \n \n \n \n {#snippet header()}\n \n {$LL.name()}\n {$LL.description()}\n {$LL.format()}\n {#if isAdmin && !teamId && !organizationId}\n {$LL.isPublic()}\n {/if}\n {$LL.default()}\n \n {$LL.actions()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each templates as template, i}\n \n \n
    \n {template.name}\n
    \n
    \n \n {template.description}\n \n \n \n toggleViewFormat(template)}\n class=\"text-blue-500 dark:text-sky-400\"\n >\n \n \n \n \n {#if isAdmin && !teamId && !organizationId}\n \n \n \n {/if}\n \n \n \n \n \n {#if isAdmin || isEntityAdmin}\n \n {/if}\n \n
    \n {/each}\n \n {/snippet}\n
    \n \n
    \n\n {#if showAddTemplate}\n \n {/if}\n\n {#if showUpdateTemplate}\n \n {/if}\n\n {#if showRemoveTemplate}\n \n {/if}\n\n {#if showFormat}\n \n {/if}\n
    \n","\n\n\n
    \n
    \n \n {$LL.pointAverageRounding()}\n \n \n {#each allowedPointAverages as item}\n \n {/each}\n \n
    \n\n
    \n \n
    \n\n
    \n \n
    \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
    \n \n {$LL.joinCodeLabelOptional()}\n \n
    \n \n
    \n
    \n\n
    \n \n {$LL.facilitatorCodeOptional()}\n \n
    \n \n
    \n
    \n\n
    \n Save Settings\n
    \n
    \n
    \n","\n\n
    \n \n \n \n {#snippet header()}\n \n {$LL.autoFinishVotingLabel()}\n {$LL.pointAverageRounding()}\n {$LL.hideVoterIdentity()}\n \n {$LL.joinCodeLabelOptional()}\n {$LL.facilitatorCodeOptional()}\n \n {/snippet}\n {#snippet body()}\n \n {#if defaultSettings.id !== ''}\n \n \n \n \n \n {defaultSettings.pointAverageRounding}\n \n \n \n \n \n \n \n \n {defaultSettings.joinCode}\n \n \n {defaultSettings.facilitatorCode}\n \n \n {/if}\n \n {/snippet}\n
    \n
    \n\n {#if showCreateDefaultSettings}\n \n {/if}\n\n {#if showUpdateDefaultSettings}\n \n {/if}\n
    \n","\n\n\n
    \n
    \n \n {$LL.retroMaxVotesPerUserLabel()}\n \n
    \n \n
    \n
    \n\n
    \n \n
    \n\n
    \n \n {$LL.brainstormPhaseFeedbackVisibility()}\n \n \n {#each brainstormVisibilityOptions as item}\n \n {/each}\n \n
    \n\n
    \n \n {$LL.retroPhaseTimeLimitMinLabel()}\n \n
    \n \n
    \n
    \n\n
    \n \n
    \n\n
    \n \n {$LL.joinCodeLabelOptional()}\n \n
    \n \n
    \n
    \n\n
    \n \n {$LL.facilitatorCodeOptional()}\n \n
    \n \n
    \n
    \n\n
    \n Save Settings\n
    \n
    \n
    \n","\n\n
    \n \n \n \n {#snippet header()}\n \n {$LL.retroMaxVotesPerUserLabel()}\n {$LL.brainstormPhaseFeedbackVisibility()}\n {$LL.retroPhaseTimeLimitMinLabel()}\n {$LL.phaseAutoAdvanceLabel()}\n {$LL.allowCumulativeVotingLabel()}\n \n {$LL.joinCodeLabelOptional()}\n {$LL.facilitatorCodeOptional()}\n \n {/snippet}\n {#snippet body()}\n \n {#if defaultSettings.id !== ''}\n \n \n {defaultSettings.maxVotes}\n \n \n {defaultSettings.brainstormVisibility}\n \n \n {defaultSettings.phaseTimeLimit}\n \n \n \n \n \n \n \n \n \n \n \n {defaultSettings.joinCode}\n \n \n {defaultSettings.facilitatorCode}\n \n \n {/if}\n \n {/snippet}\n
    \n
    \n\n {#if showCreateDefaultSettings}\n \n {/if}\n\n {#if showUpdateDefaultSettings}\n \n {/if}\n
    \n","\n\n\n {$LL.organization()} {organization.name} | {$LL.appName()}\n\n\n\n

    \n {$LL.organization()}\n \n {organization.name}\n

    \n\n
    \n \n
    \n\n
    \n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n {$LL.actions()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each departments as department, i}\n \n \n \n {department.name}\n \n \n \n {new Date(department.createdDate).toLocaleString()}\n \n \n {new Date(department.updatedDate).toLocaleString()}\n \n \n {#if isAdmin}\n \n {/if}\n \n \n {/each}\n \n {/snippet}\n
    \n
    \n
    \n\n
    \n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n {$LL.actions()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each teams as team, i}\n \n \n \n {team.name}\n \n \n \n {new Date(team.createdDate).toLocaleString()}\n \n \n {new Date(team.updatedDate).toLocaleString()}\n \n \n {#if isAdmin}\n \n {/if}\n \n \n {/each}\n \n {/snippet}\n
    \n
    \n
    \n\n {#if isAdmin}\n
    \n \n
    \n {/if}\n\n {\n invitesList.f('user-invited');\n }}\n />\n\n {#if AppConfig.FeaturePoker}\n
    \n {#if !AppConfig.SubscriptionsEnabled || (AppConfig.SubscriptionsEnabled && organization.subscribed)}\n \n {:else}\n \n {/if}\n
    \n\n
    \n {#if !AppConfig.SubscriptionsEnabled || (AppConfig.SubscriptionsEnabled && organization.subscribed)}\n \n {:else}\n \n {/if}\n
    \n {/if}\n\n {#if AppConfig.FeatureRetro}\n
    \n {#if !AppConfig.SubscriptionsEnabled || (AppConfig.SubscriptionsEnabled && organization.subscribed)}\n \n {:else}\n \n {/if}\n
    \n\n
    \n {#if !AppConfig.SubscriptionsEnabled || (AppConfig.SubscriptionsEnabled && organization.subscribed)}\n \n {:else}\n \n {/if}\n
    \n {/if}\n\n {#if isAdmin}\n
    \n \n {$LL.deleteOrganization()}\n \n
    \n {/if}\n\n {#if showCreateDepartment}\n \n {/if}\n\n {#if showDepartmentUpdate}\n \n {/if}\n\n {#if showCreateTeam}\n \n {/if}\n\n {#if showTeamUpdate}\n \n {/if}\n\n {#if showDeleteTeam}\n \n {/if}\n\n {#if showDeleteDepartment}\n \n {/if}\n\n {#if showDeleteOrganization}\n \n {/if}\n
    \n","\n\n\n {$LL.department()} {department.name} | {$LL.appName()}\n\n\n\n
    \n

    \n {$LL.department()}\n \n {department.name}\n

    \n
    \n {$LL.organization()}\n \n \n {organization.name}\n \n
    \n
    \n\n
    \n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n {$LL.actions()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each teams as team, i}\n \n \n \n {team.name}\n \n \n \n {new Date(team.createdDate).toLocaleString()}\n \n \n {new Date(team.updatedDate).toLocaleString()}\n \n \n {#if isAdmin}\n \n {/if}\n \n \n {/each}\n \n {/snippet}\n
    \n
    \n
    \n\n {#if isAdmin}\n
    \n \n
    \n {/if}\n\n \n\n {#if showCreateTeam}\n \n {/if}\n\n {#if showTeamUpdate}\n \n {/if}\n\n {#if showDeleteTeam}\n \n {/if}\n
    \n","\n\n\n","\n\n\n {$LL.team()} {team.name} | {$LL.appName()}\n\n\n\n
    \n
    \n

    \n {$LL.team()}\n \n {team.name}\n

    \n\n {#if organizationId}\n
    \n {$LL.organization()}\n \n \n {organization.name}\n \n {#if departmentId}\n  \n \n {$LL.department()}\n \n \n {department.name}\n \n {/if}\n
    \n {/if}\n
    \n
    \n {$LL.checkins()}\n \n
    \n
    \n\n {#if FeaturePoker}\n
    \n
    \n
    \n \n {$LL.battles()}\n \n
    \n
    \n {#if isTeamMember}\n {$LL.battleCreate()}\n \n {/if}\n
    \n
    \n\n
    \n \n
    \n
    \n\n {#if showCreateBattle}\n \n \n \n {/if}\n {/if}\n\n {#if FeatureRetro}\n
    \n
    \n
    \n \n {$LL.retros()}\n \n
    \n
    \n {#if isTeamMember}\n {$LL.createRetro()}\n {/if}\n
    \n
    \n\n
    \n \n
    \n\n {#if retros.length}\n
    \n \n \n \n \n \n {#snippet header()}\n \n {$LL.actionItem()}\n {$LL.completed()}\n {$LL.comments()}\n \n \n {/snippet}\n {#snippet body()}\n \n {#each retroActions as item, i}\n \n \n
    \n {#each item.assignees as assignee}\n \n {/each}{item.content}\n
    \n
    \n \n \n \n \n \n \n  {item.comments.length}\n \n \n \n \n \n
    \n {/each}\n \n {/snippet}\n
    \n \n
    \n
    \n {/if}\n
    \n\n {#if showCreateRetro}\n \n \n \n {/if}\n {/if}\n\n {#if FeatureStoryboard}\n
    \n
    \n
    \n \n {$LL.storyboards()}\n \n
    \n
    \n {#if isTeamMember}\n {$LL.createStoryboard()}\n \n {/if}\n
    \n
    \n\n
    \n \n
    \n
    \n\n {#if showCreateStoryboard}\n \n \n \n {/if}\n {/if}\n\n {#if isAdmin}\n
    \n \n
    \n {/if}\n\n {\n invitesList.f('user-invited');\n }}\n />\n\n {#if FeaturePoker}\n
    \n {#if !AppConfig.SubscriptionsEnabled || (AppConfig.SubscriptionsEnabled && (team.subscribed || organization.subscribed))}\n \n {:else}\n \n {/if}\n
    \n\n
    \n {#if !AppConfig.SubscriptionsEnabled || (AppConfig.SubscriptionsEnabled && (team.subscribed || organization.subscribed))}\n \n {:else}\n \n {/if}\n
    \n {/if}\n\n {#if AppConfig.FeatureRetro}\n
    \n {#if !AppConfig.SubscriptionsEnabled || (AppConfig.SubscriptionsEnabled && (team.subscribed || organization.subscribed))}\n \n {:else}\n \n {/if}\n
    \n\n
    \n {#if !AppConfig.SubscriptionsEnabled || (AppConfig.SubscriptionsEnabled && (team.subscribed || organization.subscribed))}\n \n {:else}\n \n {/if}\n
    \n {/if}\n\n {#if isAdmin && !organizationId && !departmentId}\n
    \n \n {$LL.deleteTeam()}\n \n
    \n {/if}\n\n {#if showRemoveBattle}\n \n {/if}\n\n {#if showRemoveRetro}\n \n {/if}\n\n {#if showRemoveStoryboard}\n \n {/if}\n\n {#if showDeleteTeam}\n \n {/if}\n\n {#if showRetroActionEdit}\n \n {/if}\n\n {#if showRetroActionComments}\n \n {/if}\n
    \n","\n\n\n
    \n {#if userSubscribed}\n {#if lastCheckin.id !== ''}\n \n
    \n \n Last Checkin\n
    \n
    \n
    \n \n {$LL.yesterday()}\n
    \n
    {@html lastCheckin.yesterday}
    \n
    \n
    \n \n {$LL.today()}\n
    \n
    {@html lastCheckin.today}
    \n \n
    \n \n {$LL.blockers()}\n
    \n
    {@html lastCheckin.blockers}
    \n \n
    \n \n {$LL.discuss()}\n
    \n
    {@html lastCheckin.discuss}
    \n \n \n \n \n {/if}\n {:else}\n \n {/if}\n\n
    \n
    \n
    \n \n {$LL.yesterday()}\n
    \n
    \n (yesterday = c)}\n />\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n {$LL.today()}\n
    \n
    \n (today = c)}\n />\n
    \n
    \n \n\n
    \n \n {$LL.blockers()}\n
    \n
    \n (blockers = c)}\n />\n
    \n \n\n
    \n \n {$LL.discuss()}\n
    \n
    \n (discuss = c)}\n />\n
    \n \n \n\n
    \n
    \n {$LL.save()}\n
    \n
    \n \n
    \n","\n\n\n
    \n  {userMap[comment.user_id] ||\n '...'}\n
    \n {#if showEdit}\n
    \n
    \n \n
    \n \n {$LL.cancel()}\n \n \n {$LL.updateComment()}\n \n
    \n \n
    \n {:else}\n
    \n {comment.comment}\n
    \n {/if}\n {#if (comment.user_id === $user.id || comment.user_id === isAdmin) && !showEdit}\n
    \n \n {$LL.edit()}\n \n \n {$LL.delete()}\n \n
    \n {/if}\n\n","\n\n\n{#if showComments}\n
    \n {#each checkin.comments as comment}\n \n {/each}\n
    \n
    \n
    \n
    \n \n
    \n\n
    \n
    \n \n {$LL.postComment()}\n \n
    \n
    \n
    \n
    \n{/if}\n","// Copyright (c) 2017 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ┌────────────────────────────────────────────────────────────┐ \\\\\n// │ Eve 0.5.4 - JavaScript Events Library │ \\\\\n// ├────────────────────────────────────────────────────────────┤ \\\\\n// │ Author Dmitry Baranovskiy (http://dmitry.baranovskiy.com/) │ \\\\\n// └────────────────────────────────────────────────────────────┘ \\\\\n\n(function (glob) {\n var version = \"0.5.4\",\n has = \"hasOwnProperty\",\n separator = /[\\.\\/]/,\n comaseparator = /\\s*,\\s*/,\n wildcard = \"*\",\n numsort = function (a, b) {\n return a - b;\n },\n current_event,\n stop,\n events = {n: {}},\n firstDefined = function () {\n for (var i = 0, ii = this.length; i < ii; i++) {\n if (typeof this[i] != \"undefined\") {\n return this[i];\n }\n }\n },\n lastDefined = function () {\n var i = this.length;\n while (--i) {\n if (typeof this[i] != \"undefined\") {\n return this[i];\n }\n }\n },\n objtos = Object.prototype.toString,\n Str = String,\n isArray = Array.isArray || function (ar) {\n return ar instanceof Array || objtos.call(ar) == \"[object Array]\";\n },\n /*\\\n * eve\n [ method ]\n\n * Fires event with given `name`, given scope and other parameters.\n\n - name (string) name of the *event*, dot (`.`) or slash (`/`) separated\n - scope (object) context for the event handlers\n - varargs (...) the rest of arguments will be sent to event handlers\n\n = (object) array of returned values from the listeners. Array has two methods `.firstDefined()` and `.lastDefined()` to get first or last not `undefined` value.\n \\*/\n eve = function (name, scope) {\n var oldstop = stop,\n args = Array.prototype.slice.call(arguments, 2),\n listeners = eve.listeners(name),\n z = 0,\n l,\n indexed = [],\n queue = {},\n out = [],\n ce = current_event;\n out.firstDefined = firstDefined;\n out.lastDefined = lastDefined;\n current_event = name;\n stop = 0;\n for (var i = 0, ii = listeners.length; i < ii; i++) if (\"zIndex\" in listeners[i]) {\n indexed.push(listeners[i].zIndex);\n if (listeners[i].zIndex < 0) {\n queue[listeners[i].zIndex] = listeners[i];\n }\n }\n indexed.sort(numsort);\n while (indexed[z] < 0) {\n l = queue[indexed[z++]];\n out.push(l.apply(scope, args));\n if (stop) {\n stop = oldstop;\n return out;\n }\n }\n for (i = 0; i < ii; i++) {\n l = listeners[i];\n if (\"zIndex\" in l) {\n if (l.zIndex == indexed[z]) {\n out.push(l.apply(scope, args));\n if (stop) {\n break;\n }\n do {\n z++;\n l = queue[indexed[z]];\n l && out.push(l.apply(scope, args));\n if (stop) {\n break;\n }\n } while (l)\n } else {\n queue[l.zIndex] = l;\n }\n } else {\n out.push(l.apply(scope, args));\n if (stop) {\n break;\n }\n }\n }\n stop = oldstop;\n current_event = ce;\n return out;\n };\n // Undocumented. Debug only.\n eve._events = events;\n /*\\\n * eve.listeners\n [ method ]\n\n * Internal method which gives you array of all event handlers that will be triggered by the given `name`.\n\n - name (string) name of the event, dot (`.`) or slash (`/`) separated\n\n = (array) array of event handlers\n \\*/\n eve.listeners = function (name) {\n var names = isArray(name) ? name : name.split(separator),\n e = events,\n item,\n items,\n k,\n i,\n ii,\n j,\n jj,\n nes,\n es = [e],\n out = [];\n for (i = 0, ii = names.length; i < ii; i++) {\n nes = [];\n for (j = 0, jj = es.length; j < jj; j++) {\n e = es[j].n;\n items = [e[names[i]], e[wildcard]];\n k = 2;\n while (k--) {\n item = items[k];\n if (item) {\n nes.push(item);\n out = out.concat(item.f || []);\n }\n }\n }\n es = nes;\n }\n return out;\n };\n /*\\\n * eve.separator\n [ method ]\n\n * If for some reasons you don’t like default separators (`.` or `/`) you can specify yours\n * here. Be aware that if you pass a string longer than one character it will be treated as\n * a list of characters.\n\n - separator (string) new separator. Empty string resets to default: `.` or `/`.\n \\*/\n eve.separator = function (sep) {\n if (sep) {\n sep = Str(sep).replace(/(?=[\\.\\^\\]\\[\\-])/g, \"\\\\\");\n sep = \"[\" + sep + \"]\";\n separator = new RegExp(sep);\n } else {\n separator = /[\\.\\/]/;\n }\n };\n /*\\\n * eve.on\n [ method ]\n **\n * Binds given event handler with a given name. You can use wildcards “`*`” for the names:\n | eve.on(\"*.under.*\", f);\n | eve(\"mouse.under.floor\"); // triggers f\n * Use @eve to trigger the listener.\n **\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\n - f (function) event handler function\n **\n - name (array) if you don’t want to use separators, you can use array of strings\n - f (function) event handler function\n **\n = (function) returned function accepts a single numeric parameter that represents z-index of the handler. It is an optional feature and only used when you need to ensure that some subset of handlers will be invoked in a given order, despite of the order of assignment.\n > Example:\n | eve.on(\"mouse\", eatIt)(2);\n | eve.on(\"mouse\", scream);\n | eve.on(\"mouse\", catchIt)(1);\n * This will ensure that `catchIt` function will be called before `eatIt`.\n *\n * If you want to put your handler before non-indexed handlers, specify a negative value.\n * Note: I assume most of the time you don’t need to worry about z-index, but it’s nice to have this feature “just in case”.\n \\*/\n eve.on = function (name, f) {\n if (typeof f != \"function\") {\n return function () {};\n }\n var names = isArray(name) ? isArray(name[0]) ? name : [name] : Str(name).split(comaseparator);\n for (var i = 0, ii = names.length; i < ii; i++) {\n (function (name) {\n var names = isArray(name) ? name : Str(name).split(separator),\n e = events,\n exist;\n for (var i = 0, ii = names.length; i < ii; i++) {\n e = e.n;\n e = e.hasOwnProperty(names[i]) && e[names[i]] || (e[names[i]] = {n: {}});\n }\n e.f = e.f || [];\n for (i = 0, ii = e.f.length; i < ii; i++) if (e.f[i] == f) {\n exist = true;\n break;\n }\n !exist && e.f.push(f);\n }(names[i]));\n }\n return function (zIndex) {\n if (+zIndex == +zIndex) {\n f.zIndex = +zIndex;\n }\n };\n };\n /*\\\n * eve.f\n [ method ]\n **\n * Returns function that will fire given event with optional arguments.\n * Arguments that will be passed to the result function will be also\n * concated to the list of final arguments.\n | el.onclick = eve.f(\"click\", 1, 2);\n | eve.on(\"click\", function (a, b, c) {\n | console.log(a, b, c); // 1, 2, [event object]\n | });\n - event (string) event name\n - varargs (…) and any other arguments\n = (function) possible event handler function\n \\*/\n eve.f = function (event) {\n var attrs = [].slice.call(arguments, 1);\n return function () {\n eve.apply(null, [event, null].concat(attrs).concat([].slice.call(arguments, 0)));\n };\n };\n /*\\\n * eve.stop\n [ method ]\n **\n * Is used inside an event handler to stop the event, preventing any subsequent listeners from firing.\n \\*/\n eve.stop = function () {\n stop = 1;\n };\n /*\\\n * eve.nt\n [ method ]\n **\n * Could be used inside event handler to figure out actual name of the event.\n **\n - subname (string) #optional subname of the event\n **\n = (string) name of the event, if `subname` is not specified\n * or\n = (boolean) `true`, if current event’s name contains `subname`\n \\*/\n eve.nt = function (subname) {\n var cur = isArray(current_event) ? current_event.join(\".\") : current_event;\n if (subname) {\n return new RegExp(\"(?:\\\\.|\\\\/|^)\" + subname + \"(?:\\\\.|\\\\/|$)\").test(cur);\n }\n return cur;\n };\n /*\\\n * eve.nts\n [ method ]\n **\n * Could be used inside event handler to figure out actual name of the event.\n **\n **\n = (array) names of the event\n \\*/\n eve.nts = function () {\n return isArray(current_event) ? current_event : current_event.split(separator);\n };\n /*\\\n * eve.off\n [ method ]\n **\n * Removes given function from the list of event listeners assigned to given name.\n * If no arguments specified all the events will be cleared.\n **\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\n - f (function) event handler function\n \\*/\n /*\\\n * eve.unbind\n [ method ]\n **\n * See @eve.off\n \\*/\n eve.off = eve.unbind = function (name, f) {\n if (!name) {\n eve._events = events = {n: {}};\n return;\n }\n var names = isArray(name) ? isArray(name[0]) ? name : [name] : Str(name).split(comaseparator);\n if (names.length > 1) {\n for (var i = 0, ii = names.length; i < ii; i++) {\n eve.off(names[i], f);\n }\n return;\n }\n names = isArray(name) ? name : Str(name).split(separator);\n var e,\n key,\n splice,\n i, ii, j, jj,\n cur = [events],\n inodes = [];\n for (i = 0, ii = names.length; i < ii; i++) {\n for (j = 0; j < cur.length; j += splice.length - 2) {\n splice = [j, 1];\n e = cur[j].n;\n if (names[i] != wildcard) {\n if (e[names[i]]) {\n splice.push(e[names[i]]);\n inodes.unshift({\n n: e,\n name: names[i]\n });\n }\n } else {\n for (key in e) if (e[has](key)) {\n splice.push(e[key]);\n inodes.unshift({\n n: e,\n name: key\n });\n }\n }\n cur.splice.apply(cur, splice);\n }\n }\n for (i = 0, ii = cur.length; i < ii; i++) {\n e = cur[i];\n while (e.n) {\n if (f) {\n if (e.f) {\n for (j = 0, jj = e.f.length; j < jj; j++) if (e.f[j] == f) {\n e.f.splice(j, 1);\n break;\n }\n !e.f.length && delete e.f;\n }\n for (key in e.n) if (e.n[has](key) && e.n[key].f) {\n var funcs = e.n[key].f;\n for (j = 0, jj = funcs.length; j < jj; j++) if (funcs[j] == f) {\n funcs.splice(j, 1);\n break;\n }\n !funcs.length && delete e.n[key].f;\n }\n } else {\n delete e.f;\n for (key in e.n) if (e.n[has](key) && e.n[key].f) {\n delete e.n[key].f;\n }\n }\n e = e.n;\n }\n }\n // prune inner nodes in path\n prune: for (i = 0, ii = inodes.length; i < ii; i++) {\n e = inodes[i];\n for (key in e.n[e.name].f) {\n // not empty (has listeners)\n continue prune;\n }\n for (key in e.n[e.name].n) {\n // not empty (has children)\n continue prune;\n }\n // is empty\n delete e.n[e.name];\n }\n };\n /*\\\n * eve.once\n [ method ]\n **\n * Binds given event handler with a given name to only run once then unbind itself.\n | eve.once(\"login\", f);\n | eve(\"login\"); // triggers f\n | eve(\"login\"); // no listeners\n * Use @eve to trigger the listener.\n **\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\n - f (function) event handler function\n **\n = (function) same return function as @eve.on\n \\*/\n eve.once = function (name, f) {\n var f2 = function () {\n eve.off(name, f2);\n return f.apply(this, arguments);\n };\n return eve.on(name, f2);\n };\n /*\\\n * eve.version\n [ property (string) ]\n **\n * Current version of the library.\n \\*/\n eve.version = version;\n eve.toString = function () {\n return \"You are running Eve \" + version;\n };\n glob.eve = eve;\n typeof module != \"undefined\" && module.exports ? module.exports = eve : typeof define === \"function\" && define.amd ? define(\"eve\", [], function () { return eve; }) : glob.eve = eve;\n})(typeof window != \"undefined\" ? window : this);\n","window.eve = require('eve')\n\n// Copyright (c) 2017 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nvar mina = (function (eve) {\n var animations = {},\n requestAnimFrame = window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.oRequestAnimationFrame ||\n window.msRequestAnimationFrame ||\n function (callback) {\n setTimeout(callback, 16, new Date().getTime());\n return true;\n },\n requestID,\n isArray = Array.isArray || function (a) {\n return a instanceof Array ||\n Object.prototype.toString.call(a) == \"[object Array]\";\n },\n idgen = 0,\n idprefix = \"M\" + (+new Date).toString(36),\n ID = function () {\n return idprefix + (idgen++).toString(36);\n },\n diff = function (a, b, A, B) {\n if (isArray(a)) {\n res = [];\n for (var i = 0, ii = a.length; i < ii; i++) {\n res[i] = diff(a[i], b, A[i], B);\n }\n return res;\n }\n var dif = (A - a) / (B - b);\n return function (bb) {\n return a + dif * (bb - b);\n };\n },\n timer = Date.now || function () {\n return +new Date;\n },\n sta = function (val) {\n var a = this;\n if (val == null) {\n return a.s;\n }\n var ds = a.s - val;\n a.b += a.dur * ds;\n a.B += a.dur * ds;\n a.s = val;\n },\n speed = function (val) {\n var a = this;\n if (val == null) {\n return a.spd;\n }\n a.spd = val;\n },\n duration = function (val) {\n var a = this;\n if (val == null) {\n return a.dur;\n }\n a.s = a.s * val / a.dur;\n a.dur = val;\n },\n stopit = function () {\n var a = this;\n delete animations[a.id];\n a.update();\n eve(\"mina.stop.\" + a.id, a);\n },\n pause = function () {\n var a = this;\n if (a.pdif) {\n return;\n }\n delete animations[a.id];\n a.update();\n a.pdif = a.get() - a.b;\n },\n resume = function () {\n var a = this;\n if (!a.pdif) {\n return;\n }\n a.b = a.get() - a.pdif;\n delete a.pdif;\n animations[a.id] = a;\n frame();\n },\n update = function () {\n var a = this,\n res;\n if (isArray(a.start)) {\n res = [];\n for (var j = 0, jj = a.start.length; j < jj; j++) {\n res[j] = +a.start[j] +\n (a.end[j] - a.start[j]) * a.easing(a.s);\n }\n } else {\n res = +a.start + (a.end - a.start) * a.easing(a.s);\n }\n a.set(res);\n },\n frame = function (timeStamp) {\n // Manual invokation?\n if (!timeStamp) {\n // Frame loop stopped?\n if (!requestID) {\n // Start frame loop...\n requestID = requestAnimFrame(frame);\n }\n return;\n }\n var len = 0;\n for (var i in animations) if (animations.hasOwnProperty(i)) {\n var a = animations[i],\n b = a.get(),\n res;\n len++;\n a.s = (b - a.b) / (a.dur / a.spd);\n if (a.s >= 1) {\n delete animations[i];\n a.s = 1;\n len--;\n (function (a) {\n setTimeout(function () {\n eve(\"mina.finish.\" + a.id, a);\n });\n }(a));\n }\n a.update();\n }\n requestID = len ? requestAnimFrame(frame) : false;\n },\n /*\\\n * mina\n [ method ]\n **\n * Generic animation of numbers\n **\n - a (number) start _slave_ number\n - A (number) end _slave_ number\n - b (number) start _master_ number (start time in general case)\n - B (number) end _master_ number (end time in general case)\n - get (function) getter of _master_ number (see @mina.time)\n - set (function) setter of _slave_ number\n - easing (function) #optional easing function, default is @mina.linear\n = (object) animation descriptor\n o {\n o id (string) animation id,\n o start (number) start _slave_ number,\n o end (number) end _slave_ number,\n o b (number) start _master_ number,\n o s (number) animation status (0..1),\n o dur (number) animation duration,\n o spd (number) animation speed,\n o get (function) getter of _master_ number (see @mina.time),\n o set (function) setter of _slave_ number,\n o easing (function) easing function, default is @mina.linear,\n o status (function) status getter/setter,\n o speed (function) speed getter/setter,\n o duration (function) duration getter/setter,\n o stop (function) animation stopper\n o pause (function) pauses the animation\n o resume (function) resumes the animation\n o update (function) calles setter with the right value of the animation\n o }\n \\*/\n mina = function (a, A, b, B, get, set, easing) {\n var anim = {\n id: ID(),\n start: a,\n end: A,\n b: b,\n s: 0,\n dur: B - b,\n spd: 1,\n get: get,\n set: set,\n easing: easing || mina.linear,\n status: sta,\n speed: speed,\n duration: duration,\n stop: stopit,\n pause: pause,\n resume: resume,\n update: update\n };\n animations[anim.id] = anim;\n var len = 0, i;\n for (i in animations) if (animations.hasOwnProperty(i)) {\n len++;\n if (len == 2) {\n break;\n }\n }\n len == 1 && frame();\n return anim;\n };\n /*\\\n * mina.time\n [ method ]\n **\n * Returns the current time. Equivalent to:\n | function () {\n | return (new Date).getTime();\n | }\n \\*/\n mina.time = timer;\n /*\\\n * mina.getById\n [ method ]\n **\n * Returns an animation by its id\n - id (string) animation's id\n = (object) See @mina\n \\*/\n mina.getById = function (id) {\n return animations[id] || null;\n };\n\n /*\\\n * mina.linear\n [ method ]\n **\n * Default linear easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.linear = function (n) {\n return n;\n };\n /*\\\n * mina.easeout\n [ method ]\n **\n * Easeout easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.easeout = function (n) {\n return Math.pow(n, 1.7);\n };\n /*\\\n * mina.easein\n [ method ]\n **\n * Easein easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.easein = function (n) {\n return Math.pow(n, .48);\n };\n /*\\\n * mina.easeinout\n [ method ]\n **\n * Easeinout easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.easeinout = function (n) {\n if (n == 1) {\n return 1;\n }\n if (n == 0) {\n return 0;\n }\n var q = .48 - n / 1.04,\n Q = Math.sqrt(.1734 + q * q),\n x = Q - q,\n X = Math.pow(Math.abs(x), 1 / 3) * (x < 0 ? -1 : 1),\n y = -Q - q,\n Y = Math.pow(Math.abs(y), 1 / 3) * (y < 0 ? -1 : 1),\n t = X + Y + .5;\n return (1 - t) * 3 * t * t + t * t * t;\n };\n /*\\\n * mina.backin\n [ method ]\n **\n * Backin easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.backin = function (n) {\n if (n == 1) {\n return 1;\n }\n var s = 1.70158;\n return n * n * ((s + 1) * n - s);\n };\n /*\\\n * mina.backout\n [ method ]\n **\n * Backout easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.backout = function (n) {\n if (n == 0) {\n return 0;\n }\n n = n - 1;\n var s = 1.70158;\n return n * n * ((s + 1) * n + s) + 1;\n };\n /*\\\n * mina.elastic\n [ method ]\n **\n * Elastic easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.elastic = function (n) {\n if (n == !!n) {\n return n;\n }\n return Math.pow(2, -10 * n) * Math.sin((n - .075) *\n (2 * Math.PI) / .3) + 1;\n };\n /*\\\n * mina.bounce\n [ method ]\n **\n * Bounce easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.bounce = function (n) {\n var s = 7.5625,\n p = 2.75,\n l;\n if (n < 1 / p) {\n l = s * n * n;\n } else {\n if (n < 2 / p) {\n n -= 1.5 / p;\n l = s * n * n + .75;\n } else {\n if (n < 2.5 / p) {\n n -= 2.25 / p;\n l = s * n * n + .9375;\n } else {\n n -= 2.625 / p;\n l = s * n * n + .984375;\n }\n }\n }\n return l;\n };\n window.mina = mina;\n return mina;\n})(typeof eve == \"undefined\" ? function () {} : eve);\n\n// Copyright (c) 2013 - 2017 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nvar Snap = (function(root) {\nSnap.version = \"0.5.1\";\n/*\\\n * Snap\n [ method ]\n **\n * Creates a drawing surface or wraps existing SVG element.\n **\n - width (number|string) width of surface\n - height (number|string) height of surface\n * or\n - DOM (SVGElement) element to be wrapped into Snap structure\n * or\n - array (array) array of elements (will return set of elements)\n * or\n - query (string) CSS query selector\n = (object) @Element\n\\*/\nfunction Snap(w, h) {\n if (w) {\n if (w.nodeType) {\n return wrap(w);\n }\n if (is(w, \"array\") && Snap.set) {\n return Snap.set.apply(Snap, w);\n }\n if (w instanceof Element) {\n return w;\n }\n if (h == null) {\n try {\n w = glob.doc.querySelector(String(w));\n return wrap(w);\n } catch (e) {\n return null;\n }\n }\n }\n w = w == null ? \"100%\" : w;\n h = h == null ? \"100%\" : h;\n return new Paper(w, h);\n}\nSnap.toString = function () {\n return \"Snap v\" + this.version;\n};\nSnap._ = {};\nvar glob = {\n win: root.window,\n doc: root.window.document\n};\nSnap._.glob = glob;\nvar has = \"hasOwnProperty\",\n Str = String,\n toFloat = parseFloat,\n toInt = parseInt,\n math = Math,\n mmax = math.max,\n mmin = math.min,\n abs = math.abs,\n pow = math.pow,\n PI = math.PI,\n round = math.round,\n E = \"\",\n S = \" \",\n objectToString = Object.prototype.toString,\n ISURL = /^url\\(['\"]?([^\\)]+?)['\"]?\\)$/i,\n colourRegExp = /^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|rgba?\\(\\s*([\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?(?:\\s*,\\s*[\\d\\.]+%?)?)\\s*\\)|hsba?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\)|hsla?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\))\\s*$/i,\n bezierrg = /^(?:cubic-)?bezier\\(([^,]+),([^,]+),([^,]+),([^\\)]+)\\)/,\n separator = Snap._.separator = /[,\\s]+/,\n whitespace = /[\\s]/g,\n commaSpaces = /[\\s]*,[\\s]*/,\n hsrg = {hs: 1, rg: 1},\n pathCommand = /([a-z])[\\s,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\s]*,?[\\s]*)+)/ig,\n tCommand = /([rstm])[\\s,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\s]*,?[\\s]*)+)/ig,\n pathValues = /(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[\\s]*,?[\\s]*/ig,\n idgen = 0,\n idprefix = \"S\" + (+new Date).toString(36),\n ID = function (el) {\n return (el && el.type ? el.type : E) + idprefix + (idgen++).toString(36);\n },\n xlink = \"http://www.w3.org/1999/xlink\",\n xmlns = \"http://www.w3.org/2000/svg\",\n hub = {},\n /*\\\n * Snap.url\n [ method ]\n **\n * Wraps path into `\"url('')\"`.\n - value (string) path\n = (string) wrapped path\n \\*/\n URL = Snap.url = function (url) {\n return \"url('#\" + url + \"')\";\n };\n\nfunction $(el, attr) {\n if (attr) {\n if (el == \"#text\") {\n el = glob.doc.createTextNode(attr.text || attr[\"#text\"] || \"\");\n }\n if (el == \"#comment\") {\n el = glob.doc.createComment(attr.text || attr[\"#text\"] || \"\");\n }\n if (typeof el == \"string\") {\n el = $(el);\n }\n if (typeof attr == \"string\") {\n if (el.nodeType == 1) {\n if (attr.substring(0, 6) == \"xlink:\") {\n return el.getAttributeNS(xlink, attr.substring(6));\n }\n if (attr.substring(0, 4) == \"xml:\") {\n return el.getAttributeNS(xmlns, attr.substring(4));\n }\n return el.getAttribute(attr);\n } else if (attr == \"text\") {\n return el.nodeValue;\n } else {\n return null;\n }\n }\n if (el.nodeType == 1) {\n for (var key in attr) if (attr[has](key)) {\n var val = Str(attr[key]);\n if (val) {\n if (key.substring(0, 6) == \"xlink:\") {\n el.setAttributeNS(xlink, key.substring(6), val);\n } else if (key.substring(0, 4) == \"xml:\") {\n el.setAttributeNS(xmlns, key.substring(4), val);\n } else {\n el.setAttribute(key, val);\n }\n } else {\n el.removeAttribute(key);\n }\n }\n } else if (\"text\" in attr) {\n el.nodeValue = attr.text;\n }\n } else {\n el = glob.doc.createElementNS(xmlns, el);\n }\n return el;\n}\nSnap._.$ = $;\nSnap._.id = ID;\nfunction getAttrs(el) {\n var attrs = el.attributes,\n name,\n out = {};\n for (var i = 0; i < attrs.length; i++) {\n if (attrs[i].namespaceURI == xlink) {\n name = \"xlink:\";\n } else {\n name = \"\";\n }\n name += attrs[i].name;\n out[name] = attrs[i].textContent;\n }\n return out;\n}\nfunction is(o, type) {\n type = Str.prototype.toLowerCase.call(type);\n if (type == \"finite\") {\n return isFinite(o);\n }\n if (type == \"array\" &&\n (o instanceof Array || Array.isArray && Array.isArray(o))) {\n return true;\n }\n return type == \"null\" && o === null ||\n type == typeof o && o !== null ||\n type == \"object\" && o === Object(o) ||\n objectToString.call(o).slice(8, -1).toLowerCase() == type;\n}\n/*\\\n * Snap.format\n [ method ]\n **\n * Replaces construction of type `{}` to the corresponding argument\n **\n - token (string) string to format\n - json (object) object which properties are used as a replacement\n = (string) formatted string\n > Usage\n | // this draws a rectangular shape equivalent to \"M10,20h40v50h-40z\"\n | paper.path(Snap.format(\"M{x},{y}h{dim.width}v{dim.height}h{dim['negative width']}z\", {\n | x: 10,\n | y: 20,\n | dim: {\n | width: 40,\n | height: 50,\n | \"negative width\": -40\n | }\n | }));\n\\*/\nSnap.format = (function () {\n var tokenRegex = /\\{([^\\}]+)\\}/g,\n objNotationRegex = /(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[('|\")(.+?)\\2\\])(\\(\\))?/g, // matches .xxxxx or [\"xxxxx\"] to run over object properties\n replacer = function (all, key, obj) {\n var res = obj;\n key.replace(objNotationRegex, function (all, name, quote, quotedName, isFunc) {\n name = name || quotedName;\n if (res) {\n if (name in res) {\n res = res[name];\n }\n typeof res == \"function\" && isFunc && (res = res());\n }\n });\n res = (res == null || res == obj ? all : res) + \"\";\n return res;\n };\n return function (str, obj) {\n return Str(str).replace(tokenRegex, function (all, key) {\n return replacer(all, key, obj);\n });\n };\n})();\nfunction clone(obj) {\n if (typeof obj == \"function\" || Object(obj) !== obj) {\n return obj;\n }\n var res = new obj.constructor;\n for (var key in obj) if (obj[has](key)) {\n res[key] = clone(obj[key]);\n }\n return res;\n}\nSnap._.clone = clone;\nfunction repush(array, item) {\n for (var i = 0, ii = array.length; i < ii; i++) if (array[i] === item) {\n return array.push(array.splice(i, 1)[0]);\n }\n}\nfunction cacher(f, scope, postprocessor) {\n function newf() {\n var arg = Array.prototype.slice.call(arguments, 0),\n args = arg.join(\"\\u2400\"),\n cache = newf.cache = newf.cache || {},\n count = newf.count = newf.count || [];\n if (cache[has](args)) {\n repush(count, args);\n return postprocessor ? postprocessor(cache[args]) : cache[args];\n }\n count.length >= 1e3 && delete cache[count.shift()];\n count.push(args);\n cache[args] = f.apply(scope, arg);\n return postprocessor ? postprocessor(cache[args]) : cache[args];\n }\n return newf;\n}\nSnap._.cacher = cacher;\nfunction angle(x1, y1, x2, y2, x3, y3) {\n if (x3 == null) {\n var x = x1 - x2,\n y = y1 - y2;\n if (!x && !y) {\n return 0;\n }\n return (180 + math.atan2(-y, -x) * 180 / PI + 360) % 360;\n } else {\n return angle(x1, y1, x3, y3) - angle(x2, y2, x3, y3);\n }\n}\nfunction rad(deg) {\n return deg % 360 * PI / 180;\n}\nfunction deg(rad) {\n return rad * 180 / PI % 360;\n}\nfunction x_y() {\n return this.x + S + this.y;\n}\nfunction x_y_w_h() {\n return this.x + S + this.y + S + this.width + \" \\xd7 \" + this.height;\n}\n\n/*\\\n * Snap.rad\n [ method ]\n **\n * Transform angle to radians\n - deg (number) angle in degrees\n = (number) angle in radians\n\\*/\nSnap.rad = rad;\n/*\\\n * Snap.deg\n [ method ]\n **\n * Transform angle to degrees\n - rad (number) angle in radians\n = (number) angle in degrees\n\\*/\nSnap.deg = deg;\n/*\\\n * Snap.sin\n [ method ]\n **\n * Equivalent to `Math.sin()` only works with degrees, not radians.\n - angle (number) angle in degrees\n = (number) sin\n\\*/\nSnap.sin = function (angle) {\n return math.sin(Snap.rad(angle));\n};\n/*\\\n * Snap.tan\n [ method ]\n **\n * Equivalent to `Math.tan()` only works with degrees, not radians.\n - angle (number) angle in degrees\n = (number) tan\n\\*/\nSnap.tan = function (angle) {\n return math.tan(Snap.rad(angle));\n};\n/*\\\n * Snap.cos\n [ method ]\n **\n * Equivalent to `Math.cos()` only works with degrees, not radians.\n - angle (number) angle in degrees\n = (number) cos\n\\*/\nSnap.cos = function (angle) {\n return math.cos(Snap.rad(angle));\n};\n/*\\\n * Snap.asin\n [ method ]\n **\n * Equivalent to `Math.asin()` only works with degrees, not radians.\n - num (number) value\n = (number) asin in degrees\n\\*/\nSnap.asin = function (num) {\n return Snap.deg(math.asin(num));\n};\n/*\\\n * Snap.acos\n [ method ]\n **\n * Equivalent to `Math.acos()` only works with degrees, not radians.\n - num (number) value\n = (number) acos in degrees\n\\*/\nSnap.acos = function (num) {\n return Snap.deg(math.acos(num));\n};\n/*\\\n * Snap.atan\n [ method ]\n **\n * Equivalent to `Math.atan()` only works with degrees, not radians.\n - num (number) value\n = (number) atan in degrees\n\\*/\nSnap.atan = function (num) {\n return Snap.deg(math.atan(num));\n};\n/*\\\n * Snap.atan2\n [ method ]\n **\n * Equivalent to `Math.atan2()` only works with degrees, not radians.\n - num (number) value\n = (number) atan2 in degrees\n\\*/\nSnap.atan2 = function (num) {\n return Snap.deg(math.atan2(num));\n};\n/*\\\n * Snap.angle\n [ method ]\n **\n * Returns an angle between two or three points\n - x1 (number) x coord of first point\n - y1 (number) y coord of first point\n - x2 (number) x coord of second point\n - y2 (number) y coord of second point\n - x3 (number) #optional x coord of third point\n - y3 (number) #optional y coord of third point\n = (number) angle in degrees\n\\*/\nSnap.angle = angle;\n/*\\\n * Snap.len\n [ method ]\n **\n * Returns distance between two points\n - x1 (number) x coord of first point\n - y1 (number) y coord of first point\n - x2 (number) x coord of second point\n - y2 (number) y coord of second point\n = (number) distance\n\\*/\nSnap.len = function (x1, y1, x2, y2) {\n return Math.sqrt(Snap.len2(x1, y1, x2, y2));\n};\n/*\\\n * Snap.len2\n [ method ]\n **\n * Returns squared distance between two points\n - x1 (number) x coord of first point\n - y1 (number) y coord of first point\n - x2 (number) x coord of second point\n - y2 (number) y coord of second point\n = (number) distance\n\\*/\nSnap.len2 = function (x1, y1, x2, y2) {\n return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);\n};\n/*\\\n * Snap.closestPoint\n [ method ]\n **\n * Returns closest point to a given one on a given path.\n - path (Element) path element\n - x (number) x coord of a point\n - y (number) y coord of a point\n = (object) in format\n {\n x (number) x coord of the point on the path\n y (number) y coord of the point on the path\n length (number) length of the path to the point\n distance (number) distance from the given point to the path\n }\n\\*/\n// Copied from http://bl.ocks.org/mbostock/8027637\nSnap.closestPoint = function (path, x, y) {\n function distance2(p) {\n var dx = p.x - x,\n dy = p.y - y;\n return dx * dx + dy * dy;\n }\n var pathNode = path.node,\n pathLength = pathNode.getTotalLength(),\n precision = pathLength / pathNode.pathSegList.numberOfItems * .125,\n best,\n bestLength,\n bestDistance = Infinity;\n\n // linear scan for coarse approximation\n for (var scan, scanLength = 0, scanDistance; scanLength <= pathLength; scanLength += precision) {\n if ((scanDistance = distance2(scan = pathNode.getPointAtLength(scanLength))) < bestDistance) {\n best = scan;\n bestLength = scanLength;\n bestDistance = scanDistance;\n }\n }\n\n // binary search for precise estimate\n precision *= .5;\n while (precision > .5) {\n var before,\n after,\n beforeLength,\n afterLength,\n beforeDistance,\n afterDistance;\n if ((beforeLength = bestLength - precision) >= 0 && (beforeDistance = distance2(before = pathNode.getPointAtLength(beforeLength))) < bestDistance) {\n best = before;\n bestLength = beforeLength;\n bestDistance = beforeDistance;\n } else if ((afterLength = bestLength + precision) <= pathLength && (afterDistance = distance2(after = pathNode.getPointAtLength(afterLength))) < bestDistance) {\n best = after;\n bestLength = afterLength;\n bestDistance = afterDistance;\n } else {\n precision *= .5;\n }\n }\n\n best = {\n x: best.x,\n y: best.y,\n length: bestLength,\n distance: Math.sqrt(bestDistance)\n };\n return best;\n}\n/*\\\n * Snap.is\n [ method ]\n **\n * Handy replacement for the `typeof` operator\n - o (…) any object or primitive\n - type (string) name of the type, e.g., `string`, `function`, `number`, etc.\n = (boolean) `true` if given value is of given type\n\\*/\nSnap.is = is;\n/*\\\n * Snap.snapTo\n [ method ]\n **\n * Snaps given value to given grid\n - values (array|number) given array of values or step of the grid\n - value (number) value to adjust\n - tolerance (number) #optional maximum distance to the target value that would trigger the snap. Default is `10`.\n = (number) adjusted value\n\\*/\nSnap.snapTo = function (values, value, tolerance) {\n tolerance = is(tolerance, \"finite\") ? tolerance : 10;\n if (is(values, \"array\")) {\n var i = values.length;\n while (i--) if (abs(values[i] - value) <= tolerance) {\n return values[i];\n }\n } else {\n values = +values;\n var rem = value % values;\n if (rem < tolerance) {\n return value - rem;\n }\n if (rem > values - tolerance) {\n return value - rem + values;\n }\n }\n return value;\n};\n// Colour\n/*\\\n * Snap.getRGB\n [ method ]\n **\n * Parses color string as RGB object\n - color (string) color string in one of the following formats:\n #
      \n #
    • Color name (red, green, cornflowerblue, etc)
    • \n #
    • #••• — shortened HTML color: (#000, #fc0, etc.)
    • \n #
    • #•••••• — full length HTML color: (#000000, #bd2300)
    • \n #
    • rgb(•••, •••, •••) — red, green and blue channels values: (rgb(200, 100, 0))
    • \n #
    • rgba(•••, •••, •••, •••) — also with opacity
    • \n #
    • rgb(•••%, •••%, •••%) — same as above, but in %: (rgb(100%, 175%, 0%))
    • \n #
    • rgba(•••%, •••%, •••%, •••%) — also with opacity
    • \n #
    • hsb(•••, •••, •••) — hue, saturation and brightness values: (hsb(0.5, 0.25, 1))
    • \n #
    • hsba(•••, •••, •••, •••) — also with opacity
    • \n #
    • hsb(•••%, •••%, •••%) — same as above, but in %
    • \n #
    • hsba(•••%, •••%, •••%, •••%) — also with opacity
    • \n #
    • hsl(•••, •••, •••) — hue, saturation and luminosity values: (hsb(0.5, 0.25, 0.5))
    • \n #
    • hsla(•••, •••, •••, •••) — also with opacity
    • \n #
    • hsl(•••%, •••%, •••%) — same as above, but in %
    • \n #
    • hsla(•••%, •••%, •••%, •••%) — also with opacity
    • \n #
    \n * Note that `%` can be used any time: `rgb(20%, 255, 50%)`.\n = (object) RGB object in the following format:\n o {\n o r (number) red,\n o g (number) green,\n o b (number) blue,\n o hex (string) color in HTML/CSS format: #••••••,\n o error (boolean) true if string can't be parsed\n o }\n\\*/\nSnap.getRGB = cacher(function (colour) {\n if (!colour || !!((colour = Str(colour)).indexOf(\"-\") + 1)) {\n return {r: -1, g: -1, b: -1, hex: \"none\", error: 1, toString: rgbtoString};\n }\n if (colour == \"none\") {\n return {r: -1, g: -1, b: -1, hex: \"none\", toString: rgbtoString};\n }\n !(hsrg[has](colour.toLowerCase().substring(0, 2)) || colour.charAt() == \"#\") && (colour = toHex(colour));\n if (!colour) {\n return {r: -1, g: -1, b: -1, hex: \"none\", error: 1, toString: rgbtoString};\n }\n var res,\n red,\n green,\n blue,\n opacity,\n t,\n values,\n rgb = colour.match(colourRegExp);\n if (rgb) {\n if (rgb[2]) {\n blue = toInt(rgb[2].substring(5), 16);\n green = toInt(rgb[2].substring(3, 5), 16);\n red = toInt(rgb[2].substring(1, 3), 16);\n }\n if (rgb[3]) {\n blue = toInt((t = rgb[3].charAt(3)) + t, 16);\n green = toInt((t = rgb[3].charAt(2)) + t, 16);\n red = toInt((t = rgb[3].charAt(1)) + t, 16);\n }\n if (rgb[4]) {\n values = rgb[4].split(commaSpaces);\n red = toFloat(values[0]);\n values[0].slice(-1) == \"%\" && (red *= 2.55);\n green = toFloat(values[1]);\n values[1].slice(-1) == \"%\" && (green *= 2.55);\n blue = toFloat(values[2]);\n values[2].slice(-1) == \"%\" && (blue *= 2.55);\n rgb[1].toLowerCase().slice(0, 4) == \"rgba\" && (opacity = toFloat(values[3]));\n values[3] && values[3].slice(-1) == \"%\" && (opacity /= 100);\n }\n if (rgb[5]) {\n values = rgb[5].split(commaSpaces);\n red = toFloat(values[0]);\n values[0].slice(-1) == \"%\" && (red /= 100);\n green = toFloat(values[1]);\n values[1].slice(-1) == \"%\" && (green /= 100);\n blue = toFloat(values[2]);\n values[2].slice(-1) == \"%\" && (blue /= 100);\n (values[0].slice(-3) == \"deg\" || values[0].slice(-1) == \"\\xb0\") && (red /= 360);\n rgb[1].toLowerCase().slice(0, 4) == \"hsba\" && (opacity = toFloat(values[3]));\n values[3] && values[3].slice(-1) == \"%\" && (opacity /= 100);\n return Snap.hsb2rgb(red, green, blue, opacity);\n }\n if (rgb[6]) {\n values = rgb[6].split(commaSpaces);\n red = toFloat(values[0]);\n values[0].slice(-1) == \"%\" && (red /= 100);\n green = toFloat(values[1]);\n values[1].slice(-1) == \"%\" && (green /= 100);\n blue = toFloat(values[2]);\n values[2].slice(-1) == \"%\" && (blue /= 100);\n (values[0].slice(-3) == \"deg\" || values[0].slice(-1) == \"\\xb0\") && (red /= 360);\n rgb[1].toLowerCase().slice(0, 4) == \"hsla\" && (opacity = toFloat(values[3]));\n values[3] && values[3].slice(-1) == \"%\" && (opacity /= 100);\n return Snap.hsl2rgb(red, green, blue, opacity);\n }\n red = mmin(math.round(red), 255);\n green = mmin(math.round(green), 255);\n blue = mmin(math.round(blue), 255);\n opacity = mmin(mmax(opacity, 0), 1);\n rgb = {r: red, g: green, b: blue, toString: rgbtoString};\n rgb.hex = \"#\" + (16777216 | blue | green << 8 | red << 16).toString(16).slice(1);\n rgb.opacity = is(opacity, \"finite\") ? opacity : 1;\n return rgb;\n }\n return {r: -1, g: -1, b: -1, hex: \"none\", error: 1, toString: rgbtoString};\n}, Snap);\n/*\\\n * Snap.hsb\n [ method ]\n **\n * Converts HSB values to a hex representation of the color\n - h (number) hue\n - s (number) saturation\n - b (number) value or brightness\n = (string) hex representation of the color\n\\*/\nSnap.hsb = cacher(function (h, s, b) {\n return Snap.hsb2rgb(h, s, b).hex;\n});\n/*\\\n * Snap.hsl\n [ method ]\n **\n * Converts HSL values to a hex representation of the color\n - h (number) hue\n - s (number) saturation\n - l (number) luminosity\n = (string) hex representation of the color\n\\*/\nSnap.hsl = cacher(function (h, s, l) {\n return Snap.hsl2rgb(h, s, l).hex;\n});\n/*\\\n * Snap.rgb\n [ method ]\n **\n * Converts RGB values to a hex representation of the color\n - r (number) red\n - g (number) green\n - b (number) blue\n = (string) hex representation of the color\n\\*/\nSnap.rgb = cacher(function (r, g, b, o) {\n if (is(o, \"finite\")) {\n var round = math.round;\n return \"rgba(\" + [round(r), round(g), round(b), +o.toFixed(2)] + \")\";\n }\n return \"#\" + (16777216 | b | g << 8 | r << 16).toString(16).slice(1);\n});\nvar toHex = function (color) {\n var i = glob.doc.getElementsByTagName(\"head\")[0] || glob.doc.getElementsByTagName(\"svg\")[0],\n red = \"rgb(255, 0, 0)\";\n toHex = cacher(function (color) {\n if (color.toLowerCase() == \"red\") {\n return red;\n }\n i.style.color = red;\n i.style.color = color;\n var out = glob.doc.defaultView.getComputedStyle(i, E).getPropertyValue(\"color\");\n return out == red ? null : out;\n });\n return toHex(color);\n},\nhsbtoString = function () {\n return \"hsb(\" + [this.h, this.s, this.b] + \")\";\n},\nhsltoString = function () {\n return \"hsl(\" + [this.h, this.s, this.l] + \")\";\n},\nrgbtoString = function () {\n return this.opacity == 1 || this.opacity == null ?\n this.hex :\n \"rgba(\" + [this.r, this.g, this.b, this.opacity] + \")\";\n},\nprepareRGB = function (r, g, b) {\n if (g == null && is(r, \"object\") && \"r\" in r && \"g\" in r && \"b\" in r) {\n b = r.b;\n g = r.g;\n r = r.r;\n }\n if (g == null && is(r, string)) {\n var clr = Snap.getRGB(r);\n r = clr.r;\n g = clr.g;\n b = clr.b;\n }\n if (r > 1 || g > 1 || b > 1) {\n r /= 255;\n g /= 255;\n b /= 255;\n }\n\n return [r, g, b];\n},\npackageRGB = function (r, g, b, o) {\n r = math.round(r * 255);\n g = math.round(g * 255);\n b = math.round(b * 255);\n var rgb = {\n r: r,\n g: g,\n b: b,\n opacity: is(o, \"finite\") ? o : 1,\n hex: Snap.rgb(r, g, b),\n toString: rgbtoString\n };\n is(o, \"finite\") && (rgb.opacity = o);\n return rgb;\n};\n/*\\\n * Snap.color\n [ method ]\n **\n * Parses the color string and returns an object featuring the color's component values\n - clr (string) color string in one of the supported formats (see @Snap.getRGB)\n = (object) Combined RGB/HSB object in the following format:\n o {\n o r (number) red,\n o g (number) green,\n o b (number) blue,\n o hex (string) color in HTML/CSS format: #••••••,\n o error (boolean) `true` if string can't be parsed,\n o h (number) hue,\n o s (number) saturation,\n o v (number) value (brightness),\n o l (number) lightness\n o }\n\\*/\nSnap.color = function (clr) {\n var rgb;\n if (is(clr, \"object\") && \"h\" in clr && \"s\" in clr && \"b\" in clr) {\n rgb = Snap.hsb2rgb(clr);\n clr.r = rgb.r;\n clr.g = rgb.g;\n clr.b = rgb.b;\n clr.opacity = 1;\n clr.hex = rgb.hex;\n } else if (is(clr, \"object\") && \"h\" in clr && \"s\" in clr && \"l\" in clr) {\n rgb = Snap.hsl2rgb(clr);\n clr.r = rgb.r;\n clr.g = rgb.g;\n clr.b = rgb.b;\n clr.opacity = 1;\n clr.hex = rgb.hex;\n } else {\n if (is(clr, \"string\")) {\n clr = Snap.getRGB(clr);\n }\n if (is(clr, \"object\") && \"r\" in clr && \"g\" in clr && \"b\" in clr && !(\"error\" in clr)) {\n rgb = Snap.rgb2hsl(clr);\n clr.h = rgb.h;\n clr.s = rgb.s;\n clr.l = rgb.l;\n rgb = Snap.rgb2hsb(clr);\n clr.v = rgb.b;\n } else {\n clr = {hex: \"none\"};\n clr.r = clr.g = clr.b = clr.h = clr.s = clr.v = clr.l = -1;\n clr.error = 1;\n }\n }\n clr.toString = rgbtoString;\n return clr;\n};\n/*\\\n * Snap.hsb2rgb\n [ method ]\n **\n * Converts HSB values to an RGB object\n - h (number) hue\n - s (number) saturation\n - v (number) value or brightness\n = (object) RGB object in the following format:\n o {\n o r (number) red,\n o g (number) green,\n o b (number) blue,\n o hex (string) color in HTML/CSS format: #••••••\n o }\n\\*/\nSnap.hsb2rgb = function (h, s, v, o) {\n if (is(h, \"object\") && \"h\" in h && \"s\" in h && \"b\" in h) {\n v = h.b;\n s = h.s;\n o = h.o;\n h = h.h;\n }\n h *= 360;\n var R, G, B, X, C;\n h = h % 360 / 60;\n C = v * s;\n X = C * (1 - abs(h % 2 - 1));\n R = G = B = v - C;\n\n h = ~~h;\n R += [C, X, 0, 0, X, C][h];\n G += [X, C, C, X, 0, 0][h];\n B += [0, 0, X, C, C, X][h];\n return packageRGB(R, G, B, o);\n};\n/*\\\n * Snap.hsl2rgb\n [ method ]\n **\n * Converts HSL values to an RGB object\n - h (number) hue\n - s (number) saturation\n - l (number) luminosity\n = (object) RGB object in the following format:\n o {\n o r (number) red,\n o g (number) green,\n o b (number) blue,\n o hex (string) color in HTML/CSS format: #••••••\n o }\n\\*/\nSnap.hsl2rgb = function (h, s, l, o) {\n if (is(h, \"object\") && \"h\" in h && \"s\" in h && \"l\" in h) {\n l = h.l;\n s = h.s;\n h = h.h;\n }\n if (h > 1 || s > 1 || l > 1) {\n h /= 360;\n s /= 100;\n l /= 100;\n }\n h *= 360;\n var R, G, B, X, C;\n h = h % 360 / 60;\n C = 2 * s * (l < .5 ? l : 1 - l);\n X = C * (1 - abs(h % 2 - 1));\n R = G = B = l - C / 2;\n\n h = ~~h;\n R += [C, X, 0, 0, X, C][h];\n G += [X, C, C, X, 0, 0][h];\n B += [0, 0, X, C, C, X][h];\n return packageRGB(R, G, B, o);\n};\n/*\\\n * Snap.rgb2hsb\n [ method ]\n **\n * Converts RGB values to an HSB object\n - r (number) red\n - g (number) green\n - b (number) blue\n = (object) HSB object in the following format:\n o {\n o h (number) hue,\n o s (number) saturation,\n o b (number) brightness\n o }\n\\*/\nSnap.rgb2hsb = function (r, g, b) {\n b = prepareRGB(r, g, b);\n r = b[0];\n g = b[1];\n b = b[2];\n\n var H, S, V, C;\n V = mmax(r, g, b);\n C = V - mmin(r, g, b);\n H = C == 0 ? null :\n V == r ? (g - b) / C :\n V == g ? (b - r) / C + 2 :\n (r - g) / C + 4;\n H = (H + 360) % 6 * 60 / 360;\n S = C == 0 ? 0 : C / V;\n return {h: H, s: S, b: V, toString: hsbtoString};\n};\n/*\\\n * Snap.rgb2hsl\n [ method ]\n **\n * Converts RGB values to an HSL object\n - r (number) red\n - g (number) green\n - b (number) blue\n = (object) HSL object in the following format:\n o {\n o h (number) hue,\n o s (number) saturation,\n o l (number) luminosity\n o }\n\\*/\nSnap.rgb2hsl = function (r, g, b) {\n b = prepareRGB(r, g, b);\n r = b[0];\n g = b[1];\n b = b[2];\n\n var H, S, L, M, m, C;\n M = mmax(r, g, b);\n m = mmin(r, g, b);\n C = M - m;\n H = C == 0 ? null :\n M == r ? (g - b) / C :\n M == g ? (b - r) / C + 2 :\n (r - g) / C + 4;\n H = (H + 360) % 6 * 60 / 360;\n L = (M + m) / 2;\n S = C == 0 ? 0 :\n L < .5 ? C / (2 * L) :\n C / (2 - 2 * L);\n return {h: H, s: S, l: L, toString: hsltoString};\n};\n\n// Transformations\n/*\\\n * Snap.parsePathString\n [ method ]\n **\n * Utility method\n **\n * Parses given path string into an array of arrays of path segments\n - pathString (string|array) path string or array of segments (in the last case it is returned straight away)\n = (array) array of segments\n\\*/\nSnap.parsePathString = function (pathString) {\n if (!pathString) {\n return null;\n }\n var pth = Snap.path(pathString);\n if (pth.arr) {\n return Snap.path.clone(pth.arr);\n }\n\n var paramCounts = {a: 7, c: 6, o: 2, h: 1, l: 2, m: 2, r: 4, q: 4, s: 4, t: 2, v: 1, u: 3, z: 0},\n data = [];\n if (is(pathString, \"array\") && is(pathString[0], \"array\")) { // rough assumption\n data = Snap.path.clone(pathString);\n }\n if (!data.length) {\n Str(pathString).replace(pathCommand, function (a, b, c) {\n var params = [],\n name = b.toLowerCase();\n c.replace(pathValues, function (a, b) {\n b && params.push(+b);\n });\n if (name == \"m\" && params.length > 2) {\n data.push([b].concat(params.splice(0, 2)));\n name = \"l\";\n b = b == \"m\" ? \"l\" : \"L\";\n }\n if (name == \"o\" && params.length == 1) {\n data.push([b, params[0]]);\n }\n if (name == \"r\") {\n data.push([b].concat(params));\n } else while (params.length >= paramCounts[name]) {\n data.push([b].concat(params.splice(0, paramCounts[name])));\n if (!paramCounts[name]) {\n break;\n }\n }\n });\n }\n data.toString = Snap.path.toString;\n pth.arr = Snap.path.clone(data);\n return data;\n};\n/*\\\n * Snap.parseTransformString\n [ method ]\n **\n * Utility method\n **\n * Parses given transform string into an array of transformations\n - TString (string|array) transform string or array of transformations (in the last case it is returned straight away)\n = (array) array of transformations\n\\*/\nvar parseTransformString = Snap.parseTransformString = function (TString) {\n if (!TString) {\n return null;\n }\n var paramCounts = {r: 3, s: 4, t: 2, m: 6},\n data = [];\n if (is(TString, \"array\") && is(TString[0], \"array\")) { // rough assumption\n data = Snap.path.clone(TString);\n }\n if (!data.length) {\n Str(TString).replace(tCommand, function (a, b, c) {\n var params = [],\n name = b.toLowerCase();\n c.replace(pathValues, function (a, b) {\n b && params.push(+b);\n });\n data.push([b].concat(params));\n });\n }\n data.toString = Snap.path.toString;\n return data;\n};\nfunction svgTransform2string(tstr) {\n var res = [];\n tstr = tstr.replace(/(?:^|\\s)(\\w+)\\(([^)]+)\\)/g, function (all, name, params) {\n params = params.split(/\\s*,\\s*|\\s+/);\n if (name == \"rotate\" && params.length == 1) {\n params.push(0, 0);\n }\n if (name == \"scale\") {\n if (params.length > 2) {\n params = params.slice(0, 2);\n } else if (params.length == 2) {\n params.push(0, 0);\n }\n if (params.length == 1) {\n params.push(params[0], 0, 0);\n }\n }\n if (name == \"skewX\") {\n res.push([\"m\", 1, 0, math.tan(rad(params[0])), 1, 0, 0]);\n } else if (name == \"skewY\") {\n res.push([\"m\", 1, math.tan(rad(params[0])), 0, 1, 0, 0]);\n } else {\n res.push([name.charAt(0)].concat(params));\n }\n return all;\n });\n return res;\n}\nSnap._.svgTransform2string = svgTransform2string;\nSnap._.rgTransform = /^[a-z][\\s]*-?\\.?\\d/i;\nfunction transform2matrix(tstr, bbox) {\n var tdata = parseTransformString(tstr),\n m = new Snap.Matrix;\n if (tdata) {\n for (var i = 0, ii = tdata.length; i < ii; i++) {\n var t = tdata[i],\n tlen = t.length,\n command = Str(t[0]).toLowerCase(),\n absolute = t[0] != command,\n inver = absolute ? m.invert() : 0,\n x1,\n y1,\n x2,\n y2,\n bb;\n if (command == \"t\" && tlen == 2){\n m.translate(t[1], 0);\n } else if (command == \"t\" && tlen == 3) {\n if (absolute) {\n x1 = inver.x(0, 0);\n y1 = inver.y(0, 0);\n x2 = inver.x(t[1], t[2]);\n y2 = inver.y(t[1], t[2]);\n m.translate(x2 - x1, y2 - y1);\n } else {\n m.translate(t[1], t[2]);\n }\n } else if (command == \"r\") {\n if (tlen == 2) {\n bb = bb || bbox;\n m.rotate(t[1], bb.x + bb.width / 2, bb.y + bb.height / 2);\n } else if (tlen == 4) {\n if (absolute) {\n x2 = inver.x(t[2], t[3]);\n y2 = inver.y(t[2], t[3]);\n m.rotate(t[1], x2, y2);\n } else {\n m.rotate(t[1], t[2], t[3]);\n }\n }\n } else if (command == \"s\") {\n if (tlen == 2 || tlen == 3) {\n bb = bb || bbox;\n m.scale(t[1], t[tlen - 1], bb.x + bb.width / 2, bb.y + bb.height / 2);\n } else if (tlen == 4) {\n if (absolute) {\n x2 = inver.x(t[2], t[3]);\n y2 = inver.y(t[2], t[3]);\n m.scale(t[1], t[1], x2, y2);\n } else {\n m.scale(t[1], t[1], t[2], t[3]);\n }\n } else if (tlen == 5) {\n if (absolute) {\n x2 = inver.x(t[3], t[4]);\n y2 = inver.y(t[3], t[4]);\n m.scale(t[1], t[2], x2, y2);\n } else {\n m.scale(t[1], t[2], t[3], t[4]);\n }\n }\n } else if (command == \"m\" && tlen == 7) {\n m.add(t[1], t[2], t[3], t[4], t[5], t[6]);\n }\n }\n }\n return m;\n}\nSnap._.transform2matrix = transform2matrix;\nSnap._unit2px = unit2px;\nvar contains = glob.doc.contains || glob.doc.compareDocumentPosition ?\n function (a, b) {\n var adown = a.nodeType == 9 ? a.documentElement : a,\n bup = b && b.parentNode;\n return a == bup || !!(bup && bup.nodeType == 1 && (\n adown.contains ?\n adown.contains(bup) :\n a.compareDocumentPosition && a.compareDocumentPosition(bup) & 16\n ));\n } :\n function (a, b) {\n if (b) {\n while (b) {\n b = b.parentNode;\n if (b == a) {\n return true;\n }\n }\n }\n return false;\n };\nfunction getSomeDefs(el) {\n var p = el.node.ownerSVGElement && wrap(el.node.ownerSVGElement) ||\n el.node.parentNode && wrap(el.node.parentNode) ||\n Snap.select(\"svg\") ||\n Snap(0, 0),\n pdefs = p.select(\"defs\"),\n defs = pdefs == null ? false : pdefs.node;\n if (!defs) {\n defs = make(\"defs\", p.node).node;\n }\n return defs;\n}\nfunction getSomeSVG(el) {\n return el.node.ownerSVGElement && wrap(el.node.ownerSVGElement) || Snap.select(\"svg\");\n}\nSnap._.getSomeDefs = getSomeDefs;\nSnap._.getSomeSVG = getSomeSVG;\nfunction unit2px(el, name, value) {\n var svg = getSomeSVG(el).node,\n out = {},\n mgr = svg.querySelector(\".svg---mgr\");\n if (!mgr) {\n mgr = $(\"rect\");\n $(mgr, {x: -9e9, y: -9e9, width: 10, height: 10, \"class\": \"svg---mgr\", fill: \"none\"});\n svg.appendChild(mgr);\n }\n function getW(val) {\n if (val == null) {\n return E;\n }\n if (val == +val) {\n return val;\n }\n $(mgr, {width: val});\n try {\n return mgr.getBBox().width;\n } catch (e) {\n return 0;\n }\n }\n function getH(val) {\n if (val == null) {\n return E;\n }\n if (val == +val) {\n return val;\n }\n $(mgr, {height: val});\n try {\n return mgr.getBBox().height;\n } catch (e) {\n return 0;\n }\n }\n function set(nam, f) {\n if (name == null) {\n out[nam] = f(el.attr(nam) || 0);\n } else if (nam == name) {\n out = f(value == null ? el.attr(nam) || 0 : value);\n }\n }\n switch (el.type) {\n case \"rect\":\n set(\"rx\", getW);\n set(\"ry\", getH);\n case \"image\":\n set(\"width\", getW);\n set(\"height\", getH);\n case \"text\":\n set(\"x\", getW);\n set(\"y\", getH);\n break;\n case \"circle\":\n set(\"cx\", getW);\n set(\"cy\", getH);\n set(\"r\", getW);\n break;\n case \"ellipse\":\n set(\"cx\", getW);\n set(\"cy\", getH);\n set(\"rx\", getW);\n set(\"ry\", getH);\n break;\n case \"line\":\n set(\"x1\", getW);\n set(\"x2\", getW);\n set(\"y1\", getH);\n set(\"y2\", getH);\n break;\n case \"marker\":\n set(\"refX\", getW);\n set(\"markerWidth\", getW);\n set(\"refY\", getH);\n set(\"markerHeight\", getH);\n break;\n case \"radialGradient\":\n set(\"fx\", getW);\n set(\"fy\", getH);\n break;\n case \"tspan\":\n set(\"dx\", getW);\n set(\"dy\", getH);\n break;\n default:\n set(name, getW);\n }\n svg.removeChild(mgr);\n return out;\n}\n/*\\\n * Snap.select\n [ method ]\n **\n * Wraps a DOM element specified by CSS selector as @Element\n - query (string) CSS selector of the element\n = (Element) the current element\n\\*/\nSnap.select = function (query) {\n query = Str(query).replace(/([^\\\\]):/g, \"$1\\\\:\");\n return wrap(glob.doc.querySelector(query));\n};\n/*\\\n * Snap.selectAll\n [ method ]\n **\n * Wraps DOM elements specified by CSS selector as set or array of @Element\n - query (string) CSS selector of the element\n = (Element) the current element\n\\*/\nSnap.selectAll = function (query) {\n var nodelist = glob.doc.querySelectorAll(query),\n set = (Snap.set || Array)();\n for (var i = 0; i < nodelist.length; i++) {\n set.push(wrap(nodelist[i]));\n }\n return set;\n};\n\nfunction add2group(list) {\n if (!is(list, \"array\")) {\n list = Array.prototype.slice.call(arguments, 0);\n }\n var i = 0,\n j = 0,\n node = this.node;\n while (this[i]) delete this[i++];\n for (i = 0; i < list.length; i++) {\n if (list[i].type == \"set\") {\n list[i].forEach(function (el) {\n node.appendChild(el.node);\n });\n } else {\n node.appendChild(list[i].node);\n }\n }\n var children = node.childNodes;\n for (i = 0; i < children.length; i++) {\n this[j++] = wrap(children[i]);\n }\n return this;\n}\n// Hub garbage collector every 10s\nsetInterval(function () {\n for (var key in hub) if (hub[has](key)) {\n var el = hub[key],\n node = el.node;\n if (el.type != \"svg\" && !node.ownerSVGElement || el.type == \"svg\" && (!node.parentNode || \"ownerSVGElement\" in node.parentNode && !node.ownerSVGElement)) {\n delete hub[key];\n }\n }\n}, 1e4);\nfunction Element(el) {\n if (el.snap in hub) {\n return hub[el.snap];\n }\n var svg;\n try {\n svg = el.ownerSVGElement;\n } catch(e) {}\n /*\\\n * Element.node\n [ property (object) ]\n **\n * Gives you a reference to the DOM object, so you can assign event handlers or just mess around.\n > Usage\n | // draw a circle at coordinate 10,10 with radius of 10\n | var c = paper.circle(10, 10, 10);\n | c.node.onclick = function () {\n | c.attr(\"fill\", \"red\");\n | };\n \\*/\n this.node = el;\n if (svg) {\n this.paper = new Paper(svg);\n }\n /*\\\n * Element.type\n [ property (string) ]\n **\n * SVG tag name of the given element.\n \\*/\n this.type = el.tagName || el.nodeName;\n var id = this.id = ID(this);\n this.anims = {};\n this._ = {\n transform: []\n };\n el.snap = id;\n hub[id] = this;\n if (this.type == \"g\") {\n this.add = add2group;\n }\n if (this.type in {g: 1, mask: 1, pattern: 1, symbol: 1}) {\n for (var method in Paper.prototype) if (Paper.prototype[has](method)) {\n this[method] = Paper.prototype[method];\n }\n }\n}\n /*\\\n * Element.attr\n [ method ]\n **\n * Gets or sets given attributes of the element.\n **\n - params (object) contains key-value pairs of attributes you want to set\n * or\n - param (string) name of the attribute\n = (Element) the current element\n * or\n = (string) value of attribute\n > Usage\n | el.attr({\n | fill: \"#fc0\",\n | stroke: \"#000\",\n | strokeWidth: 2, // CamelCase...\n | \"fill-opacity\": 0.5, // or dash-separated names\n | width: \"*=2\" // prefixed values\n | });\n | console.log(el.attr(\"fill\")); // #fc0\n * Prefixed values in format `\"+=10\"` supported. All four operations\n * (`+`, `-`, `*` and `/`) could be used. Optionally you can use units for `+`\n * and `-`: `\"+=2em\"`.\n \\*/\n Element.prototype.attr = function (params, value) {\n var el = this,\n node = el.node;\n if (!params) {\n if (node.nodeType != 1) {\n return {\n text: node.nodeValue\n };\n }\n var attr = node.attributes,\n out = {};\n for (var i = 0, ii = attr.length; i < ii; i++) {\n out[attr[i].nodeName] = attr[i].nodeValue;\n }\n return out;\n }\n if (is(params, \"string\")) {\n if (arguments.length > 1) {\n var json = {};\n json[params] = value;\n params = json;\n } else {\n return eve(\"snap.util.getattr.\" + params, el).firstDefined();\n }\n }\n for (var att in params) {\n if (params[has](att)) {\n eve(\"snap.util.attr.\" + att, el, params[att]);\n }\n }\n return el;\n };\n/*\\\n * Snap.parse\n [ method ]\n **\n * Parses SVG fragment and converts it into a @Fragment\n **\n - svg (string) SVG string\n = (Fragment) the @Fragment\n\\*/\nSnap.parse = function (svg) {\n var f = glob.doc.createDocumentFragment(),\n full = true,\n div = glob.doc.createElement(\"div\");\n svg = Str(svg);\n if (!svg.match(/^\\s*<\\s*svg(?:\\s|>)/)) {\n svg = \"\" + svg + \"\";\n full = false;\n }\n div.innerHTML = svg;\n svg = div.getElementsByTagName(\"svg\")[0];\n if (svg) {\n if (full) {\n f = svg;\n } else {\n while (svg.firstChild) {\n f.appendChild(svg.firstChild);\n }\n }\n }\n return new Fragment(f);\n};\nfunction Fragment(frag) {\n this.node = frag;\n}\n/*\\\n * Snap.fragment\n [ method ]\n **\n * Creates a DOM fragment from a given list of elements or strings\n **\n - varargs (…) SVG string\n = (Fragment) the @Fragment\n\\*/\nSnap.fragment = function () {\n var args = Array.prototype.slice.call(arguments, 0),\n f = glob.doc.createDocumentFragment();\n for (var i = 0, ii = args.length; i < ii; i++) {\n var item = args[i];\n if (item.node && item.node.nodeType) {\n f.appendChild(item.node);\n }\n if (item.nodeType) {\n f.appendChild(item);\n }\n if (typeof item == \"string\") {\n f.appendChild(Snap.parse(item).node);\n }\n }\n return new Fragment(f);\n};\n\nfunction make(name, parent) {\n var res = $(name);\n parent.appendChild(res);\n var el = wrap(res);\n return el;\n}\nfunction Paper(w, h) {\n var res,\n desc,\n defs,\n proto = Paper.prototype;\n if (w && w.tagName && w.tagName.toLowerCase() == \"svg\") {\n if (w.snap in hub) {\n return hub[w.snap];\n }\n var doc = w.ownerDocument;\n res = new Element(w);\n desc = w.getElementsByTagName(\"desc\")[0];\n defs = w.getElementsByTagName(\"defs\")[0];\n if (!desc) {\n desc = $(\"desc\");\n desc.appendChild(doc.createTextNode(\"Created with Snap\"));\n res.node.appendChild(desc);\n }\n if (!defs) {\n defs = $(\"defs\");\n res.node.appendChild(defs);\n }\n res.defs = defs;\n for (var key in proto) if (proto[has](key)) {\n res[key] = proto[key];\n }\n res.paper = res.root = res;\n } else {\n res = make(\"svg\", glob.doc.body);\n $(res.node, {\n height: h,\n version: 1.1,\n width: w,\n xmlns: xmlns\n });\n }\n return res;\n}\nfunction wrap(dom) {\n if (!dom) {\n return dom;\n }\n if (dom instanceof Element || dom instanceof Fragment) {\n return dom;\n }\n if (dom.tagName && dom.tagName.toLowerCase() == \"svg\") {\n return new Paper(dom);\n }\n if (dom.tagName && dom.tagName.toLowerCase() == \"object\" && dom.type == \"image/svg+xml\") {\n return new Paper(dom.contentDocument.getElementsByTagName(\"svg\")[0]);\n }\n return new Element(dom);\n}\n\nSnap._.make = make;\nSnap._.wrap = wrap;\n/*\\\n * Paper.el\n [ method ]\n **\n * Creates an element on paper with a given name and no attributes\n **\n - name (string) tag name\n - attr (object) attributes\n = (Element) the current element\n > Usage\n | var c = paper.circle(10, 10, 10); // is the same as...\n | var c = paper.el(\"circle\").attr({\n | cx: 10,\n | cy: 10,\n | r: 10\n | });\n | // and the same as\n | var c = paper.el(\"circle\", {\n | cx: 10,\n | cy: 10,\n | r: 10\n | });\n\\*/\nPaper.prototype.el = function (name, attr) {\n var el = make(name, this.node);\n attr && el.attr(attr);\n return el;\n};\n/*\\\n * Element.children\n [ method ]\n **\n * Returns array of all the children of the element.\n = (array) array of Elements\n\\*/\nElement.prototype.children = function () {\n var out = [],\n ch = this.node.childNodes;\n for (var i = 0, ii = ch.length; i < ii; i++) {\n out[i] = Snap(ch[i]);\n }\n return out;\n};\nfunction jsonFiller(root, o) {\n for (var i = 0, ii = root.length; i < ii; i++) {\n var item = {\n type: root[i].type,\n attr: root[i].attr()\n },\n children = root[i].children();\n o.push(item);\n if (children.length) {\n jsonFiller(children, item.childNodes = []);\n }\n }\n}\n/*\\\n * Element.toJSON\n [ method ]\n **\n * Returns object representation of the given element and all its children.\n = (object) in format\n o {\n o type (string) this.type,\n o attr (object) attributes map,\n o childNodes (array) optional array of children in the same format\n o }\n\\*/\nElement.prototype.toJSON = function () {\n var out = [];\n jsonFiller([this], out);\n return out[0];\n};\n// default\neve.on(\"snap.util.getattr\", function () {\n var att = eve.nt();\n att = att.substring(att.lastIndexOf(\".\") + 1);\n var css = att.replace(/[A-Z]/g, function (letter) {\n return \"-\" + letter.toLowerCase();\n });\n if (cssAttr[has](css)) {\n return this.node.ownerDocument.defaultView.getComputedStyle(this.node, null).getPropertyValue(css);\n } else {\n return $(this.node, att);\n }\n});\nvar cssAttr = {\n \"alignment-baseline\": 0,\n \"baseline-shift\": 0,\n \"clip\": 0,\n \"clip-path\": 0,\n \"clip-rule\": 0,\n \"color\": 0,\n \"color-interpolation\": 0,\n \"color-interpolation-filters\": 0,\n \"color-profile\": 0,\n \"color-rendering\": 0,\n \"cursor\": 0,\n \"direction\": 0,\n \"display\": 0,\n \"dominant-baseline\": 0,\n \"enable-background\": 0,\n \"fill\": 0,\n \"fill-opacity\": 0,\n \"fill-rule\": 0,\n \"filter\": 0,\n \"flood-color\": 0,\n \"flood-opacity\": 0,\n \"font\": 0,\n \"font-family\": 0,\n \"font-size\": 0,\n \"font-size-adjust\": 0,\n \"font-stretch\": 0,\n \"font-style\": 0,\n \"font-variant\": 0,\n \"font-weight\": 0,\n \"glyph-orientation-horizontal\": 0,\n \"glyph-orientation-vertical\": 0,\n \"image-rendering\": 0,\n \"kerning\": 0,\n \"letter-spacing\": 0,\n \"lighting-color\": 0,\n \"marker\": 0,\n \"marker-end\": 0,\n \"marker-mid\": 0,\n \"marker-start\": 0,\n \"mask\": 0,\n \"opacity\": 0,\n \"overflow\": 0,\n \"pointer-events\": 0,\n \"shape-rendering\": 0,\n \"stop-color\": 0,\n \"stop-opacity\": 0,\n \"stroke\": 0,\n \"stroke-dasharray\": 0,\n \"stroke-dashoffset\": 0,\n \"stroke-linecap\": 0,\n \"stroke-linejoin\": 0,\n \"stroke-miterlimit\": 0,\n \"stroke-opacity\": 0,\n \"stroke-width\": 0,\n \"text-anchor\": 0,\n \"text-decoration\": 0,\n \"text-rendering\": 0,\n \"unicode-bidi\": 0,\n \"visibility\": 0,\n \"word-spacing\": 0,\n \"writing-mode\": 0\n};\n\neve.on(\"snap.util.attr\", function (value) {\n var att = eve.nt(),\n attr = {};\n att = att.substring(att.lastIndexOf(\".\") + 1);\n attr[att] = value;\n var style = att.replace(/-(\\w)/gi, function (all, letter) {\n return letter.toUpperCase();\n }),\n css = att.replace(/[A-Z]/g, function (letter) {\n return \"-\" + letter.toLowerCase();\n });\n if (cssAttr[has](css)) {\n this.node.style[style] = value == null ? E : value;\n } else {\n $(this.node, attr);\n }\n});\n(function (proto) {}(Paper.prototype));\n\n// simple ajax\n/*\\\n * Snap.ajax\n [ method ]\n **\n * Simple implementation of Ajax\n **\n - url (string) URL\n - postData (object|string) data for post request\n - callback (function) callback\n - scope (object) #optional scope of callback\n * or\n - url (string) URL\n - callback (function) callback\n - scope (object) #optional scope of callback\n = (XMLHttpRequest) the XMLHttpRequest object, just in case\n\\*/\nSnap.ajax = function (url, postData, callback, scope){\n var req = new XMLHttpRequest,\n id = ID();\n if (req) {\n if (is(postData, \"function\")) {\n scope = callback;\n callback = postData;\n postData = null;\n } else if (is(postData, \"object\")) {\n var pd = [];\n for (var key in postData) if (postData.hasOwnProperty(key)) {\n pd.push(encodeURIComponent(key) + \"=\" + encodeURIComponent(postData[key]));\n }\n postData = pd.join(\"&\");\n }\n req.open(postData ? \"POST\" : \"GET\", url, true);\n if (postData) {\n req.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n req.setRequestHeader(\"Content-type\", \"application/x-www-form-urlencoded\");\n }\n if (callback) {\n eve.once(\"snap.ajax.\" + id + \".0\", callback);\n eve.once(\"snap.ajax.\" + id + \".200\", callback);\n eve.once(\"snap.ajax.\" + id + \".304\", callback);\n }\n req.onreadystatechange = function() {\n if (req.readyState != 4) return;\n eve(\"snap.ajax.\" + id + \".\" + req.status, scope, req);\n };\n if (req.readyState == 4) {\n return req;\n }\n req.send(postData);\n return req;\n }\n};\n/*\\\n * Snap.load\n [ method ]\n **\n * Loads external SVG file as a @Fragment (see @Snap.ajax for more advanced AJAX)\n **\n - url (string) URL\n - callback (function) callback\n - scope (object) #optional scope of callback\n\\*/\nSnap.load = function (url, callback, scope) {\n Snap.ajax(url, function (req) {\n var f = Snap.parse(req.responseText);\n scope ? callback.call(scope, f) : callback(f);\n });\n};\nvar getOffset = function (elem) {\n var box = elem.getBoundingClientRect(),\n doc = elem.ownerDocument,\n body = doc.body,\n docElem = doc.documentElement,\n clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0,\n top = box.top + (g.win.pageYOffset || docElem.scrollTop || body.scrollTop ) - clientTop,\n left = box.left + (g.win.pageXOffset || docElem.scrollLeft || body.scrollLeft) - clientLeft;\n return {\n y: top,\n x: left\n };\n};\n/*\\\n * Snap.getElementByPoint\n [ method ]\n **\n * Returns you topmost element under given point.\n **\n = (object) Snap element object\n - x (number) x coordinate from the top left corner of the window\n - y (number) y coordinate from the top left corner of the window\n > Usage\n | Snap.getElementByPoint(mouseX, mouseY).attr({stroke: \"#f00\"});\n\\*/\nSnap.getElementByPoint = function (x, y) {\n var paper = this,\n svg = paper.canvas,\n target = glob.doc.elementFromPoint(x, y);\n if (glob.win.opera && target.tagName == \"svg\") {\n var so = getOffset(target),\n sr = target.createSVGRect();\n sr.x = x - so.x;\n sr.y = y - so.y;\n sr.width = sr.height = 1;\n var hits = target.getIntersectionList(sr, null);\n if (hits.length) {\n target = hits[hits.length - 1];\n }\n }\n if (!target) {\n return null;\n }\n return wrap(target);\n};\n/*\\\n * Snap.plugin\n [ method ]\n **\n * Let you write plugins. You pass in a function with five arguments, like this:\n | Snap.plugin(function (Snap, Element, Paper, global, Fragment) {\n | Snap.newmethod = function () {};\n | Element.prototype.newmethod = function () {};\n | Paper.prototype.newmethod = function () {};\n | });\n * Inside the function you have access to all main objects (and their\n * prototypes). This allow you to extend anything you want.\n **\n - f (function) your plugin body\n\\*/\nSnap.plugin = function (f) {\n f(Snap, Element, Paper, glob, Fragment);\n};\nglob.win.Snap = Snap;\nreturn Snap;\n}(window || this));\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var elproto = Element.prototype,\n is = Snap.is,\n Str = String,\n unit2px = Snap._unit2px,\n $ = Snap._.$,\n make = Snap._.make,\n getSomeDefs = Snap._.getSomeDefs,\n has = \"hasOwnProperty\",\n wrap = Snap._.wrap;\n /*\\\n * Element.getBBox\n [ method ]\n **\n * Returns the bounding box descriptor for the given element\n **\n = (object) bounding box descriptor:\n o {\n o cx: (number) x of the center,\n o cy: (number) x of the center,\n o h: (number) height,\n o height: (number) height,\n o path: (string) path command for the box,\n o r0: (number) radius of a circle that fully encloses the box,\n o r1: (number) radius of the smallest circle that can be enclosed,\n o r2: (number) radius of the largest circle that can be enclosed,\n o vb: (string) box as a viewbox command,\n o w: (number) width,\n o width: (number) width,\n o x2: (number) x of the right side,\n o x: (number) x of the left side,\n o y2: (number) y of the bottom edge,\n o y: (number) y of the top edge\n o }\n \\*/\n elproto.getBBox = function (isWithoutTransform) {\n if (this.type == \"tspan\") {\n return Snap._.box(this.node.getClientRects().item(0));\n }\n if (!Snap.Matrix || !Snap.path) {\n return this.node.getBBox();\n }\n var el = this,\n m = new Snap.Matrix;\n if (el.removed) {\n return Snap._.box();\n }\n while (el.type == \"use\") {\n if (!isWithoutTransform) {\n m = m.add(el.transform().localMatrix.translate(el.attr(\"x\") || 0, el.attr(\"y\") || 0));\n }\n if (el.original) {\n el = el.original;\n } else {\n var href = el.attr(\"xlink:href\");\n el = el.original = el.node.ownerDocument.getElementById(href.substring(href.indexOf(\"#\") + 1));\n }\n }\n var _ = el._,\n pathfinder = Snap.path.get[el.type] || Snap.path.get.deflt;\n try {\n if (isWithoutTransform) {\n _.bboxwt = pathfinder ? Snap.path.getBBox(el.realPath = pathfinder(el)) : Snap._.box(el.node.getBBox());\n return Snap._.box(_.bboxwt);\n } else {\n el.realPath = pathfinder(el);\n el.matrix = el.transform().localMatrix;\n _.bbox = Snap.path.getBBox(Snap.path.map(el.realPath, m.add(el.matrix)));\n return Snap._.box(_.bbox);\n }\n } catch (e) {\n // Firefox doesn’t give you bbox of hidden element\n return Snap._.box();\n }\n };\n var propString = function () {\n return this.string;\n };\n function extractTransform(el, tstr) {\n if (tstr == null) {\n var doReturn = true;\n if (el.type == \"linearGradient\" || el.type == \"radialGradient\") {\n tstr = el.node.getAttribute(\"gradientTransform\");\n } else if (el.type == \"pattern\") {\n tstr = el.node.getAttribute(\"patternTransform\");\n } else {\n tstr = el.node.getAttribute(\"transform\");\n }\n if (!tstr) {\n return new Snap.Matrix;\n }\n tstr = Snap._.svgTransform2string(tstr);\n } else {\n if (!Snap._.rgTransform.test(tstr)) {\n tstr = Snap._.svgTransform2string(tstr);\n } else {\n tstr = Str(tstr).replace(/\\.{3}|\\u2026/g, el._.transform || \"\");\n }\n if (is(tstr, \"array\")) {\n tstr = Snap.path ? Snap.path.toString.call(tstr) : Str(tstr);\n }\n el._.transform = tstr;\n }\n var m = Snap._.transform2matrix(tstr, el.getBBox(1));\n if (doReturn) {\n return m;\n } else {\n el.matrix = m;\n }\n }\n /*\\\n * Element.transform\n [ method ]\n **\n * Gets or sets transformation of the element\n **\n - tstr (string) transform string in Snap or SVG format\n = (Element) the current element\n * or\n = (object) transformation descriptor:\n o {\n o string (string) transform string,\n o globalMatrix (Matrix) matrix of all transformations applied to element or its parents,\n o localMatrix (Matrix) matrix of transformations applied only to the element,\n o diffMatrix (Matrix) matrix of difference between global and local transformations,\n o global (string) global transformation as string,\n o local (string) local transformation as string,\n o toString (function) returns `string` property\n o }\n \\*/\n elproto.transform = function (tstr) {\n var _ = this._;\n if (tstr == null) {\n var papa = this,\n global = new Snap.Matrix(this.node.getCTM()),\n local = extractTransform(this),\n ms = [local],\n m = new Snap.Matrix,\n i,\n localString = local.toTransformString(),\n string = Str(local) == Str(this.matrix) ?\n Str(_.transform) : localString;\n while (papa.type != \"svg\" && (papa = papa.parent())) {\n ms.push(extractTransform(papa));\n }\n i = ms.length;\n while (i--) {\n m.add(ms[i]);\n }\n return {\n string: string,\n globalMatrix: global,\n totalMatrix: m,\n localMatrix: local,\n diffMatrix: global.clone().add(local.invert()),\n global: global.toTransformString(),\n total: m.toTransformString(),\n local: localString,\n toString: propString\n };\n }\n if (tstr instanceof Snap.Matrix) {\n this.matrix = tstr;\n this._.transform = tstr.toTransformString();\n } else {\n extractTransform(this, tstr);\n }\n\n if (this.node) {\n if (this.type == \"linearGradient\" || this.type == \"radialGradient\") {\n $(this.node, {gradientTransform: this.matrix});\n } else if (this.type == \"pattern\") {\n $(this.node, {patternTransform: this.matrix});\n } else {\n $(this.node, {transform: this.matrix});\n }\n }\n\n return this;\n };\n /*\\\n * Element.parent\n [ method ]\n **\n * Returns the element's parent\n **\n = (Element) the parent element\n \\*/\n elproto.parent = function () {\n return wrap(this.node.parentNode);\n };\n /*\\\n * Element.append\n [ method ]\n **\n * Appends the given element to current one\n **\n - el (Element|Set) element to append\n = (Element) the parent element\n \\*/\n /*\\\n * Element.add\n [ method ]\n **\n * See @Element.append\n \\*/\n elproto.append = elproto.add = function (el) {\n if (el) {\n if (el.type == \"set\") {\n var it = this;\n el.forEach(function (el) {\n it.add(el);\n });\n return this;\n }\n el = wrap(el);\n this.node.appendChild(el.node);\n el.paper = this.paper;\n }\n return this;\n };\n /*\\\n * Element.appendTo\n [ method ]\n **\n * Appends the current element to the given one\n **\n - el (Element) parent element to append to\n = (Element) the child element\n \\*/\n elproto.appendTo = function (el) {\n if (el) {\n el = wrap(el);\n el.append(this);\n }\n return this;\n };\n /*\\\n * Element.prepend\n [ method ]\n **\n * Prepends the given element to the current one\n **\n - el (Element) element to prepend\n = (Element) the parent element\n \\*/\n elproto.prepend = function (el) {\n if (el) {\n if (el.type == \"set\") {\n var it = this,\n first;\n el.forEach(function (el) {\n if (first) {\n first.after(el);\n } else {\n it.prepend(el);\n }\n first = el;\n });\n return this;\n }\n el = wrap(el);\n var parent = el.parent();\n this.node.insertBefore(el.node, this.node.firstChild);\n this.add && this.add();\n el.paper = this.paper;\n this.parent() && this.parent().add();\n parent && parent.add();\n }\n return this;\n };\n /*\\\n * Element.prependTo\n [ method ]\n **\n * Prepends the current element to the given one\n **\n - el (Element) parent element to prepend to\n = (Element) the child element\n \\*/\n elproto.prependTo = function (el) {\n el = wrap(el);\n el.prepend(this);\n return this;\n };\n /*\\\n * Element.before\n [ method ]\n **\n * Inserts given element before the current one\n **\n - el (Element) element to insert\n = (Element) the parent element\n \\*/\n elproto.before = function (el) {\n if (el.type == \"set\") {\n var it = this;\n el.forEach(function (el) {\n var parent = el.parent();\n it.node.parentNode.insertBefore(el.node, it.node);\n parent && parent.add();\n });\n this.parent().add();\n return this;\n }\n el = wrap(el);\n var parent = el.parent();\n this.node.parentNode.insertBefore(el.node, this.node);\n this.parent() && this.parent().add();\n parent && parent.add();\n el.paper = this.paper;\n return this;\n };\n /*\\\n * Element.after\n [ method ]\n **\n * Inserts given element after the current one\n **\n - el (Element) element to insert\n = (Element) the parent element\n \\*/\n elproto.after = function (el) {\n el = wrap(el);\n var parent = el.parent();\n if (this.node.nextSibling) {\n this.node.parentNode.insertBefore(el.node, this.node.nextSibling);\n } else {\n this.node.parentNode.appendChild(el.node);\n }\n this.parent() && this.parent().add();\n parent && parent.add();\n el.paper = this.paper;\n return this;\n };\n /*\\\n * Element.insertBefore\n [ method ]\n **\n * Inserts the element after the given one\n **\n - el (Element) element next to whom insert to\n = (Element) the parent element\n \\*/\n elproto.insertBefore = function (el) {\n el = wrap(el);\n var parent = this.parent();\n el.node.parentNode.insertBefore(this.node, el.node);\n this.paper = el.paper;\n parent && parent.add();\n el.parent() && el.parent().add();\n return this;\n };\n /*\\\n * Element.insertAfter\n [ method ]\n **\n * Inserts the element after the given one\n **\n - el (Element) element next to whom insert to\n = (Element) the parent element\n \\*/\n elproto.insertAfter = function (el) {\n el = wrap(el);\n var parent = this.parent();\n el.node.parentNode.insertBefore(this.node, el.node.nextSibling);\n this.paper = el.paper;\n parent && parent.add();\n el.parent() && el.parent().add();\n return this;\n };\n /*\\\n * Element.remove\n [ method ]\n **\n * Removes element from the DOM\n = (Element) the detached element\n \\*/\n elproto.remove = function () {\n var parent = this.parent();\n this.node.parentNode && this.node.parentNode.removeChild(this.node);\n delete this.paper;\n this.removed = true;\n parent && parent.add();\n return this;\n };\n /*\\\n * Element.select\n [ method ]\n **\n * Gathers the nested @Element matching the given set of CSS selectors\n **\n - query (string) CSS selector\n = (Element) result of query selection\n \\*/\n elproto.select = function (query) {\n return wrap(this.node.querySelector(query));\n };\n /*\\\n * Element.selectAll\n [ method ]\n **\n * Gathers nested @Element objects matching the given set of CSS selectors\n **\n - query (string) CSS selector\n = (Set|array) result of query selection\n \\*/\n elproto.selectAll = function (query) {\n var nodelist = this.node.querySelectorAll(query),\n set = (Snap.set || Array)();\n for (var i = 0; i < nodelist.length; i++) {\n set.push(wrap(nodelist[i]));\n }\n return set;\n };\n /*\\\n * Element.asPX\n [ method ]\n **\n * Returns given attribute of the element as a `px` value (not %, em, etc.)\n **\n - attr (string) attribute name\n - value (string) #optional attribute value\n = (Element) result of query selection\n \\*/\n elproto.asPX = function (attr, value) {\n if (value == null) {\n value = this.attr(attr);\n }\n return +unit2px(this, attr, value);\n };\n // SIERRA Element.use(): I suggest adding a note about how to access the original element the returned instantiates. It's a part of SVG with which ordinary web developers may be least familiar.\n /*\\\n * Element.use\n [ method ]\n **\n * Creates a `` element linked to the current element\n **\n = (Element) the `` element\n \\*/\n elproto.use = function () {\n var use,\n id = this.node.id;\n if (!id) {\n id = this.id;\n $(this.node, {\n id: id\n });\n }\n if (this.type == \"linearGradient\" || this.type == \"radialGradient\" ||\n this.type == \"pattern\") {\n use = make(this.type, this.node.parentNode);\n } else {\n use = make(\"use\", this.node.parentNode);\n }\n $(use.node, {\n \"xlink:href\": \"#\" + id\n });\n use.original = this;\n return use;\n };\n function fixids(el) {\n var els = el.selectAll(\"*\"),\n it,\n url = /^\\s*url\\((\"|'|)(.*)\\1\\)\\s*$/,\n ids = [],\n uses = {};\n function urltest(it, name) {\n var val = $(it.node, name);\n val = val && val.match(url);\n val = val && val[2];\n if (val && val.charAt() == \"#\") {\n val = val.substring(1);\n } else {\n return;\n }\n if (val) {\n uses[val] = (uses[val] || []).concat(function (id) {\n var attr = {};\n attr[name] = Snap.url(id);\n $(it.node, attr);\n });\n }\n }\n function linktest(it) {\n var val = $(it.node, \"xlink:href\");\n if (val && val.charAt() == \"#\") {\n val = val.substring(1);\n } else {\n return;\n }\n if (val) {\n uses[val] = (uses[val] || []).concat(function (id) {\n it.attr(\"xlink:href\", \"#\" + id);\n });\n }\n }\n for (var i = 0, ii = els.length; i < ii; i++) {\n it = els[i];\n urltest(it, \"fill\");\n urltest(it, \"stroke\");\n urltest(it, \"filter\");\n urltest(it, \"mask\");\n urltest(it, \"clip-path\");\n linktest(it);\n var oldid = $(it.node, \"id\");\n if (oldid) {\n $(it.node, {id: it.id});\n ids.push({\n old: oldid,\n id: it.id\n });\n }\n }\n for (i = 0, ii = ids.length; i < ii; i++) {\n var fs = uses[ids[i].old];\n if (fs) {\n for (var j = 0, jj = fs.length; j < jj; j++) {\n fs[j](ids[i].id);\n }\n }\n }\n }\n /*\\\n * Element.clone\n [ method ]\n **\n * Creates a clone of the element and inserts it after the element\n **\n = (Element) the clone\n \\*/\n elproto.clone = function () {\n var clone = wrap(this.node.cloneNode(true));\n if ($(clone.node, \"id\")) {\n $(clone.node, {id: clone.id});\n }\n fixids(clone);\n clone.insertAfter(this);\n return clone;\n };\n /*\\\n * Element.toDefs\n [ method ]\n **\n * Moves element to the shared `` area\n **\n = (Element) the element\n \\*/\n elproto.toDefs = function () {\n var defs = getSomeDefs(this);\n defs.appendChild(this.node);\n return this;\n };\n /*\\\n * Element.toPattern\n [ method ]\n **\n * Creates a `` element from the current element\n **\n * To create a pattern you have to specify the pattern rect:\n - x (string|number)\n - y (string|number)\n - width (string|number)\n - height (string|number)\n = (Element) the `` element\n * You can use pattern later on as an argument for `fill` attribute:\n | var p = paper.path(\"M10-5-10,15M15,0,0,15M0-5-20,15\").attr({\n | fill: \"none\",\n | stroke: \"#bada55\",\n | strokeWidth: 5\n | }).pattern(0, 0, 10, 10),\n | c = paper.circle(200, 200, 100);\n | c.attr({\n | fill: p\n | });\n \\*/\n elproto.pattern = elproto.toPattern = function (x, y, width, height) {\n var p = make(\"pattern\", getSomeDefs(this));\n if (x == null) {\n x = this.getBBox();\n }\n if (is(x, \"object\") && \"x\" in x) {\n y = x.y;\n width = x.width;\n height = x.height;\n x = x.x;\n }\n $(p.node, {\n x: x,\n y: y,\n width: width,\n height: height,\n patternUnits: \"userSpaceOnUse\",\n id: p.id,\n viewBox: [x, y, width, height].join(\" \")\n });\n p.node.appendChild(this.node);\n return p;\n };\n// SIERRA Element.marker(): clarify what a reference point is. E.g., helps you offset the object from its edge such as when centering it over a path.\n// SIERRA Element.marker(): I suggest the method should accept default reference point values. Perhaps centered with (refX = width/2) and (refY = height/2)? Also, couldn't it assume the element's current _width_ and _height_? And please specify what _x_ and _y_ mean: offsets? If so, from where? Couldn't they also be assigned default values?\n /*\\\n * Element.marker\n [ method ]\n **\n * Creates a `` element from the current element\n **\n * To create a marker you have to specify the bounding rect and reference point:\n - x (number)\n - y (number)\n - width (number)\n - height (number)\n - refX (number)\n - refY (number)\n = (Element) the `` element\n * You can specify the marker later as an argument for `marker-start`, `marker-end`, `marker-mid`, and `marker` attributes. The `marker` attribute places the marker at every point along the path, and `marker-mid` places them at every point except the start and end.\n \\*/\n // TODO add usage for markers\n elproto.marker = function (x, y, width, height, refX, refY) {\n var p = make(\"marker\", getSomeDefs(this));\n if (x == null) {\n x = this.getBBox();\n }\n if (is(x, \"object\") && \"x\" in x) {\n y = x.y;\n width = x.width;\n height = x.height;\n refX = x.refX || x.cx;\n refY = x.refY || x.cy;\n x = x.x;\n }\n $(p.node, {\n viewBox: [x, y, width, height].join(\" \"),\n markerWidth: width,\n markerHeight: height,\n orient: \"auto\",\n refX: refX || 0,\n refY: refY || 0,\n id: p.id\n });\n p.node.appendChild(this.node);\n return p;\n };\n var eldata = {};\n /*\\\n * Element.data\n [ method ]\n **\n * Adds or retrieves given value associated with given key. (Don’t confuse\n * with `data-` attributes)\n *\n * See also @Element.removeData\n - key (string) key to store data\n - value (any) #optional value to store\n = (object) @Element\n * or, if value is not specified:\n = (any) value\n > Usage\n | for (var i = 0, i < 5, i++) {\n | paper.circle(10 + 15 * i, 10, 10)\n | .attr({fill: \"#000\"})\n | .data(\"i\", i)\n | .click(function () {\n | alert(this.data(\"i\"));\n | });\n | }\n \\*/\n elproto.data = function (key, value) {\n var data = eldata[this.id] = eldata[this.id] || {};\n if (arguments.length == 0){\n eve(\"snap.data.get.\" + this.id, this, data, null);\n return data;\n }\n if (arguments.length == 1) {\n if (Snap.is(key, \"object\")) {\n for (var i in key) if (key[has](i)) {\n this.data(i, key[i]);\n }\n return this;\n }\n eve(\"snap.data.get.\" + this.id, this, data[key], key);\n return data[key];\n }\n data[key] = value;\n eve(\"snap.data.set.\" + this.id, this, value, key);\n return this;\n };\n /*\\\n * Element.removeData\n [ method ]\n **\n * Removes value associated with an element by given key.\n * If key is not provided, removes all the data of the element.\n - key (string) #optional key\n = (object) @Element\n \\*/\n elproto.removeData = function (key) {\n if (key == null) {\n eldata[this.id] = {};\n } else {\n eldata[this.id] && delete eldata[this.id][key];\n }\n return this;\n };\n /*\\\n * Element.outerSVG\n [ method ]\n **\n * Returns SVG code for the element, equivalent to HTML's `outerHTML`.\n *\n * See also @Element.innerSVG\n = (string) SVG code for the element\n \\*/\n /*\\\n * Element.toString\n [ method ]\n **\n * See @Element.outerSVG\n \\*/\n elproto.outerSVG = elproto.toString = toString(1);\n /*\\\n * Element.innerSVG\n [ method ]\n **\n * Returns SVG code for the element's contents, equivalent to HTML's `innerHTML`\n = (string) SVG code for the element\n \\*/\n elproto.innerSVG = toString();\n function toString(type) {\n return function () {\n var res = type ? \"<\" + this.type : \"\",\n attr = this.node.attributes,\n chld = this.node.childNodes;\n if (type) {\n for (var i = 0, ii = attr.length; i < ii; i++) {\n res += \" \" + attr[i].name + '=\"' +\n attr[i].value.replace(/\"/g, '\\\\\"') + '\"';\n }\n }\n if (chld.length) {\n type && (res += \">\");\n for (i = 0, ii = chld.length; i < ii; i++) {\n if (chld[i].nodeType == 3) {\n res += chld[i].nodeValue;\n } else if (chld[i].nodeType == 1) {\n res += wrap(chld[i]).toString();\n }\n }\n type && (res += \"\");\n } else {\n type && (res += \"/>\");\n }\n return res;\n };\n }\n elproto.toDataURL = function () {\n if (window && window.btoa) {\n var bb = this.getBBox(),\n svg = Snap.format('{contents}', {\n x: +bb.x.toFixed(3),\n y: +bb.y.toFixed(3),\n width: +bb.width.toFixed(3),\n height: +bb.height.toFixed(3),\n contents: this.outerSVG()\n });\n return \"data:image/svg+xml;base64,\" + btoa(unescape(encodeURIComponent(svg)));\n }\n };\n /*\\\n * Fragment.select\n [ method ]\n **\n * See @Element.select\n \\*/\n Fragment.prototype.select = elproto.select;\n /*\\\n * Fragment.selectAll\n [ method ]\n **\n * See @Element.selectAll\n \\*/\n Fragment.prototype.selectAll = elproto.selectAll;\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var objectToString = Object.prototype.toString,\n Str = String,\n math = Math,\n E = \"\";\n function Matrix(a, b, c, d, e, f) {\n if (b == null && objectToString.call(a) == \"[object SVGMatrix]\") {\n this.a = a.a;\n this.b = a.b;\n this.c = a.c;\n this.d = a.d;\n this.e = a.e;\n this.f = a.f;\n return;\n }\n if (a != null) {\n this.a = +a;\n this.b = +b;\n this.c = +c;\n this.d = +d;\n this.e = +e;\n this.f = +f;\n } else {\n this.a = 1;\n this.b = 0;\n this.c = 0;\n this.d = 1;\n this.e = 0;\n this.f = 0;\n }\n }\n (function (matrixproto) {\n /*\\\n * Matrix.add\n [ method ]\n **\n * Adds the given matrix to existing one\n - a (number)\n - b (number)\n - c (number)\n - d (number)\n - e (number)\n - f (number)\n * or\n - matrix (object) @Matrix\n \\*/\n matrixproto.add = function (a, b, c, d, e, f) {\n if (a && a instanceof Matrix) {\n return this.add(a.a, a.b, a.c, a.d, a.e, a.f);\n }\n var aNew = a * this.a + b * this.c,\n bNew = a * this.b + b * this.d;\n this.e += e * this.a + f * this.c;\n this.f += e * this.b + f * this.d;\n this.c = c * this.a + d * this.c;\n this.d = c * this.b + d * this.d;\n\n this.a = aNew;\n this.b = bNew;\n return this;\n };\n /*\\\n * Matrix.multLeft\n [ method ]\n **\n * Multiplies a passed affine transform to the left: M * this.\n - a (number)\n - b (number)\n - c (number)\n - d (number)\n - e (number)\n - f (number)\n * or\n - matrix (object) @Matrix\n \\*/\n Matrix.prototype.multLeft = function (a, b, c, d, e, f) {\n if (a && a instanceof Matrix) {\n return this.multLeft(a.a, a.b, a.c, a.d, a.e, a.f);\n }\n var aNew = a * this.a + c * this.b,\n cNew = a * this.c + c * this.d,\n eNew = a * this.e + c * this.f + e;\n this.b = b * this.a + d * this.b;\n this.d = b * this.c + d * this.d;\n this.f = b * this.e + d * this.f + f;\n\n this.a = aNew;\n this.c = cNew;\n this.e = eNew;\n return this;\n };\n /*\\\n * Matrix.invert\n [ method ]\n **\n * Returns an inverted version of the matrix\n = (object) @Matrix\n \\*/\n matrixproto.invert = function () {\n var me = this,\n x = me.a * me.d - me.b * me.c;\n return new Matrix(me.d / x, -me.b / x, -me.c / x, me.a / x, (me.c * me.f - me.d * me.e) / x, (me.b * me.e - me.a * me.f) / x);\n };\n /*\\\n * Matrix.clone\n [ method ]\n **\n * Returns a copy of the matrix\n = (object) @Matrix\n \\*/\n matrixproto.clone = function () {\n return new Matrix(this.a, this.b, this.c, this.d, this.e, this.f);\n };\n /*\\\n * Matrix.translate\n [ method ]\n **\n * Translate the matrix\n - x (number) horizontal offset distance\n - y (number) vertical offset distance\n \\*/\n matrixproto.translate = function (x, y) {\n this.e += x * this.a + y * this.c;\n this.f += x * this.b + y * this.d;\n return this;\n };\n /*\\\n * Matrix.scale\n [ method ]\n **\n * Scales the matrix\n - x (number) amount to be scaled, with `1` resulting in no change\n - y (number) #optional amount to scale along the vertical axis. (Otherwise `x` applies to both axes.)\n - cx (number) #optional horizontal origin point from which to scale\n - cy (number) #optional vertical origin point from which to scale\n * Default cx, cy is the middle point of the element.\n \\*/\n matrixproto.scale = function (x, y, cx, cy) {\n y == null && (y = x);\n (cx || cy) && this.translate(cx, cy);\n this.a *= x;\n this.b *= x;\n this.c *= y;\n this.d *= y;\n (cx || cy) && this.translate(-cx, -cy);\n return this;\n };\n /*\\\n * Matrix.rotate\n [ method ]\n **\n * Rotates the matrix\n - a (number) angle of rotation, in degrees\n - x (number) horizontal origin point from which to rotate\n - y (number) vertical origin point from which to rotate\n \\*/\n matrixproto.rotate = function (a, x, y) {\n a = Snap.rad(a);\n x = x || 0;\n y = y || 0;\n var cos = +math.cos(a).toFixed(9),\n sin = +math.sin(a).toFixed(9);\n this.add(cos, sin, -sin, cos, x, y);\n return this.add(1, 0, 0, 1, -x, -y);\n };\n /*\\\n * Matrix.skewX\n [ method ]\n **\n * Skews the matrix along the x-axis\n - x (number) Angle to skew along the x-axis (in degrees).\n \\*/\n matrixproto.skewX = function (x) {\n return this.skew(x, 0);\n };\n /*\\\n * Matrix.skewY\n [ method ]\n **\n * Skews the matrix along the y-axis\n - y (number) Angle to skew along the y-axis (in degrees).\n \\*/\n matrixproto.skewY = function (y) {\n return this.skew(0, y);\n };\n /*\\\n * Matrix.skew\n [ method ]\n **\n * Skews the matrix\n - y (number) Angle to skew along the y-axis (in degrees).\n - x (number) Angle to skew along the x-axis (in degrees).\n \\*/\n matrixproto.skew = function (x, y) {\n x = x || 0;\n y = y || 0;\n x = Snap.rad(x);\n y = Snap.rad(y);\n var c = math.tan(x).toFixed(9);\n var b = math.tan(y).toFixed(9);\n return this.add(1, b, c, 1, 0, 0);\n };\n /*\\\n * Matrix.x\n [ method ]\n **\n * Returns x coordinate for given point after transformation described by the matrix. See also @Matrix.y\n - x (number)\n - y (number)\n = (number) x\n \\*/\n matrixproto.x = function (x, y) {\n return x * this.a + y * this.c + this.e;\n };\n /*\\\n * Matrix.y\n [ method ]\n **\n * Returns y coordinate for given point after transformation described by the matrix. See also @Matrix.x\n - x (number)\n - y (number)\n = (number) y\n \\*/\n matrixproto.y = function (x, y) {\n return x * this.b + y * this.d + this.f;\n };\n matrixproto.get = function (i) {\n return +this[Str.fromCharCode(97 + i)].toFixed(4);\n };\n matrixproto.toString = function () {\n return \"matrix(\" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)].join() + \")\";\n };\n matrixproto.offset = function () {\n return [this.e.toFixed(4), this.f.toFixed(4)];\n };\n function norm(a) {\n return a[0] * a[0] + a[1] * a[1];\n }\n function normalize(a) {\n var mag = math.sqrt(norm(a));\n a[0] && (a[0] /= mag);\n a[1] && (a[1] /= mag);\n }\n /*\\\n * Matrix.determinant\n [ method ]\n **\n * Finds determinant of the given matrix.\n = (number) determinant\n \\*/\n matrixproto.determinant = function () {\n return this.a * this.d - this.b * this.c;\n };\n /*\\\n * Matrix.split\n [ method ]\n **\n * Splits matrix into primitive transformations\n = (object) in format:\n o dx (number) translation by x\n o dy (number) translation by y\n o scalex (number) scale by x\n o scaley (number) scale by y\n o shear (number) shear\n o rotate (number) rotation in deg\n o isSimple (boolean) could it be represented via simple transformations\n \\*/\n matrixproto.split = function () {\n var out = {};\n // translation\n out.dx = this.e;\n out.dy = this.f;\n\n // scale and shear\n var row = [[this.a, this.b], [this.c, this.d]];\n out.scalex = math.sqrt(norm(row[0]));\n normalize(row[0]);\n\n out.shear = row[0][0] * row[1][0] + row[0][1] * row[1][1];\n row[1] = [row[1][0] - row[0][0] * out.shear, row[1][1] - row[0][1] * out.shear];\n\n out.scaley = math.sqrt(norm(row[1]));\n normalize(row[1]);\n out.shear /= out.scaley;\n\n if (this.determinant() < 0) {\n out.scalex = -out.scalex;\n }\n\n // rotation\n var sin = row[0][1],\n cos = row[1][1];\n if (cos < 0) {\n out.rotate = Snap.deg(math.acos(cos));\n if (sin < 0) {\n out.rotate = 360 - out.rotate;\n }\n } else {\n out.rotate = Snap.deg(math.asin(sin));\n }\n\n out.isSimple = !+out.shear.toFixed(9) && (out.scalex.toFixed(9) == out.scaley.toFixed(9) || !out.rotate);\n out.isSuperSimple = !+out.shear.toFixed(9) && out.scalex.toFixed(9) == out.scaley.toFixed(9) && !out.rotate;\n out.noRotation = !+out.shear.toFixed(9) && !out.rotate;\n return out;\n };\n /*\\\n * Matrix.toTransformString\n [ method ]\n **\n * Returns transform string that represents given matrix\n = (string) transform string\n \\*/\n matrixproto.toTransformString = function (shorter) {\n var s = shorter || this.split();\n if (!+s.shear.toFixed(9)) {\n s.scalex = +s.scalex.toFixed(4);\n s.scaley = +s.scaley.toFixed(4);\n s.rotate = +s.rotate.toFixed(4);\n return (s.dx || s.dy ? \"t\" + [+s.dx.toFixed(4), +s.dy.toFixed(4)] : E) +\n (s.rotate ? \"r\" + [+s.rotate.toFixed(4), 0, 0] : E) +\n (s.scalex != 1 || s.scaley != 1 ? \"s\" + [s.scalex, s.scaley, 0, 0] : E);\n } else {\n return \"m\" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)];\n }\n };\n })(Matrix.prototype);\n /*\\\n * Snap.Matrix\n [ method ]\n **\n * Matrix constructor, extend on your own risk.\n * To create matrices use @Snap.matrix.\n \\*/\n Snap.Matrix = Matrix;\n /*\\\n * Snap.matrix\n [ method ]\n **\n * Utility method\n **\n * Returns a matrix based on the given parameters\n - a (number)\n - b (number)\n - c (number)\n - d (number)\n - e (number)\n - f (number)\n * or\n - svgMatrix (SVGMatrix)\n = (object) @Matrix\n \\*/\n Snap.matrix = function (a, b, c, d, e, f) {\n return new Matrix(a, b, c, d, e, f);\n };\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var has = \"hasOwnProperty\",\n make = Snap._.make,\n wrap = Snap._.wrap,\n is = Snap.is,\n getSomeDefs = Snap._.getSomeDefs,\n reURLValue = /^url\\((['\"]?)([^)]+)\\1\\)$/,\n $ = Snap._.$,\n URL = Snap.url,\n Str = String,\n separator = Snap._.separator,\n E = \"\";\n /*\\\n * Snap.deurl\n [ method ]\n **\n * Unwraps path from `\"url()\"`.\n - value (string) url path\n = (string) unwrapped path\n \\*/\n Snap.deurl = function (value) {\n var res = String(value).match(reURLValue);\n return res ? res[2] : value;\n }\n // Attributes event handlers\n eve.on(\"snap.util.attr.mask\", function (value) {\n if (value instanceof Element || value instanceof Fragment) {\n eve.stop();\n if (value instanceof Fragment && value.node.childNodes.length == 1) {\n value = value.node.firstChild;\n getSomeDefs(this).appendChild(value);\n value = wrap(value);\n }\n if (value.type == \"mask\") {\n var mask = value;\n } else {\n mask = make(\"mask\", getSomeDefs(this));\n mask.node.appendChild(value.node);\n }\n !mask.node.id && $(mask.node, {\n id: mask.id\n });\n $(this.node, {\n mask: URL(mask.id)\n });\n }\n });\n (function (clipIt) {\n eve.on(\"snap.util.attr.clip\", clipIt);\n eve.on(\"snap.util.attr.clip-path\", clipIt);\n eve.on(\"snap.util.attr.clipPath\", clipIt);\n }(function (value) {\n if (value instanceof Element || value instanceof Fragment) {\n eve.stop();\n var clip,\n node = value.node;\n while (node) {\n if (node.nodeName === \"clipPath\") {\n clip = new Element(node);\n break;\n }\n if (node.nodeName === \"svg\") {\n clip = undefined;\n break;\n }\n node = node.parentNode;\n }\n if (!clip) {\n clip = make(\"clipPath\", getSomeDefs(this));\n clip.node.appendChild(value.node);\n !clip.node.id && $(clip.node, {\n id: clip.id\n });\n }\n $(this.node, {\n \"clip-path\": URL(clip.node.id || clip.id)\n });\n }\n }));\n function fillStroke(name) {\n return function (value) {\n eve.stop();\n if (value instanceof Fragment && value.node.childNodes.length == 1 &&\n (value.node.firstChild.tagName == \"radialGradient\" ||\n value.node.firstChild.tagName == \"linearGradient\" ||\n value.node.firstChild.tagName == \"pattern\")) {\n value = value.node.firstChild;\n getSomeDefs(this).appendChild(value);\n value = wrap(value);\n }\n if (value instanceof Element) {\n if (value.type == \"radialGradient\" || value.type == \"linearGradient\"\n || value.type == \"pattern\") {\n if (!value.node.id) {\n $(value.node, {\n id: value.id\n });\n }\n var fill = URL(value.node.id);\n } else {\n fill = value.attr(name);\n }\n } else {\n fill = Snap.color(value);\n if (fill.error) {\n var grad = Snap(getSomeDefs(this).ownerSVGElement).gradient(value);\n if (grad) {\n if (!grad.node.id) {\n $(grad.node, {\n id: grad.id\n });\n }\n fill = URL(grad.node.id);\n } else {\n fill = value;\n }\n } else {\n fill = Str(fill);\n }\n }\n var attrs = {};\n attrs[name] = fill;\n $(this.node, attrs);\n this.node.style[name] = E;\n };\n }\n eve.on(\"snap.util.attr.fill\", fillStroke(\"fill\"));\n eve.on(\"snap.util.attr.stroke\", fillStroke(\"stroke\"));\n var gradrg = /^([lr])(?:\\(([^)]*)\\))?(.*)$/i;\n eve.on(\"snap.util.grad.parse\", function parseGrad(string) {\n string = Str(string);\n var tokens = string.match(gradrg);\n if (!tokens) {\n return null;\n }\n var type = tokens[1],\n params = tokens[2],\n stops = tokens[3];\n params = params.split(/\\s*,\\s*/).map(function (el) {\n return +el == el ? +el : el;\n });\n if (params.length == 1 && params[0] == 0) {\n params = [];\n }\n stops = stops.split(\"-\");\n stops = stops.map(function (el) {\n el = el.split(\":\");\n var out = {\n color: el[0]\n };\n if (el[1]) {\n out.offset = parseFloat(el[1]);\n }\n return out;\n });\n var len = stops.length,\n start = 0,\n j = 0;\n function seed(i, end) {\n var step = (end - start) / (i - j);\n for (var k = j; k < i; k++) {\n stops[k].offset = +(+start + step * (k - j)).toFixed(2);\n }\n j = i;\n start = end;\n }\n len--;\n for (var i = 0; i < len; i++) if (\"offset\" in stops[i]) {\n seed(i, stops[i].offset);\n }\n stops[len].offset = stops[len].offset || 100;\n seed(len, stops[len].offset);\n return {\n type: type,\n params: params,\n stops: stops\n };\n });\n\n eve.on(\"snap.util.attr.d\", function (value) {\n eve.stop();\n if (is(value, \"array\") && is(value[0], \"array\")) {\n value = Snap.path.toString.call(value);\n }\n value = Str(value);\n if (value.match(/[ruo]/i)) {\n value = Snap.path.toAbsolute(value);\n }\n $(this.node, {d: value});\n })(-1);\n eve.on(\"snap.util.attr.#text\", function (value) {\n eve.stop();\n value = Str(value);\n var txt = glob.doc.createTextNode(value);\n while (this.node.firstChild) {\n this.node.removeChild(this.node.firstChild);\n }\n this.node.appendChild(txt);\n })(-1);\n eve.on(\"snap.util.attr.path\", function (value) {\n eve.stop();\n this.attr({d: value});\n })(-1);\n eve.on(\"snap.util.attr.class\", function (value) {\n eve.stop();\n this.node.className.baseVal = value;\n })(-1);\n eve.on(\"snap.util.attr.viewBox\", function (value) {\n var vb;\n if (is(value, \"object\") && \"x\" in value) {\n vb = [value.x, value.y, value.width, value.height].join(\" \");\n } else if (is(value, \"array\")) {\n vb = value.join(\" \");\n } else {\n vb = value;\n }\n $(this.node, {\n viewBox: vb\n });\n eve.stop();\n })(-1);\n eve.on(\"snap.util.attr.transform\", function (value) {\n this.transform(value);\n eve.stop();\n })(-1);\n eve.on(\"snap.util.attr.r\", function (value) {\n if (this.type == \"rect\") {\n eve.stop();\n $(this.node, {\n rx: value,\n ry: value\n });\n }\n })(-1);\n eve.on(\"snap.util.attr.textpath\", function (value) {\n eve.stop();\n if (this.type == \"text\") {\n var id, tp, node;\n if (!value && this.textPath) {\n tp = this.textPath;\n while (tp.node.firstChild) {\n this.node.appendChild(tp.node.firstChild);\n }\n tp.remove();\n delete this.textPath;\n return;\n }\n if (is(value, \"string\")) {\n var defs = getSomeDefs(this),\n path = wrap(defs.parentNode).path(value);\n defs.appendChild(path.node);\n id = path.id;\n path.attr({id: id});\n } else {\n value = wrap(value);\n if (value instanceof Element) {\n id = value.attr(\"id\");\n if (!id) {\n id = value.id;\n value.attr({id: id});\n }\n }\n }\n if (id) {\n tp = this.textPath;\n node = this.node;\n if (tp) {\n tp.attr({\"xlink:href\": \"#\" + id});\n } else {\n tp = $(\"textPath\", {\n \"xlink:href\": \"#\" + id\n });\n while (node.firstChild) {\n tp.appendChild(node.firstChild);\n }\n node.appendChild(tp);\n this.textPath = wrap(tp);\n }\n }\n }\n })(-1);\n eve.on(\"snap.util.attr.text\", function (value) {\n if (this.type == \"text\") {\n var i = 0,\n node = this.node,\n tuner = function (chunk) {\n var out = $(\"tspan\");\n if (is(chunk, \"array\")) {\n for (var i = 0; i < chunk.length; i++) {\n out.appendChild(tuner(chunk[i]));\n }\n } else {\n out.appendChild(glob.doc.createTextNode(chunk));\n }\n out.normalize && out.normalize();\n return out;\n };\n while (node.firstChild) {\n node.removeChild(node.firstChild);\n }\n var tuned = tuner(value);\n while (tuned.firstChild) {\n node.appendChild(tuned.firstChild);\n }\n }\n eve.stop();\n })(-1);\n function setFontSize(value) {\n eve.stop();\n if (value == +value) {\n value += \"px\";\n }\n this.node.style.fontSize = value;\n }\n eve.on(\"snap.util.attr.fontSize\", setFontSize)(-1);\n eve.on(\"snap.util.attr.font-size\", setFontSize)(-1);\n\n\n eve.on(\"snap.util.getattr.transform\", function () {\n eve.stop();\n return this.transform();\n })(-1);\n eve.on(\"snap.util.getattr.textpath\", function () {\n eve.stop();\n return this.textPath;\n })(-1);\n // Markers\n (function () {\n function getter(end) {\n return function () {\n eve.stop();\n var style = glob.doc.defaultView.getComputedStyle(this.node, null).getPropertyValue(\"marker-\" + end);\n if (style == \"none\") {\n return style;\n } else {\n return Snap(glob.doc.getElementById(style.match(reURLValue)[1]));\n }\n };\n }\n function setter(end) {\n return function (value) {\n eve.stop();\n var name = \"marker\" + end.charAt(0).toUpperCase() + end.substring(1);\n if (value == \"\" || !value) {\n this.node.style[name] = \"none\";\n return;\n }\n if (value.type == \"marker\") {\n var id = value.node.id;\n if (!id) {\n $(value.node, {id: value.id});\n }\n this.node.style[name] = URL(id);\n return;\n }\n };\n }\n eve.on(\"snap.util.getattr.marker-end\", getter(\"end\"))(-1);\n eve.on(\"snap.util.getattr.markerEnd\", getter(\"end\"))(-1);\n eve.on(\"snap.util.getattr.marker-start\", getter(\"start\"))(-1);\n eve.on(\"snap.util.getattr.markerStart\", getter(\"start\"))(-1);\n eve.on(\"snap.util.getattr.marker-mid\", getter(\"mid\"))(-1);\n eve.on(\"snap.util.getattr.markerMid\", getter(\"mid\"))(-1);\n eve.on(\"snap.util.attr.marker-end\", setter(\"end\"))(-1);\n eve.on(\"snap.util.attr.markerEnd\", setter(\"end\"))(-1);\n eve.on(\"snap.util.attr.marker-start\", setter(\"start\"))(-1);\n eve.on(\"snap.util.attr.markerStart\", setter(\"start\"))(-1);\n eve.on(\"snap.util.attr.marker-mid\", setter(\"mid\"))(-1);\n eve.on(\"snap.util.attr.markerMid\", setter(\"mid\"))(-1);\n }());\n eve.on(\"snap.util.getattr.r\", function () {\n if (this.type == \"rect\" && $(this.node, \"rx\") == $(this.node, \"ry\")) {\n eve.stop();\n return $(this.node, \"rx\");\n }\n })(-1);\n function textExtract(node) {\n var out = [];\n var children = node.childNodes;\n for (var i = 0, ii = children.length; i < ii; i++) {\n var chi = children[i];\n if (chi.nodeType == 3) {\n out.push(chi.nodeValue);\n }\n if (chi.tagName == \"tspan\") {\n if (chi.childNodes.length == 1 && chi.firstChild.nodeType == 3) {\n out.push(chi.firstChild.nodeValue);\n } else {\n out.push(textExtract(chi));\n }\n }\n }\n return out;\n }\n eve.on(\"snap.util.getattr.text\", function () {\n if (this.type == \"text\" || this.type == \"tspan\") {\n eve.stop();\n var out = textExtract(this.node);\n return out.length == 1 ? out[0] : out;\n }\n })(-1);\n eve.on(\"snap.util.getattr.#text\", function () {\n return this.node.textContent;\n })(-1);\n eve.on(\"snap.util.getattr.fill\", function (internal) {\n if (internal) {\n return;\n }\n eve.stop();\n var value = eve(\"snap.util.getattr.fill\", this, true).firstDefined();\n return Snap(Snap.deurl(value)) || value;\n })(-1);\n eve.on(\"snap.util.getattr.stroke\", function (internal) {\n if (internal) {\n return;\n }\n eve.stop();\n var value = eve(\"snap.util.getattr.stroke\", this, true).firstDefined();\n return Snap(Snap.deurl(value)) || value;\n })(-1);\n eve.on(\"snap.util.getattr.viewBox\", function () {\n eve.stop();\n var vb = $(this.node, \"viewBox\");\n if (vb) {\n vb = vb.split(separator);\n return Snap._.box(+vb[0], +vb[1], +vb[2], +vb[3]);\n } else {\n return;\n }\n })(-1);\n eve.on(\"snap.util.getattr.points\", function () {\n var p = $(this.node, \"points\");\n eve.stop();\n if (p) {\n return p.split(separator);\n } else {\n return;\n }\n })(-1);\n eve.on(\"snap.util.getattr.path\", function () {\n var p = $(this.node, \"d\");\n eve.stop();\n return p;\n })(-1);\n eve.on(\"snap.util.getattr.class\", function () {\n return this.node.className.baseVal;\n })(-1);\n function getFontSize() {\n eve.stop();\n return this.node.style.fontSize;\n }\n eve.on(\"snap.util.getattr.fontSize\", getFontSize)(-1);\n eve.on(\"snap.util.getattr.font-size\", getFontSize)(-1);\n});\n\n// Copyright (c) 2014 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var rgNotSpace = /\\S+/g,\n rgBadSpace = /[\\t\\r\\n\\f]/g,\n rgTrim = /(^\\s+|\\s+$)/g,\n Str = String,\n elproto = Element.prototype;\n /*\\\n * Element.addClass\n [ method ]\n **\n * Adds given class name or list of class names to the element.\n - value (string) class name or space separated list of class names\n **\n = (Element) original element.\n \\*/\n elproto.addClass = function (value) {\n var classes = Str(value || \"\").match(rgNotSpace) || [],\n elem = this.node,\n className = elem.className.baseVal,\n curClasses = className.match(rgNotSpace) || [],\n j,\n pos,\n clazz,\n finalValue;\n\n if (classes.length) {\n j = 0;\n while (clazz = classes[j++]) {\n pos = curClasses.indexOf(clazz);\n if (!~pos) {\n curClasses.push(clazz);\n }\n }\n\n finalValue = curClasses.join(\" \");\n if (className != finalValue) {\n elem.className.baseVal = finalValue;\n }\n }\n return this;\n };\n /*\\\n * Element.removeClass\n [ method ]\n **\n * Removes given class name or list of class names from the element.\n - value (string) class name or space separated list of class names\n **\n = (Element) original element.\n \\*/\n elproto.removeClass = function (value) {\n var classes = Str(value || \"\").match(rgNotSpace) || [],\n elem = this.node,\n className = elem.className.baseVal,\n curClasses = className.match(rgNotSpace) || [],\n j,\n pos,\n clazz,\n finalValue;\n if (curClasses.length) {\n j = 0;\n while (clazz = classes[j++]) {\n pos = curClasses.indexOf(clazz);\n if (~pos) {\n curClasses.splice(pos, 1);\n }\n }\n\n finalValue = curClasses.join(\" \");\n if (className != finalValue) {\n elem.className.baseVal = finalValue;\n }\n }\n return this;\n };\n /*\\\n * Element.hasClass\n [ method ]\n **\n * Checks if the element has a given class name in the list of class names applied to it.\n - value (string) class name\n **\n = (boolean) `true` if the element has given class\n \\*/\n elproto.hasClass = function (value) {\n var elem = this.node,\n className = elem.className.baseVal,\n curClasses = className.match(rgNotSpace) || [];\n return !!~curClasses.indexOf(value);\n };\n /*\\\n * Element.toggleClass\n [ method ]\n **\n * Add or remove one or more classes from the element, depending on either\n * the class’s presence or the value of the `flag` argument.\n - value (string) class name or space separated list of class names\n - flag (boolean) value to determine whether the class should be added or removed\n **\n = (Element) original element.\n \\*/\n elproto.toggleClass = function (value, flag) {\n if (flag != null) {\n if (flag) {\n return this.addClass(value);\n } else {\n return this.removeClass(value);\n }\n }\n var classes = (value || \"\").match(rgNotSpace) || [],\n elem = this.node,\n className = elem.className.baseVal,\n curClasses = className.match(rgNotSpace) || [],\n j,\n pos,\n clazz,\n finalValue;\n j = 0;\n while (clazz = classes[j++]) {\n pos = curClasses.indexOf(clazz);\n if (~pos) {\n curClasses.splice(pos, 1);\n } else {\n curClasses.push(clazz);\n }\n }\n\n finalValue = curClasses.join(\" \");\n if (className != finalValue) {\n elem.className.baseVal = finalValue;\n }\n return this;\n };\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var operators = {\n \"+\": function (x, y) {\n return x + y;\n },\n \"-\": function (x, y) {\n return x - y;\n },\n \"/\": function (x, y) {\n return x / y;\n },\n \"*\": function (x, y) {\n return x * y;\n }\n },\n Str = String,\n reUnit = /[a-z]+$/i,\n reAddon = /^\\s*([+\\-\\/*])\\s*=\\s*([\\d.eE+\\-]+)\\s*([^\\d\\s]+)?\\s*$/;\n function getNumber(val) {\n return val;\n }\n function getUnit(unit) {\n return function (val) {\n return +val.toFixed(3) + unit;\n };\n }\n eve.on(\"snap.util.attr\", function (val) {\n var plus = Str(val).match(reAddon);\n if (plus) {\n var evnt = eve.nt(),\n name = evnt.substring(evnt.lastIndexOf(\".\") + 1),\n a = this.attr(name),\n atr = {};\n eve.stop();\n var unit = plus[3] || \"\",\n aUnit = a.match(reUnit),\n op = operators[plus[1]];\n if (aUnit && aUnit == unit) {\n val = op(parseFloat(a), +plus[2]);\n } else {\n a = this.asPX(name);\n val = op(this.asPX(name), this.asPX(name, plus[2] + unit));\n }\n if (isNaN(a) || isNaN(val)) {\n return;\n }\n atr[name] = val;\n this.attr(atr);\n }\n })(-10);\n eve.on(\"snap.util.equal\", function (name, b) {\n var A, B, a = Str(this.attr(name) || \"\"),\n el = this,\n bplus = Str(b).match(reAddon);\n if (bplus) {\n eve.stop();\n var unit = bplus[3] || \"\",\n aUnit = a.match(reUnit),\n op = operators[bplus[1]];\n if (aUnit && aUnit == unit) {\n return {\n from: parseFloat(a),\n to: op(parseFloat(a), +bplus[2]),\n f: getUnit(aUnit)\n };\n } else {\n a = this.asPX(name);\n return {\n from: a,\n to: op(a, this.asPX(name, bplus[2] + unit)),\n f: getNumber\n };\n }\n }\n })(-10);\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var proto = Paper.prototype,\n is = Snap.is;\n /*\\\n * Paper.rect\n [ method ]\n *\n * Draws a rectangle\n **\n - x (number) x coordinate of the top left corner\n - y (number) y coordinate of the top left corner\n - width (number) width\n - height (number) height\n - rx (number) #optional horizontal radius for rounded corners, default is 0\n - ry (number) #optional vertical radius for rounded corners, default is rx or 0\n = (object) the `rect` element\n **\n > Usage\n | // regular rectangle\n | var c = paper.rect(10, 10, 50, 50);\n | // rectangle with rounded corners\n | var c = paper.rect(40, 40, 50, 50, 10);\n \\*/\n proto.rect = function (x, y, w, h, rx, ry) {\n var attr;\n if (ry == null) {\n ry = rx;\n }\n if (is(x, \"object\") && x == \"[object Object]\") {\n attr = x;\n } else if (x != null) {\n attr = {\n x: x,\n y: y,\n width: w,\n height: h\n };\n if (rx != null) {\n attr.rx = rx;\n attr.ry = ry;\n }\n }\n return this.el(\"rect\", attr);\n };\n /*\\\n * Paper.circle\n [ method ]\n **\n * Draws a circle\n **\n - x (number) x coordinate of the centre\n - y (number) y coordinate of the centre\n - r (number) radius\n = (object) the `circle` element\n **\n > Usage\n | var c = paper.circle(50, 50, 40);\n \\*/\n proto.circle = function (cx, cy, r) {\n var attr;\n if (is(cx, \"object\") && cx == \"[object Object]\") {\n attr = cx;\n } else if (cx != null) {\n attr = {\n cx: cx,\n cy: cy,\n r: r\n };\n }\n return this.el(\"circle\", attr);\n };\n\n var preload = (function () {\n function onerror() {\n this.parentNode.removeChild(this);\n }\n return function (src, f) {\n var img = glob.doc.createElement(\"img\"),\n body = glob.doc.body;\n img.style.cssText = \"position:absolute;left:-9999em;top:-9999em\";\n img.onload = function () {\n f.call(img);\n img.onload = img.onerror = null;\n body.removeChild(img);\n };\n img.onerror = onerror;\n body.appendChild(img);\n img.src = src;\n };\n }());\n\n /*\\\n * Paper.image\n [ method ]\n **\n * Places an image on the surface\n **\n - src (string) URI of the source image\n - x (number) x offset position\n - y (number) y offset position\n - width (number) width of the image\n - height (number) height of the image\n = (object) the `image` element\n * or\n = (object) Snap element object with type `image`\n **\n > Usage\n | var c = paper.image(\"apple.png\", 10, 10, 80, 80);\n \\*/\n proto.image = function (src, x, y, width, height) {\n var el = this.el(\"image\");\n if (is(src, \"object\") && \"src\" in src) {\n el.attr(src);\n } else if (src != null) {\n var set = {\n \"xlink:href\": src,\n preserveAspectRatio: \"none\"\n };\n if (x != null && y != null) {\n set.x = x;\n set.y = y;\n }\n if (width != null && height != null) {\n set.width = width;\n set.height = height;\n } else {\n preload(src, function () {\n Snap._.$(el.node, {\n width: this.offsetWidth,\n height: this.offsetHeight\n });\n });\n }\n Snap._.$(el.node, set);\n }\n return el;\n };\n /*\\\n * Paper.ellipse\n [ method ]\n **\n * Draws an ellipse\n **\n - x (number) x coordinate of the centre\n - y (number) y coordinate of the centre\n - rx (number) horizontal radius\n - ry (number) vertical radius\n = (object) the `ellipse` element\n **\n > Usage\n | var c = paper.ellipse(50, 50, 40, 20);\n \\*/\n proto.ellipse = function (cx, cy, rx, ry) {\n var attr;\n if (is(cx, \"object\") && cx == \"[object Object]\") {\n attr = cx;\n } else if (cx != null) {\n attr ={\n cx: cx,\n cy: cy,\n rx: rx,\n ry: ry\n };\n }\n return this.el(\"ellipse\", attr);\n };\n // SIERRA Paper.path(): Unclear from the link what a Catmull-Rom curveto is, and why it would make life any easier.\n /*\\\n * Paper.path\n [ method ]\n **\n * Creates a `` element using the given string as the path's definition\n - pathString (string) #optional path string in SVG format\n * Path string consists of one-letter commands, followed by comma seprarated arguments in numerical form. Example:\n | \"M10,20L30,40\"\n * This example features two commands: `M`, with arguments `(10, 20)` and `L` with arguments `(30, 40)`. Uppercase letter commands express coordinates in absolute terms, while lowercase commands express them in relative terms from the most recently declared coordinates.\n *\n #

    Here is short list of commands available, for more details see SVG path string format or article about path strings at MDN.

    \n # \n # \n # \n # \n # \n # \n # \n # \n # \n # \n # \n #
    CommandNameParameters
    Mmoveto(x y)+
    Zclosepath(none)
    Llineto(x y)+
    Hhorizontal linetox+
    Vvertical linetoy+
    Ccurveto(x1 y1 x2 y2 x y)+
    Ssmooth curveto(x2 y2 x y)+
    Qquadratic Bézier curveto(x1 y1 x y)+
    Tsmooth quadratic Bézier curveto(x y)+
    Aelliptical arc(rx ry x-axis-rotation large-arc-flag sweep-flag x y)+
    RCatmull-Rom curveto*x1 y1 (x y)+
    \n * * _Catmull-Rom curveto_ is a not standard SVG command and added to make life easier.\n * Note: there is a special case when a path consists of only three commands: `M10,10R…z`. In this case the path connects back to its starting point.\n > Usage\n | var c = paper.path(\"M10 10L90 90\");\n | // draw a diagonal line:\n | // move to 10,10, line to 90,90\n \\*/\n proto.path = function (d) {\n var attr;\n if (is(d, \"object\") && !is(d, \"array\")) {\n attr = d;\n } else if (d) {\n attr = {d: d};\n }\n return this.el(\"path\", attr);\n };\n /*\\\n * Paper.g\n [ method ]\n **\n * Creates a group element\n **\n - varargs (…) #optional elements to nest within the group\n = (object) the `g` element\n **\n > Usage\n | var c1 = paper.circle(),\n | c2 = paper.rect(),\n | g = paper.g(c2, c1); // note that the order of elements is different\n * or\n | var c1 = paper.circle(),\n | c2 = paper.rect(),\n | g = paper.g();\n | g.add(c2, c1);\n \\*/\n /*\\\n * Paper.group\n [ method ]\n **\n * See @Paper.g\n \\*/\n proto.group = proto.g = function (first) {\n var attr,\n el = this.el(\"g\");\n if (arguments.length == 1 && first && !first.type) {\n el.attr(first);\n } else if (arguments.length) {\n el.add(Array.prototype.slice.call(arguments, 0));\n }\n return el;\n };\n /*\\\n * Paper.svg\n [ method ]\n **\n * Creates a nested SVG element.\n - x (number) @optional X of the element\n - y (number) @optional Y of the element\n - width (number) @optional width of the element\n - height (number) @optional height of the element\n - vbx (number) @optional viewbox X\n - vby (number) @optional viewbox Y\n - vbw (number) @optional viewbox width\n - vbh (number) @optional viewbox height\n **\n = (object) the `svg` element\n **\n \\*/\n proto.svg = function (x, y, width, height, vbx, vby, vbw, vbh) {\n var attrs = {};\n if (is(x, \"object\") && y == null) {\n attrs = x;\n } else {\n if (x != null) {\n attrs.x = x;\n }\n if (y != null) {\n attrs.y = y;\n }\n if (width != null) {\n attrs.width = width;\n }\n if (height != null) {\n attrs.height = height;\n }\n if (vbx != null && vby != null && vbw != null && vbh != null) {\n attrs.viewBox = [vbx, vby, vbw, vbh];\n }\n }\n return this.el(\"svg\", attrs);\n };\n /*\\\n * Paper.mask\n [ method ]\n **\n * Equivalent in behaviour to @Paper.g, except it’s a mask.\n **\n = (object) the `mask` element\n **\n \\*/\n proto.mask = function (first) {\n var attr,\n el = this.el(\"mask\");\n if (arguments.length == 1 && first && !first.type) {\n el.attr(first);\n } else if (arguments.length) {\n el.add(Array.prototype.slice.call(arguments, 0));\n }\n return el;\n };\n /*\\\n * Paper.ptrn\n [ method ]\n **\n * Equivalent in behaviour to @Paper.g, except it’s a pattern.\n - x (number) @optional X of the element\n - y (number) @optional Y of the element\n - width (number) @optional width of the element\n - height (number) @optional height of the element\n - vbx (number) @optional viewbox X\n - vby (number) @optional viewbox Y\n - vbw (number) @optional viewbox width\n - vbh (number) @optional viewbox height\n **\n = (object) the `pattern` element\n **\n \\*/\n proto.ptrn = function (x, y, width, height, vx, vy, vw, vh) {\n if (is(x, \"object\")) {\n var attr = x;\n } else {\n attr = {patternUnits: \"userSpaceOnUse\"};\n if (x) {\n attr.x = x;\n }\n if (y) {\n attr.y = y;\n }\n if (width != null) {\n attr.width = width;\n }\n if (height != null) {\n attr.height = height;\n }\n if (vx != null && vy != null && vw != null && vh != null) {\n attr.viewBox = [vx, vy, vw, vh];\n } else {\n attr.viewBox = [x || 0, y || 0, width || 0, height || 0];\n }\n }\n return this.el(\"pattern\", attr);\n };\n /*\\\n * Paper.use\n [ method ]\n **\n * Creates a element.\n - id (string) @optional id of element to link\n * or\n - id (Element) @optional element to link\n **\n = (object) the `use` element\n **\n \\*/\n proto.use = function (id) {\n if (id != null) {\n if (id instanceof Element) {\n if (!id.attr(\"id\")) {\n id.attr({id: Snap._.id(id)});\n }\n id = id.attr(\"id\");\n }\n if (String(id).charAt() == \"#\") {\n id = id.substring(1);\n }\n return this.el(\"use\", {\"xlink:href\": \"#\" + id});\n } else {\n return Element.prototype.use.call(this);\n }\n };\n /*\\\n * Paper.symbol\n [ method ]\n **\n * Creates a element.\n - vbx (number) @optional viewbox X\n - vby (number) @optional viewbox Y\n - vbw (number) @optional viewbox width\n - vbh (number) @optional viewbox height\n = (object) the `symbol` element\n **\n \\*/\n proto.symbol = function (vx, vy, vw, vh) {\n var attr = {};\n if (vx != null && vy != null && vw != null && vh != null) {\n attr.viewBox = [vx, vy, vw, vh];\n }\n\n return this.el(\"symbol\", attr);\n };\n /*\\\n * Paper.text\n [ method ]\n **\n * Draws a text string\n **\n - x (number) x coordinate position\n - y (number) y coordinate position\n - text (string|array) The text string to draw or array of strings to nest within separate `` elements\n = (object) the `text` element\n **\n > Usage\n | var t1 = paper.text(50, 50, \"Snap\");\n | var t2 = paper.text(50, 50, [\"S\",\"n\",\"a\",\"p\"]);\n | // Text path usage\n | t1.attr({textpath: \"M10,10L100,100\"});\n | // or\n | var pth = paper.path(\"M10,10L100,100\");\n | t1.attr({textpath: pth});\n \\*/\n proto.text = function (x, y, text) {\n var attr = {};\n if (is(x, \"object\")) {\n attr = x;\n } else if (x != null) {\n attr = {\n x: x,\n y: y,\n text: text || \"\"\n };\n }\n return this.el(\"text\", attr);\n };\n /*\\\n * Paper.line\n [ method ]\n **\n * Draws a line\n **\n - x1 (number) x coordinate position of the start\n - y1 (number) y coordinate position of the start\n - x2 (number) x coordinate position of the end\n - y2 (number) y coordinate position of the end\n = (object) the `line` element\n **\n > Usage\n | var t1 = paper.line(50, 50, 100, 100);\n \\*/\n proto.line = function (x1, y1, x2, y2) {\n var attr = {};\n if (is(x1, \"object\")) {\n attr = x1;\n } else if (x1 != null) {\n attr = {\n x1: x1,\n x2: x2,\n y1: y1,\n y2: y2\n };\n }\n return this.el(\"line\", attr);\n };\n /*\\\n * Paper.polyline\n [ method ]\n **\n * Draws a polyline\n **\n - points (array) array of points\n * or\n - varargs (…) points\n = (object) the `polyline` element\n **\n > Usage\n | var p1 = paper.polyline([10, 10, 100, 100]);\n | var p2 = paper.polyline(10, 10, 100, 100);\n \\*/\n proto.polyline = function (points) {\n if (arguments.length > 1) {\n points = Array.prototype.slice.call(arguments, 0);\n }\n var attr = {};\n if (is(points, \"object\") && !is(points, \"array\")) {\n attr = points;\n } else if (points != null) {\n attr = {points: points};\n }\n return this.el(\"polyline\", attr);\n };\n /*\\\n * Paper.polygon\n [ method ]\n **\n * Draws a polygon. See @Paper.polyline\n \\*/\n proto.polygon = function (points) {\n if (arguments.length > 1) {\n points = Array.prototype.slice.call(arguments, 0);\n }\n var attr = {};\n if (is(points, \"object\") && !is(points, \"array\")) {\n attr = points;\n } else if (points != null) {\n attr = {points: points};\n }\n return this.el(\"polygon\", attr);\n };\n // gradients\n (function () {\n var $ = Snap._.$;\n // gradients' helpers\n /*\\\n * Element.stops\n [ method ]\n **\n * Only for gradients!\n * Returns array of gradient stops elements.\n = (array) the stops array.\n \\*/\n function Gstops() {\n return this.selectAll(\"stop\");\n }\n /*\\\n * Element.addStop\n [ method ]\n **\n * Only for gradients!\n * Adds another stop to the gradient.\n - color (string) stops color\n - offset (number) stops offset 0..100\n = (object) gradient element\n \\*/\n function GaddStop(color, offset) {\n var stop = $(\"stop\"),\n attr = {\n offset: +offset + \"%\"\n };\n color = Snap.color(color);\n attr[\"stop-color\"] = color.hex;\n if (color.opacity < 1) {\n attr[\"stop-opacity\"] = color.opacity;\n }\n $(stop, attr);\n var stops = this.stops(),\n inserted;\n for (var i = 0; i < stops.length; i++) {\n var stopOffset = parseFloat(stops[i].attr(\"offset\"));\n if (stopOffset > offset) {\n this.node.insertBefore(stop, stops[i].node);\n inserted = true;\n break;\n }\n }\n if (!inserted) {\n this.node.appendChild(stop);\n }\n return this;\n }\n function GgetBBox() {\n if (this.type == \"linearGradient\") {\n var x1 = $(this.node, \"x1\") || 0,\n x2 = $(this.node, \"x2\") || 1,\n y1 = $(this.node, \"y1\") || 0,\n y2 = $(this.node, \"y2\") || 0;\n return Snap._.box(x1, y1, math.abs(x2 - x1), math.abs(y2 - y1));\n } else {\n var cx = this.node.cx || .5,\n cy = this.node.cy || .5,\n r = this.node.r || 0;\n return Snap._.box(cx - r, cy - r, r * 2, r * 2);\n }\n }\n /*\\\n * Element.setStops\n [ method ]\n **\n * Only for gradients!\n * Updates stops of the gradient based on passed gradient descriptor. See @Ppaer.gradient\n - str (string) gradient descriptor part after `()`.\n = (object) gradient element\n | var g = paper.gradient(\"l(0, 0, 1, 1)#000-#f00-#fff\");\n | g.setStops(\"#fff-#000-#f00-#fc0\");\n \\*/\n function GsetStops(str) {\n var grad = str,\n stops = this.stops();\n if (typeof str == \"string\") {\n grad = eve(\"snap.util.grad.parse\", null, \"l(0,0,0,1)\" + str).firstDefined().stops;\n }\n if (!Snap.is(grad, \"array\")) {\n return;\n }\n for (var i = 0; i < stops.length; i++) {\n if (grad[i]) {\n var color = Snap.color(grad[i].color),\n attr = {\"offset\": grad[i].offset + \"%\"};\n attr[\"stop-color\"] = color.hex;\n if (color.opacity < 1) {\n attr[\"stop-opacity\"] = color.opacity;\n }\n stops[i].attr(attr);\n } else {\n stops[i].remove();\n }\n }\n for (i = stops.length; i < grad.length; i++) {\n this.addStop(grad[i].color, grad[i].offset);\n }\n return this;\n }\n function gradient(defs, str) {\n var grad = eve(\"snap.util.grad.parse\", null, str).firstDefined(),\n el;\n if (!grad) {\n return null;\n }\n grad.params.unshift(defs);\n if (grad.type.toLowerCase() == \"l\") {\n el = gradientLinear.apply(0, grad.params);\n } else {\n el = gradientRadial.apply(0, grad.params);\n }\n if (grad.type != grad.type.toLowerCase()) {\n $(el.node, {\n gradientUnits: \"userSpaceOnUse\"\n });\n }\n var stops = grad.stops,\n len = stops.length;\n for (var i = 0; i < len; i++) {\n var stop = stops[i];\n el.addStop(stop.color, stop.offset);\n }\n return el;\n }\n function gradientLinear(defs, x1, y1, x2, y2) {\n var el = Snap._.make(\"linearGradient\", defs);\n el.stops = Gstops;\n el.addStop = GaddStop;\n el.getBBox = GgetBBox;\n el.setStops = GsetStops;\n if (x1 != null) {\n $(el.node, {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n });\n }\n return el;\n }\n function gradientRadial(defs, cx, cy, r, fx, fy) {\n var el = Snap._.make(\"radialGradient\", defs);\n el.stops = Gstops;\n el.addStop = GaddStop;\n el.getBBox = GgetBBox;\n if (cx != null) {\n $(el.node, {\n cx: cx,\n cy: cy,\n r: r\n });\n }\n if (fx != null && fy != null) {\n $(el.node, {\n fx: fx,\n fy: fy\n });\n }\n return el;\n }\n /*\\\n * Paper.gradient\n [ method ]\n **\n * Creates a gradient element\n **\n - gradient (string) gradient descriptor\n > Gradient Descriptor\n * The gradient descriptor is an expression formatted as\n * follows: `()`. The `` can be\n * either linear or radial. The uppercase `L` or `R` letters\n * indicate absolute coordinates offset from the SVG surface.\n * Lowercase `l` or `r` letters indicate coordinates\n * calculated relative to the element to which the gradient is\n * applied. Coordinates specify a linear gradient vector as\n * `x1`, `y1`, `x2`, `y2`, or a radial gradient as `cx`, `cy`,\n * `r` and optional `fx`, `fy` specifying a focal point away\n * from the center of the circle. Specify `` as a list\n * of dash-separated CSS color values. Each color may be\n * followed by a custom offset value, separated with a colon\n * character.\n > Examples\n * Linear gradient, relative from top-left corner to bottom-right\n * corner, from black through red to white:\n | var g = paper.gradient(\"l(0, 0, 1, 1)#000-#f00-#fff\");\n * Linear gradient, absolute from (0, 0) to (100, 100), from black\n * through red at 25% to white:\n | var g = paper.gradient(\"L(0, 0, 100, 100)#000-#f00:25-#fff\");\n * Radial gradient, relative from the center of the element with radius\n * half the width, from black to white:\n | var g = paper.gradient(\"r(0.5, 0.5, 0.5)#000-#fff\");\n * To apply the gradient:\n | paper.circle(50, 50, 40).attr({\n | fill: g\n | });\n = (object) the `gradient` element\n \\*/\n proto.gradient = function (str) {\n return gradient(this.defs, str);\n };\n proto.gradientLinear = function (x1, y1, x2, y2) {\n return gradientLinear(this.defs, x1, y1, x2, y2);\n };\n proto.gradientRadial = function (cx, cy, r, fx, fy) {\n return gradientRadial(this.defs, cx, cy, r, fx, fy);\n };\n /*\\\n * Paper.toString\n [ method ]\n **\n * Returns SVG code for the @Paper\n = (string) SVG code for the @Paper\n \\*/\n proto.toString = function () {\n var doc = this.node.ownerDocument,\n f = doc.createDocumentFragment(),\n d = doc.createElement(\"div\"),\n svg = this.node.cloneNode(true),\n res;\n f.appendChild(d);\n d.appendChild(svg);\n Snap._.$(svg, {xmlns: \"http://www.w3.org/2000/svg\"});\n res = d.innerHTML;\n f.removeChild(f.firstChild);\n return res;\n };\n /*\\\n * Paper.toDataURL\n [ method ]\n **\n * Returns SVG code for the @Paper as Data URI string.\n = (string) Data URI string\n \\*/\n proto.toDataURL = function () {\n if (window && window.btoa) {\n return \"data:image/svg+xml;base64,\" + btoa(unescape(encodeURIComponent(this)));\n }\n };\n /*\\\n * Paper.clear\n [ method ]\n **\n * Removes all child nodes of the paper, except .\n \\*/\n proto.clear = function () {\n var node = this.node.firstChild,\n next;\n while (node) {\n next = node.nextSibling;\n if (node.tagName != \"defs\") {\n node.parentNode.removeChild(node);\n } else {\n proto.clear.call({node: node});\n }\n node = next;\n }\n };\n }());\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob) {\n var elproto = Element.prototype,\n is = Snap.is,\n clone = Snap._.clone,\n has = \"hasOwnProperty\",\n p2s = /,?([a-z]),?/gi,\n toFloat = parseFloat,\n math = Math,\n PI = math.PI,\n mmin = math.min,\n mmax = math.max,\n pow = math.pow,\n abs = math.abs;\n function paths(ps) {\n var p = paths.ps = paths.ps || {};\n if (p[ps]) {\n p[ps].sleep = 100;\n } else {\n p[ps] = {\n sleep: 100\n };\n }\n setTimeout(function () {\n for (var key in p) if (p[has](key) && key != ps) {\n p[key].sleep--;\n !p[key].sleep && delete p[key];\n }\n });\n return p[ps];\n }\n function box(x, y, width, height) {\n if (x == null) {\n x = y = width = height = 0;\n }\n if (y == null) {\n y = x.y;\n width = x.width;\n height = x.height;\n x = x.x;\n }\n return {\n x: x,\n y: y,\n width: width,\n w: width,\n height: height,\n h: height,\n x2: x + width,\n y2: y + height,\n cx: x + width / 2,\n cy: y + height / 2,\n r1: math.min(width, height) / 2,\n r2: math.max(width, height) / 2,\n r0: math.sqrt(width * width + height * height) / 2,\n path: rectPath(x, y, width, height),\n vb: [x, y, width, height].join(\" \")\n };\n }\n function toString() {\n return this.join(\",\").replace(p2s, \"$1\");\n }\n function pathClone(pathArray) {\n var res = clone(pathArray);\n res.toString = toString;\n return res;\n }\n function getPointAtSegmentLength(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, length) {\n if (length == null) {\n return bezlen(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y);\n } else {\n return findDotsAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y,\n getTotLen(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, length));\n }\n }\n function getLengthFactory(istotal, subpath) {\n function O(val) {\n return +(+val).toFixed(3);\n }\n return Snap._.cacher(function (path, length, onlystart) {\n if (path instanceof Element) {\n path = path.attr(\"d\");\n }\n path = path2curve(path);\n var x, y, p, l, sp = \"\", subpaths = {}, point,\n len = 0;\n for (var i = 0, ii = path.length; i < ii; i++) {\n p = path[i];\n if (p[0] == \"M\") {\n x = +p[1];\n y = +p[2];\n } else {\n l = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6]);\n if (len + l > length) {\n if (subpath && !subpaths.start) {\n point = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6], length - len);\n sp += [\n \"C\" + O(point.start.x),\n O(point.start.y),\n O(point.m.x),\n O(point.m.y),\n O(point.x),\n O(point.y)\n ];\n if (onlystart) {return sp;}\n subpaths.start = sp;\n sp = [\n \"M\" + O(point.x),\n O(point.y) + \"C\" + O(point.n.x),\n O(point.n.y),\n O(point.end.x),\n O(point.end.y),\n O(p[5]),\n O(p[6])\n ].join();\n len += l;\n x = +p[5];\n y = +p[6];\n continue;\n }\n if (!istotal && !subpath) {\n point = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6], length - len);\n return point;\n }\n }\n len += l;\n x = +p[5];\n y = +p[6];\n }\n sp += p.shift() + p;\n }\n subpaths.end = sp;\n point = istotal ? len : subpath ? subpaths : findDotsAtSegment(x, y, p[0], p[1], p[2], p[3], p[4], p[5], 1);\n return point;\n }, null, Snap._.clone);\n }\n var getTotalLength = getLengthFactory(1),\n getPointAtLength = getLengthFactory(),\n getSubpathsAtLength = getLengthFactory(0, 1);\n function findDotsAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) {\n var t1 = 1 - t,\n t13 = pow(t1, 3),\n t12 = pow(t1, 2),\n t2 = t * t,\n t3 = t2 * t,\n x = t13 * p1x + t12 * 3 * t * c1x + t1 * 3 * t * t * c2x + t3 * p2x,\n y = t13 * p1y + t12 * 3 * t * c1y + t1 * 3 * t * t * c2y + t3 * p2y,\n mx = p1x + 2 * t * (c1x - p1x) + t2 * (c2x - 2 * c1x + p1x),\n my = p1y + 2 * t * (c1y - p1y) + t2 * (c2y - 2 * c1y + p1y),\n nx = c1x + 2 * t * (c2x - c1x) + t2 * (p2x - 2 * c2x + c1x),\n ny = c1y + 2 * t * (c2y - c1y) + t2 * (p2y - 2 * c2y + c1y),\n ax = t1 * p1x + t * c1x,\n ay = t1 * p1y + t * c1y,\n cx = t1 * c2x + t * p2x,\n cy = t1 * c2y + t * p2y,\n alpha = 90 - math.atan2(mx - nx, my - ny) * 180 / PI;\n // (mx > nx || my < ny) && (alpha += 180);\n return {\n x: x,\n y: y,\n m: {x: mx, y: my},\n n: {x: nx, y: ny},\n start: {x: ax, y: ay},\n end: {x: cx, y: cy},\n alpha: alpha\n };\n }\n function bezierBBox(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y) {\n if (!Snap.is(p1x, \"array\")) {\n p1x = [p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y];\n }\n var bbox = curveDim.apply(null, p1x);\n return box(\n bbox.min.x,\n bbox.min.y,\n bbox.max.x - bbox.min.x,\n bbox.max.y - bbox.min.y\n );\n }\n function isPointInsideBBox(bbox, x, y) {\n return x >= bbox.x &&\n x <= bbox.x + bbox.width &&\n y >= bbox.y &&\n y <= bbox.y + bbox.height;\n }\n function isBBoxIntersect(bbox1, bbox2) {\n bbox1 = box(bbox1);\n bbox2 = box(bbox2);\n return isPointInsideBBox(bbox2, bbox1.x, bbox1.y)\n || isPointInsideBBox(bbox2, bbox1.x2, bbox1.y)\n || isPointInsideBBox(bbox2, bbox1.x, bbox1.y2)\n || isPointInsideBBox(bbox2, bbox1.x2, bbox1.y2)\n || isPointInsideBBox(bbox1, bbox2.x, bbox2.y)\n || isPointInsideBBox(bbox1, bbox2.x2, bbox2.y)\n || isPointInsideBBox(bbox1, bbox2.x, bbox2.y2)\n || isPointInsideBBox(bbox1, bbox2.x2, bbox2.y2)\n || (bbox1.x < bbox2.x2 && bbox1.x > bbox2.x\n || bbox2.x < bbox1.x2 && bbox2.x > bbox1.x)\n && (bbox1.y < bbox2.y2 && bbox1.y > bbox2.y\n || bbox2.y < bbox1.y2 && bbox2.y > bbox1.y);\n }\n function base3(t, p1, p2, p3, p4) {\n var t1 = -3 * p1 + 9 * p2 - 9 * p3 + 3 * p4,\n t2 = t * t1 + 6 * p1 - 12 * p2 + 6 * p3;\n return t * t2 - 3 * p1 + 3 * p2;\n }\n function bezlen(x1, y1, x2, y2, x3, y3, x4, y4, z) {\n if (z == null) {\n z = 1;\n }\n z = z > 1 ? 1 : z < 0 ? 0 : z;\n var z2 = z / 2,\n n = 12,\n Tvalues = [-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],\n Cvalues = [0.2491,0.2491,0.2335,0.2335,0.2032,0.2032,0.1601,0.1601,0.1069,0.1069,0.0472,0.0472],\n sum = 0;\n for (var i = 0; i < n; i++) {\n var ct = z2 * Tvalues[i] + z2,\n xbase = base3(ct, x1, x2, x3, x4),\n ybase = base3(ct, y1, y2, y3, y4),\n comb = xbase * xbase + ybase * ybase;\n sum += Cvalues[i] * math.sqrt(comb);\n }\n return z2 * sum;\n }\n function getTotLen(x1, y1, x2, y2, x3, y3, x4, y4, ll) {\n if (ll < 0 || bezlen(x1, y1, x2, y2, x3, y3, x4, y4) < ll) {\n return;\n }\n var t = 1,\n step = t / 2,\n t2 = t - step,\n l,\n e = .01;\n l = bezlen(x1, y1, x2, y2, x3, y3, x4, y4, t2);\n while (abs(l - ll) > e) {\n step /= 2;\n t2 += (l < ll ? 1 : -1) * step;\n l = bezlen(x1, y1, x2, y2, x3, y3, x4, y4, t2);\n }\n return t2;\n }\n function intersect(x1, y1, x2, y2, x3, y3, x4, y4) {\n if (\n mmax(x1, x2) < mmin(x3, x4) ||\n mmin(x1, x2) > mmax(x3, x4) ||\n mmax(y1, y2) < mmin(y3, y4) ||\n mmin(y1, y2) > mmax(y3, y4)\n ) {\n return;\n }\n var nx = (x1 * y2 - y1 * x2) * (x3 - x4) - (x1 - x2) * (x3 * y4 - y3 * x4),\n ny = (x1 * y2 - y1 * x2) * (y3 - y4) - (y1 - y2) * (x3 * y4 - y3 * x4),\n denominator = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4);\n\n if (!denominator) {\n return;\n }\n var px = nx / denominator,\n py = ny / denominator,\n px2 = +px.toFixed(2),\n py2 = +py.toFixed(2);\n if (\n px2 < +mmin(x1, x2).toFixed(2) ||\n px2 > +mmax(x1, x2).toFixed(2) ||\n px2 < +mmin(x3, x4).toFixed(2) ||\n px2 > +mmax(x3, x4).toFixed(2) ||\n py2 < +mmin(y1, y2).toFixed(2) ||\n py2 > +mmax(y1, y2).toFixed(2) ||\n py2 < +mmin(y3, y4).toFixed(2) ||\n py2 > +mmax(y3, y4).toFixed(2)\n ) {\n return;\n }\n return {x: px, y: py};\n }\n function inter(bez1, bez2) {\n return interHelper(bez1, bez2);\n }\n function interCount(bez1, bez2) {\n return interHelper(bez1, bez2, 1);\n }\n function interHelper(bez1, bez2, justCount) {\n var bbox1 = bezierBBox(bez1),\n bbox2 = bezierBBox(bez2);\n if (!isBBoxIntersect(bbox1, bbox2)) {\n return justCount ? 0 : [];\n }\n var l1 = bezlen.apply(0, bez1),\n l2 = bezlen.apply(0, bez2),\n n1 = ~~(l1 / 8),\n n2 = ~~(l2 / 8),\n dots1 = [],\n dots2 = [],\n xy = {},\n res = justCount ? 0 : [];\n for (var i = 0; i < n1 + 1; i++) {\n var p = findDotsAtSegment.apply(0, bez1.concat(i / n1));\n dots1.push({x: p.x, y: p.y, t: i / n1});\n }\n for (i = 0; i < n2 + 1; i++) {\n p = findDotsAtSegment.apply(0, bez2.concat(i / n2));\n dots2.push({x: p.x, y: p.y, t: i / n2});\n }\n for (i = 0; i < n1; i++) {\n for (var j = 0; j < n2; j++) {\n var di = dots1[i],\n di1 = dots1[i + 1],\n dj = dots2[j],\n dj1 = dots2[j + 1],\n ci = abs(di1.x - di.x) < .001 ? \"y\" : \"x\",\n cj = abs(dj1.x - dj.x) < .001 ? \"y\" : \"x\",\n is = intersect(di.x, di.y, di1.x, di1.y, dj.x, dj.y, dj1.x, dj1.y);\n if (is) {\n if (xy[is.x.toFixed(4)] == is.y.toFixed(4)) {\n continue;\n }\n xy[is.x.toFixed(4)] = is.y.toFixed(4);\n var t1 = di.t + abs((is[ci] - di[ci]) / (di1[ci] - di[ci])) * (di1.t - di.t),\n t2 = dj.t + abs((is[cj] - dj[cj]) / (dj1[cj] - dj[cj])) * (dj1.t - dj.t);\n if (t1 >= 0 && t1 <= 1 && t2 >= 0 && t2 <= 1) {\n if (justCount) {\n res++;\n } else {\n res.push({\n x: is.x,\n y: is.y,\n t1: t1,\n t2: t2\n });\n }\n }\n }\n }\n }\n return res;\n }\n function pathIntersection(path1, path2) {\n return interPathHelper(path1, path2);\n }\n function pathIntersectionNumber(path1, path2) {\n return interPathHelper(path1, path2, 1);\n }\n function interPathHelper(path1, path2, justCount) {\n path1 = path2curve(path1);\n path2 = path2curve(path2);\n var x1, y1, x2, y2, x1m, y1m, x2m, y2m, bez1, bez2,\n res = justCount ? 0 : [];\n for (var i = 0, ii = path1.length; i < ii; i++) {\n var pi = path1[i];\n if (pi[0] == \"M\") {\n x1 = x1m = pi[1];\n y1 = y1m = pi[2];\n } else {\n if (pi[0] == \"C\") {\n bez1 = [x1, y1].concat(pi.slice(1));\n x1 = bez1[6];\n y1 = bez1[7];\n } else {\n bez1 = [x1, y1, x1, y1, x1m, y1m, x1m, y1m];\n x1 = x1m;\n y1 = y1m;\n }\n for (var j = 0, jj = path2.length; j < jj; j++) {\n var pj = path2[j];\n if (pj[0] == \"M\") {\n x2 = x2m = pj[1];\n y2 = y2m = pj[2];\n } else {\n if (pj[0] == \"C\") {\n bez2 = [x2, y2].concat(pj.slice(1));\n x2 = bez2[6];\n y2 = bez2[7];\n } else {\n bez2 = [x2, y2, x2, y2, x2m, y2m, x2m, y2m];\n x2 = x2m;\n y2 = y2m;\n }\n var intr = interHelper(bez1, bez2, justCount);\n if (justCount) {\n res += intr;\n } else {\n for (var k = 0, kk = intr.length; k < kk; k++) {\n intr[k].segment1 = i;\n intr[k].segment2 = j;\n intr[k].bez1 = bez1;\n intr[k].bez2 = bez2;\n }\n res = res.concat(intr);\n }\n }\n }\n }\n }\n return res;\n }\n function isPointInsidePath(path, x, y) {\n var bbox = pathBBox(path);\n return isPointInsideBBox(bbox, x, y) &&\n interPathHelper(path, [[\"M\", x, y], [\"H\", bbox.x2 + 10]], 1) % 2 == 1;\n }\n function pathBBox(path) {\n var pth = paths(path);\n if (pth.bbox) {\n return clone(pth.bbox);\n }\n if (!path) {\n return box();\n }\n path = path2curve(path);\n var x = 0,\n y = 0,\n X = [],\n Y = [],\n p;\n for (var i = 0, ii = path.length; i < ii; i++) {\n p = path[i];\n if (p[0] == \"M\") {\n x = p[1];\n y = p[2];\n X.push(x);\n Y.push(y);\n } else {\n var dim = curveDim(x, y, p[1], p[2], p[3], p[4], p[5], p[6]);\n X = X.concat(dim.min.x, dim.max.x);\n Y = Y.concat(dim.min.y, dim.max.y);\n x = p[5];\n y = p[6];\n }\n }\n var xmin = mmin.apply(0, X),\n ymin = mmin.apply(0, Y),\n xmax = mmax.apply(0, X),\n ymax = mmax.apply(0, Y),\n bb = box(xmin, ymin, xmax - xmin, ymax - ymin);\n pth.bbox = clone(bb);\n return bb;\n }\n function rectPath(x, y, w, h, r) {\n if (r) {\n return [\n [\"M\", +x + +r, y],\n [\"l\", w - r * 2, 0],\n [\"a\", r, r, 0, 0, 1, r, r],\n [\"l\", 0, h - r * 2],\n [\"a\", r, r, 0, 0, 1, -r, r],\n [\"l\", r * 2 - w, 0],\n [\"a\", r, r, 0, 0, 1, -r, -r],\n [\"l\", 0, r * 2 - h],\n [\"a\", r, r, 0, 0, 1, r, -r],\n [\"z\"]\n ];\n }\n var res = [[\"M\", x, y], [\"l\", w, 0], [\"l\", 0, h], [\"l\", -w, 0], [\"z\"]];\n res.toString = toString;\n return res;\n }\n function ellipsePath(x, y, rx, ry, a) {\n if (a == null && ry == null) {\n ry = rx;\n }\n x = +x;\n y = +y;\n rx = +rx;\n ry = +ry;\n if (a != null) {\n var rad = Math.PI / 180,\n x1 = x + rx * Math.cos(-ry * rad),\n x2 = x + rx * Math.cos(-a * rad),\n y1 = y + rx * Math.sin(-ry * rad),\n y2 = y + rx * Math.sin(-a * rad),\n res = [[\"M\", x1, y1], [\"A\", rx, rx, 0, +(a - ry > 180), 0, x2, y2]];\n } else {\n res = [\n [\"M\", x, y],\n [\"m\", 0, -ry],\n [\"a\", rx, ry, 0, 1, 1, 0, 2 * ry],\n [\"a\", rx, ry, 0, 1, 1, 0, -2 * ry],\n [\"z\"]\n ];\n }\n res.toString = toString;\n return res;\n }\n var unit2px = Snap._unit2px,\n getPath = {\n path: function (el) {\n return el.attr(\"path\");\n },\n circle: function (el) {\n var attr = unit2px(el);\n return ellipsePath(attr.cx, attr.cy, attr.r);\n },\n ellipse: function (el) {\n var attr = unit2px(el);\n return ellipsePath(attr.cx || 0, attr.cy || 0, attr.rx, attr.ry);\n },\n rect: function (el) {\n var attr = unit2px(el);\n return rectPath(attr.x || 0, attr.y || 0, attr.width, attr.height, attr.rx, attr.ry);\n },\n image: function (el) {\n var attr = unit2px(el);\n return rectPath(attr.x || 0, attr.y || 0, attr.width, attr.height);\n },\n line: function (el) {\n return \"M\" + [el.attr(\"x1\") || 0, el.attr(\"y1\") || 0, el.attr(\"x2\"), el.attr(\"y2\")];\n },\n polyline: function (el) {\n return \"M\" + el.attr(\"points\");\n },\n polygon: function (el) {\n return \"M\" + el.attr(\"points\") + \"z\";\n },\n deflt: function (el) {\n var bbox = el.node.getBBox();\n return rectPath(bbox.x, bbox.y, bbox.width, bbox.height);\n }\n };\n function pathToRelative(pathArray) {\n var pth = paths(pathArray),\n lowerCase = String.prototype.toLowerCase;\n if (pth.rel) {\n return pathClone(pth.rel);\n }\n if (!Snap.is(pathArray, \"array\") || !Snap.is(pathArray && pathArray[0], \"array\")) {\n pathArray = Snap.parsePathString(pathArray);\n }\n var res = [],\n x = 0,\n y = 0,\n mx = 0,\n my = 0,\n start = 0;\n if (pathArray[0][0] == \"M\") {\n x = pathArray[0][1];\n y = pathArray[0][2];\n mx = x;\n my = y;\n start++;\n res.push([\"M\", x, y]);\n }\n for (var i = start, ii = pathArray.length; i < ii; i++) {\n var r = res[i] = [],\n pa = pathArray[i];\n if (pa[0] != lowerCase.call(pa[0])) {\n r[0] = lowerCase.call(pa[0]);\n switch (r[0]) {\n case \"a\":\n r[1] = pa[1];\n r[2] = pa[2];\n r[3] = pa[3];\n r[4] = pa[4];\n r[5] = pa[5];\n r[6] = +(pa[6] - x).toFixed(3);\n r[7] = +(pa[7] - y).toFixed(3);\n break;\n case \"v\":\n r[1] = +(pa[1] - y).toFixed(3);\n break;\n case \"m\":\n mx = pa[1];\n my = pa[2];\n default:\n for (var j = 1, jj = pa.length; j < jj; j++) {\n r[j] = +(pa[j] - (j % 2 ? x : y)).toFixed(3);\n }\n }\n } else {\n r = res[i] = [];\n if (pa[0] == \"m\") {\n mx = pa[1] + x;\n my = pa[2] + y;\n }\n for (var k = 0, kk = pa.length; k < kk; k++) {\n res[i][k] = pa[k];\n }\n }\n var len = res[i].length;\n switch (res[i][0]) {\n case \"z\":\n x = mx;\n y = my;\n break;\n case \"h\":\n x += +res[i][len - 1];\n break;\n case \"v\":\n y += +res[i][len - 1];\n break;\n default:\n x += +res[i][len - 2];\n y += +res[i][len - 1];\n }\n }\n res.toString = toString;\n pth.rel = pathClone(res);\n return res;\n }\n function pathToAbsolute(pathArray) {\n var pth = paths(pathArray);\n if (pth.abs) {\n return pathClone(pth.abs);\n }\n if (!is(pathArray, \"array\") || !is(pathArray && pathArray[0], \"array\")) { // rough assumption\n pathArray = Snap.parsePathString(pathArray);\n }\n if (!pathArray || !pathArray.length) {\n return [[\"M\", 0, 0]];\n }\n var res = [],\n x = 0,\n y = 0,\n mx = 0,\n my = 0,\n start = 0,\n pa0;\n if (pathArray[0][0] == \"M\") {\n x = +pathArray[0][1];\n y = +pathArray[0][2];\n mx = x;\n my = y;\n start++;\n res[0] = [\"M\", x, y];\n }\n var crz = pathArray.length == 3 &&\n pathArray[0][0] == \"M\" &&\n pathArray[1][0].toUpperCase() == \"R\" &&\n pathArray[2][0].toUpperCase() == \"Z\";\n for (var r, pa, i = start, ii = pathArray.length; i < ii; i++) {\n res.push(r = []);\n pa = pathArray[i];\n pa0 = pa[0];\n if (pa0 != pa0.toUpperCase()) {\n r[0] = pa0.toUpperCase();\n switch (r[0]) {\n case \"A\":\n r[1] = pa[1];\n r[2] = pa[2];\n r[3] = pa[3];\n r[4] = pa[4];\n r[5] = pa[5];\n r[6] = +pa[6] + x;\n r[7] = +pa[7] + y;\n break;\n case \"V\":\n r[1] = +pa[1] + y;\n break;\n case \"H\":\n r[1] = +pa[1] + x;\n break;\n case \"R\":\n var dots = [x, y].concat(pa.slice(1));\n for (var j = 2, jj = dots.length; j < jj; j++) {\n dots[j] = +dots[j] + x;\n dots[++j] = +dots[j] + y;\n }\n res.pop();\n res = res.concat(catmullRom2bezier(dots, crz));\n break;\n case \"O\":\n res.pop();\n dots = ellipsePath(x, y, pa[1], pa[2]);\n dots.push(dots[0]);\n res = res.concat(dots);\n break;\n case \"U\":\n res.pop();\n res = res.concat(ellipsePath(x, y, pa[1], pa[2], pa[3]));\n r = [\"U\"].concat(res[res.length - 1].slice(-2));\n break;\n case \"M\":\n mx = +pa[1] + x;\n my = +pa[2] + y;\n default:\n for (j = 1, jj = pa.length; j < jj; j++) {\n r[j] = +pa[j] + (j % 2 ? x : y);\n }\n }\n } else if (pa0 == \"R\") {\n dots = [x, y].concat(pa.slice(1));\n res.pop();\n res = res.concat(catmullRom2bezier(dots, crz));\n r = [\"R\"].concat(pa.slice(-2));\n } else if (pa0 == \"O\") {\n res.pop();\n dots = ellipsePath(x, y, pa[1], pa[2]);\n dots.push(dots[0]);\n res = res.concat(dots);\n } else if (pa0 == \"U\") {\n res.pop();\n res = res.concat(ellipsePath(x, y, pa[1], pa[2], pa[3]));\n r = [\"U\"].concat(res[res.length - 1].slice(-2));\n } else {\n for (var k = 0, kk = pa.length; k < kk; k++) {\n r[k] = pa[k];\n }\n }\n pa0 = pa0.toUpperCase();\n if (pa0 != \"O\") {\n switch (r[0]) {\n case \"Z\":\n x = +mx;\n y = +my;\n break;\n case \"H\":\n x = r[1];\n break;\n case \"V\":\n y = r[1];\n break;\n case \"M\":\n mx = r[r.length - 2];\n my = r[r.length - 1];\n default:\n x = r[r.length - 2];\n y = r[r.length - 1];\n }\n }\n }\n res.toString = toString;\n pth.abs = pathClone(res);\n return res;\n }\n function l2c(x1, y1, x2, y2) {\n return [x1, y1, x2, y2, x2, y2];\n }\n function q2c(x1, y1, ax, ay, x2, y2) {\n var _13 = 1 / 3,\n _23 = 2 / 3;\n return [\n _13 * x1 + _23 * ax,\n _13 * y1 + _23 * ay,\n _13 * x2 + _23 * ax,\n _13 * y2 + _23 * ay,\n x2,\n y2\n ];\n }\n function a2c(x1, y1, rx, ry, angle, large_arc_flag, sweep_flag, x2, y2, recursive) {\n // for more information of where this math came from visit:\n // http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes\n var _120 = PI * 120 / 180,\n rad = PI / 180 * (+angle || 0),\n res = [],\n xy,\n rotate = Snap._.cacher(function (x, y, rad) {\n var X = x * math.cos(rad) - y * math.sin(rad),\n Y = x * math.sin(rad) + y * math.cos(rad);\n return {x: X, y: Y};\n });\n if (!rx || !ry) {\n return [x1, y1, x2, y2, x2, y2];\n }\n if (!recursive) {\n xy = rotate(x1, y1, -rad);\n x1 = xy.x;\n y1 = xy.y;\n xy = rotate(x2, y2, -rad);\n x2 = xy.x;\n y2 = xy.y;\n var cos = math.cos(PI / 180 * angle),\n sin = math.sin(PI / 180 * angle),\n x = (x1 - x2) / 2,\n y = (y1 - y2) / 2;\n var h = x * x / (rx * rx) + y * y / (ry * ry);\n if (h > 1) {\n h = math.sqrt(h);\n rx = h * rx;\n ry = h * ry;\n }\n var rx2 = rx * rx,\n ry2 = ry * ry,\n k = (large_arc_flag == sweep_flag ? -1 : 1) *\n math.sqrt(abs((rx2 * ry2 - rx2 * y * y - ry2 * x * x) / (rx2 * y * y + ry2 * x * x))),\n cx = k * rx * y / ry + (x1 + x2) / 2,\n cy = k * -ry * x / rx + (y1 + y2) / 2,\n f1 = math.asin(((y1 - cy) / ry).toFixed(9)),\n f2 = math.asin(((y2 - cy) / ry).toFixed(9));\n\n f1 = x1 < cx ? PI - f1 : f1;\n f2 = x2 < cx ? PI - f2 : f2;\n f1 < 0 && (f1 = PI * 2 + f1);\n f2 < 0 && (f2 = PI * 2 + f2);\n if (sweep_flag && f1 > f2) {\n f1 = f1 - PI * 2;\n }\n if (!sweep_flag && f2 > f1) {\n f2 = f2 - PI * 2;\n }\n } else {\n f1 = recursive[0];\n f2 = recursive[1];\n cx = recursive[2];\n cy = recursive[3];\n }\n var df = f2 - f1;\n if (abs(df) > _120) {\n var f2old = f2,\n x2old = x2,\n y2old = y2;\n f2 = f1 + _120 * (sweep_flag && f2 > f1 ? 1 : -1);\n x2 = cx + rx * math.cos(f2);\n y2 = cy + ry * math.sin(f2);\n res = a2c(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [f2, f2old, cx, cy]);\n }\n df = f2 - f1;\n var c1 = math.cos(f1),\n s1 = math.sin(f1),\n c2 = math.cos(f2),\n s2 = math.sin(f2),\n t = math.tan(df / 4),\n hx = 4 / 3 * rx * t,\n hy = 4 / 3 * ry * t,\n m1 = [x1, y1],\n m2 = [x1 + hx * s1, y1 - hy * c1],\n m3 = [x2 + hx * s2, y2 - hy * c2],\n m4 = [x2, y2];\n m2[0] = 2 * m1[0] - m2[0];\n m2[1] = 2 * m1[1] - m2[1];\n if (recursive) {\n return [m2, m3, m4].concat(res);\n } else {\n res = [m2, m3, m4].concat(res).join().split(\",\");\n var newres = [];\n for (var i = 0, ii = res.length; i < ii; i++) {\n newres[i] = i % 2 ? rotate(res[i - 1], res[i], rad).y : rotate(res[i], res[i + 1], rad).x;\n }\n return newres;\n }\n }\n function findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) {\n var t1 = 1 - t;\n return {\n x: pow(t1, 3) * p1x + pow(t1, 2) * 3 * t * c1x + t1 * 3 * t * t * c2x + pow(t, 3) * p2x,\n y: pow(t1, 3) * p1y + pow(t1, 2) * 3 * t * c1y + t1 * 3 * t * t * c2y + pow(t, 3) * p2y\n };\n }\n\n // Returns bounding box of cubic bezier curve.\n // Source: http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html\n // Original version: NISHIO Hirokazu\n // Modifications: https://github.com/timo22345\n function curveDim(x0, y0, x1, y1, x2, y2, x3, y3) {\n var tvalues = [],\n bounds = [[], []],\n a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n for (var i = 0; i < 2; ++i) {\n if (i == 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (abs(a) < 1e-12) {\n if (abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = math.sqrt(b2ac);\n if (b2ac < 0) {\n continue;\n }\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n var x, y, j = tvalues.length,\n jlen = j,\n mt;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3;\n bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n\n\n return {\n min: {x: mmin.apply(0, bounds[0]), y: mmin.apply(0, bounds[1])},\n max: {x: mmax.apply(0, bounds[0]), y: mmax.apply(0, bounds[1])}\n };\n }\n\n function path2curve(path, path2) {\n var pth = !path2 && paths(path);\n if (!path2 && pth.curve) {\n return pathClone(pth.curve);\n }\n var p = pathToAbsolute(path),\n p2 = path2 && pathToAbsolute(path2),\n attrs = {x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null},\n attrs2 = {x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null},\n processPath = function (path, d, pcom) {\n var nx, ny;\n if (!path) {\n return [\"C\", d.x, d.y, d.x, d.y, d.x, d.y];\n }\n !(path[0] in {T: 1, Q: 1}) && (d.qx = d.qy = null);\n switch (path[0]) {\n case \"M\":\n d.X = path[1];\n d.Y = path[2];\n break;\n case \"A\":\n path = [\"C\"].concat(a2c.apply(0, [d.x, d.y].concat(path.slice(1))));\n break;\n case \"S\":\n if (pcom == \"C\" || pcom == \"S\") { // In \"S\" case we have to take into account, if the previous command is C/S.\n nx = d.x * 2 - d.bx; // And reflect the previous\n ny = d.y * 2 - d.by; // command's control point relative to the current point.\n }\n else { // or some else or nothing\n nx = d.x;\n ny = d.y;\n }\n path = [\"C\", nx, ny].concat(path.slice(1));\n break;\n case \"T\":\n if (pcom == \"Q\" || pcom == \"T\") { // In \"T\" case we have to take into account, if the previous command is Q/T.\n d.qx = d.x * 2 - d.qx; // And make a reflection similar\n d.qy = d.y * 2 - d.qy; // to case \"S\".\n }\n else { // or something else or nothing\n d.qx = d.x;\n d.qy = d.y;\n }\n path = [\"C\"].concat(q2c(d.x, d.y, d.qx, d.qy, path[1], path[2]));\n break;\n case \"Q\":\n d.qx = path[1];\n d.qy = path[2];\n path = [\"C\"].concat(q2c(d.x, d.y, path[1], path[2], path[3], path[4]));\n break;\n case \"L\":\n path = [\"C\"].concat(l2c(d.x, d.y, path[1], path[2]));\n break;\n case \"H\":\n path = [\"C\"].concat(l2c(d.x, d.y, path[1], d.y));\n break;\n case \"V\":\n path = [\"C\"].concat(l2c(d.x, d.y, d.x, path[1]));\n break;\n case \"Z\":\n path = [\"C\"].concat(l2c(d.x, d.y, d.X, d.Y));\n break;\n }\n return path;\n },\n fixArc = function (pp, i) {\n if (pp[i].length > 7) {\n pp[i].shift();\n var pi = pp[i];\n while (pi.length) {\n pcoms1[i] = \"A\"; // if created multiple C:s, their original seg is saved\n p2 && (pcoms2[i] = \"A\"); // the same as above\n pp.splice(i++, 0, [\"C\"].concat(pi.splice(0, 6)));\n }\n pp.splice(i, 1);\n ii = mmax(p.length, p2 && p2.length || 0);\n }\n },\n fixM = function (path1, path2, a1, a2, i) {\n if (path1 && path2 && path1[i][0] == \"M\" && path2[i][0] != \"M\") {\n path2.splice(i, 0, [\"M\", a2.x, a2.y]);\n a1.bx = 0;\n a1.by = 0;\n a1.x = path1[i][1];\n a1.y = path1[i][2];\n ii = mmax(p.length, p2 && p2.length || 0);\n }\n },\n pcoms1 = [], // path commands of original path p\n pcoms2 = [], // path commands of original path p2\n pfirst = \"\", // temporary holder for original path command\n pcom = \"\"; // holder for previous path command of original path\n for (var i = 0, ii = mmax(p.length, p2 && p2.length || 0); i < ii; i++) {\n p[i] && (pfirst = p[i][0]); // save current path command\n\n if (pfirst != \"C\") // C is not saved yet, because it may be result of conversion\n {\n pcoms1[i] = pfirst; // Save current path command\n i && ( pcom = pcoms1[i - 1]); // Get previous path command pcom\n }\n p[i] = processPath(p[i], attrs, pcom); // Previous path command is inputted to processPath\n\n if (pcoms1[i] != \"A\" && pfirst == \"C\") pcoms1[i] = \"C\"; // A is the only command\n // which may produce multiple C:s\n // so we have to make sure that C is also C in original path\n\n fixArc(p, i); // fixArc adds also the right amount of A:s to pcoms1\n\n if (p2) { // the same procedures is done to p2\n p2[i] && (pfirst = p2[i][0]);\n if (pfirst != \"C\") {\n pcoms2[i] = pfirst;\n i && (pcom = pcoms2[i - 1]);\n }\n p2[i] = processPath(p2[i], attrs2, pcom);\n\n if (pcoms2[i] != \"A\" && pfirst == \"C\") {\n pcoms2[i] = \"C\";\n }\n\n fixArc(p2, i);\n }\n fixM(p, p2, attrs, attrs2, i);\n fixM(p2, p, attrs2, attrs, i);\n var seg = p[i],\n seg2 = p2 && p2[i],\n seglen = seg.length,\n seg2len = p2 && seg2.length;\n attrs.x = seg[seglen - 2];\n attrs.y = seg[seglen - 1];\n attrs.bx = toFloat(seg[seglen - 4]) || attrs.x;\n attrs.by = toFloat(seg[seglen - 3]) || attrs.y;\n attrs2.bx = p2 && (toFloat(seg2[seg2len - 4]) || attrs2.x);\n attrs2.by = p2 && (toFloat(seg2[seg2len - 3]) || attrs2.y);\n attrs2.x = p2 && seg2[seg2len - 2];\n attrs2.y = p2 && seg2[seg2len - 1];\n }\n if (!p2) {\n pth.curve = pathClone(p);\n }\n return p2 ? [p, p2] : p;\n }\n function mapPath(path, matrix) {\n if (!matrix) {\n return path;\n }\n var x, y, i, j, ii, jj, pathi;\n path = path2curve(path);\n for (i = 0, ii = path.length; i < ii; i++) {\n pathi = path[i];\n for (j = 1, jj = pathi.length; j < jj; j += 2) {\n x = matrix.x(pathi[j], pathi[j + 1]);\n y = matrix.y(pathi[j], pathi[j + 1]);\n pathi[j] = x;\n pathi[j + 1] = y;\n }\n }\n return path;\n }\n\n // http://schepers.cc/getting-to-the-point\n function catmullRom2bezier(crp, z) {\n var d = [];\n for (var i = 0, iLen = crp.length; iLen - 2 * !z > i; i += 2) {\n var p = [\n {x: +crp[i - 2], y: +crp[i - 1]},\n {x: +crp[i], y: +crp[i + 1]},\n {x: +crp[i + 2], y: +crp[i + 3]},\n {x: +crp[i + 4], y: +crp[i + 5]}\n ];\n if (z) {\n if (!i) {\n p[0] = {x: +crp[iLen - 2], y: +crp[iLen - 1]};\n } else if (iLen - 4 == i) {\n p[3] = {x: +crp[0], y: +crp[1]};\n } else if (iLen - 2 == i) {\n p[2] = {x: +crp[0], y: +crp[1]};\n p[3] = {x: +crp[2], y: +crp[3]};\n }\n } else {\n if (iLen - 4 == i) {\n p[3] = p[2];\n } else if (!i) {\n p[0] = {x: +crp[i], y: +crp[i + 1]};\n }\n }\n d.push([\"C\",\n (-p[0].x + 6 * p[1].x + p[2].x) / 6,\n (-p[0].y + 6 * p[1].y + p[2].y) / 6,\n (p[1].x + 6 * p[2].x - p[3].x) / 6,\n (p[1].y + 6*p[2].y - p[3].y) / 6,\n p[2].x,\n p[2].y\n ]);\n }\n\n return d;\n }\n\n // export\n Snap.path = paths;\n\n /*\\\n * Snap.path.getTotalLength\n [ method ]\n **\n * Returns the length of the given path in pixels\n **\n - path (string) SVG path string\n **\n = (number) length\n \\*/\n Snap.path.getTotalLength = getTotalLength;\n /*\\\n * Snap.path.getPointAtLength\n [ method ]\n **\n * Returns the coordinates of the point located at the given length along the given path\n **\n - path (string) SVG path string\n - length (number) length, in pixels, from the start of the path, excluding non-rendering jumps\n **\n = (object) representation of the point:\n o {\n o x: (number) x coordinate,\n o y: (number) y coordinate,\n o alpha: (number) angle of derivative\n o }\n \\*/\n Snap.path.getPointAtLength = getPointAtLength;\n /*\\\n * Snap.path.getSubpath\n [ method ]\n **\n * Returns the subpath of a given path between given start and end lengths\n **\n - path (string) SVG path string\n - from (number) length, in pixels, from the start of the path to the start of the segment\n - to (number) length, in pixels, from the start of the path to the end of the segment\n **\n = (string) path string definition for the segment\n \\*/\n Snap.path.getSubpath = function (path, from, to) {\n if (this.getTotalLength(path) - to < 1e-6) {\n return getSubpathsAtLength(path, from).end;\n }\n var a = getSubpathsAtLength(path, to, 1);\n return from ? getSubpathsAtLength(a, from).end : a;\n };\n /*\\\n * Element.getTotalLength\n [ method ]\n **\n * Returns the length of the path in pixels (only works for `path` elements)\n = (number) length\n \\*/\n elproto.getTotalLength = function () {\n if (this.node.getTotalLength) {\n return this.node.getTotalLength();\n }\n };\n // SIERRA Element.getPointAtLength()/Element.getTotalLength(): If a is broken into different segments, is the jump distance to the new coordinates set by the _M_ or _m_ commands calculated as part of the path's total length?\n /*\\\n * Element.getPointAtLength\n [ method ]\n **\n * Returns coordinates of the point located at the given length on the given path (only works for `path` elements)\n **\n - length (number) length, in pixels, from the start of the path, excluding non-rendering jumps\n **\n = (object) representation of the point:\n o {\n o x: (number) x coordinate,\n o y: (number) y coordinate,\n o alpha: (number) angle of derivative\n o }\n \\*/\n elproto.getPointAtLength = function (length) {\n return getPointAtLength(this.attr(\"d\"), length);\n };\n // SIERRA Element.getSubpath(): Similar to the problem for Element.getPointAtLength(). Unclear how this would work for a segmented path. Overall, the concept of _subpath_ and what I'm calling a _segment_ (series of non-_M_ or _Z_ commands) is unclear.\n /*\\\n * Element.getSubpath\n [ method ]\n **\n * Returns subpath of a given element from given start and end lengths (only works for `path` elements)\n **\n - from (number) length, in pixels, from the start of the path to the start of the segment\n - to (number) length, in pixels, from the start of the path to the end of the segment\n **\n = (string) path string definition for the segment\n \\*/\n elproto.getSubpath = function (from, to) {\n return Snap.path.getSubpath(this.attr(\"d\"), from, to);\n };\n Snap._.box = box;\n /*\\\n * Snap.path.findDotsAtSegment\n [ method ]\n **\n * Utility method\n **\n * Finds dot coordinates on the given cubic beziér curve at the given t\n - p1x (number) x of the first point of the curve\n - p1y (number) y of the first point of the curve\n - c1x (number) x of the first anchor of the curve\n - c1y (number) y of the first anchor of the curve\n - c2x (number) x of the second anchor of the curve\n - c2y (number) y of the second anchor of the curve\n - p2x (number) x of the second point of the curve\n - p2y (number) y of the second point of the curve\n - t (number) position on the curve (0..1)\n = (object) point information in format:\n o {\n o x: (number) x coordinate of the point,\n o y: (number) y coordinate of the point,\n o m: {\n o x: (number) x coordinate of the left anchor,\n o y: (number) y coordinate of the left anchor\n o },\n o n: {\n o x: (number) x coordinate of the right anchor,\n o y: (number) y coordinate of the right anchor\n o },\n o start: {\n o x: (number) x coordinate of the start of the curve,\n o y: (number) y coordinate of the start of the curve\n o },\n o end: {\n o x: (number) x coordinate of the end of the curve,\n o y: (number) y coordinate of the end of the curve\n o },\n o alpha: (number) angle of the curve derivative at the point\n o }\n \\*/\n Snap.path.findDotsAtSegment = findDotsAtSegment;\n /*\\\n * Snap.path.bezierBBox\n [ method ]\n **\n * Utility method\n **\n * Returns the bounding box of a given cubic beziér curve\n - p1x (number) x of the first point of the curve\n - p1y (number) y of the first point of the curve\n - c1x (number) x of the first anchor of the curve\n - c1y (number) y of the first anchor of the curve\n - c2x (number) x of the second anchor of the curve\n - c2y (number) y of the second anchor of the curve\n - p2x (number) x of the second point of the curve\n - p2y (number) y of the second point of the curve\n * or\n - bez (array) array of six points for beziér curve\n = (object) bounding box\n o {\n o x: (number) x coordinate of the left top point of the box,\n o y: (number) y coordinate of the left top point of the box,\n o x2: (number) x coordinate of the right bottom point of the box,\n o y2: (number) y coordinate of the right bottom point of the box,\n o width: (number) width of the box,\n o height: (number) height of the box\n o }\n \\*/\n Snap.path.bezierBBox = bezierBBox;\n /*\\\n * Snap.path.isPointInsideBBox\n [ method ]\n **\n * Utility method\n **\n * Returns `true` if given point is inside bounding box\n - bbox (string) bounding box\n - x (string) x coordinate of the point\n - y (string) y coordinate of the point\n = (boolean) `true` if point is inside\n \\*/\n Snap.path.isPointInsideBBox = isPointInsideBBox;\n Snap.closest = function (x, y, X, Y) {\n var r = 100,\n b = box(x - r / 2, y - r / 2, r, r),\n inside = [],\n getter = X[0].hasOwnProperty(\"x\") ? function (i) {\n return {\n x: X[i].x,\n y: X[i].y\n };\n } : function (i) {\n return {\n x: X[i],\n y: Y[i]\n };\n },\n found = 0;\n while (r <= 1e6 && !found) {\n for (var i = 0, ii = X.length; i < ii; i++) {\n var xy = getter(i);\n if (isPointInsideBBox(b, xy.x, xy.y)) {\n found++;\n inside.push(xy);\n break;\n }\n }\n if (!found) {\n r *= 2;\n b = box(x - r / 2, y - r / 2, r, r)\n }\n }\n if (r == 1e6) {\n return;\n }\n var len = Infinity,\n res;\n for (i = 0, ii = inside.length; i < ii; i++) {\n var l = Snap.len(x, y, inside[i].x, inside[i].y);\n if (len > l) {\n len = l;\n inside[i].len = l;\n res = inside[i];\n }\n }\n return res;\n };\n /*\\\n * Snap.path.isBBoxIntersect\n [ method ]\n **\n * Utility method\n **\n * Returns `true` if two bounding boxes intersect\n - bbox1 (string) first bounding box\n - bbox2 (string) second bounding box\n = (boolean) `true` if bounding boxes intersect\n \\*/\n Snap.path.isBBoxIntersect = isBBoxIntersect;\n /*\\\n * Snap.path.intersection\n [ method ]\n **\n * Utility method\n **\n * Finds intersections of two paths\n - path1 (string) path string\n - path2 (string) path string\n = (array) dots of intersection\n o [\n o {\n o x: (number) x coordinate of the point,\n o y: (number) y coordinate of the point,\n o t1: (number) t value for segment of path1,\n o t2: (number) t value for segment of path2,\n o segment1: (number) order number for segment of path1,\n o segment2: (number) order number for segment of path2,\n o bez1: (array) eight coordinates representing beziér curve for the segment of path1,\n o bez2: (array) eight coordinates representing beziér curve for the segment of path2\n o }\n o ]\n \\*/\n Snap.path.intersection = pathIntersection;\n Snap.path.intersectionNumber = pathIntersectionNumber;\n /*\\\n * Snap.path.isPointInside\n [ method ]\n **\n * Utility method\n **\n * Returns `true` if given point is inside a given closed path.\n *\n * Note: fill mode doesn’t affect the result of this method.\n - path (string) path string\n - x (number) x of the point\n - y (number) y of the point\n = (boolean) `true` if point is inside the path\n \\*/\n Snap.path.isPointInside = isPointInsidePath;\n /*\\\n * Snap.path.getBBox\n [ method ]\n **\n * Utility method\n **\n * Returns the bounding box of a given path\n - path (string) path string\n = (object) bounding box\n o {\n o x: (number) x coordinate of the left top point of the box,\n o y: (number) y coordinate of the left top point of the box,\n o x2: (number) x coordinate of the right bottom point of the box,\n o y2: (number) y coordinate of the right bottom point of the box,\n o width: (number) width of the box,\n o height: (number) height of the box\n o }\n \\*/\n Snap.path.getBBox = pathBBox;\n Snap.path.get = getPath;\n /*\\\n * Snap.path.toRelative\n [ method ]\n **\n * Utility method\n **\n * Converts path coordinates into relative values\n - path (string) path string\n = (array) path string\n \\*/\n Snap.path.toRelative = pathToRelative;\n /*\\\n * Snap.path.toAbsolute\n [ method ]\n **\n * Utility method\n **\n * Converts path coordinates into absolute values\n - path (string) path string\n = (array) path string\n \\*/\n Snap.path.toAbsolute = pathToAbsolute;\n /*\\\n * Snap.path.toCubic\n [ method ]\n **\n * Utility method\n **\n * Converts path to a new path where all segments are cubic beziér curves\n - pathString (string|array) path string or array of segments\n = (array) array of segments\n \\*/\n Snap.path.toCubic = path2curve;\n /*\\\n * Snap.path.map\n [ method ]\n **\n * Transform the path string with the given matrix\n - path (string) path string\n - matrix (object) see @Matrix\n = (string) transformed path string\n \\*/\n Snap.path.map = mapPath;\n Snap.path.toString = toString;\n Snap.path.clone = pathClone;\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob) {\n var mmax = Math.max,\n mmin = Math.min;\n\n // Set\n var Set = function (items) {\n this.items = [];\n\tthis.bindings = {};\n this.length = 0;\n this.type = \"set\";\n if (items) {\n for (var i = 0, ii = items.length; i < ii; i++) {\n if (items[i]) {\n this[this.items.length] = this.items[this.items.length] = items[i];\n this.length++;\n }\n }\n }\n },\n setproto = Set.prototype;\n /*\\\n * Set.push\n [ method ]\n **\n * Adds each argument to the current set\n = (object) original element\n \\*/\n setproto.push = function () {\n var item,\n len;\n for (var i = 0, ii = arguments.length; i < ii; i++) {\n item = arguments[i];\n if (item) {\n len = this.items.length;\n this[len] = this.items[len] = item;\n this.length++;\n }\n }\n return this;\n };\n /*\\\n * Set.pop\n [ method ]\n **\n * Removes last element and returns it\n = (object) element\n \\*/\n setproto.pop = function () {\n this.length && delete this[this.length--];\n return this.items.pop();\n };\n /*\\\n * Set.forEach\n [ method ]\n **\n * Executes given function for each element in the set\n *\n * If the function returns `false`, the loop stops running.\n **\n - callback (function) function to run\n - thisArg (object) context object for the callback\n = (object) Set object\n \\*/\n setproto.forEach = function (callback, thisArg) {\n for (var i = 0, ii = this.items.length; i < ii; i++) {\n if (callback.call(thisArg, this.items[i], i) === false) {\n return this;\n }\n }\n return this;\n };\n /*\\\n * Set.animate\n [ method ]\n **\n * Animates each element in set in sync.\n *\n **\n - attrs (object) key-value pairs of destination attributes\n - duration (number) duration of the animation in milliseconds\n - easing (function) #optional easing function from @mina or custom\n - callback (function) #optional callback function that executes when the animation ends\n * or\n - animation (array) array of animation parameter for each element in set in format `[attrs, duration, easing, callback]`\n > Usage\n | // animate all elements in set to radius 10\n | set.animate({r: 10}, 500, mina.easein);\n | // or\n | // animate first element to radius 10, but second to radius 20 and in different time\n | set.animate([{r: 10}, 500, mina.easein], [{r: 20}, 1500, mina.easein]);\n = (Element) the current element\n \\*/\n setproto.animate = function (attrs, ms, easing, callback) {\n if (typeof easing == \"function\" && !easing.length) {\n callback = easing;\n easing = mina.linear;\n }\n if (attrs instanceof Snap._.Animation) {\n callback = attrs.callback;\n easing = attrs.easing;\n ms = easing.dur;\n attrs = attrs.attr;\n }\n var args = arguments;\n if (Snap.is(attrs, \"array\") && Snap.is(args[args.length - 1], \"array\")) {\n var each = true;\n }\n var begin,\n handler = function () {\n if (begin) {\n this.b = begin;\n } else {\n begin = this.b;\n }\n },\n cb = 0,\n set = this,\n callbacker = callback && function () {\n if (++cb == set.length) {\n callback.call(this);\n }\n };\n return this.forEach(function (el, i) {\n eve.once(\"snap.animcreated.\" + el.id, handler);\n if (each) {\n args[i] && el.animate.apply(el, args[i]);\n } else {\n el.animate(attrs, ms, easing, callbacker);\n }\n });\n };\n /*\\\n * Set.remove\n [ method ]\n **\n * Removes all children of the set.\n *\n = (object) Set object\n \\*/\n setproto.remove = function () {\n while (this.length) {\n this.pop().remove();\n }\n return this;\n };\n /*\\\n * Set.bind\n [ method ]\n **\n * Specifies how to handle a specific attribute when applied\n * to a set.\n *\n **\n - attr (string) attribute name\n - callback (function) function to run\n * or\n - attr (string) attribute name\n - element (Element) specific element in the set to apply the attribute to\n * or\n - attr (string) attribute name\n - element (Element) specific element in the set to apply the attribute to\n - eattr (string) attribute on the element to bind the attribute to\n = (object) Set object\n \\*/\n setproto.bind = function (attr, a, b) {\n var data = {};\n if (typeof a == \"function\") {\n this.bindings[attr] = a;\n } else {\n var aname = b || attr;\n this.bindings[attr] = function (v) {\n data[aname] = v;\n a.attr(data);\n };\n }\n return this;\n };\n /*\\\n * Set.attr\n [ method ]\n **\n * Equivalent of @Element.attr.\n = (object) Set object\n \\*/\n setproto.attr = function (value) {\n var unbound = {};\n for (var k in value) {\n if (this.bindings[k]) {\n this.bindings[k](value[k]);\n } else {\n unbound[k] = value[k];\n }\n }\n for (var i = 0, ii = this.items.length; i < ii; i++) {\n this.items[i].attr(unbound);\n }\n return this;\n };\n /*\\\n * Set.clear\n [ method ]\n **\n * Removes all elements from the set\n \\*/\n setproto.clear = function () {\n while (this.length) {\n this.pop();\n }\n };\n /*\\\n * Set.splice\n [ method ]\n **\n * Removes range of elements from the set\n **\n - index (number) position of the deletion\n - count (number) number of element to remove\n - insertion… (object) #optional elements to insert\n = (object) set elements that were deleted\n \\*/\n setproto.splice = function (index, count, insertion) {\n index = index < 0 ? mmax(this.length + index, 0) : index;\n count = mmax(0, mmin(this.length - index, count));\n var tail = [],\n todel = [],\n args = [],\n i;\n for (i = 2; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n for (i = 0; i < count; i++) {\n todel.push(this[index + i]);\n }\n for (; i < this.length - index; i++) {\n tail.push(this[index + i]);\n }\n var arglen = args.length;\n for (i = 0; i < arglen + tail.length; i++) {\n this.items[index + i] = this[index + i] = i < arglen ? args[i] : tail[i - arglen];\n }\n i = this.items.length = this.length -= count - arglen;\n while (this[i]) {\n delete this[i++];\n }\n return new Set(todel);\n };\n /*\\\n * Set.exclude\n [ method ]\n **\n * Removes given element from the set\n **\n - element (object) element to remove\n = (boolean) `true` if object was found and removed from the set\n \\*/\n setproto.exclude = function (el) {\n for (var i = 0, ii = this.length; i < ii; i++) if (this[i] == el) {\n this.splice(i, 1);\n return true;\n }\n return false;\n };\n /*\\\n * Set.insertAfter\n [ method ]\n **\n * Inserts set elements after given element.\n **\n - element (object) set will be inserted after this element\n = (object) Set object\n \\*/\n setproto.insertAfter = function (el) {\n var i = this.items.length;\n while (i--) {\n this.items[i].insertAfter(el);\n }\n return this;\n };\n /*\\\n * Set.getBBox\n [ method ]\n **\n * Union of all bboxes of the set. See @Element.getBBox.\n = (object) bounding box descriptor. See @Element.getBBox.\n \\*/\n setproto.getBBox = function () {\n var x = [],\n y = [],\n x2 = [],\n y2 = [];\n for (var i = this.items.length; i--;) if (!this.items[i].removed) {\n var box = this.items[i].getBBox();\n x.push(box.x);\n y.push(box.y);\n x2.push(box.x + box.width);\n y2.push(box.y + box.height);\n }\n x = mmin.apply(0, x);\n y = mmin.apply(0, y);\n x2 = mmax.apply(0, x2);\n y2 = mmax.apply(0, y2);\n return {\n x: x,\n y: y,\n x2: x2,\n y2: y2,\n width: x2 - x,\n height: y2 - y,\n cx: x + (x2 - x) / 2,\n cy: y + (y2 - y) / 2\n };\n };\n /*\\\n * Set.insertAfter\n [ method ]\n **\n * Creates a clone of the set.\n **\n = (object) New Set object\n \\*/\n setproto.clone = function (s) {\n s = new Set;\n for (var i = 0, ii = this.items.length; i < ii; i++) {\n s.push(this.items[i].clone());\n }\n return s;\n };\n setproto.toString = function () {\n return \"Snap\\u2018s set\";\n };\n setproto.type = \"set\";\n // export\n /*\\\n * Snap.Set\n [ property ]\n **\n * Set constructor.\n \\*/\n Snap.Set = Set;\n /*\\\n * Snap.set\n [ method ]\n **\n * Creates a set and fills it with list of arguments.\n **\n = (object) New Set object\n | var r = paper.rect(0, 0, 10, 10),\n | s1 = Snap.set(), // empty set\n | s2 = Snap.set(r, paper.circle(100, 100, 20)); // prefilled set\n \\*/\n Snap.set = function () {\n var set = new Set;\n if (arguments.length) {\n set.push.apply(set, Array.prototype.slice.call(arguments, 0));\n }\n return set;\n };\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob) {\n var names = {},\n reUnit = /[%a-z]+$/i,\n Str = String;\n names.stroke = names.fill = \"colour\";\n function getEmpty(item) {\n var l = item[0];\n switch (l.toLowerCase()) {\n case \"t\": return [l, 0, 0];\n case \"m\": return [l, 1, 0, 0, 1, 0, 0];\n case \"r\": if (item.length == 4) {\n return [l, 0, item[2], item[3]];\n } else {\n return [l, 0];\n }\n case \"s\": if (item.length == 5) {\n return [l, 1, 1, item[3], item[4]];\n } else if (item.length == 3) {\n return [l, 1, 1];\n } else {\n return [l, 1];\n }\n }\n }\n function equaliseTransform(t1, t2, getBBox) {\n t1 = t1 || new Snap.Matrix;\n t2 = t2 || new Snap.Matrix;\n t1 = Snap.parseTransformString(t1.toTransformString()) || [];\n t2 = Snap.parseTransformString(t2.toTransformString()) || [];\n var maxlength = Math.max(t1.length, t2.length),\n from = [],\n to = [],\n i = 0, j, jj,\n tt1, tt2;\n for (; i < maxlength; i++) {\n tt1 = t1[i] || getEmpty(t2[i]);\n tt2 = t2[i] || getEmpty(tt1);\n if (tt1[0] != tt2[0] ||\n tt1[0].toLowerCase() == \"r\" && (tt1[2] != tt2[2] || tt1[3] != tt2[3]) ||\n tt1[0].toLowerCase() == \"s\" && (tt1[3] != tt2[3] || tt1[4] != tt2[4])\n ) {\n t1 = Snap._.transform2matrix(t1, getBBox());\n t2 = Snap._.transform2matrix(t2, getBBox());\n from = [[\"m\", t1.a, t1.b, t1.c, t1.d, t1.e, t1.f]];\n to = [[\"m\", t2.a, t2.b, t2.c, t2.d, t2.e, t2.f]];\n break;\n }\n from[i] = [];\n to[i] = [];\n for (j = 0, jj = Math.max(tt1.length, tt2.length); j < jj; j++) {\n j in tt1 && (from[i][j] = tt1[j]);\n j in tt2 && (to[i][j] = tt2[j]);\n }\n }\n return {\n from: path2array(from),\n to: path2array(to),\n f: getPath(from)\n };\n }\n function getNumber(val) {\n return val;\n }\n function getUnit(unit) {\n return function (val) {\n return +val.toFixed(3) + unit;\n };\n }\n function getViewBox(val) {\n return val.join(\" \");\n }\n function getColour(clr) {\n return Snap.rgb(clr[0], clr[1], clr[2], clr[3]);\n }\n function getPath(path) {\n var k = 0, i, ii, j, jj, out, a, b = [];\n for (i = 0, ii = path.length; i < ii; i++) {\n out = \"[\";\n a = ['\"' + path[i][0] + '\"'];\n for (j = 1, jj = path[i].length; j < jj; j++) {\n a[j] = \"val[\" + k++ + \"]\";\n }\n out += a + \"]\";\n b[i] = out;\n }\n return Function(\"val\", \"return Snap.path.toString.call([\" + b + \"])\");\n }\n function path2array(path) {\n var out = [];\n for (var i = 0, ii = path.length; i < ii; i++) {\n for (var j = 1, jj = path[i].length; j < jj; j++) {\n out.push(path[i][j]);\n }\n }\n return out;\n }\n function isNumeric(obj) {\n return isFinite(obj);\n }\n function arrayEqual(arr1, arr2) {\n if (!Snap.is(arr1, \"array\") || !Snap.is(arr2, \"array\")) {\n return false;\n }\n return arr1.toString() == arr2.toString();\n }\n Element.prototype.equal = function (name, b) {\n return eve(\"snap.util.equal\", this, name, b).firstDefined();\n };\n eve.on(\"snap.util.equal\", function (name, b) {\n var A, B, a = Str(this.attr(name) || \"\"),\n el = this;\n if (names[name] == \"colour\") {\n A = Snap.color(a);\n B = Snap.color(b);\n return {\n from: [A.r, A.g, A.b, A.opacity],\n to: [B.r, B.g, B.b, B.opacity],\n f: getColour\n };\n }\n if (name == \"viewBox\") {\n A = this.attr(name).vb.split(\" \").map(Number);\n B = b.split(\" \").map(Number);\n return {\n from: A,\n to: B,\n f: getViewBox\n };\n }\n if (name == \"transform\" || name == \"gradientTransform\" || name == \"patternTransform\") {\n if (typeof b == \"string\") {\n b = Str(b).replace(/\\.{3}|\\u2026/g, a);\n }\n a = this.matrix;\n if (!Snap._.rgTransform.test(b)) {\n b = Snap._.transform2matrix(Snap._.svgTransform2string(b), this.getBBox());\n } else {\n b = Snap._.transform2matrix(b, this.getBBox());\n }\n return equaliseTransform(a, b, function () {\n return el.getBBox(1);\n });\n }\n if (name == \"d\" || name == \"path\") {\n A = Snap.path.toCubic(a, b);\n return {\n from: path2array(A[0]),\n to: path2array(A[1]),\n f: getPath(A[0])\n };\n }\n if (name == \"points\") {\n A = Str(a).split(Snap._.separator);\n B = Str(b).split(Snap._.separator);\n return {\n from: A,\n to: B,\n f: function (val) { return val; }\n };\n }\n if (isNumeric(a) && isNumeric(b)) {\n return {\n from: parseFloat(a),\n to: parseFloat(b),\n f: getNumber\n };\n }\n var aUnit = a.match(reUnit),\n bUnit = Str(b).match(reUnit);\n if (aUnit && arrayEqual(aUnit, bUnit)) {\n return {\n from: parseFloat(a),\n to: parseFloat(b),\n f: getUnit(aUnit)\n };\n } else {\n return {\n from: this.asPX(name),\n to: this.asPX(name, b),\n f: getNumber\n };\n }\n });\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n// \n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n// \n// http://www.apache.org/licenses/LICENSE-2.0\n// \n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob) {\n var elproto = Element.prototype,\n has = \"hasOwnProperty\",\n supportsTouch = \"createTouch\" in glob.doc,\n events = [\n \"click\", \"dblclick\", \"mousedown\", \"mousemove\", \"mouseout\",\n \"mouseover\", \"mouseup\", \"touchstart\", \"touchmove\", \"touchend\",\n \"touchcancel\"\n ],\n touchMap = {\n mousedown: \"touchstart\",\n mousemove: \"touchmove\",\n mouseup: \"touchend\"\n },\n getScroll = function (xy, el) {\n var name = xy == \"y\" ? \"scrollTop\" : \"scrollLeft\",\n doc = el && el.node ? el.node.ownerDocument : glob.doc;\n return doc[name in doc.documentElement ? \"documentElement\" : \"body\"][name];\n },\n preventDefault = function () {\n this.returnValue = false;\n },\n preventTouch = function () {\n return this.originalEvent.preventDefault();\n },\n stopPropagation = function () {\n this.cancelBubble = true;\n },\n stopTouch = function () {\n return this.originalEvent.stopPropagation();\n },\n addEvent = function (obj, type, fn, element) {\n var realName = supportsTouch && touchMap[type] ? touchMap[type] : type,\n f = function (e) {\n var scrollY = getScroll(\"y\", element),\n scrollX = getScroll(\"x\", element);\n if (supportsTouch && touchMap[has](type)) {\n for (var i = 0, ii = e.targetTouches && e.targetTouches.length; i < ii; i++) {\n if (e.targetTouches[i].target == obj || obj.contains(e.targetTouches[i].target)) {\n var olde = e;\n e = e.targetTouches[i];\n e.originalEvent = olde;\n e.preventDefault = preventTouch;\n e.stopPropagation = stopTouch;\n break;\n }\n }\n }\n var x = e.clientX + scrollX,\n y = e.clientY + scrollY;\n return fn.call(element, e, x, y);\n };\n\n if (type !== realName) {\n obj.addEventListener(type, f, false);\n }\n\n obj.addEventListener(realName, f, false);\n\n return function () {\n if (type !== realName) {\n obj.removeEventListener(type, f, false);\n }\n\n obj.removeEventListener(realName, f, false);\n return true;\n };\n },\n drag = [],\n dragMove = function (e) {\n var x = e.clientX,\n y = e.clientY,\n scrollY = getScroll(\"y\"),\n scrollX = getScroll(\"x\"),\n dragi,\n j = drag.length;\n while (j--) {\n dragi = drag[j];\n if (supportsTouch) {\n var i = e.touches && e.touches.length,\n touch;\n while (i--) {\n touch = e.touches[i];\n if (touch.identifier == dragi.el._drag.id || dragi.el.node.contains(touch.target)) {\n x = touch.clientX;\n y = touch.clientY;\n (e.originalEvent ? e.originalEvent : e).preventDefault();\n break;\n }\n }\n } else {\n e.preventDefault();\n }\n var node = dragi.el.node,\n o,\n next = node.nextSibling,\n parent = node.parentNode,\n display = node.style.display;\n // glob.win.opera && parent.removeChild(node);\n // node.style.display = \"none\";\n // o = dragi.el.paper.getElementByPoint(x, y);\n // node.style.display = display;\n // glob.win.opera && (next ? parent.insertBefore(node, next) : parent.appendChild(node));\n // o && eve(\"snap.drag.over.\" + dragi.el.id, dragi.el, o);\n x += scrollX;\n y += scrollY;\n eve(\"snap.drag.move.\" + dragi.el.id, dragi.move_scope || dragi.el, x - dragi.el._drag.x, y - dragi.el._drag.y, x, y, e);\n }\n },\n dragUp = function (e) {\n Snap.unmousemove(dragMove).unmouseup(dragUp);\n var i = drag.length,\n dragi;\n while (i--) {\n dragi = drag[i];\n dragi.el._drag = {};\n eve(\"snap.drag.end.\" + dragi.el.id, dragi.end_scope || dragi.start_scope || dragi.move_scope || dragi.el, e);\n eve.off(\"snap.drag.*.\" + dragi.el.id);\n }\n drag = [];\n };\n /*\\\n * Element.click\n [ method ]\n **\n * Adds a click event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unclick\n [ method ]\n **\n * Removes a click event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.dblclick\n [ method ]\n **\n * Adds a double click event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.undblclick\n [ method ]\n **\n * Removes a double click event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.mousedown\n [ method ]\n **\n * Adds a mousedown event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unmousedown\n [ method ]\n **\n * Removes a mousedown event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.mousemove\n [ method ]\n **\n * Adds a mousemove event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unmousemove\n [ method ]\n **\n * Removes a mousemove event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.mouseout\n [ method ]\n **\n * Adds a mouseout event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unmouseout\n [ method ]\n **\n * Removes a mouseout event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.mouseover\n [ method ]\n **\n * Adds a mouseover event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unmouseover\n [ method ]\n **\n * Removes a mouseover event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.mouseup\n [ method ]\n **\n * Adds a mouseup event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.unmouseup\n [ method ]\n **\n * Removes a mouseup event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.touchstart\n [ method ]\n **\n * Adds a touchstart event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.untouchstart\n [ method ]\n **\n * Removes a touchstart event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.touchmove\n [ method ]\n **\n * Adds a touchmove event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.untouchmove\n [ method ]\n **\n * Removes a touchmove event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.touchend\n [ method ]\n **\n * Adds a touchend event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.untouchend\n [ method ]\n **\n * Removes a touchend event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n \n /*\\\n * Element.touchcancel\n [ method ]\n **\n * Adds a touchcancel event handler to the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n /*\\\n * Element.untouchcancel\n [ method ]\n **\n * Removes a touchcancel event handler from the element\n - handler (function) handler for the event\n = (object) @Element\n \\*/\n for (var i = events.length; i--;) {\n (function (eventName) {\n Snap[eventName] = elproto[eventName] = function (fn, scope) {\n if (Snap.is(fn, \"function\")) {\n this.events = this.events || [];\n this.events.push({\n name: eventName,\n f: fn,\n unbind: addEvent(this.node || document, eventName, fn, scope || this)\n });\n } else {\n for (var i = 0, ii = this.events.length; i < ii; i++) if (this.events[i].name == eventName) {\n try {\n this.events[i].f.call(this);\n } catch (e) {}\n }\n }\n return this;\n };\n Snap[\"un\" + eventName] =\n elproto[\"un\" + eventName] = function (fn) {\n var events = this.events || [],\n l = events.length;\n while (l--) if (events[l].name == eventName &&\n (events[l].f == fn || !fn)) {\n events[l].unbind();\n events.splice(l, 1);\n !events.length && delete this.events;\n return this;\n }\n return this;\n };\n })(events[i]);\n }\n /*\\\n * Element.hover\n [ method ]\n **\n * Adds hover event handlers to the element\n - f_in (function) handler for hover in\n - f_out (function) handler for hover out\n - icontext (object) #optional context for hover in handler\n - ocontext (object) #optional context for hover out handler\n = (object) @Element\n \\*/\n elproto.hover = function (f_in, f_out, scope_in, scope_out) {\n return this.mouseover(f_in, scope_in).mouseout(f_out, scope_out || scope_in);\n };\n /*\\\n * Element.unhover\n [ method ]\n **\n * Removes hover event handlers from the element\n - f_in (function) handler for hover in\n - f_out (function) handler for hover out\n = (object) @Element\n \\*/\n elproto.unhover = function (f_in, f_out) {\n return this.unmouseover(f_in).unmouseout(f_out);\n };\n var draggable = [];\n // SIERRA unclear what _context_ refers to for starting, ending, moving the drag gesture.\n // SIERRA Element.drag(): _x position of the mouse_: Where are the x/y values offset from?\n // SIERRA Element.drag(): much of this member's doc appears to be duplicated for some reason.\n // SIERRA Unclear about this sentence: _Additionally following drag events will be triggered: drag.start. on start, drag.end. on end and drag.move. on every move._ Is there a global _drag_ object to which you can assign handlers keyed by an element's ID?\n /*\\\n * Element.drag\n [ method ]\n **\n * Adds event handlers for an element's drag gesture\n **\n - onmove (function) handler for moving\n - onstart (function) handler for drag start\n - onend (function) handler for drag end\n - mcontext (object) #optional context for moving handler\n - scontext (object) #optional context for drag start handler\n - econtext (object) #optional context for drag end handler\n * Additionaly following `drag` events are triggered: `drag.start.` on start, \n * `drag.end.` on end and `drag.move.` on every move. When element is dragged over another element \n * `drag.over.` fires as well.\n *\n * Start event and start handler are called in specified context or in context of the element with following parameters:\n o x (number) x position of the mouse\n o y (number) y position of the mouse\n o event (object) DOM event object\n * Move event and move handler are called in specified context or in context of the element with following parameters:\n o dx (number) shift by x from the start point\n o dy (number) shift by y from the start point\n o x (number) x position of the mouse\n o y (number) y position of the mouse\n o event (object) DOM event object\n * End event and end handler are called in specified context or in context of the element with following parameters:\n o event (object) DOM event object\n = (object) @Element\n \\*/\n elproto.drag = function (onmove, onstart, onend, move_scope, start_scope, end_scope) {\n var el = this;\n if (!arguments.length) {\n var origTransform;\n return el.drag(function (dx, dy) {\n this.attr({\n transform: origTransform + (origTransform ? \"T\" : \"t\") + [dx, dy]\n });\n }, function () {\n origTransform = this.transform().local;\n });\n }\n function start(e, x, y) {\n (e.originalEvent || e).preventDefault();\n el._drag.x = x;\n el._drag.y = y;\n el._drag.id = e.identifier;\n !drag.length && Snap.mousemove(dragMove).mouseup(dragUp);\n drag.push({el: el, move_scope: move_scope, start_scope: start_scope, end_scope: end_scope});\n onstart && eve.on(\"snap.drag.start.\" + el.id, onstart);\n onmove && eve.on(\"snap.drag.move.\" + el.id, onmove);\n onend && eve.on(\"snap.drag.end.\" + el.id, onend);\n eve(\"snap.drag.start.\" + el.id, start_scope || move_scope || el, x, y, e);\n }\n function init(e, x, y) {\n eve(\"snap.draginit.\" + el.id, el, e, x, y);\n }\n eve.on(\"snap.draginit.\" + el.id, start);\n el._drag = {};\n draggable.push({el: el, start: start, init: init});\n el.mousedown(init);\n return el;\n };\n /*\n * Element.onDragOver\n [ method ]\n **\n * Shortcut to assign event handler for `drag.over.` event, where `id` is the element's `id` (see @Element.id)\n - f (function) handler for event, first argument would be the element you are dragging over\n \\*/\n // elproto.onDragOver = function (f) {\n // f ? eve.on(\"snap.drag.over.\" + this.id, f) : eve.unbind(\"snap.drag.over.\" + this.id);\n // };\n /*\\\n * Element.undrag\n [ method ]\n **\n * Removes all drag event handlers from the given element\n \\*/\n elproto.undrag = function () {\n var i = draggable.length;\n while (i--) if (draggable[i].el == this) {\n this.unmousedown(draggable[i].init);\n draggable.splice(i, 1);\n eve.unbind(\"snap.drag.*.\" + this.id);\n eve.unbind(\"snap.draginit.\" + this.id);\n }\n !draggable.length && Snap.unmousemove(dragMove).unmouseup(dragUp);\n return this;\n };\n});\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob) {\n var elproto = Element.prototype,\n pproto = Paper.prototype,\n rgurl = /^\\s*url\\((.+)\\)/,\n Str = String,\n $ = Snap._.$;\n Snap.filter = {};\n /*\\\n * Paper.filter\n [ method ]\n **\n * Creates a `` element\n **\n - filstr (string) SVG fragment of filter provided as a string\n = (object) @Element\n * Note: It is recommended to use filters embedded into the page inside an empty SVG element.\n > Usage\n | var f = paper.filter(''),\n | c = paper.circle(10, 10, 10).attr({\n | filter: f\n | });\n \\*/\n pproto.filter = function (filstr) {\n var paper = this;\n if (paper.type != \"svg\") {\n paper = paper.paper;\n }\n var f = Snap.parse(Str(filstr)),\n id = Snap._.id(),\n width = paper.node.offsetWidth,\n height = paper.node.offsetHeight,\n filter = $(\"filter\");\n $(filter, {\n id: id,\n filterUnits: \"userSpaceOnUse\"\n });\n filter.appendChild(f.node);\n paper.defs.appendChild(filter);\n return new Element(filter);\n };\n\n eve.on(\"snap.util.getattr.filter\", function () {\n eve.stop();\n var p = $(this.node, \"filter\");\n if (p) {\n var match = Str(p).match(rgurl);\n return match && Snap.select(match[1]);\n }\n });\n eve.on(\"snap.util.attr.filter\", function (value) {\n if (value instanceof Element && value.type == \"filter\") {\n eve.stop();\n var id = value.node.id;\n if (!id) {\n $(value.node, {id: value.id});\n id = value.id;\n }\n $(this.node, {\n filter: Snap.url(id)\n });\n }\n if (!value || value == \"none\") {\n eve.stop();\n this.node.removeAttribute(\"filter\");\n }\n });\n /*\\\n * Snap.filter.blur\n [ method ]\n **\n * Returns an SVG markup string for the blur filter\n **\n - x (number) amount of horizontal blur, in pixels\n - y (number) #optional amount of vertical blur, in pixels\n = (string) filter representation\n > Usage\n | var f = paper.filter(Snap.filter.blur(5, 10)),\n | c = paper.circle(10, 10, 10).attr({\n | filter: f\n | });\n \\*/\n Snap.filter.blur = function (x, y) {\n if (x == null) {\n x = 2;\n }\n var def = y == null ? x : [x, y];\n return Snap.format('\\', {\n def: def\n });\n };\n Snap.filter.blur.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.shadow\n [ method ]\n **\n * Returns an SVG markup string for the shadow filter\n **\n - dx (number) #optional horizontal shift of the shadow, in pixels\n - dy (number) #optional vertical shift of the shadow, in pixels\n - blur (number) #optional amount of blur\n - color (string) #optional color of the shadow\n - opacity (number) #optional `0..1` opacity of the shadow\n * or\n - dx (number) #optional horizontal shift of the shadow, in pixels\n - dy (number) #optional vertical shift of the shadow, in pixels\n - color (string) #optional color of the shadow\n - opacity (number) #optional `0..1` opacity of the shadow\n * which makes blur default to `4`. Or\n - dx (number) #optional horizontal shift of the shadow, in pixels\n - dy (number) #optional vertical shift of the shadow, in pixels\n - opacity (number) #optional `0..1` opacity of the shadow\n = (string) filter representation\n > Usage\n | var f = paper.filter(Snap.filter.shadow(0, 2, .3)),\n | c = paper.circle(10, 10, 10).attr({\n | filter: f\n | });\n \\*/\n Snap.filter.shadow = function (dx, dy, blur, color, opacity) {\n if (opacity == null) {\n if (color == null) {\n opacity = blur;\n blur = 4;\n color = \"#000\";\n } else {\n opacity = color;\n color = blur;\n blur = 4;\n }\n }\n if (blur == null) {\n blur = 4;\n }\n if (opacity == null) {\n opacity = 1;\n }\n if (dx == null) {\n dx = 0;\n dy = 2;\n }\n if (dy == null) {\n dy = dx;\n }\n color = Snap.color(color);\n return Snap.format('', {\n color: color,\n dx: dx,\n dy: dy,\n blur: blur,\n opacity: opacity\n });\n };\n Snap.filter.shadow.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.grayscale\n [ method ]\n **\n * Returns an SVG markup string for the grayscale filter\n **\n - amount (number) amount of filter (`0..1`)\n = (string) filter representation\n \\*/\n Snap.filter.grayscale = function (amount) {\n if (amount == null) {\n amount = 1;\n }\n return Snap.format('', {\n a: 0.2126 + 0.7874 * (1 - amount),\n b: 0.7152 - 0.7152 * (1 - amount),\n c: 0.0722 - 0.0722 * (1 - amount),\n d: 0.2126 - 0.2126 * (1 - amount),\n e: 0.7152 + 0.2848 * (1 - amount),\n f: 0.0722 - 0.0722 * (1 - amount),\n g: 0.2126 - 0.2126 * (1 - amount),\n h: 0.0722 + 0.9278 * (1 - amount)\n });\n };\n Snap.filter.grayscale.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.sepia\n [ method ]\n **\n * Returns an SVG markup string for the sepia filter\n **\n - amount (number) amount of filter (`0..1`)\n = (string) filter representation\n \\*/\n Snap.filter.sepia = function (amount) {\n if (amount == null) {\n amount = 1;\n }\n return Snap.format('', {\n a: 0.393 + 0.607 * (1 - amount),\n b: 0.769 - 0.769 * (1 - amount),\n c: 0.189 - 0.189 * (1 - amount),\n d: 0.349 - 0.349 * (1 - amount),\n e: 0.686 + 0.314 * (1 - amount),\n f: 0.168 - 0.168 * (1 - amount),\n g: 0.272 - 0.272 * (1 - amount),\n h: 0.534 - 0.534 * (1 - amount),\n i: 0.131 + 0.869 * (1 - amount)\n });\n };\n Snap.filter.sepia.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.saturate\n [ method ]\n **\n * Returns an SVG markup string for the saturate filter\n **\n - amount (number) amount of filter (`0..1`)\n = (string) filter representation\n \\*/\n Snap.filter.saturate = function (amount) {\n if (amount == null) {\n amount = 1;\n }\n return Snap.format('', {\n amount: 1 - amount\n });\n };\n Snap.filter.saturate.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.hueRotate\n [ method ]\n **\n * Returns an SVG markup string for the hue-rotate filter\n **\n - angle (number) angle of rotation\n = (string) filter representation\n \\*/\n Snap.filter.hueRotate = function (angle) {\n angle = angle || 0;\n return Snap.format('', {\n angle: angle\n });\n };\n Snap.filter.hueRotate.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.invert\n [ method ]\n **\n * Returns an SVG markup string for the invert filter\n **\n - amount (number) amount of filter (`0..1`)\n = (string) filter representation\n \\*/\n Snap.filter.invert = function (amount) {\n if (amount == null) {\n amount = 1;\n }\n// \n return Snap.format('', {\n amount: amount,\n amount2: 1 - amount\n });\n };\n Snap.filter.invert.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.brightness\n [ method ]\n **\n * Returns an SVG markup string for the brightness filter\n **\n - amount (number) amount of filter (`0..1`)\n = (string) filter representation\n \\*/\n Snap.filter.brightness = function (amount) {\n if (amount == null) {\n amount = 1;\n }\n return Snap.format('', {\n amount: amount\n });\n };\n Snap.filter.brightness.toString = function () {\n return this();\n };\n /*\\\n * Snap.filter.contrast\n [ method ]\n **\n * Returns an SVG markup string for the contrast filter\n **\n - amount (number) amount of filter (`0..1`)\n = (string) filter representation\n \\*/\n Snap.filter.contrast = function (amount) {\n if (amount == null) {\n amount = 1;\n }\n return Snap.format('', {\n amount: amount,\n amount2: .5 - amount / 2\n });\n };\n Snap.filter.contrast.toString = function () {\n return this();\n };\n});\n\n// Copyright (c) 2014 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var box = Snap._.box,\n is = Snap.is,\n firstLetter = /^[^a-z]*([tbmlrc])/i,\n toString = function () {\n return \"T\" + this.dx + \",\" + this.dy;\n };\n /*\\\n * Element.getAlign\n [ method ]\n **\n * Returns shift needed to align the element relatively to given element.\n * If no elements specified, parent `` container will be used.\n - el (object) @optional alignment element\n - way (string) one of six values: `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"left\"`, `\"center\"`, `\"right\"`\n = (object|string) Object in format `{dx: , dy: }` also has a string representation as a transformation string\n > Usage\n | el.transform(el.getAlign(el2, \"top\"));\n * or\n | var dy = el.getAlign(el2, \"top\").dy;\n \\*/\n Element.prototype.getAlign = function (el, way) {\n if (way == null && is(el, \"string\")) {\n way = el;\n el = null;\n }\n el = el || this.paper;\n var bx = el.getBBox ? el.getBBox() : box(el),\n bb = this.getBBox(),\n out = {};\n way = way && way.match(firstLetter);\n way = way ? way[1].toLowerCase() : \"c\";\n switch (way) {\n case \"t\":\n out.dx = 0;\n out.dy = bx.y - bb.y;\n break;\n case \"b\":\n out.dx = 0;\n out.dy = bx.y2 - bb.y2;\n break;\n case \"m\":\n out.dx = 0;\n out.dy = bx.cy - bb.cy;\n break;\n case \"l\":\n out.dx = bx.x - bb.x;\n out.dy = 0;\n break;\n case \"r\":\n out.dx = bx.x2 - bb.x2;\n out.dy = 0;\n break;\n default:\n out.dx = bx.cx - bb.cx;\n out.dy = 0;\n break;\n }\n out.toString = toString;\n return out;\n };\n /*\\\n * Element.align\n [ method ]\n **\n * Aligns the element relatively to given one via transformation.\n * If no elements specified, parent `` container will be used.\n - el (object) @optional alignment element\n - way (string) one of six values: `\"top\"`, `\"middle\"`, `\"bottom\"`, `\"left\"`, `\"center\"`, `\"right\"`\n = (object) this element\n > Usage\n | el.align(el2, \"top\");\n * or\n | el.align(\"middle\");\n \\*/\n Element.prototype.align = function (el, way) {\n return this.transform(\"...\" + this.getAlign(el, way));\n };\n});\n\n// Copyright (c) 2016 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var elproto = Element.prototype,\n is = Snap.is,\n Str = String,\n has = \"hasOwnProperty\";\n function slice(from, to, f) {\n return function (arr) {\n var res = arr.slice(from, to);\n if (res.length == 1) {\n res = res[0];\n }\n return f ? f(res) : res;\n };\n }\n var Animation = function (attr, ms, easing, callback) {\n if (typeof easing == \"function\" && !easing.length) {\n callback = easing;\n easing = mina.linear;\n }\n this.attr = attr;\n this.dur = ms;\n easing && (this.easing = easing);\n callback && (this.callback = callback);\n };\n Snap._.Animation = Animation;\n /*\\\n * Snap.animation\n [ method ]\n **\n * Creates an animation object\n **\n - attr (object) attributes of final destination\n - duration (number) duration of the animation, in milliseconds\n - easing (function) #optional one of easing functions of @mina or custom one\n - callback (function) #optional callback function that fires when animation ends\n = (object) animation object\n \\*/\n Snap.animation = function (attr, ms, easing, callback) {\n return new Animation(attr, ms, easing, callback);\n };\n /*\\\n * Element.inAnim\n [ method ]\n **\n * Returns a set of animations that may be able to manipulate the current element\n **\n = (object) in format:\n o {\n o anim (object) animation object,\n o mina (object) @mina object,\n o curStatus (number) 0..1 — status of the animation: 0 — just started, 1 — just finished,\n o status (function) gets or sets the status of the animation,\n o stop (function) stops the animation\n o }\n \\*/\n elproto.inAnim = function () {\n var el = this,\n res = [];\n for (var id in el.anims) if (el.anims[has](id)) {\n (function (a) {\n res.push({\n anim: new Animation(a._attrs, a.dur, a.easing, a._callback),\n mina: a,\n curStatus: a.status(),\n status: function (val) {\n return a.status(val);\n },\n stop: function () {\n a.stop();\n }\n });\n }(el.anims[id]));\n }\n return res;\n };\n /*\\\n * Snap.animate\n [ method ]\n **\n * Runs generic animation of one number into another with a caring function\n **\n - from (number|array) number or array of numbers\n - to (number|array) number or array of numbers\n - setter (function) caring function that accepts one number argument\n - duration (number) duration, in milliseconds\n - easing (function) #optional easing function from @mina or custom\n - callback (function) #optional callback function to execute when animation ends\n = (object) animation object in @mina format\n o {\n o id (string) animation id, consider it read-only,\n o duration (function) gets or sets the duration of the animation,\n o easing (function) easing,\n o speed (function) gets or sets the speed of the animation,\n o status (function) gets or sets the status of the animation,\n o stop (function) stops the animation\n o }\n | var rect = Snap().rect(0, 0, 10, 10);\n | Snap.animate(0, 10, function (val) {\n | rect.attr({\n | x: val\n | });\n | }, 1000);\n | // in given context is equivalent to\n | rect.animate({x: 10}, 1000);\n \\*/\n Snap.animate = function (from, to, setter, ms, easing, callback) {\n if (typeof easing == \"function\" && !easing.length) {\n callback = easing;\n easing = mina.linear;\n }\n var now = mina.time(),\n anim = mina(from, to, now, now + ms, mina.time, setter, easing);\n callback && eve.once(\"mina.finish.\" + anim.id, callback);\n return anim;\n };\n /*\\\n * Element.stop\n [ method ]\n **\n * Stops all the animations for the current element\n **\n = (Element) the current element\n \\*/\n elproto.stop = function () {\n var anims = this.inAnim();\n for (var i = 0, ii = anims.length; i < ii; i++) {\n anims[i].stop();\n }\n return this;\n };\n /*\\\n * Element.animate\n [ method ]\n **\n * Animates the given attributes of the element\n **\n - attrs (object) key-value pairs of destination attributes\n - duration (number) duration of the animation in milliseconds\n - easing (function) #optional easing function from @mina or custom\n - callback (function) #optional callback function that executes when the animation ends\n = (Element) the current element\n \\*/\n elproto.animate = function (attrs, ms, easing, callback) {\n if (typeof easing == \"function\" && !easing.length) {\n callback = easing;\n easing = mina.linear;\n }\n if (attrs instanceof Animation) {\n callback = attrs.callback;\n easing = attrs.easing;\n ms = attrs.dur;\n attrs = attrs.attr;\n }\n var fkeys = [], tkeys = [], keys = {}, from, to, f, eq,\n el = this;\n for (var key in attrs) if (attrs[has](key)) {\n if (el.equal) {\n eq = el.equal(key, Str(attrs[key]));\n from = eq.from;\n to = eq.to;\n f = eq.f;\n } else {\n from = +el.attr(key);\n to = +attrs[key];\n }\n var len = is(from, \"array\") ? from.length : 1;\n keys[key] = slice(fkeys.length, fkeys.length + len, f);\n fkeys = fkeys.concat(from);\n tkeys = tkeys.concat(to);\n }\n var now = mina.time(),\n anim = mina(fkeys, tkeys, now, now + ms, mina.time, function (val) {\n var attr = {};\n for (var key in keys) if (keys[has](key)) {\n attr[key] = keys[key](val);\n }\n el.attr(attr);\n }, easing);\n el.anims[anim.id] = anim;\n anim._attrs = attrs;\n anim._callback = callback;\n eve(\"snap.animcreated.\" + el.id, anim);\n eve.once(\"mina.finish.\" + anim.id, function () {\n eve.off(\"mina.*.\" + anim.id);\n delete el.anims[anim.id];\n callback && callback.call(el);\n });\n eve.once(\"mina.stop.\" + anim.id, function () {\n eve.off(\"mina.*.\" + anim.id);\n delete el.anims[anim.id];\n });\n return el;\n };\n});\n\n// Copyright (c) 2017 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob) {\n // Colours are from https://www.materialui.co\n var red = \"#ffebee#ffcdd2#ef9a9a#e57373#ef5350#f44336#e53935#d32f2f#c62828#b71c1c#ff8a80#ff5252#ff1744#d50000\",\n pink = \"#FCE4EC#F8BBD0#F48FB1#F06292#EC407A#E91E63#D81B60#C2185B#AD1457#880E4F#FF80AB#FF4081#F50057#C51162\",\n purple = \"#F3E5F5#E1BEE7#CE93D8#BA68C8#AB47BC#9C27B0#8E24AA#7B1FA2#6A1B9A#4A148C#EA80FC#E040FB#D500F9#AA00FF\",\n deeppurple = \"#EDE7F6#D1C4E9#B39DDB#9575CD#7E57C2#673AB7#5E35B1#512DA8#4527A0#311B92#B388FF#7C4DFF#651FFF#6200EA\",\n indigo = \"#E8EAF6#C5CAE9#9FA8DA#7986CB#5C6BC0#3F51B5#3949AB#303F9F#283593#1A237E#8C9EFF#536DFE#3D5AFE#304FFE\",\n blue = \"#E3F2FD#BBDEFB#90CAF9#64B5F6#64B5F6#2196F3#1E88E5#1976D2#1565C0#0D47A1#82B1FF#448AFF#2979FF#2962FF\",\n lightblue = \"#E1F5FE#B3E5FC#81D4FA#4FC3F7#29B6F6#03A9F4#039BE5#0288D1#0277BD#01579B#80D8FF#40C4FF#00B0FF#0091EA\",\n cyan = \"#E0F7FA#B2EBF2#80DEEA#4DD0E1#26C6DA#00BCD4#00ACC1#0097A7#00838F#006064#84FFFF#18FFFF#00E5FF#00B8D4\",\n teal = \"#E0F2F1#B2DFDB#80CBC4#4DB6AC#26A69A#009688#00897B#00796B#00695C#004D40#A7FFEB#64FFDA#1DE9B6#00BFA5\",\n green = \"#E8F5E9#C8E6C9#A5D6A7#81C784#66BB6A#4CAF50#43A047#388E3C#2E7D32#1B5E20#B9F6CA#69F0AE#00E676#00C853\",\n lightgreen = \"#F1F8E9#DCEDC8#C5E1A5#AED581#9CCC65#8BC34A#7CB342#689F38#558B2F#33691E#CCFF90#B2FF59#76FF03#64DD17\",\n lime = \"#F9FBE7#F0F4C3#E6EE9C#DCE775#D4E157#CDDC39#C0CA33#AFB42B#9E9D24#827717#F4FF81#EEFF41#C6FF00#AEEA00\",\n yellow = \"#FFFDE7#FFF9C4#FFF59D#FFF176#FFEE58#FFEB3B#FDD835#FBC02D#F9A825#F57F17#FFFF8D#FFFF00#FFEA00#FFD600\",\n amber = \"#FFF8E1#FFECB3#FFE082#FFD54F#FFCA28#FFC107#FFB300#FFA000#FF8F00#FF6F00#FFE57F#FFD740#FFC400#FFAB00\",\n orange = \"#FFF3E0#FFE0B2#FFCC80#FFB74D#FFA726#FF9800#FB8C00#F57C00#EF6C00#E65100#FFD180#FFAB40#FF9100#FF6D00\",\n deeporange = \"#FBE9E7#FFCCBC#FFAB91#FF8A65#FF7043#FF5722#F4511E#E64A19#D84315#BF360C#FF9E80#FF6E40#FF3D00#DD2C00\",\n brown = \"#EFEBE9#D7CCC8#BCAAA4#A1887F#8D6E63#795548#6D4C41#5D4037#4E342E#3E2723\",\n grey = \"#FAFAFA#F5F5F5#EEEEEE#E0E0E0#BDBDBD#9E9E9E#757575#616161#424242#212121\",\n bluegrey = \"#ECEFF1#CFD8DC#B0BEC5#90A4AE#78909C#607D8B#546E7A#455A64#37474F#263238\";\n /*\\\n * Snap.mui\n [ property ]\n **\n * Contain Material UI colours.\n | Snap().rect(0, 0, 10, 10).attr({fill: Snap.mui.deeppurple, stroke: Snap.mui.amber[600]});\n # For colour reference: https://www.materialui.co.\n \\*/\n Snap.mui = {};\n /*\\\n * Snap.flat\n [ property ]\n **\n * Contain Flat UI colours.\n | Snap().rect(0, 0, 10, 10).attr({fill: Snap.flat.carrot, stroke: Snap.flat.wetasphalt});\n # For colour reference: https://www.materialui.co.\n \\*/\n Snap.flat = {};\n function saveColor(colors) {\n colors = colors.split(/(?=#)/);\n var color = new String(colors[5]);\n color[50] = colors[0];\n color[100] = colors[1];\n color[200] = colors[2];\n color[300] = colors[3];\n color[400] = colors[4];\n color[500] = colors[5];\n color[600] = colors[6];\n color[700] = colors[7];\n color[800] = colors[8];\n color[900] = colors[9];\n if (colors[10]) {\n color.A100 = colors[10];\n color.A200 = colors[11];\n color.A400 = colors[12];\n color.A700 = colors[13];\n }\n return color;\n }\n Snap.mui.red = saveColor(red);\n Snap.mui.pink = saveColor(pink);\n Snap.mui.purple = saveColor(purple);\n Snap.mui.deeppurple = saveColor(deeppurple);\n Snap.mui.indigo = saveColor(indigo);\n Snap.mui.blue = saveColor(blue);\n Snap.mui.lightblue = saveColor(lightblue);\n Snap.mui.cyan = saveColor(cyan);\n Snap.mui.teal = saveColor(teal);\n Snap.mui.green = saveColor(green);\n Snap.mui.lightgreen = saveColor(lightgreen);\n Snap.mui.lime = saveColor(lime);\n Snap.mui.yellow = saveColor(yellow);\n Snap.mui.amber = saveColor(amber);\n Snap.mui.orange = saveColor(orange);\n Snap.mui.deeporange = saveColor(deeporange);\n Snap.mui.brown = saveColor(brown);\n Snap.mui.grey = saveColor(grey);\n Snap.mui.bluegrey = saveColor(bluegrey);\n Snap.flat.turquoise = \"#1abc9c\";\n Snap.flat.greensea = \"#16a085\";\n Snap.flat.sunflower = \"#f1c40f\";\n Snap.flat.orange = \"#f39c12\";\n Snap.flat.emerland = \"#2ecc71\";\n Snap.flat.nephritis = \"#27ae60\";\n Snap.flat.carrot = \"#e67e22\";\n Snap.flat.pumpkin = \"#d35400\";\n Snap.flat.peterriver = \"#3498db\";\n Snap.flat.belizehole = \"#2980b9\";\n Snap.flat.alizarin = \"#e74c3c\";\n Snap.flat.pomegranate = \"#c0392b\";\n Snap.flat.amethyst = \"#9b59b6\";\n Snap.flat.wisteria = \"#8e44ad\";\n Snap.flat.clouds = \"#ecf0f1\";\n Snap.flat.silver = \"#bdc3c7\";\n Snap.flat.wetasphalt = \"#34495e\";\n Snap.flat.midnightblue = \"#2c3e50\";\n Snap.flat.concrete = \"#95a5a6\";\n Snap.flat.asbestos = \"#7f8c8d\";\n /*\\\n * Snap.importMUIColors\n [ method ]\n **\n * Imports Material UI colours into global object.\n | Snap.importMUIColors();\n | Snap().rect(0, 0, 10, 10).attr({fill: deeppurple, stroke: amber[600]});\n # For colour reference: https://www.materialui.co.\n \\*/\n Snap.importMUIColors = function () {\n for (var color in Snap.mui) {\n if (Snap.mui.hasOwnProperty(color)) {\n window[color] = Snap.mui[color];\n }\n }\n };\n});\n\nmodule.exports = Snap\n","\n\n\n\n
    \n {#if count !== ''}\n
    \n {count}\n
    \n {/if}\n \n \n \n \n \n \n
    \n \n {stat}%\n \n \n {text}\n \n
    \n
    \n","/** @import { BlurParams, CrossfadeParams, DrawParams, FadeParams, FlyParams, ScaleParams, SlideParams, TransitionConfig } from './public' */\n\nimport { DEV } from 'esm-env';\nimport * as w from '../internal/client/warnings.js';\n\n/** @param {number} x */\nconst linear = (x) => x;\n\n/** @param {number} t */\nfunction cubic_out(t) {\n\tconst f = t - 1.0;\n\treturn f * f * f + 1.0;\n}\n\n/**\n * @param {number} t\n * @returns {number}\n */\nfunction cubic_in_out(t) {\n\treturn t < 0.5 ? 4.0 * t * t * t : 0.5 * Math.pow(2.0 * t - 2.0, 3.0) + 1.0;\n}\n\n/** @param {number | string} value\n * @returns {[number, string]}\n */\nfunction split_css_unit(value) {\n\tconst split = typeof value === 'string' && value.match(/^\\s*(-?[\\d.]+)([^\\s]*)\\s*$/);\n\treturn split ? [parseFloat(split[1]), split[2] || 'px'] : [/** @type {number} */ (value), 'px'];\n}\n\n/**\n * Animates a `blur` filter alongside an element's opacity.\n *\n * @param {Element} node\n * @param {BlurParams} [params]\n * @returns {TransitionConfig}\n */\nexport function blur(\n\tnode,\n\t{ delay = 0, duration = 400, easing = cubic_in_out, amount = 5, opacity = 0 } = {}\n) {\n\tconst style = getComputedStyle(node);\n\tconst target_opacity = +style.opacity;\n\tconst f = style.filter === 'none' ? '' : style.filter;\n\tconst od = target_opacity * (1 - opacity);\n\tconst [value, unit] = split_css_unit(amount);\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (_t, u) => `opacity: ${target_opacity - od * u}; filter: ${f} blur(${u * value}${unit});`\n\t};\n}\n\n/**\n * Animates the opacity of an element from 0 to the current opacity for `in` transitions and from the current opacity to 0 for `out` transitions.\n *\n * @param {Element} node\n * @param {FadeParams} [params]\n * @returns {TransitionConfig}\n */\nexport function fade(node, { delay = 0, duration = 400, easing = linear } = {}) {\n\tconst o = +getComputedStyle(node).opacity;\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (t) => `opacity: ${t * o}`\n\t};\n}\n\n/**\n * Animates the x and y positions and the opacity of an element. `in` transitions animate from the provided values, passed as parameters to the element's default values. `out` transitions animate from the element's default values to the provided values.\n *\n * @param {Element} node\n * @param {FlyParams} [params]\n * @returns {TransitionConfig}\n */\nexport function fly(\n\tnode,\n\t{ delay = 0, duration = 400, easing = cubic_out, x = 0, y = 0, opacity = 0 } = {}\n) {\n\tconst style = getComputedStyle(node);\n\tconst target_opacity = +style.opacity;\n\tconst transform = style.transform === 'none' ? '' : style.transform;\n\tconst od = target_opacity * (1 - opacity);\n\tconst [x_value, x_unit] = split_css_unit(x);\n\tconst [y_value, y_unit] = split_css_unit(y);\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (t, u) => `\n\t\t\ttransform: ${transform} translate(${(1 - t) * x_value}${x_unit}, ${(1 - t) * y_value}${y_unit});\n\t\t\topacity: ${target_opacity - od * u}`\n\t};\n}\n\nvar slide_warning = false;\n\n/**\n * Slides an element in and out.\n *\n * @param {Element} node\n * @param {SlideParams} [params]\n * @returns {TransitionConfig}\n */\nexport function slide(node, { delay = 0, duration = 400, easing = cubic_out, axis = 'y' } = {}) {\n\tconst style = getComputedStyle(node);\n\n\tif (DEV && !slide_warning && /(contents|inline|table)/.test(style.display)) {\n\t\tslide_warning = true;\n\t\tPromise.resolve().then(() => (slide_warning = false));\n\t\tw.transition_slide_display(style.display);\n\t}\n\n\tconst opacity = +style.opacity;\n\tconst primary_property = axis === 'y' ? 'height' : 'width';\n\tconst primary_property_value = parseFloat(style[primary_property]);\n\tconst secondary_properties = axis === 'y' ? ['top', 'bottom'] : ['left', 'right'];\n\tconst capitalized_secondary_properties = secondary_properties.map(\n\t\t(e) => /** @type {'Left' | 'Right' | 'Top' | 'Bottom'} */ (`${e[0].toUpperCase()}${e.slice(1)}`)\n\t);\n\tconst padding_start_value = parseFloat(style[`padding${capitalized_secondary_properties[0]}`]);\n\tconst padding_end_value = parseFloat(style[`padding${capitalized_secondary_properties[1]}`]);\n\tconst margin_start_value = parseFloat(style[`margin${capitalized_secondary_properties[0]}`]);\n\tconst margin_end_value = parseFloat(style[`margin${capitalized_secondary_properties[1]}`]);\n\tconst border_width_start_value = parseFloat(\n\t\tstyle[`border${capitalized_secondary_properties[0]}Width`]\n\t);\n\tconst border_width_end_value = parseFloat(\n\t\tstyle[`border${capitalized_secondary_properties[1]}Width`]\n\t);\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (t) =>\n\t\t\t'overflow: hidden;' +\n\t\t\t`opacity: ${Math.min(t * 20, 1) * opacity};` +\n\t\t\t`${primary_property}: ${t * primary_property_value}px;` +\n\t\t\t`padding-${secondary_properties[0]}: ${t * padding_start_value}px;` +\n\t\t\t`padding-${secondary_properties[1]}: ${t * padding_end_value}px;` +\n\t\t\t`margin-${secondary_properties[0]}: ${t * margin_start_value}px;` +\n\t\t\t`margin-${secondary_properties[1]}: ${t * margin_end_value}px;` +\n\t\t\t`border-${secondary_properties[0]}-width: ${t * border_width_start_value}px;` +\n\t\t\t`border-${secondary_properties[1]}-width: ${t * border_width_end_value}px;` +\n\t\t\t`min-${primary_property}: 0`\n\t};\n}\n\n/**\n * Animates the opacity and scale of an element. `in` transitions animate from the provided values, passed as parameters, to an element's current (default) values. `out` transitions animate from an element's default values to the provided values.\n *\n * @param {Element} node\n * @param {ScaleParams} [params]\n * @returns {TransitionConfig}\n */\nexport function scale(\n\tnode,\n\t{ delay = 0, duration = 400, easing = cubic_out, start = 0, opacity = 0 } = {}\n) {\n\tconst style = getComputedStyle(node);\n\tconst target_opacity = +style.opacity;\n\tconst transform = style.transform === 'none' ? '' : style.transform;\n\tconst sd = 1 - start;\n\tconst od = target_opacity * (1 - opacity);\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (_t, u) => `\n\t\t\ttransform: ${transform} scale(${1 - sd * u});\n\t\t\topacity: ${target_opacity - od * u}\n\t\t`\n\t};\n}\n\n/**\n * Animates the stroke of an SVG element, like a snake in a tube. `in` transitions begin with the path invisible and draw the path to the screen over time. `out` transitions start in a visible state and gradually erase the path. `draw` only works with elements that have a `getTotalLength` method, like `` and ``.\n *\n * @param {SVGElement & { getTotalLength(): number }} node\n * @param {DrawParams} [params]\n * @returns {TransitionConfig}\n */\nexport function draw(node, { delay = 0, speed, duration, easing = cubic_in_out } = {}) {\n\tlet len = node.getTotalLength();\n\tconst style = getComputedStyle(node);\n\tif (style.strokeLinecap !== 'butt') {\n\t\tlen += parseInt(style.strokeWidth);\n\t}\n\tif (duration === undefined) {\n\t\tif (speed === undefined) {\n\t\t\tduration = 800;\n\t\t} else {\n\t\t\tduration = len / speed;\n\t\t}\n\t} else if (typeof duration === 'function') {\n\t\tduration = duration(len);\n\t}\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (_, u) => `\n\t\t\tstroke-dasharray: ${len};\n\t\t\tstroke-dashoffset: ${u * len};\n\t\t`\n\t};\n}\n\n/**\n * @template T\n * @template S\n * @param {T} tar\n * @param {S} src\n * @returns {T & S}\n */\nfunction assign(tar, src) {\n\t// @ts-ignore\n\tfor (const k in src) tar[k] = src[k];\n\treturn /** @type {T & S} */ (tar);\n}\n\n/**\n * The `crossfade` function creates a pair of [transitions](https://svelte.dev/docs/svelte/transition) called `send` and `receive`. When an element is 'sent', it looks for a corresponding element being 'received', and generates a transition that transforms the element to its counterpart's position and fades it out. When an element is 'received', the reverse happens. If there is no counterpart, the `fallback` transition is used.\n *\n * @param {CrossfadeParams & {\n * \tfallback?: (node: Element, params: CrossfadeParams, intro: boolean) => TransitionConfig;\n * }} params\n * @returns {[(node: any, params: CrossfadeParams & { key: any; }) => () => TransitionConfig, (node: any, params: CrossfadeParams & { key: any; }) => () => TransitionConfig]}\n */\nexport function crossfade({ fallback, ...defaults }) {\n\t/** @type {Map} */\n\tconst to_receive = new Map();\n\t/** @type {Map} */\n\tconst to_send = new Map();\n\n\t/**\n\t * @param {Element} from_node\n\t * @param {Element} node\n\t * @param {CrossfadeParams} params\n\t * @returns {TransitionConfig}\n\t */\n\tfunction crossfade(from_node, node, params) {\n\t\tconst {\n\t\t\tdelay = 0,\n\t\t\tduration = /** @param {number} d */ (d) => Math.sqrt(d) * 30,\n\t\t\teasing = cubic_out\n\t\t} = assign(assign({}, defaults), params);\n\t\tconst from = from_node.getBoundingClientRect();\n\t\tconst to = node.getBoundingClientRect();\n\t\tconst dx = from.left - to.left;\n\t\tconst dy = from.top - to.top;\n\t\tconst dw = from.width / to.width;\n\t\tconst dh = from.height / to.height;\n\t\tconst d = Math.sqrt(dx * dx + dy * dy);\n\t\tconst style = getComputedStyle(node);\n\t\tconst transform = style.transform === 'none' ? '' : style.transform;\n\t\tconst opacity = +style.opacity;\n\t\treturn {\n\t\t\tdelay,\n\t\t\tduration: typeof duration === 'function' ? duration(d) : duration,\n\t\t\teasing,\n\t\t\tcss: (t, u) => `\n\t\t\t opacity: ${t * opacity};\n\t\t\t transform-origin: top left;\n\t\t\t transform: ${transform} translate(${u * dx}px,${u * dy}px) scale(${t + (1 - t) * dw}, ${\n\t\t\t\t\t\tt + (1 - t) * dh\n\t\t\t\t\t});\n\t\t `\n\t\t};\n\t}\n\n\t/**\n\t * @param {Map} items\n\t * @param {Map} counterparts\n\t * @param {boolean} intro\n\t * @returns {(node: any, params: CrossfadeParams & { key: any; }) => () => TransitionConfig}\n\t */\n\tfunction transition(items, counterparts, intro) {\n\t\t// @ts-expect-error TODO improve typings (are the public types wrong?)\n\t\treturn (node, params) => {\n\t\t\titems.set(params.key, node);\n\t\t\treturn () => {\n\t\t\t\tif (counterparts.has(params.key)) {\n\t\t\t\t\tconst other_node = counterparts.get(params.key);\n\t\t\t\t\tcounterparts.delete(params.key);\n\t\t\t\t\treturn crossfade(/** @type {Element} */ (other_node), node, params);\n\t\t\t\t}\n\t\t\t\t// if the node is disappearing altogether\n\t\t\t\t// (i.e. wasn't claimed by the other list)\n\t\t\t\t// then we need to supply an outro\n\t\t\t\titems.delete(params.key);\n\t\t\t\treturn fallback && fallback(node, params, intro);\n\t\t\t};\n\t\t};\n\t}\n\treturn [transition(to_send, to_receive, false), transition(to_receive, to_send, true)];\n}\n","const timezones = {\n Africa: {\n 'Africa/Abidjan': ['Abidjan', '+00:00', '+00:00'],\n 'Africa/Accra': ['Accra', '+00:00', '+00:00'],\n 'Africa/Addis_Ababa': ['Addis Ababa', '+03:00', '+03:00'],\n 'Africa/Algiers': ['Algiers', '+01:00', '+01:00'],\n 'Africa/Asmara': ['Asmara', '+03:00', '+03:00'],\n 'Africa/Asmera': ['Asmera', '+03:00', '+03:00'],\n 'Africa/Bamako': ['Bamako', '+00:00', '+00:00'],\n 'Africa/Bangui': ['Bangui', '+01:00', '+01:00'],\n 'Africa/Banjul': ['Banjul', '+00:00', '+00:00'],\n 'Africa/Bissau': ['Bissau', '+00:00', '+00:00'],\n 'Africa/Blantyre': ['Blantyre', '+02:00', '+02:00'],\n 'Africa/Brazzaville': ['Brazzaville', '+01:00', '+01:00'],\n 'Africa/Bujumbura': ['Bujumbura', '+02:00', '+02:00'],\n 'Africa/Cairo': ['Cairo', '+02:00', '+03:00'],\n 'Africa/Casablanca': ['Casablanca', '+00:00', '+01:00'],\n 'Africa/Ceuta': ['Ceuta', '+01:00', '+02:00'],\n 'Africa/Conakry': ['Conakry', '+00:00', '+00:00'],\n 'Africa/Dakar': ['Dakar', '+00:00', '+00:00'],\n 'Africa/Dar_es_Salaam': ['Dar es_Salaam', '+03:00', '+03:00'],\n 'Africa/Djibouti': ['Djibouti', '+03:00', '+03:00'],\n 'Africa/Douala': ['Douala', '+01:00', '+01:00'],\n 'Africa/El_Aaiun': ['El Aaiun', '+00:00', '+01:00'],\n 'Africa/Freetown': ['Freetown', '+00:00', '+00:00'],\n 'Africa/Gaborone': ['Gaborone', '+02:00', '+02:00'],\n 'Africa/Harare': ['Harare', '+02:00', '+02:00'],\n 'Africa/Johannesburg': ['Johannesburg', '+02:00', '+02:00'],\n 'Africa/Juba': ['Juba', '+03:00', '+03:00'],\n 'Africa/Kampala': ['Kampala', '+03:00', '+03:00'],\n 'Africa/Khartoum': ['Khartoum', '+03:00', '+03:00'],\n 'Africa/Kigali': ['Kigali', '+02:00', '+02:00'],\n 'Africa/Kinshasa': ['Kinshasa', '+01:00', '+01:00'],\n 'Africa/Lagos': ['Lagos', '+01:00', '+01:00'],\n 'Africa/Libreville': ['Libreville', '+01:00', '+01:00'],\n 'Africa/Lome': ['Lome', '+00:00', '+00:00'],\n 'Africa/Luanda': ['Luanda', '+01:00', '+01:00'],\n 'Africa/Lubumbashi': ['Lubumbashi', '+02:00', '+02:00'],\n 'Africa/Lusaka': ['Lusaka', '+02:00', '+02:00'],\n 'Africa/Malabo': ['Malabo', '+01:00', '+01:00'],\n 'Africa/Maputo': ['Maputo', '+02:00', '+02:00'],\n 'Africa/Maseru': ['Maseru', '+02:00', '+02:00'],\n 'Africa/Mbabane': ['Mbabane', '+02:00', '+02:00'],\n 'Africa/Mogadishu': ['Mogadishu', '+03:00', '+03:00'],\n 'Africa/Monrovia': ['Monrovia', '+00:00', '+00:00'],\n 'Africa/Nairobi': ['Nairobi', '+03:00', '+03:00'],\n 'Africa/Ndjamena': ['Ndjamena', '+01:00', '+01:00'],\n 'Africa/Niamey': ['Niamey', '+01:00', '+01:00'],\n 'Africa/Nouakchott': ['Nouakchott', '+00:00', '+00:00'],\n 'Africa/Ouagadougou': ['Ouagadougou', '+00:00', '+00:00'],\n 'Africa/Porto-Novo': ['Porto-Novo', '+01:00', '+01:00'],\n 'Africa/Sao_Tome': ['Sao Tome', '+00:00', '+00:00'],\n 'Africa/Timbuktu': ['Timbuktu', '+00:00', '+00:00'],\n 'Africa/Tripoli': ['Tripoli', '+01:00', '+02:00'],\n 'Africa/Tunis': ['Tunis', '+01:00', '+01:00'],\n 'Africa/Windhoek': ['Windhoek', '+01:00', '+02:00']\n },\n America: {\n 'America/Adak': ['Adak', '-10:00', '-09:00'],\n 'America/Anchorage': ['Anchorage', '-09:00', '-08:00'],\n 'America/Anguilla': ['Anguilla', '-04:00', '-04:00'],\n 'America/Antigua': ['Antigua', '-04:00', '-04:00'],\n 'America/Araguaina': ['Araguaina', '-03:00', '-03:00'],\n 'America/Argentina/Buenos_Aires': [\n 'Buenos Aires, Argentina',\n '-03:00',\n '-03:00'\n ],\n 'America/Argentina/Catamarca': ['Catamarca, Argentina', '-03:00', '-03:00'],\n 'America/Argentina/ComodRivadavia': [\n 'ComodRivadavia, Argentina',\n '-03:00',\n '-03:00'\n ],\n 'America/Argentina/Cordoba': ['Cordoba, Argentina', '-03:00', '-03:00'],\n 'America/Argentina/Jujuy': ['Jujuy, Argentina', '-03:00', '-03:00'],\n 'America/Argentina/La_Rioja': ['La Rioja, Argentina', '-03:00', '-03:00'],\n 'America/Argentina/Mendoza': ['Mendoza, Argentina', '-03:00', '-03:00'],\n 'America/Argentina/Rio_Gallegos': [\n 'Rio Gallegos, Argentina',\n '-03:00',\n '-03:00'\n ],\n 'America/Argentina/Salta': ['Salta, Argentina', '-03:00', '-03:00'],\n 'America/Argentina/San_Juan': ['San Juan, Argentina', '-03:00', '-03:00'],\n 'America/Argentina/San_Luis': ['San Luis, Argentina', '-03:00', '-03:00'],\n 'America/Argentina/Tucuman': ['Tucuman, Argentina', '-03:00', '-03:00'],\n 'America/Argentina/Ushuaia': ['Ushuaia, Argentina', '-03:00', '-03:00'],\n 'America/Aruba': ['Aruba', '-04:00', '-04:00'],\n 'America/Asuncion': ['Asuncion', '-04:00', '-03:00'],\n 'America/Atikokan': ['Atikokan', '-05:00', '-05:00'],\n 'America/Atka': ['Atka', '-10:00', '-09:00'],\n 'America/Bahia': ['Bahia', '-03:00', '-02:00'],\n 'America/Bahia_Banderas': ['Bahia Banderas', '-06:00', '-05:00'],\n 'America/Barbados': ['Barbados', '-04:00', '-04:00'],\n 'America/Belem': ['Belem', '-03:00', '-03:00'],\n 'America/Belize': ['Belize', '-06:00', '-06:00'],\n 'America/Blanc-Sablon': ['Blanc-Sablon', '-04:00', '-04:00'],\n 'America/Boa_Vista': ['Boa Vista', '-04:00', '-04:00'],\n 'America/Bogota': ['Bogota', '-05:00', '-05:00'],\n 'America/Boise': ['Boise', '-07:00', '-06:00'],\n 'America/Buenos_Aires': ['Buenos Aires', '-03:00', '-03:00'],\n 'America/Cambridge_Bay': ['Cambridge Bay', '-07:00', '-06:00'],\n 'America/Campo_Grande': ['Campo Grande', '-04:00', '-03:00'],\n 'America/Cancun': ['Cancun', '-06:00', '-05:00'],\n 'America/Caracas': ['Caracas', '-04:30', '-04:30'],\n 'America/Catamarca': ['Catamarca', '-03:00', '-03:00'],\n 'America/Cayenne': ['Cayenne', '-03:00', '-03:00'],\n 'America/Cayman': ['Cayman', '-05:00', '-05:00'],\n 'America/Chicago': ['Chicago', '-06:00', '-05:00'],\n 'America/Chihuahua': ['Chihuahua', '-07:00', '-06:00'],\n 'America/Coral_Harbour': ['Coral Harbour', '-05:00', '-05:00'],\n 'America/Cordoba': ['Cordoba', '-03:00', '-03:00'],\n 'America/Costa_Rica': ['Costa Rica', '-06:00', '-06:00'],\n 'America/Creston': ['Creston', '-07:00', '-07:00'],\n 'America/Cuiaba': ['Cuiaba', '-04:00', '-03:00'],\n 'America/Curacao': ['Curacao', '-04:00', '-04:00'],\n 'America/Danmarkshavn': ['Danmarkshavn', '+00:00', '+00:00'],\n 'America/Dawson': ['Dawson', '-08:00', '-07:00'],\n 'America/Dawson_Creek': ['Dawson Creek', '-07:00', '-07:00'],\n 'America/Denver': ['Denver', '-07:00', '-06:00'],\n 'America/Detroit': ['Detroit', '-05:00', '-04:00'],\n 'America/Dominica': ['Dominica', '-04:00', '-04:00'],\n 'America/Edmonton': ['Edmonton', '-07:00', '-06:00'],\n 'America/Eirunepe': ['Eirunepe', '-05:00', '-05:00'],\n 'America/El_Salvador': ['El Salvador', '-06:00', '-06:00'],\n 'America/Ensenada': ['Ensenada', '-08:00', '-07:00'],\n 'America/Fort_Wayne': ['Fort Wayne', '-05:00', '-04:00'],\n 'America/Fortaleza': ['Fortaleza', '-03:00', '-03:00'],\n 'America/Glace_Bay': ['Glace Bay', '-04:00', '-03:00'],\n 'America/Godthab': ['Godthab', '-03:00', '-02:00'],\n 'America/Goose_Bay': ['Goose Bay', '-04:00', '-03:00'],\n 'America/Grand_Turk': ['Grand Turk', '-05:00', '-04:00'],\n 'America/Grenada': ['Grenada', '-04:00', '-04:00'],\n 'America/Guadeloupe': ['Guadeloupe', '-04:00', '-04:00'],\n 'America/Guatemala': ['Guatemala', '-06:00', '-06:00'],\n 'America/Guayaquil': ['Guayaquil', '-05:00', '-05:00'],\n 'America/Guyana': ['Guyana', '-04:00', '-04:00'],\n 'America/Halifax': ['Halifax', '-04:00', '-03:00'],\n 'America/Havana': ['Havana', '-05:00', '-04:00'],\n 'America/Hermosillo': ['Hermosillo', '-07:00', '-07:00'],\n 'America/Indiana/Indianapolis': [\n 'Indianapolis, Indiana',\n '-05:00',\n '-04:00'\n ],\n 'America/Indiana/Knox': ['Knox, Indiana', '-06:00', '-05:00'],\n 'America/Indiana/Marengo': ['Marengo, Indiana', '-05:00', '-04:00'],\n 'America/Indiana/Petersburg': ['Petersburg, Indiana', '-05:00', '-04:00'],\n 'America/Indiana/Tell_City': ['Tell City, Indiana', '-06:00', '-05:00'],\n 'America/Indiana/Valparaiso': ['Valparaiso, Indiana', '-06:00', '-05:00'],\n 'America/Indiana/Vevay': ['Vevay, Indiana', '-05:00', '-04:00'],\n 'America/Indiana/Vincennes': ['Vincennes, Indiana', '-05:00', '-04:00'],\n 'America/Indiana/Winamac': ['Winamac, Indiana', '-05:00', '-04:00'],\n 'America/Indianapolis': ['Indianapolis', '-05:00', '-04:00'],\n 'America/Inuvik': ['Inuvik', '-07:00', '-06:00'],\n 'America/Iqaluit': ['Iqaluit', '-05:00', '-04:00'],\n 'America/Jamaica': ['Jamaica', '-05:00', '-05:00'],\n 'America/Jujuy': ['Jujuy', '-03:00', '-03:00'],\n 'America/Juneau': ['Juneau', '-09:00', '-08:00'],\n 'America/Kentucky/Louisville': ['Louisville, Kentucky', '-05:00', '-04:00'],\n 'America/Kentucky/Monticello': ['Monticello, Kentucky', '-05:00', '-04:00'],\n 'America/Knox_IN': ['Knox IN', '-06:00', '-05:00'],\n 'America/Kralendijk': ['Kralendijk', '-04:00', '-04:00'],\n 'America/La_Paz': ['La Paz', '-04:00', '-04:00'],\n 'America/Lima': ['Lima', '-05:00', '-05:00'],\n 'America/Los_Angeles': ['Los Angeles', '-08:00', '-07:00'],\n 'America/Louisville': ['Louisville', '-05:00', '-04:00'],\n 'America/Lower_Princes': ['Lower Princes', '-04:00', '-04:00'],\n 'America/Maceio': ['Maceio', '-03:00', '-03:00'],\n 'America/Managua': ['Managua', '-06:00', '-06:00'],\n 'America/Manaus': ['Manaus', '-04:00', '-04:00'],\n 'America/Marigot': ['Marigot', '-04:00', '-04:00'],\n 'America/Martinique': ['Martinique', '-04:00', '-04:00'],\n 'America/Matamoros': ['Matamoros', '-06:00', '-05:00'],\n 'America/Mazatlan': ['Mazatlan', '-07:00', '-06:00'],\n 'America/Mendoza': ['Mendoza', '-03:00', '-03:00'],\n 'America/Menominee': ['Menominee', '-06:00', '-05:00'],\n 'America/Merida': ['Merida', '-06:00', '-05:00'],\n 'America/Metlakatla': ['Metlakatla', '-08:00', '-08:00'],\n 'America/Mexico_City': ['Mexico City', '-06:00', '-05:00'],\n 'America/Miquelon': ['Miquelon', '-03:00', '-02:00'],\n 'America/Moncton': ['Moncton', '-04:00', '-03:00'],\n 'America/Monterrey': ['Monterrey', '-06:00', '-05:00'],\n 'America/Montevideo': ['Montevideo', '-03:00', '-02:00'],\n 'America/Montreal': ['Montreal', '-05:00', '-04:00'],\n 'America/Montserrat': ['Montserrat', '-04:00', '-04:00'],\n 'America/Nassau': ['Nassau', '-05:00', '-04:00'],\n 'America/New_York': ['New York', '-05:00', '-04:00'],\n 'America/Nipigon': ['Nipigon', '-05:00', '-04:00'],\n 'America/Nome': ['Nome', '-09:00', '-08:00'],\n 'America/Noronha': ['Noronha', '-02:00', '-02:00'],\n 'America/North_Dakota/Beulah': ['Beulah, North Dakota', '-06:00', '-05:00'],\n 'America/North_Dakota/Center': ['Center, North Dakota', '-06:00', '-05:00'],\n 'America/North_Dakota/New_Salem': [\n 'New Salem, North Dakota',\n '-06:00',\n '-05:00'\n ],\n 'America/Ojinaga': ['Ojinaga', '-07:00', '-06:00'],\n 'America/Panama': ['Panama', '-05:00', '-05:00'],\n 'America/Pangnirtung': ['Pangnirtung', '-05:00', '-04:00'],\n 'America/Paramaribo': ['Paramaribo', '-03:00', '-03:00'],\n 'America/Phoenix': ['Phoenix', '-07:00', '-07:00'],\n 'America/Port-au-Prince': ['Port-au-Prince', '-05:00', '-04:00'],\n 'America/Port_of_Spain': ['Port of_Spain', '-04:00', '-04:00'],\n 'America/Porto_Acre': ['Porto Acre', '-05:00', '-05:00'],\n 'America/Porto_Velho': ['Porto Velho', '-04:00', '-04:00'],\n 'America/Puerto_Rico': ['Puerto Rico', '-04:00', '-04:00'],\n 'America/Rainy_River': ['Rainy River', '-06:00', '-05:00'],\n 'America/Rankin_Inlet': ['Rankin Inlet', '-06:00', '-05:00'],\n 'America/Recife': ['Recife', '-03:00', '-03:00'],\n 'America/Regina': ['Regina', '-06:00', '-06:00'],\n 'America/Resolute': ['Resolute', '-06:00', '-05:00'],\n 'America/Rio_Branco': ['Rio Branco', '-05:00', '-05:00'],\n 'America/Rosario': ['Rosario', '-03:00', '-03:00'],\n 'America/Santa_Isabel': ['Santa Isabel', '-08:00', '-07:00'],\n 'America/Santarem': ['Santarem', '-03:00', '-03:00'],\n 'America/Santiago': ['Santiago', '-04:00', '-03:00'],\n 'America/Santo_Domingo': ['Santo Domingo', '-04:00', '-04:00'],\n 'America/Sao_Paulo': ['Sao Paulo', '-03:00', '-02:00'],\n 'America/Scoresbysund': ['Scoresbysund', '-01:00', '+00:00'],\n 'America/Shiprock': ['Shiprock', '-07:00', '-06:00'],\n 'America/Sitka': ['Sitka', '-09:00', '-08:00'],\n 'America/St_Barthelemy': ['St Barthelemy', '-04:00', '-04:00'],\n 'America/St_Johns': ['St Johns', '-03:30', '-02:30'],\n 'America/St_Kitts': ['St Kitts', '-04:00', '-04:00'],\n 'America/St_Lucia': ['St Lucia', '-04:00', '-04:00'],\n 'America/St_Thomas': ['St Thomas', '-04:00', '-04:00'],\n 'America/St_Vincent': ['St Vincent', '-04:00', '-04:00'],\n 'America/Swift_Current': ['Swift Current', '-06:00', '-06:00'],\n 'America/Tegucigalpa': ['Tegucigalpa', '-06:00', '-06:00'],\n 'America/Thule': ['Thule', '-04:00', '-03:00'],\n 'America/Thunder_Bay': ['Thunder Bay', '-05:00', '-04:00'],\n 'America/Tijuana': ['Tijuana', '-08:00', '-07:00'],\n 'America/Toronto': ['Toronto', '-05:00', '-04:00'],\n 'America/Tortola': ['Tortola', '-04:00', '-04:00'],\n 'America/Vancouver': ['Vancouver', '-08:00', '-07:00'],\n 'America/Virgin': ['Virgin', '-04:00', '-04:00'],\n 'America/Whitehorse': ['Whitehorse', '-08:00', '-07:00'],\n 'America/Winnipeg': ['Winnipeg', '-06:00', '-05:00'],\n 'America/Yakutat': ['Yakutat', '-09:00', '-08:00'],\n 'America/Yellowknife': ['Yellowknife', '-07:00', '-06:00']\n },\n Antarctica: {\n 'Antarctica/Casey': ['Casey', '+11:00', '+08:00'],\n 'Antarctica/Davis': ['Davis', '+05:00', '+07:00'],\n 'Antarctica/DumontDUrville': ['DumontDUrville', '+10:00', '+10:00'],\n 'Antarctica/Macquarie': ['Macquarie', '+11:00', '+11:00'],\n 'Antarctica/Mawson': ['Mawson', '+05:00', '+05:00'],\n 'Antarctica/McMurdo': ['McMurdo', '+12:00', '+13:00'],\n 'Antarctica/Palmer': ['Palmer', '-04:00', '-03:00'],\n 'Antarctica/Rothera': ['Rothera', '-03:00', '-03:00'],\n 'Antarctica/South_Pole': ['South Pole', '+12:00', '+13:00'],\n 'Antarctica/Syowa': ['Syowa', '+03:00', '+03:00'],\n 'Antarctica/Troll': ['Troll', '+00:00', '+02:00'],\n 'Antarctica/Vostok': ['Vostok', '+06:00', '+06:00']\n },\n Arctic: { 'Arctic/Longyearbyen': ['Longyearbyen', '+01:00', '+02:00'] },\n Asia: {\n 'Asia/Aden': ['Aden', '+03:00', '+03:00'],\n 'Asia/Almaty': ['Almaty', '+06:00', '+06:00'],\n 'Asia/Amman': ['Amman', '+02:00', '+03:00'],\n 'Asia/Anadyr': ['Anadyr', '+12:00', '+12:00'],\n 'Asia/Aqtau': ['Aqtau', '+05:00', '+05:00'],\n 'Asia/Aqtobe': ['Aqtobe', '+05:00', '+05:00'],\n 'Asia/Ashgabat': ['Ashgabat', '+05:00', '+05:00'],\n 'Asia/Ashkhabad': ['Ashkhabad', '+05:00', '+05:00'],\n 'Asia/Baghdad': ['Baghdad', '+03:00', '+03:00'],\n 'Asia/Bahrain': ['Bahrain', '+03:00', '+03:00'],\n 'Asia/Baku': ['Baku', '+04:00', '+05:00'],\n 'Asia/Bangkok': ['Bangkok', '+07:00', '+07:00'],\n 'Asia/Beirut': ['Beirut', '+02:00', '+03:00'],\n 'Asia/Bishkek': ['Bishkek', '+06:00', '+06:00'],\n 'Asia/Brunei': ['Brunei', '+08:00', '+08:00'],\n 'Asia/Calcutta': ['Calcutta', '+05:30', '+05:30'],\n 'Asia/Choibalsan': ['Choibalsan', '+08:00', '+08:00'],\n 'Asia/Chongqing': ['Chongqing', '+08:00', '+08:00'],\n 'Asia/Chungking': ['Chungking', '+08:00', '+08:00'],\n 'Asia/Colombo': ['Colombo', '+05:30', '+05:30'],\n 'Asia/Dacca': ['Dacca', '+06:00', '+06:00'],\n 'Asia/Damascus': ['Damascus', '+02:00', '+03:00'],\n 'Asia/Dhaka': ['Dhaka', '+06:00', '+06:00'],\n 'Asia/Dili': ['Dili', '+09:00', '+09:00'],\n 'Asia/Dubai': ['Dubai', '+04:00', '+04:00'],\n 'Asia/Dushanbe': ['Dushanbe', '+05:00', '+05:00'],\n 'Asia/Gaza': ['Gaza', '+02:00', '+03:00'],\n 'Asia/Harbin': ['Harbin', '+08:00', '+08:00'],\n 'Asia/Hebron': ['Hebron', '+02:00', '+03:00'],\n 'Asia/Ho_Chi_Minh': ['Ho Chi_Minh', '+07:00', '+07:00'],\n 'Asia/Hong_Kong': ['Hong Kong', '+08:00', '+08:00'],\n 'Asia/Hovd': ['Hovd', '+07:00', '+07:00'],\n 'Asia/Irkutsk': ['Irkutsk', '+08:00', '+08:00'],\n 'Asia/Istanbul': ['Istanbul', '+02:00', '+03:00'],\n 'Asia/Jakarta': ['Jakarta', '+07:00', '+07:00'],\n 'Asia/Jayapura': ['Jayapura', '+09:00', '+09:00'],\n 'Asia/Jerusalem': ['Jerusalem', '+02:00', '+03:00'],\n 'Asia/Kabul': ['Kabul', '+04:30', '+04:30'],\n 'Asia/Kamchatka': ['Kamchatka', '+12:00', '+12:00'],\n 'Asia/Karachi': ['Karachi', '+05:00', '+05:00'],\n 'Asia/Kashgar': ['Kashgar', '+08:00', '+08:00'],\n 'Asia/Kathmandu': ['Kathmandu', '+05:45', '+05:45'],\n 'Asia/Katmandu': ['Katmandu', '+05:45', '+05:45'],\n 'Asia/Khandyga': ['Khandyga', '+09:00', '+09:00'],\n 'Asia/Kolkata': ['Kolkata', '+05:30', '+05:30'],\n 'Asia/Krasnoyarsk': ['Krasnoyarsk', '+07:00', '+07:00'],\n 'Asia/Kuala_Lumpur': ['Kuala Lumpur', '+08:00', '+08:00'],\n 'Asia/Kuching': ['Kuching', '+08:00', '+08:00'],\n 'Asia/Kuwait': ['Kuwait', '+03:00', '+03:00'],\n 'Asia/Macao': ['Macao', '+08:00', '+08:00'],\n 'Asia/Macau': ['Macau', '+08:00', '+08:00'],\n 'Asia/Magadan': ['Magadan', '+10:00', '+10:00'],\n 'Asia/Makassar': ['Makassar', '+08:00', '+08:00'],\n 'Asia/Manila': ['Manila', '+08:00', '+08:00'],\n 'Asia/Muscat': ['Muscat', '+04:00', '+04:00'],\n 'Asia/Nicosia': ['Nicosia', '+02:00', '+03:00'],\n 'Asia/Novokuznetsk': ['Novokuznetsk', '+07:00', '+07:00'],\n 'Asia/Novosibirsk': ['Novosibirsk', '+06:00', '+06:00'],\n 'Asia/Omsk': ['Omsk', '+06:00', '+06:00'],\n 'Asia/Oral': ['Oral', '+05:00', '+05:00'],\n 'Asia/Phnom_Penh': ['Phnom Penh', '+07:00', '+07:00'],\n 'Asia/Pontianak': ['Pontianak', '+07:00', '+07:00'],\n 'Asia/Pyongyang': ['Pyongyang', '+09:00', '+09:00'],\n 'Asia/Qatar': ['Qatar', '+03:00', '+03:00'],\n 'Asia/Qyzylorda': ['Qyzylorda', '+06:00', '+06:00'],\n 'Asia/Rangoon': ['Rangoon', '+06:30', '+06:30'],\n 'Asia/Riyadh': ['Riyadh', '+03:00', '+03:00'],\n 'Asia/Saigon': ['Saigon', '+07:00', '+07:00'],\n 'Asia/Sakhalin': ['Sakhalin', '+11:00', '+11:00'],\n 'Asia/Samarkand': ['Samarkand', '+05:00', '+05:00'],\n 'Asia/Seoul': ['Seoul', '+09:00', '+09:00'],\n 'Asia/Shanghai': ['Shanghai', '+08:00', '+08:00'],\n 'Asia/Singapore': ['Singapore', '+08:00', '+08:00'],\n 'Asia/Taipei': ['Taipei', '+08:00', '+08:00'],\n 'Asia/Tashkent': ['Tashkent', '+05:00', '+05:00'],\n 'Asia/Tbilisi': ['Tbilisi', '+04:00', '+04:00'],\n 'Asia/Tehran': ['Tehran', '+03:30', '+04:30'],\n 'Asia/Tel_Aviv': ['Tel Aviv', '+02:00', '+03:00'],\n 'Asia/Thimbu': ['Thimbu', '+06:00', '+06:00'],\n 'Asia/Thimphu': ['Thimphu', '+06:00', '+06:00'],\n 'Asia/Tokyo': ['Tokyo', '+09:00', '+09:00'],\n 'Asia/Ujung_Pandang': ['Ujung Pandang', '+08:00', '+08:00'],\n 'Asia/Ulaanbaatar': ['Ulaanbaatar', '+08:00', '+08:00'],\n 'Asia/Ulan_Bator': ['Ulan Bator', '+08:00', '+08:00'],\n 'Asia/Urumqi': ['Urumqi', '+08:00', '+08:00'],\n 'Asia/Ust-Nera': ['Ust-Nera', '+10:00', '+10:00'],\n 'Asia/Vientiane': ['Vientiane', '+07:00', '+07:00'],\n 'Asia/Vladivostok': ['Vladivostok', '+10:00', '+10:00'],\n 'Asia/Yakutsk': ['Yakutsk', '+09:00', '+09:00'],\n 'Asia/Yekaterinburg': ['Yekaterinburg', '+05:00', '+05:00'],\n 'Asia/Yerevan': ['Yerevan', '+04:00', '+04:00']\n },\n Atlantic: {\n 'Atlantic/Azores': ['Azores', '-01:00', '+00:00'],\n 'Atlantic/Bermuda': ['Bermuda', '-04:00', '-03:00'],\n 'Atlantic/Canary': ['Canary', '+00:00', '+01:00'],\n 'Atlantic/Cape_Verde': ['Cape Verde', '-01:00', '-01:00'],\n 'Atlantic/Faeroe': ['Faeroe', '+00:00', '+01:00'],\n 'Atlantic/Faroe': ['Faroe', '+00:00', '+01:00'],\n 'Atlantic/Jan_Mayen': ['Jan Mayen', '+01:00', '+02:00'],\n 'Atlantic/Madeira': ['Madeira', '+00:00', '+01:00'],\n 'Atlantic/Reykjavik': ['Reykjavik', '+00:00', '+00:00'],\n 'Atlantic/South_Georgia': ['South Georgia', '-02:00', '-02:00'],\n 'Atlantic/St_Helena': ['St Helena', '+00:00', '+00:00'],\n 'Atlantic/Stanley': ['Stanley', '-03:00', '-03:00']\n },\n Australia: {\n 'Australia/ACT': ['ACT', '+10:00', '+11:00'],\n 'Australia/Adelaide': ['Adelaide', '+09:30', '+10:30'],\n 'Australia/Brisbane': ['Brisbane', '+10:00', '+10:00'],\n 'Australia/Broken_Hill': ['Broken Hill', '+09:30', '+10:30'],\n 'Australia/Canberra': ['Canberra', '+10:00', '+11:00'],\n 'Australia/Currie': ['Currie', '+10:00', '+11:00'],\n 'Australia/Darwin': ['Darwin', '+09:30', '+09:30'],\n 'Australia/Eucla': ['Eucla', '+08:45', '+08:45'],\n 'Australia/Hobart': ['Hobart', '+10:00', '+11:00'],\n 'Australia/LHI': ['LHI', '+10:30', '+11:00'],\n 'Australia/Lindeman': ['Lindeman', '+10:00', '+10:00'],\n 'Australia/Lord_Howe': ['Lord Howe', '+10:30', '+11:00'],\n 'Australia/Melbourne': ['Melbourne', '+10:00', '+11:00'],\n 'Australia/NSW': ['NSW', '+10:00', '+11:00'],\n 'Australia/North': ['North', '+09:30', '+09:30'],\n 'Australia/Perth': ['Perth', '+08:00', '+08:00'],\n 'Australia/Queensland': ['Queensland', '+10:00', '+10:00'],\n 'Australia/South': ['South', '+09:30', '+10:30'],\n 'Australia/Sydney': ['Sydney', '+10:00', '+11:00'],\n 'Australia/Tasmania': ['Tasmania', '+10:00', '+11:00'],\n 'Australia/Victoria': ['Victoria', '+10:00', '+11:00'],\n 'Australia/West': ['West', '+08:00', '+08:00'],\n 'Australia/Yancowinna': ['Yancowinna', '+09:30', '+10:30']\n },\n Brazil: {\n 'Brazil/Acre': ['Acre', '-05:00', '-05:00'],\n 'Brazil/DeNoronha': ['DeNoronha', '-02:00', '-02:00'],\n 'Brazil/East': ['East', '-03:00', '-02:00'],\n 'Brazil/West': ['West', '-04:00', '-04:00']\n },\n Canada: {\n 'Canada/Atlantic': ['Atlantic', '-04:00', '-03:00'],\n 'Canada/Central': ['Central', '-06:00', '-05:00'],\n 'Canada/East-Saskatchewan': ['East-Saskatchewan', '-06:00', '-06:00'],\n 'Canada/Eastern': ['Eastern', '-05:00', '-04:00'],\n 'Canada/Mountain': ['Mountain', '-07:00', '-06:00'],\n 'Canada/Newfoundland': ['Newfoundland', '-03:30', '-02:30'],\n 'Canada/Saskatchewan': ['Saskatchewan', '-06:00', '-06:00'],\n 'Canada/Yukon': ['Yukon', '-08:00', '-07:00']\n },\n Chile: {\n 'Chile/Continental': ['Continental', '-04:00', '-03:00'],\n 'Chile/EasterIsland': ['EasterIsland', '-06:00', '-05:00']\n },\n Other: {\n Cuba: ['Cuba', '-05:00', '-04:00'],\n Egypt: ['Egypt', '+02:00', '+02:00'],\n Eire: ['Eire', '+00:00', '+01:00'],\n GB: ['GB', '+00:00', '+01:00'],\n 'GB-Eire': ['GB-Eire', '+00:00', '+01:00'],\n GMT: ['GMT', '+00:00', '+00:00'],\n 'GMT+0': ['GMT+0', '+00:00', '+00:00'],\n 'GMT-0': ['GMT-0', '+00:00', '+00:00'],\n GMT0: ['GMT0', '+00:00', '+00:00'],\n Greenwich: ['Greenwich', '+00:00', '+00:00'],\n Hongkong: ['Hongkong', '+08:00', '+08:00'],\n Iceland: ['Iceland', '+00:00', '+00:00'],\n Iran: ['Iran', '+03:30', '+04:30'],\n Israel: ['Israel', '+02:00', '+03:00'],\n Jamaica: ['Jamaica', '-05:00', '-05:00'],\n Japan: ['Japan', '+09:00', '+09:00'],\n Kwajalein: ['Kwajalein', '+12:00', '+12:00'],\n Libya: ['Libya', '+02:00', '+01:00'],\n NZ: ['NZ', '+12:00', '+13:00'],\n 'NZ-CHAT': ['NZ-CHAT', '+12:45', '+13:45'],\n Navajo: ['Navajo', '-07:00', '-06:00'],\n PRC: ['PRC', '+08:00', '+08:00'],\n Poland: ['Poland', '+01:00', '+02:00'],\n Portugal: ['Portugal', '+00:00', '+01:00'],\n ROC: ['ROC', '+08:00', '+08:00'],\n ROK: ['ROK', '+09:00', '+09:00'],\n Singapore: ['Singapore', '+08:00', '+08:00'],\n Turkey: ['Turkey', '+02:00', '+03:00'],\n UCT: ['UCT', '+00:00', '+00:00'],\n UTC: ['UTC', '+00:00', '+00:00'],\n Universal: ['Universal', '+00:00', '+00:00'],\n 'W-SU': ['W-SU', '+03:00', '+03:00'],\n Zulu: ['Zulu', '+00:00', '+00:00']\n },\n Etc: {\n 'Etc/GMT': ['GMT', '+00:00', '+00:00'],\n 'Etc/GMT+0': ['GMT+0', '+00:00', '+00:00'],\n 'Etc/UCT': ['UCT', '+00:00', '+00:00'],\n 'Etc/UTC': ['UTC', '+00:00', '+00:00'],\n 'Etc/Universal': ['Universal', '+00:00', '+00:00'],\n 'Etc/Zulu': ['Zulu', '+00:00', '+00:00']\n },\n Europe: {\n 'Europe/Amsterdam': ['Amsterdam', '+01:00', '+02:00'],\n 'Europe/Andorra': ['Andorra', '+01:00', '+02:00'],\n 'Europe/Athens': ['Athens', '+02:00', '+03:00'],\n 'Europe/Belfast': ['Belfast', '+00:00', '+01:00'],\n 'Europe/Belgrade': ['Belgrade', '+01:00', '+02:00'],\n 'Europe/Berlin': ['Berlin', '+01:00', '+02:00'],\n 'Europe/Bratislava': ['Bratislava', '+01:00', '+02:00'],\n 'Europe/Brussels': ['Brussels', '+01:00', '+02:00'],\n 'Europe/Bucharest': ['Bucharest', '+02:00', '+03:00'],\n 'Europe/Budapest': ['Budapest', '+01:00', '+02:00'],\n 'Europe/Busingen': ['Busingen', '+01:00', '+02:00'],\n 'Europe/Chisinau': ['Chisinau', '+02:00', '+03:00'],\n 'Europe/Copenhagen': ['Copenhagen', '+01:00', '+02:00'],\n 'Europe/Dublin': ['Dublin', '+00:00', '+01:00'],\n 'Europe/Gibraltar': ['Gibraltar', '+01:00', '+02:00'],\n 'Europe/Guernsey': ['Guernsey', '+00:00', '+01:00'],\n 'Europe/Helsinki': ['Helsinki', '+02:00', '+03:00'],\n 'Europe/Isle_of_Man': ['Isle of_Man', '+00:00', '+01:00'],\n 'Europe/Istanbul': ['Istanbul', '+02:00', '+03:00'],\n 'Europe/Jersey': ['Jersey', '+00:00', '+01:00'],\n 'Europe/Kaliningrad': ['Kaliningrad', '+02:00', '+02:00'],\n 'Europe/Kiev': ['Kiev', '+02:00', '+03:00'],\n 'Europe/Lisbon': ['Lisbon', '+00:00', '+01:00'],\n 'Europe/Ljubljana': ['Ljubljana', '+01:00', '+02:00'],\n 'Europe/London': ['London', '+00:00', '+01:00'],\n 'Europe/Luxembourg': ['Luxembourg', '+01:00', '+02:00'],\n 'Europe/Madrid': ['Madrid', '+01:00', '+02:00'],\n 'Europe/Malta': ['Malta', '+01:00', '+02:00'],\n 'Europe/Mariehamn': ['Mariehamn', '+02:00', '+03:00'],\n 'Europe/Minsk': ['Minsk', '+03:00', '+03:00'],\n 'Europe/Monaco': ['Monaco', '+01:00', '+02:00'],\n 'Europe/Moscow': ['Moscow', '+03:00', '+03:00'],\n 'Europe/Nicosia': ['Nicosia', '+02:00', '+03:00'],\n 'Europe/Oslo': ['Oslo', '+01:00', '+02:00'],\n 'Europe/Paris': ['Paris', '+01:00', '+02:00'],\n 'Europe/Podgorica': ['Podgorica', '+01:00', '+02:00'],\n 'Europe/Prague': ['Prague', '+01:00', '+02:00'],\n 'Europe/Riga': ['Riga', '+02:00', '+03:00'],\n 'Europe/Rome': ['Rome', '+01:00', '+02:00'],\n 'Europe/Samara': ['Samara', '+04:00', '+04:00'],\n 'Europe/San_Marino': ['San Marino', '+01:00', '+02:00'],\n 'Europe/Sarajevo': ['Sarajevo', '+01:00', '+02:00'],\n 'Europe/Simferopol': ['Simferopol', '+03:00', '+03:00'],\n 'Europe/Skopje': ['Skopje', '+01:00', '+02:00'],\n 'Europe/Sofia': ['Sofia', '+02:00', '+03:00'],\n 'Europe/Stockholm': ['Stockholm', '+01:00', '+02:00'],\n 'Europe/Tallinn': ['Tallinn', '+02:00', '+03:00'],\n 'Europe/Tirane': ['Tirane', '+01:00', '+02:00'],\n 'Europe/Tiraspol': ['Tiraspol', '+02:00', '+03:00'],\n 'Europe/Uzhgorod': ['Uzhgorod', '+02:00', '+03:00'],\n 'Europe/Vaduz': ['Vaduz', '+01:00', '+02:00'],\n 'Europe/Vatican': ['Vatican', '+01:00', '+02:00'],\n 'Europe/Vienna': ['Vienna', '+01:00', '+02:00'],\n 'Europe/Vilnius': ['Vilnius', '+02:00', '+03:00'],\n 'Europe/Volgograd': ['Volgograd', '+03:00', '+03:00'],\n 'Europe/Warsaw': ['Warsaw', '+01:00', '+02:00'],\n 'Europe/Zagreb': ['Zagreb', '+01:00', '+02:00'],\n 'Europe/Zaporozhye': ['Zaporozhye', '+02:00', '+03:00'],\n 'Europe/Zurich': ['Zurich', '+01:00', '+02:00']\n },\n Indian: {\n 'Indian/Antananarivo': ['Antananarivo', '+03:00', '+03:00'],\n 'Indian/Chagos': ['Chagos', '+06:00', '+06:00'],\n 'Indian/Christmas': ['Christmas', '+07:00', '+07:00'],\n 'Indian/Cocos': ['Cocos', '+06:30', '+06:30'],\n 'Indian/Comoro': ['Comoro', '+03:00', '+03:00'],\n 'Indian/Kerguelen': ['Kerguelen', '+05:00', '+05:00'],\n 'Indian/Mahe': ['Mahe', '+04:00', '+04:00'],\n 'Indian/Maldives': ['Maldives', '+05:00', '+05:00'],\n 'Indian/Mauritius': ['Mauritius', '+04:00', '+04:00'],\n 'Indian/Mayotte': ['Mayotte', '+03:00', '+03:00'],\n 'Indian/Reunion': ['Reunion', '+04:00', '+04:00']\n },\n Mexico: {\n 'Mexico/BajaNorte': ['BajaNorte', '-08:00', '-07:00'],\n 'Mexico/BajaSur': ['BajaSur', '-07:00', '-06:00'],\n 'Mexico/General': ['General', '-06:00', '-05:00']\n },\n Pacific: {\n 'Pacific/Apia': ['Apia', '+13:00', '+14:00'],\n 'Pacific/Auckland': ['Auckland', '+12:00', '+13:00'],\n 'Pacific/Chatham': ['Chatham', '+12:45', '+13:45'],\n 'Pacific/Chuuk': ['Chuuk', '+10:00', '+10:00'],\n 'Pacific/Easter': ['Easter', '-06:00', '-05:00'],\n 'Pacific/Efate': ['Efate', '+11:00', '+11:00'],\n 'Pacific/Enderbury': ['Enderbury', '+13:00', '+13:00'],\n 'Pacific/Fakaofo': ['Fakaofo', '+13:00', '+13:00'],\n 'Pacific/Fiji': ['Fiji', '+12:00', '+13:00'],\n 'Pacific/Funafuti': ['Funafuti', '+12:00', '+12:00'],\n 'Pacific/Galapagos': ['Galapagos', '-06:00', '-06:00'],\n 'Pacific/Gambier': ['Gambier', '-09:00', '-09:00'],\n 'Pacific/Guadalcanal': ['Guadalcanal', '+11:00', '+11:00'],\n 'Pacific/Guam': ['Guam', '+10:00', '+10:00'],\n 'Pacific/Honolulu': ['Honolulu', '-10:00', '-10:00'],\n 'Pacific/Johnston': ['Johnston', '-10:00', '-10:00'],\n 'Pacific/Kiritimati': ['Kiritimati', '+14:00', '+14:00'],\n 'Pacific/Kosrae': ['Kosrae', '+11:00', '+11:00'],\n 'Pacific/Kwajalein': ['Kwajalein', '+12:00', '+12:00'],\n 'Pacific/Majuro': ['Majuro', '+12:00', '+12:00'],\n 'Pacific/Marquesas': ['Marquesas', '-09:30', '-09:30'],\n 'Pacific/Midway': ['Midway', '-11:00', '-11:00'],\n 'Pacific/Nauru': ['Nauru', '+12:00', '+12:00'],\n 'Pacific/Niue': ['Niue', '-11:00', '-11:00'],\n 'Pacific/Norfolk': ['Norfolk', '+11:30', '+11:30'],\n 'Pacific/Noumea': ['Noumea', '+11:00', '+11:00'],\n 'Pacific/Pago_Pago': ['Pago Pago', '-11:00', '-11:00'],\n 'Pacific/Palau': ['Palau', '+09:00', '+09:00'],\n 'Pacific/Pitcairn': ['Pitcairn', '-08:00', '-08:00'],\n 'Pacific/Pohnpei': ['Pohnpei', '+11:00', '+11:00'],\n 'Pacific/Ponape': ['Ponape', '+11:00', '+11:00'],\n 'Pacific/Port_Moresby': ['Port Moresby', '+10:00', '+10:00'],\n 'Pacific/Rarotonga': ['Rarotonga', '-10:00', '-10:00'],\n 'Pacific/Saipan': ['Saipan', '+10:00', '+10:00'],\n 'Pacific/Samoa': ['Samoa', '-11:00', '-11:00'],\n 'Pacific/Tahiti': ['Tahiti', '-10:00', '-10:00'],\n 'Pacific/Tarawa': ['Tarawa', '+12:00', '+12:00'],\n 'Pacific/Tongatapu': ['Tongatapu', '+13:00', '+13:00'],\n 'Pacific/Truk': ['Truk', '+10:00', '+10:00'],\n 'Pacific/Wake': ['Wake', '+12:00', '+12:00'],\n 'Pacific/Wallis': ['Wallis', '+12:00', '+12:00'],\n 'Pacific/Yap': ['Yap', '+10:00', '+10:00']\n },\n US: {\n 'US/Alaska': ['Alaska', '-09:00', '-08:00'],\n 'US/Aleutian': ['Aleutian', '-10:00', '-09:00'],\n 'US/Arizona': ['Arizona', '-07:00', '-07:00'],\n 'US/Central': ['Central', '-06:00', '-05:00'],\n 'US/East-Indiana': ['East-Indiana', '-05:00', '-04:00'],\n 'US/Eastern': ['Eastern', '-05:00', '-04:00'],\n 'US/Hawaii': ['Hawaii', '-10:00', '-10:00'],\n 'US/Indiana-Starke': ['Indiana-Starke', '-06:00', '-05:00'],\n 'US/Michigan': ['Michigan', '-05:00', '-04:00'],\n 'US/Mountain': ['Mountain', '-07:00', '-06:00'],\n 'US/Pacific': ['Pacific', '-08:00', '-07:00'],\n 'US/Samoa': ['Samoa', '-11:00', '-11:00']\n }\n};\n\nexport default timezones;\n","const t=t=>\"object\"==typeof t&&null!=t&&1===t.nodeType,e=(t,e)=>(!e||\"hidden\"!==t)&&(\"visible\"!==t&&\"clip\"!==t),n=(t,n)=>{if(t.clientHeight{const e=(t=>{if(!t.ownerDocument||!t.ownerDocument.defaultView)return null;try{return t.ownerDocument.defaultView.frameElement}catch(t){return null}})(t);return!!e&&(e.clientHeightre||r>t&&i=e&&s>=n?r-t-o:i>e&&sn?i-e+l:0,l=t=>{const e=t.parentElement;return null==e?t.getRootNode().host||null:e},r=(e,r)=>{var i,s,d,h;if(\"undefined\"==typeof document)return[];const{scrollMode:c,block:f,inline:u,boundary:a,skipOverflowHiddenElements:g}=r,p=\"function\"==typeof a?a:t=>t!==a;if(!t(e))throw new TypeError(\"Invalid target\");const m=document.scrollingElement||document.documentElement,w=[];let W=e;for(;t(W)&&p(W);){if(W=l(W),W===m){w.push(W);break}null!=W&&W===document.body&&n(W)&&!n(document.documentElement)||null!=W&&n(W,g)&&w.push(W)}const b=null!=(s=null==(i=window.visualViewport)?void 0:i.width)?s:innerWidth,H=null!=(h=null==(d=window.visualViewport)?void 0:d.height)?h:innerHeight,{scrollX:y,scrollY:M}=window,{height:v,width:E,top:x,right:C,bottom:I,left:R}=e.getBoundingClientRect(),{top:T,right:B,bottom:F,left:V}=(t=>{const e=window.getComputedStyle(t);return{top:parseFloat(e.scrollMarginTop)||0,right:parseFloat(e.scrollMarginRight)||0,bottom:parseFloat(e.scrollMarginBottom)||0,left:parseFloat(e.scrollMarginLeft)||0}})(e);let k=\"start\"===f||\"nearest\"===f?x-T:\"end\"===f?I+F:x+v/2-T+F,D=\"center\"===u?R+E/2-V+B:\"end\"===u?C+B:R-V;const L=[];for(let t=0;t=0&&R>=0&&I<=H&&C<=b&&(e===m&&!n(e)||x>=i&&I<=d&&R>=h&&C<=s))return L;const a=getComputedStyle(e),g=parseInt(a.borderLeftWidth,10),p=parseInt(a.borderTopWidth,10),W=parseInt(a.borderRightWidth,10),T=parseInt(a.borderBottomWidth,10);let B=0,F=0;const V=\"offsetWidth\"in e?e.offsetWidth-e.clientWidth-g-W:0,S=\"offsetHeight\"in e?e.offsetHeight-e.clientHeight-p-T:0,X=\"offsetWidth\"in e?0===e.offsetWidth?0:r/e.offsetWidth:0,Y=\"offsetHeight\"in e?0===e.offsetHeight?0:l/e.offsetHeight:0;if(m===e)B=\"start\"===f?k:\"end\"===f?k-H:\"nearest\"===f?o(M,M+H,H,p,T,M+k,M+k+v,v):k-H/2,F=\"start\"===u?D:\"center\"===u?D-b/2:\"end\"===u?D-b:o(y,y+b,b,g,W,y+D,y+D+E,E),B=Math.max(0,B+M),F=Math.max(0,F+y);else{B=\"start\"===f?k-i-p:\"end\"===f?k-d+T+S:\"nearest\"===f?o(i,d,l,p,T+S,k,k+v,v):k-(i+l/2)+S/2,F=\"start\"===u?D-h-g:\"center\"===u?D-(h+r/2)+V/2:\"end\"===u?D-s+W+V:o(h,s,r,g,W+V,D,D+E,E);const{scrollLeft:t,scrollTop:n}=e;B=0===Y?0:Math.max(0,Math.min(n+B/Y,e.scrollHeight-l/Y+S)),F=0===X?0:Math.max(0,Math.min(t+F/X,e.scrollWidth-r/X+V)),k+=n-B,D+=t-F}L.push({el:e,top:B,left:F})}return L};export{r as compute};//# sourceMappingURL=index.js.map\n","import { compute as computeScrollIntoView } from 'compute-scroll-into-view'\n\n/* eslint no-bitwise: \"off\" */\n/* eslint no-plusplus: \"off\" */\n\n// https://github.com/lukeed/uid/blob/master/src/index.js\nlet IDX = 36\nlet HEX = ''\n\nwhile (IDX--) {\n HEX += IDX.toString(36)\n}\n\n// Get a unique ID\nconst uid = (len) => {\n let str = ''\n let num = len || 11\n\n while (num--) {\n str += HEX[(Math.random() * 36) | 0]\n }\n\n return str\n}\n\n// Scroll an element into view if needed\nconst scrollIntoView = (node, rootNode) => {\n if (node === null) {\n return\n }\n\n const actions = computeScrollIntoView(node, {\n boundary: rootNode,\n block: 'center',\n scrollMode: 'if-needed'\n })\n\n // eslint-disable-next-line no-shadow\n actions.forEach(({ el, top }) => {\n el.scrollTop = top // eslint-disable-line no-param-reassign\n })\n}\n\n// Transform a string into a slug\nconst slugify = (str) =>\n str\n .toString()\n .toLowerCase()\n .trim()\n .replace(/[^\\w\\s-]/g, '') // Remove non-word [a-z0-9_], non-whitespace, non-hyphen characters\n .replace(/[\\s_-]+/g, '-') // Swap any length of whitespace, underscore, hyphen characters with a single -\n .replace(/^-+|-+$/g, '') // Remove leading, trailing -\n\nconst keyCodes = {\n Enter: 13,\n Escape: 27,\n Space: 32,\n ArrowDown: 40,\n ArrowUp: 38,\n Backspace: 8,\n Characters: [\n 48, // 0\n 49, // 1\n 50, // 2\n 51, // 3\n 52, // 4\n 53, // 5\n 54, // 6\n 55, // 7\n 56, // 8\n 57, // 9\n 65, // A\n 66, // B\n 67, // C\n 68, // D\n 69, // E\n 70, // F\n 71, // G\n 72, // H\n 73, // I\n 74, // J\n 75, // K\n 76, // L\n 77, // M\n 78, // N\n 79, // O\n 80, // P\n 81, // Q\n 82, // R\n 83, // S\n 84, // T\n 85, // U\n 86, // V\n 87, // W\n 88, // X\n 89, // Y\n 90 // Z\n ]\n}\n\nconst pick = (timezones, selection) => {\n const unique = Array.from(new Set([...selection]))\n\n return Object.keys(timezones).reduce((zones, zoneName) => {\n const picked = unique.includes(zoneName) ? timezones[zoneName] : {}\n return {\n ...zones,\n ...(Object.keys(picked).length > 0 && { [zoneName]: picked })\n }\n }, {})\n}\n\n// We take the grouped timezones and flatten them so that they can be easily searched\n// e.g. { Europe: { 'London': 'Europe/London', 'Berlin': 'Europe/Berlin' } } => {'London': 'Europe/London', 'Berlin': 'Europe/Berlin' }\nconst ungroup = (timezones) =>\n Object.values(timezones).reduce(\n (values, zone) => ({ ...values, ...zone }),\n {}\n )\n\n// Filter the list of zone labels to only those that match a search string\nconst filter = (search, zoneGroups) =>\n Object.entries(zoneGroups).reduce((zones, [zone, details]) => {\n if (details[0].toLowerCase().includes(search.toLowerCase())) {\n zones.push(zone)\n }\n return zones\n }, [])\n\nexport { scrollIntoView, uid, slugify, keyCodes, ungroup, filter, pick }\n","\n\n\n\n{#if expanded}\n
    \n{/if}\n\n\n {currentZone[0]} GMT {currentZone[1]}\n \n \n \n\n{#if expanded}\n \n \n Select a timezone from the list. Start typing to filter or use the arrow\n keys to navigate the list\n \n \n
    \n \n
    \n\n \n {#each Object.keys(groupedZones) as group}\n {#if groupHasVisibleChildren(group, filteredZones)}\n
  • \n

    {group}

    \n
  • \n {#each Object.entries(groupedZones[group]) as [zoneLabel, zoneDetails]}\n {#if filteredZones.includes(zoneLabel)}\n setHighlightedZone(zoneDetails[0])}\"\n on:click=\"{ev => handleTimezoneUpdate(ev, zoneLabel)}\"\n class=\"hover:bg-blue-500 hover:text-white dark:hover:bg-sky-300 dark:hover:text-gray-800 focus:bg-blue-500 focus:text-white dark:focus:bg-sky-300 dark:focus:text-gray-800\"\n >\n {zoneDetails[0]} GMT {zoneDetails[1]}\n \n {/if}\n {/each}\n {/if}\n {/each}\n \n \n{/if}\n","\n\n\n {$LL.team()} {team.name} | {$LL.appName()}\n\n\n\n
    \n
    \n
    \n \n

    \n {$LL.checkIn()}\n

    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n\n {#if organizationId}\n
    \n {$LL.organization()}\n \n {organization.name}\n {#if departmentId}\n  \n \n {$LL.department()}\n \n {department.name}\n \n {$LL.team()}\n \n \n {team.name}\n \n {:else}\n \n {$LL.team()}\n \n \n {team.name}\n \n {/if}\n
    \n {:else}\n
    \n {$LL.team()}\n \n \n {team.name}\n \n
    \n {/if}\n \n
    \n {$LL.checkIn()}\n \n
    \n \n\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n\n \n \n \n\n
    \n
    \n {#each checkinColumns as col}\n
    \n {#each col.checkins as checkin, i}\n \n
    \n
    \n
    \n
    \n \n \n
    \n {#if checkin.goalsMet}\n \n \n \n \n \n \n
    \n {/if}\n {#if checkin.blockers !== ''}\n \n {/if}\n \n \n
    \n
    \n
    \n
    \n
    \n \n {checkin.user.name}\n
    \n {#if checkin.user.id === $user.id || isAdmin}\n
    \n {\n toggleCheckin(checkin);\n }}\"\n class=\"text-blue-500\"\n title=\"{$LL.edit()}\"\n data-testid=\"checkin-edit\"\n >\n {$LL.edit()}\n \n \n {\n handleCheckinDelete(checkin.id);\n }}\"\n class=\"text-red-500\"\n title=\"Delete\"\n data-testid=\"checkin-delete\"\n >\n {$LL.delete()}\n \n \n
    \n {/if}\n
    \n \n
    \n
    \n
    \n {$LL.yesterday()}:\n
    \n \n {@html checkin.yesterday}\n
    \n
    \n
    \n
    \n {$LL.today()}:\n
    \n \n {@html checkin.today}\n
    \n \n {#if checkin.blockers !== ''}\n
    \n
    \n {$LL.blockers()}:\n
    \n \n {@html checkin.blockers}\n
    \n \n {/if}\n {#if checkin.discuss !== ''}\n
    \n
    \n {$LL.discuss()}:\n
    \n \n {@html checkin.discuss}\n
    \n \n {/if}\n
    \n \n
    \n \n \n {/each}\n \n {/each}\n \n \n\n {#if showCheckin}\n {#if selectedCheckin}\n \n {:else}\n \n {/if}\n {/if}\n
    \n","\n\n
    \n {#if showPassword}\n \n {:else}\n \n {/if}\n \n {#if showPassword}\n \n {:else}\n \n {/if}\n \n
    \n","\n\n{#if AppConfig.OIDCAuthEnabled || (!AppConfig.AllowRegistration && !AppConfig.AllowGuests && !isAdmin)}\n
    \n {$LL.registrationDisabled()}\n
    \n{:else}\n
    \n
    \n \n
    \n\n {#if AppConfig.AllowRegistration && !isGuest && !fullOnly}\n
    \n \n
    \n {/if}\n\n {#if createFullAccount}\n
    \n \n
    \n\n
    \n \n
    \n\n
    \n \n
    \n\n {#if password1 !== '' && password2 !== '' && !passwordsMatch}\n
    \n Passwords do not match\n
    \n {/if}\n {/if}\n\n
    \n \n \n \n \n {createFullAccount ? $LL.createAccount() : $LL.registerAsGuest()}\n \n
    \n
    \n{/if}\n","\n\n\n {$LL.register()} | {$LL.appName()}\n\n\n\n
    \n \n {$LL.register()}\n \n {#if teamInviteId != null}\n
    to join your Team
    \n {/if}\n {#if orgInviteId != null}\n
    to join your Organization
    \n {/if}\n {#if battleId}\n
    \n {@html $LL.loginForBattle({\n loginOpen: ``,\n loginClose: ``,\n })}\n
    \n {/if}\n {#if retroId}\n
    \n {@html $LL.loginForRetro({\n loginOpen: ``,\n loginClose: ``,\n })}\n
    \n {/if}\n {#if storyboardId}\n
    \n {@html $LL.loginForStoryboard({\n loginOpen: ``,\n loginClose: ``,\n })}\n
    \n {/if}\n
    \n\n
    \n \n \n
    \n \n\n","\n\n\n \n \n \n \n
    \n \n
    \n \n
    \n \n
    \n \n \n \n\n","\n\n{#if OIDCAuthEnabled}\n \n \n \n \n {$LL.loginWithSSO({ provider: OIDCProviderName })}\n \n{/if}\n\n{#if !OIDCAuthEnabled && !forgotPassword && !mfaRequired}\n \n \n\n \n\n
    \n
    \n \n \n \n \n \n \n \n \n \n
    \n {#if !LdapEnabled}\n { \n e.preventDefault();\n toggleForgotPassword();\n }}\n href=\"/login\"\n >\n {$LL.forgotPassword()}\n \n {/if}\n
    \n\n \n \n \n \n {$LL.login()}\n \n \n {#if GoogleAuthEnabled && !HeaderAuthEnabled && !LdapEnabled}\n
    \n
    \n
    \n Or continue with\n
    \n
    \n \n Sign in with Google\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n {/if}\n {#if registerLink !== ''}\n
    \n {$LL.createAccountTagline()}\n {$LL.createAccount()}\n \n
    \n {/if}\n{/if}\n\n{#if forgotPassword}\n \n
    \n \n {$LL.forgotPassword()}\n \n

    \n {$LL.forgotPasswordSubtext()}\n

    \n
    \n\n \n\n
    \n \n {$LL.returnToLogin()}\n \n \n {$LL.resetPassword()}\n \n
    \n \n{/if}\n\n{#if mfaRequired}\n
    \n
    \n \n {$LL.mfaTokenLabel()}\n \n \n
    \n\n
    \n \n \n \n \n {$LL.login()}\n \n
    \n
    \n{/if}\n","\n\n\n {$LL.login()} | {$LL.appName()}\n\n\n

    \n {$LL.login()}\n

    \n\n \n \n \n\n","\n\n\n {$LL.resetPassword()} | {$LL.appName()}\n\n\n\n
    \n
    \n \n \n {$LL.resetPassword()}\n
    \n\n
    \n \n {$LL.password()}\n \n \n
    \n\n
    \n \n {$LL.confirmPassword()}\n \n \n
    \n\n
    \n \n {$LL.reset()}\n \n
    \n \n
    \n \n
    \n","\n\n\n {$LL.verifyAccount()} | {$LL.appName()}\n\n\n\n
    \n
    \n {#if accountVerified}\n \n \n {$LL.verifyAccountVerifiedTitle()}\n \n

    {$LL.verifyAccountVerifiedThanks()}

    \n
    \n {:else if verficationError}\n \n \n {$LL.verifyAccountFailedTitle()}\n \n

    {$LL.verifyAccountFailedError()}

    \n
    \n {:else}\n
    \n

    \n {$LL.verifyAccountLoading()}\n

    \n
    \n {/if}\n \n \n
    \n","\n\n
    \n
    \n \n {$LL.password()}\n \n \n
    \n\n
    \n \n {$LL.confirmPassword()}\n \n \n
    \n\n
    \n \n {$LL.cancel()}\n \n \n {$LL.update()}\n \n
    \n
    \n","\n\n\n
    \n
    \n

    \n {$LL.mfaSetupIntro()}\n

    \n {#if qrCode !== ''}\n \n\n

    \n {$LL.mfaSecretKeyLabel()}: {secret}\n

    \n {/if}\n
    \n
    \n
    \n \n {$LL.mfaTokenLabel()}\n \n \n
    \n\n
    \n
    \n \n {$LL.mfaConfirmToken()}\n \n
    \n
    \n
    \n
    \n
    \n","\n\n
    \n \n {#each supportedLocales as locale}\n \n {/each}\n \n
    \n","\n\n
    \n
    \n \n {$LL.name()}\n \n \n
    \n\n
    \n \n {$LL.email()}\n {#if profile.rank && profile.rank !== 'GUEST'}\n {#if profile.verified}\n \n {$LL.verified()}\n \n \n {:else}\n {$LL.requestVerifyEmail()}\n \n {/if}\n {/if}\n \n \n
    \n\n {#if profile.rank !== 'GUEST' && credential}\n
    \n

    \n {$LL.mfa2faLabel()}\n

    \n {#if !credential.mfa_enabled}\n {$LL.mfa2faSetup()}\n \n {:else}\n {$LL.mfa2faRemove()}\n \n {/if}\n
    \n {/if}\n\n
    \n \n {$LL.country()}\n \n\n \n \n {#each countryList as item}\n \n {/each}\n \n
    \n\n
    \n
    \n {$LL.locale()}\n
    \n setupI18n(e.detail)}\"\n />\n
    \n\n
    \n \n {$LL.company()}\n \n \n
    \n\n
    \n \n {$LL.jobTitle()}\n \n \n
    \n\n
    \n \n {$LL.theme()}\n \n \n {#each themes as theme}\n \n {/each}\n \n
    \n\n
    \n \n
    \n\n {#if isAvatarConfigurable}\n
    \n \n {$LL.avatar()}\n \n
    \n
    \n {#if AvatarService === 'gravatar'}\n Optional Gravatar Fallback\n {/if}\n \n {#each avatars as item}\n \n {/each}\n \n
    \n
    \n \n
    \n
    \n
    \n {/if}\n\n
    \n
    \n {#if profile.rank && profile.rank !== 'GUEST'}\n {#if !ldapEnabled && !headerAuthEnabled && toggleUpdatePassword}\n \n {$LL.updatePassword()}\n \n {/if}\n {/if}\n \n {$LL.updateProfile()}\n \n
    \n
    \n
    \n\n{#if showMFASetup}\n \n{/if}\n\n{#if showMfaRemove}\n \n{/if}\n","\n\n\n {#if apiKey === ''}\n
    \n
    \n \n \n
    \n
    \n
    \n \n {$LL.create()}\n \n
    \n
    \n
    \n {:else}\n
    \n

    \n {@html $LL.apiKeyCreateSuccess({\n keyName: `${keyName}`,\n onlyNowOpen: '',\n onlyNowClose: '',\n })}\n

    \n
    \n \n
    \n \n \n \n
    \n
    \n

    \n {$LL.apiKeyStoreWarning()}\n

    \n
    \n
    \n
    \n \n {$LL.close()}\n \n
    \n
    \n {/if}\n
    \n","\n\n\n
    \n
    \n \n \n Example: https://yourjira.atlassian.net\n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n \n {$LL.create()}\n \n
    \n
    \n
    \n
    \n","\n\n{team.name}\n","\n\n{organization.name}\n","\n\n\n
    \n
    \n \n \n \n {#each teams as team}\n \n {/each}\n \n
    \n
    \n
    \n \n {$LL.save()}\n \n
    \n
    \n
    \n
    \n","\n\n\n
    \n
    \n \n Associate Organization\n \n \n \n {#each organizations as organization}\n \n {/each}\n \n
    \n
    \n
    \n \n {$LL.save()}\n \n
    \n
    \n
    \n
    \n","\n\n\n
    \n
    \n
    \n \n {#if $user.subscribed && userSubscriptions.length === 0}\n

    \n Active subscription(s) associated to Organization(s) or Team(s)\n

    \n {:else}\n \n \n \n \n {$LL.type()}\n \n \n {$LL.organization()}\n \n \n {$LL.team()}\n \n \n {$LL.expireDate()}\n \n \n \n \n {#each userSubscriptions as sub, i}\n \n {sub.type}\n \n {#if sub.type === 'organization'}\n {#if sub.organization_id === ''}\n \n Associate to Organization\n \n {:else}\n \n {/if}\n {:else}\n N/A\n {/if}\n \n \n {#if sub.type === 'team'}\n {#if sub.team_id === ''}\n \n Associate to Team\n \n {:else}\n \n {/if}\n {:else}\n N/A\n {/if}\n \n \n {new Date(sub.expires).toLocaleString()}\n \n \n {/each}\n \n \n {/if}\n
    \n
    \n
    \n\n {#if showAssociateTeam}\n \n {/if}\n\n {#if showAssociateOrganization}\n \n {/if}\n\n","\n\n\n {$LL.profileTitle()} | {$LL.appName()}\n\n\n\n \n {$LL.profileTitle()}\n \n\n
    \n
    \n {#if !updatePassword}\n \n \n
    \n {/if}\n\n {#if updatePassword}\n
    \n \n {$LL.updatePassword()}\n
    \n\n \n
    \n {/if}\n \n\n \n \n {/if}\n\n
    \n
    \n
    \n \n Jira Instances\n \n
    \n {#if (SubscriptionsEnabled && $user.subscribed) || (!SubscriptionsEnabled && $user.rank !== 'GUEST')}\n
    \n
    \n \n Add Jira Instance\n \n
    \n
    \n {/if}\n
    \n
    \n
    \n \n \n {#if SubscriptionsEnabled && !$user.subscribed}\n \n {:else if !SubscriptionsEnabled && $user.rank === 'GUEST'}\n

    \n Must be logged in to setup Jira integrations\n

    \n {:else}\n \n \n \n \n Host\n \n \n Client Mail\n \n \n {$LL.actions()}\n \n \n \n \n {#each jiraInstances as ji, i}\n \n {ji.host}\n \n {ji.client_mail}\n \n \n \n {$LL.delete()}\n \n \n \n {/each}\n \n \n {/if}\n
    \n
    \n
    \n \n \n \n\n {#if !OIDCAuthEnabled && !LdapEnabled && !HeaderAuthEnabled}\n
    \n \n {$LL.deleteAccount()}\n \n
    \n {/if}\n \n {#if showApiKeyCreate}\n \n {/if}\n {#if showJiraInstanceCreate}\n \n {/if}\n\n {#if showAccountDeletion}\n \n {/if}\n
    \n","\n\n\n
    \n \n
    \n
    \n\n","\n\n
    \n \n
    \n {@render children?.()}\n
    \n
    \n","\n\n\n {$LL.admin()} | {$LL.appName()}\n\n\n\n
    \n {#each statGroups.filter(g => g.active) as group}\n {#if group.stats.some(stat => stat.active)}\n \n \n {group.title}\n \n
    \n {#if group.stats.filter(stat => stat.active).length > 0}\n {#each group.stats.filter(stat => stat.active) as stat}\n \n
    \n
    \n \n \n
    \n
    \n
    \n

    \n {$LL[stat.name]()}\n

    \n

    \n {stat.count}\n

    \n
    \n
    \n
    \n {/each}\n {/if}\n \n \n {/if}\n {/each}\n \n\n
    \n \n {$LL.maintenance()}\n
    \n\n
    \n \n
    \n
    \n \n {$LL.cleanGuests({\n daysOld: CleanupGuestsDaysOld,\n })}\n \n \n {$LL.execute()}\n \n
    \n
    \n
    \n\n {#if FeaturePoker}\n \n
    \n
    \n \n {$LL.cleanBattles({\n daysOld: CleanupBattlesDaysOld,\n })}\n \n \n {$LL.execute()}\n \n
    \n
    \n \n {/if}\n {#if FeatureRetro}\n \n
    \n
    \n \n {$LL.adminCleanOldRetros({\n daysOld: CleanupRetrosDaysOld,\n })}\n \n \n {$LL.execute()}\n \n
    \n
    \n \n {/if}\n {#if FeatureStoryboard}\n \n
    \n
    \n \n {$LL.adminCleanOldStoryboards({\n daysOld: CleanupStoryboardsDaysOld,\n })}\n \n \n {$LL.execute()}\n \n
    \n
    \n \n {/if}\n \n \n
    \n","\n\n\n
    \n \n
    \n
    \n","\n\n\n {$LL.users()} {$LL.admin()} | {$LL.appName()}\n\n\n\n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.email()}\n \n \n {$LL.company()}\n \n \n {$LL.type()}\n \n Enabled\n \n {$LL.actions()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each users as user, i}\n \n \n
    \n
    \n \n
    \n
    \n
    \n {user.name}\n {#if user.country}\n  \n \n {/if}\n
    \n
    \n
    \n
    \n \n {user.email}\n {#if user.verified}\n \n \n \n {/if}\n \n \n
    \n {user.company}\n
    \n
    \n {user.jobTitle}\n
    \n
    \n \n {user.rank}\n \n \n \n {#if user.disabled}\n \n {:else}\n \n {/if}\n \n \n \n \n {#if user.rank !== 'ADMIN'}\n \n {$LL.promote()}\n \n {:else}\n \n {$LL.demote()}\n \n {/if}\n \n \n
    \n {/each}\n \n {/snippet}\n
    \n \n
    \n\n {#if showCreateUser}\n \n {/if}\n\n {#if showUserEdit}\n \n \n \n {/if}\n\n {#if showUserDeletion}\n \n {/if}\n
    \n","\n\n\n {$LL.users()} {$LL.admin()} | {$LL.appName()}\n\n\n\n
    \n \n \n {$LL.updatePassword()}\n \n \n {#snippet header()}\n \n \n \n {$LL.country()}\n \n \n {$LL.email()}\n \n \n {$LL.type()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n {$LL.lastActive()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n \n \n
    \n
    \n \n
    \n
    \n
    \n \n {#if userDetails.country}\n  \n \n {/if}\n \n \n {userDetails.email}\n {#if userDetails.verified}\n \n \n \n {/if}\n \n \n {userDetails.rank}\n \n \n {new Date(userDetails.createdDate).toLocaleString()}\n \n \n {new Date(userDetails.updatedDate).toLocaleString()}\n \n \n {new Date(userDetails.lastActive).toLocaleString()}\n \n
    \n \n {/snippet}\n
    \n
    \n
    \n\n {#if FeaturePoker}\n
    \n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n {$LL.actions()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each battles as battle, i}\n \n \n {battle.name}\n \n \n {new Date(battle.createdDate).toLocaleString()}\n \n \n {new Date(battle.updatedDate).toLocaleString()}\n \n \n \n {$LL.battleJoin()}\n \n \n \n {/each}\n \n {/snippet}\n
    \n \n
    \n
    \n {/if}\n\n {#if FeatureRetro}\n
    \n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n {$LL.actions()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each retros as retro, i}\n \n \n {retro.name}\n \n \n {new Date(retro.createdDate).toLocaleString()}\n \n \n {new Date(retro.updatedDate).toLocaleString()}\n \n \n \n {$LL.joinRetro()}\n \n \n \n {/each}\n \n {/snippet}\n
    \n \n
    \n
    \n {/if}\n\n {#if FeatureStoryboard}\n
    \n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n {$LL.actions()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each storyboards as storyboard, i}\n \n \n {storyboard.name}\n \n \n {new Date(storyboard.createdDate).toLocaleString()}\n \n \n {new Date(storyboard.updatedDate).toLocaleString()}\n \n \n \n {$LL.joinStoryboard()}\n \n \n \n {/each}\n \n {/snippet}\n
    \n \n
    \n
    \n {/if}\n\n {#if showUpdatePassword}\n \n \n \n {/if}\n
    \n","\n\n\n \n {$LL.organizations()}\n {$LL.admin()} | {$LL.appName()}\n \n\n\n\n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each organizations as org, i}\n \n \n {org.name}\n \n \n {new Date(org.createdDate).toLocaleString()}\n \n \n {new Date(org.updatedDate).toLocaleString()}\n \n \n {/each}\n \n {/snippet}\n
    \n \n
    \n
    \n","\n\n\n {$LL.organization()} {organization.name} | {$LL.appName()}\n\n\n\n

    \n {$LL.organization()}\n \n {organization.name}\n

    \n\n
    \n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n {$LL.actions()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each departments as department, i}\n \n \n \n {department.name}\n \n \n \n {new Date(department.createdDate).toLocaleString()}\n \n \n {new Date(department.updatedDate).toLocaleString()}\n \n \n \n \n \n {/each}\n \n {/snippet}\n
    \n
    \n
    \n\n
    \n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n {$LL.actions()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each teams as team, i}\n \n \n \n {team.name}\n \n \n \n {new Date(team.createdDate).toLocaleString()}\n \n \n {new Date(team.updatedDate).toLocaleString()}\n \n \n \n \n \n {/each}\n \n {/snippet}\n
    \n
    \n
    \n\n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.email()}\n \n \n {$LL.role()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each users as user, i}\n \n \n
    \n
    \n \n
    \n
    \n
    \n {user.name}\n {#if user.country}\n  \n \n {/if}\n
    \n
    \n
    \n
    \n \n {user.email}\n \n \n
    \n {user.role}\n
    \n
    \n
    \n {/each}\n \n {/snippet}\n
    \n
    \n\n
    \n \n {$LL.deleteOrganization()}\n \n
    \n\n {#if showDeleteTeam}\n \n {/if}\n\n {#if showDeleteDepartment}\n \n {/if}\n\n {#if showDeleteOrganization}\n \n {/if}\n
    \n","\n\n\n {$LL.department()} {department.name} | {$LL.appName()}\n\n\n\n
    \n

    \n {$LL.department()}\n \n {department.name}\n

    \n
    \n {$LL.organization()}\n \n \n {organization.name}\n \n
    \n
    \n\n
    \n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n {$LL.actions()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each teams as team, i}\n \n \n \n {team.name}\n \n \n \n {new Date(team.createdDate).toLocaleString()}\n \n \n {new Date(team.updatedDate).toLocaleString()}\n \n \n \n \n \n {/each}\n \n {/snippet}\n
    \n
    \n
    \n\n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.email()}\n \n \n {$LL.role()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each users as user, i}\n \n \n
    \n
    \n \n
    \n
    \n
    \n {user.name}\n {#if user.country}\n  \n \n {/if}\n
    \n
    \n
    \n
    \n \n {user.email}\n \n \n
    \n {user.role}\n
    \n
    \n
    \n {/each}\n \n {/snippet}\n
    \n
    \n\n {#if showDeleteTeam}\n \n {/if}\n
    \n","\n\n\n {$LL.teams()} {$LL.admin()} | {$LL.appName()}\n\n\n\n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each teams as team, i}\n \n \n {team.name}\n \n \n {new Date(team.createdDate).toLocaleString()}\n \n \n {new Date(team.updatedDate).toLocaleString()}\n \n \n {/each}\n \n {/snippet}\n
    \n \n
    \n
    \n","\n\n\n {$LL.team()} {$LL.admin()} | {$LL.appName()}\n\n\n\n
    \n \n {team.name}\n \n\n {#if organizationId}\n
    \n {$LL.organization()}\n \n \n {organization.name}\n \n {#if departmentId}\n  \n \n {$LL.department()}\n \n \n {department.name}\n \n {/if}\n
    \n {/if}\n
    \n\n
    \n \n \n \n {#snippet header()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n \n \n {new Date(team.createdDate).toLocaleString()}\n \n \n {new Date(team.updatedDate).toLocaleString()}\n \n \n \n {/snippet}\n
    \n
    \n
    \n\n
    \n {#if FeaturePoker}\n
    \n
    \n
    \n \n {$LL.battles()}\n \n
    \n
    \n\n
    \n {#each battles as battle}\n \n
    \n \n {battle.name}\n
    \n
    \n \n {$LL.battleJoin()}\n \n
    \n
    \n
    \n {/each}\n
    \n \n {/if}\n\n {#if FeatureRetro}\n
    \n
    \n
    \n \n {$LL.retros()}\n \n
    \n
    \n\n
    \n {#each retros as retro}\n \n
    \n \n {retro.name}\n
    \n
    \n \n {$LL.joinRetro()}\n \n
    \n
    \n
    \n {/each}\n \n\n {#if retros.length}\n
    \n
    \n \n {$LL.retroActionItems()}\n \n\n
    \n \n
    \n
    \n\n \n {#snippet header()}\n \n {$LL.actionItem()}\n {$LL.completed()}\n {$LL.comments()}\n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each retroActions as item, i}\n \n \n
    \n {item.content}\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n  {item.comments.length}\n \n \n
    \n {/each}\n \n {/snippet}\n
    \n \n
    \n {/if}\n \n {/if}\n\n {#if FeatureStoryboard}\n
    \n
    \n
    \n \n {$LL.storyboards()}\n \n
    \n
    \n\n
    \n {#each storyboards as storyboard}\n \n
    \n \n {storyboard.name}\n
    \n
    \n \n {$LL.joinStoryboard()}\n \n
    \n
    \n
    \n {/each}\n \n \n {/if}\n\n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.email()}\n \n \n {$LL.role()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each users as user, i}\n \n \n
    \n
    \n \n
    \n
    \n
    \n {user.name}\n {#if user.country}\n  \n \n {/if}\n
    \n
    \n
    \n
    \n \n {user.email}\n \n \n
    \n {user.role}\n
    \n
    \n
    \n {/each}\n \n {/snippet}\n
    \n
    \n\n {#if !organizationId}\n
    \n \n {$LL.deleteTeam()}\n \n
    \n {/if}\n\n {#if showDeleteTeam}\n \n {/if}\n \n
    \n","\n\n\n {$LL.apiKeys()} {$LL.admin()} | {$LL.appName()}\n\n\n\n \n \n \n {#snippet header()}\n \n \n {$LL.apiKeyName()}\n \n \n {$LL.apiKeyPrefix()}\n \n \n {$LL.userName()}\n \n \n {$LL.active()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n {$LL.actions()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each apikeys as apikey, i}\n \n \n {apikey.name}\n \n \n {apikey.prefix}\n \n \n \n {apikey.userName}\n \n \n \n \n \n \n {new Date(apikey.createdDate).toLocaleString()}\n \n \n {new Date(apikey.updatedDate).toLocaleString()}\n \n \n \n \n {#if !apikey.active}\n {$LL.activate()}\n {:else}\n {$LL.deactivate()}\n {/if}\n \n \n \n \n {/each}\n \n {/snippet}\n
    \n \n
    \n
    \n","\n\n\n
    \n
    \n \n {$LL.name()}\n \n \n
    \n\n
    \n \n \n \n {#each alertTypes as aType}\n \n {/each}\n \n
    \n\n
    \n \n {$LL.alertContent()}\n \n \n
    \n\n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n\n
    \n
    \n \n {$LL.alertSave()}\n \n
    \n
    \n
    \n
    \n","\n\n\n {$LL.alerts()} {$LL.admin()} | {$LL.appName()}\n\n\n\n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.type()}\n \n \n {$LL.active()}\n \n \n {$LL.alertRegisteredOnly()}\n \n \n {$LL.alertAllowDismiss()}\n \n \n {$LL.dateUpdated()}\n \n \n Actions\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each alerts as alert, i}\n \n \n {alert.name}\n \n \n {alert.type}\n \n \n {#if alert.active}\n \n {/if}\n \n \n {#if alert.registeredOnly}\n \n {/if}\n \n \n {#if alert.allowDismiss}\n \n {/if}\n \n \n {new Date(alert.updatedDate).toLocaleString()}\n \n \n \n \n \n {/each}\n \n {/snippet}\n
    \n \n
    \n\n {#if showAlertCreate}\n \n {/if}\n {#if showAlertUpdate}\n \n {/if}\n\n {#if showDeleteAlert}\n \n {/if}\n
    \n","\n\n\n {$LL.battles()}\n {$LL.admin()} | {$LL.appName()}\n\n\n\n \n \n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n {$LL.actions()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each battles as battle, i}\n \n \n {battle.name}\n \n \n {new Date(battle.createdDate).toLocaleString()}\n \n \n {new Date(battle.updatedDate).toLocaleString()}\n \n \n \n {$LL.battleJoin()}\n \n \n \n {/each}\n \n {/snippet}\n
    \n \n
    \n
    \n","\n\n\n {$LL.battles()}\n {$LL.admin()} | {$LL.appName()}\n\n\n\n
    \n \n \n \n {#snippet header()}\n \n \n {$LL.votingLocked()}\n \n \n {$LL.autoFinishVoting()}\n \n \n {$LL.pointValuesAllowed()}\n \n \n {$LL.pointAverageRounding()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n \n \n \n \n \n \n \n \n {battle.pointValuesAllowed.join(', ')}\n \n \n {battle.pointAverageRounding}\n \n \n {new Date(battle.createdDate).toLocaleString()}\n \n \n {new Date(battle.updatedDate).toLocaleString()}\n \n \n \n {/snippet}\n
    \n
    \n
    \n\n
    \n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.type()}\n \n \n {$LL.active()}\n \n \n {$LL.abandoned()}\n \n \n {$LL.spectator()}\n \n \n {$LL.leader()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each battle.users as user, i}\n \n \n
    \n
    \n \n
    \n
    \n
    \n {user.name}\n {#if user.country}\n  \n \n {/if}\n
    \n
    \n
    \n
    \n \n {user.rank}\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n {/each}\n \n {/snippet}\n
    \n
    \n
    \n\n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.type()}\n \n \n {$LL.planReferenceId()}\n \n \n {$LL.voteCount()}\n \n \n {$LL.points()}\n \n \n {$LL.active()}\n \n \n {$LL.skipped()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each battle.plans as plan, i}\n \n \n {plan.name}\n \n \n {plan.type}\n \n \n {plan.referenceId}\n \n \n {plan.votes.length}\n \n \n {plan.points}\n \n \n \n \n \n \n \n \n {/each}\n \n {/snippet}\n
    \n
    \n\n
    \n \n {$LL.battleDelete()}\n \n
    \n\n {#if showDeleteBattle}\n \n {/if}\n
    \n","\n\n\n {$LL.retros()} {$LL.admin()} | {$LL.appName()}\n\n\n\n \n \n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n {$LL.actions()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each retros as retro, i}\n \n \n {retro.name}\n \n \n {new Date(retro.createdDate).toLocaleString()}\n \n \n {new Date(retro.updatedDate).toLocaleString()}\n \n \n \n {$LL.joinRetro()}\n \n \n \n {/each}\n \n {/snippet}\n
    \n \n
    \n
    \n","\n\n\n {$LL.retro()} {$LL.admin()} | {$LL.appName()}\n\n\n\n
    \n \n \n \n {#snippet header()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n \n \n {new Date(retro.createdDate).toLocaleString()}\n \n \n {new Date(retro.updatedDate).toLocaleString()}\n \n \n \n {/snippet}\n
    \n
    \n
    \n\n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.active()}\n \n \n {$LL.abandoned()}\n \n \n {$LL.leader()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each retro.users as user, i}\n \n \n
    \n
    \n \n
    \n
    \n
    \n {user.name}\n {#if user.country}\n  \n \n {/if}\n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n
    \n {/each}\n \n {/snippet}\n
    \n
    \n\n
    \n \n {$LL.deleteRetro()}\n \n
    \n\n {#if showDeleteRetro}\n \n {/if}\n
    \n","\n\n\n {$LL.storyboards()} {$LL.admin()} | {$LL.appName()}\n\n\n\n \n \n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n {$LL.actions()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each storyboards as storyboard, i}\n \n \n {storyboard.name}\n \n \n {new Date(storyboard.createdDate).toLocaleString()}\n \n \n {new Date(storyboard.updatedDate).toLocaleString()}\n \n \n \n {$LL.joinStoryboard()}\n \n \n \n {/each}\n \n {/snippet}\n
    \n \n
    \n
    \n","\n\n\n {$LL.storyboard()} {$LL.admin()} | {$LL.appName()}\n\n\n\n
    \n \n \n \n {#snippet header()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n \n \n {new Date(storyboard.createdDate).toLocaleString()}\n \n \n {new Date(storyboard.updatedDate).toLocaleString()}\n \n \n \n {/snippet}\n
    \n
    \n
    \n\n \n \n \n {#snippet header()}\n \n \n {$LL.name()}\n \n \n {$LL.active()}\n \n \n {$LL.abandoned()}\n \n \n {$LL.leader()}\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each storyboard.users as user, i}\n \n \n
    \n
    \n \n
    \n
    \n
    \n {user.name}\n {#if user.country}\n  \n \n {/if}\n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n {/each}\n \n {/snippet}\n
    \n
    \n\n
    \n \n {$LL.deleteStoryboard()}\n \n
    \n\n {#if showDeleteStoryboard}\n \n {/if}\n
    \n","\n\n\n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n Thunderdome Organization Id\n \n \n
    \n
    \n \n \n
    \n
    \n \n Stripe Subscription Id*\n \n \n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n
    \n \n {$LL.save()}\n \n
    \n
    \n
    \n
    \n","\n\n\n {$LL.subscriptions()} {$LL.admin()} | {$LL.appName()}\n\n\n\n \n \n \n {#snippet header()}\n \n \n {$LL.email()}\n \n Customer ID\n Subscription ID\n \n {$LL.type()}\n \n \n {$LL.active()}\n \n Expires\n \n Actions\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n {#each subscriptions as subscription, i}\n \n \n \n {subscription.user.name}\n \n \n \n {subscription.customer_id}\n \n \n {subscription.subscription_id}\n \n \n {subscription.type}\n \n \n \n \n \n {new Date(subscription.expires).toLocaleString()}\n \n \n \n \n \n {/each}\n \n {/snippet}\n
    \n \n\n {#if showSubCreate}\n \n {/if}\n {#if showSubUpdate}\n \n {/if}\n\n {#if showSubDelete}\n \n {/if}\n
    \n
    \n","\n\n\n Subscription {$LL.admin()} | {$LL.appName()}\n\n\n\n \n \n \n {#snippet header()}\n \n \n {$LL.email()}\n \n Customer ID\n Subscription ID\n \n {$LL.type()}\n \n \n {$LL.active()}\n \n \n {$LL.dateCreated()}\n \n \n {$LL.dateUpdated()}\n \n \n Actions\n \n \n {/snippet}\n {#snippet body({ class: className })}\n \n \n \n \n {subscription.user.name}\n \n \n \n {subscription.customer_id}\n \n \n {subscription.subscription_id}\n \n \n {subscription.type}\n \n \n \n \n \n {new Date(subscription.created_date).toLocaleString()}\n \n \n {new Date(subscription.updated_date).toLocaleString()}\n \n \n \n \n {/snippet}\n
    \n
    \n
    \n","\n\n\n {$LL.estimationScales()}\n {$LL.admin()} | {$LL.appName()}\n\n\n\n \n\n","\n\n
    \n
    \n

    \n Thank you for subscribing!\n

    \n

    \n You should receive an email shortly, once your subscription is activated.\n

    \n
    \n
    \n\n
    \n
    \n
    \n \n Associate Team or Organization to Subscription\n \n

    \n If you purchased a\n non Individual\n subscription follow the below steps to associate it to the respective\n Team\n or Organization.\n

    \n
    \n
    \n \n 1. Navigate to your profile by pressing the Ninja User in the top\n navigation bar\n \n \n
    \n
    \n \n 2. Look for the Active Subscriptions\n section and Press the Associate to button\n for the respective subscription type\n \n \n
    \n
    \n \n 3. Select the Team or Organization to associate to the subscription and\n press save\n \n \n
    \n
    \n \n Now the associated Team or Organization members can access premium\n features after they re-login.\n \n
    \n
    \n
    \n","\n\n{#if !$user.name || !$user.rank || $user.rank === 'GUEST'}\n \n Login\n to subscribe.\n

    \n{:else if $user.subscribed}\n \n Already subscribed.\n

    \n{:else}\n {@render children?.()}\n{/if}\n","\n\n
    \n Monthly\n
    \n \n Yearly (2 Months Free!)\n\n","\n\n\n
    \n \n \n Elevate Your Agile Workflow\n \n \n

    \n Choose the plan that fits your team's ambitions. Unlock premium features\n to streamline your agile process.\n

    \n\n \n\n
    \n \n \n \n STARTER\n \n

    Free

    \n

    \n Perfect for small teams just getting started\n

    \n {#if $user.rank && $user.rank !== 'GUEST'}\n \n Already registered.\n

    \n {:else}\n Register\n
    \n {/if}\n
      \n
    • 🚀 Poker Planning
    • \n
    • 🔄 Sprint Retrospectives
    • \n
    • 🗺️ Story Mapping
    • \n
    • 📅 Async Daily Stand-ups
    • \n
    • 👥 No User Limits
    • \n
    \n \n\n \n {#if AppConfig.Subscription.Individual.Enabled}\n \n

    \n Individual\n

    \n

    \n ${AppConfig.Subscription.Individual[\n `${\n selectedPaymentPeriod === 'month' ? 'MonthPrice' : 'YearPrice'\n }`\n ]}\n  /{selectedPaymentPeriod === 'month' ? 'mo' : 'yr'}\n

    \n

    \n Ideal for growing teams and professionals\n

    \n \n \n Subscribe Now\n \n \n
      \n
    • ✨ All Starter Features
    • \n
    • 🔗 Import stories from Jira Cloud
    • \n
    • \n 🔗 Import stories from other sessions or even Storyboards\n
    • \n
    • \n ✅ See previous check-in during today's stand-up\n
    • \n
    \n
    \n {/if}\n\n \n {#if AppConfig.Subscription.Team.Enabled}\n \n \n TEAM\n \n

    \n ${AppConfig.Subscription.Team[\n `${\n selectedPaymentPeriod === 'month' ? 'MonthPrice' : 'YearPrice'\n }`\n ]}\n  /{selectedPaymentPeriod === 'month' ? 'mo' : 'yr'}\n

    \n

    \n Empower your entire team with premium features\n

    \n \n \n Subscribe Now\n \n \n
      \n
    • \n 🌟 All Individual Features\n
    • \n
    • \n ⚙️ Configure default settings for creating Retrospectives and\n Planning Poker sessions within the subscribed team\n
    • \n
    • 📊 Custom Poker Estimation Scales
    • \n
    • 🔄 Custom Retrospective Templates
    • \n
    • \n 🔄 Review open action items from previous retrospectives\n
    • \n
    \n
    \n {/if}\n\n \n {#if AppConfig.Subscription.Organization.Enabled}\n \n \n Organization\n \n

    \n ${AppConfig.Subscription.Organization[\n `${\n selectedPaymentPeriod === 'month' ? 'MonthPrice' : 'YearPrice'\n }`\n ]}\n  /{selectedPaymentPeriod === 'month' ? 'mo' : 'yr'}\n

    \n

    \n Cost savings for companies with multiple teams\n

    \n \n \n Subscribe Now\n \n \n
      \n
    • 💼 All Team Features
    • \n
    • \n ⚙️ Configure default settings for creating Retrospectives and\n Planning Poker sessions within the subscribed organization\n
    • \n
    \n
    \n {/if}\n
    \n\n
    \n \n
    \n
    \n

    \n \n Self-Hosted Thunderdome\n

    \n

    \n Deploy Thunderdome on your own infrastructure. Perfect for teams\n that require complete control over their data and customization.\n

    \n
      \n
    • \n \n Full Control Over Your Data\n
    • \n
    • \n \n Customizable to Your Needs\n
    • \n
    \n
    \n Get Started\n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n\n","\n\n\n {$LL.privacyPolicy()} | {$LL.appName()}\n\n\n\n
    \n

    {$LL.privacyPolicy()}

    \n

    \n Updated at 2024-03-27\n

    \n\n

    \n Thunderdome (“we,” “our,” or “us”) is committed to protecting your\n privacy. This Privacy Policy explains how your personal information is\n collected, used, and disclosed by Thunderdome.\n

    \n

    \n This Privacy Policy applies to our website, and its associated subdomains\n (collectively, our “Service”) alongside our application, Thunderdome. By\n accessing or using our Service, you signify that you have read,\n understood, and agree to our collection, storage, use, and disclosure of\n your personal information as described in this Privacy Policy and our\n Terms of Service.\n

    \n\n

    Definitions and key terms

    \n
    \n

    \n To help explain things as clearly as possible in this Privacy Policy,\n every time any of these terms are referenced, are strictly defined as:\n

    \n
      \n
    • \n Cookie: small amount of data generated by a website and saved by your\n web browser. It is used to identify your browser, provide analytics,\n remember information about you such as your language preference or\n login information.\n
    • \n
    • \n Company: when this policy mentions “Company,” “we,” “us,” or “our,” it\n refers to Thunderdome, that is responsible for your information under\n this Privacy Policy.\n
    • \n
    • \n Country: where Thunderdome or the owners/founders of Thunderdome are\n based, in this case is United States\n
    • \n
    • \n Customer: refers to the company, organization or person that signs up\n to use the Thunderdome Service to manage the relationships with your\n consumers or service users.\n
    • \n
    • \n Device: any internet connected device such as a phone, tablet,\n computer or any other device that can be used to visit Thunderdome and\n use the services.\n
    • \n
    • \n IP address: Every device connected to the Internet is assigned a\n number known as an Internet protocol (IP) address. These numbers are\n usually assigned in geographic blocks. An IP address can often be used\n to identify the location from which a device is connecting to the\n Internet.\n
    • \n
    • \n Personnel: refers to those individuals who are employed by Thunderdome\n or are under contract to perform a service on behalf of one of the\n parties.\n
    • \n
    • \n Personal Data: any information that directly, indirectly, or in\n connection with other information — including a personal\n identification number — allows for the identification or\n identifiability of a natural person.\n
    • \n
    • \n Service: refers to the service provided by Thunderdome as described in\n the relative terms (if available) and on this platform.\n
    • \n
    • \n Third-party service: refers to advertisers, contest sponsors,\n promotional and marketing partners, and others who provide our content\n or whose products or services we think may interest you.\n
    • \n
    • \n Website: Thunderdome's site, which can be accessed via this URL:\n
    • \n
    • \n You: a person or entity that is registered with Thunderdome to use the\n Services.\n
    • \n
    \n
    \n\n

    What Information Do We Collect?

    \n

    \n We collect information from you when you visit our app, register on our\n site, place an order, subscribe to our newsletter, respond to a survey or\n fill out a form.\n

    \n\n
      \n
    • Name / Username
    • \n
    • Email Addresses
    • \n
    • Password
    • \n
    \n
      \n\n

      How Do We Use The Information We Collect?

      \n
      \n

      \n Any of the information we collect from you may be used in one of the\n following ways:\n

      \n
        \n
      • \n To personalize your experience (your information helps us to better\n respond to your individual needs)\n
      • \n
      • \n To improve our app (we continually strive to improve our app offerings\n based on the information and feedback we receive from you)\n
      • \n
      • \n To improve customer service (your information helps us to more\n effectively respond to your customer service requests and support\n needs)\n
      • \n
      • To process transactions
      • \n
      • \n To administer a contest, promotion, survey or other site feature\n
      • \n
      • To send periodic emails
      • \n
      \n
      \n\n

      \n When does Thunderdome use end user information from third parties?\n

      \n

      \n Thunderdome will collect End User Data necessary to provide the\n Thunderdome services to our customers.\n

      \n

      \n End users may voluntarily provide us with information they have made\n available on social media websites. If you provide us with any such\n information, we may collect publicly available information from the social\n media websites you have indicated. You can control how much of your\n information social media websites make public by visiting these websites\n and changing your privacy settings.\n

      \n\n

      \n When does Thunderdome use customer information from third parties?\n

      \n

      \n We receive some information from the third parties when you contact us.\n For example, when you submit your email address to us to show interest in\n becoming a Thunderdome customer, we receive information from a third party\n that provides automated fraud detection services to Thunderdome. We also\n occasionally collect information that is made publicly available on social\n media websites. You can control how much of your information social media\n websites make public by visiting these websites and changing your privacy\n settings.\n

      \n\n

      \n Do we share the information we collect with third parties?\n

      \n

      \n We may share the information that we collect, both personal and\n non-personal, with third parties such as advertisers, contest sponsors,\n promotional and marketing partners, and others who provide our content or\n whose products or services we think may interest you. We may also share it\n with our current and future affiliated companies and business partners,\n and if we are involved in a merger, asset sale or other business\n reorganization, we may also share or transfer your personal and\n non-personal information to our successors-in-interest.\n

      \n

      \n We may engage trusted third party service providers to perform functions\n and provide services to us, such as hosting and maintaining our servers\n and the app, database storage and management, e-mail management, storage\n marketing, credit card processing, customer service and fulfilling orders\n for products and services you may purchase through the app. We will likely\n share your personal information, and possibly some non-personal\n information, with these third parties to enable them to perform these\n services for us and for you.\n

      \n

      \n We may share portions of our log file data, including IP addresses, for\n analytics purposes with third parties such as web analytics partners,\n application developers, and ad networks. If your IP address is shared, it\n may be used to estimate general location and other technographics such as\n connection speed, whether you have visited the app in a shared location,\n and type of the device used to visit the app. They may aggregate\n information about our advertising and what you see on the app and then\n provide auditing, research and reporting for us and our advertisers. 

We\n may also disclose personal and non-personal information about you to\n government or law enforcement officials or private parties as we, in our\n sole discretion, believe necessary or appropriate in order to respond to\n claims, legal process (including subpoenas), to protect our rights and\n interests or those of a third party, the safety of the public or any\n person, to prevent or stop any illegal, unethical, or legally actionable\n activity, or to otherwise comply with applicable court orders, laws, rules\n and regulations.\n

      \n\n

      \n Where and when is information collected from customers and end users?\n

      \n

      \n Thunderdome will collect personal information that you submit to us. We\n may also receive personal information about you from third parties as\n described above.\n

      \n\n

      How Do We Use Your Email Address?

      \n

      \n By submitting your email address on this app, you agree to receive emails\n from us. You can cancel your participation in any of these email lists at\n any time by clicking on the opt-out link or other unsubscribe option that\n is included in the respective email. We only send emails to people who\n have authorized us to contact them, either directly, or through a third\n party. We do not send unsolicited commercial emails, because we hate spam\n as much as you do. By submitting your email address, you also agree to\n allow us to use your email address for customer audience targeting on\n sites like Facebook, where we display custom advertising to specific\n people who have opted-in to receive communications from us. Email\n addresses submitted only through the order processing page will be used\n for the sole purpose of sending you information and updates pertaining to\n your order. If, however, you have provided the same email to us through\n another method, we may use it for any of the purposes stated in this\n Policy. Note: If at any time you would like to unsubscribe from receiving\n future emails, we include detailed unsubscribe instructions at the bottom\n of each email.\n

      \n\n

      How Long Do We Keep Your Information?

      \n

      \n We keep your information only so long as we need it to provide Thunderdome\n to you and fulfill the purposes described in this policy. This is also the\n case for anyone that we share your information with and who carries out\n services on our behalf. When we no longer need to use your information and\n there is no need for us to keep it to comply with our legal or regulatory\n obligations, we’ll either remove it from our systems or depersonalize it\n so that we can't identify you.\n

      \n\n

      How Do We Protect Your Information?

      \n

      \n We implement a variety of security measures to maintain the safety of your\n personal information when you place an order or enter, submit, or access\n your personal information. We offer the use of a secure server. All\n supplied sensitive/credit information is transmitted via Secure Socket\n Layer (SSL) technology and then encrypted into our Payment gateway\n providers database only to be accessible by those authorized with special\n access rights to such systems, and are required to keep the information\n confidential. After a transaction, your private information (credit cards,\n social security numbers, financials, etc.) is never kept on file. We\n cannot, however, ensure or warrant the absolute security of any\n information you transmit to Thunderdome or guarantee that your information\n on the Service may not be accessed, disclosed, altered, or destroyed by a\n breach of any of our physical, technical, or managerial safeguards.\n

      \n\n

      \n Could my information be transferred to other countries?\n

      \n

      \n Thunderdome is incorporated in United States. Information collected via\n our website, through direct interactions with you, or from use of our help\n services may be transferred from time to time to our offices or personnel,\n or to third parties, located throughout the world, and may be viewed and\n hosted anywhere in the world, including countries that may not have laws\n of general applicability regulating the use and transfer of such data. To\n the fullest extent allowed by applicable law, by using any of the above,\n you voluntarily consent to the trans-border transfer and hosting of such\n information.\n

      \n\n

      \n Is the information collected through the Thunderdome Service secure?\n

      \n

      \n We take precautions to protect the security of your information. We have\n physical, electronic, and managerial procedures to help safeguard, prevent\n unauthorized access, maintain data security, and correctly use your\n information. However, neither people nor security systems are foolproof,\n including encryption systems. In addition, people can commit intentional\n crimes, make mistakes or fail to follow policies. Therefore, while we use\n reasonable efforts to protect your personal information, we cannot\n guarantee its absolute security. If applicable law imposes any\n non-disclaimable duty to protect your personal information, you agree that\n intentional misconduct will be the standards used to measure our\n compliance with that duty.\n

      \n\n

      Can I update or correct my information?

      \n

      \n The rights you have to request updates or corrections to the information\n Thunderdome collects depend on your relationship with Thunderdome.\n Personnel may update or correct their information as detailed in our\n internal company employment policies.\n

      \n

      \n Customers have the right to request the restriction of certain uses and\n disclosures of personally identifiable information as follows. You\n can contact us in order to (1) update or correct your personally\n identifiable information, (2) change your preferences with respect to\n communications and other information you receive from us, or (3) delete\n the personally identifiable information maintained about you on our\n systems (subject to the following paragraph), by cancelling your account.\n Such updates, corrections, changes and deletions will have no effect on\n other information that we maintain, or information that we have provided\n to third parties in accordance with this Privacy Policy prior to such\n update, correction, change or deletion. To protect your privacy and\n security, we may take reasonable steps (such as requesting a unique\n password) to verify your identity before granting you profile access or\n making corrections. You are responsible for maintaining the secrecy of\n your unique password and account information at all times.\n

      \n

      \n You should be aware that it is not technologically possible to remove each\n and every record of the information you have provided to us from our\n system. The need to back up our systems to protect information from\n inadvertent loss means that a copy of your information may exist in a\n non-erasable form that will be difficult or impossible for us to locate.\n Promptly after receiving your request, all personal information stored in\n databases we actively use, and other readily searchable media will be\n updated, corrected, changed or deleted, as appropriate, as soon as and to\n the extent reasonably and technically practicable.\n

      \n

      \n If you are an end user and wish to update, delete, or receive any\n information we have about you, you may do so by contacting the\n organization of which you are a customer.\n

      \n

      Sale of Business

      \n

      \n We reserve the right to transfer information to a third party in the event\n of a sale, merger or other transfer of all or substantially all of the\n assets of Thunderdome or any of its Corporate Affiliates (as defined\n herein), or that portion of Thunderdome or any of its Corporate Affiliates\n to which the Service relates, or in the event that we discontinue our\n business or file a petition or have filed against us a petition in\n bankruptcy, reorganization or similar proceeding, provided that the third\n party agrees to adhere to the terms of this Privacy Policy.\n

      \n\n

      Affiliates

      \n

      \n We may disclose information (including personal information) about you to\n our Corporate Affiliates. For purposes of this Privacy Policy, \"Corporate\n Affiliate\" means any person or entity which directly or indirectly\n controls, is controlled by or is under common control with Thunderdome,\n whether by ownership or otherwise. Any information relating to you that we\n provide to our Corporate Affiliates will be treated by those Corporate\n Affiliates in accordance with the terms of this Privacy Policy.\n

      \n\n

      Governing Law

      \n

      \n This Privacy Policy is governed by the laws of United States without\n regard to its conflict of laws provision. You consent to the exclusive\n jurisdiction of the courts in connection with any action or dispute\n arising between the parties under or in connection with this Privacy\n Policy except for those individuals who may have rights to make claims\n under Privacy Shield, or the Swiss-US framework.\n

      \n

      \n The laws of United States, excluding its conflicts of law rules, shall\n govern this Agreement and your use of the app. Your use of the app may\n also be subject to other local, state, national, or international laws.\n

      \n

      \n By using Thunderdome or contacting us directly, you signify your\n acceptance of this Privacy Policy. If you do not agree to this Privacy\n Policy, you should not engage with our website, or use our services.\n Continued use of the website, direct engagement with us, or following the\n posting of changes to this Privacy Policy that do not significantly affect\n the use or disclosure of your personal information will mean that you\n accept those changes.\n

      \n\n

      Your Consent

      \n

      \n We've updated our Privacy Policy to provide you with complete transparency\n into what is being set when you visit our site and how it's being used. By\n using our app, registering an account, or making a purchase, you hereby\n consent to our Privacy Policy and agree to its terms.\n

      \n\n

      Links to Other Websites

      \n

      \n This Privacy Policy applies only to the Services. The Services may contain\n links to other websites not operated or controlled by Thunderdome. We are\n not responsible for the content, accuracy or opinions expressed in such\n websites, and such websites are not investigated, monitored or checked for\n accuracy or completeness by us. Please remember that when you use a link\n to go from the Services to another website, our Privacy Policy is no\n longer in effect. Your browsing and interaction on any other website,\n including those that have a link on our platform, is subject to that\n website’s own rules and policies. Such third parties may use their own\n cookies or other methods to collect information about you.\n

      \n

      Cookies

      \n

      \n Thunderdome uses \"Cookies\" to identify the areas of our website that you\n have visited. A Cookie is a small piece of data stored on your computer or\n mobile device by your web browser. We use Cookies to enhance the\n performance and functionality of our app but are non-essential to their\n use. However, without these cookies, certain functionality like videos may\n become unavailable or you would be required to enter your login details\n every time you visit the app as we would not be able to remember that you\n had logged in previously. Most web browsers can be set to disable the use\n of Cookies. However, if you disable Cookies, you may not be able to access\n functionality on our website correctly or at all. We never place\n Personally Identifiable Information in Cookies.\n

      \n\n

      \n Blocking and disabling cookies and similar technologies\n

      \n

      \n Wherever you're located you may also set your browser to block cookies and\n similar technologies, but this action may block our essential cookies and\n prevent our website from functioning properly, and you may not be able to\n fully utilize all of its features and services. You should also be aware\n that you may also lose some saved information (e.g. saved login details,\n site preferences) if you block cookies on your browser. Different browsers\n make different controls available to you. Disabling a cookie or category\n of cookie does not delete the cookie from your browser, you will need to\n do this yourself from within your browser, you should visit your browser's\n help menu for more information.\n

      \n

      Payment Details

      \n

      \n In respect to any credit card or other payment processing details you have\n provided us, we commit that this confidential information will be stored\n in the most secure manner possible.\n

      \n

      Kids' Privacy

      \n

      \n We do not address anyone under the age of 13. We do not knowingly collect\n personally identifiable information from anyone under the age of 13. If\n You are a parent or guardian and You are aware that Your child has\n provided Us with Personal Data, please contact Us. If We become aware that\n We have collected Personal Data from anyone under the age of 13 without\n verification of parental consent, We take steps to remove that information\n from Our servers.\n

      \n

      Changes To Our Privacy Policy

      \n

      \n We may change our Service and policies, and we may need to make changes to\n this Privacy Policy so that they accurately reflect our Service and\n policies. Unless otherwise required by law, we will notify you (for\n example, through our Service) before we make changes to this Privacy\n Policy and give you an opportunity to review them before they go into\n effect. Then, if you continue to use the Service, you will be bound by the\n updated Privacy Policy. If you do not want to agree to this or any updated\n Privacy Policy, you can delete your account.\n

      \n\n

      Third-Party Services

      \n

      \n We may display, include or make available third-party content (including\n data, information, applications and other products services) or provide\n links to third-party websites or services (\"Third- Party Services\").\n

      \n

      \n You acknowledge and agree that Thunderdome shall not be responsible for\n any Third-Party Services, including their accuracy, completeness,\n timeliness, validity, copyright compliance, legality, decency, quality or\n any other aspect thereof. Thunderdome does not assume and shall not have\n any liability or responsibility to you or any other person or entity for\n any Third-Party Services.\n

      \n

      \n Third-Party Services and links thereto are provided solely as a\n convenience to you and you access and use them entirely at your own risk\n and subject to such third parties' terms and conditions.\n

      \n

      Tracking Technologies

      \n
        \n
      • \n Cookies\n

        \n

        \n We use Cookies to enhance the performance and functionality of our\n platform but are non-essential to their use. However, without these\n cookies, certain functionality like videos may become unavailable or\n you would be required to enter your login details every time you visit\n the platform as we would not be able to remember that you had logged\n in previously.\n

        \n
      • \n
        \n
      \n

      \n Information about General Data Protection Regulation (GDPR)\n

      \n

      \n We may be collecting and using information from you if you are from the\n European Economic Area (EEA), and in this section of our Privacy Policy we\n are going to explain exactly how and why is this data collected, and how\n we maintain this data under protection from being replicated or used in\n the wrong way.\n

      \n\n

      What is GDPR?

      \n

      \n GDPR is an EU-wide privacy and data protection law that regulates how EU\n residents' data is protected by companies and enhances the control the EU\n residents have, over their personal data.\n

      \n

      \n The GDPR is relevant to any globally operating company and not just the\n EU-based businesses and EU residents. Our customers’ data is important\n irrespective of where they are located, which is why we have implemented\n GDPR controls as our baseline standard for all our operations worldwide.\n

      \n\n

      What is personal data?

      \n

      \n Any data that relates to an identifiable or identified individual. GDPR\n covers a broad spectrum of information that could be used on its own, or\n in combination with other pieces of information, to identify a person.\n Personal data extends beyond a person’s name or email address. Some\n examples include financial information, political opinions, genetic data,\n biometric data, IP addresses, physical address, sexual orientation, and\n ethnicity.\n

      \n

      \n The Data Protection Principles include requirements such as:\n

      \n
        \n
      • \n Personal data collected must be processed in a fair, legal, and\n transparent way and should only be used in a way that a person would\n reasonably expect.\n
      • \n
      • \n Personal data should only be collected to fulfil a specific purpose and\n it should only be used for that purpose. Organizations must specify why\n they need the personal data when they collect it.\n
      • \n
      • \n Personal data should be held no longer than necessary to fulfil its\n purpose.\n
      • \n
      • \n People covered by the GDPR have the right to access their own personal\n data. They can also request a copy of their data, and that their data be\n updated, deleted, restricted, or moved to another organization.\n
      • \n
      \n\n

      Why is GDPR important?

      \n

      \n GDPR adds some new requirements regarding how companies should protect\n individuals' personal data that they collect and process. It also raises\n the stakes for compliance by increasing enforcement and imposing greater\n fines for breach. Beyond these facts it's simply the right thing to do. At\n Thunderdome we strongly believe that your data privacy is very important\n and we already have solid security and privacy practices in place that go\n beyond the requirements of this new regulation.\n

      \n\n

      \n Individual Data Subject's Rights - Data Access, Portability and Deletion\n

      \n

      \n We are committed to helping our customers meet the data subject rights\n requirements of GDPR. Thunderdome processes or stores all personal data in\n fully vetted, DPA compliant vendors. We do store all conversation and\n personal data for up to 6 years unless your account is deleted. In which\n case, we dispose of all data in accordance with our Terms of Service and\n Privacy Policy, but we will not hold it longer than 60 days.\n

      \n

      \n We are aware that if you are working with EU customers, you need to be\n able to provide them with the ability to access, update, retrieve and\n remove personal data. We got you! We've been set up as self service from\n the start and have always given you access to your data and your customers\n data. Our customer support team is here for you to answer any questions\n you might have about working with the API.\n

      \n

      California Residents

      \n

      \n The California Consumer Privacy Act (CCPA) requires us to disclose\n categories of Personal Information we collect and how we use it, the\n categories of sources from whom we collect Personal Information, and the\n third parties with whom we share it, which we have explained above.\n

      \n

      \n We are also required to communicate information about rights California\n residents have under California law. You may exercise the following\n rights:\n

      \n
        \n
      • \n Right to Know and Access. You may submit a verifiable request for\n information regarding the: (1) categories of Personal Information we\n collect, use, or share; (2) purposes for which categories of Personal\n Information are collected or used by us; (3) categories of sources from\n which we collect Personal Information; and (4) specific pieces of\n Personal Information we have collected about you.\n
      • \n
      • \n Right to Equal Service. We will not discriminate against you if you\n exercise your privacy rights.\n
      • \n
      • \n Right to Delete. You may submit a verifiable request to close your\n account and we will delete Personal Information about you that we have\n collected.\n
      • \n
      • \n Request that a business that sells a consumer's personal data, not sell\n the consumer's personal data.\n
      • \n
      \n

      \n If you make a request, we have one month to respond to you. If you would\n like to exercise any of these rights, please contact us.\n

      \n

      We do not sell the Personal Information of our users.

      \n

      \n For more information about these rights, please contact us.\n

      \n

      \n California Online Privacy Protection Act (CalOPPA)\n

      \n

      \n CalOPPA requires us to disclose categories of Personal Information we\n collect and how we use it, the categories of sources from whom we collect\n Personal Information, and the third parties with whom we share it, which\n we have explained above.\n

      \n

      CalOPPA users have the following rights:

      \n
        \n
      • \n Right to Know and Access. You may submit a verifiable request for\n information regarding the: (1) categories of Personal Information we\n collect, use, or share; (2) purposes for which categories of Personal\n Information are collected or used by us; (3) categories of sources from\n which we collect Personal Information; and (4) specific pieces of\n Personal Information we have collected about you.\n
      • \n
      • \n Right to Equal Service. We will not discriminate against you if you\n exercise your privacy rights.\n
      • \n
      • \n Right to Delete. You may submit a verifiable request to close your\n account and we will delete Personal Information about you that we have\n collected.\n
      • \n
      • \n Right to request that a business that sells a consumer's personal data,\n not sell the consumer's personal data.\n
      • \n
      \n

      \n If you make a request, we have one month to respond to you. If you would\n like to exercise any of these rights, please contact us.\n

      \n

      We do not sell the Personal Information of our users.

      \n

      \n For more information about these rights, please contact us.\n

      \n

      Contact Us

      \n

      Don't hesitate to contact us if you have any questions.

      \n
        \n
      • \n Via this Link: https://thunderdome.dev/support\n
      • \n
      \n
      \n
      \n","\n\n\n {$LL.termsConditions()} | {$LL.appName()}\n\n\n\n
      \n

      {$LL.termsConditions()}

      \n

      \n Updated at 2024-03-27\n

      \n\n

      General Terms

      \n

      \n By accessing and placing an order with Thunderdome, you confirm that you\n are in agreement with and bound by the terms of service contained in the\n Terms & Conditions outlined below. These terms apply to the entire website\n and any email or other type of communication between you and Thunderdome.\n

      \n

      \n Under no circumstances shall Thunderdome team be liable for any direct,\n indirect, special, incidental or consequential damages, including, but not\n limited to, loss of data or profit, arising out of the use, or the\n inability to use, the materials on this site, even if Thunderdome team or\n an authorized representative has been advised of the possibility of such\n damages. If your use of materials from this site results in the need for\n servicing, repair or correction of equipment or data, you assume any costs\n thereof.\n

      \n

      \n Thunderdome will not be responsible for any outcome that may occur during\n the course of usage of our resources. We reserve the rights to change\n prices and revise the resources usage policy in any moment.\n

      \n\n

      License

      \n

      \n Thunderdome grants you a revocable, non-exclusive, non-transferable,\n limited license to download, install and use the app strictly in\n accordance with the terms of this Agreement.\n

      \n

      \n These Terms & Conditions are a contract between you and Thunderdome\n (referred to in these Terms & Conditions as \"Thunderdome\", \"us\", \"we\" or\n \"our\"), the provider of the Thunderdome website and the services\n accessible from the Thunderdome website (which are collectively referred\n to in these Terms & Conditions as the \"Thunderdome Service\").\n

      \n

      \n You are agreeing to be bound by these Terms & Conditions. If you do not\n agree to these Terms & Conditions, please do not use the Thunderdome\n Service. In these Terms & Conditions, \"you\" refers both to you as an\n individual and to the entity you represent. If you violate any of these\n Terms & Conditions, we reserve the right to cancel your account or block\n access to your account without notice.\n

      \n\n

      Definitions and key terms

      \n

      \n To help explain things as clearly as possible in this Terms & Conditions,\n every time any of these terms are referenced, are strictly defined as:\n

      \n
        \n
      • \n Cookie: small amount of data generated by a website and saved by your\n web browser. It is used to identify your browser, provide analytics,\n remember information about you such as your language preference or login\n information.\n
      • \n
      • \n Company: when this policy mentions “Company,” “we,” “us,” or “our,” it\n refers to Thunderdome, that is responsible for your information under\n this Terms & Conditions.\n
      • \n
      • \n Country: where Thunderdome or the owners/founders of Thunderdome are\n based, in this case is\n
      • \n
      • \n Device: any internet connected device such as a phone, tablet, computer\n or any other device that can be used to visit Thunderdome and use the\n services.\n
      • \n
      • \n Service: refers to the service provided by Thunderdome as described in\n the relative terms (if available) and on this platform.\n
      • \n
      • \n Third-party service: refers to advertisers, contest sponsors,\n promotional and marketing partners, and others who provide our content\n or whose products or services we think may interest you.\n
      • \n
      • Website: Thunderdome's site, which can be accessed via this URL:
      • \n
      • \n You: a person or entity that is registered with Thunderdome to use the\n Services.\n
      • \n
      \n\n

      Restrictions

      \n

      You agree not to, and you will not permit others to:

      \n
        \n
      • \n License, sell, rent, lease, assign, distribute, transmit, host,\n outsource, disclose or otherwise commercially exploit the app or make\n the platform available to any third party.\n
      • \n
      • \n Modify, make derivative works of, disassemble, decrypt, reverse compile\n or reverse engineer any part of the app.\n
      • \n
      • \n Remove, alter or obscure any proprietary notice (including any notice of\n copyright or trademark) of Thunderdome or its affiliates, partners,\n suppliers or the licensors of the app.\n
      • \n
      \n

      Return and Refund Policy

      \n

      \n Thanks for shopping at Thunderdome. We appreciate the fact that you like\n to buy the stuff we build. We also want to make sure you have a rewarding\n experience while you’re exploring, evaluating, and purchasing our\n products.\n

      \n

      \n As with any shopping experience, there are terms and conditions that apply\n to transactions at Thunderdome. We’ll be as brief as our attorneys will\n allow. The main thing to remember is that by placing an order or making a\n purchase at Thunderdome, you agree to the terms along with\n Thunderdome's Privacy Policy.\n

      \n

      \n If, for any reason, You are not completely satisfied with any good or\n service that we provide, don't hesitate to contact us and we will discuss\n any of the issues you are going through with our product.\n

      \n\n

      Your Suggestions

      \n

      \n Any feedback, comments, ideas, improvements or suggestions (collectively,\n \"Suggestions\") provided by you to Thunderdome with respect to the app\n shall remain the sole and exclusive property of Thunderdome.\n

      \n

      \n Thunderdome shall be free to use, copy, modify, publish, or redistribute\n the Suggestions for any purpose and in any way without any credit or any\n compensation to you.\n

      \n\n

      Your Consent

      \n

      \n We've updated our Terms & Conditions to provide you with complete\n transparency into what is being set when you visit our site and how it's\n being used. By using our app, registering an account, or making a\n purchase, you hereby consent to our Terms & Conditions.\n

      \n\n

      Links to Other Websites

      \n

      \n This Terms & Conditions applies only to the Services. The Services may\n contain links to other websites not operated or controlled by Thunderdome.\n We are not responsible for the content, accuracy or opinions expressed in\n such websites, and such websites are not investigated, monitored or\n checked for accuracy or completeness by us. Please remember that when you\n use a link to go from the Services to another website, our Terms &\n Conditions are no longer in effect. Your browsing and interaction on any\n other website, including those that have a link on our platform, is\n subject to that website’s own rules and policies. Such third parties may\n use their own cookies or other methods to collect information about you.\n

      \n\n

      Cookies

      \n

      \n Thunderdome uses \"Cookies\" to identify the areas of our website that you\n have visited. A Cookie is a small piece of data stored on your computer or\n mobile device by your web browser. We use Cookies to enhance the\n performance and functionality of our app but are non-essential to their\n use. However, without these cookies, certain functionality like videos may\n become unavailable or you would be required to enter your login details\n every time you visit the app as we would not be able to remember that you\n had logged in previously. Most web browsers can be set to disable the use\n of Cookies. However, if you disable Cookies, you may not be able to access\n functionality on our website correctly or at all. We never place\n Personally Identifiable Information in Cookies.\n

      \n\n

      Changes To Our Terms & Conditions

      \n

      \n You acknowledge and agree that Thunderdome may stop (permanently or\n temporarily) providing the Service (or any features within the Service) to\n you or to users generally at sole discretion, without prior notice to you.\n You may stop using the Service at any time. You do not need to\n specifically inform Thunderdome when you stop using the Service. You\n acknowledge and agree that if Thunderdome disables access to your account,\n you may be prevented from accessing the Service, your account details or\n any files or other materials which is contained in your account.\n

      \n

      \n If we decide to change our Terms & Conditions, we will post those changes\n on this page, and/or update the Terms & Conditions modification date\n below.\n

      \n\n

      Modifications to Our app

      \n

      \n Thunderdome reserves the right to modify, suspend or discontinue,\n temporarily or permanently, the app or any service to which it connects,\n with or without notice and without liability to you.\n

      \n\n

      Updates to Our app

      \n

      \n Thunderdome may from time to time provide enhancements or improvements to\n the features/ functionality of the app, which may include patches, bug\n fixes, updates, upgrades and other modifications (\"Updates\").\n

      \n

      \n Updates may modify or delete certain features and/or functionalities of\n the app. You agree that Thunderdome has no obligation to (i) provide any\n Updates, or (ii) continue to provide or enable any particular features\n and/or functionalities of the app to you.\n

      \n

      \n You further agree that all Updates will be (i) deemed to constitute an\n integral part of the app, and (ii) subject to the terms and conditions of\n this Agreement.\n

      \n\n

      Third-Party Services

      \n

      \n We may display, include or make available third-party content (including\n data, information, applications and other products services) or provide\n links to third-party websites or services (\"Third- Party Services\").\n

      \n

      \n You acknowledge and agree that Thunderdome shall not be responsible for\n any Third-Party Services, including their accuracy, completeness,\n timeliness, validity, copyright compliance, legality, decency, quality or\n any other aspect thereof. Thunderdome does not assume and shall not have\n any liability or responsibility to you or any other person or entity for\n any Third-Party Services.\n

      \n

      \n Third-Party Services and links thereto are provided solely as a\n convenience to you and you access and use them entirely at your own risk\n and subject to such third parties' terms and conditions.\n

      \n\n

      Term and Termination

      \n

      \n This Agreement shall remain in effect until terminated by you or\n Thunderdome.\n

      \n

      \n Thunderdome may, in its sole discretion, at any time and for any or no\n reason, suspend or terminate this Agreement with or without prior notice.\n

      \n

      \n This Agreement will terminate immediately, without prior notice from\n Thunderdome, in the event that you fail to comply with any provision of\n this Agreement. You may also terminate this Agreement by deleting the app\n and all copies thereof from your computer.\n

      \n

      \n Upon termination of this Agreement, you shall cease all use of the app and\n delete all copies of the app from your computer.\n

      \n

      \n Termination of this Agreement will not limit any of Thunderdome's rights\n or remedies at law or in equity in case of breach by you (during the term\n of this Agreement) of any of your obligations under the present Agreement.\n

      \n\n

      Copyright Infringement Notice

      \n

      \n If you are a copyright owner or such owner’s agent and believe any\n material on our app constitutes an infringement on your copyright, please\n contact us setting forth the following information: (a) a physical or\n electronic signature of the copyright owner or a person authorized to act\n on his behalf; (b) identification of the material that is claimed to be\n infringing; (c) your contact information, including your address,\n telephone number, and an email; (d) a statement by you that you have a\n good faith belief that use of the material is not authorized by the\n copyright owners; and (e) the a statement that the information in the\n notification is accurate, and, under penalty of perjury you are authorized\n to act on behalf of the owner.\n

      \n\n

      Indemnification

      \n

      \n You agree to indemnify and hold Thunderdome and its parents, subsidiaries,\n affiliates, officers, employees, agents, partners and licensors (if any)\n harmless from any claim or demand, including reasonable attorneys' fees,\n due to or arising out of your: (a) use of the app; (b) violation of this\n Agreement or any law or regulation; or (c) violation of any right of a\n third party.\n

      \n\n

      No Warranties

      \n

      \n The app is provided to you \"AS IS\" and \"AS AVAILABLE\" and with all faults\n and defects without warranty of any kind. To the maximum extent permitted\n under applicable law, Thunderdome, on its own behalf and on behalf of its\n affiliates and its and their respective licensors and service providers,\n expressly disclaims all warranties, whether express, implied, statutory or\n otherwise, with respect to the app, including all implied warranties of\n merchantability, fitness for a particular purpose, title and\n non-infringement, and warranties that may arise out of course of dealing,\n course of performance, usage or trade practice. Without limitation to the\n foregoing, Thunderdome provides no warranty or undertaking, and makes no\n representation of any kind that the app will meet your requirements,\n achieve any intended results, be compatible or work with any other\n software, , systems or services, operate without interruption, meet any\n performance or reliability standards or be error free or that any errors\n or defects can or will be corrected.\n

      \n

      \n Without limiting the foregoing, neither Thunderdome nor any Thunderdome's\n provider makes any representation or warranty of any kind, express or\n implied: (i) as to the operation or availability of the app, or the\n information, content, and materials or products included thereon; (ii)\n that the app will be uninterrupted or error-free; (iii) as to the\n accuracy, reliability, or currency of any information or content provided\n through the app; or (iv) that the app, its servers, the content, or\n e-mails sent from or on behalf of Thunderdome are free of viruses,\n scripts, trojan horses, worms, malware, timebombs or other harmful\n components.\n

      \n

      \n Some jurisdictions do not allow the exclusion of or limitations on implied\n warranties or the limitations on the applicable statutory rights of a\n consumer, so some or all of the above exclusions and limitations may not\n apply to you.\n

      \n\n

      Limitation of Liability

      \n

      \n Notwithstanding any damages that you might incur, the entire liability of\n Thunderdome and any of its suppliers under any provision of this Agreement\n and your exclusive remedy for all of the foregoing shall be limited to the\n amount actually paid by you for the app.\n

      \n

      \n To the maximum extent permitted by applicable law, in no event shall\n Thunderdome or its suppliers be liable for any special, incidental,\n indirect, or consequential damages whatsoever (including, but not limited\n to, damages for loss of profits, for loss of data or other information,\n for business interruption, for personal injury, for loss of privacy\n arising out of or in any way related to the use of or inability to use the\n app, third-party software and/or third-party hardware used with the app,\n or otherwise in connection with any provision of this Agreement), even if\n Thunderdome or any supplier has been advised of the possibility of such\n damages and even if the remedy fails of its essential purpose.\n

      \n

      \n Some states/jurisdictions do not allow the exclusion or limitation of\n incidental or consequential damages, so the above limitation or exclusion\n may not apply to you.\n

      \n\n

      Severability

      \n

      \n If any provision of this Agreement is held to be unenforceable or invalid,\n such provision will be changed and interpreted to accomplish the\n objectives of such provision to the greatest extent possible under\n applicable law and the remaining provisions will continue in full force\n and effect.\n

      \n

      \n This Agreement, together with the Privacy Policy and any other legal\n notices published by Thunderdome on the Services, shall constitute the\n entire agreement between you and Thunderdome concerning the Services. If\n any provision of this Agreement is deemed invalid by a court of competent\n jurisdiction, the invalidity of such provision shall not affect the\n validity of the remaining provisions of this Agreement, which shall remain\n in full force and effect. No waiver of any term of this Agreement shall be\n deemed a further or continuing waiver of such term or any other term, and\n Thunderdome's failure to assert any right or provision under this\n Agreement shall not constitute a waiver of such right or provision. YOU\n AND Thunderdome AGREE THAT ANY CAUSE OF ACTION ARISING OUT OF OR RELATED\n TO THE SERVICES MUST COMMENCE WITHIN ONE (1) YEAR AFTER THE CAUSE OF\n ACTION ACCRUES. OTHERWISE, SUCH CAUSE OF ACTION IS PERMANENTLY BARRED.\n

      \n\n

      Waiver

      \n

      \n Except as provided herein, the failure to exercise a right or to require\n performance of an obligation under this Agreement shall not effect a\n party's ability to exercise such right or require such performance at any\n time thereafter nor shall be the waiver of a breach constitute waiver of\n any subsequent breach.\n

      \n

      \n o failure to exercise, and no delay in exercising, on the part of either\n party, any right or any power under this Agreement shall operate as a\n waiver of that right or power. Nor shall any single or partial exercise of\n any right or power under this Agreement preclude further exercise of that\n or any other right granted herein. In the event of a conflict between this\n Agreement and any applicable purchase or other terms, the terms of this\n Agreement shall govern.\n

      \n\n

      Amendments to this Agreement

      \n

      \n Thunderdome reserves the right, at its sole discretion, to modify or\n replace this Agreement at any time. If a revision is material we will\n provide at least 30 days' notice prior to any new terms taking effect.\n What constitutes a material change will be determined at our sole\n discretion.\n

      \n

      \n By continuing to access or use our app after any revisions become\n effective, you agree to be bound by the revised terms. If you do not agree\n to the new terms, you are no longer authorized to use Thunderdome.\n

      \n\n

      Entire Agreement

      \n

      \n The Agreement constitutes the entire agreement between you and Thunderdome\n regarding your use of the app and supersedes all prior and contemporaneous\n written or oral agreements between you and Thunderdome.\n

      \n

      \n You may be subject to additional terms and conditions that apply when you\n use or purchase other Thunderdome's services, which Thunderdome will\n provide to you at the time of such use or purchase.\n

      \n\n

      Updates to Our Terms

      \n

      \n We may change our Service and policies, and we may need to make changes to\n these Terms so that they accurately reflect our Service and policies.\n Unless otherwise required by law, we will notify you (for example, through\n our Service) before we make changes to these Terms and give you an\n opportunity to review them before they go into effect. Then, if you\n continue to use the Service, you will be bound by the updated Terms. If\n you do not want to agree to these or any updated Terms, you can delete\n your account.\n

      \n\n

      Intellectual Property

      \n

      \n The app and its entire contents, features and functionality (including but\n not limited to all information, software, text, displays, images, video\n and audio, and the design, selection and arrangement thereof), are owned\n by Thunderdome, its licensors or other providers of such material and are\n protected by and international copyright, trademark, patent, trade secret\n and other intellectual property or proprietary rights laws. The material\n may not be copied, modified, reproduced, downloaded or distributed in any\n way, in whole or in part, without the express prior written permission of\n Thunderdome, unless and except as is expressly provided in these Terms &\n Conditions. Any unauthorized use of the material is prohibited.\n

      \n\n

      Agreement to Arbitrate

      \n

      \n This section applies to any dispute EXCEPT IT DOESN’T INCLUDE A DISPUTE\n RELATING TO CLAIMS FOR INJUNCTIVE OR EQUITABLE RELIEF REGARDING THE\n ENFORCEMENT OR VALIDITY OF YOUR OR Thunderdome's INTELLECTUAL PROPERTY\n RIGHTS. The term “dispute” means any dispute, action, or other controversy\n between you and Thunderdome concerning the Services or this agreement,\n whether in contract, warranty, tort, statute, regulation, ordinance, or\n any other legal or equitable basis. “Dispute” will be given the broadest\n possible meaning allowable under law.\n

      \n\n

      Notice of Dispute

      \n

      \n In the event of a dispute, you or Thunderdome must give the other a Notice\n of Dispute, which is a written statement that sets forth the name,\n address, and contact information of the party giving it, the facts giving\n rise to the dispute, and the relief requested. You must send any Notice of\n Dispute via email to: . Thunderdome will send any Notice of Dispute to you\n by mail to your address if we have it, or otherwise to your email address.\n You and Thunderdome will attempt to resolve any dispute through informal\n negotiation within sixty (60) days from the date the Notice of Dispute is\n sent. After sixty (60) days, you or Thunderdome may commence arbitration.\n

      \n\n

      Binding Arbitration

      \n

      \n If you and Thunderdome don’t resolve any dispute by informal negotiation,\n any other effort to resolve the dispute will be conducted exclusively by\n binding arbitration as described in this section. You are giving up the\n right to litigate (or participate in as a party or class member) all\n disputes in court before a judge or jury. The dispute shall be settled by\n binding arbitration in accordance with the commercial arbitration rules of\n the American Arbitration Association. Either party may seek any interim or\n preliminary injunctive relief from any court of competent jurisdiction, as\n necessary to protect the party’s rights or property pending the completion\n of arbitration. Any and all legal, accounting, and other costs, fees, and\n expenses incurred by the prevailing party shall be borne by the\n non-prevailing party.\n

      \n\n

      Submissions and Privacy

      \n

      \n In the event that you submit or post any ideas, creative suggestions,\n designs, photographs, information, advertisements, data or proposals,\n including ideas for new or improved products, services, features,\n technologies or promotions, you expressly agree that such submissions will\n automatically be treated as non-confidential and non-proprietary and will\n become the sole property of Thunderdome without any compensation or credit\n to you whatsoever. Thunderdome and its affiliates shall have no\n obligations with respect to such submissions or posts and may use the\n ideas contained in such submissions or posts for any purposes in any\n medium in perpetuity, including, but not limited to, developing,\n manufacturing, and marketing products and services using such ideas.\n

      \n\n

      Promotions

      \n

      \n Thunderdome may, from time to time, include contests, promotions,\n sweepstakes, or other activities (“Promotions”) that require you to submit\n material or information concerning yourself. Please note that all\n Promotions may be governed by separate rules that may contain certain\n eligibility requirements, such as restrictions as to age and geographic\n location. You are responsible to read all Promotions rules to determine\n whether or not you are eligible to participate. If you enter any\n Promotion, you agree to abide by and to comply with all Promotions Rules.\n

      \n

      \n Additional terms and conditions may apply to purchases of goods or\n services on or through the Services, which terms and conditions are made a\n part of this Agreement by this reference.\n

      \n\n

      Typographical Errors

      \n

      \n In the event a product and/or service is listed at an incorrect price or\n with incorrect information due to typographical error, we shall have the\n right to refuse or cancel any orders placed for the product and/or service\n listed at the incorrect price. We shall have the right to refuse or cancel\n any such order whether or not the order has been confirmed and your credit\n card charged. If your credit card has already been charged for the\n purchase and your order is canceled, we shall immediately issue a credit\n to your credit card account or other payment account in the amount of the\n charge.\n

      \n\n

      Miscellaneous

      \n

      \n If for any reason a court of competent jurisdiction finds any provision or\n portion of these Terms & Conditions to be unenforceable, the remainder of\n these Terms & Conditions will continue in full force and effect. Any\n waiver of any provision of these Terms & Conditions will be effective only\n if in writing and signed by an authorized representative of Thunderdome.\n Thunderdome will be entitled to injunctive or other equitable relief\n (without the obligations of posting any bond or surety) in the event of\n any breach or anticipatory breach by you. Thunderdome operates and\n controls the Thunderdome Service from its offices in . The Service is not\n intended for distribution to or use by any person or entity in any\n jurisdiction or country where such distribution or use would be contrary\n to law or regulation. Accordingly, those persons who choose to access the\n Thunderdome Service from other locations do so on their own initiative and\n are solely responsible for compliance with local laws, if and to the\n extent local laws are applicable. These Terms & Conditions (which include\n and incorporate the Thunderdome Privacy Policy) contains the entire\n understanding, and supersedes all prior understandings, between you and\n Thunderdome concerning its subject matter, and cannot be changed or\n modified by you. The section headings used in this Agreement are for\n convenience only and will not be given any legal import.\n

      \n\n

      Disclaimer

      \n

      \n Thunderdome is not responsible for any content, code or any other\n imprecision.\n

      \n

      Thunderdome does not provide warranties or guarantees.

      \n

      \n In no event shall Thunderdome be liable for any special, direct, indirect,\n consequential, or incidental damages or any damages whatsoever, whether in\n an action of contract, negligence or other tort, arising out of or in\n connection with the use of the Service or the contents of the Service. The\n Company reserves the right to make additions, deletions, or modifications\n to the contents on the Service at any time without prior notice.\n

      \n

      \n The Thunderdome Service and its contents are provided \"as is\" and \"as\n available\" without any warranty or representations of any kind, whether\n express or implied. Thunderdome is a distributor and not a publisher of\n the content supplied by third parties; as such, Thunderdome exercises no\n editorial control over such content and makes no warranty or\n representation as to the accuracy, reliability or currency of any\n information, content, service or merchandise provided through or\n accessible via the Thunderdome Service. Without limiting the foregoing,\n Thunderdome specifically disclaims all warranties and representations in\n any content transmitted on or in connection with the Thunderdome Service\n or on sites that may appear as links on the Thunderdome Service, or in the\n products provided as a part of, or otherwise in connection with, the\n Thunderdome Service, including without limitation any warranties of\n merchantability, fitness for a particular purpose or non-infringement of\n third party rights. No oral advice or written information given by\n Thunderdome or any of its affiliates, employees, officers, directors,\n agents, or the like will create a warranty. Price and availability\n information is subject to change without notice. Without limiting the\n foregoing, Thunderdome does not warrant that the Thunderdome Service will\n be uninterrupted, uncorrupted, timely, or error-free.\n

      \n\n

      Contact Us

      \n

      Don't hesitate to contact us if you have any questions.

      \n
        \n
      • \n Via this Link: https://thunderdome.dev/support\n
      • \n
      \n
      \n
      \n","\n\n\n {$LL.support()} | {$LL.appName()}\n\n\n\n
      \n
      \n \n {$LL.support()}\n \n
      \n\n
      \n

      \n Have a bug or issue you want to report?\n

      \n

      \n Create an issue on the\n \n \n Github Repo\n and mention the current version\n {AppVersion}\n

      \n
      \n
      \n \n Contact Us\n \n \n coming soon...\n
      \n
      \n \n
      \n","import type { Translation } from '../i18n-types';\n\nconst de: Translation = {\n userGuide: 'Benutzerhandbuch',\n privacyPolicy: 'Datenschutz-Bestimmungen',\n termsConditions: 'Geschäftsbedingungen',\n support: 'Support',\n abandoned: 'Verlassen',\n actionComments: 'Aktionskommentare',\n actionItem: 'Action Item',\n actionItemPlaceholder: 'Action Item...',\n actionItems: 'Action Items',\n actionPhaseDescription:\n 'Fügen Sie Action Items hinzu, Sie können keine Kommentare mehr gruppieren oder abstimmen',\n actions: 'Aktionen',\n activate: 'Aktivieren',\n active: 'Aktiv',\n activeRetros: 'Aktive Retros',\n activeRetroUsers: 'Aktive Retro Benutzer',\n activeStoryboards: 'Aktive Storyboards',\n activeStoryboardUsers: 'Aktive Storyboard Benutzer',\n addComment: 'Kommentar hinzufügen',\n addPersona: 'Persona hinzufügen',\n admin: 'Verwaltung',\n adminCleanOldRetros: 'Retros löschen, die älter als {daysOld} Tage sind',\n adminCleanOldStoryboards:\n 'Storyboards löschen, die älter als {daysOld} Tage sind',\n adminPageAdmin: 'Allgemein',\n adminPageAlerts: 'Benachrichtigungen',\n adminPageApi: 'API-Schlüssel',\n adminPageOrganizations: 'Organisationen',\n adminPageTeams: 'Teams',\n adminPageUsers: 'Benutzer',\n adminPageSubscriptions: 'Abonnements',\n deleteSubscriptionConfirmation:\n 'Sind Sie sicher, dass Sie dieses Abonnement löschen möchten?',\n deleteSubscription: 'Abonnement löschen',\n alertAllowDismiss: 'Ablehnen erlauben',\n alertContent: 'Inhalt der Benachrichtigung',\n alertContentPlaceholder: 'Inhalt der Benachrichtigung eingeben',\n alertCreate: 'Benachrichtigung erstellen',\n alertDelete: 'Benachrichtigung löschen',\n alertDeleteConfirmation:\n 'Möchten Sie diese Benachrichtigung wirklich löschen?',\n alertNamePlaceholder: 'Name für die Benachrichtigung eingeben',\n alertRegisteredOnly: 'Nur für registrierte Benutzer',\n alerts: 'Benachrichtigungen',\n alertSave: 'Benachrichtigung speichern',\n alertTypePlaceholder: 'Art der Benachrichtigung auswählen',\n allVotesIn: 'Alle Stimmen abgegeben',\n apiDocumentation: 'API-Dokumentation',\n apikeyCopyFailure:\n 'API-Schlüssel konnte nicht in die Zwischenablage kopiert werden',\n apikeyCopySuccess: 'API-Schlüssel wurde in die Zwischenablage kopiert',\n apiKeys: 'API-Schlüssel',\n applicationStatsError: 'Fehler beim Abrufen der Anwendungsstatistiken',\n appName: 'Thunderdome',\n appPreviewAlt: 'Vorschau von Thunderdome, Agile Planning Poker UI Experience',\n appSubtitle: 'Open Source Agile Planning Poker App',\n appVersion: 'Version {version}',\n associateTeam: 'Team verknüpfen',\n authError:\n 'Beim Versuch, den Benutzer zu authentifizieren, ist ein Fehler aufgetreten',\n autoFinishVoting: 'Automatisches Beenden der Abstimmung',\n avatarAltText: 'Avatar Platzhalter',\n back: 'Zurück',\n battleAbandon: 'Partie verlassen',\n battleCreate: 'Partie erstellen',\n battleDelete: 'Partie löschen',\n battleEdit: 'Partie bearbeiten',\n battleEditPointsDisabled:\n 'Schätzung ist aktiv, zulässige Punkte können nicht geändert werden.',\n battleJoin: 'Partie beitreten',\n battleName: 'Name der Partie',\n battleRemoveError: 'Fehler beim Entfernen der Partie aufgetreten.',\n battleRemoveSuccess: 'Partie erfolgreich entfernt.',\n battles: 'Partien',\n battlesActive: 'Aktive Partien',\n battlesActiveUsers: 'Aktive Benutzer in der Partie',\n becomeFacilitator: 'Moderator werden',\n becomeLeader: 'Anführer werden',\n becomeParticipant: 'Teilnehmer werden',\n becomeSpectator: 'Zuschauer werden',\n blocked: 'Blockiert',\n blockers: 'Blockierer',\n blockersPlaceholder: 'Ich werde blockiert von...',\n brainstorm: 'Brainstorming',\n brainstormPhaseDescription: 'Fügen Sie Ihre Kommentare unten hinzu',\n brainstormPhaseFeedbackVisibility:\n 'Sichtbarkeit des Feedbacks in der Brainstorming-Phase',\n brainstormVisibilityLabelConcealed: 'Feedback versteckt',\n brainstormVisibilityLabelHidden: 'Feedback ausgeblendet',\n brainstormVisibilityLabelVisible: 'Feedback sichtbar',\n cancel: 'Abbrechen',\n cannotBeUndone: 'Das kann nicht rückgängig gemacht werden.',\n checkIn: 'Einchecken',\n checkinCommentDeleteError: 'Fehler beim Löschen des Eincheck-Kommentars',\n checkinCommentError: 'Fehler beim Kommentieren des Eincheckens',\n checkinError: 'Fehler beim Einchecken',\n checkinMeetYesterdayGoalsQuestion: 'Haben Sie die gestrigen Ziele erreicht?',\n checkins: 'Einchecken',\n colorLegend: 'Farblegende',\n colorLegendNotSpecified: 'Legende nicht angegeben',\n comment: 'Kommentar',\n comments: 'Kommentare',\n completed: 'Abgeschlossen',\n conciseVotingResults: 'Kurze Abstimmungsergebnisse',\n confirmDeleteRetro:\n 'Sind Sie sicher, dass Sie diese Retrospektive löschen möchten?',\n createAccount: 'Konto erstellen',\n createAccountTagline: 'Haben Sie noch kein Konto?',\n createAlertError: 'Fehler beim Erstellen der Benachrichtigung',\n createAlertSuccess: 'Benachrichtigung erfolgreich erstellt',\n createARetro: 'Erstellen Sie eine Retro',\n createAStoryboard: 'Erstellen Sie ein Storyboard',\n createBattleError: 'Fehler beim Erstellen einer Partie',\n createOrgError: 'Fehler beim Versuch, eine Organisation zu erstellen',\n createRetro: 'Retro erstellen',\n createRetroErrorMessage: 'Fehler beim Erstellen der Retro',\n createStoryboard: 'Storyboard erstellen',\n createUserError: 'Fehler beim Erstellen des Benutzers',\n customizableBattleOptions: 'Anpassbare Partieoptionen',\n dateCreated: 'Erstellungsdatum',\n dateUpdated: 'Aktualisierungsdatum',\n delete: 'Löschen',\n deleteActionItemError: 'Fehler beim Löschen des Action Items',\n deleteActionItemSuccess: 'Action Item erfolgreich gelöscht',\n deleteAlertError: 'Fehler beim Versuch, die Benachrichtigung zu löschen',\n deleteAlertSuccess: 'Benachrichtigung erfolgreich gelöscht',\n deleteBattle: 'Partie löschen',\n deleteBattleConfirmText:\n 'Sind Sie sicher, dass Sie diese Partie löschen möchten?',\n deleteBattleError: 'Fehler beim Löschen der Partie',\n deleteCheckinError: 'Fehler beim Löschen des Check-ins',\n deleteDepartment: 'Abteilung löschen',\n deleteDepartmentConfirmText:\n 'Sind Sie sicher, dass Sie diese Abteilung löschen möchten?',\n deleteOrganization: 'Organisation löschen',\n deleteOrganizationConfirmText:\n 'Sind Sie sicher, dass Sie diese Organisation löschen möchten?',\n deleteRetro: 'Retro löschen',\n deleteRetroErrorMessage: 'Fehler beim Löschen der Retro',\n deleteStoryboard: 'Storyboard löschen',\n deleteStoryboardErrorMessage: 'Fehler beim Löschen des Storyboards',\n deleteTeam: 'Team löschen',\n deleteTeamConfirmText:\n 'Sind Sie sicher, dass Sie dieses Team löschen möchten?',\n deleteUserError: 'Fehler beim Löschen des Benutzers',\n demote: 'Degradieren',\n demoteUserError: 'Fehler beim Degradieren des Benutzers',\n department: 'Abteilung',\n departmentCreate: 'Abteilung erstellen',\n departmentCreateError: 'Fehler beim Erstellen der Abteilung',\n departmentDeleteError: 'Fehler beim Versuch, die Abteilung zu löschen',\n departmentDeleteSuccess: 'Abteilung erfolgreich gelöscht',\n departmentGetError: 'Fehler beim Abrufen der Abteilung',\n departmentName: 'Abteilungsname',\n departmentNamePlaceholder: 'Abteilungsname eingeben',\n departments: 'Abteilungen',\n departmentSave: 'Abteilung speichern',\n departmentTeamsGetError: 'Fehler beim Abrufen der Abteilungsteams',\n departmentUsersGetError: 'Fehler beim Abrufen der Abteilungsbenutzer',\n discuss: 'Diskutieren',\n discussPlaceholder: 'Ich möchte diskutieren...',\n done: 'Erledigt',\n duplicateRetroSession: 'Doppelte Retro-Sitzung existiert für Ihre ID',\n duplicateStoryboardSession:\n 'Doppelte Storyboard-Sitzung existiert für Ihre ID',\n edit: 'Bearbeiten',\n editColorLegend: 'Legende bearbeiten',\n editRetro: 'Retro bearbeiten',\n editStoryboard: 'Storyboard bearbeiten',\n email: 'E-Mail',\n enterPasscode: 'Passcode eingeben...',\n enterYourEmail: 'Geben Sie Ihre E-Mail ein',\n execute: 'Ausführen',\n export: 'Exportieren',\n facilitator: 'Moderator',\n facilitatorCode: 'Moderator Code',\n facilitatorCodeOptional: 'Moderator Code (Optional)',\n facilitatorCodePlaceholder: 'Geben Sie einen optionalen Moderator Code ein',\n finalPoints: 'Endpunkte',\n flag: 'Flagge',\n footerAuthoredBy:\n 'wurde entworfen und entwickelt von {authorOpen}Steven Weathers{authorClose}.',\n footerLicense:\n 'Der Quellcode ist lizenziert unter {licenseOpen}Apache 2.0{licenseClose}.',\n forgotPassword: 'Passwort vergessen?',\n forgotPasswordSubtext: `Keine Sorge! Geben Sie einfach Ihre E-Mail ein und wir senden Ihnen Anweisungen zum Zurücksetzen Ihres Passworts.`,\n returnToLogin: 'Zurück zum Login',\n getAlertsError: 'Fehler beim Abrufen der Benachrichtigungen',\n getApikeysError: 'Fehler beim Abrufen der API-Schlüssel',\n getBattleError: 'Fehler beim Abrufen der Partie',\n getBattlesError: 'Fehler beim Abrufen der Partien',\n getCheckinsError: 'Fehler beim Abrufen der Check-ins',\n getOrganizationsError: 'Fehler beim Abrufen der Organisationen',\n getRetroErrorMessage: 'Fehler beim Abrufen der Retro',\n getRetrosErrorMessage: 'Fehler beim Abrufen der Retros',\n getStoryboardErrorMessage: 'Fehler beim Abrufen des Storyboards',\n getStoryboardsErrorMessage: 'Fehler beim Abrufen der Storyboards',\n getTeamsError: 'Fehler beim Abrufen der Teams',\n getUserError: 'Fehler beim Abrufen des Benutzers',\n getUsersError: 'Fehler beim Abrufen der Benutzer',\n goalsMet: 'Ziele erreicht',\n group: 'Gruppe',\n groupName: 'Gruppenname',\n groupPhaseDescription:\n 'Ziehen Sie Kommentare per Drag & Drop, um sie zu gruppieren',\n hostedDesc:\n '{linkOpen}Thunderdome.dev{linkClose} ist ein kostenloser gehosteter Dienst (SaaS) ohne Werbung.',\n hostedOrSelfHosted: 'Gehosteter Dienst oder selbst gehostet',\n importCsv: 'Stories aus einer CSV-Datei importieren',\n importCsvFileBadFileTypeError: 'Fehler: falscher Dateityp',\n importCsvFileReadFileError: 'Fehler beim Lesen der Datei',\n importJiraXML: 'Stories aus Jira XML importieren',\n importJiraXMLBadFileTypeError: 'Fehler: falscher Dateityp',\n importJiraXMLReadFileError: 'Fehler beim Lesen der Datei',\n incorrectPassCode: 'Falscher Passcode',\n inviteLinkCopyFailure:\n 'Einladungslink konnte nicht in die Zwischenablage kopiert werden',\n inviteLinkCopySuccess: 'Einladungslink in die Zwischenablage kopiert',\n jiraXmlImport: 'Jira XML Import',\n joinCodeCopyFailure:\n 'Passcode konnte nicht in die Zwischenablage kopiert werden',\n joinCodeCopySuccess: 'Passcode in die Zwischenablage kopiert',\n joinCodeLabelOptional: 'Beitrittscode (Optional)',\n joinCodePlaceholder: 'Geben Sie einen optionalen Beitrittscode ein',\n joinRetro: 'Retro beitreten',\n joinStoryboard: 'Storyboard beitreten',\n joinStoryboardError:\n 'Fehler beim Beitritt zum Storyboard, aktualisieren Sie die Seite und versuchen Sie es erneut.',\n landingCountries: 'Benutzer in über {count} Ländern',\n landingFeatureOpenSourceText:\n 'Schauen Sie sich das {repoOpen}Github Repository{repoClose} an, um Verbesserungen, Übersetzungen und Fehlerbehebungen anzufordern oder beizutragen, oder um zu {donateOpen}Spenden{donateClose}.',\n landingFeatureOpenSourceTitle: 'Open Source',\n landingSalesPitch:\n 'Remote-Team-Zusammenarbeit mit agiler Story-Punktbewertung, Sprint-Retrospektive, Story-Mapping und asynchronem Team-Check-In.',\n landingTitle: 'Thunderdome ist eine Agile Planning Poker App',\n lastActive: 'Zuletzt aktiv',\n leader: 'Anführer',\n leaderPasscode: 'Anführer Passcode',\n leaveRetro: 'Retro verlassen',\n leaveStoryboard: 'Storyboard verlassen',\n legendRetroPlaceholder: 'Geben Sie eine Farblegende ein',\n loadingRetro: 'Retro wird geladen...',\n loadingStoryboard: 'Storyboard wird geladen...',\n login: 'Anmelden',\n loginForRetro:\n 'oder {loginOpen}Anmelden{loginClose} um der Retro beizutreten',\n loginForStoryboard:\n 'oder {loginOpen}Anmelden{loginClose} um dem Storyboard beizutreten',\n logout: 'Abmelden',\n logoutError: 'Fehler beim Abmelden des Benutzers',\n makeFacilitator: 'Moderator ernennen',\n mfa2faLabel: '2FA/MFA Auth',\n mfa2faRemove: '2FA/MFA entfernen',\n mfa2faRemoveFailure: 'Fehler beim Entfernen von 2FA/MFA',\n mfa2faRemoveSuccess: '2FA/MFA erfolgreich entfernt',\n mfa2faRemoveText: 'Sind Sie sicher, dass Sie 2FA/MFA entfernen möchten?',\n mfa2faSetup: '2FA/MFA einrichten',\n mfaAuthError: 'Fehler bei der Validierung des Authentifikator-Tokens',\n mfaConfirmToken: 'Token bestätigen',\n mfaGenerateFailed: 'Fehler beim Starten der 2FA/MFA-Einrichtung',\n mfaSecretKeyLabel: 'Geheimer Schlüssel',\n mfaSetupFailed: 'Fehler bei der Validierung des 2FA/MFA-Einrichtungstokens',\n mfaSetupIntro:\n 'Scannen Sie den folgenden QR-Code mit einer Authentifikator-Anwendung (wie Google Authenticator oder Authy) und geben Sie das generierte Token ein.',\n mfaSetupSuccess: '2FA/MFA erfolgreich aktiviert',\n mfaTokenLabel: 'Authentifikator-Token',\n mfaTokenPlaceholder: 'Token aus Authentifikator-App eingeben',\n myRetros: 'Meine Retros',\n myStoryboards: 'Meine Storyboards',\n name: 'Name',\n needsImprovement: 'Verbesserungsbedarf',\n nextPhase: 'Nächste Phase',\n noComments: 'Keine Kommentare...',\n oldBattleCleanError: 'Fehler beim Bereinigen von Partien',\n oldGuestsCleanError: 'Fehler beim Bereinigen von Gästen',\n oldRetrosCleanError: 'Fehler beim Bereinigen von Retros',\n oldStoryboardsCleanError: 'Fehler beim Bereinigen von Storyboards',\n openSource: 'Open Source',\n optional: '(Optional)',\n optionalLeadercodePlaceholder:\n 'Optionaler Anführercode, um Anführer zu werden',\n optionalPasscodePlaceholder: 'Optionaler Passcode zum Beitreten',\n organization: 'Organisation',\n organizationCreate: 'Organisation erstellen',\n organizationDeleteError: 'Fehler beim Versuch, die Organisation zu löschen',\n organizationDeleteSuccess: 'Organisation erfolgreich gelöscht.',\n organizationGetDepartmentsError:\n 'Fehler beim Abrufen der Abteilungen der Organisation',\n organizationGetError: 'Fehler beim Abrufen der Organisation',\n organizationGetTeamsError: 'Fehler beim Abrufen der Teams der Organisation',\n organizationGetUsersError:\n 'Fehler beim Abrufen der Benutzer der Organisation',\n organizationName: 'Organisationsname',\n organizationNamePlaceholder: 'Organisationsname eingeben',\n organizations: 'Organisationen',\n organizationsAndTeams: 'Organisationen und Teams',\n organizationSave: 'Organisation speichern',\n owner: 'Besitzer',\n participation: 'Teilnahme',\n passCode: 'Passcode',\n passCodeRequired: 'Passcode zum Beitreten erforderlich',\n personas: 'Personas',\n planAcceptanceCriteria: 'Akzeptanzkriterien',\n planAcceptanceCriteriaPlaceholder: 'Akzeptanzkriterien eingeben',\n planAdd: 'Stories hinzufügen',\n planDescription: 'Beschreibung',\n planDescriptionPlaceholder: 'Beschreibung eingeben',\n planLink: 'Link',\n planLinkInvalid:\n 'Der Link ist keine gültige absolute URL, beinhaltet z.B. das Protokoll (HTTP/HTTPS)',\n planLinkPlaceholder: 'Link zur Story eingeben',\n planName: 'Story Name',\n planNamePlaceholder: 'Story-Name eingeben',\n planPriority: 'Priorität',\n planPriorityBlocker: 'Blocker',\n planPriorityHigh: 'Hoch',\n planPriorityHighest: 'Höchste',\n planPriorityLow: 'Niedrig',\n planPriorityLowest: 'Niedrigste',\n planPriorityMedium: 'Mittel',\n planPriorityPlaceholder: 'Wählen Sie eine Priorität',\n planReferenceId: 'Referenz ID',\n planReferenceIdPlaceholder: 'Referenz ID eingeben',\n plans: 'Stories',\n planSkip: 'Story überspringen',\n planType: 'Story Typ',\n planTypeBug: 'Bug',\n planTypeEpic: 'Epic',\n planTypePlaceholder: 'Typ auswählen',\n planTypeSpike: 'Spike',\n planTypeStory: 'Story',\n planTypeSubtask: 'Subtask',\n planTypeTask: 'Task',\n pointAverageRounding: 'Mittelwert Rundung der Punkte',\n pointed: 'Geschätzt ({count})',\n points: 'Punkte',\n pointValuesAllowed: 'Zulässige Schätzwerte',\n postComment: 'Kommentar posten',\n primeDirective: 'Hauptdirektive',\n promote: 'Befördern',\n promoteUserError: 'Fehler beim Befördern des Benutzers',\n questions: 'Fragen',\n register: 'Registrieren',\n reloadingRetro: 'Ups, Retro wird neu geladen...',\n reloadingStoryboard: 'Ups, Storyboard wird neu geladen...',\n remove: 'Entfernen',\n removeBattle: 'Partie entfernen',\n removeBattleConfirmText:\n 'Sind Sie sicher, dass Sie diese Partie entfernen möchten?',\n removeRetro: 'Retro entfernen',\n removeRetroConfirmText:\n 'Sind Sie sicher, dass Sie dieses Retro entfernen möchten?',\n removeStoryboard: 'Storyboard entfernen',\n removeStoryboardConfirmText:\n 'Sind Sie sicher, dass Sie dieses Storyboard entfernen möchten?',\n removeUser: 'Benutzer entfernen',\n removeUserConfirmText:\n 'Sind Sie sicher, dass Sie diesen Benutzer entfernen möchten?',\n requestVerifyEmail: 'Bestätigungs-E-Mail anfordern',\n requestVerifyEmailFailure:\n 'Fehler beim Versuch, eine Bestätigungs-E-Mail zu senden',\n requestVerifyEmailSuccess:\n 'Bestätigungs-E-Mail angefordert, überprüfen Sie Ihren Posteingang',\n retro: 'Retro',\n retroActionCommentAddError:\n 'Fehler beim Hinzufügen eines Retro-Aktionskommentars',\n retroActionCommentDeleteError:\n 'Fehler beim Löschen eines Retro-Aktionskommentars',\n retroActionCommentEditError:\n 'Fehler beim Bearbeiten eines Retro-Aktionskommentars',\n retroActionItems: 'Retro Action Items',\n retroAddError: 'Fehler beim Versuch, ein Retro hinzuzufügen.',\n retroAddSuccess: 'Retro erfolgreich hinzugefügt.',\n retroDeleted: 'Retro gelöscht',\n retroFeedbackConcealed: 'Feedback versteckt',\n retroFeedbackHidden: 'Feedback ausgeblendet',\n retroImprovePlaceholder: 'Was verbessert werden muss...',\n retroItems: 'Retro Punkte',\n retroJoinError:\n 'Fehler beim Beitreten zum Retro, aktualisieren und erneut versuchen.',\n retroMaxVotesPerUserLabel: 'Maximale Gruppenstimmen (pro Benutzer)',\n retroName: 'Retro Name',\n retroNamePlaceholder: 'Geben Sie einen Retro-Namen ein',\n retroQuestionPlaceholder: 'Ich möchte fragen...',\n retroRemoveError: 'Fehler beim Versuch, ein Retro zu entfernen.',\n retroRemoveSuccess: 'Retro erfolgreich entfernt.',\n retros: 'Retros',\n retroWorkedPlaceholder: 'Was gut funktioniert hat...',\n role: 'Rolle',\n rolePlaceholder: 'Benutzerrolle auswählen',\n save: 'Speichern',\n search: 'Suche',\n searchLengthError: 'Suchwert muss mindestens 3 Zeichen lang sein',\n selectTeam: 'Wählen Sie ein Team',\n selfHostedDesc:\n 'Alternativ können Sie es {linkOpen}auf Ihrem eigenen Server ausführen{linkClose}.',\n sessionDuplicate: 'Es existiert bereits eine Partie-Sitzung für Ihre ID',\n showActiveBattles: 'Aktive Partien anzeigen',\n showActiveRetros: 'Aktive Retros anzeigen',\n showActiveStoryboards: 'Aktive Storyboards anzeigen',\n showBlockedCheckins: 'Nur Checkins anzeigen, die eine Diskussion erfordern',\n showCompletedActionItems: 'Abgeschlossene Action Items anzeigen',\n showVoters: 'Schätzer anzeigen',\n skipped: 'Übersprungen',\n spectator: 'Zuschauer',\n storyboard: 'Storyboard',\n storyboardAddColumn: 'Spalte hinzufügen',\n storyboardAddError: 'Fehler beim Versuch, ein Storyboard hinzuzufügen.',\n storyboardAddGoal: 'Ziel hinzufügen',\n storyboardAddStoryToColumn: 'Story zur Spalte hinzufügen',\n storyboardAddSuccess: 'Storyboard erfolgreich hinzugefügt.',\n storyboardColumns: 'Storyboard-Spalten',\n storyboardDeleted: 'Storyboard gelöscht',\n storyboardEditColumn: 'Spalte bearbeiten',\n storyboardGoalName: 'Zielname',\n storyboardGoalNamePlaceholder: 'Geben Sie einen Zielnamen ein',\n storyboardGoals: 'Storyboard-Ziele',\n storyboardPersonas: 'Storyboard-Personas',\n storyboardRemoveError: 'Fehler beim Versuch, ein Storyboard zu entfernen.',\n storyboardRemoveSuccess: 'Storyboard erfolgreich entfernt.',\n storyboards: 'Storyboards',\n storyboardStories: 'Storyboard-Stories',\n team: 'Team',\n teamCheckins: 'Team Checkins',\n teamCreate: 'Team erstellen',\n teamCreateError: 'Fehler beim Erstellen des Teams.',\n teamCreateSuccess: 'Team erfolgreich angelegt.',\n teamDeleteError: 'Fehler beim Löschen des Teams',\n teamDeleteSuccess: 'Team erfolgreich gelöscht',\n teamGetBattlesError: 'Fehler beim Ermitteln der Partien des Teams',\n teamGetError: 'Fehler beim Ermitteln des Teams',\n teamGetRetroActionsError: 'Fehler beim Abrufen der Retro-Aktionen',\n teamGetRetrosError: 'Fehler beim Abrufen der Team-Retros',\n teamGetStoryboardsError: 'Fehler beim Abrufen der Team-Storyboards',\n teamGetUsersError: 'Fehler beim Ermitteln der Benutzer des Teams',\n teamName: 'Teamname',\n teamNamePlaceholder: 'Teamnamen eingeben',\n teams: 'Teams',\n teamSave: 'Team speichern',\n teamUserRequiredToCheckin: 'Benutzer muss im Team sein, um einzuchecken',\n teamUserRequiredToComment: 'Benutzer muss im Team sein, um zu kommentieren',\n today: 'Heute',\n todayPlaceholder: 'Heute werde ich...',\n totalPoints: 'Gesamtpunkte',\n totalVotes: 'Gesamtabstimmungen',\n type: 'Typ',\n unknownWarrior: 'Unbekannter Benutzer',\n unpointed: 'Nicht geschätzt ({count})',\n updateActionItemError: 'Fehler beim Aktualisieren des Action Items',\n updateActionItemSuccess: 'Action Item erfolgreich aktualisiert',\n updateAlertError: 'Fehler beim Aktualisieren des Alarms',\n updateAlertSuccess: 'Alarm erfolgreich aktualisiert',\n updateCheckinError: 'Fehler beim Aktualisieren des Check-ins',\n updateComment: 'Kommentar aktualisieren',\n userAdd: 'Benutzer hinzufügen',\n userAddError: 'Fehler beim Versuch, den Benutzer hinzuzufügen',\n userAddSuccess: 'Benutzer erfolgreich hinzugefügt',\n userEmail: 'Benutzer E-Mail',\n userEmailPlaceholder: 'Enter the users email',\n userName: 'Benutzername',\n userRemoveError: 'Fehler beim Versuch, den Benutzer zu entfernen',\n userRemoveSuccess: 'Benutzer erfolgreich entfernt',\n users: 'Benutzer',\n verifyAccount: 'Konto verifizieren',\n verifyAccountFailedError:\n 'Bei der Überprüfung des Kontos ist ein Fehler aufgetreten. Möglicherweise ist dieser Link abgelaufen oder wurde bereits verwendet.',\n verifyAccountFailedTitle: 'Überprüfung fehlgeschlagen',\n verifyAccountLoading: 'Kontoüberprüfung...',\n verifyAccountVerifiedThanks:\n 'Vielen Dank für die Bestätigung der E-Mail-Adresse.',\n verifyAccountVerifiedTitle: 'Konto überprüft',\n view: 'Anzeigen',\n vote: 'Abstimmen',\n voteCount: 'Stimmenanzahl',\n votePhaseDescription:\n 'Stimmen Sie für die Gruppen, über die Sie am liebsten diskutieren würden',\n voteResultsAverage: 'Durchschnitt',\n voteResultsHighest: 'Höchster',\n votingFinish: 'Schätzung beenden',\n votingLocked: 'Abstimmung gesperrt',\n votingRestart: 'Schätzung neu starten',\n warriorCreate: 'Benutzer erstellen',\n warriorInvite: 'Benutzer einladen',\n warriorNudge: 'Anstubsen',\n works: 'Funktioniert',\n writeCommentPlaceholder: 'Einen Kommentar schreiben...',\n yesterday: 'Gestern',\n yesterdayPlaceholder: 'Gestern habe ich...',\n yourRetros: 'Ihre Retros',\n yourStoryboards: 'Ihre Storyboards',\n addPlan: 'Story hinzufügen',\n battleNamePlaceholder: 'Geben Sie den Namen der Partie ein',\n autoFinishVotingLabel:\n 'Schätzung automatisch beenden, wenn alle Benutzer abgestimmt haben',\n averageRoundingOptions: {\n ceil: 'Aufrunden',\n floor: 'Abrunden',\n round: 'Kaufm. runden',\n },\n apiKeyCreateButton: 'API-Schlüssel erstellen',\n apiKeyPrefix: 'Schlüsselpräfix',\n lastUpdated: 'Zuletzt aktualisiert',\n apiKeysErrorRetrieving: 'Fehler beim Abrufen der API-Schlüssel',\n apiKeyDeleteSuccess: 'API-Schlüssel gelöscht',\n apiKeyDeleteFailed: 'Fehler beim Löschen des API-Schlüssels',\n apiKeyUpdateSuccess: 'API-Schlüssel aktualisiert',\n apiKeyUpdateFailed: 'Fehler beim Aktualisieren des API-Schlüssels',\n deactivate: 'Deaktivieren',\n profileErrorRetrieving: 'Fehler beim Abrufen des Profils',\n profileErrorUpdating: 'Fehler beim Aktualisieren des Profils',\n profileUpdateSuccess: 'Profil erfolgreich aktualisiert',\n passwordUpdated: 'Passwort aktualisiert',\n passwordUpdateError: 'Fehler beim Aktualisieren des Passworts',\n profileDeleteError: 'Fehler beim Löschen des Profils',\n profileTitle: 'Profil',\n profile: 'Profil',\n updatePassword: 'Passwort \\u00E4ndern',\n deleteAccount: 'Konto l\\u00F6schen',\n deleteAccountWarningStatement:\n 'Konto wirklich l\\u00F6schen? Dies kann nicht R\\u00FCckg\\u00E4ngig gemacht werden.',\n deleteConfirmButton: 'L\\u00F6schen best\\u00E4tigen',\n apiKeyNameInvalid: 'Bitte einen Key Namen angeben',\n apiKeyCreateSuccess:\n 'Neuer Api Key {keyName} erstellt und {onlyNowOpen}dieser wird nur jetzt angezeigt{onlyNowClose}',\n apiKeyStoreWarning:\n 'Bitte den Api Key an einem sicheren Ort aufbewahren, da dieses generierte Token nicht mehr abgerufen oder wiederhergestellt werden kann, sobald diese Seite verlassen wurde.',\n apiKeyLimitReached:\n 'Sie haben die maximale Anzahl an API-Schlüsseln erreicht.',\n apiKeyUnverifiedUser:\n 'Nur verifizierte registrierte Benutzer können API-Schlüssel erstellen.',\n apiKeyCreateFailed: 'API Key konnte nicht erstellt werden',\n apiKeyName: 'Key Name',\n apiKeyNamePlaceholder: 'Key Name eingeben',\n create: 'Erstellen',\n close: 'Schlie\\u00dfen',\n country: 'Land',\n company: 'Unternehmen',\n verified: 'Best\\u00E4tigt',\n registeredUsers: 'Registrierte Benutzer',\n myBattles: 'Meine Partien',\n createBattle: 'Partie erstellen',\n countPlansPointed: '{totalPointed} von {totalPlans} Stories geschätzt',\n myBattlesError: 'Fehler: Keine Partie gefunden',\n warriorJoined: '{name} hat die Partie betreten',\n warriorRetreated: '{name} hat die Partie verlassen',\n planSkipped: 'Story übersprungen',\n warriorVoted: '{name} hat eine Sch\\u00E4tzung abegeben',\n warriorRetractedVote: '{name} hat die Sch\\u00E4tzung zur\\u00FCckgezogen',\n battleDeleted: 'Partie gel\\u00F6scht',\n warriorNudgeMessage: 'pst... {name}, wir warten auf eine Sch\\u00E4tzung',\n battle: 'Partie',\n warriors: 'Benutzer',\n battleSocketReconnecting: 'Ooops Partien werden neu geladen...',\n battleSocketError:\n 'Fehler beim Eintritt in die Partie, bitte aktualisieren und nochmals versuchen.',\n battleLoading: 'Lade Partien...',\n votingNotStarted: 'Sch\\u00E4tzung noch nicht gestartet',\n password: 'Passwort',\n passwordPlaceholder: 'Geben Sie ein Passwort ein',\n yourPasswordPlaceholder: 'Geben Sie Ihr Passwort ein',\n confirmPassword: 'Passwort bestätigen',\n confirmPasswordPlaceholder: 'Bestätigen Sie Ihr Passwort',\n update: 'Aktualisieren',\n reset: 'Zurücksetzen',\n passwordResetError: 'Fehler beim Versuch, das Passwort zurückzusetzen',\n resetPassword: 'Passwort zurücksetzen',\n registerAsGuest: 'Als Gast registrieren',\n registrationDisabled: 'Die Registrierung ist deaktiviert.',\n userNamePlaceholder: 'Geben Sie Ihren Namen ein',\n guestRegisterError: 'Fehler beim Versuch, sich als Gast zu registrieren',\n registerError: 'Fehler beim Versuch, das Konto zu registrieren',\n enlistToBattle: 'Zur Schlacht anmelden',\n loginForBattle:\n 'oder {loginOpen}Anmelden{loginClose} um der Partie beizutreten',\n yourNamePlaceholder: 'Geben Sie Ihren Namen ein',\n createAccountFormTitle:\n 'Konto erstellen {optionalOpen}(optional){optionalClose}',\n sendResetPasswordSuccess:\n 'Anweisungen zum Zurücksetzen des Passworts wurden an {email} gesendet',\n sendResetPasswordError:\n 'Fehler beim Versuch, das Passwort zurückzusetzen zu senden',\n chooseCountryPlaceholder: 'Wählen Sie Ihr Land aus (optional)',\n locale: 'Sprache',\n companyPlaceholder: 'Geben Sie Ihr Unternehmen ein (optional)',\n jobTitle: 'Berufsbezeichnung',\n jobTitlePlaceholder: 'Geben Sie Ihre Berufsbezeichnung ein (optional)',\n enableBattleNotifications: 'Partiemeldungen aktivieren',\n avatar: 'Avatar',\n userInviteSent: 'Benutzereinladung versendet',\n inviteUserFieldNote:\n 'Eine Einladung zur Teilnahme an der {pageType} wird gesendet werden.',\n updateProfile: 'Profil aktualisieren',\n guestUsers: 'Gastbenutzer',\n maintenance: 'Wartung',\n cleanGuests: 'Gäste löschen, die älter als {daysOld} Tage sind',\n cleanBattles: 'Partien löschen, die älter als {daysOld} Tage sind',\n chooseLocalePlaceholder: 'Wählen Sie Ihre bevorzugte Sprache (optional)',\n importPlans: 'Stories importieren',\n selectFile: 'Datei auswählen...',\n theme: 'Thema',\n assignees: 'Zuweisungen',\n assigneeSelectPlaceholder: 'Wählen Sie eine Zuweisung zum Hinzufügen',\n assigneeAdd: 'Zuweisung hinzufügen',\n allStoryWithCount: 'Alle ({count})',\n userUpdate: 'Benutzer aktualisieren',\n userUpdateSuccess: 'Benutzer erfolgreich aktualisiert.',\n userUpdateError: 'Fehler beim Aktualisieren des Benutzers.',\n userInvites: 'Benutzereinladungen',\n userNotFoundInviteSent: 'Benutzer nicht gefunden, Einladung gesendet',\n userInviteConfirmDelete:\n 'Sind Sie sicher, dass Sie diese Benutzereinladung löschen möchten?',\n userInviteDelete: 'Einladung löschen',\n expireDate: 'Ablaufdatum',\n addUserWillInviteNotFoundFieldNote:\n 'Wenn der Benutzer nicht registriert ist, wird eine Einladung zur Registrierung und Teilnahme an der {pageType} gesendet.',\n teamUpdateSuccess: 'Team erfolgreich aktualisiert',\n teamUpdateError: 'Fehler beim Aktualisieren des Teams',\n orgUpdateSuccess: 'Organisation erfolgreich aktualisiert',\n orgUpdateError: 'Fehler beim Aktualisieren der Organisation',\n deptUpdateSuccess: 'Abteilung erfolgreich aktualisiert',\n deptUpdateError: 'Fehler beim Aktualisieren der Abteilung',\n hideVoterIdentity: 'Identität des Schätzers verbergen',\n storyboardName: 'Storyboard Name',\n storyboardNamePlaceholder: 'Geben Sie einen Storyboard-Namen ein',\n retroPhaseTimeLimitMinLabel: 'Brainstorm Phase Zeitlimite in Minuten',\n phaseAutoAdvanceLabel: 'Phasen automatisch weiterschalten',\n removeOnlyFacilitatorError: 'Letzter Moderator kann nicht entfernt werden',\n noGamesFound: 'Keine Games gefunden, versuchen Sie eines zu erstellen.',\n noRetrosFound: 'Keine Retros gefunden, versuchen Sie eines zu erstellen.',\n noStoryboardsFound:\n 'Keine Storyboards gefunden, versuchen Sie eines zu erstellen.',\n retroDescription:\n 'Eine Sprint Retrospektive (Retro) ist ein Rückblick nach dem Sprint, welcher in der Agilen Methodik eine wichtige Rolle spielt. Ein Retro hat zum Ziel hervorzubringen was gut lief, wo es Probleme gab, und in welchen Bereichen Verbesserungen möglich sind.',\n pokerDescription:\n 'Scrum poker, auch bekannt als \"Planning Poker\" und \"Pointing poker\", ist eine gamifizierte Technik, welche Entwicklerteams nutzen um den Aufwand von Aufgaben zu schätzen. Die Schätzungen sind basierend auf den Rückmeldungen der ganzen Gruppe und deren Konsens, was sie genauer und fesselnder macht als vergleichbare Methoden.',\n storyboardDescription:\n 'User Story Mapping (Storyboard) ist eine Visualisierung des Ablaufs, die ein Kunde durch das Produkt macht, vom Anfang bis zum Abschluss. Sie enthält alle Schritte, welche die Kunden typischerweise ausführen in diesem Ablauf.',\n estimationScaleNamePlaceholder: 'Skalennamen eingeben',\n description: 'Beschreibung',\n estimationScaleDescriptionPlaceholder: 'Skalenbeschreibung eingeben',\n scaleType: 'Skalentyp',\n estimationScaleTypePlaceholder: 'Skalentyp auswählen',\n scaleValues: 'Skalenwerte',\n estimationScaleValuesPlaceholder: 'Kommagetrennte Werte eingeben',\n estimationScaleValuesHelp:\n 'Geben Sie Werte durch Kommas getrennt ein (z.B. 1, 2, 3, 5, 8)',\n estimationScaleIsPublic: 'Diese Skala öffentlich machen',\n estimationScaleDefault: 'Als Standardskala festlegen',\n estimationScaleSave: 'Skala speichern',\n estimationScales: 'Estimation Scales',\n estimationScaleCreate: 'Skala erstellen',\n estimationScaleCreateSuccess: 'Skala erfolgreich erstellt',\n estimationScaleCreateError: 'Fehler beim Erstellen der Skala',\n estimationScaleUpdateSuccess: 'Skala erfolgreich geändert',\n estimationScaleUpdateError: 'Fehler beim Ändern der Skala',\n estimationScaleRemoveSuccess: 'Skala erfolgreich gelöscht',\n estimationScaleRemoveError: 'Fehler beim Löschen der Skala',\n removeEstimationScaleConfirmText: 'Wollen Sie diese Skala wirklich löschen?',\n removeEstimationScale: 'Skala löschen',\n yes: 'Ja',\n no: 'Nein',\n isPublic: 'Öffentlich',\n default: 'Standard',\n publicEstimationScales: 'Öffentliche Skalen',\n organizationEstimationScales: 'Organisation Skalen',\n teamEstimationScales: 'Team Skalen',\n allowCumulativeVotingLabel:\n 'Erlauben von kumulativen Abstimmungen (mehr als 1 Stimme pro Item Gruppe)',\n activeSubscriptions: 'Aktive Subscriptions',\n retroTemplates: 'Retro Vorlagen',\n publicRetroTemplates: 'Öffentliche Retro Vorlagen',\n organizationRetroTemplates: 'Organisation Retro Vorlagen',\n teamRetroTemplates: 'Team Retro Vorlagen',\n retroTemplateNamePlaceholder: 'Vorlagenamen eingeben',\n retroTemplateDescriptionPlaceholder: 'Vorlagebeschreibung eingeben',\n format: 'Format',\n retroTemplateIsPublic: 'Diese Vorlage öffentlich machen',\n retroTemplateSave: 'Vorlage speichern',\n retroTemplateCreate: 'Retrovorlage erstellen',\n retroTemplateCreateSuccess: 'Retrovorlage erfolgreich erstellt',\n retroTemplateCreateError: 'Fehler beim Erstellen der Retrovorlagen',\n retroTemplateUpdateSuccess: 'Retrovorlage erfolgreich geändert',\n retroTemplateUpdateError: 'Fehler beim Löschen der Retrovorlage',\n retroTemplateRemoveSuccess: 'Retrovorlage erfolgreich gelöscht',\n retroTemplateRemoveError: 'Fehler beim Löschen der Retrovorlage',\n removeRetroTemplateConfirmText:\n 'Wollen Sie diese Retrovorlage wirklich löschen?',\n removeRetroTemplate: 'Retrovorlage löschen',\n retroTemplateDefault: 'Als Standardvorlage setzten',\n};\n\nexport default de;\n","import type { BaseTranslation } from '../i18n-types';\n\nconst en: BaseTranslation = {\n userGuide: 'User Guide',\n privacyPolicy: 'Privacy Policy',\n termsConditions: 'Terms & Conditions',\n support: 'Support',\n abandoned: 'Abandoned',\n actionComments: 'Action Comments',\n actionItem: 'Action Item',\n actionItemPlaceholder: 'Action item...',\n actionItems: 'Action Items',\n actionPhaseDescription:\n 'Add action items, you can no longer group or vote comments',\n actions: 'Actions',\n activate: 'Activate',\n active: 'Active',\n activeRetros: 'Active Retros',\n activeRetroUsers: 'Active Retro Users',\n activeStoryboards: 'Active Storyboards',\n activeStoryboardUsers: 'Active Storyboard Users',\n addComment: 'Add Comment',\n addPersona: 'Add Persona',\n admin: 'Admin',\n adminCleanOldRetros: 'Clean Retros older than {daysOld} days',\n adminCleanOldStoryboards: 'Clean Storyboards older than {daysOld} days',\n adminPageAdmin: 'Admin',\n adminPageAlerts: 'Alerts',\n adminPageApi: 'API Keys',\n adminPageOrganizations: 'Organizations',\n adminPageTeams: 'Teams',\n adminPageUsers: 'Users',\n adminPageSubscriptions: 'Subscriptions',\n deleteSubscriptionConfirmation:\n 'Are you sure you want to delete this subscription?',\n deleteSubscription: 'Delete Subscription',\n alertAllowDismiss: 'Allow Dismiss',\n alertContent: 'Alert Content',\n alertContentPlaceholder: 'Enter alert content',\n alertCreate: 'Create Alert',\n alertDelete: 'Delete Alert',\n alertDeleteConfirmation: 'Are you sure you want to delete this alert?',\n alertNamePlaceholder: 'Enter an alert name',\n alertRegisteredOnly: 'Registered Only',\n alerts: 'Alerts',\n alertSave: 'Save Alert',\n alertTypePlaceholder: 'Select an alert type',\n allVotesIn: 'All votes in',\n apiDocumentation: 'API Documentation',\n apikeyCopyFailure: \"Couldn't copy API key to clipboard\",\n apikeyCopySuccess: 'API key copied to clipboard',\n apiKeys: 'API Keys',\n applicationStatsError: 'Error getting application stats',\n appName: 'Thunderdome',\n appPreviewAlt: 'Preview of Thunderdome, Agile Planning Poker UI Experience',\n appSubtitle: 'Open Source Agile Planning Poker app',\n appVersion: 'Version {version}',\n associateTeam: 'Associate Team',\n authError: 'Error encountered attempting to authenticate user',\n autoFinishVoting: 'Auto Finish Voting',\n avatarAltText: 'Placeholder Avatar',\n back: 'Back',\n battleAbandon: 'Abandon Game',\n battleCreate: 'Create Game',\n battleDelete: 'Delete Game',\n battleEdit: 'Edit Game',\n battleEditPointsDisabled: 'Voting is active, cannot modify allowed points.',\n battleJoin: 'Join Game',\n battleName: 'Game Name',\n battleRemoveError: 'Error attempting to remove game.',\n battleRemoveSuccess: 'Game removed successfully.',\n battles: 'Games',\n battlesActive: 'Active Games',\n battlesActiveUsers: 'Active Game Users',\n becomeFacilitator: 'Become Facilitator',\n becomeLeader: 'Become Leader',\n becomeParticipant: 'Become Participant',\n becomeSpectator: 'Become Spectator',\n blocked: 'Blocked',\n blockers: 'Blockers',\n blockersPlaceholder: \"I'm blocked by...\",\n brainstorm: 'Brainstorm',\n brainstormPhaseDescription: 'Add your comments below',\n brainstormPhaseFeedbackVisibility: 'Brainstorm Phase Feedback Visibility',\n brainstormVisibilityLabelConcealed: 'Feedback Concealed',\n brainstormVisibilityLabelHidden: 'Feedback Hidden',\n brainstormVisibilityLabelVisible: 'Feedback Visible',\n cancel: 'Cancel',\n cannotBeUndone: 'This cannot be undone.',\n checkIn: 'Check In',\n checkinCommentDeleteError: 'Error deleting check in comment',\n checkinCommentError: 'Error commenting on check in',\n checkinError: 'Error checking in',\n checkinMeetYesterdayGoalsQuestion: \"Did you meet yesterday's goals?\",\n checkins: 'Checkins',\n colorLegend: 'Color Legend',\n colorLegendNotSpecified: 'legend not specified',\n comment: 'Comment',\n comments: 'Comments',\n completed: 'Completed',\n conciseVotingResults: 'Concise Voting Results',\n confirmDeleteRetro: 'Are you sure you want to delete this retrospective?',\n createAccount: 'Create Account',\n createAccountTagline: `Don't have an account?`,\n createAlertError: 'Error encountered creating alert',\n createAlertSuccess: 'Alert created successfully',\n createARetro: 'Create a Retro',\n createAStoryboard: 'Create a Storyboard',\n createBattleError: 'Error encountered creating game',\n createOrgError: 'Error attempting to create organization',\n createRetro: 'Create Retro',\n createRetroErrorMessage: 'Error encountered creating retro',\n createStoryboard: 'Create Storyboard',\n createUserError: 'Error encountered creating user',\n customizableBattleOptions: 'Customizable Game Options',\n dateCreated: 'Created Date',\n dateUpdated: 'Updated Date',\n delete: 'Delete',\n deleteActionItemError: 'Error deleting action item',\n deleteActionItemSuccess: 'Action item deleted successfully',\n deleteAlertError: 'Error attempting to delete alert',\n deleteAlertSuccess: 'Alert deleted successfully',\n deleteBattle: 'Delete Game',\n deleteBattleConfirmText: 'Are you sure you want to delete this game?',\n deleteBattleError: 'error deleting game',\n deleteCheckinError: 'Error deleting check in',\n deleteDepartment: 'Delete Department',\n deleteDepartmentConfirmText:\n 'Are you sure you want to delete this department?',\n deleteOrganization: 'Delete Organization',\n deleteOrganizationConfirmText:\n 'Are you sure you want to delete this organization?',\n deleteRetro: 'Delete Retro',\n deleteRetroErrorMessage: 'error deleting retro',\n deleteStoryboard: 'Delete Storyboard',\n deleteStoryboardErrorMessage: 'error deleting storyboard',\n deleteTeam: 'Delete Team',\n deleteTeamConfirmText: 'Are you sure you want to delete this team?',\n deleteUserError: 'Error encountered deleting user',\n demote: 'Demote',\n demoteUserError: 'Error encountered demoting user',\n department: 'Department',\n departmentCreate: 'Create Department',\n departmentCreateError: 'Error attempting to create department',\n departmentDeleteError: 'Error attempting to delete department',\n departmentDeleteSuccess: 'Department deleted successfully.',\n departmentGetError: 'Error getting department',\n departmentName: 'Department Name',\n departmentNamePlaceholder: 'Enter an department name',\n departments: 'Departments',\n departmentSave: 'Save Department',\n departmentTeamsGetError: 'Error getting department teams',\n departmentUsersGetError: 'Error getting department users',\n discuss: 'Discuss',\n discussPlaceholder: 'I would like to discuss...',\n done: 'Done',\n duplicateRetroSession: 'Duplicate retro session exists for your ID',\n duplicateStoryboardSession: 'Duplicate storyboard session exists for your ID',\n edit: 'Edit',\n editColorLegend: 'Edit Legend',\n editRetro: 'Edit Retro',\n editStoryboard: 'Edit Storyboard',\n email: 'Email',\n enterPasscode: 'Enter passcode...',\n enterYourEmail: 'Enter your email',\n execute: 'Execute',\n export: 'Export',\n facilitator: 'Facilitator',\n facilitatorCode: 'Facilitator Code',\n facilitatorCodeOptional: 'Facilitator Code (Optional)',\n facilitatorCodePlaceholder: 'Enter an optional facilitator code',\n finalPoints: 'Final Points',\n flag: 'Flag',\n footerAuthoredBy:\n 'is designed and developed by {authorOpen}Steven Weathers{authorClose}.',\n footerLicense:\n 'The source code is licensed {licenseOpen}Apache 2.0{licenseClose}.',\n forgotPassword: 'Forgot Your Password?',\n forgotPasswordSubtext: `Don't fret! Just enter your email and we will send you instructions to reset your password.`,\n returnToLogin: 'Return to Login',\n getAlertsError: 'Error getting alerts',\n getApikeysError: 'Error getting apikeys',\n getBattleError: 'Error getting game',\n getBattlesError: 'Error getting games',\n getCheckinsError: \"Error getting check in's\",\n getOrganizationsError: 'Error getting organizations',\n getRetroErrorMessage: 'error getting retro',\n getRetrosErrorMessage: 'error getting retros',\n getStoryboardErrorMessage: 'error getting storyboard',\n getStoryboardsErrorMessage: 'error getting storyboards',\n getTeamsError: 'Error getting teams',\n getUserError: 'Error getting user',\n getUsersError: 'Error getting users',\n goalsMet: 'Goals Met',\n group: 'Group',\n groupName: 'Group Name',\n groupPhaseDescription: 'Drag and drop comments to group them together',\n hostedDesc:\n '{linkOpen}Thunderdome.dev{linkClose} is a free hosted service (SaaS) without Ads.',\n hostedOrSelfHosted: 'Hosted service or self-hosted',\n importCsv: 'Import stories from a CSV file',\n importCsvFileBadFileTypeError: 'Error bad file type',\n importCsvFileReadFileError: 'Error reading file',\n importJiraXML: 'Import stories from Jira XML',\n importJiraXMLBadFileTypeError: 'Error bad file type',\n importJiraXMLReadFileError: 'Error reading file',\n incorrectPassCode: 'Incorrect passcode',\n inviteLinkCopyFailure: \"Couldn't copy invite link to clipboard\",\n inviteLinkCopySuccess: 'Invite Link copied to clipboard',\n jiraXmlImport: 'Jira XML Import',\n joinCodeCopyFailure: \"Couldn't copy passcode to clipboard\",\n joinCodeCopySuccess: 'Passcode copied to clipboard',\n joinCodeLabelOptional: 'Join Code (Optional)',\n joinCodePlaceholder: 'Enter a join code',\n joinRetro: 'Join Retro',\n joinStoryboard: 'Join Storyboard',\n joinStoryboardError: 'Error joining storyboard, refresh and try again.',\n landingCountries: 'Users in over {count} countries',\n landingFeatureOpenSourceText:\n 'Check out the {repoOpen}Github repository{repoClose} to request or contribute enhancements, locale translations and bug fixes or to {donateOpen}Donate{donateClose}.',\n landingFeatureOpenSourceTitle: 'Open Source',\n landingSalesPitch:\n 'Remote team collaboration with agile story pointing, sprint retrospective, story mapping and async team check-in.',\n landingTitle: 'Thunderdome is an Agile Planning Poker app',\n lastActive: 'Last Active',\n leader: 'Leader',\n leaderPasscode: 'Leader code',\n leaveRetro: 'Leave Retro',\n leaveStoryboard: 'Leave Storyboard',\n legendRetroPlaceholder: 'Enter a color legend',\n loadingRetro: 'Loading Retro...',\n loadingStoryboard: 'Loading Storyboard...',\n login: 'Login',\n loginForRetro: 'or {loginOpen}Login{loginClose} to join the Retro',\n loginForStoryboard: 'or {loginOpen}Login{loginClose} to join the Storyboard',\n logout: 'Logout',\n logoutError: 'Error encountered attempting to logout user',\n makeFacilitator: 'Make Facilitator',\n mfa2faLabel: '2FA/MFA Auth',\n mfa2faRemove: 'Remove 2FA/MFA',\n mfa2faRemoveFailure: 'Failed to remove 2FA/MFA',\n mfa2faRemoveSuccess: '2FA/MFA successfully removed',\n mfa2faRemoveText: 'Are you sure you want to remove 2FA/MFA?',\n mfa2faSetup: 'Setup 2FA/MFA',\n mfaAuthError: 'Error validating authenticator token',\n mfaConfirmToken: 'Confirm Token',\n mfaGenerateFailed: 'failed to start 2FA/MFA setup',\n mfaSecretKeyLabel: 'Secret Key',\n mfaSetupFailed: 'failed to validate 2FA/MFA setup token',\n mfaSetupIntro:\n 'Scan the following QR code with an Authenticator Application (such as Google Authenticator or Authy) and enter the generated token.',\n mfaSetupSuccess: 'successfully enabled 2FA/MFA',\n mfaTokenLabel: 'Authenticator Token',\n mfaTokenPlaceholder: 'Enter token from authenticator app',\n myRetros: 'My Retros',\n myStoryboards: 'My Storyboards',\n name: 'Name',\n needsImprovement: 'Needs Improvement',\n nextPhase: 'Next Phase',\n noComments: 'No comments...',\n oldBattleCleanError: 'Error encountered cleaning games',\n oldGuestsCleanError: 'Error encountered cleaning guests',\n oldRetrosCleanError: 'Error encountered cleaning retros',\n oldStoryboardsCleanError: 'Error encountered cleaning storyboards',\n openSource: 'Open Source',\n optional: '(Optional)',\n optionalLeadercodePlaceholder: 'Optional leader code to become a leader',\n optionalPasscodePlaceholder: 'Optional passcode to join',\n organization: 'Organization',\n organizationCreate: 'Create Organization',\n organizationDeleteError: 'Error attempting to delete organization',\n organizationDeleteSuccess: 'Organization deleted successfully.',\n organizationGetDepartmentsError: 'Error getting organization departments',\n organizationGetError: 'Error getting organization',\n organizationGetTeamsError: 'Error getting organization teams',\n organizationGetUsersError: 'Error getting organization users',\n organizationName: 'Organization Name',\n organizationNamePlaceholder: 'Enter an organization name',\n organizations: 'Organizations',\n organizationsAndTeams: 'Organizations and Teams',\n organizationSave: 'Save Organization',\n owner: 'Owner',\n participation: 'Participation',\n passCode: 'Passcode',\n passCodeRequired: 'Passcode required to join',\n personas: \"Persona's\",\n planAcceptanceCriteria: 'Acceptance Criteria',\n planAcceptanceCriteriaPlaceholder: 'Enter acceptance criteria',\n planAdd: 'Add Stories',\n planDescription: 'Description',\n planDescriptionPlaceholder: 'Enter a description',\n planLink: 'Link',\n planLinkInvalid:\n \"Link isn't a valid absolute URL, e.g. includes protocol (HTTP/HTTPS)\",\n planLinkPlaceholder: 'Enter a link to story',\n planName: 'Story Name',\n planNamePlaceholder: 'Enter a story name',\n planPriority: 'Priority',\n planPriorityBlocker: 'Blocker',\n planPriorityHigh: 'High',\n planPriorityHighest: 'Highest',\n planPriorityLow: 'Low',\n planPriorityLowest: 'Lowest',\n planPriorityMedium: 'Medium',\n planPriorityPlaceholder: 'Select a priority',\n planReferenceId: 'Reference ID',\n planReferenceIdPlaceholder: 'Enter a reference ID',\n plans: 'Stories',\n planSkip: 'Skip Story',\n planType: 'Story Type',\n planTypeBug: 'Bug',\n planTypeEpic: 'Epic',\n planTypePlaceholder: 'Types',\n planTypeSpike: 'Spike',\n planTypeStory: 'Story',\n planTypeSubtask: 'Subtask',\n planTypeTask: 'Task',\n pointAverageRounding: 'Point Average Rounding',\n pointed: 'Pointed ({count})',\n points: 'Points',\n pointValuesAllowed: 'Point Values Allowed',\n postComment: 'Post Comment',\n primeDirective: 'Prime Directive',\n promote: 'Promote',\n promoteUserError: 'Error encountered promoting user',\n questions: 'Questions',\n register: 'Register',\n reloadingRetro: 'Oops, reloading Retro...',\n reloadingStoryboard: 'Oops, reloading Storyboard...',\n remove: 'Remove',\n removeBattle: 'Remove Game',\n removeBattleConfirmText: 'Are you sure you want to remove this game?',\n removeRetro: 'Remove Retro',\n removeRetroConfirmText: 'Are you sure you want to remove this retro?',\n removeStoryboard: 'Remove Storyboard',\n removeStoryboardConfirmText:\n 'Are you sure you want to remove this storyboard?',\n removeUser: 'Remove User',\n removeUserConfirmText: 'Are you sure you want to remove this user?',\n requestVerifyEmail: 'Request Verification Email',\n requestVerifyEmailFailure: 'Error attempting to send Verification Email',\n requestVerifyEmailSuccess: 'Verification Email requested, watch your inbox',\n retro: 'Retro',\n retroActionCommentAddError: 'error adding retro action comment',\n retroActionCommentDeleteError: 'error deleting retro action comment',\n retroActionCommentEditError: 'error editing retro action comment',\n retroActionItems: 'Retro Action Items',\n retroAddError: 'Error attempting to add retro.',\n retroAddSuccess: 'Retro added successfully.',\n retroDeleted: 'Retro deleted',\n retroFeedbackConcealed: 'Feedback Concealed',\n retroFeedbackHidden: 'Feedback Hidden',\n retroImprovePlaceholder: 'What needs improvement...',\n retroItems: 'Retro Items',\n retroJoinError: 'Error joining retro, refresh and try again.',\n retroMaxVotesPerUserLabel: 'Max Group Votes (per User)',\n retroName: 'Retro Name',\n retroNamePlaceholder: 'Enter a retro name',\n retroQuestionPlaceholder: 'I want to ask...',\n retroRemoveError: 'Error attempting to remove retro.',\n retroRemoveSuccess: 'Retro removed successfully.',\n retros: 'Retros',\n retroWorkedPlaceholder: 'What worked well...',\n role: 'Role',\n rolePlaceholder: 'Select users role',\n save: 'Save',\n search: 'Search',\n searchLengthError: 'Search value must be at least 3 characters',\n selectTeam: 'Select a Team',\n selfHostedDesc:\n 'Alternatively you can {linkOpen}run it on your own server{linkClose}.',\n sessionDuplicate: 'Duplicate game session exists for your ID',\n showActiveBattles: 'Show Active Games',\n showActiveRetros: 'Show active retros',\n showActiveStoryboards: 'Show active storyboards',\n showBlockedCheckins: 'Show only checkins requiring discussion',\n showCompletedActionItems: 'Show Completed Action Items',\n showVoters: 'Show Voters',\n skipped: 'Skipped',\n spectator: 'Spectator',\n storyboard: 'Storyboard',\n storyboardAddColumn: 'Add Column',\n storyboardAddError: 'Error attempting to add storyboard.',\n storyboardAddGoal: 'Add Goal',\n storyboardAddStoryToColumn: 'Add Story to Column',\n storyboardAddSuccess: 'Storyboard added successfully.',\n storyboardColumns: 'Storyboard Columns',\n storyboardDeleted: 'Storyboard deleted',\n storyboardEditColumn: 'Edit Column',\n storyboardGoalName: 'Goal name',\n storyboardGoalNamePlaceholder: 'Enter a goal name',\n storyboardGoals: 'Storyboard Goals',\n storyboardPersonas: 'Storyboard Personas',\n storyboardRemoveError: 'Error attempting to remove storyboard.',\n storyboardRemoveSuccess: 'Storyboard removed successfully.',\n storyboards: 'Storyboards',\n storyboardStories: 'Storyboard Stories',\n team: 'Team',\n teamCheckins: 'Team Checkins',\n teamCreate: 'Create Team',\n teamCreateError: 'Error attempting to create team.',\n teamCreateSuccess: 'Team created successfully.',\n teamDeleteError: 'Error attempting to delete team',\n teamDeleteSuccess: 'Team deleted successfully.',\n teamGetBattlesError: 'Error getting team games',\n teamGetError: 'Error getting team',\n teamGetRetroActionsError: 'error getting retro actions',\n teamGetRetrosError: 'Error getting team retros',\n teamGetStoryboardsError: 'Error getting team storyboards',\n teamGetUsersError: 'Error getting team users',\n teamName: 'Team Name',\n teamNamePlaceholder: 'Enter an team name',\n teams: 'Teams',\n teamSave: 'Save Team',\n teamUserRequiredToCheckin: 'User must be in team to check in',\n teamUserRequiredToComment: 'User must be in team to comment',\n today: 'Today',\n todayPlaceholder: 'Today I will...',\n totalPoints: 'Total',\n totalVotes: 'Total Votes',\n type: 'Type',\n unknownWarrior: 'Unknown Player',\n unpointed: 'Unpointed ({count})',\n updateActionItemError: 'Error updating action item',\n updateActionItemSuccess: 'Action item updated successfully',\n updateAlertError: 'Error encountered updating alert',\n updateAlertSuccess: 'Alert updating successfully',\n updateCheckinError: 'Error updating check in',\n updateComment: 'Update Comment',\n userAdd: 'Add User',\n userAddError: 'Error attempting to add user.',\n userAddSuccess: 'User added successfully.',\n userEmail: 'User Email',\n userEmailPlaceholder: 'Enter the users email',\n userName: 'User Name',\n userRemoveError: 'Error attempting to remove user.',\n userRemoveSuccess: 'User removed successfully.',\n users: 'Users',\n verifyAccount: 'Verify Account',\n verifyAccountFailedError:\n 'Something went wrong verifying your account, perhaps this link expired or was already used.',\n verifyAccountFailedTitle: 'Verification Failed',\n verifyAccountLoading: 'Verifying Account...',\n verifyAccountVerifiedThanks: 'Thanks for verifying your email.',\n verifyAccountVerifiedTitle: 'Account Verified',\n view: 'View',\n vote: 'Vote',\n voteCount: 'Vote Count',\n votePhaseDescription: \"Vote for the groups you'd like to discuss most\",\n voteResultsAverage: 'Average',\n voteResultsHighest: 'Highest',\n votingFinish: 'Finish Voting',\n votingLocked: 'Voting Locked',\n votingRestart: 'Restart Voting',\n warriorCreate: 'Create User',\n warriorInvite: 'Invite a Player',\n warriorNudge: 'Nudge',\n works: 'Works',\n writeCommentPlaceholder: 'Write a comment...',\n yesterday: 'Yesterday',\n yesterdayPlaceholder: 'Yesterday I...',\n yourRetros: 'Your Retros',\n yourStoryboards: 'Your Storyboards',\n addPlan: 'Add Story',\n battleNamePlaceholder: 'Enter a game name',\n autoFinishVotingLabel: 'Auto Finish Voting when all Players have voted',\n averageRoundingOptions: {\n ceil: 'Ceil',\n floor: 'Floor',\n round: 'Round',\n },\n apiKeyCreateButton: 'Create API Key',\n apiKeyPrefix: 'Key Prefix',\n lastUpdated: 'Last Updated',\n apiKeysErrorRetrieving: 'Failed to get API keys',\n apiKeyDeleteSuccess: 'API Key deleted',\n apiKeyDeleteFailed: 'Failed to delete API Key',\n apiKeyUpdateSuccess: 'API Key updated',\n apiKeyUpdateFailed: 'Failed to update API Key',\n deactivate: 'Deactivate',\n profileErrorRetrieving: 'Error getting your profile',\n profileErrorUpdating: 'Error encountered updating your profile',\n profileUpdateSuccess: 'Profile updated',\n passwordUpdated: 'Password updated.',\n passwordUpdateError: 'Error encountered attempting to update password',\n profileDeleteError: 'Error encountered attempting to delete your account.',\n profileTitle: 'Your Profile',\n profile: 'Profile',\n updatePassword: 'Update Password',\n deleteAccount: 'Delete Account',\n deleteAccountWarningStatement:\n 'Are you sure you want to delete your account?',\n deleteConfirmButton: 'Confirm Delete',\n apiKeyNameInvalid: 'Please enter a key name',\n apiKeyCreateSuccess:\n 'New Api Key {keyName} created and {onlyNowOpen}it will be displayed only now{onlyNowClose}',\n apiKeyStoreWarning:\n 'Please store it somewhere safe because as soon as you navigate away from this page, we will not be able to retrieve or restore this generated token.',\n apiKeyLimitReached: 'You have the max number of API keys allowed.',\n apiKeyUnverifiedUser: 'Only verified registered users can create API keys.',\n apiKeyCreateFailed: 'Failed to create API Key',\n apiKeyName: 'Key Name',\n apiKeyNamePlaceholder: 'Enter a Key Name',\n create: 'Create',\n close: 'Close',\n country: 'Country',\n company: 'Company',\n verified: 'Verified',\n registeredUsers: 'Registered Users',\n myBattles: 'My Games',\n createBattle: 'Create Game',\n countPlansPointed: '{totalPointed} of {totalPlans} stories pointed',\n myBattlesError: 'Error finding your games',\n warriorJoined: '{name} has joined the game',\n warriorRetreated: '{name} has left the game',\n planSkipped: 'Story skipped',\n warriorVoted: '{name} has voted',\n warriorRetractedVote: '{name} has retracted vote',\n battleDeleted: 'Game deleted',\n warriorNudgeMessage: 'pst... {name}, waiting on you to vote.',\n battle: 'Game',\n warriors: 'Players',\n battleSocketReconnecting: 'Ooops reloading Game...',\n battleSocketError: 'Error joining game refresh and try again.',\n battleLoading: 'Loading Game...',\n votingNotStarted: 'Voting not started',\n password: 'Password',\n passwordPlaceholder: 'Enter a password',\n yourPasswordPlaceholder: 'Enter your password',\n confirmPassword: 'Confirm Password',\n confirmPasswordPlaceholder: 'Confirm your password',\n update: 'Update',\n reset: 'Reset',\n passwordResetError: 'Error encountered attempting to reset password',\n resetPassword: 'Reset Password',\n registerAsGuest: 'Register as Guest',\n registrationDisabled: 'Registration is disabled.',\n userNamePlaceholder: 'Enter your name',\n guestRegisterError: 'Error encountered trying to register as guest',\n registerError: 'Error encountered trying to register account',\n enlistToBattle: 'Enlist to Battle',\n loginForBattle: 'or {loginOpen}Login{loginClose} to join the Game',\n yourNamePlaceholder: 'Enter your name',\n createAccountFormTitle:\n 'Create an Account {optionalOpen}(optional){optionalClose}',\n sendResetPasswordSuccess: 'Password reset instructions sent to {email}',\n sendResetPasswordError: 'Error encountered attempting to send password reset',\n chooseCountryPlaceholder: 'Choose your country (optional)',\n locale: 'Locale',\n companyPlaceholder: 'Enter your company (optional)',\n jobTitle: 'Job Title',\n jobTitlePlaceholder: 'Enter your job title (optional)',\n enableBattleNotifications: 'Enable game notifications',\n avatar: 'Avatar',\n updateProfile: 'Update Profile',\n guestUsers: 'Guest Users',\n maintenance: 'Maintenance',\n cleanGuests: 'Clean Guests older than {daysOld} days',\n cleanBattles: 'Clean Games older than {daysOld} days',\n chooseLocalePlaceholder: 'Choose your preferred locale (optional)',\n importPlans: 'Import Stories',\n selectFile: 'Select file...',\n theme: 'Theme',\n assignees: 'Assignees',\n assigneeSelectPlaceholder: 'Select an assignee to add',\n assigneeAdd: 'Add Assignee',\n allStoryWithCount: 'All ({count})',\n userUpdate: 'Update User',\n userUpdateSuccess: 'Successfully updated user.',\n userUpdateError: 'Error updating user.',\n userInvites: 'User Invites',\n userInviteSent: 'User invite sent',\n userInviteConfirmDelete: 'Are you sure you want to delete this user invite?',\n userInviteDelete: 'Delete Invite',\n expireDate: 'Expire Date',\n addUserWillInviteNotFoundFieldNote:\n 'If user is not registered an invite to register and join the {pageType} will be sent.',\n inviteUserFieldNote: 'An invite to join the {pageType} will be sent.',\n requiresOrganizationMember: 'User must already be in Organization.',\n teamUpdateSuccess: 'Team updated successfully',\n teamUpdateError: 'Error updating Team',\n orgUpdateSuccess: 'Organization updated successfully',\n orgUpdateError: 'Error updating Organization`',\n deptUpdateSuccess: 'Department updated successfully',\n deptUpdateError: 'Error updating Department',\n hideVoterIdentity: 'Hide Voter Identity',\n storyboardName: 'Storyboard Name',\n storyboardNamePlaceholder: 'Enter a storyboard name',\n retroPhaseTimeLimitMinLabel: 'Brainstorm Phase time limit in minutes',\n phaseAutoAdvanceLabel: 'Automatically advance phases',\n removeOnlyFacilitatorError: \"Can't remove the only facilitator\",\n noGamesFound: 'No games found, try creating one.',\n noRetrosFound: 'No retros found, try creating one.',\n noStoryboardsFound: 'No storyboards found, try creating one.',\n retroDescription:\n 'A sprint retrospective is a review conducted after a sprint that plays a key role in the Agile methodology. A sprint retrospective aims to determine what went well and where you had problems and identify areas where you can improve.',\n pokerDescription:\n 'Scrum poker, also known as “planning poker” and “pointing poker”, is a gamified technique that development teams use to guess the effort of project management tasks. These estimations are based on the entire group’s input and consensus, making them more engaging and accurate than other methods.',\n storyboardDescription:\n 'User story mapping (storyboard) is a visualization of the journey a customer takes with a product, from beginning to end. It includes all the tasks they’d typically complete as part of that journey.',\n estimationScaleNamePlaceholder: 'Enter scale name',\n description: 'Description',\n estimationScaleDescriptionPlaceholder: 'Enter scale description',\n scaleType: 'Scale Type',\n estimationScaleTypePlaceholder: 'Select scale type',\n scaleValues: 'Scale Values',\n estimationScaleValuesPlaceholder: 'Enter comma-separated values',\n estimationScaleValuesHelp:\n 'Enter values separated by commas (e.g., 1, 2, 3, 5, 8)',\n estimationScaleIsPublic: 'Make this scale public',\n estimationScaleDefault: 'Set as default scale',\n estimationScaleSave: 'Save Scale',\n estimationScales: 'Estimation Scales',\n estimationScaleCreate: 'Create Estimation Scale',\n estimationScaleCreateSuccess: 'Estimation scale successfully created',\n estimationScaleCreateError: 'Error creating estimation scale',\n estimationScaleUpdateSuccess: 'Estimation scale successfully updated',\n estimationScaleUpdateError: 'Error updating estimation scale',\n estimationScaleRemoveSuccess: 'Estimation scale successfully removed',\n estimationScaleRemoveError: 'Error removing estimation scale',\n removeEstimationScaleConfirmText:\n 'Are you sure you want to remove this estimation scale?',\n removeEstimationScale: 'Remove Estimation Scale',\n yes: 'Yes',\n no: 'No',\n isPublic: 'Public',\n default: 'Default',\n publicEstimationScales: 'Public Estimation Scales',\n organizationEstimationScales: 'Organization Estimation Scales',\n teamEstimationScales: 'Team Estimation Scales',\n allowCumulativeVotingLabel:\n 'Allow Cumulative Voting (more than 1 vote per item group)',\n activeSubscriptions: 'Active Subscriptions',\n retroTemplates: 'Retrospective Templates',\n publicRetroTemplates: 'Public Retro Templates',\n organizationRetroTemplates: 'Organization Retro Templates',\n teamRetroTemplates: 'Team Retro Templates',\n retroTemplateNamePlaceholder: 'Enter template name',\n retroTemplateDescriptionPlaceholder: 'Enter template description',\n format: 'Format',\n retroTemplateIsPublic: 'Make this template public',\n retroTemplateSave: 'Save Template',\n retroTemplateCreate: 'Create Retrospective Template',\n retroTemplateCreateSuccess: 'Retrospective template successfully created',\n retroTemplateCreateError: 'Error creating retrospective template',\n retroTemplateUpdateSuccess: 'Retrospective template successfully updated',\n retroTemplateUpdateError: 'Error updating retrospective template',\n retroTemplateRemoveSuccess: 'Retrospective template successfully removed',\n retroTemplateRemoveError: 'Error removing retrospective template',\n removeRetroTemplateConfirmText:\n 'Are you sure you want to remove this retrospective template?',\n removeRetroTemplate: 'Remove Retrospective Template',\n retroTemplateDefault: 'Set as default template',\n jiradatacenterLabel: 'Jira DataCenter',\n loginWithSSO: 'Login with {provider}',\n};\n\nexport default en;\n","import type { Translation } from '../i18n-types';\n\nconst es: Translation = {\n userGuide: 'Guía de Usuario',\n privacyPolicy: 'Política de Privacidad',\n termsConditions: 'Términos y Condiciones',\n support: 'Soporte',\n abandoned: 'Abandonado',\n actionComments: 'Comentarios de Acción',\n actionItem: 'Item de Acción',\n actionItemPlaceholder: 'Item de acción...',\n actionItems: 'Items de Acción',\n actionPhaseDescription:\n 'Añadir elementos de acción, ya no se pueden agrupar ni votar comentarios',\n actions: 'Acciones',\n activate: 'Activar',\n active: 'Activo',\n activeRetros: 'Retros activos',\n activeRetroUsers: 'Usuarios Activos de Retro',\n activeStoryboards: 'Storyboards Activos',\n activeStoryboardUsers: 'Usuarios activos de Storyboard',\n addComment: 'Añadir Comentario',\n addPersona: 'Añadir Persona',\n admin: 'Admin',\n adminCleanOldRetros: 'Limpiar Retros anteriores a {daysOld} días',\n adminCleanOldStoryboards:\n 'Limpiar Storyboards con más de {daysOld} días de antigüedad',\n adminPageAdmin: 'Admin',\n adminPageAlerts: 'Alertas',\n adminPageApi: 'Claves API',\n adminPageOrganizations: 'Organizaciones',\n adminPageTeams: 'Equipos',\n adminPageUsers: 'Usuários',\n adminPageSubscriptions: 'Suscripciones',\n deleteSubscriptionConfirmation:\n '¿Está seguro de que desea eliminar esta suscripción?',\n deleteSubscription: 'Eliminar suscripción',\n alertAllowDismiss: 'Permitir Descartar',\n alertContent: 'Contenido de Alerta',\n alertContentPlaceholder: 'Introducir el contenido de la alerta',\n alertCreate: 'Crear Alerta',\n alertDelete: 'Eliminar Alerta',\n alertDeleteConfirmation: '¿Estás seguro de que quieres eliminar esta alerta?',\n alertNamePlaceholder: 'Introduzca un nombre de alerta',\n alertRegisteredOnly: 'Sólo inscritos',\n alerts: 'Alertas',\n alertSave: 'Guardar Alerta',\n alertTypePlaceholder: 'Seleccione un tipo de alerta',\n allVotesIn: 'Todos los votos en',\n apiDocumentation: 'Documentación API',\n apikeyCopyFailure: 'No se ha podido copiar la clave API en el portapapeles',\n apikeyCopySuccess: 'Clave API copiada en el portapapeles',\n apiKeys: 'Claves API',\n applicationStatsError: 'Error al obtener las estadísticas de la aplicación',\n appName: 'Thunderdome',\n appPreviewAlt: 'Prévia de Thunderdome, un Planning Poker Ágil con UI',\n appSubtitle: 'Aplicación de código abierto Agile Planning Poker app',\n appVersion: 'Versión {version}',\n associateTeam: 'Equipo asociado',\n authError: 'Se ha producido un error al intentar autenticar al usuario',\n autoFinishVoting: 'Votación automática',\n avatarAltText: 'Placeholder Avatar',\n back: 'Volver',\n battleAbandon: 'Abandonar el Juego',\n battleCreate: 'Crear Juego',\n battleDelete: 'Eliminar Juego',\n battleEdit: 'Editar Juego',\n battleEditPointsDisabled:\n 'La votación está activa, no puede modificar los puntos permitidos.',\n battleJoin: 'Unirse al juego',\n battleName: 'Nombre del juego',\n battleRemoveError: 'Error al intentar eliminar el juego.',\n battleRemoveSuccess: 'Juego eliminado con éxito.',\n battles: 'Juegos',\n battlesActive: 'Juegos Activos',\n battlesActiveUsers: 'Usuarios Activos del Juego',\n becomeFacilitator: 'Conviértase en Facilitador',\n becomeLeader: 'Convertirse en Líder',\n becomeParticipant: 'Convertirse en Participante',\n becomeSpectator: 'Conviértase en Espectador',\n blocked: 'Bloqueado',\n blockers: 'Bloqueadores',\n blockersPlaceholder: 'Estoy bloqueado por...',\n brainstorm: 'Lluvia de ideas',\n brainstormPhaseDescription: 'Añada sus comentarios',\n brainstormPhaseFeedbackVisibility:\n 'Fase de lluvia de ideas Feedback Visibilidad',\n brainstormVisibilityLabelConcealed: 'Feedback Escondido',\n brainstormVisibilityLabelHidden: 'Feedback Oculto',\n brainstormVisibilityLabelVisible: 'Feedback Visible',\n cancel: 'Cancelar',\n cannotBeUndone: 'Esto no se puede deshacer.',\n checkIn: 'Registro de entrada',\n checkinCommentDeleteError: 'Error al eliminar un comentario',\n checkinCommentError: 'Error al hacer el registro de entrada',\n checkinError: 'Comprobación de errores en',\n checkinMeetYesterdayGoalsQuestion: '¿Cumplió los objetivos de ayer?',\n checkins: 'Registros',\n colorLegend: 'Leyenda de colores',\n colorLegendNotSpecified: 'leyenda no especificada',\n comment: 'Comentario',\n comments: 'Comentarios',\n completed: 'Completado',\n conciseVotingResults: 'Resultados Concisos de la Votación',\n confirmDeleteRetro: '¿Seguro que quieres eliminar esta retrospectiva?',\n createAccount: 'Crear cuenta',\n createAccountTagline: `¿No tienes una cuenta?`,\n createAlertError: 'Error al crear la alerta',\n createAlertSuccess: 'Alerta creada correctamente',\n createARetro: 'Crear una Retro',\n createAStoryboard: 'Crear un Storyboard',\n createBattleError: 'Error al crear el juego',\n createOrgError: 'Error al intentar crear una organización',\n createRetro: 'Crear Retro',\n createRetroErrorMessage: 'Error al crear retro',\n createStoryboard: 'Crear Storyboard',\n createUserError: 'Error al crear usuario',\n customizableBattleOptions: 'Opciones de juego personalizables',\n dateCreated: 'Fecha de creación',\n dateUpdated: 'Fecha de actualización',\n delete: 'Eliminar',\n deleteActionItemError: 'Error al eliminar una acción',\n deleteActionItemSuccess: 'Acción eliminada correctamente',\n deleteAlertError: 'Error al intentar eliminar una alerta',\n deleteAlertSuccess: 'Alerta eliminada correctamente',\n deleteBattle: 'Eliminar juego',\n deleteBattleConfirmText: '¿Estás seguro de que quieres eliminar este juego?',\n deleteBattleError: 'error al eliminar el juego',\n deleteCheckinError: 'Error al eliminar el registro',\n deleteDepartment: 'Eliminar Departamento',\n deleteDepartmentConfirmText:\n '¿Seguro que quieres eliminar este departamento?',\n deleteOrganization: 'Eliminar organización',\n deleteOrganizationConfirmText:\n '¿Está seguro de que desea eliminar esta organización?',\n deleteRetro: 'Eliminar Retro',\n deleteRetroErrorMessage: 'error al eliminar retro',\n deleteStoryboard: 'Eliminar Storyboard',\n deleteStoryboardErrorMessage: 'error al eliminar storyboard',\n deleteTeam: 'Eliminar Equipo',\n deleteTeamConfirmText: '¿Seguro que quieres borrar este equipo?',\n deleteUserError: 'Error al eliminar un usuario',\n demote: 'Degradar',\n demoteUserError: 'Error al degradar un usuario',\n department: 'Departamento',\n departmentCreate: 'Crear Departamento',\n departmentCreateError: 'Error al intentar crear un departamento',\n departmentDeleteError: 'Error al intentar eliminar un departamento',\n departmentDeleteSuccess: 'Departamento eliminado con éxito.',\n departmentGetError: 'Error al obtener el departamento',\n departmentName: 'Nombre del departamento',\n departmentNamePlaceholder: 'Introduzca un nombre de departamento',\n departments: 'Departamentos',\n departmentSave: 'Guardar Departamento',\n departmentTeamsGetError: 'Error al obtener equipos de departamento',\n departmentUsersGetError: 'Error al obtener usuarios del departamento',\n discuss: 'Discutir',\n discussPlaceholder: 'Me gustaría discutir...',\n done: 'Hecho',\n duplicateRetroSession: 'Existe una sesión retro duplicada para su ID',\n duplicateStoryboardSession:\n 'Existe una sesión de storyboard duplicada para su ID',\n edit: 'Editar',\n editColorLegend: 'Editar leyenda',\n editRetro: 'Editar Retro',\n editStoryboard: 'Editar Storyboard',\n email: 'Email',\n enterPasscode: 'Introduzca el código de acceso...',\n enterYourEmail: 'Introduzca su dirección de correo electrónico',\n execute: 'Ejecute',\n export: 'Exportar',\n facilitator: 'Facilitador',\n facilitatorCode: 'Código del facilitador',\n facilitatorCodeOptional: 'Código del facilitador (opcional)',\n facilitatorCodePlaceholder: 'Introduzca un código de facilitador opcional',\n finalPoints: 'Puntos finales',\n flag: 'Bandera',\n footerAuthoredBy:\n 'ha sido diseñado y desarrollado por {authorOpen}Steven Weathers{authorClose}.',\n footerLicense:\n 'El código fuente tiene licencia {licenseOpen}Apache 2.0{licenseClose}.',\n forgotPassword: '¿Ha olvidado su contraseña?',\n forgotPasswordSubtext: `No se preocupe. Solo tienes que introducir tu correo electrónico y te enviaremos instrucciones para restablecer tu contraseña.`,\n returnToLogin: 'Volver al inicio de sesión',\n getAlertsError: 'Error al recibir alertas',\n getApikeysError: 'Error al obtener apikeys',\n getBattleError: 'Error al acceder al juego',\n getBattlesError: 'Error al acceder a los juegos',\n getCheckinsError: 'Error al registrar',\n getOrganizationsError: 'Error al obtener organizaciones',\n getRetroErrorMessage: 'error al obtener retro',\n getRetrosErrorMessage: 'error al obtener las retro',\n getStoryboardErrorMessage: 'error al obtener el storyboard',\n getStoryboardsErrorMessage: 'error al obtener los storyboards',\n getTeamsError: 'Error al obtener equipos',\n getUserError: 'Error al obtener el usuario',\n getUsersError: 'Error al obtener los usuarios',\n goalsMet: 'Objetivos alcanzados',\n group: 'Grupo',\n groupName: 'Nombre del grupo',\n groupPhaseDescription: 'Arrastre y suelte los comentarios para agruparlos',\n hostedDesc:\n '{linkOpen}Thunderdome.dev{linkClose} es un servicio alojado gratuito (SaaS) sin anuncios.',\n hostedOrSelfHosted: 'Servicio alojado o autoalojado',\n importCsv: 'Importar historias desde un archivo CSV',\n importCsvFileBadFileTypeError: 'Error tipo de archivo incorrecto',\n importCsvFileReadFileError: 'Error al leer el archivo',\n importJiraXML: 'Importar historias desde Jira XML',\n importJiraXMLBadFileTypeError: 'Error tipo de archivo incorrecto',\n importJiraXMLReadFileError: 'Error al leer el archivo',\n incorrectPassCode: 'Código de acceso incorrecto',\n inviteLinkCopyFailure:\n 'No se ha podido copiar el enlace de invitación al portapapeles',\n inviteLinkCopySuccess: 'Enlace de invitación copiado en el portapapeles',\n jiraXmlImport: 'Importación XML de Jira',\n joinCodeCopyFailure: 'No se puede copiar el código de acceso al portapapeles',\n joinCodeCopySuccess: 'Código de acceso copiado en el portapapeles',\n joinCodeLabelOptional: 'Código de acceso (opcional))',\n joinCodePlaceholder: 'Introduzca un código de acceso',\n joinRetro: 'Únete a Retro',\n joinStoryboard: 'Únete al Storyboard',\n joinStoryboardError:\n 'Error al unirse al storyboard, actualice e inténtelo de nuevo.',\n landingCountries: 'Usuarios en más de {contar} países',\n landingFeatureOpenSourceText:\n 'Echa un vistazo al {repoOpen}Repositorio Github{repoClose} para solicitar o aportar mejoras, traducciones a otros idiomas y correcciones de errores o para {donateOpen}Donar{donateClose}.',\n landingFeatureOpenSourceTitle: 'Código abierto',\n landingSalesPitch:\n 'Colaboración remota en equipo con puntuación de historias agiles, print restrospectiva, mapeo de historias y registro asíncrono de equipos.',\n landingTitle:\n 'TThunderdome es una aplicación de póquer de planificación ágil',\n lastActive: 'Último activo',\n leader: 'Líder',\n leaderPasscode: 'Código Leader',\n leaveRetro: 'Abandonar Retro',\n leaveStoryboard: 'Abandonar Storyboard',\n legendRetroPlaceholder: 'Introduzca una leyenda de color',\n loadingRetro: 'Cargando Retro...',\n loadingStoryboard: 'Cargando Storyboard...',\n login: 'Login',\n loginForRetro: 'o {loginOpen}Login{loginClose} para unirse a Retro',\n loginForStoryboard:\n 'o {loginOpen}Login{loginClose} para unirse al Storyboard',\n logout: 'Salir',\n logoutError:\n 'Se ha producido un error al intentar cerrar la sesión del usuario',\n makeFacilitator: 'Hacer de facilitador',\n mfa2faLabel: 'Autenticación 2FA/MFA',\n mfa2faRemove: 'Eliminar 2FA/MFA',\n mfa2faRemoveFailure: 'Error al eliminar 2FA/MFA',\n mfa2faRemoveSuccess: '2FA/MFA eliminado con éxito',\n mfa2faRemoveText: '¿Estás seguro de que quieres eliminar 2FA/MFA?',\n mfa2faSetup: 'Configurar 2FA/MFA',\n mfaAuthError: 'Error al validar el autentificador',\n mfaConfirmToken: 'Confirmar Token',\n mfaGenerateFailed: 'fallo al iniciar la configuración 2FA/MFA',\n mfaSecretKeyLabel: 'Clave secreta',\n mfaSetupFailed: 'fallo al validar el token de configuración 2FA/MFA',\n mfaSetupIntro:\n 'Escanee el siguiente código QR con una aplicación de autenticación (como Google Authenticator o Authy) e introduzca el token generado.',\n mfaSetupSuccess: '2FA/MFA activado correctamente',\n mfaTokenLabel: 'Token autenticador',\n mfaTokenPlaceholder: 'Introduzca el token de la aplicación de autenticación',\n myRetros: 'Mis Retros',\n myStoryboards: 'Mis Storyboards',\n name: 'Nombre',\n needsImprovement: 'Necesita mejorar',\n nextPhase: 'Siguiente fase',\n noComments: 'Sin comentarios...',\n oldBattleCleanError: 'Error al limpiar los juegos',\n oldGuestsCleanError: 'Error al limpiar los invitados',\n oldRetrosCleanError: 'Error en la limpieza de retros',\n oldStoryboardsCleanError: 'Error al limpiar storyboards',\n openSource: 'Código abierto',\n optional: '(Opcional)',\n optionalLeadercodePlaceholder:\n 'Código de líder opcional para convertirse en líder',\n optionalPasscodePlaceholder: 'Código de acceso opcional',\n organization: 'Organización',\n organizationCreate: 'Crear organización',\n organizationDeleteError: 'Error al intentar eliminar una organización',\n organizationDeleteSuccess: 'Organización eliminada con éxito.',\n organizationGetDepartmentsError:\n 'Error al obtener los departamentos de la organización',\n organizationGetError: 'Error al obtener la organización',\n organizationGetTeamsError: 'Error al obtener equipos de organización',\n organizationGetUsersError: 'Error al obtener usuarios de la organización',\n organizationName: 'Nombre de la organización',\n organizationNamePlaceholder: 'Introduzca el nombre de la organización',\n organizations: 'Organizaciones',\n organizationsAndTeams: 'Organizaciones y equipos',\n organizationSave: 'Guardar Organización',\n owner: 'Propietario',\n participation: 'Participación',\n passCode: 'Código',\n passCodeRequired: 'Código de acceso obligatorio',\n personas: \"Persona's\",\n planAcceptanceCriteria: 'Criterios de aceptación',\n planAcceptanceCriteriaPlaceholder: 'Introducir criterios de aceptación',\n planAdd: 'Añadir historias',\n planDescription: 'Descripción',\n planDescriptionPlaceholder: 'Introduzca una descripción',\n planLink: 'Enlace',\n planLinkInvalid:\n 'El enlace no es una URL absoluta válida, por ejemplo, incluye el protocolo (HTTP/HTTPS)',\n planLinkPlaceholder: 'Introduzca un enlace a la historya',\n planName: 'Nombre de la historia',\n planNamePlaceholder: 'Introduzca el nombre de la historia',\n planPriority: 'Prioridad',\n planPriorityBlocker: 'Bloqueador',\n planPriorityHigh: 'Alta',\n planPriorityHighest: 'Más alta',\n planPriorityLow: 'Baja',\n planPriorityLowest: 'Más baja',\n planPriorityMedium: 'Media',\n planPriorityPlaceholder: 'Selecciona una prioridad',\n planReferenceId: 'ID de Referencia',\n planReferenceIdPlaceholder: 'Ingresa un ID de referencia',\n plans: 'Historias',\n planSkip: 'Omitir Historia',\n planType: 'Tipo de Historia',\n planTypeBug: 'Error',\n planTypeEpic: 'Épico',\n planTypePlaceholder: 'Tipos',\n planTypeSpike: 'Investigación',\n planTypeStory: 'Historia',\n planTypeSubtask: 'Subtarea',\n planTypeTask: 'Tarea',\n pointAverageRounding: 'Redondeo Promedio de Puntos',\n pointed: 'Puntuado ({count})',\n points: 'Puntos',\n pointValuesAllowed: 'Valores de Puntos Permitidos',\n postComment: 'Publicar Comentario',\n primeDirective: 'Directiva Principal',\n promote: 'Promocionar',\n promoteUserError: 'Error al promocionar al usuario',\n questions: 'Preguntas',\n register: 'Registrar',\n reloadingRetro: 'Ups, recargando Retro...',\n reloadingStoryboard: 'Ups, recargando Storyboard...',\n remove: 'Eliminar',\n removeBattle: 'Eliminar Juego',\n removeBattleConfirmText: '¿Seguro que deseas eliminar este juego?',\n removeRetro: 'Eliminar Retro',\n removeRetroConfirmText: '¿Seguro que deseas eliminar este retro?',\n removeStoryboard: 'Eliminar Storyboard',\n removeStoryboardConfirmText: '¿Seguro que deseas eliminar este storyboard?',\n removeUser: 'Eliminar Usuario',\n removeUserConfirmText: '¿Seguro que deseas eliminar a este usuario?',\n requestVerifyEmail: 'Solicitar Correo de Verificación',\n requestVerifyEmailFailure:\n 'Error al intentar enviar el Correo de Verificación',\n requestVerifyEmailSuccess:\n 'Correo de Verificación solicitado, revisa tu bandeja de entrada',\n retro: 'Retro',\n retroActionCommentAddError: 'error al agregar comentario de acción retro',\n retroActionCommentDeleteError: 'error al eliminar comentario de acción retro',\n retroActionCommentEditError: 'error al editar comentario de acción retro',\n retroActionItems: 'Elementos de Acción Retro',\n retroAddError: 'Error al intentar agregar retro.',\n retroAddSuccess: 'Retro agregado con éxito.',\n retroDeleted: 'Retro eliminado',\n retroFeedbackConcealed: 'Comentarios Escondidos',\n retroFeedbackHidden: 'Comentarios Ocultos',\n retroImprovePlaceholder: 'Qué necesita mejorar...',\n retroItems: 'Elementos Retro',\n retroJoinError: 'Error al unirse al retro, actualiza y vuelve a intentarlo.',\n retroMaxVotesPerUserLabel: 'Votos Máximos del Grupo (por Usuario)',\n retroName: 'Nombre de la Retro',\n retroNamePlaceholder: 'Ingresa un nombre para la retro',\n retroQuestionPlaceholder: 'Quiero preguntar...',\n retroRemoveError: 'Error al intentar eliminar el retro.',\n retroRemoveSuccess: 'Retro eliminado con éxito.',\n retros: 'Retros',\n retroWorkedPlaceholder: 'Qué funcionó bien...',\n role: 'Rol',\n rolePlaceholder: 'Selecciona el rol del usuario',\n save: 'Guardar',\n search: 'Buscar',\n searchLengthError: 'El valor de búsqueda debe tener al menos 3 caracteres',\n selectTeam: 'Selecciona un Equipo',\n selfHostedDesc:\n 'Alternativamente, puedes {linkOpen}ejecutarlo en tu propio servidor{linkClose}.',\n sessionDuplicate: 'Existe una sesión de juego duplicada para tu ID',\n showActiveBattles: 'Mostrar Juegos Activos',\n showActiveRetros: 'Mostrar retros activos',\n showActiveStoryboards: 'Mostrar storyboards activos',\n showBlockedCheckins: 'Mostrar solo check-ins que requieren discusión',\n showCompletedActionItems: 'Mostrar Elementos de Acción Completados',\n showVoters: 'Mostrar Votantes',\n skipped: 'Omitido',\n spectator: 'Espectador',\n storyboard: 'Storyboard',\n storyboardAddColumn: 'Agregar Columna',\n storyboardAddError: 'Error al intentar agregar el storyboard.',\n storyboardAddGoal: 'Agregar Objetivo',\n storyboardAddStoryToColumn: 'Agregar Historia a la Columna',\n storyboardAddSuccess: 'Storyboard agregado con éxito.',\n storyboardColumns: 'Columnas del Storyboard',\n storyboardDeleted: 'Storyboard eliminado',\n storyboardEditColumn: 'Editar Columna',\n storyboardGoalName: 'Nombre del objetivo',\n storyboardGoalNamePlaceholder: 'Ingresa un nombre de objetivo',\n storyboardGoals: 'Objetivos del Storyboard',\n storyboardPersonas: 'Personas del Storyboard',\n storyboardRemoveError: 'Error al intentar eliminar el storyboard.',\n storyboardRemoveSuccess: 'Storyboard eliminado con éxito.',\n storyboards: 'Storyboards',\n storyboardStories: 'Historias del Storyboard',\n team: 'Equipo',\n teamCheckins: 'Check-ins del Equipo',\n teamCreate: 'Crear Equipo',\n teamCreateError: 'Error al intentar crear el equipo.',\n teamCreateSuccess: 'Equipo creado con éxito.',\n teamDeleteError: 'Error al intentar eliminar el equipo',\n teamDeleteSuccess: 'Equipo eliminado con éxito.',\n teamGetBattlesError: 'Error al obtener los juegos del equipo',\n teamGetError: 'Error al obtener el equipo',\n teamGetRetroActionsError: 'Error al obtener acciones retro',\n teamGetRetrosError: 'Error al obtener retros del equipo',\n teamGetStoryboardsError: 'Error al obtener storyboards del equipo',\n teamGetUsersError: 'Error al obtener los usuarios del equipo',\n teamName: 'Nombre del Equipo',\n teamNamePlaceholder: 'Ingresa un nombre de equipo',\n teams: 'Equipos',\n teamSave: 'Guardar Equipo',\n teamUserRequiredToCheckin:\n 'El usuario debe estar en el equipo para hacer check-in',\n teamUserRequiredToComment: 'El usuario debe estar en el equipo para comentar',\n today: 'Hoy',\n todayPlaceholder: 'Hoy voy a...',\n totalPoints: 'Total',\n totalVotes: 'Votos Totales',\n type: 'Tipo',\n unknownWarrior: 'Jugador Desconocido',\n unpointed: 'Sin puntos ({count})',\n updateActionItemError: 'Error al actualizar el elemento de acción',\n updateActionItemSuccess: 'Elemento de acción actualizado con éxito',\n updateAlertError: 'Error al intentar actualizar la alerta',\n updateAlertSuccess: 'Alerta actualizada con éxito',\n updateCheckinError: 'Error al actualizar el check-in',\n updateComment: 'Actualizar Comentario',\n userAdd: 'Agregar Usuario',\n userAddError: 'Error al intentar agregar usuario.',\n userAddSuccess: 'Usuario agregado con éxito.',\n userEmail: 'Correo del Usuario',\n userEmailPlaceholder: 'Ingresa el correo del usuario',\n userName: 'Nombre del Usuario',\n userRemoveError: 'Error al intentar eliminar usuario.',\n userRemoveSuccess: 'Usuario eliminado con éxito.',\n users: 'Usuarios',\n verifyAccount: 'Verificar Cuenta',\n verifyAccountFailedError:\n 'Ocurrió un error al verificar tu cuenta; el enlace podría haber expirado o ya haber sido usado.',\n verifyAccountFailedTitle: 'Verificación Fallida',\n verifyAccountLoading: 'Verificando Cuenta...',\n verifyAccountVerifiedThanks: 'Gracias por verificar tu correo electrónico.',\n verifyAccountVerifiedTitle: 'Cuenta Verificada',\n view: 'Ver',\n vote: 'Votar',\n voteCount: 'Cantidad de Votos',\n votePhaseDescription: 'Vota por los grupos que deseas discutir más',\n voteResultsAverage: 'Promedio',\n voteResultsHighest: 'Más alto',\n votingFinish: 'Finalizar Votación',\n votingLocked: 'Votación Bloqueada',\n votingRestart: 'Reiniciar Votación',\n warriorCreate: 'Crear Usuario',\n warriorInvite: 'Invitar a un Jugador',\n warriorNudge: 'Empujar',\n works: 'Funciona',\n writeCommentPlaceholder: 'Escribe un comentario...',\n yesterday: 'Ayer',\n yesterdayPlaceholder: 'Ayer yo...',\n yourRetros: 'Tus Retros',\n yourStoryboards: 'Tus Storyboards',\n addPlan: 'Agregar Historia',\n battleNamePlaceholder: 'Ingresa un nombre de juego',\n autoFinishVotingLabel:\n 'Finalizar Votación Automáticamente cuando todos los Jugadores hayan votado',\n averageRoundingOptions: {\n ceil: 'Redondear hacia arriba',\n floor: 'Redondear hacia abajo',\n round: 'Redondear',\n },\n apiKeyCreateButton: 'Crear Clave API',\n apiKeyPrefix: 'Prefijo de Clave',\n lastUpdated: 'Última Actualización',\n apiKeysErrorRetrieving: 'Error al obtener claves API',\n apiKeyDeleteSuccess: 'Clave API eliminada',\n apiKeyDeleteFailed: 'Error al eliminar la clave API',\n apiKeyUpdateSuccess: 'Clave API actualizada',\n apiKeyUpdateFailed: 'Error al actualizar la clave API',\n deactivate: 'Desactivar',\n profileErrorRetrieving: 'Error al obtener tu perfil',\n profileErrorUpdating: 'Error al intentar actualizar tu perfil',\n profileUpdateSuccess: 'Perfil actualizado',\n passwordUpdated: 'Contraseña actualizada.',\n passwordUpdateError: 'Error al intentar actualizar la contraseña',\n profileDeleteError: 'Error al intentar eliminar tu cuenta.',\n profileTitle: 'Tu Perfil',\n profile: 'Perfil',\n updatePassword: 'Actualizar Contraseña',\n deleteAccount: 'Eliminar Cuenta',\n deleteAccountWarningStatement:\n '¿Estás seguro de que deseas eliminar tu cuenta?',\n deleteConfirmButton: 'Confirmar Eliminación',\n apiKeyNameInvalid: 'Por favor, ingresa un nombre de clave',\n apiKeyCreateSuccess:\n 'Nueva Clave API {keyName} creada y {onlyNowOpen}solo se mostrará ahora{onlyNowClose}',\n apiKeyStoreWarning:\n 'Guárdala en un lugar seguro, ya que una vez que abandones esta página, no podremos recuperar o restaurar este token generado.',\n apiKeyLimitReached:\n 'Has alcanzado el número máximo de claves API permitidas.',\n apiKeyUnverifiedUser:\n 'Solo los usuarios registrados y verificados pueden crear claves API.',\n apiKeyCreateFailed: 'Failed to create API Key',\n apiKeyName: 'Nombre clave',\n apiKeyNamePlaceholder: 'Introduzca un nombre de clave',\n create: 'Crear',\n close: 'Cerrar',\n country: 'País',\n company: 'Empresa',\n verified: 'Verificado',\n registeredUsers: 'Usuarios Registrados',\n myBattles: 'Mis Juegos',\n createBattle: 'Crear Juego',\n countPlansPointed: '{totalPointed} de {totalPlans} historias puntuadas',\n myBattlesError: 'Error al encontrar tus juegos',\n warriorJoined: '{name} se ha unido al juego',\n warriorRetreated: '{name} ha salido del juego',\n planSkipped: 'Historia omitida',\n warriorVoted: '{name} ha votado',\n warriorRetractedVote: '{name} ha retirado el voto',\n battleDeleted: 'Juego eliminado',\n warriorNudgeMessage: 'pst... {name}, esperando tu voto.',\n battle: 'Juego',\n warriors: 'Jugadores',\n battleSocketReconnecting: 'Oops, recargando el Juego...',\n battleSocketError: 'Error al unirse al juego, actualiza e intenta de nuevo.',\n battleLoading: 'Cargando Juego...',\n votingNotStarted: 'Votación no iniciada',\n password: 'Contraseña',\n passwordPlaceholder: 'Ingresa una contraseña',\n yourPasswordPlaceholder: 'Ingresa tu contraseña',\n confirmPassword: 'Confirmar Contraseña',\n confirmPasswordPlaceholder: 'Confirma tu contraseña',\n update: 'Actualizar',\n reset: 'Restablecer',\n passwordResetError: 'Error al intentar restablecer la contraseña',\n resetPassword: 'Restablecer Contraseña',\n registerAsGuest: 'Registrarse como Invitado',\n registrationDisabled: 'Registro deshabilitado.',\n userNamePlaceholder: 'Ingresa tu nombre',\n guestRegisterError: 'Error al intentar registrarse como invitado',\n registerError: 'Error al intentar registrar la cuenta',\n enlistToBattle: 'Unirse a la Batalla',\n loginForBattle: 'o {loginOpen}Inicia Sesión{loginClose} para unirte al Juego',\n yourNamePlaceholder: 'Ingresa tu nombre',\n createAccountFormTitle:\n 'Crear una Cuenta {optionalOpen}(opcional){optionalClose}',\n sendResetPasswordSuccess:\n 'Instrucciones para restablecer la contraseña enviadas a {email}',\n sendResetPasswordError:\n 'Error al intentar enviar el restablecimiento de contraseña',\n chooseCountryPlaceholder: 'Elige tu país (opcional)',\n locale: 'Idioma',\n companyPlaceholder: 'Ingresa tu empresa (opcional)',\n jobTitle: 'Puesto de Trabajo',\n jobTitlePlaceholder: 'Ingresa tu puesto de trabajo (opcional)',\n enableBattleNotifications: 'Habilitar notificaciones de juego',\n avatar: 'Avatar',\n updateProfile: 'Actualizar Perfil',\n guestUsers: 'Usuarios Invitados',\n maintenance: 'Mantenimiento',\n cleanGuests: 'Eliminar Invitados con más de {daysOld} días',\n cleanBattles: 'Eliminar Juegos con más de {daysOld} días',\n chooseLocalePlaceholder: 'Elige tu idioma preferido (opcional)',\n importPlans: 'Importar Historias',\n selectFile: 'Seleccionar archivo...',\n theme: 'Tema',\n assignees: 'Asignados',\n assigneeSelectPlaceholder: 'Selecciona un asignado para agregar',\n assigneeAdd: 'Agregar Asignado',\n allStoryWithCount: 'Todos ({count})',\n userUpdate: 'Actualizar Usuario',\n userUpdateSuccess: 'Usuario actualizado con éxito.',\n userUpdateError: 'Error al actualizar el usuario.',\n userInvites: 'Invitaciones de Usuario',\n userInviteSent: 'Invitación de usuario enviada',\n userInviteConfirmDelete:\n '¿Estás seguro de que deseas eliminar esta invitación de usuario?',\n userInviteDelete: 'Eliminar Invitación',\n expireDate: 'Fecha de Expiración',\n addUserWillInviteNotFoundFieldNote:\n 'Si el usuario no está registrado, se enviará una invitación para registrarse y unirse a la {pageType}.',\n inviteUserFieldNote: 'Se enviará una invitación para unirse a la {pageType}.',\n requiresOrganizationMember: 'El usuario debe estar en la Organización.',\n teamUpdateSuccess: 'Equipo actualizado con éxito',\n teamUpdateError: 'Error al actualizar el Equipo',\n orgUpdateSuccess: 'Organización actualizada con éxito',\n orgUpdateError: 'Error al actualizar la Organización',\n deptUpdateSuccess: 'Departamento actualizado con éxito',\n deptUpdateError: 'Error al actualizar el Departamento',\n hideVoterIdentity: 'Ocultar Identidad del Votante',\n storyboardName: 'Nombre del Storyboard',\n storyboardNamePlaceholder: 'Ingresa un nombre de storyboard',\n retroPhaseTimeLimitMinLabel:\n 'Límite de tiempo de la fase de lluvia de ideas en minutos',\n phaseAutoAdvanceLabel: 'Avanzar fases automáticamente',\n removeOnlyFacilitatorError: 'No se puede eliminar al único facilitador',\n noGamesFound: 'No se encontraron juegos, intenta crear uno.',\n noRetrosFound: 'No se encontraron retros, intenta crear uno.',\n noStoryboardsFound: 'No se encontraron storyboards, intenta crear uno.',\n retroDescription:\n 'Una retrospectiva de sprint es una revisión realizada después de un sprint que desempeña un papel clave en la metodología Ágil. Su objetivo es determinar qué salió bien, dónde hubo problemas e identificar áreas de mejora.',\n pokerDescription:\n 'El póker Scrum, también conocido como \"póker de planificación\" o \"póker de puntos\", es una técnica gamificada que los equipos de desarrollo utilizan para estimar el esfuerzo de tareas de gestión de proyectos. Estas estimaciones se basan en el aporte y consenso de todo el grupo, haciéndolas más atractivas y precisas que otros métodos.',\n storyboardDescription:\n 'El mapeo de historias de usuario (storyboard) es una visualización del recorrido que un cliente realiza con un producto, desde el principio hasta el final. Incluye todas las tareas que completarían como parte de ese recorrido.',\n estimationScaleNamePlaceholder: 'Ingresa el nombre de la escala',\n description: 'Descripción',\n estimationScaleDescriptionPlaceholder: 'Ingresa la descripción de la escala',\n scaleType: 'Tipo de Escala',\n estimationScaleTypePlaceholder: 'Selecciona el tipo de escala',\n scaleValues: 'Valores de Escala',\n estimationScaleValuesPlaceholder: 'Ingresa valores separados por comas',\n estimationScaleValuesHelp:\n 'Ingresa valores separados por comas (e.g., 1, 2, 3, 5, 8)',\n estimationScaleIsPublic: 'Hacer esta escala pública',\n estimationScaleDefault: 'Establecer como escala predeterminada',\n estimationScaleSave: 'Guardar Escala',\n estimationScales: 'Escalas de Estimación',\n estimationScaleCreate: 'Crear Escala de Estimación',\n estimationScaleCreateSuccess: 'Escala de estimación creada con éxito',\n estimationScaleCreateError: 'Error al crear la escala de estimación',\n estimationScaleUpdateSuccess: 'Escala de estimación actualizada con éxito',\n estimationScaleUpdateError: 'Error al actualizar la escala de estimación',\n estimationScaleRemoveSuccess: 'Escala de estimación eliminada con éxito',\n estimationScaleRemoveError: 'Error al eliminar la escala de estimación',\n removeEstimationScaleConfirmText:\n '¿Estás seguro de que deseas eliminar esta escala de estimación?',\n removeEstimationScale: 'Eliminar Escala de Estimación',\n yes: 'Sí',\n no: 'No',\n isPublic: 'Público',\n default: 'Predeterminado',\n publicEstimationScales: 'Escalas de Estimación Públicas',\n organizationEstimationScales: 'Escalas de Estimación de la Organización',\n teamEstimationScales: 'Escalas de Estimación del Equipo',\n allowCumulativeVotingLabel:\n 'Permitir Votación Acumulativa (más de 1 voto por grupo de ítems)',\n activeSubscriptions: 'Suscripciones Activas',\n retroTemplates: 'Plantillas de Retrospectiva',\n publicRetroTemplates: 'Plantillas de Retrospectiva Públicas',\n organizationRetroTemplates: 'Plantillas de Retrospectiva de la Organización',\n teamRetroTemplates: 'Plantillas de Retrospectiva del Equipo',\n retroTemplateNamePlaceholder: 'Ingresa el nombre de la plantilla',\n retroTemplateDescriptionPlaceholder: 'Ingresa la descripción de la plantilla',\n format: 'Formato',\n retroTemplateIsPublic: 'Hacer esta plantilla pública',\n retroTemplateSave: 'Guardar Plantilla',\n retroTemplateCreate: 'Crear Plantilla de Retrospectiva',\n retroTemplateCreateSuccess: 'Plantilla de retrospectiva creada con éxito',\n retroTemplateCreateError: 'Error al crear la plantilla de retrospectiva',\n retroTemplateUpdateSuccess:\n 'Plantilla de retrospectiva actualizada con éxito',\n retroTemplateUpdateError: 'Error al actualizar la plantilla de retrospectiva',\n retroTemplateRemoveSuccess: 'Plantilla de retrospectiva eliminada con éxito',\n retroTemplateRemoveError: 'Error al eliminar la plantilla de retrospectiva',\n removeRetroTemplateConfirmText:\n '¿Estás seguro de que deseas eliminar esta plantilla de retrospectiva?',\n removeRetroTemplate: 'Eliminar Plantilla de Retrospectiva',\n retroTemplateDefault: 'Establecer como plantilla predeterminada',\n};\n\nexport default es;\n","import type { Translation } from '../i18n-types';\n\nconst fa: Translation = {\n userGuide: 'User Guide',\n privacyPolicy: 'Privacy Policy',\n termsConditions: 'Terms & Conditions',\n support: 'Support',\n abandoned: 'Abandoned',\n actionComments: 'Action Comments',\n actionItem: 'Action Item',\n actionItemPlaceholder: 'Action item...',\n actionItems: 'Action Items',\n actionPhaseDescription:\n 'Add action items, you can no longer group or vote comments',\n actions: 'Actions',\n activate: 'Activate',\n active: 'Active',\n activeRetros: 'Active Retros',\n activeRetroUsers: 'Active Retro Users',\n activeStoryboards: 'Active Storyboards',\n activeStoryboardUsers: 'Active Storyboard Users',\n addComment: 'Add Comment',\n addPersona: 'Add Persona',\n admin: 'Admin',\n adminCleanOldRetros: 'Clean Retros older than {daysOld} days',\n adminCleanOldStoryboards: 'Clean Storyboards older than {daysOld} days',\n adminPageAdmin: 'Admin',\n adminPageAlerts: 'Alerts',\n adminPageApi: 'API Keys',\n adminPageOrganizations: 'Organizations',\n adminPageTeams: 'Teams',\n adminPageUsers: 'Users',\n adminPageSubscriptions: 'Subscriptions',\n deleteSubscriptionConfirmation:\n 'Are you sure you want to delete this subscription?',\n deleteSubscription: 'Delete Subscription',\n alertAllowDismiss: 'Allow Dismiss',\n alertContent: 'Alert Content',\n alertContentPlaceholder: 'Enter alert content',\n alertCreate: 'Create Alert',\n alertDelete: 'Delete Alert',\n alertDeleteConfirmation: 'Are you sure you want to delete this alert?',\n alertNamePlaceholder: 'Enter an alert name',\n alertRegisteredOnly: 'Registered Only',\n alerts: 'Alerts',\n alertSave: 'Save Alert',\n alertTypePlaceholder: 'Select an alert type',\n allVotesIn: 'All votes in',\n apiDocumentation: 'API Documentation',\n apikeyCopyFailure: \"Couldn't copy API key to clipboard\",\n apikeyCopySuccess: 'API key copied to clipboard',\n apiKeys: 'API Keys',\n applicationStatsError: 'Error getting application stats',\n appName: 'Thunderdome',\n appPreviewAlt: 'Preview of Thunderdome, Agile Planning Poker UI Experience',\n appSubtitle: 'Open Source Agile Planning Poker app',\n appVersion: 'Version {version}',\n associateTeam: 'Associate Team',\n authError: 'Error encountered attempting to authenticate user',\n autoFinishVoting: 'Auto Finish Voting',\n avatarAltText: 'Placeholder Avatar',\n back: 'Back',\n battleAbandon: 'Abandon Game',\n battleCreate: 'Create Game',\n battleDelete: 'Delete Game',\n battleEdit: 'Edit Game',\n battleEditPointsDisabled: 'Voting is active, cannot modify allowed points.',\n battleJoin: 'Join Game',\n battleName: 'Game Name',\n battleRemoveError: 'Error attempting to remove game.',\n battleRemoveSuccess: 'Game removed successfully.',\n battles: 'Games',\n battlesActive: 'Active Games',\n battlesActiveUsers: 'Active Game Users',\n becomeFacilitator: 'Become Facilitator',\n becomeLeader: 'Become Leader',\n becomeParticipant: 'Become Participant',\n becomeSpectator: 'Become Spectator',\n blocked: 'Blocked',\n blockers: 'Blockers',\n blockersPlaceholder: \"I'm blocked by...\",\n brainstorm: 'Brainstorm',\n brainstormPhaseDescription: 'Add your comments below',\n brainstormPhaseFeedbackVisibility: 'Brainstorm Phase Feedback Visibility',\n brainstormVisibilityLabelConcealed: 'Feedback Concealed',\n brainstormVisibilityLabelHidden: 'Feedback Hidden',\n brainstormVisibilityLabelVisible: 'Feedback Visible',\n cancel: 'Cancel',\n cannotBeUndone: 'This cannot be undone.',\n checkIn: 'Check In',\n checkinCommentDeleteError: 'Error deleting check in comment',\n checkinCommentError: 'Error commenting on check in',\n checkinError: 'Error checking in',\n checkinMeetYesterdayGoalsQuestion: \"Did you meet yesterday's goals?\",\n checkins: 'Checkins',\n colorLegend: 'Color Legend',\n colorLegendNotSpecified: 'legend not specified',\n comment: 'Comment',\n comments: 'Comments',\n completed: 'Completed',\n conciseVotingResults: 'Concise Voting Results',\n confirmDeleteRetro: 'Are you sure you want to delete this retrospective?',\n createAccount: 'Create Account',\n createAccountTagline: `Don't have an account?`,\n createAlertError: 'Error encountered creating alert',\n createAlertSuccess: 'Alert created successfully',\n createARetro: 'Create a Retro',\n createAStoryboard: 'Create a Storyboard',\n createBattleError: 'Error encountered creating game',\n createOrgError: 'Error attempting to create organization',\n createRetro: 'Create Retro',\n createRetroErrorMessage: 'Error encountered creating retro',\n createStoryboard: 'Create Storyboard',\n createUserError: 'Error encountered creating user',\n customizableBattleOptions: 'Customizable Game Options',\n dateCreated: 'Created Date',\n dateUpdated: 'Updated Date',\n delete: 'Delete',\n deleteActionItemError: 'Error deleting action item',\n deleteActionItemSuccess: 'Action item deleted successfully',\n deleteAlertError: 'Error attempting to delete alert',\n deleteAlertSuccess: 'Alert deleted successfully',\n deleteBattle: 'Delete Game',\n deleteBattleConfirmText: 'Are you sure you want to delete this game?',\n deleteBattleError: 'error deleting game',\n deleteCheckinError: 'Error deleting check in',\n deleteDepartment: 'Delete Department',\n deleteDepartmentConfirmText:\n 'Are you sure you want to delete this department?',\n deleteOrganization: 'Delete Organization',\n deleteOrganizationConfirmText:\n 'Are you sure you want to delete this organization?',\n deleteRetro: 'Delete Retro',\n deleteRetroErrorMessage: 'error deleting retro',\n deleteStoryboard: 'Delete Storyboard',\n deleteStoryboardErrorMessage: 'error deleting storyboard',\n deleteTeam: 'Delete Team',\n deleteTeamConfirmText: 'Are you sure you want to delete this team?',\n deleteUserError: 'Error encountered deleting user',\n demote: 'Demote',\n demoteUserError: 'Error encountered demoting user',\n department: 'Department',\n departmentCreate: 'Create Department',\n departmentCreateError: 'Error attempting to create department',\n departmentDeleteError: 'Error attempting to delete department',\n departmentDeleteSuccess: 'Department deleted successfully.',\n departmentGetError: 'Error getting department',\n departmentName: 'Department Name',\n departmentNamePlaceholder: 'Enter an department name',\n departments: 'Departments',\n departmentSave: 'Save Department',\n departmentTeamsGetError: 'Error getting department teams',\n departmentUsersGetError: 'Error getting department users',\n discuss: 'Discuss',\n discussPlaceholder: 'I would like to discuss...',\n done: 'Done',\n duplicateRetroSession: 'Duplicate retro session exists for your ID',\n duplicateStoryboardSession: 'Duplicate storyboard session exists for your ID',\n edit: 'Edit',\n editColorLegend: 'Edit Legend',\n editRetro: 'Edit Retro',\n editStoryboard: 'Edit Storyboard',\n email: 'Email',\n enterPasscode: 'Enter passcode...',\n enterYourEmail: 'Enter your email',\n execute: 'Execute',\n export: 'Export',\n facilitator: 'Facilitator',\n facilitatorCode: 'Facilitator Code',\n facilitatorCodeOptional: 'Facilitator Code (Optional)',\n facilitatorCodePlaceholder: 'Enter an optional facilitator code',\n finalPoints: 'Final Points',\n flag: 'Flag',\n footerAuthoredBy:\n 'is designed and developed by {authorOpen}Steven Weathers{authorClose}.',\n footerLicense:\n 'The source code is licensed {licenseOpen}Apache 2.0{licenseClose}.',\n forgotPassword: 'Forgot Your Password?',\n forgotPasswordSubtext: `Don't fret! Just enter your email and we will send you instructions to reset your password.`,\n returnToLogin: 'Return to Login',\n getAlertsError: 'Error getting alerts',\n getApikeysError: 'Error getting apikeys',\n getBattleError: 'Error getting game',\n getBattlesError: 'Error getting games',\n getCheckinsError: \"Error getting check in's\",\n getOrganizationsError: 'Error getting organizations',\n getRetroErrorMessage: 'error getting retro',\n getRetrosErrorMessage: 'error getting retros',\n getStoryboardErrorMessage: 'error getting storyboard',\n getStoryboardsErrorMessage: 'error getting storyboards',\n getTeamsError: 'Error getting teams',\n getUserError: 'Error getting user',\n getUsersError: 'Error getting users',\n goalsMet: 'Goals Met',\n group: 'Group',\n groupName: 'Group Name',\n groupPhaseDescription: 'Drag and drop comments to group them together',\n hostedDesc:\n '{linkOpen}Thunderdome.dev{linkClose} is a free hosted service (SaaS) without Ads.',\n hostedOrSelfHosted: 'Hosted service or self-hosted',\n importCsv: 'Import stories from a CSV file',\n importCsvFileBadFileTypeError: 'Error bad file type',\n importCsvFileReadFileError: 'Error reading file',\n importJiraXML: 'Import stories from Jira XML',\n importJiraXMLBadFileTypeError: 'Error bad file type',\n importJiraXMLReadFileError: 'Error reading file',\n incorrectPassCode: 'Incorrect passcode',\n inviteLinkCopyFailure: \"Couldn't copy invite link to clipboard\",\n inviteLinkCopySuccess: 'Invite Link copied to clipboard',\n jiraXmlImport: 'Jira XML Import',\n joinCodeCopyFailure: \"Couldn't copy passcode to clipboard\",\n joinCodeCopySuccess: 'Passcode copied to clipboard',\n joinCodeLabelOptional: 'Join Code (Optional)',\n joinCodePlaceholder: 'Enter a join code',\n joinRetro: 'Join Retro',\n joinStoryboard: 'Join Storyboard',\n joinStoryboardError: 'Error joining storyboard, refresh and try again.',\n landingCountries: 'Users in over {count} countries',\n landingFeatureOpenSourceText:\n 'Check out the {repoOpen}Github repository{repoClose} to request or contribute enhancements, locale translations and bug fixes or to {donateOpen}Donate{donateClose}.',\n landingFeatureOpenSourceTitle: 'Open Source',\n landingSalesPitch:\n 'Remote team collaboration with agile story pointing, sprint retrospective, story mapping and async team check-in.',\n landingTitle: 'Thunderdome is an Agile Planning Poker app',\n lastActive: 'Last Active',\n leader: 'Leader',\n leaderPasscode: 'Leader code',\n leaveRetro: 'Leave Retro',\n leaveStoryboard: 'Leave Storyboard',\n legendRetroPlaceholder: 'Enter a color legend',\n loadingRetro: 'Loading Retro...',\n loadingStoryboard: 'Loading Storyboard...',\n login: 'Login',\n loginForRetro: 'or {loginOpen}Login{loginClose} to join the Retro',\n loginForStoryboard: 'or {loginOpen}Login{loginClose} to join the Storyboard',\n logout: 'Logout',\n logoutError: 'Error encountered attempting to logout user',\n makeFacilitator: 'Make Facilitator',\n mfa2faLabel: '2FA/MFA Auth',\n mfa2faRemove: 'Remove 2FA/MFA',\n mfa2faRemoveFailure: 'Failed to remove 2FA/MFA',\n mfa2faRemoveSuccess: '2FA/MFA successfully removed',\n mfa2faRemoveText: 'Are you sure you want to remove 2FA/MFA?',\n mfa2faSetup: 'Setup 2FA/MFA',\n mfaAuthError: 'Error validating authenticator token',\n mfaConfirmToken: 'Confirm Token',\n mfaGenerateFailed: 'failed to start 2FA/MFA setup',\n mfaSecretKeyLabel: 'Secret Key',\n mfaSetupFailed: 'failed to validate 2FA/MFA setup token',\n mfaSetupIntro:\n 'Scan the following QR code with an Authenticator Application (such as Google Authenticator or Authy) and enter the generated token.',\n mfaSetupSuccess: 'successfully enabled 2FA/MFA',\n mfaTokenLabel: 'Authenticator Token',\n mfaTokenPlaceholder: 'Enter token from authenticator app',\n myRetros: 'My Retros',\n myStoryboards: 'My Storyboards',\n name: 'Name',\n needsImprovement: 'Needs Improvement',\n nextPhase: 'Next Phase',\n noComments: 'No comments...',\n oldBattleCleanError: 'Error encountered cleaning games',\n oldGuestsCleanError: 'Error encountered cleaning guests',\n oldRetrosCleanError: 'Error encountered cleaning retros',\n oldStoryboardsCleanError: 'Error encountered cleaning storyboards',\n openSource: 'Open Source',\n optional: '(Optional)',\n optionalLeadercodePlaceholder: 'Optional leader code to become a leader',\n optionalPasscodePlaceholder: 'Optional passcode to join',\n organization: 'Organization',\n organizationCreate: 'Create Organization',\n organizationDeleteError: 'Error attempting to delete organization',\n organizationDeleteSuccess: 'Organization deleted successfully.',\n organizationGetDepartmentsError: 'Error getting organization departments',\n organizationGetError: 'Error getting organization',\n organizationGetTeamsError: 'Error getting organization teams',\n organizationGetUsersError: 'Error getting organization users',\n organizationName: 'Organization Name',\n organizationNamePlaceholder: 'Enter an organization name',\n organizations: 'Organizations',\n organizationsAndTeams: 'Organizations and Teams',\n organizationSave: 'Save Organization',\n owner: 'Owner',\n participation: 'Participation',\n passCode: 'Passcode',\n passCodeRequired: 'Passcode required to join',\n personas: \"Persona's\",\n planAcceptanceCriteria: 'Acceptance Criteria',\n planAcceptanceCriteriaPlaceholder: 'Enter acceptance criteria',\n planAdd: 'Add Stories',\n planDescription: 'Description',\n planDescriptionPlaceholder: 'Enter a description',\n planLink: 'Link',\n planLinkInvalid:\n \"Link isn't a valid absolute URL, e.g. includes protocol (HTTP/HTTPS)\",\n planLinkPlaceholder: 'Enter a link to story',\n planName: 'Story Name',\n planNamePlaceholder: 'Enter a story name',\n planPriority: 'Priority',\n planPriorityBlocker: 'Blocker',\n planPriorityHigh: 'High',\n planPriorityHighest: 'Highest',\n planPriorityLow: 'Low',\n planPriorityLowest: 'Lowest',\n planPriorityMedium: 'Medium',\n planPriorityPlaceholder: 'Select a priority',\n planReferenceId: 'Reference ID',\n planReferenceIdPlaceholder: 'Enter a reference ID',\n plans: 'Stories',\n planSkip: 'Skip Story',\n planType: 'Story Type',\n planTypeBug: 'Bug',\n planTypeEpic: 'Epic',\n planTypePlaceholder: 'Types',\n planTypeSpike: 'Spike',\n planTypeStory: 'Story',\n planTypeSubtask: 'Subtask',\n planTypeTask: 'Task',\n pointAverageRounding: 'Point Average Rounding',\n pointed: 'Pointed ({count})',\n points: 'Points',\n pointValuesAllowed: 'Point Values Allowed',\n postComment: 'Post Comment',\n primeDirective: 'Prime Directive',\n promote: 'Promote',\n promoteUserError: 'Error encountered promoting user',\n questions: 'Questions',\n register: 'Register',\n reloadingRetro: 'Oops, reloading Retro...',\n reloadingStoryboard: 'Oops, reloading Storyboard...',\n remove: 'Remove',\n removeBattle: 'Remove Game',\n removeBattleConfirmText: 'Are you sure you want to remove this game?',\n removeRetro: 'Remove Retro',\n removeRetroConfirmText: 'Are you sure you want to remove this retro?',\n removeStoryboard: 'Remove Storyboard',\n removeStoryboardConfirmText:\n 'Are you sure you want to remove this storyboard?',\n removeUser: 'Remove User',\n removeUserConfirmText: 'Are you sure you want to remove this user?',\n requestVerifyEmail: 'Request Verification Email',\n requestVerifyEmailFailure: 'Error attempting to send Verification Email',\n requestVerifyEmailSuccess: 'Verification Email requested, watch your inbox',\n retro: 'Retro',\n retroActionCommentAddError: 'error adding retro action comment',\n retroActionCommentDeleteError: 'error deleting retro action comment',\n retroActionCommentEditError: 'error editing retro action comment',\n retroActionItems: 'Retro Action Items',\n retroAddError: 'Error attempting to add retro.',\n retroAddSuccess: 'Retro added successfully.',\n retroDeleted: 'Retro deleted',\n retroFeedbackConcealed: 'Feedback Concealed',\n retroFeedbackHidden: 'Feedback Hidden',\n retroImprovePlaceholder: 'What needs improvement...',\n retroItems: 'Retro Items',\n retroJoinError: 'Error joining retro, refresh and try again.',\n retroMaxVotesPerUserLabel: 'Max Group Votes (per User)',\n retroName: 'Retro Name',\n retroNamePlaceholder: 'Enter a retro name',\n retroQuestionPlaceholder: 'I want to ask...',\n retroRemoveError: 'Error attempting to remove retro.',\n retroRemoveSuccess: 'Retro removed successfully.',\n retros: 'Retros',\n retroWorkedPlaceholder: 'What worked well...',\n role: 'Role',\n rolePlaceholder: 'Select users role',\n save: 'Save',\n search: 'Search',\n searchLengthError: 'Search value must be at least 3 characters',\n selectTeam: 'Select a Team',\n selfHostedDesc:\n 'Alternatively you can {linkOpen}run it on your own server{linkClose}.',\n sessionDuplicate: 'Duplicate game session exists for your ID',\n showActiveBattles: 'Show Active Games',\n showActiveRetros: 'Show active retros',\n showActiveStoryboards: 'Show active storyboards',\n showBlockedCheckins: 'Show only checkins requiring discussion',\n showCompletedActionItems: 'Show Completed Action Items',\n showVoters: 'Show Voters',\n skipped: 'Skipped',\n spectator: 'Spectator',\n storyboard: 'Storyboard',\n storyboardAddColumn: 'Add Column',\n storyboardAddError: 'Error attempting to add storyboard.',\n storyboardAddGoal: 'Add Goal',\n storyboardAddStoryToColumn: 'Add Story to Column',\n storyboardAddSuccess: 'Storyboard added successfully.',\n storyboardColumns: 'Storyboard Columns',\n storyboardDeleted: 'Storyboard deleted',\n storyboardEditColumn: 'Edit Column',\n storyboardGoalName: 'Goal name',\n storyboardGoalNamePlaceholder: 'Enter a goal name',\n storyboardGoals: 'Storyboard Goals',\n storyboardPersonas: 'Storyboard Personas',\n storyboardRemoveError: 'Error attempting to remove storyboard.',\n storyboardRemoveSuccess: 'Storyboard removed successfully.',\n storyboards: 'Storyboards',\n storyboardStories: 'Storyboard Stories',\n team: 'Team',\n teamCheckins: 'Team Checkins',\n teamCreate: 'Create Team',\n teamCreateError: 'Error attempting to create team.',\n teamCreateSuccess: 'Team created successfully.',\n teamDeleteError: 'Error attempting to delete team',\n teamDeleteSuccess: 'Team deleted successfully.',\n teamGetBattlesError: 'Error getting team games',\n teamGetError: 'Error getting team',\n teamGetRetroActionsError: 'error getting retro actions',\n teamGetRetrosError: 'Error getting team retros',\n teamGetStoryboardsError: 'Error getting team storyboards',\n teamGetUsersError: 'Error getting team users',\n teamName: 'Team Name',\n teamNamePlaceholder: 'Enter an team name',\n teams: 'Teams',\n teamSave: 'Save Team',\n teamUserRequiredToCheckin: 'User must be in team to check in',\n teamUserRequiredToComment: 'User must be in team to comment',\n today: 'Today',\n todayPlaceholder: 'Today I will...',\n totalPoints: 'Total',\n totalVotes: 'Total Votes',\n type: 'Type',\n unknownWarrior: 'Unknown Player',\n unpointed: 'Unpointed ({count})',\n updateActionItemError: 'Error updating action item',\n updateActionItemSuccess: 'Action item updated successfully',\n updateAlertError: 'Error encountered updating alert',\n updateAlertSuccess: 'Alert updating successfully',\n updateCheckinError: 'Error updating check in',\n updateComment: 'Update Comment',\n userAdd: 'Add User',\n userAddError: 'Error attempting to add user.',\n userAddSuccess: 'User added successfully.',\n userEmail: 'User Email',\n userEmailPlaceholder: 'Enter the users email',\n userName: 'User Name',\n userRemoveError: 'Error attempting to remove user.',\n userRemoveSuccess: 'User removed successfully.',\n users: 'Users',\n verifyAccount: 'Verify Account',\n verifyAccountFailedError:\n 'Something went wrong verifying your account, perhaps this link expired or was already used.',\n verifyAccountFailedTitle: 'Verification Failed',\n verifyAccountLoading: 'Verifying Account...',\n verifyAccountVerifiedThanks: 'Thanks for verifying your email.',\n verifyAccountVerifiedTitle: 'Account Verified',\n view: 'View',\n vote: 'Vote',\n voteCount: 'Vote Count',\n votePhaseDescription: \"Vote for the groups you'd like to discuss most\",\n voteResultsAverage: 'Average',\n voteResultsHighest: 'Highest',\n votingFinish: 'Finish Voting',\n votingLocked: 'Voting Locked',\n votingRestart: 'Restart Voting',\n warriorCreate: 'Create User',\n warriorInvite: 'Invite a Player',\n warriorNudge: 'Nudge',\n works: 'Works',\n writeCommentPlaceholder: 'Write a comment...',\n yesterday: 'Yesterday',\n yesterdayPlaceholder: 'Yesterday I...',\n yourRetros: 'Your Retros',\n yourStoryboards: 'Your Storyboards',\n addPlan: 'Add Story',\n battleNamePlaceholder: 'Enter a game name',\n autoFinishVotingLabel: 'Auto Finish Voting when all Players have voted',\n averageRoundingOptions: {\n ceil: 'Ceil',\n floor: 'Floor',\n round: 'Round',\n },\n apiKeyCreateButton: 'Create API Key',\n apiKeyPrefix: 'Key Prefix',\n lastUpdated: 'Last Updated',\n apiKeysErrorRetrieving: 'Failed to get API keys',\n apiKeyDeleteSuccess: 'API Key deleted',\n apiKeyDeleteFailed: 'Failed to delete API Key',\n apiKeyUpdateSuccess: 'API Key updated',\n apiKeyUpdateFailed: 'Failed to update API Key',\n deactivate: 'Deactivate',\n profileErrorRetrieving: 'Error getting your profile',\n profileErrorUpdating: 'Error encountered updating your profile',\n profileUpdateSuccess: 'Profile updated',\n passwordUpdated: 'Password updated.',\n passwordUpdateError: 'Error encountered attempting to update password',\n profileDeleteError: 'Error encountered attempting to delete your account.',\n profileTitle: 'Your Profile',\n profile: 'Profile',\n updatePassword: 'Update Password',\n deleteAccount: 'Delete Account',\n deleteAccountWarningStatement:\n 'Are you sure you want to delete your account?',\n deleteConfirmButton: 'Confirm Delete',\n apiKeyNameInvalid: 'Please enter a key name',\n apiKeyCreateSuccess:\n 'New Api Key {keyName} created and {onlyNowOpen}it will be displayed only now{onlyNowClose}',\n apiKeyStoreWarning:\n 'Please store it somewhere safe because as soon as you navigate away from this page, we will not be able to retrieve or restore this generated token.',\n apiKeyLimitReached: 'You have the max number of API keys allowed.',\n apiKeyUnverifiedUser: 'Only verified registered users can create API keys.',\n apiKeyCreateFailed: 'Failed to create API Key',\n apiKeyName: 'Key Name',\n apiKeyNamePlaceholder: 'Enter a Key Name',\n create: 'Create',\n close: 'Close',\n country: 'Country',\n company: 'Company',\n verified: 'Verified',\n registeredUsers: 'Registered Users',\n myBattles: 'My Games',\n createBattle: 'Create Game',\n countPlansPointed: '{totalPointed} of {totalPlans} stories pointed',\n myBattlesError: 'Error finding your games',\n warriorJoined: '{name} has joined the game',\n warriorRetreated: '{name} has left the game',\n planSkipped: 'Story skipped',\n warriorVoted: '{name} has voted',\n warriorRetractedVote: '{name} has retracted vote',\n battleDeleted: 'Game deleted',\n warriorNudgeMessage: 'pst... {name}, waiting on you to vote.',\n battle: 'Game',\n warriors: 'Players',\n battleSocketReconnecting: 'Ooops reloading Game...',\n battleSocketError: 'Error joining game refresh and try again.',\n battleLoading: 'Loading Game...',\n votingNotStarted: 'Voting not started',\n password: 'Password',\n passwordPlaceholder: 'Enter a password',\n yourPasswordPlaceholder: 'Enter your password',\n confirmPassword: 'Confirm Password',\n confirmPasswordPlaceholder: 'Confirm your password',\n update: 'Update',\n reset: 'Reset',\n passwordResetError: 'Error encountered attempting to reset password',\n resetPassword: 'Reset Password',\n registerAsGuest: 'Register as Guest',\n registrationDisabled: 'Registration is disabled.',\n userNamePlaceholder: 'Enter your name',\n guestRegisterError: 'Error encountered trying to register as guest',\n registerError: 'Error encountered trying to register account',\n enlistToBattle: 'Enlist to Battle',\n loginForBattle: 'or {loginOpen}Login{loginClose} to join the Game',\n yourNamePlaceholder: 'Enter your name',\n createAccountFormTitle:\n 'Create an Account {optionalOpen}(optional){optionalClose}',\n sendResetPasswordSuccess: 'Password reset instructions sent to {email}',\n sendResetPasswordError: 'Error encountered attempting to send password reset',\n chooseCountryPlaceholder: 'Choose your country (optional)',\n locale: 'Locale',\n companyPlaceholder: 'Enter your company (optional)',\n jobTitle: 'Job Title',\n jobTitlePlaceholder: 'Enter your job title (optional)',\n enableBattleNotifications: 'Enable game notifications',\n avatar: 'Avatar',\n updateProfile: 'Update Profile',\n guestUsers: 'Guest Users',\n maintenance: 'Maintenance',\n cleanGuests: 'Clean Guests older than {daysOld} days',\n cleanBattles: 'Clean Games older than {daysOld} days',\n chooseLocalePlaceholder: 'Choose your preferred locale (optional)',\n importPlans: 'Import Stories',\n selectFile: 'Select file...',\n theme: 'Theme',\n assignees: 'Assignees',\n assigneeSelectPlaceholder: 'Select an assignee to add',\n assigneeAdd: 'Add Assignee',\n allStoryWithCount: 'All ({count})',\n userUpdate: 'Update User',\n userUpdateSuccess: 'Successfully updated user.',\n userUpdateError: 'Error updating user.',\n userInvites: 'User Invites',\n userInviteSent: 'User invite sent',\n userInviteConfirmDelete: 'Are you sure you want to delete this user invite?',\n userInviteDelete: 'Delete Invite',\n expireDate: 'Expire Date',\n addUserWillInviteNotFoundFieldNote:\n 'If user is not registered an invite to register and join the {pageType} will be sent.',\n inviteUserFieldNote: 'An invite to join the {pageType} will be sent.',\n requiresOrganizationMember: 'User must already be in Organization.',\n teamUpdateSuccess: 'Team updated successfully',\n teamUpdateError: 'Error updating Team',\n orgUpdateSuccess: 'Organization updated successfully',\n orgUpdateError: 'Error updating Organization',\n deptUpdateSuccess: 'Department updated successfully',\n deptUpdateError: 'Error updating Department',\n hideVoterIdentity: 'Hide Voter Identity',\n storyboardName: 'Storyboard Name',\n storyboardNamePlaceholder: 'Enter a storyboard name',\n retroPhaseTimeLimitMinLabel: 'Brainstorm Phase time limit in minutes',\n phaseAutoAdvanceLabel: 'Automatically advance phases',\n removeOnlyFacilitatorError: \"Can't remove the only facilitator\",\n noGamesFound: 'No games found, try creating one.',\n noRetrosFound: 'No retros found, try creating one.',\n noStoryboardsFound: 'No storyboards found, try creating one.',\n retroDescription:\n 'A sprint retrospective is a review conducted after a sprint that plays a key role in the Agile methodology. A sprint retrospective aims to determine what went well and where you had problems and identify areas where you can improve.',\n pokerDescription:\n 'Scrum poker, also known as “planning poker” and “pointing poker”, is a gamified technique that development teams use to guess the effort of project management tasks. These estimations are based on the entire group’s input and consensus, making them more engaging and accurate than other methods.',\n storyboardDescription:\n 'User story mapping (storyboard) is a visualization of the journey a customer takes with a product, from beginning to end. It includes all the tasks they’d typically complete as part of that journey.',\n estimationScaleNamePlaceholder: 'Enter scale name',\n description: 'Description',\n estimationScaleDescriptionPlaceholder: 'Enter scale description',\n scaleType: 'Scale Type',\n estimationScaleTypePlaceholder: 'Select scale type',\n scaleValues: 'Scale Values',\n estimationScaleValuesPlaceholder: 'Enter comma-separated values',\n estimationScaleValuesHelp:\n 'Enter values separated by commas (e.g., 1, 2, 3, 5, 8)',\n estimationScaleIsPublic: 'Make this scale public',\n estimationScaleDefault: 'Set as default scale',\n estimationScaleSave: 'Save Scale',\n estimationScales: 'Estimation Scales',\n estimationScaleCreate: 'Create Estimation Scale',\n estimationScaleCreateSuccess: 'Estimation scale successfully created',\n estimationScaleCreateError: 'Error creating estimation scale',\n estimationScaleUpdateSuccess: 'Estimation scale successfully updated',\n estimationScaleUpdateError: 'Error updating estimation scale',\n estimationScaleRemoveSuccess: 'Estimation scale successfully removed',\n estimationScaleRemoveError: 'Error removing estimation scale',\n removeEstimationScaleConfirmText:\n 'Are you sure you want to remove this estimation scale?',\n removeEstimationScale: 'Remove Estimation Scale',\n yes: 'Yes',\n no: 'No',\n isPublic: 'Public',\n default: 'Default',\n publicEstimationScales: 'Public Estimation Scales',\n organizationEstimationScales: 'Organization Estimation Scales',\n teamEstimationScales: 'Team Estimation Scales',\n allowCumulativeVotingLabel:\n 'Allow Cumulative Voting (more than 1 vote per item group)',\n activeSubscriptions: 'Active Subscriptions',\n retroTemplates: 'Retro Templates',\n publicRetroTemplates: 'Public Retro Templates',\n organizationRetroTemplates: 'Organization Retro Templates',\n teamRetroTemplates: 'Team Retro Templates',\n retroTemplateNamePlaceholder: 'Enter template name',\n retroTemplateDescriptionPlaceholder: 'Enter template description',\n format: 'Format',\n retroTemplateIsPublic: 'Make this template public',\n retroTemplateSave: 'Save Template',\n retroTemplateCreate: 'Create Retrospective Template',\n retroTemplateCreateSuccess: 'Retrospective template successfully created',\n retroTemplateCreateError: 'Error creating retrospective template',\n retroTemplateUpdateSuccess: 'Retrospective template successfully updated',\n retroTemplateUpdateError: 'Error updating retrospective template',\n retroTemplateRemoveSuccess: 'Retrospective template successfully removed',\n retroTemplateRemoveError: 'Error removing retrospective template',\n removeRetroTemplateConfirmText:\n 'Are you sure you want to remove this retrospective template?',\n removeRetroTemplate: 'Remove Retrospective Template',\n retroTemplateDefault: 'Set as default template',\n};\n\nexport default fa;\n","import type { Translation } from '../i18n-types';\n\nconst fr: Translation = {\n userGuide: 'Guide utilisateur',\n privacyPolicy: 'Politique de confidentialité',\n termsConditions: \"Conditions d'utilisation\",\n support: 'Support',\n abandoned: 'Abandonné',\n actionComments: \"Commentaires d'action\",\n actionItem: \"Élément d'action\",\n actionItemPlaceholder: \"Élément d'action...\",\n actionItems: \"Éléments d'action\",\n actionPhaseDescription:\n \"Ajoutez des éléments d'action, vous ne pouvez plus regrouper ou voter des commentaires\",\n actions: 'Actions',\n activate: 'Activer',\n active: 'Actif',\n activeRetros: 'Rétros actives',\n activeRetroUsers: 'Utilisateurs actifs pour la rétro',\n activeStoryboards: 'Storyboards actifs',\n activeStoryboardUsers: 'Utilisateurs actifs pour le storyboard',\n addComment: 'Ajouter un commentaire',\n addPersona: 'Ajouter une persona',\n admin: 'Admin',\n adminCleanOldRetros: 'Nettoyer les retros de plus de {daysOld} jours',\n adminCleanOldStoryboards:\n 'Nettoyer les storyboards de plus de {daysOld} jours',\n adminPageAdmin: 'Administration',\n adminPageAlerts: 'Alertes',\n adminPageApi: 'Clés API',\n adminPageOrganizations: 'Organisations',\n adminPageTeams: 'Équipes',\n adminPageUsers: 'Utilisateurs',\n adminPageSubscriptions: 'Abonnements',\n deleteSubscriptionConfirmation:\n 'Êtes-vous sûr de vouloir supprimer cet abonnement ?',\n deleteSubscription: \"Supprimer l'abonnement\",\n alertAllowDismiss: 'Autoriser la fermeture',\n alertContent: \"Contenu de l'alerte\",\n alertContentPlaceholder: \"Entrez le contenu de l'alerte\",\n alertCreate: 'Créer une alerte',\n alertDelete: \"Supprimer l'alerte\",\n alertDeleteConfirmation: 'Êtes-vous sûr de vouloir supprimer cette alerte ?',\n alertNamePlaceholder: \"Entrez un nom d'alerte\",\n alertRegisteredOnly: 'Seulement pour les inscrits',\n alerts: 'Alertes',\n alertSave: \"Enregistrer l'alerte\",\n alertTypePlaceholder: \"Sélectionnez un type d'alerte\",\n allVotesIn: 'Tous les votes ont été exprimés',\n apiDocumentation: 'Documentation API',\n apikeyCopyFailure: 'Impossible de copier la clé API dans le presse-papiers',\n apikeyCopySuccess: 'Clé API copiée dans le presse-papiers',\n apiKeys: 'Clés API',\n applicationStatsError:\n \"Erreur lors de la récupération des statistiques de l'application\",\n appName: 'Thunderdome',\n appPreviewAlt: 'Aperçu de Thunderdome, expérience UI de Poker Planning Agile',\n appSubtitle: 'Application Open Source de Poker Planning Agile',\n appVersion: 'Version {version}',\n associateTeam: 'Equipe associée',\n authError: \"Erreur lors de la tentative d'authentification de l'utilisateur\",\n autoFinishVoting: 'Fin automatique du vote',\n avatarAltText: \"Emplacement d'avatar\",\n back: 'Retour',\n battleAbandon: 'Abandonner le jeu',\n battleCreate: 'Créer un jeu',\n battleDelete: 'Supprimer le jeu',\n battleEdit: 'Modifier le jeu',\n battleEditPointsDisabled:\n 'Le vote est actif, impossible de modifier les points autorisés.',\n battleJoin: 'Rejoindre le jeu',\n battleName: 'Nom du jeu',\n battleRemoveError: 'Erreur lors de la tentative de suppression du jeu.',\n battleRemoveSuccess: 'Jeu supprimé avec succès.',\n battles: 'Jeux',\n battlesActive: 'Jeux actifs',\n battlesActiveUsers: 'Utilisateurs actifs pour le jeu',\n becomeFacilitator: 'Devenir facilitateur',\n becomeLeader: 'Devenir leader',\n becomeParticipant: 'Devenir participant',\n becomeSpectator: 'Devenir spectateur',\n blocked: 'Bloqué',\n blockers: 'Blocages',\n blockersPlaceholder: 'Je suis bloqué par...',\n brainstorm: 'Brainstorming',\n brainstormPhaseDescription: 'Ajoutez vos commentaires ci-dessous',\n brainstormPhaseFeedbackVisibility:\n 'Visibilité des retours de la phase de brainstorming',\n brainstormVisibilityLabelConcealed: 'Retours dissimulés',\n brainstormVisibilityLabelHidden: 'Retours cachés',\n brainstormVisibilityLabelVisible: 'Retours visibles',\n cancel: 'Annuler',\n cannotBeUndone: 'Cela ne peut pas être annulé.',\n checkIn: 'Enregistrement',\n checkinCommentDeleteError:\n \"Erreur lors de la suppression du commentaire sur l'enregistrement\",\n checkinCommentError:\n \"Erreur lors de l'ajout du commentaire sur l'enregistrement\",\n checkinError: \"Erreur lors de l'enregistrement\",\n checkinMeetYesterdayGoalsQuestion: \"Avez-vous atteint les objectifs d'hier ?\",\n checkins: 'Enregistrements',\n colorLegend: 'Légende des couleurs',\n colorLegendNotSpecified: 'légende non spécifiée',\n comment: 'Commentaire',\n comments: 'Commentaires',\n completed: 'Terminé',\n conciseVotingResults: 'Résumé des résultats de vote',\n confirmDeleteRetro:\n 'Êtes-vous sûr de vouloir supprimer cette rétrospective ?',\n createAccount: 'Créer un compte',\n createAccountTagline: \"Vous n'avez pas de compte ?\",\n createAlertError: \"Erreur lors de la création de l'alerte\",\n createAlertSuccess: 'Alerte créée avec succès',\n createARetro: 'Créer une rétro',\n createAStoryboard: 'Créer un storyboard',\n createBattleError: 'Erreur lors de la création du jeu',\n createOrgError: \"Erreur lors de la tentative de création de l'organisation\",\n createRetro: 'Créer une rétro',\n createRetroErrorMessage: 'Erreur lors de la création de la rétro',\n createStoryboard: 'Créer un storyboard',\n createUserError: \"Erreur lors de la création de l'utilisateur\",\n customizableBattleOptions: 'Options de jeu personnalisables',\n dateCreated: 'Date de création',\n dateUpdated: 'Date de mise à jour',\n delete: 'Supprimer',\n deleteActionItemError: \"Erreur lors de la suppression de l'élément d'action\",\n deleteActionItemSuccess: \"Élément d'action supprimé avec succès\",\n deleteAlertError: \"Erreur lors de la tentative de suppression de l'alerte\",\n deleteAlertSuccess: 'Alerte supprimée avec succès',\n deleteBattle: 'Supprimer le jeu',\n deleteBattleConfirmText: 'Êtes-vous sûr de vouloir supprimer ce jeu ?',\n deleteBattleError: 'erreur lors de la suppression du jeu',\n deleteCheckinError: \"Erreur lors de la suppression de l'enregistrement\",\n deleteDepartment: 'Supprimer le département',\n deleteDepartmentConfirmText:\n 'Êtes-vous sûr de vouloir supprimer ce département ?',\n deleteOrganization: \"Supprimer l'organisation\",\n deleteOrganizationConfirmText:\n 'Êtes-vous sûr de vouloir supprimer cette organisation ?',\n deleteRetro: 'Supprimer la rétro',\n deleteRetroErrorMessage: 'erreur lors de la suppression de la rétro',\n deleteStoryboard: 'Supprimer le storyboard',\n deleteStoryboardErrorMessage: 'erreur lors de la suppression du storyboard',\n deleteTeam: \"Supprimer l'équipe\",\n deleteTeamConfirmText: 'Êtes-vous sûr de vouloir supprimer cette équipe ?',\n deleteUserError: \"Erreur lors de la suppression de l'utilisateur\",\n demote: 'Rétrograder',\n demoteUserError: \"Erreur lors de la rétrogradation de l'utilisateur\",\n department: 'Département',\n departmentCreate: 'Créer un département',\n departmentCreateError:\n 'Erreur lors de la tentative de création du département',\n departmentDeleteError:\n 'Erreur lors de la tentative de suppression du département',\n departmentDeleteSuccess: 'Département supprimé avec succès.',\n departmentGetError: 'Erreur lors de la récupération du département',\n departmentName: 'Nom du département',\n departmentNamePlaceholder: 'Entrez un nom de département',\n departments: 'Départements',\n departmentSave: 'Enregistrer le département',\n departmentTeamsGetError:\n 'Erreur lors de la récupération des équipes du département',\n departmentUsersGetError:\n 'Erreur lors de la récupération des utilisateurs du département',\n discuss: 'Discuter',\n discussPlaceholder: 'Je voudrais discuter...',\n done: 'Terminé',\n duplicateRetroSession: 'Une session de rétro en double existe pour votre ID',\n duplicateStoryboardSession:\n 'Une session de storyboard en double existe pour votre ID',\n edit: 'Modifier',\n editColorLegend: 'Modifier la légende',\n editRetro: 'Modifier la rétro',\n editStoryboard: 'Modifier le storyboard',\n email: 'Mail',\n enterPasscode: \"Entrez le code d'accès...\",\n enterYourEmail: 'Entrez votre mail',\n execute: 'Exécuter',\n export: 'Exporter',\n facilitator: 'Facilitateur',\n facilitatorCode: 'Code facilitateur',\n facilitatorCodeOptional: 'Code facilitateur (optionnel)',\n facilitatorCodePlaceholder: 'Entrez un code facilitateur optionnel',\n finalPoints: 'Points finaux',\n flag: 'Indicateur',\n footerAuthoredBy:\n 'est conçu et développé par {authorOpen}Steven Weathers{authorClose}.',\n footerLicense:\n 'Le code source est sous licence {licenseOpen}Apache 2.0{licenseClose}.',\n forgotPassword: 'Mot de passe oublié ?',\n forgotPasswordSubtext:\n 'Ne vous inquiétez pas ! Entrez simplement votre mail et nous vous enverrons les instructions pour réinitialiser votre mot de passe.',\n returnToLogin: 'Retour sur la page de connexion',\n getAlertsError: 'Erreur lors de la récupération des alertes',\n getApikeysError: 'Erreur lors de la récupération des clés API',\n getBattleError: 'Erreur lors de la récupération du jeu',\n getBattlesError: 'Erreur lors de la récupération des jeux',\n getCheckinsError: 'Erreur lors de la récupération des enregistrements',\n getOrganizationsError: 'Erreur lors de la récupération des organisations',\n getRetroErrorMessage: 'erreur lors de la récupération de la rétro',\n getRetrosErrorMessage: 'erreur lors de la récupération des rétros',\n getStoryboardErrorMessage: 'erreur lors de la récupération du storyboard',\n getStoryboardsErrorMessage: 'erreur lors de la récupération des storyboards',\n getTeamsError: 'Erreur lors de la récupération des équipes',\n getUserError: \"Erreur lors de la récupération de l'utilisateur\",\n getUsersError: 'Erreur lors de la récupération des utilisateurs',\n goalsMet: 'Objectifs atteints',\n group: 'Groupe',\n groupName: 'Nom du groupe',\n groupPhaseDescription:\n 'Faites glisser et déposez les commentaires pour les regrouper',\n hostedDesc:\n '{linkOpen}Thunderdome.dev{linkClose} est un service hébergé gratuit (SaaS) sans publicités.',\n hostedOrSelfHosted: 'Service hébergé ou auto-hébergé',\n importCsv: \"Importer des stories à partir d'un fichier CSV\",\n importCsvFileBadFileTypeError: 'Erreur de type de fichier incorrect',\n importCsvFileReadFileError: 'Erreur de lecture du fichier',\n importJiraXML: \"Importer des stories à partir d'un XML Jira\",\n importJiraXMLBadFileTypeError: 'Erreur de type de fichier incorrect',\n importJiraXMLReadFileError: 'Erreur de lecture du fichier',\n incorrectPassCode: \"Code d'accès incorrect\",\n inviteLinkCopyFailure:\n \"Impossible de copier le lien d'invitation dans le presse-papiers\",\n inviteLinkCopySuccess: \"Lien d'invitation copié dans le presse-papiers\",\n jiraXmlImport: 'Import XML Jira',\n joinCodeCopyFailure:\n \"Impossible de copier le code d'accès dans le presse-papiers\",\n joinCodeCopySuccess: \"Code d'accès copié dans le presse-papiers\",\n joinCodeLabelOptional: \"Code d'accès (optionnel)\",\n joinCodePlaceholder: \"Entrez un code d'accès\",\n joinRetro: 'Rejoindre la rétro',\n joinStoryboard: 'Rejoindre le storyboard',\n joinStoryboardError:\n 'Erreur lors de la connexion au storyboard, actualisez et réessayez.',\n landingCountries: 'Utilisateurs dans plus de {count} pays',\n landingFeatureOpenSourceText:\n 'Consultez le {repoOpen}dépôt Github{repoClose} pour demander ou contribuer à des améliorations, des traductions et des corrections de bugs ou pour {donateOpen}faire un don{donateClose}.',\n landingFeatureOpenSourceTitle: 'Open Source',\n landingSalesPitch:\n \"Collaboration d'équipe à distance avec estimation de stories Agile, rétrospective de sprint, story mapping et enregistrement d'équipe asynchrone.\",\n landingTitle: 'Thunderdome est une application de Poker Planning Agile',\n lastActive: 'Dernière activité',\n leader: 'Leader',\n leaderPasscode: 'Code leader',\n leaveRetro: 'Quitter la rétro',\n leaveStoryboard: 'Quitter le storyboard',\n legendRetroPlaceholder: 'Entrez une légende de couleur',\n loadingRetro: 'Chargement de la rétro...',\n loadingStoryboard: 'Chargement du storyboard...',\n login: 'Connexion',\n loginForRetro:\n 'ou {loginOpen}connectez-vous{loginClose} pour rejoindre la rétro',\n loginForStoryboard:\n 'ou {loginOpen}connectez-vous{loginClose} pour rejoindre le storyboard',\n logout: 'Déconnexion',\n logoutError: \"Erreur lors de la tentative de déconnexion de l'utilisateur\",\n makeFacilitator: 'Nommer un facilitateur',\n mfa2faLabel: 'Authentification 2FA/MFA',\n mfa2faRemove: 'Supprimer FA/MFA',\n mfa2faRemoveFailure: 'Échec de la suppression 2FA/MFA',\n mfa2faRemoveSuccess: '2FA/MFA supprimé avec succès',\n mfa2faRemoveText: 'Êtes-vous sûr de vouloir supprimer 2FA/MFA ?',\n mfa2faSetup: 'Configurer 2FA/MFA',\n mfaAuthError: \"Erreur de validation du jeton d'authentification\",\n mfaConfirmToken: 'Confirmer le jeton',\n mfaGenerateFailed: \"échec de l'initialisation de la configuration 2FA/MFA\",\n mfaSecretKeyLabel: 'Clé secrète',\n mfaSetupFailed: 'échec de la validation du jeton de configuration 2FA/MFA',\n mfaSetupIntro:\n \"Scannez le code QR suivant avec une application d'authentification (tel que Google Authenticator ou Authy) puis entrez le jeton généré.\",\n mfaSetupSuccess: '2FA/MFA activé avec succès',\n mfaTokenLabel: \"Jeton d'authentification\",\n mfaTokenPlaceholder: \"Entrez le jeton de l'application d'authentification\",\n myRetros: 'Mes rétros',\n myStoryboards: 'Mes storyboards',\n name: 'Nom',\n needsImprovement: \"Besoin d'amélioration\",\n nextPhase: 'Phase suivante',\n noComments: 'Pas de commentaires...',\n oldBattleCleanError: 'Erreur lors du nettoyage des jeux',\n oldGuestsCleanError: 'Erreur lors du nettoyage des invités',\n oldRetrosCleanError: 'Erreur lors du nettoyage des rétros',\n oldStoryboardsCleanError: 'Erreur lors du nettoyage des storyboards',\n openSource: 'Open Source',\n optional: '(Optionnel)',\n optionalLeadercodePlaceholder: 'Code leader optionnel pour devenir leader',\n optionalPasscodePlaceholder: \"Code d'accès optionnel\",\n organization: 'Organisation',\n organizationCreate: 'Créer une organisation',\n organizationDeleteError:\n \"Erreur lors de la tentative de suppression de l'organisation\",\n organizationDeleteSuccess: 'Organisation supprimée avec succès.',\n organizationGetDepartmentsError:\n \"Erreur lors de la récupération des départements de l'organisation\",\n organizationGetError: \"Erreur lors de la récupération de l'organisation\",\n organizationGetTeamsError:\n \"Erreur lors de la récupération des équipes de l'organisation\",\n organizationGetUsersError:\n \"Erreur lors de la récupération des utilisateurs de l'organisation\",\n organizationName: \"Nom de l'organisation\",\n organizationNamePlaceholder: \"Entrez un nom d'organisation\",\n organizations: 'Organisations',\n organizationsAndTeams: 'Organisations et équipes',\n organizationSave: \"Enregistrer l'organisation\",\n owner: 'Propriétaire',\n participation: 'Participation',\n passCode: \"Code d'accès\",\n passCodeRequired: \"Code d'accès requis\",\n personas: 'Personas',\n planAcceptanceCriteria: \"Critères d'acceptation\",\n planAcceptanceCriteriaPlaceholder: \"Entrez les critères d'acceptation\",\n planAdd: 'Ajouter des stories',\n planDescription: 'Description',\n planDescriptionPlaceholder: 'Entrez une description',\n planLink: 'Lien',\n planLinkInvalid:\n \"Le lien n'est pas une URL absolue valide, par exemple qui inclut le protocole (HTTP/HTTPS)\",\n planLinkPlaceholder: 'Entrez un lien vers la story',\n planName: 'Nom de la story',\n planNamePlaceholder: 'Entrez un nom de story',\n planPriority: 'Priorité',\n planPriorityBlocker: 'Bloquant',\n planPriorityHigh: 'Elevé',\n planPriorityHighest: 'La plus élevée',\n planPriorityLow: 'Faible',\n planPriorityLowest: 'La plus faible',\n planPriorityMedium: 'Moyen',\n planPriorityPlaceholder: 'Sélectionnez une priorité',\n planReferenceId: 'ID de référence',\n planReferenceIdPlaceholder: 'Entrez un ID de référence',\n plans: 'Stories',\n planSkip: 'Passer la story',\n planType: 'Type de story',\n planTypeBug: 'Bug',\n planTypeEpic: 'Épopée',\n planTypePlaceholder: 'Types',\n planTypeSpike: 'Spike',\n planTypeStory: 'Story',\n planTypeSubtask: 'Sous-tâche',\n planTypeTask: 'Tâche',\n pointAverageRounding: 'Moyenne des points arrondie',\n pointed: 'Estimé ({count})',\n points: 'Points',\n pointValuesAllowed: 'Valeurs de points autorisées',\n postComment: 'Poster un commentaire',\n primeDirective: 'Directive principale',\n promote: 'Promouvoir',\n promoteUserError: \"Erreur lors de la promotion de l'utilisateur\",\n questions: 'Questions',\n register: \"s'inscrire\",\n reloadingRetro: 'Oups, rechargement de la rétro...',\n reloadingStoryboard: 'Oups, rechargement du storyboard...',\n remove: 'Supprimer',\n removeBattle: 'Supprimer le jeu',\n removeBattleConfirmText: 'Êtes-vous sûr de vouloir supprimer ce jeu ?',\n removeRetro: 'Supprimer la rétro',\n removeRetroConfirmText: 'Êtes-vous sûr de vouloir supprimer cette rétro ?',\n removeStoryboard: 'Supprimer le storyboard',\n removeStoryboardConfirmText:\n 'Êtes-vous sûr de vouloir supprimer ce storyboard ?',\n removeUser: \"Supprimer l'utilisateur\",\n removeUserConfirmText: 'Êtes-vous sûr de vouloir supprimer cet utilisateur ?',\n requestVerifyEmail: \"Demander l'envoi d'un mail de vérification\",\n requestVerifyEmailFailure: \"Erreur lors de l'envoi du mail de vérification\",\n requestVerifyEmailSuccess:\n 'Mail de vérification envoyé, vérifiez votre boîte de réception',\n retro: 'Rétro',\n retroActionCommentAddError:\n \"Erreur lors de l'ajout du commentaire sur l'action de rétro\",\n retroActionCommentDeleteError:\n \"Erreur lors de la suppression du commentaire sur l'action de rétro\",\n retroActionCommentEditError:\n \"Erreur lors de la modification du commentaire sur l'action de rétro\",\n retroActionItems: \"Éléments d'action de rétro\",\n retroAddError: \"Erreur lors de l'ajout de la rétro.\",\n retroAddSuccess: 'Rétro ajoutée avec succès.',\n retroDeleted: 'Rétro supprimée',\n retroFeedbackConcealed: 'Retour dissimulé',\n retroFeedbackHidden: 'Retour caché',\n retroImprovePlaceholder: 'Ce qui doit être amélioré...',\n retroItems: 'Éléments de rétro',\n retroJoinError:\n 'Erreur lors de la connexion à la rétro, actualisez et réessayez.',\n retroMaxVotesPerUserLabel: 'Votes max par groupe (par utilisateur)',\n retroName: 'Nom de la rétro',\n retroNamePlaceholder: 'Entrez un nom de rétro',\n retroQuestionPlaceholder: 'Je veux poser une question...',\n retroRemoveError: 'Erreur lors de la suppression de la rétro.',\n retroRemoveSuccess: 'Rétro supprimée avec succès.',\n retros: 'Rétros',\n retroWorkedPlaceholder: 'Ce qui a bien fonctionné...',\n role: 'Rôle',\n rolePlaceholder: 'Sélectionnez un rôle utilisateur',\n save: 'Enregistrer',\n search: 'Rechercher',\n searchLengthError:\n 'La valeur de recherche doit comporter au moins 3 caractères',\n selectTeam: 'Sélectionnez une équipe',\n selfHostedDesc:\n \"Alternativement, vous pouvez {linkOpen}l'exécuter sur votre propre serveur{linkClose}.\",\n sessionDuplicate: 'Une session de jeu en double existe pour votre ID',\n showActiveBattles: 'Afficher les jeux actifs',\n showActiveRetros: 'Afficher les rétros actives',\n showActiveStoryboards: 'Afficher les storyboards actifs',\n showBlockedCheckins:\n 'Afficher uniquement les enregistrements nécessitant une discussion',\n showCompletedActionItems: \"Afficher les éléments d'action terminés\",\n showVoters: 'Afficher les votants',\n skipped: 'Passé',\n spectator: 'Spectateur',\n storyboard: 'Storyboard',\n storyboardAddColumn: 'Ajouter une colonne',\n storyboardAddError: \"Erreur lors de l'ajout du storyboard.\",\n storyboardAddGoal: 'Ajouter un objectif',\n storyboardAddStoryToColumn: 'Ajouter une story à la colonne',\n storyboardAddSuccess: 'Storyboard ajouté avec succès.',\n storyboardColumns: 'Colonnes du storyboard',\n storyboardDeleted: 'Storyboard supprimé',\n storyboardEditColumn: 'Modifier la colonne',\n storyboardGoalName: \"Nom de l'objectif\",\n storyboardGoalNamePlaceholder: \"Entrez un nom d'objectif\",\n storyboardGoals: 'Objectifs du storyboard',\n storyboardPersonas: 'Personas du storyboard',\n storyboardRemoveError: 'Erreur lors de la suppression du storyboard.',\n storyboardRemoveSuccess: 'Storyboard supprimé avec succès.',\n storyboards: 'Storyboards',\n storyboardStories: 'Stories du storyboard',\n team: 'Équipe',\n teamCheckins: \"Enregistrements de l'équipe\",\n teamCreate: 'Créer une équipe',\n teamCreateError: \"Erreur lors de la création de l'équipe.\",\n teamCreateSuccess: 'Équipe créée avec succès.',\n teamDeleteError: \"Erreur lors de la suppression de l'équipe\",\n teamDeleteSuccess: 'Équipe supprimée avec succès.',\n teamGetBattlesError: \"Erreur lors de la récupération des jeux de l'équipe\",\n teamGetError: \"Erreur lors de la récupération de l'équipe\",\n teamGetRetroActionsError:\n \"Erreur lors de la récupération des actions de rétro de l'équipe\",\n teamGetRetrosError: \"Erreur lors de la récupération des rétros de l'équipe\",\n teamGetStoryboardsError:\n \"Erreur lors de la récupération des storyboards de l'équipe\",\n teamGetUsersError:\n \"Erreur lors de la récupération des utilisateurs de l'équipe\",\n teamName: \"Nom de l'équipe\",\n teamNamePlaceholder: \"Entrez un nom d'équipe\",\n teams: 'Équipes',\n teamSave: \"Enregistrer l'équipe\",\n teamUserRequiredToCheckin:\n \"L'utilisateur doit être dans l'équipe pour s'enregistrer\",\n teamUserRequiredToComment:\n \"L'utilisateur doit être dans l'équipe pour commenter\",\n today: \"Aujourd'hui\",\n todayPlaceholder: \"Aujourd'hui, je vais...\",\n totalPoints: 'Total',\n totalVotes: 'Total des votes',\n type: 'Type',\n unknownWarrior: 'Joueur inconnu',\n unpointed: 'Non-estimé ({count})',\n updateActionItemError: \"Erreur lors de la mise à jour de l'élément d'action\",\n updateActionItemSuccess: \"Élément d'action mis à jour avec succès\",\n updateAlertError: \"Erreur lors de la mise à jour de l'alerte\",\n updateAlertSuccess: 'Alerte mise à jour avec succès',\n updateCheckinError: \"Erreur lors de la mise à jour de l'enregistrement\",\n updateComment: 'Mettre à jour le commentaire',\n userAdd: 'Ajouter un utilisateur',\n userAddError: \"Erreur lors de l'ajout de l'utilisateur.\",\n userAddSuccess: 'Utilisateur ajouté avec succès.',\n userEmail: \"Mail de l'utilisateur\",\n userEmailPlaceholder: \"Entrez le mail de l'utilisateur\",\n userName: \"Nom de l'utilisateur\",\n userRemoveError: \"Erreur lors de la suppression de l'utilisateur.\",\n userRemoveSuccess: 'Utilisateur supprimé avec succès.',\n users: 'Utilisateurs',\n verifyAccount: 'Vérifier le compte',\n verifyAccountFailedError:\n \"Quelque chose s'est mal passé lors de la vérification de votre compte, peut-être que ce lien a expiré ou a déjà été utilisé.\",\n verifyAccountFailedTitle: 'Échec de la vérification',\n verifyAccountLoading: 'Vérification du compte...',\n verifyAccountVerifiedThanks: \"Merci d'avoir vérifié votre mail.\",\n verifyAccountVerifiedTitle: 'Compte vérifié',\n view: 'Voir',\n vote: 'Voter',\n voteCount: 'Nombre de votes',\n votePhaseDescription:\n 'Votez pour les groupes dont vous souhaiteriez discuter plus en détail',\n voteResultsAverage: 'Moyenne',\n voteResultsHighest: 'Le plus élevé',\n votingFinish: 'Terminer le vote',\n votingLocked: 'Vote verrouillé',\n votingRestart: 'Redémarrer le vote',\n warriorCreate: 'Créer un utilisateur',\n warriorInvite: 'Inviter un joueur',\n warriorNudge: 'Secouer',\n works: 'Travaux',\n writeCommentPlaceholder: 'Écrire un commentaire...',\n yesterday: 'Hier',\n yesterdayPlaceholder: \"Hier, j'ai...\",\n yourRetros: 'Vos rétros',\n yourStoryboards: 'Vos storyboards',\n addPlan: 'Ajouter une story',\n battleNamePlaceholder: 'Entrez un nom de jeu',\n autoFinishVotingLabel:\n 'Terminer automatiquement le vote lorsque tous les joueurs ont voté',\n averageRoundingOptions: {\n ceil: 'Par excès',\n floor: 'Par troncature',\n round: 'Par arrondi',\n },\n apiKeyCreateButton: 'Créer une clé API',\n apiKeyPrefix: 'Préfixe de la clé',\n lastUpdated: 'Dernière mise à jour',\n apiKeysErrorRetrieving: 'Échec de la récupération des clés API',\n apiKeyDeleteSuccess: 'Clé API supprimée',\n apiKeyDeleteFailed: 'Échec de la suppression de la clé API',\n apiKeyUpdateSuccess: 'Clé API mise à jour',\n apiKeyUpdateFailed: 'Échec de la mise à jour de la clé API',\n deactivate: 'Désactiver',\n profileErrorRetrieving: 'Erreur lors de la récupération de votre profil',\n profileErrorUpdating: 'Erreur lors de la mise à jour de votre profil',\n profileUpdateSuccess: 'Profil mis à jour',\n passwordUpdated: 'Mot de passe mis à jour.',\n passwordUpdateError:\n 'Erreur lors de la tentative de mise à jour du mot de passe',\n profileDeleteError:\n 'Erreur lors de la tentative de suppression de votre compte.',\n profileTitle: 'Votre profil',\n profile: 'Profil',\n updatePassword: 'Mettre à jour le mot de passe',\n deleteAccount: 'Supprimer le compte',\n deleteAccountWarningStatement:\n 'Êtes-vous sûr de vouloir supprimer votre compte ?',\n deleteConfirmButton: 'Confirmer la suppression',\n apiKeyNameInvalid: 'Veuillez entrer un nom de clé',\n apiKeyCreateSuccess:\n 'Nouvelle clé API {keyName} créée, {onlyNowOpen}elle sera affichée uniquement maintenant{onlyNowClose}',\n apiKeyStoreWarning:\n 'Veuillez la stocker en lieu sûr car dès lors que vous quitterez cette page, nous ne pourrons plus récupérer ou restaurer cette clé générée.',\n apiKeyLimitReached:\n 'Vous avez atteint le nombre maximum de clés API autorisées.',\n apiKeyUnverifiedUser:\n 'Seuls les utilisateurs inscrits et vérifiés peuvent créer des clés API.',\n apiKeyCreateFailed: 'Échec de la création de la clé API',\n apiKeyName: 'Nom de la clé',\n apiKeyNamePlaceholder: 'Entrez un nom pour la clé',\n create: 'Créer',\n close: 'Fermer',\n country: 'Pays',\n company: 'Entreprise',\n verified: 'Vérifié',\n registeredUsers: 'Utilisateurs inscrits',\n myBattles: 'Mes jeux',\n createBattle: 'Créer un jeu',\n countPlansPointed: '{totalPointed} sur {totalPlans} stories estimées',\n myBattlesError: 'Erreur lors de la recherche de vos jeux',\n warriorJoined: '{name} a rejoint le jeu',\n warriorRetreated: '{name} a quitté le jeu',\n planSkipped: 'Story passée',\n warriorVoted: '{name} a voté',\n warriorRetractedVote: '{name} a retiré son vote',\n battleDeleted: 'Jeu supprimé',\n warriorNudgeMessage: 'pst... {name}, nous attendons votre vote.',\n battle: 'Jeu',\n warriors: 'Joueurs',\n battleSocketReconnecting: 'Oups, rechargement du jeu...',\n battleSocketError:\n 'Erreur lors de la connexion au jeu, actualisez et réessayez.',\n battleLoading: 'Chargement du jeu...',\n votingNotStarted: \"Le vote n'a pas commencé\",\n password: 'Mot de passe',\n passwordPlaceholder: 'Entrez un mot de passe',\n yourPasswordPlaceholder: 'Entrez votre mot de passe',\n confirmPassword: 'Confirmer le mot de passe',\n confirmPasswordPlaceholder: 'Confirmez votre mot de passe',\n update: 'Mettre à jour',\n reset: 'Réinitialiser',\n passwordResetError:\n 'Erreur lors de la tentative de réinitialisation du mot de passe',\n resetPassword: 'Réinitialiser le mot de passe',\n registerAsGuest: \"S'inscrire en tant qu'invité\",\n registrationDisabled: \"L'inscription est désactivée.\",\n userNamePlaceholder: 'Entrez votre nom',\n guestRegisterError:\n \"Erreur lors de la tentative d'inscription en tant qu'invité\",\n registerError: \"Erreur lors de la tentative d'inscription\",\n enlistToBattle: \"S'inscrire au jeu\",\n loginForBattle:\n 'ou {loginOpen}connectez-vous{loginClose} pour rejoindre le jeu',\n yourNamePlaceholder: 'Entrez votre nom',\n createAccountFormTitle:\n 'Créer un compte {optionalOpen}(optionnel){optionalClose}',\n sendResetPasswordSuccess:\n 'Instructions de réinitialisation du mot de passe envoyées à {email}',\n sendResetPasswordError:\n \"Erreur lors de la tentative d'envoi de la réinitialisation du mot de passe\",\n chooseCountryPlaceholder: 'Choisissez votre pays (optionnel)',\n locale: 'Langue',\n companyPlaceholder: \"Entrez votre nom d'entreprise (optionnel)\",\n jobTitle: 'Titre du poste',\n jobTitlePlaceholder: 'Entrez votre titre de poste (optionnel)',\n enableBattleNotifications: 'Activer les notifications de jeu',\n avatar: 'Avatar',\n updateProfile: 'Mettre à jour le profil',\n guestUsers: 'Utilisateurs invités',\n maintenance: 'Maintenance',\n cleanGuests: 'Nettoyer les invités de plus de {daysOld} jours',\n cleanBattles: 'Nettoyer les jeux de plus de {daysOld} jours',\n chooseLocalePlaceholder: 'Choisissez votre langue préférée (optionnel)',\n importPlans: 'Importer des stories',\n selectFile: 'Sélectionner un fichier...',\n theme: 'Thème',\n assignees: 'Responsables',\n assigneeSelectPlaceholder: 'Sélectionnez un responsable à ajouter',\n assigneeAdd: 'Ajouter un responsable',\n allStoryWithCount: 'Toutes ({count})',\n userUpdate: \"Mettre à jour l'utilisateur\",\n userUpdateSuccess: 'Utilisateur mis à jour avec succès.',\n userUpdateError: \"Erreur lors de la mise à jour de l'utilisateur.\",\n userInvites: \"Invitations d'utilisateur\",\n userInviteSent: \"Invitation d'utilisateur envoyée\",\n userInviteConfirmDelete:\n \"Êtes-vous sûr de vouloir supprimer cette invitation d'utilisateur ?\",\n userInviteDelete: \"Supprimer l'invitation\",\n expireDate: \"Date d'expiration\",\n addUserWillInviteNotFoundFieldNote:\n \"Si l'utilisateur n'est pas inscrit, une invitation à s'inscrire et à rejoindre le {pageType} sera envoyée.\",\n inviteUserFieldNote: 'Une invitation à rejoindre le {pageType} sera envoyée.',\n requiresOrganizationMember:\n \"L'utilisateur doit déjà être dans l'organisation.\",\n teamUpdateSuccess: 'Équipe mise à jour avec succès',\n teamUpdateError: \"Erreur lors de la mise à jour de l'équipe\",\n orgUpdateSuccess: 'Organisation mise à jour avec succès',\n orgUpdateError: \"Erreur lors de la mise à jour de l'organisation\",\n deptUpdateSuccess: 'Département mis à jour avec succès',\n deptUpdateError: 'Erreur lors de la mise à jour du département',\n hideVoterIdentity: \"Masquer l'identité du votant\",\n storyboardName: 'Nom du storyboard',\n storyboardNamePlaceholder: 'Entrez un nom de storyboard',\n retroPhaseTimeLimitMinLabel:\n 'Limite de temps de la phase de brainstorming en minutes',\n phaseAutoAdvanceLabel: 'Dérouler automatiquement les phases',\n removeOnlyFacilitatorError: \"Impossible de supprimer l'unique facilitateur\",\n noGamesFound: \"Aucun jeu trouvé, essayez d'en créer un.\",\n noRetrosFound: \"Aucune rétro trouvée, essayez d'en créer une.\",\n noStoryboardsFound: \"Aucun storyboard trouvé, essayez d'en créer un.\",\n retroDescription:\n 'Une rétrospective de sprint est une revue effectuée après un sprint qui joue un rôle clé dans la méthodologie Agile. Une rétrospective de sprint vise à déterminer ce qui a bien fonctionné et où vous avez rencontré des problèmes, et à identifier les domaines où vous pouvez vous améliorer.',\n pokerDescription:\n \"Le poker planning est une façon ludique que les équipes de développement utilisent pour estimer l'effort des tâches de gestion de projet. Ces estimations sont basées sur les contributions et le consensus de l'ensemble du groupe, les rendant plus engageantes et précises que d'autres méthodes.\",\n storyboardDescription:\n \"Le user story mapping (storyboard) est une méthode de visualisation du parcours utilisateur effectué avec un produit, du début à la fin. Elle inclut toutes les tâches qu'ils accompliraient typiquement dans le cadre de ce parcours.\",\n estimationScaleNamePlaceholder: \"Entrez le nom de l'échelle\",\n description: 'Description',\n estimationScaleDescriptionPlaceholder: \"Entrez la description de l'échelle\",\n scaleType: \"Type d'échelle\",\n estimationScaleTypePlaceholder: \"Sélectionnez le type d'échelle\",\n scaleValues: \"Valeurs de l'échelle\",\n estimationScaleValuesPlaceholder:\n 'Entrez des valeurs séparées par des virgules',\n estimationScaleValuesHelp:\n 'Entrez des valeurs séparées par des virgules (par exemple, 1, 2, 3, 5, 8)',\n estimationScaleIsPublic: 'Rendre cette échelle publique',\n estimationScaleDefault: 'Définir comme échelle par défaut',\n estimationScaleSave: \"Enregistrer l'échelle\",\n estimationScales: \"Échelles d'estimation\",\n estimationScaleCreate: \"Créer une échelle d'estimation\",\n estimationScaleCreateSuccess: \"Échelle d'estimation créée avec succès\",\n estimationScaleCreateError:\n \"Erreur lors de la création de l'échelle d'estimation\",\n estimationScaleUpdateSuccess: \"Échelle d'estimation mise à jour avec succès\",\n estimationScaleUpdateError:\n \"Erreur lors de la mise à jour de l'échelle d'estimation\",\n estimationScaleRemoveSuccess: \"Échelle d'estimation supprimée avec succès\",\n estimationScaleRemoveError:\n \"Erreur lors de la suppression de l'échelle d'estimation\",\n removeEstimationScaleConfirmText:\n \"Êtes-vous sûr de vouloir supprimer cette échelle d'estimation ?\",\n removeEstimationScale: \"Supprimer l'échelle d'estimation\",\n yes: 'Oui',\n no: 'Non',\n isPublic: 'Public',\n default: 'Par défaut',\n publicEstimationScales: \"Échelles d'estimation publiques\",\n organizationEstimationScales: \"Échelles d'estimation de l'organisation\",\n teamEstimationScales: \"Échelles d'estimation de l'équipe\",\n allowCumulativeVotingLabel:\n \"Autoriser le vote cumulatif (plus d'un vote par groupe d'éléments)\",\n activeSubscriptions: 'Abonnements actifs',\n retroTemplates: 'Modèles de rétrospective',\n publicRetroTemplates: 'Modèles de rétrospective publics',\n organizationRetroTemplates: \"Modèles de rétrospective de l'organisation\",\n teamRetroTemplates: \"Modèles de rétrospective de l'équipe\",\n retroTemplateNamePlaceholder: 'Entrez le nom du modèle',\n retroTemplateDescriptionPlaceholder: 'Entrez la description du modèle',\n format: 'Format',\n retroTemplateIsPublic: 'Rendre ce modèle public',\n retroTemplateSave: 'Enregistrer le modèle',\n retroTemplateCreate: 'Créer un modèle de rétrospective',\n retroTemplateCreateSuccess: 'Modèle de rétrospective créé avec succès',\n retroTemplateCreateError:\n 'Erreur lors de la création du modèle de rétrospective',\n retroTemplateUpdateSuccess: 'Modèle de rétrospective mis à jour avec succès',\n retroTemplateUpdateError:\n 'Erreur lors de la mise à jour du modèle de rétrospective',\n retroTemplateRemoveSuccess: 'Modèle de rétrospective supprimé avec succès',\n retroTemplateRemoveError:\n 'Erreur lors de la suppression du modèle de rétrospective',\n removeRetroTemplateConfirmText:\n 'Êtes-vous sûr de vouloir supprimer ce modèle de rétrospective ?',\n removeRetroTemplate: 'Supprimer le modèle de rétrospective',\n retroTemplateDefault: 'Définir comme modèle par défaut',\n};\n\nexport default fr;\n","import type { Translation } from '../i18n-types';\n\nconst it: Translation = {\n userGuide: 'User Guide',\n privacyPolicy: 'Privacy Policy',\n termsConditions: 'Terms & Conditions',\n support: 'Support',\n abandoned: 'Abbandonato',\n actionComments: 'Commenti Azioni',\n actionItem: 'Compito',\n actionItemPlaceholder: 'Compito...',\n actionItems: 'Compiti',\n actionPhaseDescription:\n \"Aggiungi gli elementi d'azione, non puoi più raggruppare o votare i commenti\",\n actions: 'Azioni',\n activate: 'Activate',\n active: 'Attivo',\n activeRetros: 'Retros attivi',\n activeRetroUsers: 'Utenti retro attivi',\n activeStoryboards: 'Storyboard attivi',\n activeStoryboardUsers: 'Utenti storyboard attivi',\n addComment: 'Aggiungi un commento',\n addPersona: 'Aggiungi Persona',\n admin: 'Admin',\n adminCleanOldRetros: 'Elimina Retros più vecchi di {daysOld} giorni',\n adminCleanOldStoryboards:\n 'Elimina Storyboards più vecchi di {daysOld} giorni',\n adminPageAdmin: 'Amministrazione',\n adminPageAlerts: 'Avvisi',\n adminPageApi: 'Chiavi API',\n adminPageOrganizations: 'Organizzazioni',\n adminPageTeams: 'Teams',\n adminPageUsers: 'Utenti',\n adminPageSubscriptions: 'Subscriptions',\n deleteSubscriptionConfirmation:\n 'Are you sure you want to delete this subscription?',\n deleteSubscription: 'Delete Subscription',\n alertAllowDismiss: 'Permetti Chiusura',\n alertContent: 'Contenuto Avviso',\n alertContentPlaceholder: \"Inserisci il contenuto dell'avviso\",\n alertCreate: 'Crea Avviso',\n alertDelete: 'Elimina Avviso',\n alertDeleteConfirmation: 'Sei sicuro di voler eliminare questo avviso?',\n alertNamePlaceholder: \"Inserisci il nome dell'avviso\",\n alertRegisteredOnly: 'Solo Utenti Registrati',\n alerts: 'Avvisi',\n alertSave: 'Salva Avviso',\n alertTypePlaceholder: 'Seleziona il tipo di avviso',\n allVotesIn: 'Tutti i voti sono stati espressi',\n apiDocumentation: 'Documentazione API',\n apikeyCopyFailure: 'Impossibile copiare la chiave API negli appunti',\n apikeyCopySuccess: 'Chiave API copiata negli appunti',\n apiKeys: 'Chiavi API',\n applicationStatsError:\n \"Errore durante il recupero delle statistiche dell'applicazione\",\n appName: 'Thunderdome',\n appPreviewAlt: 'Anteprima di Thunderdome, Esperienza UI Agile Planning Poker',\n appSubtitle: 'App Open Source Agile Planning Poker',\n appVersion: 'Versione {version}',\n associateTeam: 'Associa Team',\n authError: \"Errore durante l'autenticazione del giocatore\",\n autoFinishVoting: 'Votazione Automatica',\n avatarAltText: 'Avatar segnaposto',\n back: 'Indietro',\n battleAbandon: 'Abbandona Gioco',\n battleCreate: 'Crea Gioco',\n battleDelete: 'Elimina Gioco',\n battleEdit: 'Modifica Gioco',\n battleEditPointsDisabled:\n 'La votazione è attiva, non può modificare i punti consentiti.',\n battleJoin: 'Unisciti alla partita',\n battleName: 'Nome partita',\n battleRemoveError: 'Errore durante la rimozione della partita.',\n battleRemoveSuccess: 'Partita rimossa con successo.',\n battles: 'Partite',\n battlesActive: 'Partite attive',\n battlesActiveUsers: 'Utenti attivi in partite',\n becomeFacilitator: 'Diventa Facilitatore',\n becomeLeader: 'Diventa Leader',\n becomeParticipant: 'Diventa Partecipante',\n becomeSpectator: 'Diventa Spettatore',\n blocked: 'Bloccato',\n blockers: 'Blocchi',\n blockersPlaceholder: 'Sono bloccato da...',\n brainstorm: 'Brainstorming',\n brainstormPhaseDescription: 'Aggiungi i tuoi commenti qui sotto',\n brainstormPhaseFeedbackVisibility: 'Visibilità Feedback Fase Brainstorming',\n brainstormVisibilityLabelConcealed: 'Feedback Nascosto',\n brainstormVisibilityLabelHidden: 'Feedback Nascosto',\n brainstormVisibilityLabelVisible: 'Feedback Visibile',\n cancel: 'Annulla',\n cannotBeUndone: 'Questa azione non può essere annullata.',\n checkIn: 'Check-in',\n checkinCommentDeleteError:\n \"Errore nell'eliminazione del commento del check-in\",\n checkinCommentError: 'Errore nel commentare il check-in',\n checkinError: 'Errore nel check-in',\n checkinMeetYesterdayGoalsQuestion: 'Hai raggiunto gli obiettivi di ieri?',\n checkins: 'Checkins',\n colorLegend: 'Legenda Colori',\n colorLegendNotSpecified: 'legenda non specificata',\n comment: 'Commento',\n comments: 'Commenti',\n completed: 'Completato',\n conciseVotingResults: 'Risultati Votazione Sintetici',\n confirmDeleteRetro: 'Sei sicuro di voler eliminare questa retrospettiva?',\n createAccount: 'Creare un account',\n createAccountTagline: `Don't have an account?`,\n createAlertError: \"Errore durante la creazione dell'avviso\",\n createAlertSuccess: 'Avviso creato con successo',\n createARetro: 'Crea un retro',\n createAStoryboard: 'Crea uno storyboard',\n createBattleError: 'Errore durante la creazione della partita',\n createOrgError: \"Errore durante la creazione dell'organizzazione\",\n createRetro: 'Crea Retro',\n createRetroErrorMessage: 'Errore durante la creazione del retro',\n createStoryboard: 'Crea uno storyboard',\n createUserError: \"Errore durante la creazione dell'utente\",\n customizableBattleOptions: 'Opzioni di gioco personalizzabili',\n dateCreated: 'Data di Creazione',\n dateUpdated: 'Data di Aggiornamento',\n delete: 'Elimina',\n deleteActionItemError: \"Errore durante l'eliminazione dell'elemento azione\",\n deleteActionItemSuccess: 'Elemento azione eliminato con successo',\n deleteAlertError: \"Errore durante l'eliminazione dell'avviso\",\n deleteAlertSuccess: 'Avviso eliminato con successo',\n deleteBattle: 'Elimina partita',\n deleteBattleConfirmText: 'Sei sicuro di voler eliminare questa partita?',\n deleteBattleError: \"Errore durante l'eliminazione della partita\",\n deleteCheckinError: \"Errore nell'eliminazione del check-in\",\n deleteDepartment: 'Elimina Dipartimento',\n deleteDepartmentConfirmText:\n 'Sei sicuro di voler eliminare questo dipartimento?',\n deleteOrganization: 'Elimina Organizzazione',\n deleteOrganizationConfirmText:\n 'Sei sicuro di voler eliminare questa organizzazione?',\n deleteRetro: 'Elimina retro',\n deleteRetroErrorMessage: \"errore durante l'eliminazione del retro\",\n deleteStoryboard: 'Elimina Storyboard',\n deleteStoryboardErrorMessage:\n \"errore durante l'eliminazione della storyboard\",\n deleteTeam: 'Elimina Team',\n deleteTeamConfirmText: 'Sei sicuro di voler eliminare questo team?',\n deleteUserError: \"Errore durante l'eliminazione dell'utente\",\n demote: 'Degradare',\n demoteUserError: \"Errore durante la declassificazione dell'utente\",\n department: 'Dipartimento',\n departmentCreate: 'Crea Dipartimento',\n departmentCreateError: 'Errore durante la creazione del dipartimento',\n departmentDeleteError: \"Errore durante l'eliminazione del dipartimento.\",\n departmentDeleteSuccess: 'Dipartimento eliminato con successo.',\n departmentGetError: 'Errore durante la ricezione del dipartimento',\n departmentName: 'Nome Dipartimento',\n departmentNamePlaceholder: 'Inserisci il nome del dipartimento',\n departments: 'Dipartimenti',\n departmentSave: 'Salva Dipartimento',\n departmentTeamsGetError:\n 'Errore durante la ricezione dei team del dipartimento',\n departmentUsersGetError:\n 'Errore durante la ricezione degli utenti del dipartimento',\n discuss: 'Discussione',\n discussPlaceholder: 'Vorrei discutere...',\n done: 'Fatto',\n duplicateRetroSession:\n 'Esiste una sessione di retrospettiva duplicata per il tuo ID',\n duplicateStoryboardSession:\n 'Esiste una sessione di storyboard duplicata per il tuo ID',\n edit: 'Modifica',\n editColorLegend: 'Modifica Legenda',\n editRetro: 'Modifica retro',\n editStoryboard: 'Modifica Storyboard',\n email: 'Email',\n enterPasscode: 'Inserisci codice di accesso...',\n enterYourEmail: 'Inserisci la tua email',\n execute: 'Esegui',\n export: 'Esporta',\n facilitator: 'Facilitatore',\n facilitatorCode: 'Codice Facilitatore',\n facilitatorCodeOptional: 'Codice Facilitatore (Opzionale)',\n facilitatorCodePlaceholder: 'Inserisci un codice facilitatore opzionale',\n finalPoints: 'Punti finali',\n flag: 'Segnalazione',\n footerAuthoredBy:\n 'è progettato e sviluppato da {authorOpen}Steven Weathers{authorClose}.',\n footerLicense:\n 'Il codice sorgente è concesso in licenza {licenseOpen}Apache 2.0{licenseClose}.',\n forgotPassword: 'Forgot Your Password?',\n forgotPasswordSubtext: `Don't fret! Just enter your email and we will send you instructions to reset your password.`,\n returnToLogin: 'Return to Login',\n getAlertsError: 'Errore durante il recupero degli avvisi',\n getApikeysError: 'Errore durante il recupero delle chiavi API',\n getBattleError: 'Errore durante il recupero delle partite',\n getBattlesError: 'Errore durante il recupero delle partite',\n getCheckinsError: 'Errore nel recupero dei check-in',\n getOrganizationsError: \"Errore durante l'ottenimento delle organizzazioni\",\n getRetroErrorMessage: 'errore nel recupero del retro',\n getRetrosErrorMessage: 'errore nel recupero dei retros',\n getStoryboardErrorMessage: 'errore nel recupero dello storyboard',\n getStoryboardsErrorMessage: 'errore nel recupero degli storyboard',\n getTeamsError: \"Errore durante l'ottenimento dei team\",\n getUserError: \"Errore durante l'ottenimento dell'utente\",\n getUsersError: \"Errore durante l'ottenimento degli utenti\",\n goalsMet: 'Obiettivi raggiunti',\n group: 'Gruppo',\n groupName: 'Nome del Gruppo',\n groupPhaseDescription: 'Trascina e raccogli i commenti simili',\n hostedDesc:\n '{linkOpen}Thunderdome.dev{linkClose} è un servizio ospitato gratuito (SaaS) senza pubblicità.',\n hostedOrSelfHosted: 'Servizio Ospitato o Auto-Ospitato',\n importCsv: 'Import stories from a CSV file',\n importCsvFileBadFileTypeError: 'Errore Tipo di file cattivo',\n importCsvFileReadFileError: 'File di lettura degli errori',\n importJiraXML: 'Importa storie da Jira XML',\n importJiraXMLBadFileTypeError: 'Errore Tipo di file cattivo',\n importJiraXMLReadFileError: 'Errore di lettura del file ',\n incorrectPassCode: 'Codice di accesso errato',\n inviteLinkCopyFailure: 'Impossibile copiare il link di invito negli appunti',\n inviteLinkCopySuccess: 'Link di invito copiato negli appunti',\n jiraXmlImport: 'Importazione XML Jira',\n joinCodeCopyFailure:\n 'Impossibile copiare il codice di partecipazione negli appunti',\n joinCodeCopySuccess: 'Codice di partecipazione copiato negli appunti',\n joinCodeLabelOptional: 'Codice di unione (Opzionale)',\n joinCodePlaceholder: 'Inserisci un codice di unione',\n joinRetro: 'Partecipa al retro',\n joinStoryboard: 'Partecipa allo storyboard',\n joinStoryboardError: \"Errore nell'unirsi al storyboard, ricarica e riprova.\",\n landingCountries: 'Utenti in oltre {count} paesi',\n landingFeatureOpenSourceText:\n \"Dai un'occhiata al{repoOpen}Github repository{repoClose}per richiedere o contribuire a miglioramenti, traduzioni locali e correzioni di bug o a{donateOpen}Donate{donateClose}.\",\n landingFeatureOpenSourceTitle: 'Open source',\n landingSalesPitch:\n 'Remote team collaboration with agile story pointing, sprint retrospective, story mapping and async team check-in.',\n landingTitle: \"Thunderdome è un'app di Agile Planning Poker\",\n lastActive: 'Ultima Attività',\n leader: 'Leader',\n leaderPasscode: 'Codice del Leader',\n leaveRetro: 'Abbandona retro',\n leaveStoryboard: 'Lascia Storyboard',\n legendRetroPlaceholder: 'Inserisci una legenda di un colore',\n loadingRetro: 'Caricamento Retro...',\n loadingStoryboard: 'Caricamento Storyboard...',\n login: 'login',\n loginForRetro: 'o {loginOpen}Accedi{loginClose} per partecipare al retro',\n loginForStoryboard:\n 'o {loginOpen}Accedi{loginClose} per partecipare allo storyboard',\n logout: 'Disconnettersi',\n logoutError: \"Si è verificato un errore durante il logout dell'utente\",\n makeFacilitator: 'Rendi Facilitatore',\n mfa2faLabel: 'Autenticazione 2FA/MFA',\n mfa2faRemove: 'Rimuovi 2FA/MFA',\n mfa2faRemoveFailure: 'Impossibile rimuovere 2FA/MFA',\n mfa2faRemoveSuccess: '2FA/MFA rimosso con successo',\n mfa2faRemoveText: 'Sei sicuro di voler rimuovere 2FA/MFA?',\n mfa2faSetup: 'Configura 2FA/MFA',\n mfaAuthError: 'Errore durante la convalida del token autenticatore',\n mfaConfirmToken: 'Conferma Token',\n mfaGenerateFailed: 'impossibile avviare la configurazione 2FA/MFA',\n mfaSecretKeyLabel: 'Chiave Segreta',\n mfaSetupFailed: 'validazione del token di configurazione 2FA/MFA fallita',\n mfaSetupIntro:\n \"Scansiona il seguente codice QR con un'applicazione Autenticatore (come Google Autenticatore o Authy) e inserisci il token generato.\",\n mfaSetupSuccess: '2FA/MFA abilitato con successo',\n mfaTokenLabel: 'Token Autenticatore',\n mfaTokenPlaceholder: \"Inserisci il token dell'app autenticatore\",\n myRetros: 'I miei retros',\n myStoryboards: 'I miei storyboard',\n name: 'Nome',\n needsImprovement: 'Migliorabile',\n nextPhase: 'Prossima azione',\n noComments: 'Nessun commento...',\n oldBattleCleanError: 'Errore durante la pulizia delle partite',\n oldGuestsCleanError: 'Errore durante la pulizia degli ospiti',\n oldRetrosCleanError: \"Errore durante l'eliminazione dei retros.\",\n oldStoryboardsCleanError: \"Errore durante l'eliminazione dei storyboards.\",\n openSource: 'Open Source',\n optional: '(Opzionale)',\n optionalLeadercodePlaceholder:\n 'Codice del leader opzionale per diventare leader',\n optionalPasscodePlaceholder: 'Codice di accesso opzionale per unirsi',\n organization: 'Organizzazione',\n organizationCreate: 'Crea Organizzazione',\n organizationDeleteError: \"Errore durante l'eliminazione dell'organizzazione.\",\n organizationDeleteSuccess: 'Organizzazione eliminata con successo.',\n organizationGetDepartmentsError:\n \"Errore durante il recupero dei dipartimenti dell'organizzazione\",\n organizationGetError: \"Errore durante il recupero dell'organizzazione\",\n organizationGetTeamsError:\n \"Errore durante il recupero dei team dell'organizzazione\",\n organizationGetUsersError:\n \"Errore durante il recupero degli utenti dell'organizzazione\",\n organizationName: \"Nome dell'organizzazione\",\n organizationNamePlaceholder: \"Inserisci il nome dell'organizzazione\",\n organizations: 'Organizzazioni',\n organizationsAndTeams: 'Organizzazioni e Team',\n organizationSave: 'Salva Organizzazione',\n owner: 'Proprietario',\n participation: 'Partecipazione',\n passCode: 'Codice di accesso',\n passCodeRequired: 'Codice di accesso obbligatorio per unirsi',\n personas: 'Persona',\n planAcceptanceCriteria: 'Criteri di accettazione',\n planAcceptanceCriteriaPlaceholder: 'Immettere i criteri di accettazione',\n planAdd: 'Aggiungi Storia',\n planDescription: 'Descrizione',\n planDescriptionPlaceholder: 'Immettere una descrizione',\n planLink: 'Link',\n planLinkInvalid:\n 'Link non è un URL assoluto valido, ad es.Include il protocollo (http/https) ',\n planLinkPlaceholder: 'Inserisci un link alla storia',\n planName: 'Nome Storia',\n planNamePlaceholder: 'Inserisci un nome per la storia',\n planPriority: 'Priorità',\n planPriorityBlocker: 'Blocker',\n planPriorityHigh: 'Alto',\n planPriorityHighest: 'Più alto',\n planPriorityLow: 'Basso',\n planPriorityLowest: 'Il più basso',\n planPriorityMedium: 'medio',\n planPriorityPlaceholder: 'Seleziona una priorità',\n planReferenceId: 'ID di riferimento',\n planReferenceIdPlaceholder: 'Immettere un ID di riferimento',\n plans: 'Storie',\n planSkip: 'Salta Storia',\n planType: 'Tipo Storia',\n planTypeBug: 'Bug',\n planTypeEpic: 'Epic',\n planTypePlaceholder: 'Types',\n planTypeSpike: 'Spike',\n planTypeStory: 'Story',\n planTypeSubtask: 'Subtask',\n planTypeTask: 'Task',\n pointAverageRounding: 'Arrotondamento Media dei Punti',\n pointed: 'Puntata ({count})',\n points: 'Punti',\n pointValuesAllowed: 'Valori dei Punti Consentiti',\n postComment: 'Pubblica Commento',\n primeDirective: 'Direttiva Primaria',\n promote: 'Promuovere',\n promoteUserError: \"Errore durante la promozione dell'utente\",\n questions: 'Domande',\n register: 'Registrati',\n reloadingRetro: 'Oops, ricaricamento della retrospettiva...',\n reloadingStoryboard: 'Oops, ricaricamento del storyboard...',\n remove: 'Rimuovi',\n removeBattle: 'Rimuovi partita',\n removeBattleConfirmText: 'Sei sicuro di voler rimuovere questa partita?',\n removeRetro: 'Rimuovi Retrospettiva',\n removeRetroConfirmText: 'Sei sicuro di voler rimuovere questa retrospettiva?',\n removeStoryboard: 'Rimuovi Storyboard',\n removeStoryboardConfirmText:\n 'Sei sicuro di voler rimuovere questo storyboard?',\n removeUser: 'Elimina Utente',\n removeUserConfirmText: 'Sei sicuro di voler eliminare questo utente?',\n requestVerifyEmail: 'Richiedi Email di Verifica',\n requestVerifyEmailFailure: \"Errore durante l'invio dell'email di verifica\",\n requestVerifyEmailSuccess:\n 'Email di verifica richiesta, controlla la tua casella di posta',\n retro: 'Retro',\n retroActionCommentAddError:\n \"errore durante l'aggiunta di un commento alle azioni del retro\",\n retroActionCommentDeleteError:\n \"errore durante l'eliminazione di un commento alle azioni del retro\",\n retroActionCommentEditError:\n 'errore durante la modifica del commento alle azioni del retro',\n retroActionItems: 'Compiti del Retro',\n retroAddError: 'Errore durante il tentativo di aggiungere la retrospettiva.',\n retroAddSuccess: 'Retrospettiva aggiunta con successo.',\n retroDeleted: 'Retrospettiva eliminata',\n retroFeedbackConcealed: 'Feedback Nascosto',\n retroFeedbackHidden: 'Feedback Nascosto',\n retroImprovePlaceholder: 'Cosa migliorare...',\n retroItems: 'Elementi retro',\n retroJoinError: \"Errore nell'unirsi alla retrospettiva, ricarica e riprova.\",\n retroMaxVotesPerUserLabel: 'Max Voti Gruppo (per Utente)',\n retroName: 'Nome Retro',\n retroNamePlaceholder: 'Inserisci un nome per il retro',\n retroQuestionPlaceholder: 'Vorrei chiedere...',\n retroRemoveError:\n 'Errore durante il tentativo di rimuovere la retrospettiva.',\n retroRemoveSuccess: 'Retrospettiva rimossa con successo.',\n retros: 'Retros',\n retroWorkedPlaceholder: 'Cosa ha funzionato bene...',\n role: 'Ruolo',\n rolePlaceholder: \"Seleziona il ruolo dell'utente\",\n save: 'Salva',\n search: 'Ricerca',\n searchLengthError: 'Il valore di ricerca deve essere di almeno 3 caratteri',\n selectTeam: 'Seleziona un Team',\n selfHostedDesc:\n 'In alternativa, puoi {linkOpen}eseguirlo sul tuo server{linkClose}.',\n sessionDuplicate: 'Esiste una sessione di gioco duplicata per il tuo ID',\n showActiveBattles: 'Mostra partite attive',\n showActiveRetros: 'Mostra i retros attivi',\n showActiveStoryboards: 'Mostra gli storyboard attivi',\n showBlockedCheckins: 'Mostra solo checkin che richiedono discussione',\n showCompletedActionItems: 'Mostra gli elementi azione completati',\n showVoters: 'Show Voters',\n skipped: 'Saltato',\n spectator: 'Spettatore',\n storyboard: 'Storyboard',\n storyboardAddColumn: 'Aggiungi Colonna',\n storyboardAddError: \"Errore durante l'aggiunta dello storyboard.\",\n storyboardAddGoal: 'Aggiungi Obiettivo',\n storyboardAddStoryToColumn: 'Aggiungi Storia alla Colonna',\n storyboardAddSuccess: 'Storyboard aggiunto con successo.',\n storyboardColumns: 'Colonne dello storyboard',\n storyboardDeleted: 'Storyboard eliminato',\n storyboardEditColumn: 'Modifica Colonna',\n storyboardGoalName: 'Nome Obiettivo',\n storyboardGoalNamePlaceholder: \"Inserisci il nome dell'obiettivo\",\n storyboardGoals: 'Obiettivi dello storyboard',\n storyboardPersonas: 'Personaggi dello storyboard',\n storyboardRemoveError: 'Errore durante la rimozione dello storyboard.',\n storyboardRemoveSuccess: 'Storyboard rimosso con successo.',\n storyboards: 'Storyboards',\n storyboardStories: 'Storie dello storyboard',\n team: 'Team',\n teamCheckins: 'Checkins di squadra',\n teamCreate: 'Crea Team',\n teamCreateError: 'Errore durante la creazione del team',\n teamCreateSuccess: 'Team creato con successo',\n teamDeleteError: \"Errore durante l'eliminazione del team\",\n teamDeleteSuccess: 'Team eliminato con successo',\n teamGetBattlesError: 'Errore durante il recupero delle partite del team',\n teamGetError: 'Errore durante il recupero del team',\n teamGetRetroActionsError: 'errore nel recupero delle azioni del retro',\n teamGetRetrosError:\n \"Errore durante l'ottenimento delle retrospettive del team\",\n teamGetStoryboardsError:\n \"Errore durante l'ottenimento dei storyboard del team\",\n teamGetUsersError: 'Errore durante il recupero degli utenti del team',\n teamName: 'Nome del team',\n teamNamePlaceholder: 'Inserisci il nome del team',\n teams: 'Teams',\n teamSave: 'Salva Team',\n teamUserRequiredToCheckin:\n \"L'utente deve essere nella squadra per fare il check-in\",\n teamUserRequiredToComment:\n \"L'utente deve essere nella squadra per commentare\",\n today: 'Oggi',\n todayPlaceholder: 'Oggi farò...',\n totalPoints: 'Totale',\n totalVotes: 'Voti Totali',\n type: 'Tipo',\n unknownWarrior: 'Giocatore sconosciuto',\n unpointed: 'Non puntato ({count})',\n updateActionItemError: \"Errore nell'aggiornamento dell'elemento azione\",\n updateActionItemSuccess: 'Elemento azione aggiornato con successo',\n updateAlertError: \"Errore durante l'aggiornamento dell'avviso\",\n updateAlertSuccess: 'Avviso aggiornato con successo',\n updateCheckinError: \"Errore nell'aggiornamento del check-in\",\n updateComment: 'Aggiorna Commento',\n userAdd: 'Aggiungi Utente',\n userAddError: \"Errore durante l'aggiunta dell'utente.\",\n userAddSuccess: 'Utente aggiunto con successo.',\n userEmail: 'Email Utente',\n userEmailPlaceholder: 'Enter the users email',\n userName: 'Nome Utente',\n userRemoveError: \"Errore durante la rimozione dell'utente.\",\n userRemoveSuccess: 'Utente rimosso con successo.',\n users: 'Utenti',\n verifyAccount: 'Verifica Account',\n verifyAccountFailedError:\n 'Qualcosa è andato storto per verificare il tuo account, forse questo link è scaduto o è già stato utilizzato.',\n verifyAccountFailedTitle: 'Verifica fallita',\n verifyAccountLoading: 'Account di verifica ...',\n verifyAccountVerifiedThanks: 'Grazie per aver verificato la tua email.',\n verifyAccountVerifiedTitle: 'Account verificato',\n view: 'Visualizza',\n vote: 'Vota',\n voteCount: 'Conteggio Voti',\n votePhaseDescription: 'Vota per i gruppi che vorresti discutere maggiormente',\n voteResultsAverage: 'Media',\n voteResultsHighest: 'Più alto',\n votingFinish: 'Finire il voto',\n votingLocked: 'Votazione Bloccata',\n votingRestart: 'Riavvia il voto',\n warriorCreate: 'Crea Utente',\n warriorInvite: 'Invita un giocatore',\n warriorNudge: 'Spuntare',\n works: 'Funziona',\n writeCommentPlaceholder: 'Scrivi un commento...',\n yesterday: 'Ieri',\n yesterdayPlaceholder: 'Ieri ho...',\n yourRetros: 'I tuoi retros',\n yourStoryboards: 'I tuoi storyboard',\n addPlan: 'Aggiungi storia',\n battleNamePlaceholder: 'Inserisci il nome della partita',\n autoFinishVotingLabel:\n 'Termina automaticamente il voto quando tutti i giocatori hanno votato',\n averageRoundingOptions: {\n ceil: 'Ceil',\n floor: 'Floor',\n round: 'Round',\n },\n apiKeyCreateButton: 'Crea chiave API',\n apiKeyPrefix: 'Prefisso chiave',\n lastUpdated: 'Ultimo aggiornamento',\n apiKeysErrorRetrieving: 'Impossibile ottenere le chiavi API',\n apiKeyDeleteSuccess: 'Chiave API Eliminata',\n apiKeyDeleteFailed: 'Impossibile eliminare la chiave API',\n apiKeyUpdateSuccess: 'Tasto API aggiornato',\n apiKeyUpdateFailed: 'Impossibile aggiornare la chiave API',\n deactivate: 'Disattivare',\n profileErrorRetrieving: 'Errore per ottenere il tuo profilo',\n profileErrorUpdating: 'Errore riscontrato Aggiornamento del tuo profilo',\n profileUpdateSuccess: 'profilo aggiornato',\n passwordUpdated: 'Password aggiornata.',\n passwordUpdateError: 'Errore riscontrato tentativo di aggiornare la password',\n profileDeleteError:\n 'Errore riscontrato tentativo di eliminare il tuo account.',\n profileTitle: 'Il tuo profilo',\n profile: 'Profile',\n updatePassword: 'Aggiorna la password',\n deleteAccount: \"Eliminare l'account\",\n deleteAccountWarningStatement:\n 'Sei sicuro di voler eliminare il tuo account?',\n deleteConfirmButton: 'Conferma cancellazione',\n apiKeyNameInvalid: 'Immettere un nome chiave',\n apiKeyCreateSuccess:\n 'Nuova chiave API{keyName}creato e {onlyNowOpen}Verrà visualizzato solo ora{onlyNowClose}',\n apiKeyStoreWarning:\n 'Ti preghiamo di memorizzare un posto sicuro perché non appena navighi da questa pagina, non saremo in grado di recuperare o ripristinare questo token generato.',\n apiKeyLimitReached: 'Hai consentito il numero massimo di chiavi API.',\n apiKeyUnverifiedUser:\n 'Solo gli utenti registrati verificati possono creare chiavi API.',\n apiKeyCreateFailed: 'Impossibile creare la chiave API',\n apiKeyName: 'Nome chiave',\n apiKeyNamePlaceholder: 'Immettere un nome chiave',\n create: 'Crea',\n close: 'Chiudi',\n country: 'Paese',\n company: 'Azienda',\n verified: 'Verificato',\n registeredUsers: 'Registered Users',\n myBattles: 'Mie partite',\n createBattle: 'Crea una partita',\n countPlansPointed: '{totalPointed} di {totalPlans} storie puntate',\n myBattlesError: 'Errore durante la ricerca delle tue partite',\n warriorJoined: '{name} si è unito alla partita',\n warriorRetreated: '{name} ha lasciato la partita',\n planSkipped: 'Storia saltata',\n warriorVoted: '{name} havotato',\n warriorRetractedVote: '{name} haritirato il voto',\n battleDeleted: 'Partita eliminata',\n warriorNudgeMessage: 'pst... {name}, ti stiamo aspettando per il voto.',\n battle: 'Partita',\n warriors: 'Giocatori',\n battleSocketReconnecting: 'Ops, caricamento della partita...',\n battleSocketError:\n 'Errore durante la connessione alla partita ricaricare e riprovare.',\n battleLoading: 'Caricamento partita...',\n votingNotStarted: 'l voto non è ancora iniziato',\n password: 'Password',\n passwordPlaceholder: 'Enter a password',\n yourPasswordPlaceholder: 'Enter your password',\n confirmPassword: 'Confirm Password',\n confirmPasswordPlaceholder: 'Confirm your password',\n update: 'Update',\n reset: 'Reset',\n passwordResetError: 'Error encountered attempting to reset password',\n resetPassword: 'Reset Password',\n registerAsGuest: 'Register as Guest',\n registrationDisabled: 'Registration is disabled.',\n userNamePlaceholder: 'Enter your name',\n guestRegisterError: 'Error encountered trying to register as guest',\n registerError: 'Error encountered trying to register account',\n enlistToBattle: 'Enlist to Battle',\n loginForBattle: 'or {loginOpen}Login{loginClose} to join the Game',\n yourNamePlaceholder: 'Enter your name',\n createAccountFormTitle:\n 'Create an Account {optionalOpen}(optional){optionalClose}',\n sendResetPasswordSuccess: 'Password reset instructions sent to {email}',\n sendResetPasswordError: 'Error encountered attempting to send password reset',\n chooseCountryPlaceholder: 'Choose your country (optional)',\n locale: 'Locale',\n companyPlaceholder: 'Enter your company (optional)',\n jobTitle: 'Job Title',\n jobTitlePlaceholder: 'Enter your job title (optional)',\n enableBattleNotifications: 'Enable game notifications',\n avatar: 'Avatar',\n updateProfile: 'Update Profile',\n guestUsers: 'Guest Users',\n maintenance: 'Maintenance',\n cleanGuests: 'Clean Guests older than {daysOld} days',\n cleanBattles: 'Clean Games older than {daysOld} days',\n chooseLocalePlaceholder: 'Choose your preferred locale (optional)',\n importPlans: 'Import Stories',\n selectFile: 'Select file...',\n theme: 'Theme',\n assignees: 'Assignees',\n assigneeSelectPlaceholder: 'Select an assignee to add',\n assigneeAdd: 'Add Assignee',\n allStoryWithCount: 'All ({count})',\n userUpdate: 'Update User',\n userUpdateSuccess: 'Successfully updated user.',\n userUpdateError: 'Error updating user.',\n userInvites: 'User Invites',\n userInviteSent: 'User invite sent',\n userInviteConfirmDelete: 'Are you sure you want to delete this user invite?',\n userInviteDelete: 'Delete Invite',\n expireDate: 'Expire Date',\n addUserWillInviteNotFoundFieldNote:\n 'If user is not registered an invite to register and join the {pageType} will be sent.',\n inviteUserFieldNote: 'An invite to join the {pageType} will be sent.',\n requiresOrganizationMember: 'User must already be in Organization.',\n teamUpdateSuccess: 'Team updated successfully',\n teamUpdateError: 'Error updating Team',\n orgUpdateSuccess: 'Organization updated successfully',\n orgUpdateError: 'Error updating Organization',\n deptUpdateSuccess: 'Department updated successfully',\n deptUpdateError: 'Error updating Department',\n hideVoterIdentity: 'Hide Voter Identity',\n storyboardName: 'Storyboard Name',\n storyboardNamePlaceholder: 'Enter a storyboard name',\n retroPhaseTimeLimitMinLabel: 'Brainstorm Phase time limit in minutes',\n phaseAutoAdvanceLabel: 'Automatically advance phases',\n removeOnlyFacilitatorError: \"Can't remove the only facilitator\",\n noGamesFound: 'No games found, try creating one.',\n noRetrosFound: 'No retros found, try creating one.',\n noStoryboardsFound: 'No storyboards found, try creating one.',\n retroDescription:\n 'A sprint retrospective is a review conducted after a sprint that plays a key role in the Agile methodology. A sprint retrospective aims to determine what went well and where you had problems and identify areas where you can improve.',\n pokerDescription:\n 'Scrum poker, also known as “planning poker” and “pointing poker”, is a gamified technique that development teams use to guess the effort of project management tasks. These estimations are based on the entire group’s input and consensus, making them more engaging and accurate than other methods.',\n storyboardDescription:\n 'User story mapping (storyboard) is a visualization of the journey a customer takes with a product, from beginning to end. It includes all the tasks they’d typically complete as part of that journey.',\n estimationScaleNamePlaceholder: 'Enter scale name',\n description: 'Description',\n estimationScaleDescriptionPlaceholder: 'Enter scale description',\n scaleType: 'Scale Type',\n estimationScaleTypePlaceholder: 'Select scale type',\n scaleValues: 'Scale Values',\n estimationScaleValuesPlaceholder: 'Enter comma-separated values',\n estimationScaleValuesHelp:\n 'Enter values separated by commas (e.g., 1, 2, 3, 5, 8)',\n estimationScaleIsPublic: 'Make this scale public',\n estimationScaleDefault: 'Set as default scale',\n estimationScaleSave: 'Save Scale',\n estimationScales: 'Estimation Scales',\n estimationScaleCreate: 'Create Estimation Scale',\n estimationScaleCreateSuccess: 'Estimation scale successfully created',\n estimationScaleCreateError: 'Error creating estimation scale',\n estimationScaleUpdateSuccess: 'Estimation scale successfully updated',\n estimationScaleUpdateError: 'Error updating estimation scale',\n estimationScaleRemoveSuccess: 'Estimation scale successfully removed',\n estimationScaleRemoveError: 'Error removing estimation scale',\n removeEstimationScaleConfirmText:\n 'Are you sure you want to remove this estimation scale?',\n removeEstimationScale: 'Remove Estimation Scale',\n yes: 'Yes',\n no: 'No',\n isPublic: 'Public',\n default: 'Default',\n publicEstimationScales: 'Public Estimation Scales',\n organizationEstimationScales: 'Organization Estimation Scales',\n teamEstimationScales: 'Team Estimation Scales',\n allowCumulativeVotingLabel:\n 'Allow Cumulative Voting (more than 1 vote per item group)',\n activeSubscriptions: 'Active Subscriptions',\n retroTemplates: 'Retro Templates',\n publicRetroTemplates: 'Public Retro Templates',\n organizationRetroTemplates: 'Organization Retro Templates',\n teamRetroTemplates: 'Team Retro Templates',\n retroTemplateNamePlaceholder: 'Enter template name',\n retroTemplateDescriptionPlaceholder: 'Enter template description',\n format: 'Format',\n retroTemplateIsPublic: 'Make this template public',\n retroTemplateSave: 'Save Template',\n retroTemplateCreate: 'Create Retrospective Template',\n retroTemplateCreateSuccess: 'Retrospective template successfully created',\n retroTemplateCreateError: 'Error creating retrospective template',\n retroTemplateUpdateSuccess: 'Retrospective template successfully updated',\n retroTemplateUpdateError: 'Error updating retrospective template',\n retroTemplateRemoveSuccess: 'Retrospective template successfully removed',\n retroTemplateRemoveError: 'Error removing retrospective template',\n removeRetroTemplateConfirmText:\n 'Are you sure you want to remove this retrospective template?',\n removeRetroTemplate: 'Remove Retrospective Template',\n retroTemplateDefault: 'Set as default template',\n};\n\nexport default it;\n","import type { Translation } from '../i18n-types';\n\nconst pt: Translation = {\n userGuide: 'User Guide',\n privacyPolicy: 'Privacy Policy',\n termsConditions: 'Terms & Conditions',\n support: 'Support',\n abandoned: 'Abandonado',\n actionComments: 'Comentários da ação',\n actionItem: 'Item de ação',\n actionItemPlaceholder: 'Item de ação...',\n actionItems: 'Itens de ação',\n actionPhaseDescription:\n 'Adicione itens de ação, você não pode mais agrupar ou votar em comentários',\n actions: 'Ações',\n activate: 'Ativar',\n active: 'Ativo(a)',\n activeRetros: 'Retros ativas',\n activeRetroUsers: 'Usuários ativos da Retro',\n activeStoryboards: 'Storyboards ativos',\n activeStoryboardUsers: 'Usuários ativos do Storyboard',\n addComment: 'Adicionar comentário',\n addPersona: 'Adicionar Persona',\n admin: 'Admin',\n adminCleanOldRetros: 'Limpar Retros com mais de {daysOld} dias',\n adminCleanOldStoryboards: 'Limpar Storyboards com mais de {daysOld} dias',\n adminPageAdmin: 'Admin',\n adminPageAlerts: 'Alertas',\n adminPageApi: 'Chaves de API',\n adminPageOrganizations: 'Organizações',\n adminPageTeams: 'Equipes',\n adminPageUsers: 'Usuários',\n adminPageSubscriptions: 'Subscriptions',\n deleteSubscriptionConfirmation:\n 'Are you sure you want to delete this subscription?',\n deleteSubscription: 'Delete Subscription',\n alertAllowDismiss: 'Permitir dispensar',\n alertContent: 'Conteúdo do Alerta',\n alertContentPlaceholder: 'Digite um conteúdo para o alerta',\n alertCreate: 'Criar alerta',\n alertDelete: 'Excluir alerta',\n alertDeleteConfirmation: 'Tem certeza de que deseja excluir este alerta?',\n alertNamePlaceholder: 'Insira um nome de alerta',\n alertRegisteredOnly: 'Somente registrado',\n alerts: 'Alertas',\n alertSave: 'Salvar alerta',\n alertTypePlaceholder: 'Selecione um tipo de alerta',\n allVotesIn: 'Todos os votos em',\n apiDocumentation: 'Documentação de API',\n apikeyCopyFailure:\n 'Não foi possível copiar a chave de API para a área de transferência',\n apikeyCopySuccess: 'Chave de API copiada para a área de transferência',\n apiKeys: 'Chaves de API',\n applicationStatsError: 'Erro ao obter estatísticas do aplicativo',\n appName: 'Thunderdome',\n appPreviewAlt:\n 'Prévia do Thunderdome, um Planning Poker Agile com Experiência de UI',\n appSubtitle: 'Aplicação de Planning Poker Agile de Código Aberto',\n appVersion: 'Versão {version}',\n associateTeam: 'Equipe Associada',\n authError: 'Erro encontrado ao tentar autenticar o jogador',\n autoFinishVoting: 'Finalização automática de votação',\n avatarAltText: 'Espaço reservado para o Avatar',\n back: 'Voltar',\n battleAbandon: 'Abandonar jogo',\n battleCreate: 'Criar jogo',\n battleDelete: 'Excluir jogo',\n battleEdit: 'Editar jogo',\n battleEditPointsDisabled:\n 'A votação está ativa, não é possível modificar os pontos permitidos.',\n battleJoin: 'Entrar no jogo',\n battleName: 'Nome do jogo',\n battleRemoveError: 'Erro ao tentar remover o jogo.',\n battleRemoveSuccess: 'Jogo removido com sucesso.',\n battles: 'Jogos',\n battlesActive: 'Jogos ativos',\n battlesActiveUsers: 'Usuários ativos do jogo',\n becomeFacilitator: 'Tornar-se Facilitador',\n becomeLeader: 'Tornar-se líder',\n becomeParticipant: 'Tornar-se Participante',\n becomeSpectator: 'Tornar-se Espectador',\n blocked: 'Bloqueado',\n blockers: 'Impedimentos',\n blockersPlaceholder: 'Estou impedido por...',\n brainstorm: 'Brainstorm',\n brainstormPhaseDescription: 'Adicione seus comentários abaixo',\n brainstormPhaseFeedbackVisibility:\n 'Visibilidade do feedback na fase de brainstorming',\n brainstormVisibilityLabelConcealed: 'Feedback escondido',\n brainstormVisibilityLabelHidden: 'Feedback oculto',\n brainstormVisibilityLabelVisible: 'Feedback visível',\n cancel: 'Cancelar',\n cannotBeUndone: 'Isto não pode ser desfeito.',\n checkIn: 'Check-in',\n checkinCommentDeleteError: 'Erro ao excluir check no comentário',\n checkinCommentError: 'Erro ao comentar no check-in',\n checkinError: 'Erro ao fazer check-in',\n checkinMeetYesterdayGoalsQuestion: 'Você atingiu os objetivos de ontem?',\n checkins: 'Check-ins',\n colorLegend: 'Legenda de cores',\n colorLegendNotSpecified: 'legenda não especificada',\n comment: 'Comentar',\n comments: 'Comentários',\n completed: 'Concluído',\n conciseVotingResults: 'Resultados Concisos da Votação',\n confirmDeleteRetro: 'Tem certeza de que deseja excluir esta retrospectiva?',\n createAccount: 'Criar conta',\n createAccountTagline: `Don't have an account?`,\n createAlertError: 'Erro ao criar alerta',\n createAlertSuccess: 'Alerta criado com sucesso',\n createARetro: 'Criar uma Retro',\n createAStoryboard: 'Criar um Storyboard',\n createBattleError: 'Erro encontrado ao criar o jogo',\n createOrgError: 'Erro tentar criar organização',\n createRetro: 'Criar Retro',\n createRetroErrorMessage: 'Erro encontrado ao criar retro',\n createStoryboard: 'Criar Storyboard',\n createUserError: 'Erro ao criar usuário',\n customizableBattleOptions: 'Opções de jogo personalizáveis',\n dateCreated: 'Data de criação',\n dateUpdated: 'Data de atualização',\n delete: 'Excluir',\n deleteActionItemError: 'Erro ao excluir o item de ação',\n deleteActionItemSuccess: 'Item de ação excluído com sucesso',\n deleteAlertError: 'Erro ao tentar excluir alerta',\n deleteAlertSuccess: 'Alerta excluído com sucesso',\n deleteBattle: 'Excluir jogo',\n deleteBattleConfirmText: 'Tem certeza de que deseja excluir este jogo?',\n deleteBattleError: 'error deleting game',\n deleteCheckinError: 'Erro ao excluir check-in',\n deleteDepartment: 'Excluir departamento',\n deleteDepartmentConfirmText:\n 'Tem certeza de que deseja excluir este departamento?',\n deleteOrganization: 'Excluir organização',\n deleteOrganizationConfirmText:\n 'Tem certeza de que deseja excluir esta organização?',\n deleteRetro: 'Excluir Retro',\n deleteRetroErrorMessage: 'erro ao deletar retrospectiva',\n deleteStoryboard: 'Excluir Storyboard',\n deleteStoryboardErrorMessage: 'erro ao deletar storyboard',\n deleteTeam: 'Excluir equipe',\n deleteTeamConfirmText: 'Tem certeza de que deseja excluir esta equipe?',\n deleteUserError: 'Erro ao tentar excluir usuário',\n demote: 'Rebaixar',\n demoteUserError: 'Erro ao rebaixar usuário',\n department: 'Departamento',\n departmentCreate: 'Criar departamento',\n departmentCreateError: 'Erro ao tentar criar departamento',\n departmentDeleteError: 'Erro ao tentar excluir departamento',\n departmentDeleteSuccess: 'Departamento excluído com sucesso.',\n departmentGetError: 'Erro ao obter departamento',\n departmentName: 'Nome do departamento',\n departmentNamePlaceholder: 'Digite o nome do departamento',\n departments: 'Departamentos',\n departmentSave: 'Salvar departamento',\n departmentTeamsGetError: 'Erro ao obter as equipes do departamento',\n departmentUsersGetError: 'Erro ao obter os usuários do departamento',\n discuss: 'Discutir',\n discussPlaceholder: 'Gostaria de discutir...',\n done: 'Feito',\n duplicateRetroSession: 'Existe uma sessão retro duplicada para o seu ID',\n duplicateStoryboardSession:\n 'Existe uma sessão de storyboard duplicada para seu ID',\n edit: 'Editar',\n editColorLegend: 'Editar Legenda',\n editRetro: 'Editar Retro',\n editStoryboard: 'Editar Storyboard',\n email: 'Email',\n enterPasscode: 'Digite o código de acesso...',\n enterYourEmail: 'Digite seu email',\n execute: 'Executar',\n export: 'Exportar',\n facilitator: 'Facilitador',\n facilitatorCode: 'Código do facilitador',\n facilitatorCodeOptional: 'Código do facilitador (opcional)',\n facilitatorCodePlaceholder: 'Insira um código opcional de facilitador',\n finalPoints: 'Pontos finais',\n flag: 'Indicador',\n footerAuthoredBy:\n 'é projetado e desenvolvido por {authorOpen}Steven Weathers{authorClose}.',\n footerLicense:\n 'O código fonte é licenciado por {licenseOpen}Apache 2.0{licenseClose}.',\n forgotPassword: 'Forgot Your Password?',\n forgotPasswordSubtext: `Don't fret! Just enter your email and we will send you instructions to reset your password.`,\n returnToLogin: 'Return to Login',\n getAlertsError: 'Erro ao obter alertas',\n getApikeysError: 'Erro ao obter chaves de API',\n getBattleError: 'Erro ao obter jogo',\n getBattlesError: 'Erro ao obter jogos',\n getCheckinsError: 'Erro ao obter o check-ins',\n getOrganizationsError: 'Erro ao obter organizações',\n getRetroErrorMessage: 'Erro ao obter retro',\n getRetrosErrorMessage: 'Erro ao obter retros',\n getStoryboardErrorMessage: 'Erro ao obter storyboard',\n getStoryboardsErrorMessage: 'Erro ao obter storyboards',\n getTeamsError: 'Erro ao obter equipes',\n getUserError: 'Erro ao obter usuário',\n getUsersError: 'Erro ao obter usuários',\n goalsMet: 'Objetivos atingidas',\n group: 'Grupo',\n groupName: 'Nome do grupo',\n groupPhaseDescription: 'Arraste e solte comentários para agrupá-los',\n hostedDesc:\n '{linkOpen}Thunderdome.dev{linkClose} é um serviço hospedado gratuito (SaaS) sem anúncios.',\n hostedOrSelfHosted: 'Serviço hospedado ou auto-hospedado',\n importCsv: 'Importar stories de um arquivo CSV',\n importCsvFileBadFileTypeError: 'Erro, tipo de arquivo não suportado',\n importCsvFileReadFileError: 'Erro ao ler o arquivo',\n importJiraXML: 'Importar histórias de XML do Jira',\n importJiraXMLBadFileTypeError: 'Tipo de arquivo incorreto',\n importJiraXMLReadFileError: 'Erro ao ler o arquivo',\n incorrectPassCode: 'Código de acesso incorreto',\n inviteLinkCopyFailure:\n 'Não foi possível copiar o link do convite para a área de transferência',\n inviteLinkCopySuccess: 'Link de convite copiado para a área de transferência',\n jiraXmlImport: 'Importação XML do Jira',\n joinCodeCopyFailure:\n 'Não foi possível copiar o código de acesso para a área de transferência',\n joinCodeCopySuccess: 'Código de acesso copiado para a área de transferência',\n joinCodeLabelOptional: 'Código de acesso (opcional)',\n joinCodePlaceholder: 'Digite o código de acesso',\n joinRetro: 'Junte-se a Retro',\n joinStoryboard: 'Junte-se ao storyboard',\n joinStoryboardError:\n 'Erro ao ingressar no storyboard, atualize e tente novamente.',\n landingCountries: 'Usuários em mais de {count} países',\n landingFeatureOpenSourceText:\n 'Confira o {repoOpen}repositório no GitHub{repoClose} para solicitar ou contribuir com melhorias, traduções de localidades e correções de bugs ou para {donateOpen}Doar{donateClose}.',\n landingFeatureOpenSourceTitle: 'Código aberto',\n landingSalesPitch:\n 'Colaboração de equipes remotas com agile story pointing, retrospectiva de sprint, story mapping e check-in assíncrono da equipe.',\n landingTitle:\n 'Thunderdome é um aplicativo ágil de Planning Poker com um tema divertido',\n lastActive: 'Ativo pela última vez',\n leader: 'Líder',\n leaderPasscode: 'Código de acesso de Líder',\n leaveRetro: 'Sair da Retro',\n leaveStoryboard: 'Sair do Storyboard',\n legendRetroPlaceholder: 'Digite a legenda para a cor',\n loadingRetro: 'Carregando Retro...',\n loadingStoryboard: 'Carregando Storyboard...',\n login: 'Login',\n loginForRetro: 'ou {loginOpen}Login{loginClose} para juntar-se à retro',\n loginForStoryboard:\n 'ou {loginOpen}Login{loginClose} para entrar no storyboard',\n logout: 'Sair',\n logoutError: 'Erro encontrado ao tentar fazer logout do usuário',\n makeFacilitator: 'Tornar Facilitador',\n mfa2faLabel: 'Autenticação 2FA/MFA',\n mfa2faRemove: 'Remover 2FA/MFA',\n mfa2faRemoveFailure: 'Falha ao remover 2FA/MFA',\n mfa2faRemoveSuccess: '2FA/MFA removido com sucesso',\n mfa2faRemoveText: 'Tem certeza que quer remover 2FA/MFA?',\n mfa2faSetup: 'Configurar 2FA/MFA',\n mfaAuthError: 'Erro ao validar o token do autenticador',\n mfaConfirmToken: 'Confirme o token',\n mfaGenerateFailed: 'falha ao iniciar a configuração 2FA/MFA',\n mfaSecretKeyLabel: 'Chave secreta',\n mfaSetupFailed: 'falha ao validar o token de configuração 2FA/MFA',\n mfaSetupIntro:\n 'Digitalize o código QR a seguir com um aplicativo autenticador (como Google Authenticator ou Authy) e insira o token gerado.',\n mfaSetupSuccess: '2FA/MFA ativado com sucesso',\n mfaTokenLabel: 'Token do autenticador',\n mfaTokenPlaceholder: 'Insira o token do aplicativo autenticador',\n myRetros: 'Minhas Retros',\n myStoryboards: 'Meus Storyboards',\n name: 'Nome',\n needsImprovement: 'Precisa de melhorias',\n nextPhase: 'Próxima Fase',\n noComments: 'Sem comentários...',\n oldBattleCleanError: 'Erro encontrado ao limpar jogos',\n oldGuestsCleanError: 'Erro encontrado ao limpar convidados',\n oldRetrosCleanError: 'Erro ao tentar limpar retros',\n oldStoryboardsCleanError: 'Erro ao tentar limpar storyboards',\n openSource: 'Código aberto',\n optional: '(Opcional)',\n optionalLeadercodePlaceholder: 'Código de acesso (opcional) de líder',\n optionalPasscodePlaceholder: 'Código de acesso opcional para participar',\n organization: 'Organização',\n organizationCreate: 'Criar organização',\n organizationDeleteError: 'Erro ao tentar excluir a organização',\n organizationDeleteSuccess: 'Organização excluída com sucesso',\n organizationGetDepartmentsError: 'Erro ao obter departamentos da organização',\n organizationGetError: 'Erro ao obter a organização',\n organizationGetTeamsError: 'Erro ao obter equipes da organização',\n organizationGetUsersError: 'Erro ao obter usuários da organização',\n organizationName: 'Nome da organização',\n organizationNamePlaceholder: 'Digite o nome da organização',\n organizations: 'Organizações',\n organizationsAndTeams: 'Organizações e Equipes',\n organizationSave: 'Salvar organização',\n owner: 'Proprietário',\n participation: 'Participação',\n passCode: 'Código de acesso',\n passCodeRequired: 'Código de acesso necessário para participar',\n personas: \"Persona's\",\n planAcceptanceCriteria: 'Critérios de Aceitação',\n planAcceptanceCriteriaPlaceholder: 'Insira os critérios de aceitação',\n planAdd: 'Adicionar história',\n planDescription: 'Descrição',\n planDescriptionPlaceholder: 'Digite uma descrição',\n planLink: 'Link',\n planLinkInvalid:\n 'O link não é um URL absoluto válido. Ex. deve incluir protocolo (HTTP/HTTPS)',\n planLinkPlaceholder: 'Insira um link para a história',\n planName: 'Nome da História',\n planNamePlaceholder: 'Digite o nome da história',\n planPriority: 'Prioridade',\n planPriorityBlocker: 'Impedimento',\n planPriorityHigh: 'Alta',\n planPriorityHighest: 'Máxima',\n planPriorityLow: 'Baixa',\n planPriorityLowest: 'Mínima',\n planPriorityMedium: 'Média',\n planPriorityPlaceholder: 'Selecione uma prioridade',\n planReferenceId: 'ID de referência',\n planReferenceIdPlaceholder: 'Insira um ID de referência',\n plans: 'Histórias',\n planSkip: 'Pular Story',\n planType: 'Tipo de História',\n planTypeBug: 'Bug',\n planTypeEpic: 'Épico',\n planTypePlaceholder: 'Tipos',\n planTypeSpike: 'Spike',\n planTypeStory: 'História',\n planTypeSubtask: 'Subtarefa',\n planTypeTask: 'Tarefa',\n pointAverageRounding: 'Arredondamento médio de pontos',\n pointed: 'Pontuado ({count})',\n points: 'Pontos',\n pointValuesAllowed: 'Valores de pontos permitidos',\n postComment: 'Postar comentário',\n primeDirective: 'Primeira Diretriz',\n promote: 'Promover',\n promoteUserError: 'Ocorreu um erro ao promover o usuário',\n questions: 'Perguntas',\n register: 'Registrar',\n reloadingRetro: 'Oops, recarregando Retro...',\n reloadingStoryboard: 'Oops, recarregando Storyboard...',\n remove: 'Remover',\n removeBattle: 'Remover jogo',\n removeBattleConfirmText: 'Tem certeza de que deseja remover este jogo?',\n removeRetro: 'Remover Retro',\n removeRetroConfirmText: 'Tem certeza de que deseja remover este retro?',\n removeStoryboard: 'Remove Storyboard',\n removeStoryboardConfirmText:\n 'Tem certeza de que deseja remover este storyboard?',\n removeUser: 'Remove usuário',\n removeUserConfirmText: 'Tem certeza de que deseja remover este usuário?',\n requestVerifyEmail: 'Solicitar e-mail de verificação',\n requestVerifyEmailFailure: 'Erro ao enviar e-mail de verificação',\n requestVerifyEmailSuccess:\n 'E-mail de verificação enviado, observe sua caixa de entrada',\n retro: 'Retro',\n retroActionCommentAddError: 'erro ao adicionar comentário de ação retro',\n retroActionCommentDeleteError: 'erro ao excluir comentário de ação retro',\n retroActionCommentEditError: 'erro ao editar comentário de ação da retro',\n retroActionItems: 'Itens de ação da Retro',\n retroAddError: 'Erro ao tentar adicionar retro.',\n retroAddSuccess: 'Retro adicionado com sucesso.',\n retroDeleted: 'Retro excluído',\n retroFeedbackConcealed: 'Feedback escondido',\n retroFeedbackHidden: 'Feedback oculto',\n retroImprovePlaceholder: 'O que precisa melhorar...',\n retroItems: 'Itens da Retro',\n retroJoinError: 'Erro ao ingressar no retro, atualize e tente novamente.',\n retroMaxVotesPerUserLabel: 'Máximo de votos do grupo (por usuário)',\n retroName: 'Nome da retro',\n retroNamePlaceholder: 'Digite o nome da retro',\n retroQuestionPlaceholder: 'Eu quero perguntar...',\n retroRemoveError: 'Erro ao tentar remover a retrospectiva.',\n retroRemoveSuccess: 'Retrospectiva removida com sucesso.',\n retros: 'Retrospectivas',\n retroWorkedPlaceholder: 'O que funcionou bem...',\n role: 'Função',\n rolePlaceholder: 'Selecione a função dos usuários',\n save: 'Salvar',\n search: 'Pesquisar',\n searchLengthError: 'O valor da pesquisa deve ter pelo menos 3 caracteres',\n selectTeam: 'Selecione uma Equipe',\n selfHostedDesc:\n 'Alternativamente, você pode {linkOpen}executá-lo em seu próprio servidor{linkClose}.',\n sessionDuplicate: 'Existe uma sessão de jogo duplicada para o seu ID',\n showActiveBattles: 'Mostrar jogos ativos',\n showActiveRetros: 'Mostrar retros ativos',\n showActiveStoryboards: 'Mostrar storyboards ativos',\n showBlockedCheckins: 'Mostrar apenas check-ins que exigem discussão',\n showCompletedActionItems: 'Mostrar itens de ação concluídos',\n showVoters: 'Mostrar votantes',\n skipped: 'Ignorado',\n spectator: 'Espectador',\n storyboard: 'Storyboard',\n storyboardAddColumn: 'Adidionar Coluna',\n storyboardAddError: 'Erro ao tentar adicionar storyboard.',\n storyboardAddGoal: 'Adicionar objetivo',\n storyboardAddStoryToColumn: 'Adicionar história à coluna',\n storyboardAddSuccess: 'Storyboard adicionado com sucesso.',\n storyboardColumns: 'Colunas do Storyboard',\n storyboardDeleted: 'Storyboard excluído',\n storyboardEditColumn: 'Editar Coluna',\n storyboardGoalName: 'Nome do objetivo',\n storyboardGoalNamePlaceholder: 'Digite o nome do objetivo',\n storyboardGoals: 'Objetivos do Storyboard',\n storyboardPersonas: 'Personas do Storyboard',\n storyboardRemoveError: 'Erro ao tentar remover o storyboard.',\n storyboardRemoveSuccess: 'Storyboard removido com sucesso.',\n storyboards: 'Storyboards',\n storyboardStories: 'Histórias do Storyboard',\n team: 'Equipe',\n teamCheckins: 'Acompanhamento da Equipe',\n teamCreate: 'Criar equipe',\n teamCreateError: 'Erro ao tentar criar equipe.',\n teamCreateSuccess: 'Equipe criada com sucesso.',\n teamDeleteError: 'Erro ao tentar excluir equipe',\n teamDeleteSuccess: 'Equipe excluída com sucesso.',\n teamGetBattlesError: 'Erro ao obter jogos de equipe',\n teamGetError: 'Erro ao obter equipe',\n teamGetRetroActionsError: 'erro ao obter ações retro',\n teamGetRetrosError: 'Erro ao obter retros da equipe',\n teamGetStoryboardsError: 'Erro ao obter storyboards da equipe',\n teamGetUsersError: 'Erro ao obter usuários da equipe',\n teamName: 'Nome da equipe',\n teamNamePlaceholder: 'Digite o nome da equipe',\n teams: 'Equipes',\n teamSave: 'Salvar equipe',\n teamUserRequiredToCheckin:\n 'O usuário deve estar em alguma equipe para fazer o check-in',\n teamUserRequiredToComment:\n 'O usuário deve estar em alguma equipe para comentar',\n today: 'Hoje',\n todayPlaceholder: 'Hoje eu irei...',\n totalPoints: 'Total',\n totalVotes: 'Total de votos',\n type: 'Tipo',\n unknownWarrior: 'Jogador desconhecido',\n unpointed: 'Sem pontuação ({count})',\n updateActionItemError: 'Erro ao atualizar o item de ação',\n updateActionItemSuccess: 'Item de ação atualizado com sucesso',\n updateAlertError: 'Erro ao atualizar alerta',\n updateAlertSuccess: 'Alerta atualizado com sucesso',\n updateCheckinError: 'Erro ao atualizar check-in',\n updateComment: 'Atualizar comentário',\n userAdd: 'Adicionar usuário',\n userAddError: 'Erro ao tentar adicionar usuário.',\n userAddSuccess: 'Usuário adicionado com sucesso.',\n userEmail: 'E-mail do usuário',\n userEmailPlaceholder: 'Enter the users email',\n userName: 'Nome de Usuário',\n userRemoveError: 'Erro ao tentar remover usuário.',\n userRemoveSuccess: 'Usuário removido com sucesso.',\n users: 'Usuários',\n verifyAccount: 'Verificar conta',\n verifyAccountFailedError:\n 'Ocorreu um erro ao verificar sua conta, talvez este link tenha expirado ou já tenha sido usado.',\n verifyAccountFailedTitle: 'Falha na verificação',\n verifyAccountLoading: 'Verificando conta...',\n verifyAccountVerifiedThanks: 'Obrigado por verificar seu e-mail.',\n verifyAccountVerifiedTitle: 'Conta verificada',\n view: 'Visualizar',\n vote: 'Voto',\n voteCount: 'Contagem de votos',\n votePhaseDescription: 'Vote nos grupos que você gostaria de discutir mais',\n voteResultsAverage: 'Média',\n voteResultsHighest: 'Mais alto',\n votingFinish: 'Encerrar votação',\n votingLocked: 'Votação bloqueada',\n votingRestart: 'Recomeçar votação',\n warriorCreate: 'Criar usuário',\n warriorInvite: 'Convide um jogador',\n warriorNudge: 'Cutucar',\n works: 'Funciona',\n writeCommentPlaceholder: 'Escreva um comentário...',\n yesterday: 'Ontem',\n yesterdayPlaceholder: 'Ontem eu...',\n yourRetros: 'Suas Retros',\n yourStoryboards: 'Seus Storyboards',\n addPlan: 'Adicionar história',\n battleNamePlaceholder: 'Digite o nome do jogo',\n autoFinishVotingLabel:\n 'Terminar a votação automaticamente quando todos os jogadores tiverem votado',\n averageRoundingOptions: {\n ceil: 'Para cima (teto)',\n floor: 'Para baixo (chão)',\n round: 'Com base nos decimais (arredondar)',\n },\n apiKeyCreateButton: 'Criar chave de API',\n apiKeyPrefix: 'Prefixo da chave',\n lastUpdated: 'Última atualização',\n apiKeysErrorRetrieving: 'Falha ao obter chaves de API',\n apiKeyDeleteSuccess: 'Chave de API excluída',\n apiKeyDeleteFailed: 'Falha ao excluir chave de API',\n apiKeyUpdateSuccess: 'Chave de API atualizada',\n apiKeyUpdateFailed: 'Falha ao atualizar chave de API',\n deactivate: 'Desativar',\n profileErrorRetrieving: 'Erro ao obter seu perfil',\n profileErrorUpdating: 'Erro ao tentar atualizar seu perfil',\n profileUpdateSuccess: 'Perfil atualizado',\n passwordUpdated: 'Senha atualizada.',\n passwordUpdateError: 'Erro ao tentar atualizar a senha',\n profileDeleteError: 'Erro encontrado ao tentar excluir sua conta.',\n profileTitle: 'Seu perfil',\n profile: 'Profile',\n updatePassword: 'Atualizar senha',\n deleteAccount: 'Excluir conta',\n deleteAccountWarningStatement: 'Tem certeza de que deseja excluir sua conta?',\n deleteConfirmButton: 'Confirmar',\n apiKeyNameInvalid: 'Por favor, digite um nome para a chave',\n apiKeyCreateSuccess:\n 'Nova chave de API {keyName} criada e {onlyNowOpen}será exibida somente agora{onlyNowClose}',\n apiKeyStoreWarning:\n 'Por favor, armazene-o em algum lugar seguro porque assim que você sair desta página, não poderemos recuperar ou restaurar este token gerado.',\n apiKeyLimitReached: 'Você tem o número máximo de chaves de API permitidas.',\n apiKeyUnverifiedUser:\n 'Somente usuários registrados verificados podem criar chaves de API.',\n apiKeyCreateFailed: 'Falha ao criar chave de API',\n apiKeyName: 'Nome da chave',\n apiKeyNamePlaceholder: 'Digite o nome da chave',\n create: 'Criar',\n close: 'Fechar',\n country: 'País',\n company: 'Empresa',\n verified: 'Verificado',\n registeredUsers: 'Usuários Registrados',\n myBattles: 'Meus jogos',\n createBattle: 'Criar um jogo',\n countPlansPointed: '{totalPointed} de {totalPlans} histórias pontuadas',\n myBattlesError: 'Erro ao encontrar seus jogos',\n warriorJoined: '{name} entrou no jogo',\n warriorRetreated: '{name} deixou o jogo',\n planSkipped: 'História ignorada',\n warriorVoted: '{name} votou',\n warriorRetractedVote: '{name} retirou o voto',\n battleDeleted: 'Jogo excluído',\n warriorNudgeMessage: 'tic tac... {name}, esperando você votar.',\n battle: 'Jogo',\n warriors: 'Jogadores',\n battleSocketReconnecting: 'Ooops, recarregando jogo...',\n battleSocketError: 'Erro ao entrar no jogo atualize e tente novamente.',\n battleLoading: 'Carregando jogo...',\n votingNotStarted: 'Votação não iniciada',\n password: 'Senha',\n passwordPlaceholder: 'Digite uma senha',\n yourPasswordPlaceholder: 'Digite sua senha',\n confirmPassword: 'Confirmar Senha',\n confirmPasswordPlaceholder: 'Confirme sua senha',\n update: 'Atualizar',\n reset: 'Redefinir',\n passwordResetError: 'Erro encontrado ao tentar redefinir a senha',\n resetPassword: 'Redefinir Senha',\n registerAsGuest: 'Registrar como Convidado',\n registrationDisabled: 'O cadastro está desativado.',\n userNamePlaceholder: 'Digite seu nome',\n guestRegisterError: 'Erro encontrado ao tentar registrar como convidado',\n registerError: 'Erro encontrado ao tentar registrar conta',\n enlistToBattle: 'Aliste-se para a Batalha',\n loginForBattle: 'ou {loginOpen}Entre{loginClose} para participar do Jogo',\n yourNamePlaceholder: 'Digite seu nome',\n createAccountFormTitle:\n 'Criar uma Conta {optionalOpen}(opcional){optionalClose}',\n sendResetPasswordSuccess:\n 'Instruções sobre como redefinir sua Senha enviadas para {email}',\n sendResetPasswordError:\n 'Erro encontrado ao tentar enviar a redefinição de senha',\n chooseCountryPlaceholder: 'Escolha seu país (opcional)',\n locale: 'Localidade',\n companyPlaceholder: 'Digite o nome de sua empresa (opcional)',\n jobTitle: 'Profissão',\n jobTitlePlaceholder: 'Digite sua profissão (opcional)',\n enableBattleNotifications: 'Ativar notificações do jogo',\n avatar: 'Avatar',\n updateProfile: 'Atualizar Perfil',\n guestUsers: 'Usuários Convidados',\n maintenance: 'Manutenção',\n cleanGuests: 'Limpar Convidados com mais de {daysOld} dias',\n cleanBattles: 'Limpar Jogos com mais de {daysOld} dias',\n chooseLocalePlaceholder: 'Escolha sua localidade preferida (opcional)',\n importPlans: 'Importar Stories',\n selectFile: 'selecionar arquivo...',\n theme: 'Tema',\n assignees: 'Responsáveis',\n assigneeSelectPlaceholder: 'Selecione um responsável para adicionar',\n assigneeAdd: 'Adicionar Responsável',\n allStoryWithCount: 'Todas ({count})',\n userUpdate: 'Update User',\n userUpdateSuccess: 'Successfully updated user.',\n userUpdateError: 'Error updating user.',\n userInvites: 'User Invites',\n userInviteSent: 'User invite sent',\n userInviteConfirmDelete: 'Are you sure you want to delete this user invite?',\n userInviteDelete: 'Delete Invite',\n expireDate: 'Expire Date',\n addUserWillInviteNotFoundFieldNote:\n 'If user is not registered an invite to register and join the {pageType} will be sent.',\n inviteUserFieldNote: 'An invite to join the {pageType} will be sent.',\n requiresOrganizationMember: 'User must already be in Organization.',\n teamUpdateSuccess: 'Team updated successfully',\n teamUpdateError: 'Error updating Team',\n orgUpdateSuccess: 'Organization updated successfully',\n orgUpdateError: 'Error updating Organization',\n deptUpdateSuccess: 'Department updated successfully',\n deptUpdateError: 'Error updating Department',\n hideVoterIdentity: 'Hide Voter Identity',\n storyboardName: 'Storyboard Name',\n storyboardNamePlaceholder: 'Enter a storyboard name',\n retroPhaseTimeLimitMinLabel: 'Brainstorm Phase time limit in minutes',\n phaseAutoAdvanceLabel: 'Automatically advance phases',\n removeOnlyFacilitatorError: \"Can't remove the only facilitator\",\n noGamesFound: 'No games found, try creating one.',\n noRetrosFound: 'No retros found, try creating one.',\n noStoryboardsFound: 'No storyboards found, try creating one.',\n retroDescription:\n 'A sprint retrospective is a review conducted after a sprint that plays a key role in the Agile methodology. A sprint retrospective aims to determine what went well and where you had problems and identify areas where you can improve.',\n pokerDescription:\n 'Scrum poker, also known as “planning poker” and “pointing poker”, is a gamified technique that development teams use to guess the effort of project management tasks. These estimations are based on the entire group’s input and consensus, making them more engaging and accurate than other methods.',\n storyboardDescription:\n 'User story mapping (storyboard) is a visualization of the journey a customer takes with a product, from beginning to end. It includes all the tasks they’d typically complete as part of that journey.',\n estimationScaleNamePlaceholder: 'Enter scale name',\n description: 'Description',\n estimationScaleDescriptionPlaceholder: 'Enter scale description',\n scaleType: 'Scale Type',\n estimationScaleTypePlaceholder: 'Select scale type',\n scaleValues: 'Scale Values',\n estimationScaleValuesPlaceholder: 'Enter comma-separated values',\n estimationScaleValuesHelp:\n 'Enter values separated by commas (e.g., 1, 2, 3, 5, 8)',\n estimationScaleIsPublic: 'Make this scale public',\n estimationScaleDefault: 'Set as default scale',\n estimationScaleSave: 'Save Scale',\n estimationScales: 'Estimation Scales',\n estimationScaleCreate: 'Create Estimation Scale',\n estimationScaleCreateSuccess: 'Estimation scale successfully created',\n estimationScaleCreateError: 'Error creating estimation scale',\n estimationScaleUpdateSuccess: 'Estimation scale successfully updated',\n estimationScaleUpdateError: 'Error updating estimation scale',\n estimationScaleRemoveSuccess: 'Estimation scale successfully removed',\n estimationScaleRemoveError: 'Error removing estimation scale',\n removeEstimationScaleConfirmText:\n 'Are you sure you want to remove this estimation scale?',\n removeEstimationScale: 'Remove Estimation Scale',\n yes: 'Yes',\n no: 'No',\n isPublic: 'Public',\n default: 'Default',\n publicEstimationScales: 'Public Estimation Scales',\n organizationEstimationScales: 'Organization Estimation Scales',\n teamEstimationScales: 'Team Estimation Scales',\n allowCumulativeVotingLabel:\n 'Allow Cumulative Voting (more than 1 vote per item group)',\n activeSubscriptions: 'Active Subscriptions',\n retroTemplates: 'Retro Templates',\n publicRetroTemplates: 'Public Retro Templates',\n organizationRetroTemplates: 'Organization Retro Templates',\n teamRetroTemplates: 'Team Retro Templates',\n retroTemplateNamePlaceholder: 'Enter template name',\n retroTemplateDescriptionPlaceholder: 'Enter template description',\n format: 'Format',\n retroTemplateIsPublic: 'Make this template public',\n retroTemplateSave: 'Save Template',\n retroTemplateCreate: 'Create Retrospective Template',\n retroTemplateCreateSuccess: 'Retrospective template successfully created',\n retroTemplateCreateError: 'Error creating retrospective template',\n retroTemplateUpdateSuccess: 'Retrospective template successfully updated',\n retroTemplateUpdateError: 'Error updating retrospective template',\n retroTemplateRemoveSuccess: 'Retrospective template successfully removed',\n retroTemplateRemoveError: 'Error removing retrospective template',\n removeRetroTemplateConfirmText:\n 'Are you sure you want to remove this retrospective template?',\n removeRetroTemplate: 'Remove Retrospective Template',\n retroTemplateDefault: 'Set as default template',\n};\n\nexport default pt;\n","import type { Translation } from '../i18n-types';\n\nconst ru: Translation = {\n userGuide: 'User Guide',\n privacyPolicy: 'Privacy Policy',\n termsConditions: 'Terms & Conditions',\n support: 'Support',\n abandoned: 'Abandoned',\n actionComments: 'Action Comments',\n actionItem: 'Action Item',\n actionItemPlaceholder: 'Action item...',\n actionItems: 'Action Items',\n actionPhaseDescription:\n 'Add action items, you can no longer group or vote comments',\n actions: 'Actions',\n activate: 'Активировать',\n active: 'Active',\n activeRetros: 'Active Retros',\n activeRetroUsers: 'Active Retro Users',\n activeStoryboards: 'Active Storyboards',\n activeStoryboardUsers: 'Active Storyboard Users',\n addComment: 'Add Comment',\n addPersona: 'Add Persona',\n admin: 'Админка',\n adminCleanOldRetros: 'Clean Retros older than {daysOld} days',\n adminCleanOldStoryboards: 'Clean Storyboards older than {daysOld} days',\n adminPageAdmin: 'Admin',\n adminPageAlerts: 'Alerts',\n adminPageApi: 'API Keys',\n adminPageOrganizations: 'Organizations',\n adminPageTeams: 'Teams',\n adminPageUsers: 'Users',\n adminPageSubscriptions: 'Subscriptions',\n deleteSubscriptionConfirmation:\n 'Are you sure you want to delete this subscription?',\n deleteSubscription: 'Delete Subscription',\n alertAllowDismiss: 'Allow Dismiss',\n alertContent: 'Alert Content',\n alertContentPlaceholder: 'Enter alert content',\n alertCreate: 'Create Alert',\n alertDelete: 'Delete Alert',\n alertDeleteConfirmation: 'Are you sure you want to delete this alert?',\n alertNamePlaceholder: 'Enter an alert name',\n alertRegisteredOnly: 'Registered Only',\n alerts: 'Alerts',\n alertSave: 'Save Alert',\n alertTypePlaceholder: 'Select an alert type',\n allVotesIn: 'All votes in',\n apiDocumentation: 'API Documentation',\n apikeyCopyFailure: \"Couldn't copy API key to clipboard\",\n apikeyCopySuccess: 'API key copied to clipboard',\n apiKeys: 'API Keys',\n applicationStatsError: 'Error getting application stats',\n appName: 'Thunderdome',\n appPreviewAlt: 'Preview of Thunderdome, Agile Planning Poker UI Experience',\n appSubtitle: 'Open Source Agile Planning Poker app',\n appVersion: 'Версия {version}',\n associateTeam: 'Associate Team',\n authError: 'Error encountered attempting to authenticate user',\n autoFinishVoting: 'Auto Finish Voting',\n avatarAltText: 'Placeholder Avatar',\n back: 'Back',\n battleAbandon: 'Покинуть игру',\n battleCreate: 'Создать игру',\n battleDelete: 'Удалить игру',\n battleEdit: 'Редактировать игру',\n battleEditPointsDisabled: 'Нельзя менять карточки пока активно голосование.',\n battleJoin: 'Join Game',\n battleName: 'Название игры',\n battleRemoveError: 'Error attempting to remove game.',\n battleRemoveSuccess: 'Game removed successfully.',\n battles: 'Games',\n battlesActive: 'Active Games',\n battlesActiveUsers: 'Active Game Users',\n becomeFacilitator: 'Become Facilitator',\n becomeLeader: 'Become Leader',\n becomeParticipant: 'Become Participant',\n becomeSpectator: 'Become Spectator',\n blocked: 'Blocked',\n blockers: 'Blockers',\n blockersPlaceholder: \"I'm blocked by...\",\n brainstorm: 'Brainstorm',\n brainstormPhaseDescription: 'Add your comments below',\n brainstormPhaseFeedbackVisibility: 'Brainstorm Phase Feedback Visibility',\n brainstormVisibilityLabelConcealed: 'Feedback Concealed',\n brainstormVisibilityLabelHidden: 'Feedback Hidden',\n brainstormVisibilityLabelVisible: 'Feedback Visible',\n cancel: 'Cancel',\n cannotBeUndone: 'This cannot be undone.',\n checkIn: 'Check In',\n checkinCommentDeleteError: 'Error deleting check in comment',\n checkinCommentError: 'Error commenting on check in',\n checkinError: 'Error checking in',\n checkinMeetYesterdayGoalsQuestion: \"Did you meet yesterday's goals?\",\n checkins: 'Checkins',\n colorLegend: 'Color Legend',\n colorLegendNotSpecified: 'legend not specified',\n comment: 'Comment',\n comments: 'Comments',\n completed: 'Completed',\n conciseVotingResults: 'Concise Voting Results',\n confirmDeleteRetro: 'Are you sure you want to delete this retrospective?',\n createAccount: 'Создать профиль',\n createAccountTagline: `Don't have an account?`,\n createAlertError: 'Error encountered creating alert',\n createAlertSuccess: 'Alert created successfully',\n createARetro: 'Create a Retro',\n createAStoryboard: 'Create a Storyboard',\n createBattleError: 'Ошибка создания игры',\n createOrgError: 'Error attempting to create organization',\n createRetro: 'Create Retro',\n createRetroErrorMessage: 'Error encountered creating retro',\n createStoryboard: 'Create Storyboard',\n createUserError: 'Error encountered creating user',\n customizableBattleOptions: 'Customizable Game Options',\n dateCreated: 'Created Date',\n dateUpdated: 'Updated Date',\n delete: 'Удалить',\n deleteActionItemError: 'Error deleting action item',\n deleteActionItemSuccess: 'Action item deleted successfully',\n deleteAlertError: 'Error attempting to delete alert',\n deleteAlertSuccess: 'Alert deleted successfully',\n deleteBattle: 'Delete Game',\n deleteBattleConfirmText: 'Are you sure you want to delete this game?',\n deleteBattleError: 'error deleting game',\n deleteCheckinError: 'Error deleting check in',\n deleteDepartment: 'Delete Department',\n deleteDepartmentConfirmText:\n 'Are you sure you want to delete this department?',\n deleteOrganization: 'Delete Organization',\n deleteOrganizationConfirmText:\n 'Are you sure you want to delete this organization?',\n deleteRetro: 'Delete Retro',\n deleteRetroErrorMessage: 'error deleting retro',\n deleteStoryboard: 'Delete Storyboard',\n deleteStoryboardErrorMessage: 'error deleting storyboard',\n deleteTeam: 'Delete Team',\n deleteTeamConfirmText: 'Are you sure you want to delete this team?',\n deleteUserError: 'Error encountered deleting user',\n demote: 'Demote',\n demoteUserError: 'Error encountered demoting user',\n department: 'Department',\n departmentCreate: 'Create Department',\n departmentCreateError: 'Error attempting to create department',\n departmentDeleteError: 'Error attempting to delete department',\n departmentDeleteSuccess: 'Department deleted successfully.',\n departmentGetError: 'Error getting department',\n departmentName: 'Department Name',\n departmentNamePlaceholder: 'Enter an department name',\n departments: 'Departments',\n departmentSave: 'Save Department',\n departmentTeamsGetError: 'Error getting department teams',\n departmentUsersGetError: 'Error getting department users',\n discuss: 'Discuss',\n discussPlaceholder: 'I would like to discuss...',\n done: 'Done',\n duplicateRetroSession: 'Duplicate retro session exists for your ID',\n duplicateStoryboardSession: 'Duplicate storyboard session exists for your ID',\n edit: 'Редактировать',\n editColorLegend: 'Edit Legend',\n editRetro: 'Edit Retro',\n editStoryboard: 'Edit Storyboard',\n email: 'Email',\n enterPasscode: 'Enter passcode...',\n enterYourEmail: 'Enter your email',\n execute: 'Execute',\n export: 'Export',\n facilitator: 'Facilitator',\n facilitatorCode: 'Facilitator Code',\n facilitatorCodeOptional: 'Facilitator Code (Optional)',\n facilitatorCodePlaceholder: 'Enter an optional facilitator code',\n finalPoints: 'Итого голосов',\n flag: 'Flag',\n footerAuthoredBy:\n 'is designed and developed by {authorOpen}Steven Weathers{authorClose}.',\n footerLicense:\n 'The source code is licensed {licenseOpen}Apache 2.0{licenseClose}.',\n forgotPassword: 'Forgot Your Password?',\n forgotPasswordSubtext: `Don't fret! Just enter your email and we will send you instructions to reset your password.`,\n returnToLogin: 'Return to Login',\n getAlertsError: 'Error getting alerts',\n getApikeysError: 'Error getting apikeys',\n getBattleError: 'Error getting game',\n getBattlesError: 'Error getting games',\n getCheckinsError: \"Error getting check in's\",\n getOrganizationsError: 'Error getting organizations',\n getRetroErrorMessage: 'error getting retro',\n getRetrosErrorMessage: 'error getting retros',\n getStoryboardErrorMessage: 'error getting storyboard',\n getStoryboardsErrorMessage: 'error getting storyboards',\n getTeamsError: 'Error getting teams',\n getUserError: 'Error getting user',\n getUsersError: 'Error getting users',\n goalsMet: 'Goals Met',\n group: 'Group',\n groupName: 'Group Name',\n groupPhaseDescription: 'Drag and drop comments to group them together',\n hostedDesc:\n '{linkOpen}Thunderdome.dev{linkClose} is a free hosted service (SaaS) without Ads.',\n hostedOrSelfHosted: 'Hosted service or self-hosted',\n importCsv: 'Import stories from a CSV file',\n importCsvFileBadFileTypeError: 'Error bad file type',\n importCsvFileReadFileError: 'Error reading file',\n importJiraXML: 'Import stories from Jira XML',\n importJiraXMLBadFileTypeError: 'Error bad file type',\n importJiraXMLReadFileError: 'Error reading file',\n incorrectPassCode: 'Incorrect passcode',\n inviteLinkCopyFailure: \"Couldn't copy invite link to clipboard\",\n inviteLinkCopySuccess: 'Invite Link copied to clipboard',\n jiraXmlImport: 'Jira XML Import',\n joinCodeCopyFailure: \"Couldn't copy passcode to clipboard\",\n joinCodeCopySuccess: 'Passcode copied to clipboard',\n joinCodeLabelOptional: 'Join Code (Optional)',\n joinCodePlaceholder: 'Enter a join code',\n joinRetro: 'Join Retro',\n joinStoryboard: 'Join Storyboard',\n joinStoryboardError: 'Error joining storyboard, refresh and try again.',\n landingCountries: 'Users in over {count} countries',\n landingFeatureOpenSourceText:\n 'Check out the {repoOpen}Github repository{repoClose} to request or contribute enhancements, locale translations and bug fixes or to {donateOpen}Donate{donateClose}.',\n landingFeatureOpenSourceTitle: 'Open Source',\n landingSalesPitch:\n 'Remote team collaboration with agile story pointing, sprint retrospective, story mapping and async team check-in.',\n landingTitle: 'Thunderdome is an Agile Planning Poker app',\n lastActive: 'Last Active',\n leader: 'Создатель',\n leaderPasscode: 'Leader code',\n leaveRetro: 'Leave Retro',\n leaveStoryboard: 'Leave Storyboard',\n legendRetroPlaceholder: 'Enter a color legend',\n loadingRetro: 'Loading Retro...',\n loadingStoryboard: 'Loading Storyboard...',\n login: 'Войти',\n loginForRetro: 'or {loginOpen}Login{loginClose} to join the Retro',\n loginForStoryboard: 'or {loginOpen}Login{loginClose} to join the Storyboard',\n logout: 'Выйти',\n logoutError: 'Error encountered attempting to logout user',\n makeFacilitator: 'Make Facilitator',\n mfa2faLabel: '2FA/MFA Auth',\n mfa2faRemove: 'Remove 2FA/MFA',\n mfa2faRemoveFailure: 'Failed to remove 2FA/MFA',\n mfa2faRemoveSuccess: '2FA/MFA successfully removed',\n mfa2faRemoveText: 'Are you sure you want to remove 2FA/MFA?',\n mfa2faSetup: 'Setup 2FA/MFA',\n mfaAuthError: 'Error validating authenticator token',\n mfaConfirmToken: 'Confirm Token',\n mfaGenerateFailed: 'failed to start 2FA/MFA setup',\n mfaSecretKeyLabel: 'Secret Key',\n mfaSetupFailed: 'failed to validate 2FA/MFA setup token',\n mfaSetupIntro:\n 'Scan the following QR code with an Authenticator Application (such as Google Authenticator or Authy) and enter the generated token.',\n mfaSetupSuccess: 'successfully enabled 2FA/MFA',\n mfaTokenLabel: 'Authenticator Token',\n mfaTokenPlaceholder: 'Enter token from authenticator app',\n myRetros: 'My Retros',\n myStoryboards: 'My Storyboards',\n name: 'Name',\n needsImprovement: 'Needs Improvement',\n nextPhase: 'Next Phase',\n noComments: 'No comments...',\n oldBattleCleanError: 'Error encountered cleaning games',\n oldGuestsCleanError: 'Error encountered cleaning guests',\n oldRetrosCleanError: 'Error encountered cleaning retros',\n oldStoryboardsCleanError: 'Error encountered cleaning storyboards',\n openSource: 'Open Source',\n optional: '(Optional)',\n optionalLeadercodePlaceholder: 'Optional leader code to become a leader',\n optionalPasscodePlaceholder: 'Optional passcode to join',\n organization: 'Organization',\n organizationCreate: 'Create Organization',\n organizationDeleteError: 'Error attempting to delete organization',\n organizationDeleteSuccess: 'Organization deleted successfully.',\n organizationGetDepartmentsError: 'Error getting organization departments',\n organizationGetError: 'Error getting organization',\n organizationGetTeamsError: 'Error getting organization teams',\n organizationGetUsersError: 'Error getting organization users',\n organizationName: 'Organization Name',\n organizationNamePlaceholder: 'Enter an organization name',\n organizations: 'Organizations',\n organizationsAndTeams: 'Organizations and Teams',\n organizationSave: 'Save Organization',\n owner: 'Owner',\n participation: 'Participation',\n passCode: 'Passcode',\n passCodeRequired: 'Passcode required to join',\n personas: \"Persona's\",\n planAcceptanceCriteria: 'Критерии выполнения',\n planAcceptanceCriteriaPlaceholder: 'Введите критерии выполнения задачи',\n planAdd: 'Add Stories',\n planDescription: 'Описание',\n planDescriptionPlaceholder: 'Введите описание',\n planLink: 'Ссылка',\n planLinkInvalid:\n \"Link isn't a valid absolute URL, e.g. includes protocol (HTTP/HTTPS)\",\n planLinkPlaceholder: 'Enter a link to story',\n planName: 'Story Name',\n planNamePlaceholder: 'Enter a story name',\n planPriority: 'Priority',\n planPriorityBlocker: 'Blocker',\n planPriorityHigh: 'High',\n planPriorityHighest: 'Highest',\n planPriorityLow: 'Low',\n planPriorityLowest: 'Lowest',\n planPriorityMedium: 'Medium',\n planPriorityPlaceholder: 'Select a priority',\n planReferenceId: 'ID ссылки',\n planReferenceIdPlaceholder: 'Введите ID ссылки',\n plans: 'Stories',\n planSkip: 'Skip Story',\n planType: 'Story Type',\n planTypeBug: 'ошибка',\n planTypeEpic: 'эпик',\n planTypePlaceholder: 'Типы задач',\n planTypeSpike: 'spike',\n planTypeStory: 'история',\n planTypeSubtask: 'подзадача',\n planTypeTask: 'задача',\n pointAverageRounding: 'Point Average Rounding',\n pointed: 'Оцененные ({count})',\n points: 'Голоса',\n pointValuesAllowed: 'Point Values Allowed',\n postComment: 'Post Comment',\n primeDirective: 'Prime Directive',\n promote: 'Сделать боссом',\n promoteUserError: 'Error encountered promoting user',\n questions: 'Questions',\n register: 'Register',\n reloadingRetro: 'Oops, reloading Retro...',\n reloadingStoryboard: 'Oops, reloading Storyboard...',\n remove: 'Remove',\n removeBattle: 'Remove Game',\n removeBattleConfirmText: 'Are you sure you want to remove this game?',\n removeRetro: 'Remove Retro',\n removeRetroConfirmText: 'Are you sure you want to remove this retro?',\n removeStoryboard: 'Remove Storyboard',\n removeStoryboardConfirmText:\n 'Are you sure you want to remove this storyboard?',\n removeUser: 'Remove User',\n removeUserConfirmText: 'Are you sure you want to remove this user?',\n requestVerifyEmail: 'Request Verification Email',\n requestVerifyEmailFailure: 'Error attempting to send Verification Email',\n requestVerifyEmailSuccess: 'Verification Email requested, watch your inbox',\n retro: 'Retro',\n retroActionCommentAddError: 'error adding retro action comment',\n retroActionCommentDeleteError: 'error deleting retro action comment',\n retroActionCommentEditError: 'error editing retro action comment',\n retroActionItems: 'Retro Action Items',\n retroAddError: 'Error attempting to add retro.',\n retroAddSuccess: 'Retro added successfully.',\n retroDeleted: 'Retro deleted',\n retroFeedbackConcealed: 'Feedback Concealed',\n retroFeedbackHidden: 'Feedback Hidden',\n retroImprovePlaceholder: 'What needs improvement...',\n retroItems: 'Retro Items',\n retroJoinError: 'Error joining retro, refresh and try again.',\n retroMaxVotesPerUserLabel: 'Max Group Votes (per User)',\n retroName: 'Retro Name',\n retroNamePlaceholder: 'Enter a retro name',\n retroQuestionPlaceholder: 'I want to ask...',\n retroRemoveError: 'Error attempting to remove retro.',\n retroRemoveSuccess: 'Retro removed successfully.',\n retros: 'Retros',\n retroWorkedPlaceholder: 'What worked well...',\n role: 'Role',\n rolePlaceholder: 'Select users role',\n save: 'Сохранить',\n search: 'Search',\n searchLengthError: 'Search value must be at least 3 characters',\n selectTeam: 'Select a Team',\n selfHostedDesc:\n 'Alternatively you can {linkOpen}run it on your own server{linkClose}.',\n sessionDuplicate: 'Duplicate game session exists for your ID',\n showActiveBattles: 'Show Active Games',\n showActiveRetros: 'Show active retros',\n showActiveStoryboards: 'Show active storyboards',\n showBlockedCheckins: 'Show only checkins requiring discussion',\n showCompletedActionItems: 'Show Completed Action Items',\n showVoters: 'Показать проголосовавших',\n skipped: 'Skipped',\n spectator: 'Spectator',\n storyboard: 'Storyboard',\n storyboardAddColumn: 'Add Column',\n storyboardAddError: 'Error attempting to add storyboard.',\n storyboardAddGoal: 'Add Goal',\n storyboardAddStoryToColumn: 'Add Story to Column',\n storyboardAddSuccess: 'Storyboard added successfully.',\n storyboardColumns: 'Storyboard Columns',\n storyboardDeleted: 'Storyboard deleted',\n storyboardEditColumn: 'Edit Column',\n storyboardGoalName: 'Goal name',\n storyboardGoalNamePlaceholder: 'Enter a goal name',\n storyboardGoals: 'Storyboard Goals',\n storyboardPersonas: 'Storyboard Personas',\n storyboardRemoveError: 'Error attempting to remove storyboard.',\n storyboardRemoveSuccess: 'Storyboard removed successfully.',\n storyboards: 'Storyboards',\n storyboardStories: 'Storyboard Stories',\n team: 'Team',\n teamCheckins: 'Team Checkins',\n teamCreate: 'Create Team',\n teamCreateError: 'Error attempting to create team.',\n teamCreateSuccess: 'Team created successfully.',\n teamDeleteError: 'Error attempting to delete team',\n teamDeleteSuccess: 'Team deleted successfully.',\n teamGetBattlesError: 'Error getting team games',\n teamGetError: 'Error getting team',\n teamGetRetroActionsError: 'error getting retro actions',\n teamGetRetrosError: 'Error getting team retros',\n teamGetStoryboardsError: 'Error getting team storyboards',\n teamGetUsersError: 'Error getting team users',\n teamName: 'Team Name',\n teamNamePlaceholder: 'Enter an team name',\n teams: 'Teams',\n teamSave: 'Save Team',\n teamUserRequiredToCheckin: 'User must be in team to check in',\n teamUserRequiredToComment: 'User must be in team to comment',\n today: 'Today',\n todayPlaceholder: 'Today I will...',\n totalPoints: 'Total',\n totalVotes: 'Total Votes',\n type: 'Type',\n unknownWarrior: 'Unknown Player',\n unpointed: 'Неоцененные ({count})',\n updateActionItemError: 'Error updating action item',\n updateActionItemSuccess: 'Action item updated successfully',\n updateAlertError: 'Error encountered updating alert',\n updateAlertSuccess: 'Alert updating successfully',\n updateCheckinError: 'Error updating check in',\n updateComment: 'Update Comment',\n userAdd: 'Add User',\n userAddError: 'Error attempting to add user.',\n userAddSuccess: 'User added successfully.',\n userEmail: 'User Email',\n userEmailPlaceholder: 'Enter the users email',\n userName: 'User Name',\n userRemoveError: 'Error attempting to remove user.',\n userRemoveSuccess: 'User removed successfully.',\n users: 'Users',\n verifyAccount: 'Verify Account',\n verifyAccountFailedError: 'Произошла ошибка верификации.',\n verifyAccountFailedTitle: 'Верификация завершилась ошибкой',\n verifyAccountLoading: 'Подтверждение профиля...',\n verifyAccountVerifiedThanks: 'Спасибо за подтверждение почты.',\n verifyAccountVerifiedTitle: 'Профиль подтвержден',\n view: 'Посмотреть',\n vote: 'Vote',\n voteCount: 'Vote Count',\n votePhaseDescription: \"Vote for the groups you'd like to discuss most\",\n voteResultsAverage: 'Среднее',\n voteResultsHighest: 'Лучшее',\n votingFinish: 'Закончить голосование',\n votingLocked: 'Voting Locked',\n votingRestart: 'Перезапустить голосование',\n warriorCreate: 'Create User',\n warriorInvite: 'Invite a Player',\n warriorNudge: 'Пнуть',\n works: 'Works',\n writeCommentPlaceholder: 'Write a comment...',\n yesterday: 'Yesterday',\n yesterdayPlaceholder: 'Yesterday I...',\n yourRetros: 'Your Retros',\n yourStoryboards: 'Your Storyboards',\n addPlan: 'Add Story',\n battleNamePlaceholder: 'Введите название игры',\n autoFinishVotingLabel: 'Auto Finish Voting when all Players have voted',\n averageRoundingOptions: {\n ceil: 'Ceil',\n floor: 'Floor',\n round: 'Round',\n },\n apiKeyCreateButton: 'Create API Key',\n apiKeyPrefix: 'Key Prefix',\n lastUpdated: 'Last Updated',\n apiKeysErrorRetrieving: 'Failed to get API keys',\n apiKeyDeleteSuccess: 'API Key deleted',\n apiKeyDeleteFailed: 'Failed to delete API Key',\n apiKeyUpdateSuccess: 'API Key updated',\n apiKeyUpdateFailed: 'Failed to update API Key',\n deactivate: 'Deactivate',\n profileErrorRetrieving: 'Error getting your profile',\n profileErrorUpdating: 'Error encountered updating your profile',\n profileUpdateSuccess: 'Profile updated',\n passwordUpdated: 'Password updated.',\n passwordUpdateError: 'Error encountered attempting to update password',\n profileDeleteError: 'Error encountered attempting to delete your account.',\n profileTitle: 'Your Profile',\n profile: 'Profile',\n updatePassword: 'Update Password',\n deleteAccount: 'Delete Account',\n deleteAccountWarningStatement:\n 'Are you sure you want to delete your account?',\n deleteConfirmButton: 'Confirm Delete',\n apiKeyNameInvalid: 'Please enter a key name',\n apiKeyCreateSuccess:\n 'New Api Key {keyName} created and {onlyNowOpen}it will be displayed only now{onlyNowClose}',\n apiKeyStoreWarning:\n 'Please store it somewhere safe because as soon as you navigate away from this page, we will not be able to retrieve or restore this generated token.',\n apiKeyLimitReached: 'You have the max number of API keys allowed.',\n apiKeyUnverifiedUser: 'Only verified registered users can create API keys.',\n apiKeyCreateFailed: 'Failed to create API Key',\n apiKeyName: 'Key Name',\n apiKeyNamePlaceholder: 'Enter a Key Name',\n create: 'Create',\n close: 'Close',\n country: 'Country',\n company: 'Company',\n verified: 'Подтвержден',\n registeredUsers: 'Registered Users',\n myBattles: 'Мои игры',\n createBattle: 'Создать игру',\n countPlansPointed: '{totalPointed} of {totalPlans} stories pointed',\n myBattlesError: 'Ошибка поиска ваших игр',\n warriorJoined: '{name} присоединился к игре',\n warriorRetreated: '{name} покинул игру',\n planSkipped: 'Story skipped',\n warriorVoted: '{name} проголосовал',\n warriorRetractedVote: '{name} убрал оценку',\n battleDeleted: 'Game deleted',\n warriorNudgeMessage: 'Хей... {name}, ждем твоего голоса.',\n battle: 'Игра',\n warriors: 'Players',\n battleSocketReconnecting: 'Ooops reloading Game...',\n battleSocketError: 'Error joining game refresh and try again.',\n battleLoading: 'Loading Game...',\n votingNotStarted: 'Голосование еще не началось',\n password: 'Password',\n passwordPlaceholder: 'Enter a password',\n yourPasswordPlaceholder: 'Enter your password',\n confirmPassword: 'Confirm Password',\n confirmPasswordPlaceholder: 'Confirm your password',\n update: 'Update',\n reset: 'Reset',\n passwordResetError: 'Error encountered attempting to reset password',\n resetPassword: 'Reset Password',\n registerAsGuest: 'Register as Guest',\n registrationDisabled: 'Регистрация отключена.',\n userNamePlaceholder: 'Enter your name',\n guestRegisterError: 'Error encountered trying to register as guest',\n registerError: 'Error encountered trying to register account',\n enlistToBattle: 'Enlist to Battle',\n loginForBattle: 'or {loginOpen}Login{loginClose} to join the Game',\n yourNamePlaceholder: 'Enter your name',\n createAccountFormTitle:\n 'Create an Account {optionalOpen}(optional){optionalClose}',\n sendResetPasswordSuccess: 'Password reset instructions sent to {email}',\n sendResetPasswordError: 'Error encountered attempting to send password reset',\n chooseCountryPlaceholder: 'Choose your country (optional)',\n locale: 'Locale',\n companyPlaceholder: 'Enter your company (optional)',\n jobTitle: 'Job Title',\n jobTitlePlaceholder: 'Enter your job title (optional)',\n enableBattleNotifications: 'Enable game notifications',\n avatar: 'Avatar',\n updateProfile: 'Update Profile',\n guestUsers: 'Guest Users',\n maintenance: 'Maintenance',\n cleanGuests: 'Clean Guests older than {daysOld} days',\n cleanBattles: 'Clean Games older than {daysOld} days',\n chooseLocalePlaceholder: 'Choose your preferred locale (optional)',\n importPlans: 'Import Stories',\n selectFile: 'Select file...',\n theme: 'Theme',\n assignees: 'Assignees',\n assigneeSelectPlaceholder: 'Select an assignee to add',\n assigneeAdd: 'Add Assignee',\n allStoryWithCount: 'All ({count})',\n userUpdate: 'Update User',\n userUpdateSuccess: 'Successfully updated user.',\n userUpdateError: 'Error updating user.',\n userInvites: 'User Invites',\n userInviteSent: 'User invite sent',\n userInviteConfirmDelete: 'Are you sure you want to delete this user invite?',\n userInviteDelete: 'Delete Invite',\n expireDate: 'Expire Date',\n addUserWillInviteNotFoundFieldNote:\n 'If user is not registered an invite to register and join the {pageType} will be sent.',\n inviteUserFieldNote: 'An invite to join the {pageType} will be sent.',\n requiresOrganizationMember: 'User must already be in Organization.',\n teamUpdateSuccess: 'Team updated successfully',\n teamUpdateError: 'Error updating Team',\n orgUpdateSuccess: 'Organization updated successfully',\n orgUpdateError: 'Error updating Organization',\n deptUpdateSuccess: 'Department updated successfully',\n deptUpdateError: 'Error updating Department',\n hideVoterIdentity: 'Hide Voter Identity',\n storyboardName: 'Storyboard Name',\n storyboardNamePlaceholder: 'Enter a storyboard name',\n retroPhaseTimeLimitMinLabel: 'Brainstorm Phase time limit in minutes',\n phaseAutoAdvanceLabel: 'Automatically advance phases',\n removeOnlyFacilitatorError: \"Can't remove the only facilitator\",\n noGamesFound: 'No games found, try creating one.',\n noRetrosFound: 'No retros found, try creating one.',\n noStoryboardsFound: 'No storyboards found, try creating one.',\n retroDescription:\n 'A sprint retrospective is a review conducted after a sprint that plays a key role in the Agile methodology. A sprint retrospective aims to determine what went well and where you had problems and identify areas where you can improve.',\n pokerDescription:\n 'Scrum poker, also known as “planning poker” and “pointing poker”, is a gamified technique that development teams use to guess the effort of project management tasks. These estimations are based on the entire group’s input and consensus, making them more engaging and accurate than other methods.',\n storyboardDescription:\n 'User story mapping (storyboard) is a visualization of the journey a customer takes with a product, from beginning to end. It includes all the tasks they’d typically complete as part of that journey.',\n estimationScaleNamePlaceholder: 'Enter scale name',\n description: 'Description',\n estimationScaleDescriptionPlaceholder: 'Enter scale description',\n scaleType: 'Scale Type',\n estimationScaleTypePlaceholder: 'Select scale type',\n scaleValues: 'Scale Values',\n estimationScaleValuesPlaceholder: 'Enter comma-separated values',\n estimationScaleValuesHelp:\n 'Enter values separated by commas (e.g., 1, 2, 3, 5, 8)',\n estimationScaleIsPublic: 'Make this scale public',\n estimationScaleDefault: 'Set as default scale',\n estimationScaleSave: 'Save Scale',\n estimationScales: 'Estimation Scales',\n estimationScaleCreate: 'Create Estimation Scale',\n estimationScaleCreateSuccess: 'Estimation scale successfully created',\n estimationScaleCreateError: 'Error creating estimation scale',\n estimationScaleUpdateSuccess: 'Estimation scale successfully updated',\n estimationScaleUpdateError: 'Error updating estimation scale',\n estimationScaleRemoveSuccess: 'Estimation scale successfully removed',\n estimationScaleRemoveError: 'Error removing estimation scale',\n removeEstimationScaleConfirmText:\n 'Are you sure you want to remove this estimation scale?',\n removeEstimationScale: 'Remove Estimation Scale',\n yes: 'Yes',\n no: 'No',\n isPublic: 'Public',\n default: 'Default',\n publicEstimationScales: 'Public Estimation Scales',\n organizationEstimationScales: 'Organization Estimation Scales',\n teamEstimationScales: 'Team Estimation Scales',\n allowCumulativeVotingLabel:\n 'Allow Cumulative Voting (more than 1 vote per item group)',\n activeSubscriptions: 'Active Subscriptions',\n retroTemplates: 'Retro Templates',\n publicRetroTemplates: 'Public Retro Templates',\n organizationRetroTemplates: 'Organization Retro Templates',\n teamRetroTemplates: 'Team Retro Templates',\n retroTemplateNamePlaceholder: 'Enter template name',\n retroTemplateDescriptionPlaceholder: 'Enter template description',\n format: 'Format',\n retroTemplateIsPublic: 'Make this template public',\n retroTemplateSave: 'Save Template',\n retroTemplateCreate: 'Create Retrospective Template',\n retroTemplateCreateSuccess: 'Retrospective template successfully created',\n retroTemplateCreateError: 'Error creating retrospective template',\n retroTemplateUpdateSuccess: 'Retrospective template successfully updated',\n retroTemplateUpdateError: 'Error updating retrospective template',\n retroTemplateRemoveSuccess: 'Retrospective template successfully removed',\n retroTemplateRemoveError: 'Error removing retrospective template',\n removeRetroTemplateConfirmText:\n 'Are you sure you want to remove this retrospective template?',\n removeRetroTemplate: 'Remove Retrospective Template',\n retroTemplateDefault: 'Set as default template',\n};\n\nexport default ru;\n","// This file was auto-generated by 'typesafe-i18n'. Any manual changes will be overwritten.\n/* eslint-disable */\n\nimport { initFormatters } from './formatters';\nimport type { Locales, Translations } from './i18n-types';\nimport { loadedFormatters, loadedLocales, locales } from './i18n-util';\n\nimport de from './de';\nimport en from './en';\nimport es from './es';\nimport fa from './fa';\nimport fr from './fr';\nimport it from './it';\nimport pt from './pt';\nimport ru from './ru';\n\nconst localeTranslations = {\n de,\n en,\n es,\n fa,\n fr,\n it,\n pt,\n ru,\n};\n\nexport const loadLocale = (locale: Locales): void => {\n if (loadedLocales[locale]) return;\n\n loadedLocales[locale] = localeTranslations[locale] as unknown as Translations;\n loadFormatters(locale);\n};\n\nexport const loadAllLocales = (): void => locales.forEach(loadLocale);\n\nexport const loadFormatters = (locale: Locales): void =>\n void (loadedFormatters[locale] = initFormatters(locale));\n","\n\n\n
      \n \n {#if inviteProcessed}\n {#if inviteErr !== ''}\n \n \n Failure\n
      \n
      \n Error processing invite
      \n {inviteErr}\n
      \n {:else}\n \n \n Success\n \n
      \n You have successfully joined the {inviteType}
      \n {inviteDetails.name}\n
      \n
      \n \n Continue\n \n
      \n {/if}\n {/if}\n \n \n
      \n","\n\n
      \n
      \n
      \n

      \n Sprint Retrospectives with \n Thunderdome\n \n

      \n

      \n Elevate your team's performance with powerful, insightful retrospective\n tools.\n

      \n
      \n
      \n
      \n\n
      \n
      \n
      \n
      \n \n Empower Your Team's Continuous Improvement\n \n
      \n

      \n Sprint retrospectives are crucial for agile teams to reflect, learn, and\n adapt. Thunderdome's Retrospective tool transforms this essential practice\n into an engaging and actionable experience, helping teams to:\n

      \n
        \n
      • Identify and address challenges quickly
      • \n
      • Celebrate successes and boost team morale
      • \n
      • Foster a culture of open communication
      • \n
      • Track progress on improvement initiatives
      • \n
      • Drive continuous enhancement of processes and practices
      • \n
      \n
      \n\n
      \n
      \n
      \n
      \n
      \n \n Customizable Retro Formats\n \n
      \n
        \n
      • \n Choose from popular templates like Start/Stop/Continue, 4Ls, and\n Mad/Sad/Glad\n \n \n \n \n
      • \n
      • \n Easily switch between formats to keep retrospectives fresh and\n engaging\n
      • \n
      • \n Flexible column structure adapts to different retrospective\n approaches\n
      • \n
      \n
      \n
      \n
      \n
      \n\n
      \n
      \n
      \n
      \n \n Real-time Collaboration\n \n
      \n
        \n
      • \n Enable seamless participation for both co-located and distributed\n teams\n
      • \n
      • \n Facilitate discussions with built-in commenting and voting features\n
      • \n
      • \n Assign facilitator roles to guide the retro process effectively\n
      • \n
      • Use anonymity options to encourage open and honest feedback
      • \n
      \n
      \n
      \n
      \n
      \n\n
      \n
      \n
      \n
      \n \n Action Item Tracking\n \n
      \n
        \n
      • \n Create and assign action items directly from retro discussions\n
      • \n
      • Track progress on action items across multiple sprints
      • \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n\n
      \n
      \n

      \n Ready to supercharge your retrospectives?\n

      \n

      \n Join thousands of agile teams using Thunderdome's Retrospective tool to\n drive continuous improvement and team excellence.\n

      \n
      \n
      \n \n \n Login\n \n
      or
      \n \n Register\n \n
      \n

      to get started

      \n
      \n
      \n
      \n\n","\n\n
      \n
      \n
      \n

      \n Agile Poker Planning with \n Thunderdome\n \n

      \n

      \n Streamline your sprint planning process with our intuitive and powerful\n poker planning tool.\n

      \n
      \n
      \n
      \n\n
      \n
      \n
      \n
      \n \n Elevate Your Estimations\n \n
      \n

      \n Agile Poker Planning is a consensus-based estimation technique used in\n agile software development. It's a powerful method that helps teams\n collaboratively estimate the effort required for user stories or tasks. By\n using Thunderdome's Poker Planning tool, teams can:\n

      \n
        \n
      • Encourage team participation and engagement
      • \n
      • Reduce influence bias in estimations
      • \n
      • Promote discussion and alignment on project scope
      • \n
      • Improve estimation accuracy over time
      • \n
      • Streamline the sprint planning process
      • \n
      \n

      \n Thunderdome's Poker Planning tool transforms this essential practice into\n a seamless, engaging, and actionable experience for agile teams of all\n sizes and industries.\n

      \n
      \n\n
      \n
      \n
      \n
      \n
      \n \n Custom Estimation Scales\n \n
      \n
        \n
      • \n Choose from predefined scales like Fibonacci or create your own\n custom estimation scales\n
      • \n
      • \n Tailor scales to fit your team's unique needs and project\n requirements\n
      • \n
      • \n Easily switch between different scales for various project types\n
      • \n
      • \n Include special cards like \"?\" or \"∞\" for handling uncertainties\n
      • \n
      \n
      \n
      \n
      \n
      \n\n
      \n
      \n
      \n
      \n \n Real-time Collaboration\n \n
      \n
        \n
      • \n Conduct poker planning sessions with your team in real-time,\n regardless of location\n
      • \n
      • Seamless multi-user participation with instant updates
      • \n
      • Suitable for both co-located and distributed agile teams
      • \n
      \n
      \n
      \n
      \n
      \n\n
      \n
      \n
      \n
      \n \n Voting Visibility Control\n \n
      \n
        \n
      • \n Choose whether to show or hide voter identities to reduce bias\n
      • \n
      • \n Reveal all estimates simultaneously to encourage independent\n thinking\n
      • \n
      • \n Easily identify outliers and facilitate discussions on estimate\n differences\n
      • \n
      \n
      \n
      \n
      \n
      \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      \n
      \n\n
      \n
      \n

      \n Ready to revolutionize your sprint planning?\n

      \n

      \n Join thousands of agile teams using Thunderdome's Poker Planning tool to\n streamline their estimation process and boost productivity.\n

      \n
      \n
      \n \n \n Login\n \n
      or
      \n \n Register\n \n
      \n

      to get started

      \n
      \n
      \n
      \n\n","\n\n
      \n
      \n
      \n

      \n Story Mapping with \n Thunderdome\n \n

      \n

      \n Visualize your product backlog and create better user experiences with\n our powerful story mapping tool.\n

      \n
      \n
      \n
      \n\n
      \n
      \n
      \n
      \n \n Unleash the Power of Story Mapping\n \n
      \n

      \n Story mapping is a collaborative practice that helps teams visualize the\n user journey, identify gaps in the product backlog, and prioritize\n development efforts. With Thunderdome's Story Mapping tool, teams can:\n

      \n
        \n
      • Create a shared understanding of the user experience
      • \n
      • Identify and prioritize features based on user value
      • \n
      • Plan releases and sprints more effectively
      • \n
      • Facilitate better communication between stakeholders
      • \n
      • Continuously refine and evolve the product vision
      • \n
      \n

      \n Thunderdome's Story Mapping tool transforms this essential practice into\n an intuitive, collaborative, and actionable experience for product teams\n of all sizes and industries.\n

      \n
      \n\n
      \n
      \n
      \n
      \n
      \n \n Intuitive Visual Interface\n \n
      \n
        \n
      • Drag-and-drop interface for easy story organization
      • \n
      • \n Customizable columns and swimlanes to represent user activities and\n iterations\n
      • \n
      • Color-coding and tagging for improved story categorization
      • \n
      \n
      \n
      \n
      \n
      \n\n
      \n
      \n
      \n
      \n \n Collaborative Mapping\n \n
      \n
        \n
      • Real-time collaboration for distributed teams
      • \n
      • Multi-user editing with instant updates
      • \n
      • In-context commenting and discussions
      • \n
      \n
      \n
      \n
      \n
      \n\n
      \n
      \n
      \n
      \n \n Flexible Story Management\n \n
      \n
        \n
      • Create, edit, and prioritize user stories within the map
      • \n
      • Add descriptions, acceptance criteria, and story points
      • \n
      \n
      \n
      \n
      \n
      \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      \n
      \n\n
      \n
      \n

      \n Ready to elevate your product planning?\n

      \n

      \n Join innovative product teams using Thunderdome's Story Mapping tool to\n create better user experiences and deliver value faster.\n

      \n
      \n
      \n \n \n Login\n \n
      or
      \n \n Register\n \n
      \n

      to get started

      \n
      \n
      \n
      \n\n","\n\n\n {$LL.retroTemplates()}\n {$LL.admin()} | {$LL.appName()}\n\n\n\n \n\n","\n\n\n\n
      \n \n\n \n
      \n\n
      \n \n
      \n\n\n","import App from './App.svelte';\nimport { mount } from 'svelte';\n\ndeclare global {\n interface Window {\n app: any;\n }\n}\n\nconst app = mount(App, {\n target: document.body,\n});\nwindow.app = app;\n\nexport default app;\n"],"file":"assets/index-BUw4HAqK.js"}