From e39e8bd907b59b01c77e948605eba7e658f983aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E7=B2=BE=E5=8D=8E?= <842761733@qq.com> Date: Tue, 17 Oct 2023 18:15:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0xlsx=E9=A2=84=E8=A7=88?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xlsx/assets/iconfont/demo_index.html | 892 +- .../static/xlsx/assets/iconfont/iconfont.css | 6 +- .../resources/static/xlsx/css/luckysheet.css | 8599 +- .../static/xlsx/demoData/demoFeature.js | 24 +- .../resources/static/xlsx/luckyexcel.umd.js | 24496 ++- .../resources/static/xlsx/luckysheet.umd.js | 136830 +-------------- .../static/xlsx/luckysheet.umd.js.map | 7 - .../static/xlsx/plugins/css/pluginsCss.css | 688 +- .../static/xlsx/plugins/js/plugin.js | 250 +- .../resources/static/xlsx/plugins/plugins.css | 141 +- 10 files changed, 15695 insertions(+), 156238 deletions(-) delete mode 100644 server/src/main/resources/static/xlsx/luckysheet.umd.js.map diff --git a/server/src/main/resources/static/xlsx/assets/iconfont/demo_index.html b/server/src/main/resources/static/xlsx/assets/iconfont/demo_index.html index b24698ab..4b7553b0 100644 --- a/server/src/main/resources/static/xlsx/assets/iconfont/demo_index.html +++ b/server/src/main/resources/static/xlsx/assets/iconfont/demo_index.html @@ -22,674 +22,674 @@
  • Font class
  • Symbol
  • - + 查看项目 - +

    Unicode 引用

    @@ -739,997 +739,997 @@
      - +
    • - +
      链接
      .luckysheet-iconfont-lianjie
    • - +
    • - +
      打印区域
      .luckysheet-iconfont-dayinquyu
    • - +
    • - +
      打印页面配置
      .luckysheet-iconfont-dayinyemianpeizhi
    • - +
    • - +
      打印标题
      .luckysheet-iconfont-dayinbiaoti
    • - +
    • - +
      分页预览
      .luckysheet-iconfont-fenyeyulan
    • - +
    • - +
      普通
      .luckysheet-iconfont-putong
    • - +
    • - +
      页面布局
      .luckysheet-iconfont-yemianbuju
    • - +
    • - +
      表格锁定
      .luckysheet-iconfont-biaogesuoding
    • - +
    • - +
      转到
      .luckysheet-iconfont-zhuandao1
    • - +
    • - +
      右箭头
      .luckysheet-iconfont-youjiantou
    • - +
    • - +
      菜单
      .luckysheet-iconfont-caidan2
    • - +
    • - +
      替换
      .luckysheet-iconfont-tihuan
    • - +
    • - +
      冻结
      .luckysheet-iconfont-dongjie1
    • - +
    • - +
      .luckysheet-iconfont-jian1
    • - +
    • - +
      .luckysheet-iconfont-jia1
    • - +
    • - +
      溢出
      .luckysheet-iconfont-yichu1
    • - +
    • - +
      升序
      .luckysheet-iconfont-shengxu1
    • - +
    • - +
      内框线
      .luckysheet-iconfont-neikuangxian
    • - +
    • - +
      清除筛选
      .luckysheet-iconfont-qingchushaixuan
    • - +
    • - +
      文本向上
      .luckysheet-iconfont-wenbenxiangshang
    • - +
    • - +
      降序
      .luckysheet-iconfont-jiangxu1
    • - +
    • - +
      内框横线
      .luckysheet-iconfont-neikuanghengxian
    • - +
    • - +
      内框竖线
      .luckysheet-iconfont-neikuangshuxian
    • - +
    • - +
      自定义排序
      .luckysheet-iconfont-zidingyipaixu
    • - +
    • - +
      logo2
      .luckysheet-iconfont-logo2
    • - +
    • - +
      logo
      .luckysheet-iconfont-logo
    • - +
    • - +
      文本倾斜
      .luckysheet-iconfont-wenbenqingxie1
    • - +
    • - +
      加粗
      .luckysheet-iconfont-jiacu
    • - +
    • - +
      搜索
      .luckysheet-iconfont-sousuo
    • - +
    • - +
      关闭
      .luckysheet-iconfont-guanbi
    • - +
    • - +
      下一个
      .luckysheet-iconfont-xiayige
    • - +
    • - +
      下拉
      .luckysheet-iconfont-xiala
    • - +
    • - +
      文本颜色
      .luckysheet-iconfont-wenbenyanse
    • - +
    • - +
      上一个
      .luckysheet-iconfont-shangyige
    • - +
    • - +
      数据透视
      .luckysheet-iconfont-shujutoushi
    • - +
    • - +
      填充
      .luckysheet-iconfont-tianchong
    • - +
    • - +
      增加小数位
      .luckysheet-iconfont-zengjiaxiaoshuwei
    • - +
    • - +
      编辑2
      .luckysheet-iconfont-bianji2
    • - +
    • - +
      截屏
      .luckysheet-iconfont-jieping
    • - +
    • - +
      减小小数位
      .luckysheet-iconfont-jianxiaoxiaoshuwei
    • - +
    • - +
      菜单
      .luckysheet-iconfont-caidan
    • - +
    • - +
      数据库
      .luckysheet-iconfont-shujuku
    • - +
    • - +
      无边框
      .luckysheet-iconfont-wubiankuang
    • - +
    • - +
      编辑
      .luckysheet-iconfont-bianji
    • - +
    • - +
      清除样式
      .luckysheet-iconfont-qingchuyangshi
    • - +
    • - +
      删除
      .luckysheet-iconfont-shanchu
    • - +
    • - +
      文本居中对齐
      .luckysheet-iconfont-wenbenjuzhongduiqi
    • - +
    • - +
      打印
      .luckysheet-iconfont-dayin
    • - +
    • - +
      文本分割
      .luckysheet-iconfont-wenbenfenge
    • - +
    • - +
      函数‘
      .luckysheet-iconfont-hanshu
    • - +
    • - +
      降序
      .luckysheet-iconfont-jiangxu
    • - +
    • - +
      顶部对齐
      .luckysheet-iconfont-dingbuduiqi
    • - +
    • - +
      图片
      .luckysheet-iconfont-tupian
    • - +
    • - +
      向下90
      .luckysheet-iconfont-xiangxia90
    • - +
    • - +
      竖排文字
      .luckysheet-iconfont-shupaiwenzi
    • - +
    • - +
      全加边框
      .luckysheet-iconfont-quanjiabiankuang
    • - +
    • - +
      升序
      .luckysheet-iconfont-shengxu
    • - +
    • - +
      裁剪
      .luckysheet-iconfont-caijian
    • - +
    • - +
      金额
      .luckysheet-iconfont-jine
    • - +
    • - +
      菜单1
      .luckysheet-iconfont-caidan1
    • - +
    • - +
      取消合并
      .luckysheet-iconfont-quxiaohebing
    • - +
    • - +
      文本下划线
      .luckysheet-iconfont-wenbenxiahuaxian
    • - +
    • - +
      上边框
      .luckysheet-iconfont-shangbiankuang
    • - +
    • - +
      定位
      .luckysheet-iconfont-dingwei
    • - +
    • - +
      四周加边框
      .luckysheet-iconfont-sizhoujiabiankuang
    • - +
    • - +
      侧边栏收起
      .luckysheet-iconfont-cebianlanshouqi
    • - +
    • - +
      合并
      .luckysheet-iconfont-hebing
    • - +
    • - +
      向上倾斜
      .luckysheet-iconfont-xiangshangqingxie
    • - +
    • - +
      水平对齐
      .luckysheet-iconfont-shuipingduiqi
    • - +
    • - +
      文本删除线
      .luckysheet-iconfont-wenbenshanchuxian
    • - +
    • - +
      文本右对齐
      .luckysheet-iconfont-wenbenyouduiqi
    • - +
    • - +
      前进
      .luckysheet-iconfont-qianjin
    • - +
    • - +
      图表
      .luckysheet-iconfont-tubiao
    • - +
    • - +
      右边框
      .luckysheet-iconfont-youbiankuang
    • - +
    • - +
      百分号
      .luckysheet-iconfont-baifenhao
    • - +
    • - +
      格式刷
      .luckysheet-iconfont-geshishua
    • - +
    • - +
      保存
      .luckysheet-iconfont-baocun
    • - +
    • - +
      数据验证
      .luckysheet-iconfont-shujuyanzheng
    • - +
    • - +
      截断
      .luckysheet-iconfont-jieduan
    • - +
    • - +
      格式条件
      .luckysheet-iconfont-geshitiaojian
    • - +
    • - +
      自动换行
      .luckysheet-iconfont-zidonghuanhang
    • - +
    • - +
      侧边栏展开
      .luckysheet-iconfont-cebianlanzhankai
    • - +
    • - +
      筛选2
      .luckysheet-iconfont-shaixuan2
    • - +
    • - +
      向下倾斜
      .luckysheet-iconfont-xiangxiaqingxie
    • - +
    • - +
      溢出
      .luckysheet-iconfont-yichu
    • - +
    • - +
      垂直合并
      .luckysheet-iconfont-chuizhihebing
    • - +
    • - +
      文本分散对齐
      .luckysheet-iconfont-wenbenfensanduiqi
    • - +
    • - +
      左边框
      .luckysheet-iconfont-zuobiankuang
    • - +
    • - +
      分页查看
      .luckysheet-iconfont-fenyechakan
    • - +
    • - +
      运行
      .luckysheet-iconfont-yunhang
    • - +
    • - +
      .luckysheet-iconfont-lie
    • - +
    • - +
      全屏
      .luckysheet-iconfont-quanping
    • - +
    • - +
      筛选
      .luckysheet-iconfont-shaixuan
    • - +
    • - +
      更新
      .luckysheet-iconfont-gengxin
    • - +
    • - +
      清除
      .luckysheet-iconfont-qingchu
    • - +
    • - +
      .luckysheet-iconfont-hang
    • - +
    • - +
      注释
      .luckysheet-iconfont-zhushi
    • - +
    • - +
      .luckysheet-iconfont-jian
    • - +
    • - +
      计算
      .luckysheet-iconfont-jisuan
    • - +
    • - +
      .luckysheet-iconfont-jia
    • - +
    • - +
      底部对齐
      .luckysheet-iconfont-dibuduiqi
    • - +
    • - +
      向上90
      .luckysheet-iconfont-xiangshang90
    • - +
    • - +
      无选装
      .luckysheet-iconfont-wuxuanzhuang
    • - +
    • - +
      显示隐藏网格
      .luckysheet-iconfont-xianshiyincangwangge
    • - +
    • - +
      冻结
      .luckysheet-iconfont-dongjie
    • - +
    • - +
      文本左对齐
      .luckysheet-iconfont-wenbenzuoduiqi
    • - +
    • - +
      后退
      .luckysheet-iconfont-houtui
    • - +
    • - +
      水平合并
      .luckysheet-iconfont-shuipinghebing
    • - +
    • - +
      下边框
      .luckysheet-iconfont-xiabiankuang
    • - +
    • - +
      设置
      .luckysheet-iconfont-shezhi
    • - +

    font-class 引用

    @@ -1748,7 +1748,7 @@
    <link rel="stylesheet" href="./iconfont.css">
     

    第二步:挑选相应图标并获取类名,应用于页面:

    -
    <span class="iconfont luckysheet-iconfont-xxx"></span>
    +
    <span class="iconfont-luckysheet luckysheet-iconfont-xxx"></span>
     

    " @@ -1758,7 +1758,7 @@

      - +
    • 链接
      #luckysheet-iconfont-lianjie
    • - +
    • 打印区域
      #luckysheet-iconfont-dayinquyu
    • - +
    • 打印页面配置
      #luckysheet-iconfont-dayinyemianpeizhi
    • - +
    • 打印标题
      #luckysheet-iconfont-dayinbiaoti
    • - +
    • 分页预览
      #luckysheet-iconfont-fenyeyulan
    • - +
    • 普通
      #luckysheet-iconfont-putong
    • - +
    • 页面布局
      #luckysheet-iconfont-yemianbuju
    • - +
    • 表格锁定
      #luckysheet-iconfont-biaogesuoding
    • - +
    • 转到
      #luckysheet-iconfont-zhuandao1
    • - +
    • 右箭头
      #luckysheet-iconfont-youjiantou
    • - +
    • 菜单
      #luckysheet-iconfont-caidan2
    • - +
    • 替换
      #luckysheet-iconfont-tihuan
    • - +
    • 冻结
      #luckysheet-iconfont-dongjie1
    • - +
    • #luckysheet-iconfont-jian1
    • - +
    • #luckysheet-iconfont-jia1
    • - +
    • 溢出
      #luckysheet-iconfont-yichu1
    • - +
    • 升序
      #luckysheet-iconfont-shengxu1
    • - +
    • 内框线
      #luckysheet-iconfont-neikuangxian
    • - +
    • 清除筛选
      #luckysheet-iconfont-qingchushaixuan
    • - +
    • 文本向上
      #luckysheet-iconfont-wenbenxiangshang
    • - +
    • 降序
      #luckysheet-iconfont-jiangxu1
    • - +
    • 内框横线
      #luckysheet-iconfont-neikuanghengxian
    • - +
    • 内框竖线
      #luckysheet-iconfont-neikuangshuxian
    • - +
    • 自定义排序
      #luckysheet-iconfont-zidingyipaixu
    • - +
    • logo2
      #luckysheet-iconfont-logo2
    • - +
    • logo
      #luckysheet-iconfont-logo
    • - +
    • 文本倾斜
      #luckysheet-iconfont-wenbenqingxie1
    • - +
    • 加粗
      #luckysheet-iconfont-jiacu
    • - +
    • 搜索
      #luckysheet-iconfont-sousuo
    • - +
    • 关闭
      #luckysheet-iconfont-guanbi
    • - +
    • 下一个
      #luckysheet-iconfont-xiayige
    • - +
    • 下拉
      #luckysheet-iconfont-xiala
    • - +
    • 文本颜色
      #luckysheet-iconfont-wenbenyanse
    • - +
    • 上一个
      #luckysheet-iconfont-shangyige
    • - +
    • 数据透视
      #luckysheet-iconfont-shujutoushi
    • - +
    • 填充
      #luckysheet-iconfont-tianchong
    • - +
    • 增加小数位
      #luckysheet-iconfont-zengjiaxiaoshuwei
    • - +
    • 编辑2
      #luckysheet-iconfont-bianji2
    • - +
    • 截屏
      #luckysheet-iconfont-jieping
    • - +
    • 减小小数位
      #luckysheet-iconfont-jianxiaoxiaoshuwei
    • - +
    • 菜单
      #luckysheet-iconfont-caidan
    • - +
    • 数据库
      #luckysheet-iconfont-shujuku
    • - +
    • 无边框
      #luckysheet-iconfont-wubiankuang
    • - +
    • 编辑
      #luckysheet-iconfont-bianji
    • - +
    • 清除样式
      #luckysheet-iconfont-qingchuyangshi
    • - +
    • 删除
      #luckysheet-iconfont-shanchu
    • - +
    • 文本居中对齐
      #luckysheet-iconfont-wenbenjuzhongduiqi
    • - +
    • 打印
      #luckysheet-iconfont-dayin
    • - +
    • 文本分割
      #luckysheet-iconfont-wenbenfenge
    • - +
    • 函数‘
      #luckysheet-iconfont-hanshu
    • - +
    • 降序
      #luckysheet-iconfont-jiangxu
    • - +
    • 顶部对齐
      #luckysheet-iconfont-dingbuduiqi
    • - +
    • 图片
      #luckysheet-iconfont-tupian
    • - +
    • 向下90
      #luckysheet-iconfont-xiangxia90
    • - +
    • 竖排文字
      #luckysheet-iconfont-shupaiwenzi
    • - +
    • 全加边框
      #luckysheet-iconfont-quanjiabiankuang
    • - +
    • 升序
      #luckysheet-iconfont-shengxu
    • - +
    • 裁剪
      #luckysheet-iconfont-caijian
    • - +
    • 金额
      #luckysheet-iconfont-jine
    • - +
    • 菜单1
      #luckysheet-iconfont-caidan1
    • - +
    • 取消合并
      #luckysheet-iconfont-quxiaohebing
    • - +
    • 文本下划线
      #luckysheet-iconfont-wenbenxiahuaxian
    • - +
    • 上边框
      #luckysheet-iconfont-shangbiankuang
    • - +
    • 定位
      #luckysheet-iconfont-dingwei
    • - +
    • 四周加边框
      #luckysheet-iconfont-sizhoujiabiankuang
    • - +
    • 侧边栏收起
      #luckysheet-iconfont-cebianlanshouqi
    • - +
    • 合并
      #luckysheet-iconfont-hebing
    • - +
    • 向上倾斜
      #luckysheet-iconfont-xiangshangqingxie
    • - +
    • 水平对齐
      #luckysheet-iconfont-shuipingduiqi
    • - +
    • 文本删除线
      #luckysheet-iconfont-wenbenshanchuxian
    • - +
    • 文本右对齐
      #luckysheet-iconfont-wenbenyouduiqi
    • - +
    • 前进
      #luckysheet-iconfont-qianjin
    • - +
    • 图表
      #luckysheet-iconfont-tubiao
    • - +
    • 右边框
      #luckysheet-iconfont-youbiankuang
    • - +
    • 百分号
      #luckysheet-iconfont-baifenhao
    • - +
    • 格式刷
      #luckysheet-iconfont-geshishua
    • - +
    • 保存
      #luckysheet-iconfont-baocun
    • - +
    • 数据验证
      #luckysheet-iconfont-shujuyanzheng
    • - +
    • 截断
      #luckysheet-iconfont-jieduan
    • - +
    • 格式条件
      #luckysheet-iconfont-geshitiaojian
    • - +
    • 自动换行
      #luckysheet-iconfont-zidonghuanhang
    • - +
    • 侧边栏展开
      #luckysheet-iconfont-cebianlanzhankai
    • - +
    • 筛选2
      #luckysheet-iconfont-shaixuan2
    • - +
    • 向下倾斜
      #luckysheet-iconfont-xiangxiaqingxie
    • - +
    • 溢出
      #luckysheet-iconfont-yichu
    • - +
    • 垂直合并
      #luckysheet-iconfont-chuizhihebing
    • - +
    • 文本分散对齐
      #luckysheet-iconfont-wenbenfensanduiqi
    • - +
    • 左边框
      #luckysheet-iconfont-zuobiankuang
    • - +
    • 分页查看
      #luckysheet-iconfont-fenyechakan
    • - +
    • 运行
      #luckysheet-iconfont-yunhang
    • - +
    • #luckysheet-iconfont-lie
    • - +
    • 全屏
      #luckysheet-iconfont-quanping
    • - +
    • 筛选
      #luckysheet-iconfont-shaixuan
    • - +
    • 更新
      #luckysheet-iconfont-gengxin
    • - +
    • 清除
      #luckysheet-iconfont-qingchu
    • - +
    • #luckysheet-iconfont-hang
    • - +
    • 注释
      #luckysheet-iconfont-zhushi
    • - +
    • #luckysheet-iconfont-jian
    • - +
    • 计算
      #luckysheet-iconfont-jisuan
    • - +
    • #luckysheet-iconfont-jia
    • - +
    • 底部对齐
      #luckysheet-iconfont-dibuduiqi
    • - +
    • 向上90
      #luckysheet-iconfont-xiangshang90
    • - +
    • 无选装
      #luckysheet-iconfont-wuxuanzhuang
    • - +
    • 显示隐藏网格
      #luckysheet-iconfont-xianshiyincangwangge
    • - +
    • 冻结
      #luckysheet-iconfont-dongjie
    • - +
    • 文本左对齐
      #luckysheet-iconfont-wenbenzuoduiqi
    • - +
    • 后退
      #luckysheet-iconfont-houtui
    • - +
    • 水平合并
      #luckysheet-iconfont-shuipinghebing
    • - +
    • 下边框
      #luckysheet-iconfont-xiabiankuang
    • - +
    • 设置
      #luckysheet-iconfont-shezhi
    • - +

    Symbol 引用

    diff --git a/server/src/main/resources/static/xlsx/assets/iconfont/iconfont.css b/server/src/main/resources/static/xlsx/assets/iconfont/iconfont.css index d76bed69..d6543811 100644 --- a/server/src/main/resources/static/xlsx/assets/iconfont/iconfont.css +++ b/server/src/main/resources/static/xlsx/assets/iconfont/iconfont.css @@ -1,4 +1,4 @@ -@font-face {font-family: "iconfont"; +@font-face {font-family: "iconfont-luckysheet"; src: url('iconfont.eot?t=1605236775724'); /* IE9 */ src: url('iconfont.eot?t=1605236775724#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAACJQAAsAAAAAVKgAACH9AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCObgqBghDoEwE2AiQDgygLgVYABCAFhG0HimMbCkZ1hhxsHACQvM8iooIUIPv/vyU3hoisQDP7oxQspFSOEhyEI964SGdpHgbZQdChvkX9Xd97nQ+VaIq7d5noG8yfVj6tSWbtWNLPqLzFBpnESCbt5xn252+nSxLNW5sNpeTh+f39/481976wz7uPRtUHGDrbrw4ZrEQ+o9sQS7AOLVwR9wAYHufsX4sltIw2UGCOWN/DZAYtWnRGXhjMYFsLlBOm6ZgkU7ixOUVm3hSYSZmdcy3Ttndf4ESBU8/fv9PPcyR7254j2T+y/RCTRQgUIXDBiWYbMHXqvsls3dZt8yP9Sr8UeI/jYBECy2DQpVnHImNkw4UQi/rrnSeKbo3ABwpVbnt7MIAxZW53t9DyQ2dMry7DVAd+ALjBeSGPOIh9Xfq3yXEPE8N0ZWvf3u79xy5A2HKIRLDVxEQAD/zfm+lMLBjA+E0Di+KU9uanlEK1W7V0DFgDrXU7yJ4lXCBcov15demKDpPSOimby7C0sjnTlu3++0jcl/hgIbgcAnwn3BBuFBeEGwh8Vjk7ve+1wbkBaZxrn1Lq5im1jRnWZJnalH2IbiaZdvxjNFLYNjjuGFPLYXaXebSkr0ZxoxJ0Q5TYn78moVKvgrRuw7Z9FDmzmGDZtcsXT1M8rfKIsqS8oZTyYT6c9itRHs+EAy+Rv59+NScRhJKM+eKuC+vPAT8+K8geLvKTY47JsOvG/iMyFJATC6ijaZbsa6IgU/laM085SuVr48fXBUURyyJFWuHz/9qJHr369BswaMiwEaPGjJswaUpBkxmmzTTLbHPMNc98Cyy0yGJLLLXMciustAqEYARlstgcLo8vEIrEEqlMrlCqyA5ptDq9wWiiOkVz2mojOedguOBye+g6Dn+yRq069Ro0atKsRas27SqVq1KtQolSZUIm8j+eVMpcWg0li2DyBubHB6OHH1/08uOHPn780a+QhKGVCLQRhXZi0EEcOklAF0noJgU9pKGXDPSRhX5yMEAeShRgkCIMUYJhyjBCBYxSCWNUwTjVMEENTFILU9TBNPUwQwPM0ghzNME8zbBACyzSCku0wTLtsKIDVnXCmi5Y1w0bemBTL2zpg239sGMAdg3CniHYNwwHRuDQKBwZg2PjcGICTk3CmSk4Nw0XZuDSLFyZg2vzEGMBbizCrSW4swz3VuDBKjxagyfr8GwDsmzCiy3IsQ2vduDNLrzbgyj78OEAPh1CA0fw5Ri+ncCPU/h1BvWcQy0XUMclZLhKi1S3hrQYdRuAPLdQ4A6K3EOJByjzCBWeoIpnqOYFaniFJG8Q5x1SfECaT0jwBRG+IcoPxPiFIH8Q4h/CBNnZNvqzb/2Hgm+XX6shAPDIDn2nEKAqnKGBUOivZA4KW0gZvafr3BQtvdGQKGOXK+jxMuHo+RqAUxEBRoTkYwZwmLuk6nyIpr4UPapkojiXpKlDRMhw0F0ARQPDTMn9UPjbkHEt+m4NOCLsVWbo7ZitUp6Nl3YnrJ8iAvij7nsIRSkYT2AfwVuji87qVBm1Q5gVmYuFsYgqpu1Vy0P4b7e3HTaoWtKXAeiIq9rtbDfJnFEJ3yZ5C9vMFqQ4rUyz9jyEsVO+bind+meT82iX3uh7WLtf/mNHA48h7jF5ypzTlCQcv5ubeehZSly2XeCJ32vWw0QsABZSz1MRvFzCulXrUUotFpgPLHGctww3N2IaitXjWLBtPW/2mW0J9wozblPnTXu/syRwarVqYG2kKhiLdIG7JvyWsZA0S5cPgxEReXFY0nvhZ941sR0MJUHkFQ7CcX3kV73dn/vD9HnX4zD1iwl79nujL6+lfhIthTEg9FMWn8HG31mJYxBFRLi2SxRsAwoSjCwtLT6/QJHjxcxpyU90trhORYQlNEVoAbGpu2GbosgBG5OkOGMFEfxEaXYgF207EO8w4/rRVbtzcBw43CthsjtfCmL0OBzGXkRcHeMaT59lMFjZVw728rXpog0WMNByJpe9kcvkvWrDIJPwkHN5yI1nKJtnLIbJvJ8CpC0DZRiQThkg5CyOqcHwGnJsLMnghmXYs53/HpcMFoqT/eerkoBVBRRvYxNPHyNNQeQAMCbForbAXiTgZZUEjueAtXnoH7H9zuDi/f636fbH3VdPrdw7eOuDvyN3Drx9st7snrvX+5YNXiGOS91Vux7s+nvhzs3tVjXr8khMzBjJllUMimyapCU9KmwhxrSFdmeVw/5mgCsEvEiy8ZkC1iTTAU42MpStqBEbthqWYkhbLgMBaFuGFwUJmsImfqFKWJCxL1r8hd02vNVOgzRus/VWrCjy4oKdpn6SKxVsiIkZw6rhBYfJ0ioZ2Yyr7KrxWsTdUMmVwKlGtwrS1ultYU0lJS1djQX9BLXJhOoliVrLa2MGmSNLpp8EEYQaEbKMOzWImr1XRLBD/hlFJXG5xhnaCoujC6vDbSYgxnlndOSqiujC2Qxl22EM0UsdJhFI0OZT0U9VILjQS2YtDWPPEV0vq8QfBoKrSKAHyyJalTzpy92Iwf5WDXQ3S/2q3vzeMmwXM+YKRAR/h9PxHVkIvwFsEtzcp+DwLBJ4+XCgqUvB6/4bz4T/Pc73+xR8db87+loFX5KsNIk0O+CSUDQjKiH6L+5+++17E/2rKYc7xznuge8C/0LnW2+dDjxMwe4J6lXQf4PD6zuA0X/0TxRc2riGZNwIx/9/llacjXLVM+x//fV0X5b0Rg803Tl6ZlCLGA4ElEGzGAlFrfbrXd/hJgPp8rNuV+c1+a1er/vwe7Xu7jetCgFvHT04vKLIQFoyXtkoqm5Vf/VgZW/mmwgdUXO134d5bvrXE1+a/NVUpZ53p2sTjcnqVPtlUiRo7hHBzVpuzpDaVDNCmVqWW25HVLJeSgtSp3EcOaIllJZKSBcICf+RFv75kffh00vkrXbCrXV/bTPYWNHBp6fg1kF4dBb9z0c6O8Bb2Qg21xD9vXmtro0S8MjcP2KMGNpoenQ72E1bWkjTZVjZvmRt7mLW37vKQOMyw4vZDtO3GVuded3LdjpJXAzjlahVT9a3OoXav3vXV2/d/cOl/f7YnwY6uvl2oD7xP35241LkqBHnj92H97tjh/3xPw9eGF/Va1d0utVZdao7gzf6EvWmvRYH5rLnK+YqfX2EgUYrd2AoN80Jtw9ZarlGYyE1x52d4/fqIPUEru+NHhlOvi8J6agxKY/J4glz+UkpF7jsMZnv/i7HCrHXkhldR60gA2NqEQBm0U7RAJic1QK4pFWF9GUBqGRNBQJ8CNrihUe0miylfnEoCRxHOMClR93J2HOqhI00VPNASU9MpGFcaFgm58huxFU7jJuGt3PZ3tpDk8P1taRoP1P7aUlYIlwOG6QmCpuboJumMlQsukPbI2cFN+egEZ0/61w+XF2hXLC2Lmej40W+LYdoKBKfSVtT0swQMvpJseQMBxjI1KBqVyywFVhYMyxzwcmtM1CLYbGwWFElDpCgiiqMKEXPBlIPSwaVjUKzllM/IVLiJIlZj+jsgDuXL25S0BWnKLJORTFz2coISy7LOIkSFzhN1z68pJA0g1KqkGlkBBAUREHAtGEin+IneJbKmjRrpB/LAgto2GDJRzPoJg1fEUpAPpsztNSLYWdVoew0be76e8sCijlqVCgZ5PMKhFDDoyYb4+0bLAEVjahP/nmqqrOcsTFjGX++lJObZLTOHDQpSTQZU1S1o1/eiiYbVAELF8jkebSh/cISZioQkoInrF2ENKuGiibeiQ32kSLQjTJWs5YFMgsAFQEzw038skAXWVcEJVHAO7VZVZTUykJGxVtZ0Tl9W/opzIh4uUzZqVExcuaNHOSbxrI2Eg4uthqa52oFfWWW2Q4heSUpiH52C642GsGGhbsRFkecw7h2mgbYSvmpSEY1nXPsZg1+aV7KBf/+4iwlzyex258/q9mj2QIvHBd26NZn7uaVRmqL4OrxYcGbauMtOztwKOj3/cGAez3ZTR+lv9Hc7bQqtBMqbMacn7IsEMBh5YURAn2N5Rk7h07xS7obDn5diqFxQh6rCDk8xkjjTYkF+bAS8poqltS3pJYMhNWhBrUstOcnaBMgHJmVemgECca+aasAoYupWuHBignS9J4SwxIAP0341LMF4jSz5vc/7xPUziYygdfZwjnK5DHnAt/tfrNfpTkSEYau5xDqt9ZFyuB+v52hLC1sqE0AMwt2kkapL5b4qUpGJZ1z7CqGpv3Cz15svDXnOfox3+6FB4Mf/eNT77PwC//z+kusDbwCLURGGwlyqJxNTa0nZfoJ0bRzWMET6jFryDx0AnJCmX64NG/Quj4xeW1qYmh6anhSA7PHAwuXrgvl0bY5Q7MW2r8kWMbi9V8hsBZsCtA4rsnxRwjm4hTqYaWHBFMjXZSAtcQEAQ+eTUuG3QhyeHFzrujQftvWxv6x1eNeDPth7aUUwlIqbDO9d/L2ofCjkoiAwhlKXN9jUGNnpS3QEUNa4WYl1OeEFEDI9eEacreOypDOYV4Ny/oY9qoY6AEI8zOzwIORYbwvlvQ/HQdHIgOmYl9YT1nhKVmRLmMsR5UkjTam5TIel1mMOUGExd5CbDSTcRZ67+rFhgwIn9LsRk4bWNNK1F9nRCGOJXWqiAnRilfl2mAVHTsoWU4vApNEqosFOOBsz9+sTdTt6lRjbmYF/AU3vJ1wz98NtuV1ss5Bc8xY3bnMoJdOqZPm2m653wgTT00+cxhlwl2wpLBzWai+ZKGtZvPfcVmho0CCAM2oXxSolLg+brA5qgE4S7xUbShb1ticnbHa9TiEZdh1Nkil1WvX6sZwVyCjRiK9tOktC+zv1jxr3RrRSqHqD74YMOwk4qnoL7YZdR9qfiVlZyzlML9goAYBzJTtBA3ASvqpTkYFnXPsZoz6y96z83f7jk/sDLpf0hHYdXvXXTiad2e1q7qP9txeI316T4aZVefu9B4LaVfdK5a1BVttbXfU5mC7pjPo8IlLtpjO4DPhHfTZ2z0nx19ME+7uuh17Ex453Xc3+vjUC7ZLZyZYMy132mzohrrrVO+dqGOTApnr7z7kHw3IvrsS6V3fY5G2b6xaTMrdbqg3FJfpAxxKXFJmyU8rfG39hsnv1isdlMFQZ3ioC4xlq4qpp+QXdl/SnW/RK5yMUgnqddd6JWU4wP496D2vOq9FRxd5e72/ohCPAEKocl+TQKz1OUxMkoF0xTZFgVI2mXg1WEtaapSJPOLfwitO+aYRV1xBgyUbvU3ekV2REZ8L7SGiE1pJaNQilbIhalQhbWOerTULv14WN0VJRfLvHvps95YNy25Nu+WNZf+Qf5TvP+afrpge7N/2vff3bf7B0/0LfN+D3DzgO6wa9h2QDQY9llXyq2f9OgiNuVxjKAjlvnq4Fa1R7xGpgMzBrNAKUq5amVMgBIOJIiAAIRqsEUEERA7hJBgiELlskRauDA8YUnYhK4DoZpII7p9r1IgMZNQWDLFasJCbLSCPEzCPBY6ntt3IJ8aCAui+tKQlftx6xOLm3UYj2U9CeVmZHJ7WUtsZwhLkqeW1fm+F7n/AY16g8WoZpMx9j67AigwPadbUh/qZhsmetTqdKqga1/x73VXq+6vXpi8/uNjww5R/n4akT/GcV6Tz8sZuz50601Oa8T2mK2jFd5UUG8FGstI6IHCYFoBTYAwgLQLx6VdJnooVUbrxVVcuK1tb+nye9/VGtZ19yZ+BxyDltEDj6uq6R6/PGhm9ZuCI2+UKHE3/9z27Y/KI3Z68PBDE+KMqoiuZypC71diyfWvWsFTju19kwZ9gE64Jej6JIO0BdjKiih6ESUq/iTW0spnFlJM3+Q7pc4Q64uOcNqrNR7j6gmGwcQJZs4tqq2lH7mHg5BBCbeYXW4brrJsT1TecGRadbwbhKkF08Yvgp4P3P3D1zkfzc5Zdv/7t3ICh6TOGgr/Ly4Nvvz0c/OkLoq4woKfn0SPwYJ+zXKI4lB5vjO5SR8KqKpU4y74+N6v5webqKjYZoh3wSQvo+SGCdAQ4RO1gBuB4vQKN19trchPY8kJ6LAi7WRECd15dUHhrS/T9ApzO+jW5CjC5cjC5CjK5CjO5CtRPLnIQNhY84Mh+wi0vLZW7SdtNjrzjM+xzh7KlgVvBKmmjbCRUjWzCSoeCMRr1StxpjMKhxAtJsgLAm4eV+gajHvRPv9ULgebHfzyuf/ftNc/t0HHbWM9r33533aNKw4LdHnfvStvapNEz4SfVdzwl+9gQs2slZPhfUAiuan97rWTgRyLrECouLX5v27sh0YE+7xU/3umvLdfKcosIXTHsf+nrprCXXy0+Vj5TO/vMZtB54kATsWbc6oOLjz860Lpk51bf4uf/33x1YE7FWOXYnK2503deXWs2xtVf2ST71eof6PP+5PCf6nW+9duyS1IS4uo2H534a3+wuizq96U6cs1F4g5cEREV7Q0fFg/mXnmeNXVDL7xW/Jwgcm9MuVds/2t2eMylrN+rV56fV8IsB8UVwz3HnwqVrdpSEB2WeyOhN/yS+N+qa2/G8PKSbWt1rUllIDtkFpIfkdtKZpU0Fk0un7Xr2mIjM+KAk7Mia73fvMFOiYceOAcFQOEjMC85vtJ76e2psQ2hK6vzLysVv/eZ+z7qjGt8fv1386an13zQ5clxrZVrW71983PekhWVFszxeKuorKzoLY85BaVFsre8tlZLWVbaQ1axpmpJlcRk6q/axALWbnvxwqbYNAOik8YCML9ha2iwxZ+DqiCKexSYUOZ8p9wZv7PvV3x+EYgwRlIMhKI5kdXjFJwceAD1+2MIwV8gDmwtMcdcq12+pQTJ5S82ZVVMPfCf8r//+eA/f/+9/4P9+69fr/cC2b5Iu1Z2Le0Lg7hqStFULQg0QvnpmcEzTwefmRE848yD4QilFHuKm8UcRyjVCpbCYRo5plpiB6qqFYWmgIXNpq640FiMR1s2PmW6+9ZnMESl2MgWah/Oe1CWEGJvDki5womJVbgULRSgWhSjyDVGWiCthIMY81tYPon8/nustCuZOdB6Zb+/nxciHRIbmF1EptQHTakxydJfLace/Dic3Ji4f5lP5ptgQYHyfx9RHt8WztB/EqE14wtXdqQuBKuk809mLvPZv4pYTnxC++9YOLLj5T/vbjGbahK86/veuJHj+aZX/qIcL5dXLgis3k3NNY0jJnDK8uWr/gazqLkluUPEG/XCWjzNQ1ykUqbIVmp/889g83LBGiAKDxWs5GFjsERtIBxExzvGyLnFdhhajG6LEAgTHYVc3ixCFWBAJpaYKECZCIZCRNoJN2EnUXrL9lAEDOJA/lnFSzmH6rFQtlObGZXEvDHBu+KAo2cSI1zUdELR0qf6kIk+dALDatG43ilcPZFToFMEa8sbLgRi8TCGBC3u/YcQAlsDBKFALwiTq2zfMko8ZFAy337xhWVWVrf+n+n9jnDHxImm9bW4PfzseMJBAlLeYxCsdwg1zwACyGapSAfQQKuyVQEVrUorkl+/Ln9EEHODSjxfF/3zZL9mHXmXB7yN2NI+CMtqTAQLiFkQwwcOjyyJhj4BRRSAURrK33xTjqJrOYYltqM1HHRhkFdxTJE48CMAvoAn6QkgsAM1fia7v+U5OTT+Kw4J/rKg0508Y2UghwGGEDAAqoEVQJqHPAj949VEi4XOyJPl09NPq3BHVXcTOah0kDsBGI7L90tDubkvN2pWVXyaX36c/QySkv9QeqV6ZHko65rDawLS1gV47quT589qkt5aEZyjmyHTrp/v7bVLmuYxt6TRHw3PaV6epS+vnrYmIKJTiMhIygpV1m+gmjwy2QDPTI90j7kXPCjQ97m2z8s7ydu7L8czOmDJKqV32OJVERkHd5fVl8UtU0as7TtSOzeGlTD6mE0b7VOFKHbDQASAooCENSuqqrnQEA5HkazOne8zcn/dsuMtGoABvHZ857rakXvcXDm6FnQNyRVsHDl5XpNO5TjoaHA0OA8e9//zSD0AtIKesGAjXeaUSNMPJkQ1dEc3xJ+1SEG5897M8+upO+UtOIiemoCT1iLADEPoAtwN+sbf08lJUdeafnDLCOMzaQG5kQtaAfz1+uAgF7PxCovM2IzMPOLNmw72u1jMngEgipJSQCEFHq3UODopmthhoyuQUrFiDWR/CAsxFceov5CCUWhSMxkYJSE53uOkxgWUikXXA4UQM3NYQqDysQoVjHnTfh6SdkIlMjBSGGUG5EWTA9VgWtpa5kgYCXuPUIqGKjyThGQ/TwE3bx4jrBGLvRkKqyqKqlHyTNY1Cq1ZC7tc0GVRuaFbwCJ+cBvUOEfHgYJAAMDIIb95Fc+z8ezyVIQkc+ob53jMe9ngNSdNI6rcKhUIsruCgCpFPsh1XBBP8CdQj+OD9DVqynuLtGpdA8ybFV1xgeYTrPMggmLA4u+TGJgARqtGqWRpWlrqs/ljKru+pSV7Jchn3zIkw6v3QrMbNtUOPLYJg5c6nL69X8FK+Lm9BidOl8clzK1OmPOZVyRZulSikxRdRYPeO+BtBcV+q1y0LA6KmpkES80lCPst0kYGkR/YxQUGmyKX2w59GzNIX9KNiWa6umosZplQMzt58gyPljnIOeggfMngUgD25nxvSGw0JhrE1XsUYKmjtOQkxh/F8zxML8gfKiycDpxGAQrqveN+sWF2PWLx5IDRvSNsMzJhADkBCSPiQ/hQrRqDY0IgRtiNMx84AQKCM6REUp/+EYexbbKDPMThGDiwBpjy/0yUWVHBKNcJSZMJU7ixUGu4pUZTy+1loQjVcqIIQm3nDQiIAmIYhEYvOu98saDwik5SU9MBc3IrFtLpC9OOKoeqJM5mPHTh6P+V0GTBIegCY2Clqe1XDmUHYadatMrCxFyiAc6rAct8bie0rk7gQQJ7hHSNOm0RrC2kp0wprKit1VWMG6ej65Nki3x1votkJlWNjvZJNTWRPXR9qOwH0WG84t/0UaRVubFbZUQdiAFuF7TyVkBzWkIGeFFY69JUOmnxEc2S+AH1wyVO/OGfZMeArQF/JQ7124ZsPzr6T4PA3cjFA4hcic+GzeaHQNyuO+97SyAKkIFAwkNercYM7n0ZmsaxxvZRq6r4Wu+hvgzXtZddVykhe3b7wfqwEboyOvrolAgozY58zO7QZes02xfP8fQ8vw0x6BObGZmfXiq69JS8iBxJVaG3d5VuUogPbu6OVfmGfVUe7qVnb2T1wtSdGkcE+FDo/N40zvcniVJy4oSF1O9vrpjrWxge7DnJesHDF7T6LAISibVHT/5dV3mR1J+52EpQ4zr9wgnwk27pIJDk7BFLQ2OjIVHck6MAg0vfPFmCcfzHPI8yCgqGdLrpQLyTgbx9obsK+0T7VOHurVvlEP2EmnDJuMzgIIMYAULO5m8rHvIb+pMdKybZ5LAiXDgGNrCc6RO/oOwdZVOBTlr5EAZjC4Fsje3Fc0f8+f7SEhsY1WCIeYzwTSC+W1EQrl08L6gDQhQnLAJd8LmSWmTG7Dkr9JTX1+YBPcekF90Yv3xS7ZF1BolMb7JQ0vpy4AJldfnR+TE04UtuIbAE+9nJWykr+aoYOw2UNJ07Z5PwCdICJ8cghmcgdqIhwNJ2P+Uk5cRb4Py+Mk9cARQrQSMvp5HnOJXiTVRqPpQgUcvvJeC7oM73BUnLrOjJmJiXPEHJATAFnIIAl3OghBGIUSY9bYz3V40SylwSSfqhhGhjl3ri0w5KML/r/qzzzZsfPBj4wQR5IgcgUFfQPCVWLWY6/yIRjYxYX8i/KYTPtz7E1CGC+KZvFityPSimBsHHspyhHY4Ea9JTVlLZD/S3cXFoua08ipA2ZUl/6YTcciN018In//sI6ZPY34t++VZ2EKMXvbh+tWZgtCwUymgLeoEHDiSfcutLTGWGYH177hb9D1eSDoC6g7nt+hB9mal0zcqQ8+dCVq4pZctvNuZQrpd3KjideBrUncm5joMNWWzkTp07HxJu2Lm3p7b+9yXhP6X9FL7k9wW1Vm5nJbNzX0D1xaE/pv0YuviPytqjezuiHvjnJFjioyGWhCnycpOIqFmzPw935F/u7KGiefzHU7PJsJIxm+oLT7vuSxDvhJvm4GU9WsmJXFwT91wVz0WxqN/4InyKPED28Oa45TfEK4vofywig9ELs37TZzIS6AFW0asBfD+Bl0ZluWtLMF5aQJPOiB5dUaw0kSuj06yKkjiPuEpYgkQyAzq9NTpoagqOtUVJmbcmPuwai9Rk+jxaZTzF58ZSHszNJBzv974QWFRdsirDUVzZbJejLnPestqahDO4su66JTY1DQfc0PEtgYeLf+LO0PVAoKypqWLhaVqr/iFb1GUViByfHX3/7fvb2PvoWTo3W/a/V+Xg24gY4h2eoXLtG0v8J6/Q5G7/4/1fXs4MXclf/tr4v9BUxr8SWIOEK6nfoKEGKi/dFKG70Q9dS1sSqyTlHs/eHcr0uDPlhpncVXCXqDLPXarcSnelKRvfvEqTO3gpr8CkJzbupN4H7lDrIzGjmbLA5K7v3SVa/e4uVZ883JUOpKYWq4ymqZdX44QQscublFMr3Kszrq4L/6DVASY3Ry75j1OgGXldVLdzv5FxYtEg/NpzjH3eT3LNvzZbhsMg+TiJxzYWLsbxsyx72g4UrVyfVuOEELHLm2QPS61wf/dx5fvif9DqAFOE7uuw/3EK9OTzuqgSMN8CJ9LlRRt+7TmiSJ/jpSe55l8ogsNlluQjfU0e21i4DOr4WSKrPqlQlE+vsuVRUGm+/hVMTlQgRUyquPCfLBIhKf+ocWTNAUSYUMaFVNpY54MwipM0y4uyqpu264dxmpd124/zup/3+0EIRlDmNyA7zeHy+AKhSCyRyuQKpUr956J3Sac3GE1mi9Vmdzhdbo/Xd4mu7CdgT7jsIBHfNOnxK5LwGpg7Is2O1qchGwKJtOpx7UkHYDNqFLareKlGvW6jB2wxqHTEdjk7Be5A6lUS9ZsmUTRrgTrgs4kUIS66zKjoYP0eJdZv9oBrk6h1Wi+CQ7YPrTeMdFFwNAS8vxHbMDU4oEdA9uGO3CAHE3tOsF34nyjNUQecB6TjXuTg9CRvZ6qinGiE7PdBrJzfbN+OHZRCH9XKaNUE0bvSGKvADWWp1UQW30lsgHXsnAQccMkB0Mm6jIjXmOYSR8tIBa0TtscZhSXwRiR01h0pa+q/xjnzhCOxPb3zvCsK95kGEzJmqYuu75oc34nPZETBkHtIT9WQvc4F5XRKN3pvO5Y/BBGL5ozyoVk98es6kBqNubiJOhLw6hGcIPio7iEyAqVNzXS4aUEBKJlmLQRtCozmvHli7F653tyaWBGHzbaolSJOwZZ4V0tFTKACGXekU6Bqm7QAed+iww8VFkX58zAzHFucbafUNjil+sP34TuWxtYKfmG7SBJFHZlAEMLiog9RNjRveXWXDVCP7ECWFoMjFSqYBqRVLiHLawKexYYOm9Up8DYOiS+8LyU406BGKXjmLXDgnszuGReg5dDtPO8bmeVfeB/4ZIth3LFCerstGoCr/aDNrFJvUtISUq8D4aJz4P79C+bBzKI4cTZp+Ld4QTOPH5WMp3CILztqe8OmOVMfVdw1NR7DqGs8k5RtPlQ2hmWME41Ku0b3VBbyKBqcBcHh7OgJAAAA') format('woff2'), @@ -7,8 +7,8 @@ url('iconfont.svg?t=1605236775724#iconfont') format('svg'); /* iOS 4.1- */ } -.iconfont { - font-family: "iconfont" !important; +.iconfont-luckysheet { + font-family: "iconfont-luckysheet" !important; font-size: 16px; font-style: normal; -webkit-font-smoothing: antialiased; diff --git a/server/src/main/resources/static/xlsx/css/luckysheet.css b/server/src/main/resources/static/xlsx/css/luckysheet.css index 397ed665..64807fbd 100644 --- a/server/src/main/resources/static/xlsx/css/luckysheet.css +++ b/server/src/main/resources/static/xlsx/css/luckysheet.css @@ -1,8598 +1 @@ -.luckysheet-icon-img-container.iconfont, -.luckysheet-submenu-arrow .iconfont -{ - font-size: 24px; -} - -.luckysheet-toolbar-menu-button .luckysheet-iconfont-xiayige, -.luckysheet-toolbar-combo-button .luckysheet-iconfont-xiayige -{ - font-size: 12px; - top: -8px; - left: -3px; -} - -.luckysheet-toolbar-select .luckysheet-iconfont-xiayige{ - margin-right: 4px; -} - -#luckysheet-icon-morebtn{ - position: absolute; - right: 15px; - transform: translate(0,-50%); - top: 50%; -} - - -.toolbar .luckysheet-icon-text-color, -.toolbar .luckysheet-icon-cell-color, -.toolbar .luckysheet-icon-border-all, -.toolbar .luckysheet-icon-valign, -.toolbar .luckysheet-icon-textwrap -{ - margin-right: -3px; -} - -.toolbar .luckysheet-icon-merge-button, -.toolbar .luckysheet-icon-align, -.toolbar .luckysheet-icon-rotation, -.toolbar .luckysheet-icon-function, -.toolbar .luckysheet-freezen-btn-horizontal -{ - margin-right: -4px; -} - -#luckysheet-icon-morebtn{ - padding: 2px 13px 0 5px; -} -#luckysheet-icon-morebtn .iconfont{ - top:-9px; -} - - -/* custom common style */ - -.lucky-button-custom{ - cursor: pointer; - display: flex; - align-items: center; - justify-content: center; -} -.lucky-button-custom:hover{ - background-color: #E1E4E8; -} - -/* more button border */ -#luckysheet-icon-morebtn-div{ - border: 1px solid rgb(212, 212, 212); -} - -/* sheet bar add/menu button */ -/* #luckysheet-sheets-add, #luckysheet-sheets-m{ - padding: 1px 3px; -} */ -.luckysheet-sheets-add .iconfont, .luckysheet-sheets-m .iconfont{ - font-size: 21px; -} - -/* sheet bar left/right scroll */ -#luckysheet-sheets-leftscroll , #luckysheet-sheets-rightscroll{ - padding:6px 10px; -} - -input.luckysheet-mousedown-cancel{ - border:1px solid #A1A1A1; -} -input.luckysheet-mousedown-cancel:focus{ - border: 1px solid rgb(1, 136, 251); - outline: none; -} -.luckysheet-cellFormat-config{ - display: none; -} - -.luckysheet-cellFormat-config .luckysheet-modal-dialog-content{ - position: relative; - height: 550px; - width: 600px; -} - -.luckysheet-cellFormat-menu-c{ - position: absolute; - width: 100%; - height: 30px; - border-right: 1px solid #fff; - border-bottom: 1px solid #d4d4d4; - font-size: 12px; -} - -.luckysheet-cellFormat-menu{ - position: relative; - display: inline-block; - height: 30px; - width: 80px; - text-align: center; - line-height: 30px; - border: 1px solid #d4d4d4; - border-bottom: none; - background: #F0F0F0; - cursor: pointer; -} - -.luckysheet-cellFormat-menu:hover{ - background: #e7e7e7; -} - - -.luckysheet-cellFormat-menu-active{ - background: #fff; - cursor: default; -} - -.luckysheet-cellFormat-menu-active:hover{ - background: #fff; -} - - -.luckysheet-cellFormat-content{ - position: absolute; - top:30px; - bottom: 0px; - width: 100%; - border: 1px solid #d4d4d4; - border-top: none; -} - -.luckysheet-cellFormat-protection{ - position: relative; - margin-top: 30px; - margin-left: 40px; -} - -.luckysheet-cellFormat-protection span{ - font-size: 12px; - color:#ff2929; - padding-left: 12px; -} -/* body { - margin: 0px; - height: 100%; - overflow: hidden; -} - */ - -::-webkit-scrollbar-track { - background-color: transparent; -} - -.luckysheet-noselected-text { - -moz-user-select: -moz-test; - -khtml-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.chart-moveable { - cursor: move; -} - -.luckysheet { - position: absolute; - /*width: 100%; - height: 100%;*/ - font-size: 12px; - font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", - "WenQuanYi Micro Hei", sans-serif; - border: 1px solid #e5e5e5; - background: #fff; -} - -.luckysheet * { - box-sizing: initial; - outline: none; -} - -.luckysheetLoaderGif { - /*换用GIF loading*/ - width: 8em; - height: 8em; - position: absolute; - top: 50%; - left: 50%; - -ms-transform: translate(-50%, -100%); - -moz-transform: translate(-50%, -100%); - -o-transform: translate(-50%, -100%); - transform: translate(-50%, -100%); - - background-image: url(loading.gif); - background-repeat: no-repeat; - background-position: center; - background-size: 100% 100%; -} - -.luckysheet-loading-mask { - position: absolute; - z-index: 1000000000; - margin: 0; - top: 0; - right: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - background: #fff; -} - -.luckysheet-loading-content { - position: relative; - top: 50%; - transform: translateY(-50%); - width: 100%; - font-size: 14px; - color: #409eff; - text-align: center; -} - -.luckysheet-loading-image { - width: 8em; - height: 8em; - margin: 0 auto; -} - -.luckysheet-loading-text { - margin-top: 1em; -} - -.luckysheet-loading-image .image-type { - width: 100%; - height: 100%; - background-repeat: no-repeat; - background-position: center; - background-size: 100% 100%; -} - -.luckysheet-loading-image .path-type { - width: 100%; - height: 100%; -} - -.luckysheet-work-area { - height: 90px; - width: 100%; - position: relative; -} - -.luckysheet_info_detail { - position: relative; - left: 0px; - top: 0px; - margin: 0px; - padding: 0 17px; - /* width: 100%; */ - height: 56px; - display: flex; - align-items: center; - background: rgba(255, 255, 255, 1); - box-shadow: 0px -1px 0px 0px rgba(230, 231, 232, 1); - border-bottom: 1px solid #d4d4d4; -} - -.luckysheet_info_detail .sheet-name { - margin: auto; -} - -.luckysheet_info_detail div.luckysheet_info_detail_back { - font-size: 14px; - padding: 0 8px; - margin-right: 18px; - border-radius: 3px; - cursor: pointer; -} - -.luckysheet_info_detail div.luckysheet_info_detail_back:hover { - background: #eee; -} - -.luckysheet_info_detail .luckysheet_info_detail_input { - border: 1px solid transparent; - border-radius: 3px !important; - color: #000000; - font-size: 16px; - height: 26px; - line-height: 22px; - margin: 0; - min-width: 1px; - padding: 2px 7px; - visibility: hidden; -} - -.luckysheet_info_detail .luckysheet_info_detail_input:hover { - border: 1px solid #e5e5e5; -} - -.luckysheet_info_detail .luckysheet_info_detail_input:focus { - -webkit-appearance: none; - -moz-appearance: none; - border: 1px solid #0188fb !important; - -webkit-box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1); - -moz-box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1); - box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1); - color: #000; - outline: none; -} - -.luckysheet_info_detail_update { - color: #cbcbcb; - font-size: 12px; - margin-left: 15px; -} - -.luckysheet_info_detail_user { - /* right: 20px; */ - font-size: 12px; - cursor: pointer; - margin-left: 10px; - /* position: absolute; */ -} -#luckysheet_info_detail_user_img { - vertical-align: middle; - height: 20px; - line-height: 20px; - border-radius: 50%; - object-fit: cover; -} -.luckysheet_info_detail_save { - color: #828282; - font-size: 12px; - margin: 0 5px; -} - -.luckysheet-share-logo { - height: 32px; - width: 152px; - z-index: 1; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJgAAAAgCAYAAADuW7E5AAAN7ElEQVR4Xu2be5BU1Z3Hv7/Tj2EYkEA0Uj4QTBRBZgofYFAWHzGlVLlqNGg0u6vZVKBqLVmZ7kGcvnf6dt/bDMx0D4RNYiRGd92EcmFZDRrAWl/J6ho3JJAZhELBRQTj+lgfMEhP973frdMzPdMzdM8rTFadOX/N3Ps7557zO5/zO7/f75yWKittYZBFKfXvO+oCLw6y+ki1YaABGQFsGMzy/+MQOwEj5CR4nDCgvijZRshOhczeZmv0wQHVHREeFhroAszDZMA7dyCjpuANgbwF4S9arPJfD6TuiOzw0MCfFbAqi2fQS98AJZeB0DCXtcTKKoeHqofnKIsCRsgUQIJ9qUSAoxQcE3iNLbHytaXkq2xORTa73IN3owCqQO7NlljZpL6+M/L+s6uBEoCpqRD0CRiINoAZAImd8VH/cJwaLPormVkJcDEA//FqkmdbYsGvfXbVN9LzvjQwZICdb3GCQmY9yJIAUZDYaZUZfXVy5P1nVwNDAthki6PGsk07/bN6U40ncskrVvC/+qM+a3lyukecSRfv2XXh3/WnzlDJRJzGaqGcAXCzY9Y8PVTf6a3dT0Mf+jPuIQGsMpr+OYDb++jAtpZYWa8AFtaPOMkHhFgIyFbHDM3vz+CGSsawk9sAXCSCiG2Elw/Vd3pr99PQh8L+WZalsr6x1wLeMceseTb/7oQDNsNK3yTExr6ULvSubo6XP9OXXP79CGDdNfVpA8xwkr8CMU9ElthGaPXQAKadeq9tJwRT+wDn8ZZY2Tf6C5eWGwHsUw6YndoFcNqQAlYVS99GD+t6BUewu/WT1jmvr5zw0VACVpdIft2lTBCqZsdcsrvwW7Wx5HzxyUleFtvrrdCr+XcdZv46gHNFUEHyIEU9lzBCvymsX8p6GPbqqRR3ppbV3/UHfYczmcxl+n9/ZtQvY7G7jnTf9ptmA5wixGHHDG3W75bV14/3Z4PfAvhlQEfy6k1AbXLMe/aU6kPGl7k/4AbvIL1zKXJQebLFrgtt76nfJU1N5RWt3jVCXECRLwLc58tmN8Ziyw4Umwsz3nQ+hfNEMJ1EK4AX/O7hzZZleQU7y1xAThcyBeB0QB6hYLPQ+x/HrHn+hG6RM6LpJwS4rhQ4BA9Q8LVXrFF7BwLXYCxYb1uIUWS11SZWn6o890mAFxfp2/o9zS/fvmHDBle/K9a25TTNztLbCmA8RLb6s4dvTgcnVPjctjd1QlkUvmdHwg/2gETDfQ4g9ztm6O8Mu0n7MBsAjOnRBw+g7Zg1nRcTuvogD5G8pn1yO4ogA6pFjln9cP6RYa+aRvE2Czm5e9s8pqAWx83QTwqfm05qJckwuuctIcDLPhfXWVb4PS1vOslNJP6yp85E8IxthK8+cYDtLvtR5fTMBwDHFoNHhC8CZTc1W/LOQOH6cwBm2KktAK8F+L6IzxLxXnOJWQLUgiinwEwYYacYYBEnOVeIXwI4CZQNPvfjv4rFYm0dstqi36ZXv2OG/6LTWrYD+bL+31O+i4KZj3ZkfWP0pI0H8KTn8cdK+TJCzqfC32s5Qr6aMKpzUXcesJy1FDwl4P0UNZ4eNYRnAXjP7449y7IWHV24cGHg1Enn7iAxHcDvhCpJ4cci+LpH3i26CWJ2PjqPOMlvC/EzgG2AagTkBVGcCJc1lFwbmxwzfEMOsETqTpDTSH4X0FYRz4pgG8m9jlnzE5kZbzfhrscLSDf3t1DNJTC6bxCoV7Q2lwkqbFGU13rWIfG+gAlXyn64KyY5pQ+mDNQHG4gFq0ukrvQ8PqvVLMo3x669Jzfx7RPZFAK8JIB9jhn+Sk/AfORvMpBNAlRQ8GAge2RR4RZyX7zhcp+o5wlQ4J3jmEv3ta/81PfJXAJ6u2OGL4w2NEx00+qPOZCE1yeMmifyfTCdpnrS06cr6xwztKmwDyT2v3vq2HPXLlqkE96IOKlLhXox63bcWQnj3m2GnbwbwBqA72Zbs1NXrLjvg662U40dlioHzd1r1pSN+zD9OkROI2Em6toXlS7RaMNE16+01R3jKe/i5ZGlv+/SUwkfLC8ww8pcIXRzpo6Q68HilqgEHAlRvj+A3q/a68MTyA5R8uiRo/61r6+UAflbxb4xpIDZKcsDowB2OGb4gsLva7+l/BP3HP0smGndqeHphBd42gMuE6AcQMoxw3pLOa4YduMuQKYJEbfrwtH169f7mve8eQjgqRTclTDCP8pBF0++0m4h5CiFjwqxxT/G97S1ZMmHPRst2CLX2EYoZ+F0WbBggW9q1SXHtNtHjzclojWPmfHU4xTeoLct0tctrSLizSD5fQKZV5snlU+feajS9dyc/yaUOyiqxy0ZrxHghRREE0Y43m/AqqyjZxBydq4CcR4pZSVgOu6xUurFTCDwx0DWvdQVvq2O+ne1rJDOVdLfdnqTG0rADDv1c4A6b/dvjhm+ua/+Fm5PeVkRNNhG+N7igCU1AKsp2J+IhM42nFXXAN4WDVImkDlt5bJluQUYcVJnAvypEFfr+e1oKwvgeaVkeTwSeq5rQttzcYAYjhlKFH7XsJMayHEU+VbCCP1LxEnuFuK8vsblC/jPymbdOUI+2pcsgIcdM/y3/QasHw12F1lA3/nnp6co+E7LBvyv8QjafP7M2VkVOLQnJm8NuL0+KgwlYJF48gERncTlVses6TOJWwCYJyKPkbw5t70K/saOhH7WcygdkeFBgKMB35WAqyfmrwXyiG2G7ugpH3GaTqfHa5R4VwKY3+HbuErktrgR0kFA0UCjAL5ugBl2UvttOqn9a0A9WUrVvmz2nzNKLlJKcjIiyiSRLiavhK/HjVBnvrNY4JRrY0AgWPRXeW0LPMHtArk879CL8n3TzXoHlGL+2GcvBY9lmF29J1ZxQmAbBGB6tV8BoNExw0vz47Ss5MlZH3RkNyqfs4k4qbCQjQIcrJw6afItt9ySixZ1MePJWRT5Jwg+eeeUMV/Vvk4BYKscM1xtOKkHkXNyeYziuzzviBfqNuKkHhbyTh0EQKghHiNU8+y66v/Qcpa1arKrvLkUHnHM8ONd/X1gdMZ/+EkhrhTgJdsMXzoIwB7RQJN4KlEXvrawXzXRhonlAf8cjx797pFNWd/oKYDKRfkUmXN8iqbxCiW+8Rnl7amvDe86YRZsRiz7DXHd+mJJVM9Tc7PK/99BtB3qDqy0ClnfHA8u1zv6gGDuITwIwB4C8B0Ar/jdIxdblnXMsix/1jdWR0e3tq/Q9qyzYTdqB1oraxSAascMr2qfdEtl/WPXgbxVRH5hG6Ebi03umjVryt75KP0CIDrF8RZFzU4Y1d10YcYbL6FIYT5tj2OGO7ctM95USfGa24Mmd4Zj3tuZuzMSqR/A410AfuuY4dkDByylc3s6aPCE6iq7rjrnK3fo4wkdPVPwXMIIX0VSTCelg5xZItiiModvzEfE5vKmyz3Xe0YAn0vvivq6pbl2cv1xkttBzATEcsxQLP+8TwvWcXD901JnizmHPh08WftcldG0jiJzkVa3Iuqxw/Dfvt8S7XwOqnQB1nv1AmiuAiR/FPUGgJdJVInk+qfNfkVh1tmwU3GAZi5gJ7VV2QfBLBAzALQK1Ry7rrql1ORGV6ye5GbcbQBPEeC3PveL8yzrO93Ga9iN2wFpT8SK1NhGSEennXNh2I3PIbcz4H8BPKWTm0pkKsG5ud1GieFE2v2t3qPk7j6Yljfjjf9KkZu1M68EWz3gfQDzhNB+9xG/4mVWpEYDjlqr4ULlUy/puEZEdNT4n3pcJHS+zV9sazec5D+CuAMiLgi9uBocM/TDXgHLXblhm04e9nIoLb9viQUv0h2bYaUbhKgpgcC6lljZtwdFV7ejov4BpqUiTnKZkLH85UkB3iZkEYAVxY41DDv1PYANAL7QNe3YIUrdY9e2r/reJtewG68mZKte4R0phW7j7UoXoM3v8kzLqumWE7xv+ZpTfG5mNcFb29voLB8A8mO/e9jIp0AGCtjChQ8EvnTmxxGILNV5vYK2nxfKPXZd6A+Fmq2NNsxUfqUTw7m57Sg6d5ZQmcOr81Yt/0L7jUI+BFCnuiryFwFKA6bPFZHZ2tt9rtxKVGppczTQqP+eGm09LYjAqwArimMgi1piwZI3XwcLX2/1lq5cOTaQCUzTMu8eqNi+dm17vqiXIobdOJkipwcCwf3WvYv1avyTtvcCMHPbtpAb7bqab5bqg2Wt+kJbAJN9bmYchW9/aVz5/sWLFxd1tgeqM50i2bX3wDlu1jc+6//k1fraWm3JShbLapoAP8/L0ve+3/1wn2VZOqrtdykJWGW0LQWwureWdBL1aDr45cI8V1VdOkJBZ3KuR/23ZUzwK801os+1hlVpt07pA4CMAtR8x6zWO8PnvhQFTN+hZ7ZtZ/FrzgU6Iatb4qNyDnFXoVRa2Y2gV/S2BEW+u9MK6pU8rErESRpC2AAP+N3WKYXZ/s+zIooDFs1sJLybehu4PlvMsuyqYsc/fQQGm1piZblzrOFSdLTmqjG7qY9fhPX5M83hMP7jANM/LfPY9kaPX//0sFF4QyE4u6+D68pom05e6pB1YmcDgkMtVtkZw0G5I2MskmitrDt2F0R+UFI5gt0eeH1/r9xUNbLCa83cKuQNkFxEcnILgqNhSeedopGJ+Pxq4DgLVmml14G56yXFyuOtx1rvHOhlwW4NWVQjcH1+geo5suMBi6Y7DlG7iW4TessGcod++KhwZKS9+uo9X1ZG0zpbPQ6Q1yh8iZBN/f1p2YiqRzTQUwP/ByH3mYpBTz2UAAAAAElFTkSuQmCC"); -} - -.luckysheet-wa-editor { - height: 32px; - /* background: #f7f7f7; */ - background: #fafafc; - position: relative; - /* padding-left: 15px; */ - /* padding: 0px 0px 10px 15px; */ - padding: 5px 0px 3px 15px; - border-bottom: 1px solid #d4d4d4; - white-space: nowrap; - transition: all 0.2s; -} - -/* -.luckysheet-wa-editor>div.luckysheetfulltoolbar { - display: inline-block; - height: 34px; - padding: 0px 5px; - line-height: 34px; - font-size: 13px; - transition: all 0.2s; - -moz-transition: all 0.2s; - -webkit-transition: all 0.2s; - -o-transition: all 0.2s; - vertical-align: middle; -} - -.luckysheet-wa-editor>div.luckysheetfulltoolbar:hover { - background: #0188fb; - color: #FAFAFA; - cursor: pointer; -} - -.luckysheet-wa-editor>div.luckysheetfulltoolbar:active { - background: #FB4747; - color: #FFFFFF; - -webkit-box-shadow: inset 0 0 2px #727272; - -moz-box-shadow: inset 0 0 2px #727272; - box-shadow: inset 0 0 2px #727272; - cursor: pointer; -} */ - -/*toolbar菜单start*/ - -.luckysheet-toolbar-left-theme { - width: 15px; - /* background: #0188fb; */ /* 工具栏左边的蓝色背景 */ - position: absolute; - left: 0px; - top: 1px; - bottom: 1px; -} - -.luckysheet-inline-block { - position: relative; - display: -moz-inline-box; - display: inline-block; -} - -/*分隔符*/ -.luckysheet-toolbar-separator { - line-height: normal; - list-style: none; - outline: none; - overflow: hidden; - padding: 0; - text-decoration: none; - width: 0; - /* height: 35px; */ - height: 20px; - vertical-align: top; - border-left: 1px solid #e0e0e0; - /* margin: 0 1px; */ - margin: 5px 1px; -} - -/*combo*/ -.luckysheet-toolbar-combo-button { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - background: 0; - border-color: transparent; - border-style: solid; - border-width: 1px; - outline: none; - padding: 0; - color: #333; - list-style: none; - font-size: 11px; - font-weight: bold; - text-decoration: none; - cursor: default; - /* top: 2px; */ - height: 26px; - line-height: 26px; - vertical-align: inherit; - margin: 0 1px; -} - -.luckysheet-toolbar-combo-button:hover { - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); - background-color: #f8f8f8; - background-image: -webkit-linear-gradient(to bottom, #f8f8f8, #f1f1f1); - background-image: -moz-linear-gradient(to bottom, #f8f8f8, #f1f1f1); - background-image: -ms-linear-gradient(to bottom, #f8f8f8, #f1f1f1); - background-image: -o-linear-gradient(to bottom, #f8f8f8, #f1f1f1); - background-image: linear-gradient(to bottom, #f8f8f8, #f1f1f1); - border-color: #c6c6c6 !important; - color: #222; - - border-width: 1px; - border-color: transparent !important; - background-color: rgba(0, 0, 0, 0.06); - background-image: none; - cursor: pointer; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - cursor: pointer; -} - -.luckysheet-toolbar-combo-button:hover .luckysheet-toolbar-combo-button-input { - border-right-color: rgba(0, 0, 0, 0.12); -} - -.luckysheet-toolbar-combo-button-open { - color: #222; - border-width: 1px; - border-color: transparent !important; - background-color: rgba(0, 0, 0, 0.12); - background-image: none; - cursor: pointer; -} - -.luckysheet-toolbar-combo-button-open .luckysheet-toolbar-combo-button-input { - background: transparent; - border-right: 1px solid transparent !important; -} - -.luckysheet-toolbar-combo-button-outer-box, -.luckysheet-toolbar-combo-button-inner-box { - border: 0; - vertical-align: top; - margin: 0; - padding: 0; -} - -/* .luckysheet-toolbar-combo-button-inner-box { - padding: 0 2px; - margin: 0 1px; -} */ - -.luckysheet-toolbar-zoom-combobox .luckysheet-toolbar-combo-button-caption { - /* width: 48px !important; */ - width: 36px !important; -} - -.luckysheet-toolbar-combo-button-caption { - padding: 0; - margin: 0 0 0 -3px; -} - -.luckysheet-toolbar-combo-button-input { - background: transparent; - border: 1px solid transparent !important; - color: #333; - font-family: Arial, sans-serif !important; - font-size: 11px !important; - font-weight: bold !important; - height: 20px !important; - overflow: hidden !important; - color: rgba(0, 0, 0, 0.7); - height: 22px !important; - width: 22px; -} - -.luckysheet-toolbar-combo-button-input:focus { - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); - background: #fff; - outline: none; - border: 1px solid #0188fb !important; -} - -.luckysheet-toolbar-textinput { - -webkit-border-radius: 1px; - -moz-border-radius: 1px; - border-radius: 1px; - border: 1px solid #d9d9d9; - border-top: 1px solid #c0c0c0; - font-size: 13px; - height: 25px; - /* padding: 1px 8px; */ - padding: 1px 0px 1px 8px; -} - -.luckysheet-toolbar-combo-button-dropdown { - /* background: url(arrow-down.png) center no-repeat; */ - float: right; - margin: 9px 0 0 0px; - padding: 0 0 0 1px; - min-width: 7px; - opacity: 0.8; - vertical-align: middle; - width: 5px; - height: 7px; - - margin-top: 10px; -} - -/*menubar*/ -.luckysheet-toolbar-color-menu-button .luckysheet-toolbar-menu-button-caption { - top: -2px; -} - -.luckysheet-color-menu-button-indicator { - position: relative; - /* border-bottom: 4px solid #f0f0f0; */ - height: 20px; - /* border-bottom-color: transparent; */ -} - -.luckysheet-color-menu-button-indicator .text-color-bar { - position: absolute; - bottom: 0px; - background-color: #0081f9; - height: 3px; - width: 55%; - left: 30%; -} - -.luckysheet-toolbar-button-inner-box .luckysheet-icon, -.luckysheet-toolbar-menu-button-caption .luckysheet-icon, -.luckysheet-toolbar-menu-button-caption .luckysheet-color-menu-button-indicator .luckysheet-icon { - margin-top: 0px; -} - -/*menubutton*/ -.luckysheet-toolbar-menu-button-caption { - padding: 0; - margin: 0; -} - -.luckysheet-toolbar-menu-button-inner-box { - margin: 0px 2px; -} - -.luckysheet-toolbar-menu-button-dropdown { - /* background: url(arrow-down.png) center no-repeat; */ - float: right; - margin: 10px 2px 0 3px; - padding: 0; - opacity: 0.8; - vertical-align: middle; - width: 5px; - height: 7px; - - margin-left: 4px; - margin-right: 0; - - margin-top: 10px; -} - -.luckysheet-toolbar-button-split-right .luckysheet-toolbar-menu-button-dropdown { - padding: 0px 3px; -} - -/* .luckysheet-toolbar-select { - margin-left: 1px; -} */ - -/*split*/ -.luckysheet-toolbar-button-split-left, -.luckysheet-toolbar-button-split-left * { - border-top-right-radius: 0 !important; - border-bottom-right-radius: 0 !important; - margin-right: 0; -} - -.luckysheet-toolbar-button-split-right, -.luckysheet-toolbar-button-split-right * { - border-top-left-radius: 0 !important; - border-bottom-left-radius: 0 !important; - min-width: 5px !important; - margin-left: 0; -} - -#luckysheet-icon-merge-menu { - margin-right: 1px; -} - -/*button*/ -.luckysheet-toolbar-button, -.luckysheet-toolbar-menu-button { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - background: 0; - border: 1px solid transparent; - outline: none; - padding: 0; - list-style: none; - font-size: 11px; - /* font-weight: bold; */ - text-decoration: none; - vertical-align: middle; - cursor: default; - - /* margin: 3px -3px 0px 2px; */ - height: 26px; - line-height: 26px; - /* color: rgba(0, 0, 0, .7); */ - color: #333; -} - -.luckysheet-toolbar-button:hover, -.luckysheet-toolbar-menu-button:hover, -.luckysheet-toolbar-button-hover { - border: 1px solid transparent; - background-color: rgba(0, 0, 0, 0.06); - background-image: none; - box-shadow: none; - cursor: pointer; -} - -.luckysheet-toolbar-button-split-right.luckysheet-toolbar-menu-button:hover { - border-left-color: rgba(0, 0, 0, 0.12) !important; -} - -.luckysheet-toolbar-button-split-right-hover { - border-width: 1px; - border-color: transparent !important; - background-color: rgba(0, 0, 0, 0.06); - cursor: pointer; - box-shadow: none; - border-left-color: rgba(0, 0, 0, 0.12) !important; -} - -.luckysheet-toolbar-button:active, -.luckysheet-toolbar-menu-button:active { - border: 1px solid transparent; - background-color: rgba(0, 0, 0, 0.12); - background-image: none; - box-shadow: none; - cursor: pointer; -} - -.luckysheet-toolbar-button-outer-box, -.luckysheet-toolbar-menu-button-outer-box { - border: 0; - vertical-align: top; - margin: 0; - padding: 0; -} - -.luckysheet-toolbar-button-inner-box, -.luckysheet-toolbar-menu-button-inner-box { - padding: 0 2px; - padding: 0; - text-align: center; - height: 26px; - min-width: 26px; -} - -.luckysheet-icon { - direction: ltr; - /* text-align: left; */ - text-align: center; - overflow: hidden; - vertical-align: middle; - /* height: 18px; - width: 18px; */ - height: 26px; - width: 26px; - /* margin: 1px 2px 2px 1px; */ - margin: 2px; - /* opacity: .54; */ -} - -#luckysheet-icon-fmt-other .luckysheet-toolbar-menu-button-caption { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 55px; - margin-left: 1px; - text-align: center; -} - -#luckysheet-icon-font-family .luckysheet-toolbar-menu-button-caption { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 55px; - margin-left: 1px; - /* text-align: left; */ - text-align: center; -} - -/* .luckysheet-icon-bold { - left: -18px; - top: -186px; -} - -.luckysheet-icon-italic { - left: -36px; - top: -1606px; -} - -.luckysheet-icon-strikethrough { - left: -54px; - top: -442px; -} - -.luckysheet-icon-text-color { - left: -72px; - top: -1850px; -} - -.luckysheet-icon-cell-color { - left: 0; - top: -406px; -} - -.luckysheet-icon-border-all { - left: -54px; - top: -1552px; -} - -.luckysheet-icon-merge { - left: -54px; - top: -1534px; -} - - -.luckysheet-icon-align-left { - left: -18px; - top: -1426px; -} - -.luckysheet-icon-align-center { - left: -18px; - top: -334px; -} - -.luckysheet-icon-align-right { - left: -36px; - top: -1588px; -} - - -.luckysheet-icon-valign-middle { - left: -72px; - top: -1390px; -} - -.luckysheet-icon-valign-top { - left: -72px; - top: -442px; -} - -.luckysheet-icon-valign-bottom { - left: 0; - top: -316px; -} - -.luckysheet-icon-textwrap-wrap { - left: -36px; - top: -316px; -} - -.luckysheet-icon-textwrap-overflow { - left: -58px; - top: -1116px; -} - -.luckysheet-icon-textwrap-clip { - left: -54px; - top: -1444px; -} - -.luckysheet-icon-rotation-none { - left: -36px; - top: -586px; -} - -.luckysheet-icon-rotation-angleup { - left: -72px; - top: -1134px; -} - -.luckysheet-icon-rotation-angledown { - left: -36px; - top: -186px; -} - -.luckysheet-icon-rotation-vertical { - left: -36px; - top: -1282px; -} - -.luckysheet-icon-rotation-rotation-up { - left: 0; - top: -1318px; -} - -.luckysheet-icon-rotation-rotation-down { - left: -36px; - top: -1336px; -} - -.luckysheet-icon-function { - left: -18px; - top: -460px; -} - - - -.luckysheet-material-icon .luckysheet-icon-border-all { - left: -54px; - top: -1552px; -} - -.luckysheet-icon-border-inside { - left: -36px; - top: -806px; -} - -.luckysheet-icon-border-horizontal { - left: -58px; - top: -168px; -} - -.luckysheet-icon-border-vertical { - left: 0; - top: -878px; -} - -.luckysheet-icon-border-outside { - left: -54px; - top: -1246px; -} - -.luckysheet-icon-border-left { - left: -54px; - top: 0; -} - -.luckysheet-icon-border-top { - left: -36px; - top: -752px; -} - -.luckysheet-icon-border-right { - left: -18px; - top: -406px; -} - -.luckysheet-icon-border-bottom { - left: -72px; - top: -586px; -} - - -.luckysheet-icon-border-none { - left: -18px; - top: -1072px; -} - - -.luckysheet-icon-line-color { - left: -36px; - top: -622px; -} - -.luckysheet-icon-line-type { - left: 0; - top: -126px; -} */ - -#luckysheet-icon-function .luckysheet-toolbar-menu-button-caption { - margin-right: 5px; - margin-left: -5px; -} - -#luckysheet-icon-function .luckysheet-icon { - margin-right: 0px; -} - -/* .luckysheet-icon-autofilter { - left: -36px; - top: -406px; -} */ - -#luckysheet-icon-pivotTable .luckysheet-toolbar-menu-button-caption { - color: #0188fb; -} - -#luckysheet-icon-chart .luckysheet-toolbar-menu-button-caption { - color: #0188fb; -} - -.luckysheet-rightgclick-menu-sub .sp-container { - background-color: #ffffff; - border: solid 1px #ffffff; -} - -#luckysheet-icon-text-color-menu-menuButton .sp-palette-container, -#luckysheet-icon-cell-color-menu-menuButton .sp-palette-container { - margin-bottom: -300px; -} - -#luckysheet-icon-text-color-menu-menuButton .sp-palette, -#luckysheet-icon-cell-color-menu-menuButton .sp-palette { - margin-top: -10px; -} - -/*toolbar菜单end*/ - -.luckysheet-wa-calculate { - height: 28px; - /*padding: 10px 8px;*/ - background: #fff; - position: relative; - padding-right: 44px; - border-bottom: 1px solid #d4d4d4; -} - -.luckysheet-wa-calculate-help { - height: 100%; - width: 99px; - border-right: 1px solid #d4d4d4; -} - -.luckysheet-wa-calculate-help-box { - height: 100%; - width: 85px; - position: absolute; - top: 0px; - left: 0px; -} - -#luckysheet-helpbox { - left: 0; - position: absolute; - right: 0; - top: 50%; - transform: translateY(-50%); - resize: none; - /* border: 1px #b9b9b9 solid; */ - font-family: arial, sans, sans-serif; - font-size: 14px; - line-height: 14px; - background-color: #ffffff; - padding: 2px 5px; -} - -.luckysheet-helpbox-cell-input { - width: 100%; - height: 100%; - margin: 0; - outline: none; - cursor: text; - -webkit-user-modify: read-write-plaintext-only; - white-space: nowrap; - overflow: hidden; - -webkit-transform: translateZ(0); - background-color: white; - word-wrap: break-word; - -webkit-nbsp-mode: space; - -webkit-line-break: after-white-space; -} - -.luckysheet-wa-calculate-help-tool { - position: absolute; - left: 85px; - text-align: center; - height: 100%; - width: 13px; - border-left: 1px solid transparent; - border-right: 1px solid transparent; -} -.luckysheet-wa-calculate-help-tool .fa-caret-down { - position: absolute; - top: 50%; - left: 3px; - transform: translateY(-50%); -} - -.luckysheet-wa-calculate-help-tool:hover { - background: #efefef; - cursor: pointer; - border-left: 1px solid #e5e5e5; - border-right: 1px solid #e5e5e5; -} - -.luckysheet-wa-calculate-size { - position: absolute; - height: 3px; - width: 100%; - left: 0px; - bottom: 0px; - z-index: 1000; -} - -.luckysheet-wa-calculate-size:hover { - background: #5e5e5e; - cursor: ns-resize; -} - -#luckysheet-wa-functionbox-cancel { - left: 104px; - /* font-size: 18px; */ -} - -#luckysheet-wa-functionbox-confirm { - left: 130px; - /* font-size: 18px; */ -} - -.luckysheet-wa-functionbox { - position: absolute; - top: 50%; - transform: translateY(-50%); - /*background-color: #fff;*/ - text-align: center; - left: 156px; - color: #d6d6d6; -} - -.luckysheet-wa-functionbox span { - vertical-align: middle; - width: 30px; - height: 30px; -} - -.luckysheet-wa-functionbox i { - font-size: 24px; -} - -.luckysheet-wa-calculate-active { - color: #585858; - cursor: pointer; -} - -.luckysheet-wa-calculate-active:hover { - color: #0188fb; -} - -.luckysheet-grid-container { - width: 100%; - position: absolute; - top: 90px; - bottom: 0px; -} - -.luckysheet-stat-area { - position: absolute; - height: 23px; - bottom: 0px; - background: #ff00dc; - width: 100%; -} - -.luckysheet-sta-c { - height: 22px; - background-color: #fff; - border-top: 1px solid #e1e1e1; - -moz-user-select: -moz-none; - -khtml-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.luckysheet-stat-area:hover .luckysheet-sta-c { - -moz-user-select: -moz-all; - -khtml-user-select: initial; - -webkit-user-select: initial; - -ms-user-select: initial; - user-select: initial; -} - -.luckysheet-sta-c .luckysheet-sta-content { - /* position: absolute; */ - /* left: 0px; */ - /* right: 358px; */ - height: 22px; - line-height: 22px; - text-align: right; - white-space: nowrap; - overflow: hidden; -} - -.luckysheet-sta-c .luckysheet-sta-content span { - margin-right: 10px; -} - -.luckysheet-grid-window { - position: absolute; - top: 0px; - bottom: 23px; - left: 0; - right: 0px; - overflow: hidden; - background: #00ffff; -} - -.luckysheet-sheet-area { - width: 100%; - box-sizing: border-box; - position: absolute; - right: 0; - bottom: 0; - left: 0; - /* background-color: #f6f6f6; */ - background-color: #fafafc; - color: #444; - height: 31px; - padding: 0 0 0 44px; - margin: 0; - -webkit-touch-callout: none; - cursor: default; - transition: 0.3s ease all; - display: flex; - align-items: center; - justify-content: space-between; -} - -#luckysheet-sheet-content { - width: 0; - flex: 3; - display: flex; - align-items: center; -} -#luckysheet-sheet-content .lucky-button-custom { -} - -#luckysheet-bottom-pager { - width: 0; - background-color: #fafafc; - z-index: 1; - flex: 2; - text-align: right; - white-space: nowrap; -} - -.luckysheet-sheet-area > div, -.luckysheet-sheet-area .luckysheet-sheets-item { - display: inline-block; - /* margin-right: 6px; - margin-top: 1px; - padding: 1px 6px; */ - /* padding: 6px 10px; */ -} - -/* .luckysheet-sheet-area .luckysheet-sheets-add { - margin-left: 47px; -} */ - -/* div.luckysheet-sheets-add, -div.luckysheet-sheets-m, -div.luckysheet-sheets-scroll { - background: #F6F6F6; - border: 1px solid #F6F6F6; - color: #4E4E4E; -} */ - -div.luckysheet-sheets-scroll { - display: none; -} - -div.luckysheet-sheets-add:hover, -div.luckysheet-sheets-m:hover { - color: #2a2a2a; -} - -.docs-sheet-fade { - position: absolute; - display: block; - top: 0; - width: 6px; - height: 100%; - /* z-index: 1005; */ - z-index: 1; /*因为会覆盖右击菜单,改为1*/ -} - -.docs-sheet-fade div { - background-color: #d7d7d7; - width: 2px; - float: right; - position: relative; - height: 100%; -} - -.docs-sheet-fade-left { - left: 0; -} - -.docs-sheet-fade-right { - right: 0; -} - -.docs-sheet-fade1 { - opacity: 0.82; - filter: alpha(opacity=82); -} - -.docs-sheet-fade2 { - opacity: 0.62; - filter: alpha(opacity=62); -} - -.docs-sheet-fade3 { - opacity: 0.4; - filter: alpha(opacity=40); -} - -.luckysheet-sheet-area div.luckysheet-sheet-container { - padding: 0px 0px; - margin-left: 0px; - position: relative; - max-width: 70%; - vertical-align: bottom; - display: inline-block; -} - -.luckysheet-sheet-area div.luckysheet-sheet-container div.luckysheet-sheet-container-c { - padding: 0px 0px; - margin-left: 0px; - overflow: hidden; - white-space: nowrap; - position: relative; - max-width: 100%; - vertical-align: bottom; - display: inline-block; -} - -.luckysheet-sheet-container-menu-hide .luckysheet-sheets-item { - padding-right: 5px !important; -} - -.luckysheet-sheet-container-menu-hide .luckysheet-sheets-item-menu { - display: none !important; -} - -.luckysheet-sheet-area div.luckysheet-sheets-item { - padding: 2px 6px; - height: 29px; - line-height: 29px; - /* box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3) inset; */ - /* background-color: #f7f7f7; */ - background-color: #fafafc; - /* border-color: #000; */ - /* border-top-color: #aaa; */ - /* border-width: 0 1px 1px 1px; */ - color: #676464; - min-width: 30px; - top: 0px; - position: relative; - /* border-radius: 0 0 2px 2px; */ - margin-right: -1px; - cursor: pointer; - /* border-bottom: 1px solid #cacaca; */ - transition: all 0.1s; - /* padding-right: 20px; */ - font-size: 13px; - - padding: 2px 19px 0px 5px; - box-sizing: border-box; - border-left: 1px solid #e0e0e0; - border-bottom: 1px solid #e0e0e0; - border-right: 1px solid #e0e0e0; - /* display:flex; - justify-content: center; - align-items: center; - height: 100%; */ -} - -.luckysheet-sheet-area div.luckysheet-sheets-item:last-child { - margin-right: 1px; -} -.luckysheet-sheet-area div.luckysheet-sheets-item:hover { - background-color: #efefef; - /* border-color: #a5a5a5; */ - color: #490500; -} - -.luckysheet-sheet-area div.luckysheet-sheets-item .luckysheet-sheets-item-menu { - margin-left: 2px; - display: inline-block; - top: -2px; - position: relative; - color: #a1a1a1; - position: absolute; - height: 100%; - width: 15px; - right: 0px; - text-align: center; -} - -.luckysheet-sheet-area div.luckysheet-sheets-item .luckysheet-sheets-item-menu:hover { - color: #2a2a2a; - cursor: pointer; -} - -.luckysheet-sheet-area div.luckysheet-sheets-item .luckysheet-sheets-item-name { - padding: 0px 3px; -} - -.luckysheet-sheet-area div.luckysheet-sheets-item .luckysheet-sheets-item-name[contenteditable="true"] { - border: 1px solid #d9d9d9; - display: inline-block; - height: 18px; - line-height: 18px; - min-width: 8px; - margin: -4px -1px; - -moz-user-modify: read-write-plaintext-only; - -webkit-user-modify: read-write-plaintext-only; - -moz-user-select: text !important; - -ms-user-select: text !important; - -webkit-user-select: text !important; -} - -.luckysheet-sheet-area div.luckysheet-sheets-item .luckysheet-sheets-item-name[contenteditable="true"]:focus { - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); - -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); - border: 1px solid #4d90fe; - outline: none; -} - -.luckysheet-sheet-area div.luckysheet-sheets-item-active { - /* padding: 2px 8px; */ - height: 29px; - line-height: 29px; - background-color: #efefef; - /* border-color: #aaa; */ - border-top-color: #fff; - color: #222; - /* box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); */ - cursor: default; - /* top: -2px; */ - /* border-bottom: none; */ - /* padding-right: 20px; */ -} - -.luckysheet-sheet-area div.luckysheet-sheets-item-active:hover { - background-color: #ececec; - /* border-color: #aaa; */ - color: #222; -} - -.luckysheet-grid-window-1 { - position: absolute; - top: 0; - right: 0; - bottom: 27px; - left: 0; - min-width: 200px; - background-color: #ffffff !important; - overflow: hidden; - -moz-user-select: -moz-none; - -khtml-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.luckysheetTableContent { - position: absolute; - z-index: 2; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - pointer-events: none; - -moz-user-select: -moz-none; - -khtml-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.luckysheet-grid-window-2 { - /*background-color: #fff !important;*/ - height: 100%; - width: 100%; - outline: none; - border-collapse: collapse; - display: table; -} - -.luckysheet-paneswrapper { - overflow: hidden; - height: 1px; -} - -.luckysheet-left-top { - width: 44.5px; - height: 18.5px; - border: solid 0 #dfdfdf; - position: relative; - padding-top: 0; - border-width: 0 1px 1px 0; - margin: -1px 0 0 -1px; - padding-left: 0; - cursor: pointer; -} - -.luckysheet-cols-h-c { - color: #5e5e5e; - overflow: hidden; - padding: 0; - cursor: default; - /*width: 1548px;*/ - height: 19px; - outline-style: none; - position: relative; - -webkit-user-select: none; - background: #f3f3f2; -} - -.luckysheet-rows-h { - position: relative; - outline-style: none; - color: #5e5e5e; - overflow: hidden; - padding: 0; - margin-top: -2px; - padding-top: 2px; - cursor: default; - /*height: 472px;*/ - width: 38px; - background: #f3f3f2; -} - -.luckysheet-cols-menu-btn { - color: #5e5e5e; - cursor: pointer; - position: absolute; - z-index: 12; - border: 1px solid #5e5e5e; - border-radius: 1px; - top: 3px; - margin-left: 0px; - display: none; - padding: 0px 2px; - font-size: 12px; - height: 12px; - opacity: 0.5; - /*transition: all 0.1s;*/ -} - -.luckysheet-cols-menu-btn:hover { - opacity: 1; -} - -.luckysheet-cols-h-hover { - color: #5e5e5e; - cursor: default; - position: absolute; - z-index: 11; - border: 0 none; - bottom: 0; - height: 100%; - margin-left: 0px; - display: none; - /*transition: all 0.1s;*/ - background-color: rgba(194, 194, 194, 0.4); -} - -.luckysheet-cols-h-selected { - color: #5e5e5e; - cursor: default; - position: absolute; - z-index: 10; - border-bottom: 1px solid #0188fb; - bottom: 0; - height: 100%; - margin-left: 0px; - display: none; - transition: all 0.1s; - background-color: rgba(76, 76, 76, 0.1); - /*left: 2489px; - width: 863px;*/ -} - -.luckysheet-cols-h-cells { - margin: 0; - padding: 0; - border: none 0; - position: relative; - height: inherit; - /*width: 4721px;*/ -} - -.luckysheet-cols-h-cells-c { - color: #5e5e5e; - cursor: default; - width: 5000000px; - height: inherit; -} - -.luckysheet-cols-h-cells-clip { - color: #5e5e5e; - cursor: default; - margin: 0; - padding: 0; - border: none 0; - position: relative; - float: left; - direction: ltr; - height: inherit; - width: 2561px; - color: #5e5e5e; - border-bottom: solid 1px #bbb; - position: relative; - top: -1px; -} - -.luckysheet-cols-h-cell-nosel { - position: absolute; - cursor: pointer; - border: 0 solid; - border-color: #dfdfdf; - display: inline-block; - min-height: 19px; - touch-action: manipulation; - border-right-width: 1px; - height: inherit; -} - -.luckysheet-cols-h-cell-sel { - direction: ltr; - height: inherit; - position: absolute; - cursor: pointer; - border: 0 solid; - border-color: #bfbfbf; - background-color: #e1e1e1; - display: inline-block; - min-height: 19px; - color: #0188fb; - font-weight: bold; - touch-action: manipulation; - border-right-width: 1px; -} - -.luckysheet-col-flow-h { - float: left; - direction: ltr; - position: relative; - margin: 0; - padding: 0; - border: none 0; - height: inherit; - overflow: hidden; -} - -.luckysheet-col-flow-h-sheet { - width: inherit; - height: inherit; - position: relative; - float: left; - direction: ltr; -} - -body:not(.ewa-ipad) .luckysheet-cols-h-cell-nosel:hover, -body:not(.ewa-ipad) .luckysheet-cols-h-cell-sel:hover, -body:not(.ewa-ipad) .luckysheet-rows-h-cell-nosel:hover, -body:not(.ewa-ipad) .luckysheet-rows-h-cell-sel:hover { - background-color: #fcc3c3; -} - -.luckysheet-cols-h-cell-txt { - cursor: pointer; - height: inherit; - position: relative; - text-align: center; - overflow: hidden; - touch-action: manipulation; - font-size: 14px; - padding-top: 2px; -} - -.luckysheet-rows-h { - position: relative; - outline-style: none; - color: #5e5e5e; - overflow: hidden; - padding: 0; - margin-top: -2px; - padding-top: 2px; - cursor: default; - width: 45px; -} - -.luckysheet-rows-h-hover { - position: absolute; - z-index: 11; - border: 0 none; - right: 0; - width: 100%; - margin-top: 2px; - display: none; - /*transition: all 0.1s;*/ - background-color: rgba(194, 194, 194, 0.4); -} - -.luckysheet-rows-h-selected { - position: absolute; - z-index: 10; - border-right: 1px solid #0188fb; - right: 0; - width: 100%; - margin-top: 2px; - display: none; - transition: all 0.1s; - background-color: rgba(76, 76, 76, 0.1); - /*top: 106px; - height: 145px;*/ -} - -.luckysheet-rows-h-cells { - margin: 0; - padding: 0; - border: none 0; - position: relative; - width: 100%; -} - -.luckysheet-rows-h-cells-c { - margin: 0; - padding: 0; - border: none 0; - position: relative; - float: left; - direction: ltr; - width: 100%; -} - -.luckysheet-rows-h-cells-clip { - cursor: default; - color: #5e5e5e; - direction: ltr; - border-right: solid 1px #bbb; - width: inherit; - height: inherit; - position: relative; - left: -1px; - height: inherit; -} - -.luckysheet-rows-h-cell-nosel { - direction: ltr; - width: 100%; - position: absolute; - cursor: pointer; - border: 0 solid; - border-color: #dfdfdf; - border-bottom-width: 1px; - touch-action: manipulation; -} - -.luckysheet-rows-h-cell-sel { - direction: ltr; - width: 100%; - position: absolute; - cursor: pointer; - border: 0 solid; - border-color: #bfbfbf; - background-color: #e1e1e1; - border-bottom-width: 1px; - color: #0188fb; - font-weight: bold; - touch-action: manipulation; -} - -.luckysheet-rows-h-cell-txt { - width: 100%; - position: absolute; - bottom: 0; - text-align: center; - padding-bottom: 1px; - max-height: 100%; - overflow: hidden; - font-size: 14px; -} - -.luckysheet-cell-loading { - width: 100%; - height: 100%; - background-color: rgba(255, 255, 255, 0.3); - position: absolute; - overflow: hidden; - outline-style: none; - cursor: not-allowed; - font-size: 28px; - z-index: 2; - display: none; -} - -.luckysheet-cell-loading-inner { - position: relative; - top: 40%; - width: 100%; - margin: 0 auto; - text-align: center; -} - -.luckysheet-cell-loading-inner span { - margin-left: 10px; -} - -.luckysheet-cell-main { - /*border: solid 1px #BEC1C4;*/ - background-color: white; - width: 15px; - height: 15px; - background-color: #f3f3f2; - /*#E7E7E7;*/ - border-collapse: collapse; - position: relative; - overflow: hidden; - outline-style: none; - cursor: default; -} - -.luckysheet-scrollbars, -.luckysheet-menu { - scrollbar-base-color: #ffffff; - scrollbar-track-color: #e7e7e7; - scrollbar-darkshadow-color: #ffffff; - scrollbar-3dlight-color: #ffffff; - scrollbar-arrow-color: #757778; - scrollbar-shadow-color: #bec1c4; - scrollbar-highlight-color: #bec1c4; - -ms-scroll-chaining: none; - overflow: auto; -} - -.luckysheet-scrollbar-ltr { - position: absolute; - overflow: hidden; - z-index: 1003; -} - -.luckysheet-scrollbar-ltr div { - height: 1px; - width: 1px; -} - -.luckysheet-scrollbar-ltr::-webkit-scrollbar-button { - height: 0; - width: 0; -} - -.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:start { - display: none; -} - -.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:end { - display: block; -} - -.luckysheet-scrollbar-ltr::-webkit-scrollbar-button { - border: 1px solid #d9d9d9; -} - -.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:horizontal { - border-width: 1px 0 0 0; -} - -.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:vertical { - border-width: 0 0 0 1px; -} - -.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:vertical { - border-width: 0 1px 0 0; -} - -.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:horizontal:increment { - background: no-repeat url("waffle_sprite.png") -663px -13px; - width: 15px; - padding-left: 1px; - background-clip: border-box; - border: 1px solid #d9d9d9; - border-width: 1px 0 0 0; - box-shadow: none; - background-color: #f8f8f8; - border-bottom: 1px solid #d9d9d9; -} - -.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:horizontal:increment:hover { - background: no-repeat url("waffle_sprite.png") -395px -62px; -} - -.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:horizontal:increment:active { - background: no-repeat url("waffle_sprite.png") -679px -13px; -} - -.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:horizontal:decrement { - border-left: 1px solid #d9d9d9; - border-right: 1px solid #d9d9d9; - background: no-repeat url("waffle_sprite.png") -283px -62px; - width: 17px; - border-bottom: 1px solid #d9d9d9; -} - -.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:horizontal:hover { - background: no-repeat url("waffle_sprite.png") -145px -70px; -} - -.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:horizontal:active { - background: no-repeat url("waffle_sprite.png") -552px 0; -} - -.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:vertical:increment { - padding-top: 1px; - background: no-repeat url("waffle_sprite.png") -531px -24px; - border-left: 1px solid #d9d9d9; - height: 15px; -} - -.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:vertical:increment:hover { - background: no-repeat url("waffle_sprite.png") -570px -42px; -} - -.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:vertical:increment:active { - background: no-repeat url("waffle_sprite.png") -83px -46px; -} - -.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:vertical:decrement { - border-top: 1px solid #d9d9d9; - border-bottom: 1px solid #d9d9d9; - border-left: 1px solid #d9d9d9; - background: no-repeat url("waffle_sprite.png") -631px -27px; - height: 17px; -} - -.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:vertical:decrement:hover { - background: no-repeat url("waffle_sprite.png") -180px -58px; -} - -.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:vertical:decrement:active { - background: no-repeat url("waffle_sprite.png") -776px -28px; -} - -.luckysheet-scrollbar-x { - bottom: 0px; - left: 44px; - overflow-x: scroll; -} - -.luckysheet-scrollbar-y { - right: 0px; - top: 0px; - overflow-y: scroll; -} - -.luckysheet-cell-flow { - margin: 0; - padding: 0; - border: none 0; - position: relative; - touch-action: manipulation; - overflow: hidden; - /*background: #fff;*/ -} - -.luckysheet-cell-flow-clip { - border-collapse: collapse; - cursor: default; - width: 5000000px; - touch-action: manipulation; - overflow: hidden; -} - -.luckysheet-cell-flow-col { - margin: 0; - padding: 0; - border: none 0; - position: relative; - touch-action: manipulation; - overflow: hidden; - float: left; - direction: ltr; -} - -.luckysheet-cell-sheettable { - position: relative; - /*background-color: #fff;*/ - text-align: left; - font-size: 11pt; - color: #000000; - text-decoration: none; -} - -.luckysheet-bottom-controll-row { - position: absolute; - height: 30px; - /*width: 400px;*/ - /* background: #000; */ - bottom: 38px; - left: 0px; - z-index: 1000; -} - -#luckysheet-bottom-add-row { - padding: 5px 20px; - margin-right: 5px; - margin-top: -2px; -} - -#luckysheet-bottom-add-row-input { - width: 40px; - min-width: 40px; -} - -#luckysheet-bottom-return-top { - padding: 5px 6px; - margin-left: 10px; - margin-top: -2px; -} - -.luckysheet-cell-flow-column { - position: absolute; - height: inherit; - width: inherit; - top: 0; - left: 0; - z-index: 1; - touch-action: manipulation; -} - -.luckysheet-cell-flow-column-line { - position: absolute; - border-right: 1px solid #d4d4d4; - height: inherit; -} - -.luckysheet-cell-flow-row { - text-align: left; - position: absolute; - height: inherit; - width: inherit; - top: 0; - left: 0; - z-index: 1; - touch-action: manipulation; -} - -.luckysheet-cell-flow-row-line { - position: absolute; - border-bottom: 1px solid #d4d4d4; - width: inherit; -} - -.luckysheet-cell-selected-focus { - position: absolute; - pointer-events: none; - z-index: 14; - /*border:1px solid #fff;*/ - margin: 0px 0 0 0px; - background: rgba(0, 80, 208, 0.15); - display: none; - /*transition: all 0.1s;*/ -} - -.luckysheet-selection-copy { - position: absolute; - pointer-events: none; - z-index: 18; - border: none; - margin: 0px 0 0 0px; - display: none; -} - -.luckysheet-selection-copy .luckysheet-copy { - position: absolute; - z-index: 18; - background-color: transparent; -} - -.luckysheet-selection-copy-top { - left: 0; - right: 0; - height: 2px; - top: 0; - background-position: bottom; - background-image: url("EwaAntH.gif"); -} - -.luckysheet-selection-copy-right { - top: 0; - bottom: 0; - width: 2px; - right: 0; - background-image: url("EwaAntV.gif"); -} - -.luckysheet-selection-copy-bottom { - left: 0; - right: 0; - height: 2px; - bottom: 0; - background-image: url("EwaAntH.gif"); -} - -.luckysheet-selection-copy-left { - top: 0; - bottom: 0; - width: 2px; - left: 0; - background-position: right; - background-image: url("EwaAntV.gif"); -} - -.luckysheet-selection-copy-hc { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - border: 2px dashed #12a5ff; - z-index: 8; -} - -.luckysheet-selection-highlight { - position: absolute; - /*pointer-events: none;*/ - z-index: 14; - border: none; - margin: 0px 0 0 0px; - display: none; -} - -.luckysheet-formula-functionrange-highlight .luckysheet-copy { - background-image: none; - background: #0188fb; - position: absolute; - z-index: 18; - cursor: move; - opacity: 0.9; - /*border: 1px solid #fff;*/ -} - -.luckysheet-formula-functionrange-highlight .luckysheet-selection-copy-top { - top: -2px; - border-top: 2px solid #fff; - border-bottom: 2px solid #fff; -} - -.luckysheet-formula-functionrange-highlight .luckysheet-selection-copy-right { - right: -2px; - border-left: 2px solid #fff; - border-right: 2px solid #fff; -} - -.luckysheet-formula-functionrange-highlight .luckysheet-selection-copy-bottom { - bottom: -2px; - border-top: 2px solid #fff; - border-bottom: 2px solid #fff; -} - -.luckysheet-formula-functionrange-highlight .luckysheet-selection-copy-left { - left: -2px; - border-left: 2px solid #fff; - border-right: 2px solid #fff; -} - -.luckysheet-formula-functionrange-highlight .luckysheet-selection-copy-hc { - border: 2px solid #5e5e5e; - opacity: 0.03; - z-index: initial; -} - -.luckysheet-selection-highlight-topleft { - left: -3px; - top: -3px; - cursor: se-resize; -} - -.luckysheet-selection-highlight-topright { - right: -3px; - top: -3px; - cursor: ne-resize; -} - -.luckysheet-selection-highlight-bottomleft { - left: -3px; - bottom: -3px; - cursor: ne-resize; -} - -.luckysheet-selection-highlight-bottomright { - right: -3px; - bottom: -3px; - cursor: se-resize; -} - -.luckysheet-formula-functionrange-highlight .luckysheet-highlight { - position: absolute; - z-index: 19; - border: 1px solid #fff; - background: #0188fb; - width: 6px; - height: 6px; -} - -.luckysheet-cell-selected-extend { - position: absolute; - pointer-events: none; - z-index: 16; - border: 1px dashed #0188fb; - margin: -1px 0 0 -1px; - display: none; - /*transition: all 0.1s;*/ -} - -.luckysheet-cell-selected-move { - position: absolute; - pointer-events: none; - z-index: 16; - border: 2px solid #0188fb; - margin: -1px 0 0 -1px; - display: none; - /*transition: all 0.1s;*/ -} - -.luckysheet-cell-selected { - position: absolute; - pointer-events: none; - z-index: 15; - border: 1px solid #0188fb; - margin: -1px 0 0 -1px; - background: rgba(1, 136, 251, 0.15); - display: none; - /*transition: all 0.1s;*/ -} - -.luckysheet-cs-inner-border { - pointer-events: none; - border: 1px solid #fff; - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; -} - -.luckysheet-cs-fillhandle { - position: absolute; - width: 6px; - height: 6px; - bottom: -5px; - cursor: crosshair; - background-color: #0188fb; - border: solid 1px #fff; - z-index: 16; - pointer-events: auto; - right: -5px; -} - -.luckysheet-cs-draghandle { - position: absolute; - cursor: move; - background-color: #fff; - opacity: 0.01; - z-index: 15; - pointer-events: auto; - border: 2px solid #fff; -} - -.luckysheet-cs-draghandle-top { - top: -4px; - left: -2px; - right: -2px; - height: 2px; -} - -.luckysheet-cs-draghandle-bottom { - right: 0; - left: -2px; - bottom: -4px; - height: 2px; -} - -.luckysheet-cs-draghandle-left { - top: 0; - left: -4px; - bottom: 0; - width: 2px; -} - -.luckysheet-cs-draghandle-right { - top: 0; - right: -4px; - bottom: 0; - width: 2px; -} - -.luckysheet-cs-touchhandle { - display: none; - position: absolute; - width: 16px; - height: 16px; - padding: 5px; - z-index: 100; - pointer-events: auto; - touch-action: auto; -} - -.luckysheet-cs-touchhandle:before { - content: ""; - display: block; - width: 16px; - height: 16px; - border: 0.5px solid rgba(0, 0, 0, 0.15); - background-color: #ffffff; - box-sizing: border-box; - border-radius: 50%; -} - -.luckysheet-cs-touchhandle-lt { - left: -13px; - top: -13px; -} - -.luckysheet-cs-touchhandle-lb { - left: -13px; - bottom: -13px; -} - -.luckysheet-cs-touchhandle-rt { - right: -13px; - top: -13px; -} - -.luckysheet-cs-touchhandle-rb { - right: -13px; - bottom: -13px; -} - -.luckysheet-cs-touchhandle .luckysheet-cs-touchhandle-btn { - position: absolute; - width: 10px; - height: 10px; - left: 8px; - top: 8px; - background-color: #018ffb; - background-position: center; - box-sizing: border-box; - border-radius: 50%; - z-index: 11; -} - -#luckysheet-dynamicArray-hightShow { - position: absolute; - pointer-events: none; - z-index: 15; - border: 1px solid blue; - margin: -1px 0 0 -1px; - display: none; -} - -.luckysheet-scrollbars::-webkit-scrollbar-track { - background-color: #ffffff; - border: 1px solid #d9d9d9; -} - -.luckysheet-scrollbar-x::-webkit-scrollbar-track { - border-left: 1px solid #d9d9d9; - border-right: none; -} - -.luckysheet-scrollbar-y::-webkit-scrollbar-track { - border-top: none; - border-bottom: none; -} - -.luckysheet-scrollbars::-webkit-scrollbar { - width: 12px; - height: 12px; - background-color: #ffffff; - /*border:0 none;*/ -} - -.luckysheet-scrollbars::-webkit-scrollbar-thumb { - background-color: rgba(0, 0, 0, 0.2); - background-clip: padding-box; - border: solid transparent; - border-radius: 12px; - border-width: 2px 1px 1px 2px; - box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.07); -} - -.luckysheet-scrollbars::-webkit-scrollbar-thumb:hover { - background-color: #969696; - border: 1px solid #a0a0a0; - border-radius: 12px; -} - -.luckysheet-grdusedrange { - position: absolute; - visibility: hidden; - width: 1px; - height: 1px; -} - -.luckysheet-grdblkflowpush { - margin: 0; - padding: 0; - border: none 0; - width: 1px; -} - -.luckysheet-grdblkpush { - margin: 0; - padding: 0; - border: none 0; - height: 1px; - float: left; - direction: ltr; -} - -.luckysheet-cell-flow-data { - position: absolute; - height: inherit; - width: inherit; - top: 0; - left: 0; - z-index: 1; -} - -.luckysheet-cell-flow-data-row { - position: absolute; - width: inherit; -} - -.luckysheet-cell-flow-data-cell { - position: absolute; - height: inherit; -} - -.luckysheet-cell-flow-data-value { - position: absolute !important; - bottom: 0; - letter-spacing: -0.02em; - white-space: nowrap; - padding-left: 2px; - overflow: hidden; -} - -.luckysheet canvas { - position: absolute; -} - -.luckysheetcolumeHeader { - margin-left: -1px; -} - -.luckysheetrowHeader { - margin-top: 1px; -} - -.luckysheetsheettable { - margin-left: -1px; - margin-top: -1px; -} - -.luckysheet-cols-menu { - max-height: 100%; - overflow-y: auto; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; - -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); - -webkit-transition: opacity 0.218s; - -moz-transition: opacity 0.218s; - -o-transition: opacity 0.218s; - transition: opacity 0.218s; - background: #fff; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, 0.2); - cursor: default; - font-size: 13px; - margin: 0; - outline: none; - padding: 6px 0; - position: absolute; - z-index: 1004; - box-sizing: border-box; - user-select: none; - display: none; -} - -.luckysheet-cols-menu .luckysheet-cols-menuitem { - position: relative; - color: #333; - cursor: pointer; - list-style: none; - margin: 0; - /*padding: 6px 8em 6px 30px;*/ - padding: 1px 6em 1px 20px; - white-space: nowrap; - padding-left: 8px; - vertical-align: middle; - padding-right: 24px; - user-select: none; -} - -/* 右击菜单项目 hover背景色 */ -.luckysheet-cols-menu .luckysheet-cols-menuitem:hover, -.luckysheet-cols-menu .luckysheet-cols-menuitem-hover { - background: #efefef; -} - -.luckysheet-cols-menu .luckysheet-cols-menuitem .luckysheet-cols-menuitem-content { - position: relative; - color: #333; - cursor: pointer; - list-style: none; - margin: 0; - padding: 6px 7em 6px 30px; - white-space: nowrap; - user-select: none; -} - -.luckysheet-rightgclick-menu .luckysheet-cols-menuitem .luckysheet-cols-menuitem-content { - position: relative; - color: #333; - cursor: pointer; - list-style: none; - margin: 0; - padding: 6px 15px 6px 20px; - white-space: nowrap; - user-select: none; -} - -#luckysheet-cols-menu .luckysheet-cols-menuitem, -.luckysheet-filter-menu .luckysheet-cols-menuitem, -#luckysheet-pivotTable-config-option .luckysheet-cols-menuitem { - padding-right: 10px; - padding-left: 12px; -} - -#luckysheet-pivotTable-config-option-sumtype .luckysheet-cols-menuitem { - padding-right: 15px; - padding-left: 12px; - padding-top: 1px; - padding-bottom: 1px; -} - -#luckysheet-cols-menu .luckysheet-cols-menuitem-content, -.luckysheet-filter-menu .luckysheet-cols-menuitem .luckysheet-cols-menuitem-content { - padding-right: 10px; - padding-left: 12px; -} -#luckysheet-sheet-list .luckysheet-cols-menuitem .luckysheet-cols-menuitem-content { - padding-right: 0px; - max-width: 430px; - min-width: 100px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -.luckysheet-filter-menu div.luckysheet-cols-menuitem { - padding-top: 0px; - padding-bottom: 0px; -} - -.luckysheet-filter-submenu div.luckysheet-cols-menuitem { - padding-top: 1px; - padding-bottom: 1px; -} - -.luckysheet-filter-menu .luckysheet-filter-byvalue .luckysheet-cols-menuitem, -.luckysheet-filter-menu .luckysheet-pivotTableFilter-byvalue .luckysheet-cols-menuitem { - padding-top: 2px; - padding-bottom: 0px; - cursor: default; -} - -.luckysheet-filter-menu .luckysheet-filter-byvalue .luckysheet-cols-menuitem-content, -.luckysheet-filter-menu .luckysheet-pivotTableFilter-byvalue .luckysheet-cols-menuitem-content { - padding-top: 2px; - padding-bottom: 0px; - cursor: default; -} - -.luckysheet-filter-menu .luckysheet-filter-byvalue .luckysheet-cols-menuitem-content input, -.luckysheet-filter-menu .luckysheet-pivotTableFilter-byvalue .luckysheet-cols-menuitem-content input { - height: 24px; - width: 191px; - padding-right: 25px; - padding-left: 3px; - -webkit-border-radius: 1px; - -moz-border-radius: 1px; - border-radius: 1px; - border: 1px solid #d9d9d9; - border-top: 1px solid #c0c0c0; - font-size: 13px; -} - -.luckysheet-filter-menu .luckysheet-filter-byvalue .luckysheet-cols-menuitem-content input:focus, -.luckysheet-filter-menu .luckysheet-pivotTableFilter-byvalue .luckysheet-cols-menuitem-content input:focus { - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); - -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); - border: 1px solid #4d90fe; - outline: none; -} - -.luckysheet-filter-menu - .luckysheet-filter-byvalue - .luckysheet-cols-menuitem-content - .luckysheet-filter-byvalue-input-icon, -.luckysheet-filter-menu - .luckysheet-pivotTableFilter-byvalue - .luckysheet-cols-menuitem-content - .luckysheet-pivotTableFilter-byvalue-input-icon { - position: absolute; - right: 17px; - top: 7px; -} - -.luckysheet-filter-menu .luckysheet-filter-byvalue .luckysheet-cols-menuitem:hover, -.luckysheet-filter-menu .luckysheet-pivotTableFilter-byvalue .luckysheet-cols-menuitem:hover { - background: #fff; -} - -.luckysheet-filter-menu .luckysheet-cols-menuitem:last-child:hover { - background: #fff; -} - -.luckysheet-filter-menu .luckysheet-cols-menuitem:last-child, -.luckysheet-filter-menu .luckysheet-cols-menuitem:last-child .luckysheet-cols-menuitem-content { - cursor: default; -} - -#luckysheet-filter-byvalue-select, -#luckysheet-pivotTableFilter-byvalue-select { - min-height: 100px; - width: 200px; -} - -.luckysheet-filter-menu .luckysheet-mousedown-filter-byvalue-btn span, -.luckysheet-filter-menu .luckysheet-mousedown-pivotTableFilter-byvalue-btn span { - color: blue; - cursor: pointer; - text-decoration: underline; -} - -.luckysheet-filter-menu .luckysheet-mousedown-filter-byvalue-btn div, -.luckysheet-filter-menu .luckysheet-mousedown-pivotTableFilter-byvalue-btn div { - position: absolute; - right: 14px; - top: 0px; - font-size: 18px; -} - -.luckysheet-filter-menu .luckysheet-filter-bycondition .luckysheet-filter-selected-input, -.luckysheet-filter-menu .luckysheet-pivotTableFilter-bycondition .luckysheet-pivotTableFilter-selected-input { - padding-left: 8px; - padding-right: 8px; - margin-top: 3px; - display: none; -} - -.luckysheet-filter-menu .luckysheet-filter-bycondition .luckysheet-filter-selected-input input, -.luckysheet-filter-menu .luckysheet-pivotTableFilter-bycondition .luckysheet-pivotTableFilter-selected-input input { - height: 24px; - width: 100%; - padding-right: 3px; - padding-left: 3px; - margin-left: -3px; - -webkit-border-radius: 1px; - -moz-border-radius: 1px; - border-radius: 1px; - border: 1px solid #d9d9d9; - border-top: 1px solid #c0c0c0; - font-size: 13px; -} - -.luckysheet-filter-menu .luckysheet-filter-bycondition .luckysheet-filter-selected-input2 input, -.luckysheet-filter-menu .luckysheet-pivotTableFilter-bycondition .luckysheet-pivotTableFilter-selected-input2 input { - height: 24px; - width: 92px; - padding-right: 3px; - padding-left: 3px; - margin-left: -3px; - -webkit-border-radius: 1px; - -moz-border-radius: 1px; - border-radius: 1px; - border: 1px solid #d9d9d9; - border-top: 1px solid #c0c0c0; - font-size: 13px; -} - -.luckysheet-filter-menu .luckysheet-filter-bycondition .luckysheet-filter-selected-input2 span, -.luckysheet-filter-menu .luckysheet-pivotTableFilter-bycondition .luckysheet-pivotTableFilter-selected-input2 span { - margin-left: 2px; - margin-right: 5px; -} - -.luckysheet-menuseparator { - border-top: 1px solid #ebebeb; - margin-top: 6px; - margin-bottom: 6px; -} - -.luckysheet-submenu-arrow { - -webkit-transition: all 0.218s; - -moz-transition: all 0.218s; - -o-transition: all 0.218s; - transition: all 0.218s; - font-size: 12px; - left: auto; - right: -15px; - padding-top: 1px; - padding-right: 0; - position: absolute; - text-align: right; - opacity: 0.5; - filter: alpha(opacity=50); - color: #000; - user-select: none; - font-family: Arial; - line-height: 100%; -} - -#luckysheet-pivotTable-config-option-sumtype .luckysheet-submenu-arrow { - right: -5px; - font-size: 16px; - padding-top: 0px; - color: blue; -} - -#luckysheet-filter-byvalue-select table, -#luckysheet-pivotTableFilter-byvalue-select table { - table-layout: fixed; -} - -#luckysheet-filter-byvalue-select tr td, -#luckysheet-pivotTableFilter-byvalue-select tr td { - padding: 2px 3px; -} - -#luckysheet-filter-byvalue-select tr:hover td, -#luckysheet-pivotTableFilter-byvalue-select tr:hover td { - background: #e1e1e1; -} - -/*筛选改 -- pan*/ -.luckysheet-cols-menu .cf:before, -.luckysheet-cols-menu .cf:after { - content: ""; - display: table; -} - -.luckysheet-cols-menu .cf:after { - clear: both; -} - -#luckysheet-filter-byvalue-select .yearBox .monthList, -#luckysheet-pivotTableFilter-byvalue-select .yearBox .monthList { - padding-left: 20px; -} - -#luckysheet-filter-byvalue-select .yearBox .dayList, -#luckysheet-pivotTableFilter-byvalue-select .yearBox .dayList { - padding-left: 20px; -} - -#luckysheet-filter-byvalue-select .yearBox .fa-caret-right, -#luckysheet-pivotTableFilter-byvalue-select .yearBox .fa-caret-right { - padding: 0 2px; - float: left; - margin-top: 3px; - cursor: pointer; -} - -#luckysheet-filter-byvalue-select .count, -#luckysheet-pivotTableFilter-byvalue-select .count { - color: gray; - margin-left: 5px; -} - -#luckysheet-filter-byvalue-select input[type="checkbox"], -#luckysheet-pivotTableFilter-byvalue-select input[type="checkbox"] { - width: auto; - height: auto; - float: left; -} - -/*颜色筛选 -- pan*/ -#luckysheet-filter-orderby-color-submenu { - font-size: 12px; -} - -#luckysheet-filter-orderby-color-submenu .title { - padding: 10px; - font-weight: 600; - color: #333; - background-color: #f4f4f4; - text-align: center; -} - -#luckysheet-filter-orderby-color-submenu .item { - padding: 5px 40px 5px 20px; - cursor: pointer; - position: relative; -} - -#luckysheet-filter-orderby-color-submenu .item:hover { - background-color: #d3d3d3; -} - -#luckysheet-filter-orderby-color-submenu .item label { - display: block; - width: 70px; - height: 20px; - border: 1px solid #d1d1d1; -} - -#luckysheet-filter-orderby-color-submenu .item input[type="checkbox"] { - position: absolute; - right: 10px; - top: 6px; -} - -#luckysheet-copy-content { - position: fixed; - height: 0px; - width: 0px; - left: -100px; - /*overflow: hidden;*/ - /*text-indent: -999999px;*/ - padding-left: 999999px; -} - -/* #luckysheet-copy-btn { - position: absolute; - visibility: hidden; -} */ - -.btn { - display: inline-block; - margin-bottom: 0; - font-weight: normal; - text-align: center; - vertical-align: middle; - -ms-touch-action: manipulation; - touch-action: manipulation; - cursor: pointer; - background-image: none; - border: 1px solid transparent; - white-space: nowrap; - padding: 4px 8px; - font-size: 14px; - line-height: 1.42857143; - border-radius: 2px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.btn:focus, -.btn:active:focus, -.btn.active:focus, -.btn.focus, -.btn:active.focus, -.btn.active.focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} - -.btn:hover, -.btn:focus, -.btn.focus { - color: #333333; - text-decoration: none; -} - -.btn:active, -.btn.active { - outline: 0; - background-image: none; - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); -} - -.btn.disabled, -.btn[disabled], -fieldset[disabled] .btn { - cursor: not-allowed; - opacity: 0.65; - filter: alpha(opacity=65); - -webkit-box-shadow: none; - box-shadow: none; -} - -a.btn.disabled, -fieldset[disabled] a.btn { - pointer-events: none; -} - -.btn-default { - color: #333; - background-color: #fff; - border-color: #ccc; -} - -.btn-default:focus, -.btn-default.focus { - color: #333; - background-color: #e6e6e6; - border-color: #8c8c8c; -} - -.btn-default:hover { - color: #333; - background-color: #e6e6e6; - border-color: #adadad; -} - -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - color: #333; - background-color: #e6e6e6; - border-color: #adadad; -} - -.btn-default:active:hover, -.btn-default.active:hover, -.open > .dropdown-toggle.btn-default:hover, -.btn-default:active:focus, -.btn-default.active:focus, -.open > .dropdown-toggle.btn-default:focus, -.btn-default:active.focus, -.btn-default.active.focus, -.open > .dropdown-toggle.btn-default.focus { - color: #333; - background-color: #d4d4d4; - border-color: #8c8c8c; -} - -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - background-image: none; -} - -.btn-default.disabled:hover, -.btn-default[disabled]:hover, -fieldset[disabled] .btn-default:hover, -.btn-default.disabled:focus, -.btn-default[disabled]:focus, -fieldset[disabled] .btn-default:focus, -.btn-default.disabled.focus, -.btn-default[disabled].focus, -fieldset[disabled] .btn-default.focus { - background-color: #fff; - border-color: #ccc; -} - -.btn-default .badge { - color: #fff; - background-color: #333; -} - -.btn-primary { - color: #ffffff; - /* background-color: #337ab7; */ - background-color: #2d7ff9; - /* border-color: #2e6da4; */ - border-color: transparent; -} - -.btn-primary:focus, -.btn-primary.focus { - color: #ffffff; - background-color: #286090; - /* border-color: #122b40; */ - border-color: transparent; -} - -.btn-primary:hover { - color: #ffffff; - /* background-color: #286090; */ - background-color: #5391ff; - /* border-color: #204d74; */ - border-color: transparent; -} - -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - color: #ffffff; - /* background-color: #286090; */ - background-color: #5391ff; - /* border-color: #204d74; */ -} - -.btn-primary:active:hover, -.btn-primary.active:hover, -.open > .dropdown-toggle.btn-primary:hover, -.btn-primary:active:focus, -.btn-primary.active:focus, -.open > .dropdown-toggle.btn-primary:focus, -.btn-primary:active.focus, -.btn-primary.active.focus, -.open > .dropdown-toggle.btn-primary.focus { - color: #ffffff; - background-color: #204d74; - /* border-color: #122b40; */ - border-color: transparent; -} - -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - background-image: none; -} - -.btn-primary.disabled, -.btn-primary[disabled], -fieldset[disabled] .btn-primary, -.btn-primary.disabled:hover, -.btn-primary[disabled]:hover, -fieldset[disabled] .btn-primary:hover, -.btn-primary.disabled:focus, -.btn-primary[disabled]:focus, -fieldset[disabled] .btn-primary:focus, -.btn-primary.disabled.focus, -.btn-primary[disabled].focus, -fieldset[disabled] .btn-primary.focus, -.btn-primary.disabled:active, -.btn-primary[disabled]:active, -fieldset[disabled] .btn-primary:active, -.btn-primary.disabled.active, -.btn-primary[disabled].active, -fieldset[disabled] .btn-primary.active { - background-color: #337ab7; - /* border-color: #2e6da4; */ - border-color: transparent; -} - -.btn-primary .badge { - color: #337ab7; - background-color: #ffffff; -} - -.btn-primary, -.label-default, -.list-group-item.active, -.list-group-item.active:hover, -.list-group-item.active:focus { - background: #0188fb; - /* border-color: #726EFE; */ - border-color: transparent; -} - -.btn-primary:hover, -.btn-primary:focus { - /* background: #388cf5; */ - background: #5391ff; - /* border-color: #6864FE; */ - border-color: transparent; -} - -.btn-danger { - color: #fff; - background-color: #d9534f; - border-color: #d43f3a; -} - -.btn-danger:focus, -.btn-danger.focus { - color: #fff; - background-color: #c9302c; - border-color: #761c19; -} - -.btn-danger:hover { - color: #fff; - background-color: #c9302c; - border-color: #ac2925; -} - -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - color: #fff; - background-color: #c9302c; - border-color: #ac2925; -} - -.btn-danger:active:hover, -.btn-danger.active:hover, -.open > .dropdown-toggle.btn-danger:hover, -.btn-danger:active:focus, -.btn-danger.active:focus, -.open > .dropdown-toggle.btn-danger:focus, -.btn-danger:active.focus, -.btn-danger.active.focus, -.open > .dropdown-toggle.btn-danger.focus { - color: #fff; - background-color: #ac2925; - border-color: #761c19; -} - -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - background-image: none; -} - -.btn-danger.disabled:hover, -.btn-danger[disabled]:hover, -fieldset[disabled] .btn-danger:hover, -.btn-danger.disabled:focus, -.btn-danger[disabled]:focus, -fieldset[disabled] .btn-danger:focus, -.btn-danger.disabled.focus, -.btn-danger[disabled].focus, -fieldset[disabled] .btn-danger.focus { - background-color: #d9534f; - border-color: #d43f3a; -} - -.btn-danger .badge { - color: #d9534f; - background-color: #fff; -} - -.luckysheet-cols-change-size, -.luckysheet-rows-change-size, -.luckysheet-change-size-line { - /*display: none;*/ - position: absolute; - z-index: 12; -} - -.luckysheet-cols-change-size { - width: 5px; - height: 100%; - background: #0188fb; - cursor: ew-resize; - opacity: 0; -} - -.luckysheet-rows-change-size { - width: 100%; - height: 5px; - background: #0188fb; - cursor: ns-resize; - opacity: 0; -} - -.luckysheet-change-size-line { - border-color: #0188fb; - border-style: solid; - z-index: 15; - display: none; -} - -.luckysheet-count-show { - position: absolute; - z-index: 15; - background: rgba(76, 76, 76, 0.8); - color: #fff; - padding: 2px 3px; - border-radius: 3px; - transition: all 0.3s; - display: none; - white-space: nowrap; -} - -.luckysheet-row-count-show { - text-align: center; -} - -.luckysheet-row-count-show div { - /*-webkit-writing-mode: vertical-rl;*/ - writing-mode: vertical-rl; - /*-ms-writing-mode: tb-rl;*/ - writing-mode: vertical-rl; - -ms-writing-mode: initial; - *writing-mode: tb-rl; - /* IE 写法 */ -} - -.luckysheet-row-count-show div:last-child { - writing-mode: initial; -} - -#luckysheet-sheet-list { - max-height: 60%; - overflow: auto; -} - -#luckysheet-sheet-list .luckysheet-cols-menuitem { - padding-left: 0px; - padding-right: 10px; -} - -#luckysheet-sheet-list .luckysheet-cols-menuitem .luckysheet-cols-menuitem-content { - padding-left: 5px; -} -/* -#luckysheet-sheet-list .luckysheet-cols-menuitem .luckysheet-cols-menuitem-content { - max-width: 420px; - min-width: 190px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} */ - -#luckysheet-sheet-list .icon { - width: 15px; - margin-left: 4px; - display: inline-block; -} - -.luckysheet-input-box { - position: absolute; - font: normal normal 400 13px arial, sans, sans-serif; - text-align: left; - top: -10000px; - max-height: 9900px; - max-width: 9900px; - border: 2px #5292f7 solid; - padding: 0 2px; - margin: 0; - z-index: 15; - resize: none; - overflow: auto; - overflow: initial; - white-space: pre-wrap; - outline: none; - -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4); - -moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4); - box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4); - word-wrap: break-word; -} - -.luckysheet-cell-input { - width: 100%; - height: 100%; - margin: 0; - outline: none; - cursor: text; - -webkit-user-modify: read-write-plaintext-only; - white-space: pre-wrap; - -webkit-transform: translateZ(0); - /* background-color: white;*/ -} - -#luckysheet-rich-text-editor { - -webkit-user-modify: read-write; - /* background-color: rgb(255, 255, 255); - font-size: 13px; - color: rgb(0, 0, 0); - font-weight: 400; - font-family: Arial; - font-style: normal;*/ -} - -.luckysheet-input-box-index { - display: none; - position: absolute; - /*top: -20px; - left: -3px;*/ - height: 14px; - line-height: 16px; - font-size: 12px; - padding: 1px 6px; - background-color: #5292f7; - border-radius: 2px; - box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.5); - color: white; -} - -.luckysheet-modal-dialog { - -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2); - box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2); - background: #fff; - background-clip: padding-box; - border: 1px solid #acacac; - border: 1px solid rgba(0, 0, 0, 0.333); - outline: 0; - position: absolute; - color: #000; - padding: 30px 42px; - z-index: 100002; -} - -.luckysheet-modal-dialog-mask { - position: absolute; - height: 100%; - width: 100%; - background: #fff; - opacity: 0.6; - display: none; - left: 0px; - top: 0px; - z-index: 1010; -} - -.luckysheet-modal-dialog-title { - background-color: #fff; - color: #000; - cursor: default; - font-size: 16px; - font-weight: normal; - line-height: 24px; - margin: 0 0 16px; -} - -.luckysheet-modal-dialog-title-close { - height: 11px; - opacity: 0.7; - padding: 17px; - position: absolute; - right: 0px; - top: 0px; - width: 11px; - color: #d4d4d4; - outline: 0; -} - -.luckysheet-modal-dialog-chart { - padding: 20px 10px; - webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} - -/* .luckysheet-modal-dialog-chart .luckysheet-modal-dialog-title{ - line-height:0px; - margin: 0px; - font-size: 12px; - } - - .luckysheet-modal-dialog-chart .luckysheet-modal-dialog-title-close,.luckysheet-modal-dialog-chart .luckysheet-modal-dialog-title-max,.luckysheet-modal-dialog-chart .luckysheet-modal-dialog-title-min,.luckysheet-modal-dialog-chart .luckysheet-modal-dialog-title-restore, .luckysheet-modal-dialog-chart .luckysheet-modal-dialog-title-update { - height: 5px; - opacity: 0.7; - padding: 12px; - } - - .luckysheet-modal-dialog-title-update { - right: 105px; - color:#0188fb; - font-size:14px; - padding-top: 9px; - } - - .luckysheet-modal-dialog-title-min { - right: 70px; - padding-top: 9px; - } - - .luckysheet-modal-dialog-title-max, .luckysheet-modal-dialog-title-restore { - right: 35px; - } - - .luckysheet-modal-dialog-title-restore{ - display: none; - }*/ - -.luckysheet-modal-dialog-resize { - position: absolute; - border: 2px solid #0188fb; - margin: 0px; - padding: 0px; - top: -2px; - left: -2px; - bottom: -2px; - right: -2px; - pointer-events: none; -} - -.luckysheet-modal-dialog-resize-item { - position: absolute; - height: 6px; - width: 6px; - background: #ffffff; - border: 2px solid #0188fb; - pointer-events: all; - border-radius: 6px; -} - -.luckysheet-modal-dialog-resize-item-lt { - left: -6px; - top: -6px; - cursor: se-resize; -} - -.luckysheet-modal-dialog-resize-item-mt { - left: 50%; - top: -6px; - margin-left: -4px; - cursor: s-resize; -} - -.luckysheet-modal-dialog-resize-item-rt { - right: -6px; - top: -6px; - cursor: ne-resize; -} - -.luckysheet-modal-dialog-resize-item-lm { - top: 50%; - left: -6px; - margin-top: -4px; - cursor: w-resize; -} - -.luckysheet-modal-dialog-resize-item-rm { - top: 50%; - right: -6px; - margin-top: -4px; - cursor: w-resize; -} - -.luckysheet-modal-dialog-resize-item-lb { - left: -6px; - bottom: -6px; - cursor: ne-resize; -} - -.luckysheet-modal-dialog-resize-item-mb { - left: 50%; - bottom: -6px; - margin-left: -4px; - cursor: s-resize; -} - -.luckysheet-modal-dialog-resize-item-rb { - right: -6px; - bottom: -6px; - cursor: se-resize; -} - -.luckysheet-modal-dialog-controll { - position: absolute; - margin: 0px; - padding: 0px; - right: -35px; - /* width: 60px; */ - font-size: 14px; - top: 0px; -} - -.luckysheet-modal-controll-btn { - height: 13px; - /* opacity: 0.7; */ - padding: 8px; - /* position: relative; */ - /* right: 0px; */ - /* top: 0px; */ - width: 13px; - color: #d4d4d4; - outline: 0; - border: 1px solid #b6b6b6; - display: block; - background: #fff; - margin-bottom: 3px; - cursor: pointer; - transition: all 0.2s; - -moz-transition: all 0.2s; - -webkit-transition: all 0.2s; - -o-transition: all 0.2s; -} - -.luckysheet-modal-controll-btn:hover { - border: 1px solid #a1a1a1; - color: #0188fb; -} - -.luckysheet-modal-controll-btn:active { - border: 1px solid #bbbbbb; - background: #efefef; - color: #0188fb; -} - -.luckysheet-modal-controll-del { - font-size: 16px; -} - -.luckysheet-modal-controll-max-close { - font-size: 22px; - width: 42px; - height: 42px; - line-height: 42px; - background: #383838; - opacity: 0.7; - -moz-border-radius: 20px; - -webkit-border-radius: 20px; - border-radius: 20px; - color: #fff; - position: absolute; - right: 0px; - top: 0px; - z-index: 100000; - text-align: center; -} - -.luckysheet-modal-controll-max-close:hover { - background: #0188fb; - cursor: pointer; -} - -.luckysheet-sort-item-close { - margin-right: 3px; - font-size: 14px; - color: #bbbbbb; - cursor: pointer; -} - -.luckysheet-sort-item-close:hover { - color: #494949; -} - -.luckysheet-modal-dialog-title-close:hover { - color: #5e5e5e; - cursor: pointer; -} - -.luckysheet-modal-dialog-content { - background-color: #fff; - line-height: 1.4em; - word-wrap: break-word; -} - -.luckysheet-modal-dialog-buttons { - margin-top: 10px; -} - -.luckysheet-modal-dialog-buttons button { - margin-right: 10px; -} - -.luckysheet-modal-dialog-title-text span { - font-family: Arial; -} - -.luckysheet-sort-modal { - font-size: 12px; -} - -.luckysheet-sort-modal label input, -.luckysheet-sort-modal label span { - vertical-align: middle; -} - -.luckysheet-sort-modal > div, -.luckysheet-sort-modal table { - margin-bottom: 10px; -} - -.luckysheet-sort-modal table tr { - margin-bottom: 10px; -} - -.luckysheet-sort-modal table tr td { - padding: 5px; - white-space: nowrap; - border-top: 1px solid #ffc6c6; -} - -.luckysheet-sort-modal table tr td > div:first-child { - margin-bottom: 8px; -} - -.luckysheet-sort-modal table tr td select { - max-width: 180px; - min-width: 50px; -} - -.luckysheet-sort-modal table tr:first-child td { - border-top: none; -} - -.luckysheet-filter-options { - color: #897bff; - cursor: pointer; - position: absolute; - z-index: 20; - border: 1px solid #897bff; - border-radius: 3px; - top: 3px; - margin-left: 0px; - display: none; - padding: 0px 4px; - font-size: 12px; - height: 15px; - background: #fff; - /* transition: all 0.1s; */ -} - -.luckysheet-filter-options:hover { - color: #fff; - border: 1px solid #fff; - background: #897bff; -} - -.luckysheet-filter-options-active { - color: #fff; - border: 1px solid #897bff; - background: #897bff; -} - -.luckysheet-flat-menu-button { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; - background-color: #f5f5f5; - background-image: -webkit-linear-gradient(to bottom, #f5f5f5, #f1f1f1); - background-image: -moz-linear-gradient(to bottom, #f5f5f5, #f1f1f1); - background-image: -ms-linear-gradient(to bottom, #f5f5f5, #f1f1f1); - background-image: -o-linear-gradient(to bottom, #f5f5f5, #f1f1f1); - background-image: linear-gradient(to bottom, #f5f5f5, #f1f1f1); - border: 1px solid #dcdcdc; - color: #333; - cursor: default; - font-size: 11px; - font-weight: bold; - line-height: 27px; - list-style: none; - margin: 0 2px; - min-width: 46px; - outline: none; - padding: 0 18px 0 6px; - text-align: left; - text-decoration: none; - position: relative; - padding-left: 15px; -} - -.luckysheet-flat-menu-button:hover { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; - background-color: #f5f5f5; - background-image: -webkit-linear-gradient(to bottom, #f1f1f1, #f5f5f5); - background-image: -moz-linear-gradient(to bottom, #f1f1f1, #f5f5f5); - background-image: -ms-linear-gradient(to bottom, #f1f1f1, #f5f5f5); - background-image: -o-linear-gradient(to bottom, #f1f1f1, #f5f5f5); - background-image: linear-gradient(to bottom, #f1f1f1, #f5f5f5); - border: 1px solid #d0d0d0; - color: #000; -} - -.luckysheet-flat-menu-button div { - display: inline-block; - vertical-align: middle; - position: absolute; - right: 15px; -} - -/*图表生成CSS*/ - -.luckysheet-data-visualization { - width: 60%; - min-width: 860px; -} - -.luckysheet-data-visualization-selection, -.luckysheet-data-pivotTable-selection { - width: 30%; - min-width: 200px; - display: none; -} - -.luckysheet-data-visualization-chart { - width: 50%; - /*min-width: 860px;*/ - height: 50%; -} - -.luckysheet-data-visualization-chart .luckysheet-modal-dialog-content { - width: 100%; - height: 100%; - overflow: hidden; -} - -.luckysheet-datavisual-modal { - font-size: 12px; - /*height: 450px;*/ - height: 100%; - width: 100%; -} - -/*, .luckysheet-datavisual-right*/ -.luckysheet-datavisual-left { - display: inline-block; - width: 100%; - height: 100%; - position: relative; - overflow: hidden; -} - -.luckysheet-datavisual-left { -} - -.luckysheet-datavisual-tabs { - border-bottom: 1px solid #dedede; - width: 80%; - height: 26px; - padding-left: 20px; -} - -.luckysheet-datavisual-tabs .luckysheet-datavisual-tab { - padding: 0px 5px; - text-align: center; - display: inline-block; - cursor: pointer; - border: 1px solid #fff; - border-bottom: none; - height: 24px; - line-height: 24px; - background: #fff; - color: #777; -} - -.luckysheet-datavisual-tabs .luckysheet-datavisual-tab:hover { - color: #000; -} - -.luckysheet-datavisual-tabs .luckysheet-datavisual-tab-active { - border: 1px solid #dedede; - border-bottom: none; - cursor: default; - height: 26px; - color: #000; -} - -.luckysheet-datavisual-tab-content { - position: absolute; - top: 28px; - bottom: 0px; - width: 100%; - display: none; -} - -.luckysheet-datavisual-quick { -} - -.luckysheet-datavisual-quick-menu { - width: 90px; - overflow: auto; - margin-top: 5px; -} - -.luckysheet-datavisual-quick-menu::-webkit-scrollbar { - display: none; -} - -.luckysheet-datavisual-quick-menu > div { - text-align: left; - padding: 4px 4px; - border-right: 3px solid #fff; - color: #777; - cursor: pointer; - line-height: 1.4em; - word-wrap: break-word; - /*margin: 4px 0px;*/ -} - -.luckysheet-datavisual-quick-menu > div:hover { - color: #000; -} - -.luckysheet-datavisual-quick-menu > div i { - width: 15px; -} - -.luckysheet-datavisual-quick-menu > div:hover i { - color: #ff7e7e; -} - -.luckysheet-datavisual-quick-menu > div.luckysheet-datavisual-quick-menu-active { - border-right: 3px solid #ff7e7e; - color: #000; - font-weight: bold; -} - -.luckysheet-datavisual-quick-menu > div.luckysheet-datavisual-quick-menu-active:hover i { - color: #000; -} - -.luckysheet-datavisual-quick-range { - padding: 5px 0px; -} - -.luckysheet-datavisual-range-container { - background: #fff; - border: 1px solid #d9d9d9; - border-top: 1px solid #c0c0c0; - min-width: 20px; - width: 100%; - max-width: 200px; - display: inline-block; -} - -.luckysheet-datavisual-range-container-focus { - border: 1px solid #4d90fe; - box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.3); - outline: none; -} - -.luckysheet-datavisual-range-input, -.luckysheet-datavisual-range-input:focus { - background: transparent !important; - border: none !important; - box-sizing: border-box; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - height: 25px; - margin: 0; - outline: none !important; - padding: 1px 8px !important; - width: 100%; -} - -.luckysheet-datavisual-range-button-container { - overflow: hidden; - padding: 0 0 0 8px; - text-align: right; - width: 21px; -} - -.luckysheet-datavisual-range-button-container div { - padding: 2px 10px 0px 10px; - font-size: 18px; - cursor: pointer; - color: #6598f3; -} - -.luckysheet-datavisual-range-button-container div:hover { - color: #ff7e7e; -} - -.luckysheet-datavisual-range-config { - /*display: inline-block;*/ -} - -.luckysheet-datavisual-quick-m { - margin-top: 5px; -} - -.luckysheet-datavisual-quick-list { - left: 90px; - right: 0px; - bottom: 0px; - top: 110px; - position: absolute; - overflow: auto; - border-top: 1px solid #e5e5e5; - padding: 5px 3px 35px 3px; -} - -.luckysheet-datavisual-quick-list-title { - padding: 4px 6px; - background: #e5e5e5; - margin-top: 10px; -} - -.luckysheet-datavisual-quick-list-ul { - overflow: hidden; -} - -.luckysheet-datavisual-quick-list-item { - display: inline-block; - margin: 5px 8px; - border: 1px solid #dadada; - width: 100px; - height: 80px; -} - -.luckysheet-datavisual-quick-list-item:hover { - border: 1px solid #ff7e7e; - box-shadow: 0px 0px 20px #ff7e7e; -} - -.luckysheet-datavisual-quick-list-item img { - display: inline-block; - width: 100px; - height: 80px; -} - -.luckysheet-datavisual-quick-list-item-active { - border: 1px solid #6598f3; - box-shadow: 0px 0px 20px #6598f3; -} - -/*.luckysheet-datavisual-right { - background: #fff; -} - -.luckysheet-datavisual-right-chart { - width: 100%; - height: 90%; - top: 5%; - position: relative; -}*/ - -.jfk-tooltip { - z-index: 300000; -} - -.jfk-tooltip-hide { - -webkit-transition: visibility 0.13s, opacity 0.13s ease-out, left 0 linear 0.13s, top 0 linear 0.13s; - -moz-transition: visibility 0.13s, opacity 0.13s ease-out, left 0 linear 0.13s, top 0 linear 0.13s; - -o-transition: visibility 0.13s, opacity 0.13s ease-out, left 0 linear 0.13s, top 0 linear 0.13s; - transition: visibility 0.13s, opacity 0.13s ease-out, left 0 linear 0.13s, top 0 linear 0.13s; - opacity: 0; - left: 20px !important; - top: 20px !important; - visibility: hidden !important; -} - -.jfk-tooltip { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - -webkit-transition: visibility 0, opacity 0.13s ease-in; - -moz-transition: visibility 0, opacity 0.13s ease-in; - -o-transition: visibility 0, opacity 0.13s ease-in; - transition: visibility 0, opacity 0.13s ease-in; - background-color: #2a2a2a; - border: 1px solid #fff; - color: #fff; - cursor: default; - display: block; - font-size: 11px; - font-weight: bold; - margin-left: -1px; - opacity: 1; - padding: 7px 9px; - position: absolute; - visibility: visible; - white-space: pre-wrap; - word-break: break-all; - word-break: break-word; -} - -.jfk-tooltip-arrowup { - top: -6px; -} - -.jfk-tooltip-arrow { - pointer-events: none; - position: absolute; -} - -.jfk-tooltip-arrow .jfk-tooltip-arrowimplafter { - border: 5px solid; -} - -.jfk-tooltip-arrow .jfk-tooltip-arrowimplbefore { - border: 6px solid; -} - -.jfk-tooltip-arrow .jfk-tooltip-arrowimplbefore, -.jfk-tooltip-arrow .jfk-tooltip-arrowimplafter { - content: ""; - display: block; - height: 0; - position: absolute; - width: 0; -} - -.jfk-tooltip-arrowup .jfk-tooltip-arrowimplafter { - border-top-width: 0; - top: 1px; -} - -.jfk-tooltip-arrowdown .jfk-tooltip-arrowimplafter, -.jfk-tooltip-arrowup .jfk-tooltip-arrowimplafter { - border-color: #2a2a2a transparent; - left: -5px; -} - -.jfk-tooltip-arrowup .jfk-tooltip-arrowimplbefore { - border-top-width: 0; -} - -.jfk-tooltip-arrowdown .jfk-tooltip-arrowimplbefore, -.jfk-tooltip-arrowup .jfk-tooltip-arrowimplbefore { - border-color: #fff transparent; - left: -6px; -} - -/*图表详细设置*/ -.luckysheet-datavisual-config { - position: relative; - width: 100%; - height: 97%; - overflow: auto; - top: 0px; -} - -.luckysheet-datavisual-config input { - outline: none; -} - -.luckysheet-datavisual-config .luckysheet-datavisual-accordion-title { - position: relative; - width: 97%; - height: 33px; - background: #f5f5f5; - border: 1px solid #e5e5e5; - margin-top: 30px; - line-height: 30px; - font-weight: bold; - color: #d14836; - cursor: pointer; -} - -.luckysheet-datavisual-config .luckysheet-datavisual-accordion-title:hover { - background: #efefef; - border: 1px solid #e0e0e0; -} - -.luckysheet-datavisual-config .luckysheet-datavisual-accordion-content { - position: relative; - width: 97%; - border: 1px solid #e5e5e5; - border-top: 1px solid #fff; - display: none; - color: #505050; - padding-bottom: 20px; -} - -.luckysheet-datavisual-config-input, -.luckysheet-datavisual-config-input-no { - background: #fff; - border: 1px solid #d9d9d9; - border-top: 1px solid #c0c0c0; - min-width: 50px; - width: 90%; - display: inline-block; - height: 24px; - line-height: 24px; - padding: 3px; -} - -.luckysheet-datavisual-config-input:focus, -.luckysheet-datavisual-config-input-no:focus { - border: 1px solid #4d90fe; - box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.3); - outline: none; -} - -.luckysheet-datavisual-content-row { - margin-left: 15px; - margin-bottom: 5px; - margin-top: 15px; - height: 30px; - line-height: 30px; -} - -.luckysheet-datavisual-content-column { - display: inline-block; - position: relative; -} - -.luckysheet-datavisual-content-column-title { - text-align: left; - font-size: 14px; -} - -.luckysheet-datavisual-content-column-right { - text-align: right; -} - -.luckysheet-datavisual-content-rowsplit { - height: 5px; - border-top: 1px solid #e5e5e5; - width: 100%; - margin-top: 25px; -} - -.luckysheet-datavisual-content-rowsplit-sub { - height: 2px; - border-top: 1px dashed #e5e5e5; - width: 90%; - margin: 0 auto; - margin-top: 18px; - text-align: center; -} - -.sp-replacer { - padding: 2px; - border: solid 1px #e5e5e5; - background: #f5f5f5; -} - -.ui-visual-focus { - box-shadow: none; -} - -.luckysheet-datavisual-config-slider, -.luckysheet-datavisual-config-slider-range { - width: 70%; - display: inline-block; -} - -.luckysheet-datavisual-config-slider-range .luckysheet-slider-handle { - width: 45px; - height: 26px; - top: 50%; - margin-top: -13px; - text-align: center; - line-height: 26px; -} - -.luckysheet-datavisual-content-row-subtitle { - display: none; -} - -.ui-selectmenu-button.ui-button { - text-align: left; - white-space: nowrap; - width: 48%; -} - -.luckysheet-datavisual-content-column-italic { - font-style: italic; - font-weight: bold; - font-family: "Times New Roman", Times, serif; -} - -.luckysheetChartAxisShow { - display: none; -} - -.luckysheet-datavisual-chart-axistitle-show { - display: none; -} - -.luckysheetChartseriesShow { - display: none; -} - -#luckysheetswichxy-button, -#piecutselect-button { - width: 70%; -} - -.ui-selectmenu-menu .ui-menu.customicons .ui-menu-item-wrapper { - padding: 0.5em 0 0.5em 3em; -} - -.ui-selectmenu-menu .ui-menu.customicons .ui-menu-item .ui-icon { - height: 26px; - width: 26px; - top: 0.1em; - background-image: none; -} - -#luckysheetswichseries-menu .ui-state-active, -#pie0cutselect-menu .ui-state-active, -#pie1cutselect-menu .ui-state-active, -#pie2cutselect-menu .ui-state-active, -#luckysheetscatterselectshow-menu .ui-state-active { - border: 1px solid #f5f5f5; - background: #f5f5f5; - color: #333; -} - -.ui-front { - z-index: 100003; -} - -.luckysheet-datavisual-skin { -} - -.luckysheet-datavisual-skin-menu { - top: 5px; - position: absolute; - left: 0px; - width: 90%; - height: 30px; -} - -#luckysheet-chart-theme-content { - height: 21px; - width: 120px; -} - -.luckysheet-datavisual-skin-c { - position: absolute; - left: 0px; - top: 38px; - bottom: 0px; - /*background: #000;*/ - width: 100%; - overflow: auto; -} - -.luckysheet-datavisual-skin-c .luckysheet-datavisual-skin-item { - display: inline-block; - width: 46%; - height: 152px; - /*background: red;*/ - margin-right: 5px; - border: 4px solid #efefef; - border-radius: 4px; - position: relative; - cursor: pointer; -} - -.luckysheet-datavisual-skin-c .luckysheet-datavisual-skin-item-more { - display: inline-block; - width: 94%; - height: 32px; - position: relative; - cursor: pointer; - font-size: 20px; - line-height: 32px; - margin-bottom: 20px; - text-align: center; -} - -.luckysheet-datavisual-skin-item .luckysheet-datavisual-skin-canvas, -.luckysheet-datavisual-skin-item .luckysheet-datavisual-skin-cover { - position: absolute; - width: 100%; - height: 100%; - bottom: 0; -} - -.luckysheet-datavisual-skin-item .luckysheet-datavisual-skin-canvas { - /*z-index: 1;*/ -} - -.luckysheet-datavisual-skin-item .luckysheet-datavisual-skin-cover { - background-color: rgba(0, 0, 0, 0.4); - color: #ffffff; - font-size: 14px; - height: 30%; - /*opacity: 0;*/ - transition: opacity 0.15s ease; - -moz-transition: opacity 0.15s ease; - -webkit-transition: opacity 0.15s ease; - -o-transition: opacity 0.15s ease; -} - -.luckysheet-datavisual-skin-item:hover .luckysheet-datavisual-skin-cover { - opacity: 1; - z-index: 2; -} - -.luckysheet-datavisual-skin-cover .luckysheet-datavisual-skin-cover-txt { - position: absolute; - width: 80%; - height: 80%; - top: 10%; - left: 10%; - text-align: center; -} - -/*图表点设置*/ -.luckysheet-chart-point-config { - position: relative; - width: 100%; - height: 100%; - margin: 0px; - font-size: 12px; -} - -.luckysheet-chart-point-config-set { - position: absolute; - width: 60%; - height: 100%; - left: 0px; - top: 0px; - /*background:#ff0000;*/ -} - -.luckysheet-chart-point-config-left { - position: absolute; - height: 100%; - width: 50%; - left: 0px; - top: 0px; -} - -.luckysheet-chart-point-config-left-top { - position: absolute; - top: 0px; - height: 120px; - width: 100%; -} - -.luckysheet-chart-point-searchcondition { - position: absolute; - top: 10px; - bottom: 10px; - left: 10px; - right: 10px; -} - -.luckysheet-chart-point-config-left-mid { - position: absolute; - top: 120px; - height: 25px; - width: 100%; - text-align: left; - margin-left: 20px; - line-height: 35px; -} - -.luckysheet-chart-point-config-left-mid span { - color: blue; - cursor: pointer; - text-decoration: underline; - font-size: 12px; -} - -.luckysheet-chart-point-config-left-bottom { - position: absolute; - top: 0px; - bottom: 0px; - margin-top: 145px; - width: 100%; -} - -.luckysheet-chart-point-searchitem-c { - position: absolute; - width: 100%; - height: 100%; - overflow: hidden; - overflow-y: auto; - cursor: default; -} - -.luckysheet-chart-point-searchitem { - display: inline-block; - margin-left: 5px; - margin-top: 5px; - width: 90px; - border: 2px solid #f5f5f5; - background: #fff; - text-align: center; - padding: 5px 0px; - user-select: none; - cursor: default; - position: relative; -} - -.luckysheet-chart-point-searchitem-selected { - position: absolute; - color: #616161; - left: -6px; - top: -10px; - font-size: 20px; - display: none; - font-weight: normal; -} - -.luckysheet-chart-point-searchitem-active { - box-shadow: 0px 0px 4px #656565; -} - -.luckysheet-chart-point-searchitem-active .luckysheet-chart-point-searchitem-selected { - display: block; -} - -.luckysheet-chart-point-searchitem-name { - font-size: 12px; - cursor: default; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -.luckysheet-chart-point-searchitem-dim { - font-size: 12px; - opacity: 0.7; - /*color: #C1C1C1;*/ - cursor: default; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -#luckysheet-chart-point-selectedhelp { - pointer-events: none; - position: absolute; - border: 1px dotted #535353; -} - -.luckysheet-chart-point-config-right { - position: absolute; - height: 100%; - width: 50%; - top: 0px; - right: 0px; -} - -.luckysheet-chart-point-itemconfig { - position: absolute; - top: 10px; - bottom: 10px; - left: 10px; - right: 10px; - overflow: auto; -} - -.luckysheet-chart-point-config-chart { - position: absolute; - width: 40%; - height: 100%; - right: 0px; - top: 0px; -} - -.luckysheet-chart-point-config-chart-c { - width: 100%; - height: 80%; - top: 10%; - position: relative; -} - -@media (max-width: 776px) { - .luckysheet-chart-point-config-set { - width: 90%; - } - - .luckysheet-chart-point-config-chart { - width: 10%; - } -} - -@media (min-width: 768px) { - .luckysheet-chart-point-config-set { - width: 80%; - } - - .luckysheet-chart-point-config-chart { - width: 20%; - } -} - -@media (min-width: 1024px) { - .luckysheet-chart-point-config-set { - width: 70%; - } - - .luckysheet-chart-point-config-chart { - width: 30%; - } -} - -@media (min-width: 1280px) { - .luckysheet-chart-point-config-set { - width: 60%; - } - - .luckysheet-chart-point-config-chart { - width: 40%; - } -} - -@media (min-width: 1680px) { - .luckysheet-chart-point-config-set { - width: 50%; - } - - .luckysheet-chart-point-config-chart { - width: 50%; - } -} - -/*边栏通用样式*/ -.luckysheet-modal-dialog-slider { - top: 1px; - bottom: 1px; - position: absolute; - right: 0px; - width: 260px; - border: 1px solid #e5e5e5; - z-index: 1004; - box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2); - -webkit-box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2); - -moz-user-select: none; - -khtml-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - user-select: none; - /*display: none;*/ -} - -.luckysheet-modal-dialog-slider .luckysheet-modal-dialog-slider-title { - background: #333; - color: #fff; - height: 39px; - width: 100%; - position: absolute; - top: 0px; - left: 0px; - line-height: 39px; - font-size: 13px; -} - -.luckysheet-modal-dialog-slider .luckysheet-modal-dialog-slider-title > span:first-child { - margin-left: 5px; - font-weight: bold; -} - -.luckysheet-modal-dialog-slider .luckysheet-modal-dialog-slider-title > span:last-child { - position: relative; - float: right; - margin-right: 20px; - cursor: pointer; -} - -.luckysheet-modal-dialog-slider-content { - background: #efefef; - margin-top: 39px; - width: 100%; - position: absolute; - top: 0px; - bottom: 0px; - font-size: 12px; -} - -.luckysheet-modal-dialog-slider-range { - background: #e1e1de; - color: #1b1b19; - height: 40px; - font-size: 13px; - line-height: 40px; -} - -.luckysheet-modal-dialog-slider-range > div:first-child { - font-weight: bold; - overflow: hidden; - text-overflow: ellipsis; - float: left; - max-width: 170px; - margin-right: 10px; - margin-left: 5px; - white-space: nowrap; -} - -.luckysheet-modal-dialog-slider-range > div:last-child { - color: blue; - cursor: pointer; - float: left; -} - -.luckysheet-modal-dialog-slider-list { - width: 250px; - height: 320px; - overflow-y: scroll; - margin: 5px 0px; - margin-left: 5px; - border-top: 1px solid #e5e5e5; - border-bottom: 1px solid #e5e5e5; - background: #fff; -} - -.luckysheet-modal-dialog-slider-list-title { - height: 20px; - line-height: 25px; - padding: 0px 5px; -} - -.luckysheet-modal-dialog-slider-list .luckysheet-modal-dialog-slider-list-item { - padding: 0px 4px; - position: relative; - width: 228px; - height: 25px; - user-select: none; - border: 1px solid #fff; -} - -.luckysheet-modal-dialog-slider-list .luckysheet-modal-dialog-slider-list-item:hover { - background: #fff6cb; - border: 1px solid #ffe463; -} - -.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-name { - cursor: pointer; - height: 25px; - line-height: 25px; - cursor: move; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - position: absolute; - left: 22px; - right: 40px; - top: 0px; -} - -.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-selected { - width: 20px; - cursor: pointer; - text-align: center; - position: absolute; - left: 0px; - top: 0px; - height: 25px; -} - -.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-selected i { - margin-top: 4px; - font-size: 16px; -} - -.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-selected div { - border: 1px solid #9c9c9c; - top: 4px; - left: 1px; - position: absolute; - height: 14px; - width: 14px; - -moz-box-shadow: 1px 1px 1px #dbdbdb inset; - /* For Firefox3.6+ */ - -webkit-box-shadow: 1px 1px 1px #dbdbdb inset; - /* For Chrome5+, Safari5+ */ - box-shadow: 1px 1px 1px #dbdbdb inset; - /* For Latest Opera */ -} - -.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-selected div:hover { - border: 1px solid #5e5e5e; -} - -.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-filtered { - width: 20px; - cursor: pointer; - text-align: center; - position: absolute; - right: 20px; - top: 2px; - height: 25px; - display: none; -} - -.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-filtered i { - margin-top: 2px; - font-size: 16px; -} - -.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-filtered:hover i { - color: #fb8686; -} - -.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-filtered i.fa-times { - right: 0px; - bottom: 3px; - color: red; - font-size: 9px; - position: absolute; -} - -.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-filter { - width: 20px; - cursor: pointer; - text-align: center; - position: absolute; - right: 0px; - top: 0px; - height: 25px; -} - -.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-filter i { - margin-top: 2px; - font-size: 16px; -} - -.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-filter:hover i { - color: #fb8686; -} - -.luckysheet-modal-dialog-slider-config-c { - width: 100%; - position: absolute; - margin-top: 390px; - top: 0px; - bottom: 3px; -} - -.luckysheet-modal-dialog-slider-config { - height: 50%; - width: 50%; - position: absolute; -} - -.luckysheet-modal-dialog-slider-config > div:first-child { - color: #1b1b19; - font-size: 13px; - height: 20px; - line-height: 20px; - padding-left: 5px; -} - -.luckysheet-modal-dialog-slider-config > div:first-child span { - font-weight: bold; - font-weight: bold; - overflow: hidden; -} - -.luckysheet-modal-dialog-slider-config .luckysheet-modal-dialog-slider-config-list { - position: absolute; - margin-top: 22px; - margin-left: 5px; - left: 0px; - right: 5px; - top: 0px; - bottom: 3px; - border: 1px solid #e5e5e5; - user-select: none; - overflow-y: auto; - background: #fff; -} - -.luckysheet-modal-dialog-slider-config-list .luckysheet-modal-dialog-slider-config-item { - position: relative; - height: 19px; - line-height: 19px; - font-size: 12px; - border: 1px solid #88adfd; - background: #aac1fe; - margin: 2px; -} - -.luckysheet-modal-dialog-slider-config-list .luckysheet-modal-dialog-slider-config-item:hover { - border: 1px solid #0188fb; - background: #5f9afc; -} - -.luckysheet-modal-dialog-slider-config-item-txt { - position: absolute; - height: 100%; - left: 5px; - right: 25px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - cursor: move; -} - -.luckysheet-modal-dialog-slider-config-item-icon { - position: absolute; - height: 100%; - width: 15px; - right: 0; - top: -4px; - cursor: pointer; - font-size: 14px; -} - -.luckysheet-modal-dialog-slider-config-item-icon:hover { - color: #fa7272; -} - -.luckysheet-modal-dialog-config-filter { - top: 0; - left: 0; -} - -.luckysheet-modal-dialog-config-column { - top: 0; - left: 50%; -} - -.luckysheet-modal-dialog-config-row { - top: 50%; - left: 0; -} - -.luckysheet-modal-dialog-config-value { - top: 50%; - left: 50%; -} - -#luckysheet-modal-dialog-slider-pivot-move { - position: absolute; - max-width: 100px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - background: #fff; - border: 1px dotted #000; - color: #000; - font-size: 14px; - opacity: 0.6; - z-index: 1005; - padding: 3px 8px; - pointer-events: none; - user-select: none; -} - -.luckysheet-modal-dialog-slider-chart { - width: 445px; -} - -.luckysheet-modal-dialog-slider-chart .luckysheet-modal-dialog-slider-title { - background: #b94045; -} - -.luckysheet-modal-dialog-slider-chart .luckysheet-modal-dialog-slider-content { - background: #fff; -} - -#luckysheet-dialog-pivotTable-clearitem { - color: blue; - cursor: pointer; - float: right; - margin-right: 30px; -} - -/*冻结窗口样式*/ -.luckysheet-freezebar-handle, -.luckysheet-freezebar-drop { - position: absolute; - z-index: 999; -} - -.luckysheet-freezebar-vertical-handle { - width: 4px; - display: none; - /*background: url(//ssl.gstatic.com/docs/spreadsheets/ritz_luckysheet-freezebar_vertical.png) no-repeat;*/ -} - -.luckysheet-freezebar-vertical-drop { - /*background: url(//ssl.gstatic.com/docs/spreadsheets/jfk_luckysheet-freezebar_active_vertical.png) no-repeat;*/ - width: 4px; -} - -.luckysheet-freezebar-active .luckysheet-freezebar-vertical-handle { - display: block; - z-index: 1003; -} - -.luckysheet-freezebar-vertical-handle-bar { - width: 2px; - background: #dbe5f7; - border-color: #a5c6fe; - border-style: solid; - border-width: 0 1px; - opacity: 0.45; - filter: alpha(opacity=45); - margin-top: 19px; - top: 0px; - bottom: 0px; -} - -.luckysheet-freezebar-vertical-handle-title { - width: 4px; - background: #9dbefb; - opacity: 0.8; - filter: alpha(opacity=80); - height: 19px; - top: 0px; -} - -.luckysheet-freezebar-handle-bar, -.luckysheet-freezebar-drop-bar { - position: absolute; - z-index: 7; -} - -.luckysheet-freezebar-vertical-drop-bar { - width: 2px; - background: rgba(0, 0, 0, 0.45); - border-width: 2px 1px 2px 2px; - margin-top: 19px; - top: 0px; - bottom: 0px; -} - -.luckysheet-freezebar-vertical-drop-title { - width: 2px; - background: #bcbdbc; - /* opacity: 0.80; - filter: alpha(opacity=80);*/ - height: 19px; - top: 0px; -} - -.luckysheet-freezebar-hover .luckysheet-freezebar-vertical-drop-bar, -.luckysheet-freezebar-active .luckysheet-freezebar-vertical-drop-bar { - background: #c1c1c1; - width: 4px; -} - -.luckysheet-freezebar-hover .luckysheet-freezebar-vertical-drop-title, -.luckysheet-freezebar-active .luckysheet-freezebar-vertical-drop-title { - background: #5d88db; - width: 4px; -} - -.luckysheet-freezebar-horizontal-handle { - height: 4px; - display: none; - /*background: url(//ssl.gstatic.com/docs/spreadsheets/ritz_luckysheet-freezebar_horizontal.png) no-repeat;*/ -} - -.luckysheet-freezebar-horizontal-drop { - /*background: url(//ssl.gstatic.com/docs/spreadsheets/jfk_luckysheet-freezebar_active_horizontal.png) no-repeat;*/ - height: 4px; -} - -.luckysheet-freezebar-active .luckysheet-freezebar-horizontal-handle { - display: block; - z-index: 1003; -} - -.luckysheet-freezebar-horizontal-handle-bar { - height: 2px; - background: #dbe5f7; - border-color: #a5c6fe; - border-style: solid; - border-width: 1px 0; - opacity: 0.45; - filter: alpha(opacity=45); - margin-left: 45px; - left: 0px; - right: 0px; -} - -.luckysheet-freezebar-horizontal-handle-title { - height: 4px; - background: #9dbefb; - opacity: 0.8; - filter: alpha(opacity=80); - width: 45px; - left: 0px; -} - -.luckysheet-freezebar-horizontal-drop-bar { - height: 2px; - overflow: hidden; - background: rgba(0, 0, 0, 0.45); - border-width: 2px 2px 1px 2px; - margin-left: 45px; - left: 0px; - right: 0px; -} - -.luckysheet-freezebar-horizontal-drop-title { - height: 2px; - background: #bcbdbc; - /* opacity: 0.80; - filter: alpha(opacity=80);*/ - width: 45px; - left: 0px; -} - -.luckysheet-freezebar-hover .luckysheet-freezebar-horizontal-drop-bar, -.luckysheet-freezebar-active .luckysheet-freezebar-horizontal-drop-bar { - background: #c1c1c1; - height: 4px; -} - -.luckysheet-freezebar-hover .luckysheet-freezebar-horizontal-drop-title, -.luckysheet-freezebar-active .luckysheet-freezebar-horizontal-drop-title { - background: #5d88db; - height: 4px; -} - -/*函数样式*/ -#luckysheet-functionbox-container { - height: 100%; - padding-left: 10px; - overflow: hidden; - position: absolute; - padding: 0; - top: 0px; - left: 185px; - right: 10px; - border-left: 1px solid #e5e5e5; -} - -#luckysheet-functionbox-container > div { - height: 100%; - overflow-x: hidden; - overflow-y: auto; - position: relative; -} - -#luckysheet-functionbox { - bottom: 6px; - left: 0; - position: absolute; - right: 0; - top: 6px; - resize: none; - /*border: 1px #b9b9b9 solid;*/ - font-family: arial, sans, sans-serif; - font-size: 14px; - line-height: 14px; - background-color: #ffffff; - padding: 0px 5px; -} - -#luckysheet-functionbox .luckysheet-functionbox-cell-input { - word-wrap: break-word; - -webkit-nbsp-mode: space; - -webkit-line-break: after-white-space; -} - -.luckysheet-functionbox-cell-input { - width: 100%; - height: 100%; - margin: 0; - outline: none; - cursor: text; - -webkit-user-modify: read-write-plaintext-only; - white-space: pre-wrap; - -webkit-transform: translateZ(0); - background-color: white; -} - -.luckysheet-formula-text-color { - color: black; -} - -.luckysheet-formula-text-string { - color: forestgreen; -} - -.luckysheet-formula-search-c { - position: absolute; - left: 50%; - top: 50%; - border: 1px solid rgba(0, 0, 0, 0.2); - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); - color: #535353; - font-size: 12px; - background: #fff; - z-index: 1003; - width: 300px; - display: none; -} - -.luckysheet-formula-search-c .luckysheet-formula-search-item { - background: #fff; - padding: 5px 10px; - cursor: pointer; -} - -.luckysheet-formula-search-c .luckysheet-formula-search-item .luckysheet-formula-search-detail { - display: none; - color: #444; -} - -.luckysheet-formula-search-c .luckysheet-formula-search-item .luckysheet-formula-search-func { - color: #222; - font-size: 14px; -} - -.luckysheet-formula-search-c .luckysheet-formula-search-item-active { - display: block; - border-top: 1px solid #ebebeb; - border-bottom: 1px solid #ebebeb; - background: #f5f5f5; -} - -.luckysheet-formula-search-c .luckysheet-formula-search-item-active .luckysheet-formula-search-detail { - display: block; -} - -.luckysheet-formula-help-c { - display: none; - position: absolute; - left: 20%; - top: 20%; - border: 1px solid rgba(0, 0, 0, 0.2); - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); - color: #535353; - font-size: 12px; - background: #fff; - z-index: 1003; - width: 300px; -} - -.luckysheet-formula-help-c .luckysheet-formula-help-content { - max-height: 300px; - overflow-y: scroll; -} - -.luckysheet-formula-help-content-example { - margin-top: 5px; -} - -.luckysheet-formula-help-title { - display: block; - border-top: 1px solid #ebebeb; - border-bottom: 1px solid #ebebeb; - background: #f5f5f5; - padding: 2px 10px; - font-size: 14px; -} - -.luckysheet-formula-help-title-formula { - width: 250px; - word-break: break-word; -} - -.luckysheet-arguments-help-section { - margin-top: 5px; - margin-bottom: 5px; - color: #222; -} - -.luckysheet-arguments-help-section-title { - padding: 1px 10px; - color: #666; -} - -.luckysheet-arguments-help-parameter-content { - padding: 1px 10px; - display: inline-block; - word-wrap: break-word; -} - -.luckysheet-arguments-help-formula { - padding: 1px 10px; - font-size: 14px; -} - -.luckysheet-arguments-help-parameter-active { - background-color: #fff9b2; -} - -.luckysheet-formula-help-collapse { - position: absolute; - top: 0px; - right: 25px; - font-size: 16px; - cursor: pointer; - color: #bbb; -} - -.luckysheet-formula-help-close { - position: absolute; - top: 0px; - right: 5px; - font-size: 16px; - cursor: pointer; - color: #bbb; -} - -.luckysheet-formula-help-close:hover, -.luckysheet-formula-help-collapse:hover { - color: #555; -} - -.luckysheetLoader { - font-size: 20px; - width: 1em; - height: 1em; - border-radius: 50%; - text-indent: -9999em; - position: absolute; - top: 50%; - left: 50%; - animation: load-effect 1s infinite linear; -} - -/*.luckysheetLoaderGif>img{ - width:100%; - height:100%; -}*/ - -@keyframes load-effect { - 0% { - box-shadow: - /* - 0:左移3em - -3em:下移2em - 0:模糊距离0,即纯色 - .2em:外扩.2em - #FFF:白色 - */ 0 -3em - 0 0.2em #0188fb, - /*上*/ 2em -2em 0 0 #0188fb, /*右上*/ 3em 0 0 -0.5em #0188fb, /*右*/ 2em 2em 0 -0.5em #0188fb, - /*右下*/ 0 3em 0 -0.5em #0188fb, /*下*/ -2em 2em 0 -0.5em #0188fb, /*左下*/ -3em 0 0 -0.5em #0188fb, - /*左*/ -2em -2em 0 0 #0188fb; - /*左上*/ - } - - 12.5% { - box-shadow: 0 -3em 0 0 #0188fb, 2em -2em 0 0.2em #0188fb, 3em 0 0 0 #0188fb, 2em 2em 0 -0.5em #0188fb, - 0 3em 0 -0.5em #0188fb, -2em 2em 0 -0.5em #0188fb, -3em 0 0 -0.5em #0188fb, -2em -2em 0 -0.5em #0188fb; - } - - 25% { - box-shadow: 0 -3em 0 -0.5em #0188fb, 2em -2em 0 0 #0188fb, 3em 0 0 0.2em #0188fb, 2em 2em 0 0 #0188fb, - 0 3em 0 -0.5em #0188fb, -2em 2em 0 -0.5em #0188fb, -3em 0 0 -0.5em #0188fb, -2em -2em 0 -0.5em #0188fb; - } - - 37.5% { - box-shadow: 0 -3em 0 -0.5em #0188fb, 2em -2em 0 -0.5em #0188fb, 3em 0 0 0 #0188fb, 2em 2em 0 0.2em #0188fb, - 0 3em 0 0 #0188fb, -2em 2em 0 -0.5em #0188fb, -3em 0 0 -0.5em #0188fb, -2em -2em 0 -0.5em #0188fb; - } - - 50% { - box-shadow: 0 -3em 0 -0.5em #0188fb, 2em -2em 0 -0.5em #0188fb, 3em 0 0 -0.5em #0188fb, 2em 2em 0 0 #0188fb, - 0 3em 0 0.2em #0188fb, -2em 2em 0 0 #0188fb, -3em 0 0 -0.5em #0188fb, -2em -2em 0 -0.5em #0188fb; - } - - 62.5% { - box-shadow: 0 -3em 0 -0.5em #0188fb, 2em -2em 0 -0.5em #0188fb, 3em 0 0 -0.5em #0188fb, 2em 2em 0 -0.5em #0188fb, - 0 3em 0 0 #0188fb, -2em 2em 0 0.2em #0188fb, -3em 0 0 0 #0188fb, -2em -2em 0 -0.5em #0188fb; - } - - 75% { - box-shadow: 0 -3em 0 -0.5em #0188fb, 2em -2em 0 -0.5em #0188fb, 3em 0 0 -0.5em #0188fb, 2em 2em 0 -0.5em #0188fb, - 0 3em 0 -0.5em #0188fb, -2em 2em 0 0 #0188fb, -3em 0 0 0.2em #0188fb, -2em -2em 0 0 #0188fb; - } - - 87.5% { - box-shadow: 0 -3em 0 0 #0188fb, 2em -2em 0 -0.5em #0188fb, 3em 0 0 -0.5em #0188fb, 2em 2em 0 -0.5em #0188fb, - 0 3em 0 -0.5em #0188fb, -2em 2em 0 0 #0188fb, -3em 0 0 0 #0188fb, -2em -2em 0 0.2em #0188fb; - } - - 100% { - box-shadow: 0 -3em 0 0.2em #0188fb, 2em -2em 0 0 #0188fb, 3em 0 0 -0.5em #0188fb, 2em 2em 0 -0.5em #0188fb, - 0 3em 0 -0.5em #0188fb, -2em 2em 0 -0.5em #0188fb, -3em 0 0 -0.5em #0188fb, -2em -2em 0 0 #0188fb; - } -} - -.luckysheetpopover { - position: absolute; - /* left: 50%; - top:20px; */ - background: rgba(0, 0, 0, 0.65); - color: #fff; - font-size: 18px; - padding: 20px 100px; - text-align: center; - z-index: 10000; - border-radius: 4px; - user-select: none; - display: none; -} - -.luckysheetpopover .luckysheetpopover-content { -} - -.luckysheetpopover .luckysheetpopover-btn { - position: absolute; - right: 10px; - top: 50%; - margin-top: -12px; - border: 1px solid #fff; - border-radius: 4px; - padding: 2px 4px; - cursor: pointer; - font-size: 14px; -} - -.luckysheetpopover .luckysheetpopover-btn:hover { - border: 1px solid #fea2a2; - color: #fea2a2; -} - -.luckysheetPaintCursor { - cursor: url(paint_24px.ico), auto; -} - -/* input { - -webkit-appearance: textfield; - background-color: white; - -webkit-rtl-ordering: logical; - user-select: text; - cursor: auto; - padding: 1px; - border-width: 2px; - border-style: inset; - border-color: initial; - border-image: initial; - } - user agent stylesheet - input, textarea, keygen, select, button { - text-rendering: auto; - color: initial; - letter-spacing: normal; - word-spacing: normal; - text-transform: none; - text-indent: 0px; - text-shadow: none; - display: inline-block; - text-align: start; - margin: 0em 0em 0em 0em; - font: 13.3333px Arial; - }*/ - -/*查找替换弹出框样式*/ -#luckysheet-search-replace .tabBox { - margin-top: 20px; - font-size: 0; -} - -#luckysheet-search-replace .tabBox span { - display: inline-block; - text-align: center; - width: 100px; - border: 1px solid #d4d4d4; - font-size: 14px; - line-height: 2; -} - -#luckysheet-search-replace .tabBox span.on { - background-color: #8c89fe; - border-color: #726efe; - color: #fff; -} - -#luckysheet-search-replace .ctBox { - padding: 5px 10px; - border: solid 1px #d4d4d4; - font-size: 14px; -} - -#luckysheet-search-replace .inputBox { - height: 90px; - position: relative; -} - -#luckysheet-search-replace .inputBox .textboxs { - height: 30px; - line-height: 30px; -} - -#luckysheet-search-replace .inputBox .checkboxs { - height: 90px; - position: absolute; - right: 0; - top: 0; -} - -#luckysheet-search-replace .inputBox .checkboxs div { - height: 30px; - line-height: 30px; -} - -#luckysheet-search-replace .inputBox .checkboxs input[type="checkbox"] { - float: left; - margin-top: 9px; -} - -#luckysheet-search-replace .btnBox { - margin-top: 10px; -} - -#luckysheet-search-replace .btnBox button { - margin: 0 2.5px; -} - -#luckysheet-search-replace #searchAllbox { - height: 210px; - border: 1px solid #d4d4d4; - margin-top: 10px; - overflow-y: auto; - position: relative; -} - -#luckysheet-search-replace #searchAllbox .boxTitle { - width: 100%; - height: 30px; - line-height: 29px; - padding: 0 5px; - background-color: #fff; - border-bottom: 1px solid #d4d4d4; - box-sizing: border-box; - position: sticky; - left: 0; - top: 0; -} - -#luckysheet-search-replace #searchAllbox .boxTitle span { - display: inline-block; - text-align: center; -} - -#luckysheet-search-replace #searchAllbox .boxTitle span:nth-of-type(1) { - width: 25%; -} - -#luckysheet-search-replace #searchAllbox .boxTitle span:nth-of-type(2) { - width: 25%; -} - -#luckysheet-search-replace #searchAllbox .boxTitle span:nth-of-type(3) { - width: 50%; -} - -#luckysheet-search-replace #searchAllbox .boxMain .boxItem { - height: 30px; - line-height: 29px; - border-bottom: 1px solid #d4d4d4; - padding: 0 5px; - box-sizing: border-box; -} - -#luckysheet-search-replace #searchAllbox .boxMain .boxItem.on { - background-color: #8c89fe; - color: #fff; -} - -#luckysheet-search-replace #searchAllbox .boxMain .boxItem span { - display: block; - text-align: center; - float: left; -} - -#luckysheet-search-replace #searchAllbox .boxMain .boxItem span:nth-of-type(1) { - width: 25%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -#luckysheet-search-replace #searchAllbox .boxMain .boxItem span:nth-of-type(2) { - width: 25%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -#luckysheet-search-replace #searchAllbox .boxMain .boxItem span:nth-of-type(3) { - width: 50%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -/*函数公式查找样式*/ -#luckysheet-search-formula { - font-size: 12px; -} - -#luckysheet-search-formula .inpbox { - margin-bottom: 5px; -} - -#luckysheet-search-formula .inpbox label { - display: block; - margin-bottom: 5px; -} - -#luckysheet-search-formula .inpbox input { - width: 100%; - height: 24px; - line-height: 24px; - border: 1px solid #d4d4d4; - padding: 0 10px; - box-sizing: border-box; - font-size: 12px; -} - -#luckysheet-search-formula .selbox { - margin-bottom: 5px; -} - -#luckysheet-search-formula .selbox select { - width: 50%; - height: 24px; - line-height: 24px; - border: 1px solid #d4d4d4; - box-sizing: border-box; - font-size: 12px; -} - -#luckysheet-search-formula .listbox label { - display: block; - margin-bottom: 5px; -} - -#formulaTypeList { - width: 300px; - height: 170px; - border: 1px solid #d4d4d4; - overflow-y: scroll; -} - -#formulaTypeList .listBox { - padding: 5px; - border-bottom: 1px solid #d4d4d4; -} - -#formulaTypeList .listBox.on { - background-color: #8c89fe; - color: #fff; -} - -#formulaTypeList .listBox span:nth-of-type(1) { - display: block; -} - -#formulaTypeList .listBox span:nth-of-type(2) { - display: block; -} - -#luckysheet-search-formula-parm { - width: 502px; - font-size: 12px; -} - -#luckysheet-search-formula-parm .parmListBox { - width: 500px; - padding: 5px 0; - border: 1px solid #d4d4d4; -} - -#luckysheet-search-formula-parm .parmBox { - height: 30px; - line-height: 30px; - margin-bottom: 5px; -} - -#luckysheet-search-formula-parm .parmBox:last-child { - margin-bottom: 0; -} - -#luckysheet-search-formula-parm .parmBox .name { - width: 90px; - height: 30px; - padding: 0 5px; - float: left; - text-align: right; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -#luckysheet-search-formula-parm .parmBox .txt { - width: 198px; - height: 28px; - border: 1px solid #d4d4d4; - float: left; -} - -#luckysheet-search-formula-parm .parmBox .txt input { - width: 150px; - height: 28px; - padding: 0 10px; - border: none; - outline-style: none; - float: left; -} - -#luckysheet-search-formula-parm .parmBox .txt i { - float: right; - margin-top: 8px; - margin-right: 5px; -} - -#luckysheet-search-formula-parm .fa-table { - cursor: pointer; - color: #6598f3; -} - -#luckysheet-search-formula-parm .fa-table:hover { - color: #ff7e7e; -} - -#luckysheet-search-formula-parm .parmBox .val { - width: 190px; - height: 30px; - line-height: 30px; - padding: 0 5px; - float: left; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -#luckysheet-search-formula-parm .formulaDetails { - padding: 5px; -} - -#luckysheet-search-formula-parm .parmDetailsBox { - max-height: 100px; - padding: 5px 0 5px 20px; - overflow-y: scroll; -} - -#luckysheet-search-formula-parm .parmDetailsBox span { - display: inline-block; -} - -#luckysheet-search-formula-parm .result { - padding: 5px; - border-top: 1px solid #d4d4d4; -} - -/*条件格式颜色选择器*/ -#textCellColor { - border: 1px solid #d4d4d4; - padding: 5px 10px; -} - -#textCellColor .colorbox { - height: 30px; - line-height: 30px; - margin-bottom: 10px; -} - -#textCellColor .colorbox input[type="checkbox"] { - float: left; - margin-top: 10px; -} - -#textCellColor .colorbox label { - display: inline-block; - width: 80px; -} - -/*条件格式单元格选择框*/ -#luckysheet-singleRange-dialog input, -#luckysheet-multiRange-dialog input { - border: 1px solid #d4d4d4; - padding: 0 10px; - height: 30px; -} - -/*条件格式弹出框*/ -#luckysheet-conditionformat-dialog { - font-size: 12px; -} - -#luckysheet-conditionformat-dialog .box .boxTitleOne { - margin: 5px 0; - font-weight: 600; -} - -#luckysheet-conditionformat-dialog .box .inpbox { - width: 198px; - height: 28px; - border: 1px solid #d4d4d4; -} - -#luckysheet-conditionformat-dialog .box .inpbox input { - width: 150px; - height: 28px; - padding: 0 10px; - border: none; - outline-style: none; - float: left; -} - -#luckysheet-conditionformat-dialog .box .inpbox2 { - float: left; - width: 108px; - height: 28px; - border: 1px solid #d4d4d4; -} - -#luckysheet-conditionformat-dialog .box .inpbox2 input { - width: 60px; - height: 28px; - padding: 0 10px; - border: none; - outline-style: none; - float: left; -} - -#luckysheet-conditionformat-dialog .box i.fa-table { - float: right; - margin-top: 8px; - margin-right: 5px; -} - -#luckysheet-conditionformat-dialog .box .fa-table { - cursor: pointer; - color: #6598f3; -} - -#luckysheet-conditionformat-dialog .box .fa-table:hover { - color: #ff7e7e; -} - -#luckysheet-conditionformat-dialog .box #daterange-btn { - width: 188px; - height: 28px; - padding: 0 5px; - line-height: 28px; - border: 1px solid #d4d4d4; - cursor: pointer; -} - -#luckysheet-conditionformat-dialog .box .selectbox { - width: 150px; - height: 30px; -} - -#luckysheet-icon-dataBar-menuButton .bgImgBox { - width: 28px; - height: 26px; - background: url(../plugins/images/CFdataBar.png) no-repeat; -} - -#luckysheet-icon-colorGradation-menuButton .bgImgBox { - width: 28px; - height: 26px; - background: url(../plugins/images/CFcolorGradation.png) no-repeat; -} - -/*条件格式规则管理器*/ -#luckysheet-administerRule-dialog { - font-size: 12px; -} - -#luckysheet-administerRule-dialog .chooseSheet { - height: 24px; - line-height: 24px; - margin-bottom: 5px; -} - -#luckysheet-administerRule-dialog .chooseSheet select { - height: 24px; - padding: 0 5px; - box-sizing: border-box; - font-size: 12px; -} - -#luckysheet-administerRule-dialog .ruleBox { - border: 1px solid #d4d4d4; -} - -#luckysheet-administerRule-dialog .ruleBox .ruleBtn { - padding: 2.5px 5px; - border-bottom: 1px solid #d4d4d4; -} - -#luckysheet-administerRule-dialog .ruleBox .ruleBtn button { - margin-right: 10px; - font-size: 12px; -} - -#luckysheet-administerRule-dialog .ruleBox .ruleList .listTitle { - height: 30px; - padding: 0 10px; - border-bottom: 1px solid #d4d4d4; -} - -#luckysheet-administerRule-dialog .ruleBox .ruleList .listTitle span { - display: block; - height: 100%; - line-height: 29px; - float: left; -} - -#luckysheet-administerRule-dialog .ruleBox .ruleList .listTitle span:nth-of-type(1) { - width: 30%; -} - -#luckysheet-administerRule-dialog .ruleBox .ruleList .listTitle span:nth-of-type(2) { - width: 20%; -} - -#luckysheet-administerRule-dialog .ruleBox .ruleList .listTitle span:nth-of-type(3) { - width: 45%; -} - -#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox { - height: 150px; - overflow-y: scroll; -} - -#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox .item { - height: 24px; - padding: 2.5px 10px; - border-bottom: 1px solid #d4d4d4; -} - -#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox .item.on { - background-color: #8c89fe; -} - -#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox .item .ruleName { - width: 30%; - height: 100%; - line-height: 24px; - padding-right: 10px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - float: left; - box-sizing: border-box; -} - -#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox .item.on .ruleName { - color: #fff; -} - -#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox .item .format { - width: 20%; - height: 100%; - line-height: 24px; - float: left; - position: relative; -} - -#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox .item .format .colorbox { - display: inline-block; - width: 16px; - height: 16px; - border: solid 1px #d0d0d0; - margin: 3px 5px; - cursor: pointer; -} - -#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox .item .ruleRange { - width: 45%; - height: 100%; - border: 1px solid #d4d4d4; - float: left; - margin-left: 10px; - box-sizing: border-box; - background-color: #fff; -} - -#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox .item .ruleRange input { - width: 130px; - height: 22px; - padding: 0 5px; - border: none; - outline-style: none; - float: left; -} - -#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox .item .ruleRange i.fa-table { - float: right; - cursor: pointer; - color: #6598f3; - margin-top: 6px; - margin-right: 5px; -} - -#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox .item .ruleRange i.fa-table:hover { - color: #ff7e7e; -} - -/*新建、编辑条件格式规则*/ -.luckysheet-newEditorRule-dialog { - font-size: 12px; -} - -.luckysheet-newEditorRule-dialog .boxTitle { - margin-bottom: 5px; -} - -.luckysheet-newEditorRule-dialog .ruleTypeBox { - border: 1px solid #d4d4d4; - margin-bottom: 10px; -} - -.luckysheet-newEditorRule-dialog .ruleTypeBox .ruleTypeItem { - padding: 3px 5px; - cursor: pointer; -} - -.luckysheet-newEditorRule-dialog .ruleTypeBox .ruleTypeItem.on { - background-color: #7c79fe; - color: #fff; -} - -.luckysheet-newEditorRule-dialog .ruleTypeBox .ruleTypeItem .icon { - font-family: Arial, Helvetica, sans-serif; -} - -.luckysheet-newEditorRule-dialog .ruleExplainBox { - border: 1px solid #d4d4d4; - padding: 10px; -} - -.luckysheet-newEditorRule-dialog .ruleExplainBox .title { - display: block; - font-weight: 600; - margin-bottom: 5px; -} - -.luckysheet-newEditorRule-dialog .ruleExplainBox select { - height: 30px; - font-size: 12px; - float: left; - margin-right: 5px; -} - -.luckysheet-newEditorRule-dialog .ruleExplainBox .inpbox { - width: 100px; - height: 30px; - border: 1px solid #d4d4d4; - box-sizing: border-box; - font-size: 12px; - float: left; -} - -.luckysheet-newEditorRule-dialog .ruleExplainBox .inpbox input { - width: 70px; - height: 100%; - border: none; - outline-style: none; - padding: 0 5px; -} - -.luckysheet-newEditorRule-dialog .ruleExplainBox .txt { - display: block; - height: 100%; - line-height: 30px; - float: left; - margin: 0 5px; -} - -.luckysheet-newEditorRule-dialog .ruleExplainBox #isPercent { - float: left; - margin: 9px 0 8px 10px; -} - -.luckysheet-newEditorRule-dialog i.fa-table { - float: right; - margin-top: 8px; - margin-right: 5px; -} - -.luckysheet-newEditorRule-dialog .fa-table { - cursor: pointer; - color: #6598f3; -} - -.luckysheet-newEditorRule-dialog .fa-table:hover { - color: #ff7e7e; -} - -.luckysheet-newEditorRule-dialog .iconsBox { - height: 30px; - margin-bottom: 5px; - position: relative; -} - -.luckysheet-newEditorRule-dialog .iconsBox label { - display: block; - width: 80px; - height: 30px; - line-height: 30px; - float: left; -} - -.luckysheet-newEditorRule-dialog .iconsBox .showbox { - width: 150px; - height: 20px; - padding: 4px 4px 4px 10px; - border: 1px solid #e5e5e5; - background-color: #f5f5f5; - float: left; - cursor: pointer; -} - -.luckysheet-newEditorRule-dialog .iconsBox .showbox .model { - width: 125px; - height: 20px; - background: url(../plugins/images/CFicons.png) no-repeat; - background-size: 256px; - float: left; -} - -.luckysheet-newEditorRule-dialog .iconsBox ul { - display: none; - width: 164px; - max-height: 150px; - overflow-y: auto; - background-color: #fff; - border: 1px solid #e5e5e5; - position: absolute; - left: 80px; - top: 30px; - list-style: none; - margin: 0; - padding: 0; -} - -.luckysheet-newEditorRule-dialog .iconsBox ul li { - padding: 5px 10px; - background-color: #fff; - cursor: pointer; -} - -.luckysheet-newEditorRule-dialog .iconsBox ul li:hover { - background-color: #dfdfdf; -} - -.luckysheet-newEditorRule-dialog .iconsBox ul li div { - width: 125px; - height: 20px; - background: url(../plugins/images/CFicons.png) no-repeat; - background-size: 256px; -} - -/*条件格式 图标集弹框*/ -#luckysheet-CFicons-dialog .box { - padding: 10px; - border: 1px solid #dfdfdf; - font-size: 14px; -} - -#luckysheet-CFicons-dialog .box .title { - height: 20px; - line-height: 20px; - padding: 0 10px; - background-color: #ebebeb; -} - -#luckysheet-CFicons-dialog .box .list { - width: 300px; - padding: 5px 0; -} - -#luckysheet-CFicons-dialog .box .list .left { - width: 50%; - float: left; -} - -#luckysheet-CFicons-dialog .box .list .right { - width: 50%; - float: right; -} - -#luckysheet-CFicons-dialog .box .list .item { - width: 125px; - height: 20px; - padding: 2.5px 10px; - background-color: #fff; - cursor: pointer; -} - -#luckysheet-CFicons-dialog .box .list .item:hover { - background-color: #dfdfdf; -} - -#luckysheet-CFicons-dialog .box .list .item div { - width: 125px; - height: 20px; - background: url(../plugins/images/CFicons.png) no-repeat; - background-size: 256px; -} - -/*交替颜色*/ -#luckysheet-modal-dialog-slider-alternateformat { - width: 280px; - font-size: 12px; -} - -#luckysheet-modal-dialog-slider-alternateformat .luckysheet-modal-dialog-slider-content { - background-color: #fff; - overflow-y: scroll; -} - -#luckysheet-modal-dialog-slider-alternateformat .textTitle { - padding: 5px 10px; - font-weight: 600; -} - -#luckysheet-alternateformat-range { - width: 198px; - height: 28px; - border: 1px solid #d4d4d4; - margin-left: 10px; -} - -#luckysheet-alternateformat-range input { - width: 150px; - height: 28px; - padding: 0 10px; - border: none; - outline-style: none; - float: left; -} - -#luckysheet-alternateformat-range .fa-table { - float: right; - margin-top: 8px; - margin-right: 5px; - cursor: pointer; - color: #6598f3; -} - -#luckysheet-alternateformat-range .fa-table:hover { - color: #ff7e7e; -} - -#luckysheet-alternateformat-checkbox { - padding: 5px 10px; - border-top: 1px solid #d4d4d4; - border-bottom: 1px solid #d4d4d4; - margin: 10px 0; -} - -#luckysheet-alternateformat-checkbox div { - height: 20px; - line-height: 20px; -} - -#luckysheet-alternateformat-checkbox div:first-child { - margin-bottom: 5px; -} - -#luckysheet-alternateformat-checkbox input[type="checkbox"] { - float: left; - cursor: pointer; - margin-top: 4px; -} - -#luckysheet-alternateformat-modelList { - padding: 0 10px; - margin-bottom: 10px; -} - -#luckysheet-alternateformat-modelCustom { - padding: 0 10px; - margin-bottom: 10px; -} - -#luckysheet-modal-dialog-slider-alternateformat .modelbox { - display: inline-block; - width: 36px; - padding: 2px; - border: 2px solid #fff; - box-sizing: border-box; - margin-right: 4px; - margin-bottom: 4px; - cursor: pointer; -} - -#luckysheet-modal-dialog-slider-alternateformat .modelbox.on { - border-color: #726efe; -} - -#luckysheet-modal-dialog-slider-alternateformat .modelbox .box { - width: 100%; - border: 1px solid #d4d4d4; - box-sizing: border-box; -} - -#luckysheet-modal-dialog-slider-alternateformat .modelbox .box span { - display: block; - width: 100%; - height: 10px; - line-height: 9px; - text-align: center; - border-bottom: 1px solid #d4d4d4; - box-sizing: border-box; -} - -#luckysheet-modal-dialog-slider-alternateformat .modelbox .box span:last-child { - line-height: 10px; - border-bottom: none; -} - -#luckysheet-alternateformat-modelToning { - padding: 10px; -} - -#luckysheet-alternateformat-modelToning .toningbox { - height: 25px; - margin-bottom: 5px; -} - -#luckysheet-alternateformat-modelToning .toningbox .toningShow { - width: 150px; - height: 100%; - line-height: 23px; - text-align: center; - border: 1px solid #d4d4d4; - float: left; - margin-right: 10px; -} - -#luckysheet-alternateformat-modelToning .toningbox .luckysheet-color-menu-button-indicator { - width: 20px; - float: left; - user-select: none; - cursor: pointer; -} - -#luckysheet-alternateformat-modelToning .toningbox .luckysheet-color-menu-button-indicator .luckysheet-icon { - user-select: none; - margin-bottom: -6px; -} - -#luckysheet-alternateformat-colorSelect-dialog .currenColor { - font-size: 12px; - margin-bottom: 5px; -} - -#luckysheet-alternateformat-colorSelect-dialog .currenColor span { - display: inline-block; - width: 16px; - height: 16px; - border: solid 1px #d0d0d0; - margin-left: 5px; - margin-bottom: -5px; - cursor: pointer; -} - -#luckysheet-alternateformat-rangeDialog input { - border: 1px solid #d4d4d4; - padding: 0 10px; - height: 30px; -} - -/*if公式生成器*/ -#luckysheet-ifFormulaGenerator-dialog { - font-size: 12px; -} - -#luckysheet-ifFormulaGenerator-dialog .ifAttr .attrBox { - height: 30px; - margin-bottom: 10px; -} - -#luckysheet-ifFormulaGenerator-dialog .ifAttr .attrBox label { - display: block; - width: 100px; - height: 100%; - line-height: 30px; - padding: 0 5px; - text-align: right; - float: left; -} - -#luckysheet-ifFormulaGenerator-dialog .ifAttr .attrBox .inpBox { - width: 150px; - height: 100%; - padding: 0 10px; - border: 1px solid #d4d4d4; - box-sizing: border-box; - float: left; -} - -#luckysheet-ifFormulaGenerator-dialog .ifAttr .attrBox .inpBox input { - width: 100px; - height: 100%; - padding: 0; - border: none; - outline-style: none; - background: transparent; - float: left; -} - -#luckysheet-ifFormulaGenerator-dialog .ifAttr .attrBox .inpBox i.fa-table { - font-size: 14px; - color: #6598f3; - float: right; - margin-right: 0; - margin-top: 8px; - cursor: pointer; -} - -#luckysheet-ifFormulaGenerator-dialog .ifAttr .attrBox .inpBox i.fa-table:hover { - color: #ff7e7e; -} - -#luckysheet-ifFormulaGenerator-dialog .ifAttr .attrBox span.text { - height: 100%; - line-height: 30px; - padding: 0 5px; - float: left; -} - -#luckysheet-ifFormulaGenerator-dialog #smallRange, -#luckysheet-ifFormulaGenerator-dialog #largeRange { - width: 100px; - height: 100%; - padding: 0 10px; - border: 1px solid #d4d4d4; - box-sizing: border-box; - float: left; -} - -#luckysheet-ifFormulaGenerator-dialog #rangeAssess { - height: 100%; - line-height: 30px; - float: left; - margin-left: 20px; -} - -#luckysheet-ifFormulaGenerator-dialog #rangeAssess i.fa-table { - color: #6598f3; - cursor: pointer; -} - -#luckysheet-ifFormulaGenerator-dialog #rangeAssess i.fa-table:hover { - color: #ff7e7e; -} - -#luckysheet-ifFormulaGenerator-dialog #DivisionMethod { - width: 100px; - height: 100%; - border: 1px solid #d4d4d4; - box-sizing: border-box; - float: left; -} - -#luckysheet-ifFormulaGenerator-dialog #DivisionMethodVal { - width: 120px; - height: 100%; - border: 1px solid #d4d4d4; - padding: 0 10px; - box-sizing: border-box; - float: left; - margin-left: 10px; -} - -#luckysheet-ifFormulaGenerator-dialog #createBtn { - width: 100px; - height: 100%; - line-height: 30px; - border-radius: 5px; - text-align: center; - font-size: 14px; - color: #fff; - background-color: #8c89fe; - float: right; - cursor: pointer; -} - -#luckysheet-ifFormulaGenerator-dialog .ifList { - border-top: 1px solid #d4d4d4; - height: 180px; - padding: 10px; - overflow-y: scroll; -} - -#luckysheet-ifFormulaGenerator-dialog .ifList .item { - height: 30px; - margin-bottom: 10px; -} - -#luckysheet-ifFormulaGenerator-dialog .ifList .item input { - width: 80px; - height: 100%; - border: 1px solid #d4d4d4; - padding: 0 5px; - background: transparent; - box-sizing: border-box; - float: left; -} - -#luckysheet-ifFormulaGenerator-dialog .ifList .item input.markText { - width: 140px; -} - -#luckysheet-ifFormulaGenerator-dialog .ifList .item select { - width: 50px; - height: 100%; - padding: 0 5px; - border: 1px solid #d4d4d4; - box-sizing: border-box; - float: left; - margin: 0 10px; -} - -#luckysheet-ifFormulaGenerator-dialog .ifList .item span { - height: 100%; - line-height: 30px; - float: left; - margin: 0 10px; -} - -#luckysheet-ifFormulaGenerator-dialog .ifList .item i.fa-remove { - font-size: 16px; - float: left; - margin-left: 15px; - margin-top: 7px; - color: #d6d6d6; - cursor: pointer; -} - -#luckysheet-ifFormulaGenerator-dialog .ifList .item i.fa-remove:hover { - color: #333; -} - -#luckysheet-ifFormulaGenerator-singleRange-dialog input, -#luckysheet-ifFormulaGenerator-multiRange-dialog input { - border: 1px solid #d4d4d4; - padding: 0 10px; - height: 30px; -} - -.pictorialBarUploadImg:hover { - border: 1px solid #ccc !important; - background: #efefef; -} - -/*下拉图标*/ -#luckysheet-dropCell-icon #icon_dropCell { - width: 25px; - height: 15px; - background-image: url(../plugins/images/icon_dropCell.png); - background-repeat: no-repeat; - background-position: center; - background-size: 100% 100%; -} - -/*定位*/ -#luckysheet-locationCell-dialog .listbox { - border: 1px solid #dfdfdf; - padding: 10px; - font-size: 14px; - color: #000; -} - -#luckysheet-locationCell-dialog .listbox .listItem { - padding: 5px 0; -} - -#luckysheet-locationCell-dialog .listbox .listItem input[type="radio"] { - float: left; - margin-top: 5px; -} - -#luckysheet-locationCell-dialog .listbox .listItem .subbox { - height: 30px; - padding: 0 10px; -} - -#luckysheet-locationCell-dialog .listbox .listItem .subbox .subItem { - float: left; - margin-right: 5px; -} - -/*更多格式*/ -#luckysheet-moreFormat-dialog { - font-size: 14px; - color: #000; -} - -#luckysheet-moreFormat-dialog .decimal { - margin-bottom: 5px; - height: 30px; - line-height: 30px; -} - -#luckysheet-moreFormat-dialog .decimal input { - width: 80px; - height: 24px; - padding: 0 5px; -} - -#luckysheet-moreFormat-dialog .listbox { - border: 1px solid #666; - height: 240px; - overflow-y: auto; -} - -#luckysheet-moreFormat-dialog .listbox .listItem { - height: 30px; - padding: 0 20px 0 10px; - border-bottom: 1px solid #dfdfdf; -} - -#luckysheet-moreFormat-dialog .listbox .listItem.on { - background-color: #7c79fe; - color: #fff; -} - -#luckysheet-moreFormat-dialog .listbox .listItem .name { - line-height: 29px; - float: left; -} - -#luckysheet-moreFormat-dialog .listbox .listItem .value { - line-height: 30px; - float: right; - color: gray; -} - -#luckysheet-moreFormat-dialog .listbox .listItem.on .value { - color: #fff; -} - -/*分列*/ -#luckysheet-splitColumn-dialog { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -#luckysheet-splitColumn-dialog .box { - font-size: 14px; -} - -#luckysheet-splitColumn-dialog .box .boxTitle { - padding: 5px; -} - -#luckysheet-splitColumn-dialog .box .boxMain { - padding: 5px; - border: 1px solid #dfdfdf; -} - -#luckysheet-splitColumn-dialog .box input[type="checkbox"] { - float: left; - margin-top: 5px; -} - -#luckysheet-splitColumn-dialog .box .boxMain input[type="text"] { - margin-left: 5px; - width: 50px; - padding: 0 5px; -} - -#luckysheet-splitColumn-dialog .box #splitColumnData { - height: 100px; - overflow-y: auto; -} - -#luckysheet-splitColumn-dialog .box #splitColumnData table { - border-collapse: collapse; -} - -#luckysheet-splitColumn-dialog .box #splitColumnData td { - border: 1px solid #333; -} - -/*图表设置最下方下拉框优化*/ -.luckysheet-datavisual-config .luckysheet-datavisual-accordion-content:last-child { - padding-bottom: 100px; -} - -/*批注聚焦框 移动 改变大小*/ -.luckysheet-postil-dialog-move { - position: absolute; - margin: 0px; - padding: 0px; - top: 0; - left: 0; - bottom: 0; - right: 0; - pointer-events: none; -} - -.luckysheet-postil-dialog-move .luckysheet-postil-dialog-move-item { - /*background: #000;*/ - position: absolute; - pointer-events: all; - cursor: move; -} - -.luckysheet-postil-dialog-move .luckysheet-postil-dialog-move-item-t { - width: 100%; - height: 3px; - border-bottom: 1px solid #000; - left: 0; - top: -4px; -} - -.luckysheet-postil-dialog-move .luckysheet-postil-dialog-move-item-r { - width: 3px; - height: 100%; - border-left: 1px solid #000; - right: -4px; - top: 0; -} - -.luckysheet-postil-dialog-move .luckysheet-postil-dialog-move-item-b { - width: 100%; - height: 3px; - border-top: 1px solid #000; - left: 0; - bottom: -4px; -} - -.luckysheet-postil-dialog-move .luckysheet-postil-dialog-move-item-l { - width: 3px; - height: 100%; - border-right: 1px solid #000; - left: -4px; - top: 0; -} - -.luckysheet-postil-show-active .luckysheet-postil-dialog-move .luckysheet-postil-dialog-move-item { - border-color: #0188fb; -} - -.luckysheet-postil-dialog-resize { - position: absolute; - margin: 0px; - padding: 0px; - top: -2px; - left: -2px; - bottom: -2px; - right: -2px; - pointer-events: none; -} - -.luckysheet-postil-dialog-resize .luckysheet-postil-dialog-resize-item { - position: absolute; - height: 6px; - width: 6px; - border: 1px solid #0188fb; - pointer-events: all; -} - -.luckysheet-postil-dialog-resize .luckysheet-postil-dialog-resize-item-lt { - left: -6px; - top: -6px; - cursor: se-resize; -} - -.luckysheet-postil-dialog-resize .luckysheet-postil-dialog-resize-item-mt { - left: 50%; - top: -6px; - margin-left: -4px; - cursor: s-resize; -} - -.luckysheet-postil-dialog-resize .luckysheet-postil-dialog-resize-item-lm { - top: 50%; - left: -6px; - margin-top: -4px; - cursor: w-resize; -} - -.luckysheet-postil-dialog-resize .luckysheet-postil-dialog-resize-item-rm { - top: 50%; - right: -6px; - margin-top: -4px; - cursor: w-resize; -} - -.luckysheet-postil-dialog-resize .luckysheet-postil-dialog-resize-item-rt { - right: -6px; - top: -6px; - cursor: ne-resize; -} - -.luckysheet-postil-dialog-resize .luckysheet-postil-dialog-resize-item-lb { - left: -6px; - bottom: -6px; - cursor: ne-resize; -} - -.luckysheet-postil-dialog-resize .luckysheet-postil-dialog-resize-item-mb { - left: 50%; - bottom: -6px; - margin-left: -4px; - cursor: s-resize; -} - -.luckysheet-postil-dialog-resize .luckysheet-postil-dialog-resize-item-rb { - right: -6px; - bottom: -6px; - cursor: se-resize; -} - -/*图表设置最下方下拉框优化*/ -.luckysheet-datavisual-config .luckysheet-datavisual-accordion-content:last-child { - padding-bottom: 100px; -} - -/*图表样式新增样式: 设置界面overflow滚动*/ -.luckysheet-datavisual-left .el-tabs__content { - overflow: auto; -} - -/* .luckysheet-modal-dialog { - -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, .2); - -moz-box-shadow: 0 4px 16px rgba(0, 0, 0, .2); - box-shadow: 0 4px 16px rgba(0, 0, 0, .2); - background: #fff; - background-clip: padding-box; - border: 1px solid #acacac; - border: 1px solid rgba(0, 0, 0, .333); - outline: 0; - position: absolute; - color: #000; - padding: 30px 42px; - z-index: 100002; -} - -.luckysheet-modal-dialog-mask { - position: absolute; - height: 100%; - width: 100%; - background: #fff; - opacity: 0.6; - display: none; - left: 0px; - top: 0px; - z-index: 1010; -} - - - -.luckysheet-modal-dialog-title { - background-color: #fff; - color: #000; - cursor: default; - font-size: 16px; - font-weight: normal; - line-height: 24px; - margin: 0 0 16px; -} - -.luckysheet-modal-dialog-title-close { - height: 11px; - opacity: 0.7; - padding: 17px; - position: absolute; - right: 0px; - top: 0px; - width: 11px; - color: #d4d4d4; - outline: 0; -} - -.luckysheet-modal-dialog-chart { - padding: 20px 10px; - webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} - -.luckysheet-modal-dialog-resize { - position: absolute; - border: 2px solid #85c0fc; - margin: 0px; - padding: 0px; - top: -2px; - left: -2px; - bottom: -2px; - right: -2px; - pointer-events: none; -} - -.luckysheet-modal-dialog-resize-item { - position: absolute; - height: 6px; - width: 6px; - background: #ffffff; - border: 2px solid #85c0fc; - pointer-events: all; - border-radius: 6px; -} - -.luckysheet-modal-dialog-resize-item-lt { - left: -6px; - top: -6px; - cursor: se-resize; -} - -.luckysheet-modal-dialog-resize-item-mt { - left: 50%; - top: -6px; - margin-left: -4px; - cursor: s-resize; -} - -.luckysheet-modal-dialog-resize-item-rt { - right: -6px; - top: -6px; - cursor: ne-resize; -} - -.luckysheet-modal-dialog-resize-item-lm { - top: 50%; - left: -6px; - margin-top: -4px; - cursor: w-resize; -} - -.luckysheet-modal-dialog-resize-item-rm { - top: 50%; - right: -6px; - margin-top: -4px; - cursor: w-resize; -} - -.luckysheet-modal-dialog-resize-item-lb { - left: -6px; - bottom: -6px; - cursor: ne-resize; -} - -.luckysheet-modal-dialog-resize-item-mb { - left: 50%; - bottom: -6px; - margin-left: -4px; - cursor: s-resize; -} - -.luckysheet-modal-dialog-resize-item-rb { - right: -6px; - bottom: -6px; - cursor: se-resize; -} - - -.luckysheet-modal-dialog-controll { - position: absolute; - margin: 0px; - padding: 0px; - right: -35px; - font-size: 14px; - top: 0px; -} - -.luckysheet-modal-controll-btn { - height: 13px; - padding: 8px; - width: 13px; - color: #d4d4d4; - outline: 0; - border: 1px solid #B6B6B6; - display: block; - background: #fff; - margin-bottom: 3px; - cursor: pointer; - transition: all 0.2s; - -moz-transition: all 0.2s; - -webkit-transition: all 0.2s; - -o-transition: all 0.2s; -} - -.luckysheet-modal-controll-btn:hover { - border: 1px solid #A1A1A1; - color: #85c0fc; -} - -.luckysheet-modal-controll-btn:active { - border: 1px solid #BBBBBB; - background: #EFEFEF; - color: #85c0fc; -} - -.luckysheet-modal-controll-del { - font-size: 16px; -} - -.luckysheet-modal-controll-max-close { - font-size: 22px; - width: 42px; - height: 42px; - line-height: 42px; - background: #383838; - opacity: 0.7; - -moz-border-radius: 20px; - -webkit-border-radius: 20px; - border-radius: 20px; - color: #fff; - position: absolute; - right: 0px; - top: 0px; - z-index: 100000; - text-align: center; -} - -.luckysheet-modal-controll-max-close:hover { - background: #85c0fc; - cursor: pointer; -} */ - -/* 图片 */ -#luckysheet-modal-dialog-activeImage .luckysheet-modal-dialog-content { - width: 100%; - height: 100%; - position: absolute; - left: 0; - top: 0; - cursor: move; - image-rendering: -moz-crisp-edges; /* Firefox */ - image-rendering: -o-crisp-edges; /* Opera */ - image-rendering: -webkit-optimize-contrast; /*Webkit (non-standard naming) */ - image-rendering: crisp-edges; -} - -#luckysheet-modal-dialog-cropping::before { - content: ""; - outline: 1px solid #fff; - position: absolute; - left: 33.3%; - right: 33.3%; - top: 0; - bottom: 0; - z-index: 1; - pointer-events: none; -} -#luckysheet-modal-dialog-cropping::after { - content: ""; - outline: 1px solid #fff; - position: absolute; - left: 0; - right: 0; - top: 33.3%; - bottom: 33.3%; - z-index: 1; - pointer-events: none; -} -#luckysheet-modal-dialog-cropping .cropping-mask { - filter: brightness(0.5); - position: absolute; - background-size: 100% 100%; - left: 0; - top: 0; -} -#luckysheet-modal-dialog-cropping .cropping-content { - position: absolute; - overflow: hidden; - background-position: 0 0; - left: 0; - top: 0; - width: 100%; - height: 100%; -} -#luckysheet-modal-dialog-cropping .luckysheet-modal-dialog-resize { - border: none; - position: absolute; - margin: 0px; - padding: 0px; - top: 0; - left: 0; - bottom: 0; - right: 0; - pointer-events: all; -} -#luckysheet-modal-dialog-cropping .resize-item { - width: 0; - height: 0; - background: none; - border: none; - position: absolute; - z-index: 3; -} -#luckysheet-modal-dialog-cropping .resize-item::before { - content: ""; - display: block; - position: absolute; - background: #000; -} -#luckysheet-modal-dialog-cropping .resize-item::after { - content: ""; - display: block; - position: absolute; - background: #000; -} -#luckysheet-modal-dialog-cropping .lt { - left: 0; - top: 0; - cursor: nwse-resize; -} -#luckysheet-modal-dialog-cropping .lt::before { - width: 18px; - height: 4px; - left: 0; - top: 0; - border-right: 2px solid #fff; - border-bottom: 2px solid #fff; -} -#luckysheet-modal-dialog-cropping .lt::after { - width: 4px; - height: 14px; - left: 0; - top: 4px; - border-right: 2px solid #fff; - border-bottom: 2px solid #fff; -} -#luckysheet-modal-dialog-cropping .mt { - left: 50%; - top: 0; - cursor: ns-resize; -} -#luckysheet-modal-dialog-cropping .mt::before { - width: 18px; - height: 4px; - left: -11px; - top: 0; - border-left: 2px solid #fff; - border-right: 2px solid #fff; - border-bottom: 2px solid #fff; -} -#luckysheet-modal-dialog-cropping .rt { - right: 0; - top: 0; - cursor: nesw-resize; -} -#luckysheet-modal-dialog-cropping .rt::before { - width: 18px; - height: 4px; - right: 0; - top: 0; - border-left: 2px solid #fff; - border-bottom: 2px solid #fff; -} -#luckysheet-modal-dialog-cropping .rt::after { - width: 4px; - height: 14px; - right: 0; - top: 4px; - border-left: 2px solid #fff; - border-bottom: 2px solid #fff; -} -#luckysheet-modal-dialog-cropping .lm { - left: 0; - top: 50%; - cursor: ew-resize; -} -#luckysheet-modal-dialog-cropping .lm::before { - width: 4px; - height: 18px; - left: 0; - top: -11px; - border-right: 2px solid #fff; - border-top: 2px solid #fff; - border-bottom: 2px solid #fff; -} -#luckysheet-modal-dialog-cropping .rm { - right: 0; - top: 50%; - cursor: ew-resize; -} -#luckysheet-modal-dialog-cropping .rm::before { - width: 4px; - height: 18px; - right: 0; - top: -11px; - border-left: 2px solid #fff; - border-top: 2px solid #fff; - border-bottom: 2px solid #fff; -} -#luckysheet-modal-dialog-cropping .lb { - left: 0; - bottom: 0; - cursor: nesw-resize; -} -#luckysheet-modal-dialog-cropping .lb::before { - width: 18px; - height: 4px; - left: 0; - bottom: 0; - border-right: 2px solid #fff; - border-top: 2px solid #fff; -} -#luckysheet-modal-dialog-cropping .lb::after { - width: 4px; - height: 14px; - left: 0; - bottom: 4px; - border-right: 2px solid #fff; - border-top: 2px solid #fff; -} -#luckysheet-modal-dialog-cropping .rb { - right: 0; - bottom: 0; - cursor: nwse-resize; -} -#luckysheet-modal-dialog-cropping .rb::before { - width: 18px; - height: 4px; - right: 0; - bottom: 0; - border-left: 2px solid #fff; - border-top: 2px solid #fff; -} -#luckysheet-modal-dialog-cropping .rb::after { - width: 4px; - height: 14px; - right: 0; - bottom: 4px; - border-left: 2px solid #fff; - border-top: 2px solid #fff; -} -#luckysheet-modal-dialog-cropping .mb { - left: 50%; - bottom: 0; - cursor: ns-resize; -} -#luckysheet-modal-dialog-cropping .mb::before { - width: 18px; - height: 4px; - left: -11px; - bottom: 0; - border-left: 2px solid #fff; - border-right: 2px solid #fff; - border-top: 2px solid #fff; -} -#luckysheet-modal-dialog-slider-imageCtrl .luckysheet-modal-dialog-slider-content { - background-color: #fff; -} -#luckysheet-modal-dialog-slider-imageCtrl .slider-box { - border-bottom: 1px solid #e1e4e8; -} -#luckysheet-modal-dialog-slider-imageCtrl .slider-box .slider-box-title { - padding: 10px 20px; - font-weight: 600; -} -#luckysheet-modal-dialog-slider-imageCtrl .slider-box .slider-box-radios { - padding: 10px 30px; -} -#luckysheet-modal-dialog-slider-imageCtrl .slider-box .radio-item { - margin-bottom: 10px; -} -#luckysheet-modal-dialog-slider-imageCtrl .slider-box .radio-item:last-child { - margin-bottom: 0; -} -#luckysheet-modal-dialog-slider-imageCtrl .slider-box .radio-item input { - vertical-align: sub; -} -#luckysheet-modal-dialog-slider-imageCtrl .slider-box .slider-box-checkbox { - padding: 10px 30px; - border-top: 1px solid #e1e4e8; -} -#luckysheet-modal-dialog-slider-imageCtrl .slider-box .slider-box-checkbox input { - vertical-align: middle; -} -#luckysheet-modal-dialog-slider-imageCtrl .slider-box .slider-box-borderConfig { - padding: 10px 30px; -} -#luckysheet-modal-dialog-slider-imageCtrl .slider-box .border-item { - margin-bottom: 10px; -} -#luckysheet-modal-dialog-slider-imageCtrl .slider-box .border-item:last-child { - margin-bottom: 0; -} -#luckysheet-modal-dialog-slider-imageCtrl .slider-box .border-item label { - display: inline-block; - width: 40px; -} -#luckysheet-modal-dialog-slider-imageCtrl .slider-box .border-item input { - width: 130px; - padding: 5px; -} -#luckysheet-modal-dialog-slider-imageCtrl .slider-box .border-item .imgItemBorderColor { - display: inline-block; - width: 20px; - height: 20px; - padding: 2px; - border: 1px solid #e1e4e8; - vertical-align: middle; - cursor: pointer; -} -#luckysheet-modal-dialog-slider-imageCtrl .slider-box .border-item .imgItemBorderColor span { - display: block; - width: 100%; - height: 100%; -} -#luckysheet-imageCtrl-colorSelect-dialog .currenColor { - font-size: 12px; - margin-bottom: 5px; -} -#luckysheet-imageCtrl-colorSelect-dialog .currenColor span { - display: inline-block; - width: 16px; - height: 16px; - border: solid 1px #d0d0d0; - margin-left: 5px; - margin-bottom: -5px; - cursor: pointer; -} -#luckysheet-modal-dialog-activeImage, -#luckysheet-modal-dialog-cropping { - background: none; - box-shadow: none; -} - -.luckysheet-modal-dialog-image { - border: none; - box-shadow: none; - background: none; - box-shadow: none; - image-rendering: -moz-crisp-edges; /* Firefox */ - image-rendering: -o-crisp-edges; /* Opera */ - image-rendering: -webkit-optimize-contrast; /*Webkit (non-standard naming) */ - image-rendering: crisp-edges; -} - -.luckysheet-modal-dialog-image .luckysheet-modal-dialog-content, -#luckysheet-modal-dialog-activeImage .luckysheet-modal-dialog-content { - background: none; -} -/* 单元格日期选择 */ -.cell-date-picker { - position: absolute; - display: none; -} -/* 插入链接 */ -#luckysheet-insertLink-dialog { - user-select: none; -} -#luckysheet-insertLink-dialog .box { - font-size: 12px; -} -#luckysheet-insertLink-dialog .box-item { - height: 30px; - line-height: 30px; - margin-bottom: 10px; -} -#luckysheet-insertLink-dialog .box-item label { - display: inline-block; - width: 90px; - text-align: right; - margin-right: 10px; -} -#luckysheet-insertLink-dialog .box-item input { - width: 200px; - height: 30px; - padding: 0 10px; - border: 1px solid #d4d4d4; - outline-style: none; - box-sizing: border-box; -} -#luckysheet-insertLink-dialog .box-item select { - width: 200px; - height: 30px; - padding: 0 5px; - border: 1px solid #d4d4d4; - outline-style: none; - box-sizing: border-box; -} -/* 数据验证 */ -#luckysheet-dataVerification-dialog { - user-select: none; -} -#luckysheet-dataVerification-dialog .box { - font-size: 12px; -} -#luckysheet-dataVerification-dialog .box select { - width: 100%; - height: 30px; - border-color: #d4d4d4; - outline-style: none; -} -#luckysheet-dataVerification-dialog .box input::-webkit-input-placeholder { - color: #d4d4d4; -} -#luckysheet-dataVerification-dialog .box input:-moz-placeholder { - color: #d4d4d4; -} -#luckysheet-dataVerification-dialog .box input::-moz-placeholder { - color: #d4d4d4; -} -#luckysheet-dataVerification-dialog .box input:-ms-input-placeholder { - color: #d4d4d4; -} -#luckysheet-dataVerification-dialog .box-item { - padding: 10px; - border-bottom: 1px solid #e1e4e8; -} -#luckysheet-dataVerification-dialog .box-item .box-item-title { - font-size: 14px; - font-weight: 600; - margin-bottom: 10px; -} -#luckysheet-dataVerification-dialog .box-item .range { - width: 100%; - height: 30px; - border: 1px solid #d4d4d4; -} -#luckysheet-dataVerification-dialog .box-item .range input { - width: calc(100% - 30px); - height: 30px; - padding: 0 10px; - float: left; - border: none; - outline-style: none; - box-sizing: border-box; -} -#luckysheet-dataVerification-dialog .box-item .range i.fa-table { - float: right; - margin-top: 9px; - margin-right: 5px; - cursor: pointer; - color: #6598f3; -} -#luckysheet-dataVerification-dialog .box-item .multi { - margin-top: 10px; - line-height: 30px; - font-size: 12px; -} -#luckysheet-dataVerification-dialog .box-item .multi input { - vertical-align: text-top; -} -#luckysheet-dataVerification-dialog .box-item .show-box { - margin-top: 10px; -} -#luckysheet-dataVerification-dialog .box-item .check-box { - height: 30px; - line-height: 30px; - margin-bottom: 10px; -} -#luckysheet-dataVerification-dialog .box-item .check-box:last-child { - margin-bottom: 0; -} -#luckysheet-dataVerification-dialog .box-item .check-box input { - height: 30px; - padding: 0 10px; - border: 1px solid #d4d4d4; - box-sizing: border-box; -} -#luckysheet-dataVerification-dialog .box-item .check { - line-height: 30px; -} -#luckysheet-dataVerification-dialog .box-item .check input { - vertical-align: text-top; -} -#luckysheet-dataVerification-dialog .box-item .input { - height: 30px; - line-height: 30px; - margin-top: 10px; -} -#luckysheet-dataVerification-dialog .box-item .input input { - height: 30px; - padding: 4px 10px 4px 10px; - border: 1px solid #d4d4d4; - box-sizing: border-box; -} -#luckysheet-dataVerification-dialog .box-item .input1 input { - width: 150px; -} -#luckysheet-dataVerification-dialog .box-item .input2 input { - width: 100%; -} -#luckysheet-dataVerification-dialog .box-item .input span { - display: inline-block; - width: 30px; - text-align: center; -} -#luckysheet-dataVerification-dialog .data-verification-hint-text { - width: 100%; - height: 30px; - border: 1px solid #d4d4d4; - margin-top: 10px; -} -#luckysheet-dataVerification-dialog .data-verification-hint-text input { - display: block; - width: 100%; - height: 100%; - padding: 0 10px; - border: none; - outline-style: none; - box-sizing: border-box; -} -#luckysheet-dataVerification-dialog .show-box .show-box-item { - display: none; -} -#luckysheet-dataVerificationRange-dialog input { - height: 30px; - padding: 0 10px; - border: 1px solid #d4d4d4; - outline-style: none; -} -#luckysheet-dataVerification-dropdown-btn { - display: none; - width: 20px; - height: 20px; - background-color: #fff; - position: absolute; - z-index: 10; - overflow: hidden; -} -#luckysheet-formula-refresh { - display: none; - position: absolute; - z-index: 10; -} -#luckysheet-dataVerification-dropdown-btn::after { - content: ""; - width: 10px; - height: 10px; - background: url(arrow-down.png) center no-repeat; - position: absolute; - left: 50%; - top: 50%; - margin-left: -5px; - margin-top: -5px; -} -#luckysheet-dataVerification-dropdown-List { - display: none; - background-color: #fff; - border: 1px solid #ccc; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); - position: absolute; - z-index: 10000; - box-sizing: border-box; -} -#luckysheet-dataVerification-dropdown-List .dropdown-List-item { - padding: 5px 10px; - box-sizing: border-box; - cursor: pointer; -} - -#luckysheet-dataVerification-dropdown-List .dropdown-List-item.multi { - padding-left: 0; -} -#luckysheet-dataVerification-dropdown-List .dropdown-List-item.multi:before { - content: ""; - width: 14px; - font-family: "iconfont" !important; - font-size: 12px; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - display: inline-block; - margin-right: 2px; -} -#luckysheet-dataVerification-dropdown-List .dropdown-List-item.multi.checked:before { - content: "\e7c8"; -} -#luckysheet-dataVerification-dropdown-List .dropdown-List-item:hover { - background-color: #e1e1e1; -} -#luckysheet-dataVerification-showHintBox { - display: none; - padding: 10px; - background-color: #fff; - border: 1px solid #ccc; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); - position: absolute; - z-index: 1000; - user-select: none; - cursor: default; - white-space: nowrap; -} - -#luckysheet-icon-undo.disabled, -#luckysheet-icon-redo.disabled { - cursor: default; - opacity: 0.4; -} - - -#luckysheet-modal-dialog-slider-protection .luckysheet-modal-dialog-slider-content{ - background: #fff; -} - -.luckysheet-slider-protection-config{ - position: absolute; - width: 100%; -} - -.luckysheet-slider-protection-row{ - position: relative; - width: 98%; - height: 35px; - left: 1%; -} - -.luckysheet-slider-protection-column{ - position: absolute; - height: 100%; -} - - -.luckysheet-slider-protection-config input, .luckysheet-slider-protection-config textarea, .luckysheet-protection-rangeItem-dialog input, .luckysheet-protection-rangeItem-dialog textarea, .luckysheet-protection-sheet-validation input{ - border: 1px solid #d4d4d4; - outline: none; -} - -.luckysheet-slider-protection-config input:focus, .luckysheet-slider-protection-config textarea:focus, .luckysheet-protection-rangeItem-dialog input:focus, .luckysheet-protection-rangeItem-dialog textarea:focus,.luckysheet-protection-sheet-validation input:focus{ - border: 1px solid #0389FB; - outline: none; -} - -.luckysheet-protection-input{ - width: 100%; - height: 19px; - position: relative; -} - -.luckysheet-protection-textarea{ - width: 100%; - height: 47px; - position: relative; - resize:none; -} - -.luckysheet-protection-column-2x{ - width: 20%; -} - -.luckysheet-protection-column-3x{ - width: 30%; -} - -.luckysheet-protection-column-4x{ - width: 40%; -} - -.luckysheet-protection-column-5x{ - width: 50%; -} - -.luckysheet-protection-column-6x{ - width: 60%; -} - -.luckysheet-protection-column-7x{ - width: 70%; -} - -.luckysheet-protection-column-8x{ - width: 80%; -} - -.luckysheet-protection-column-9x{ - width: 90%; -} - -.luckysheet-protection-column-10x{ - width: 100%; -} - -.luckysheet-protection-column-left{ - text-align: left; -} - -.luckysheet-protection-column-center{ - text-align: center; -} - -.luckysheet-protection-column-right{ - text-align: right; -} - -.luckysheet-slider-protection-ok{ - position: absolute; - width: 100%; - height: 100%; - background: #0188fb; - color: #fff; - text-align: center; - line-height: 45px; - font-size: 16px; - cursor: pointer; -} - -.luckysheet-slider-protection-ok:hover{ - background: #0181EE; -} - -.luckysheet-slider-protection-ok:active{ - background: #0074da; -} - -.luckysheet-slider-protection-cancel{ - position: absolute; - width: 100%; - height: 100%; - background: #e6e6e6; - color: #353535; - text-align: center; - line-height: 45px; - font-size: 16px; - cursor: pointer; -} - -.luckysheet-slider-protection-cancel:hover{ - background: #d6d6d6; -} - -.luckysheet-slider-protection-cancel:active{ - background: #c7c7c7; -} - -.luckysheet-slider-protection-addRange{ - line-height: 23px; - font-size: 12px; - top: 2px; - height: 23px; -} - - -.luckysheet-protection-rangeItem{ - position: relative; - width: 100%; - height: 30px; - line-height: 30px; - font-size: 12px; - overflow: hidden; -} - -.luckysheet-protection-rangeItem:hover{ - background: #D5D5D5; -} - -.luckysheet-protection-rangeItem > div{ - position: absolute; - height: 100%; - text-align: center; - overflow: hidden; -} - -.luckysheet-protection-rangeItem .luckysheet-protection-rangeItem-del{ - left: 5px; - top:5px; - height: 20px; - width: 20px; - font-size: 14px; - line-height: 20px; - cursor: pointer; -} - -.luckysheet-protection-rangeItem .luckysheet-protection-rangeItem-name{ - left: 30px; - width: 80px; - text-align: left; -} - -.luckysheet-protection-rangeItem .luckysheet-protection-rangeItem-range{ - left: 110px; - width: 120px; -} - -.luckysheet-protection-rangeItem .luckysheet-protection-rangeItem-update{ - left: 230px; - width: 30px; - font-size: 14px; - top: 5px; - height: 20px; - width: 20px; - line-height: 20px; - cursor: pointer; -} - -.luckysheet-protection-rangeItem .luckysheet-protection-rangeItem-del:hover, .luckysheet-protection-rangeItem .luckysheet-protection-rangeItem-update:hover{ - background: #0181EE; - color: #fff; -} - -.luckysheet-protection-rangeItem .luckysheet-protection-rangeItem-del:active, .luckysheet-protection-rangeItem .luckysheet-protection-rangeItem-update:active{ - background: #0074da; - color: #fff; -} - - -.luckysheet-protection-rangeItem-content{ - position: relative; - width: 350px; - height: 270px; -} - - -#luckysheet-protection-rangeItem-dialog .luckysheet-slider-protection-column .range { - width: 100%; - height: 30px; - border: 1px solid #d4d4d4; -} - -#luckysheet-protection-rangeItem-dialog .luckysheet-slider-protection-column .range input { - width: calc(100% - 30px); - height: 30px; - padding: 0 10px; - float: left; - border: none; - outline-style: none; - box-sizing: border-box; -} - -#luckysheet-protection-rangeItem-dialog .luckysheet-slider-protection-column .range i.fa-table { - float: right; - margin-top: 9px; - margin-right: 5px; - cursor: pointer; - color: #6598F3; -} - -.luckysheet-protection-rangeItemTextarea{ - width: 100%; - height: 120px; - position: relative; - resize:none; -} - -.luckysheet-protection-rangeItemiInput{ - width: 100%; - height: 23px; - position: relative; -} - - -.luckysheet-protection-sheet-validation{ - width: 390px; - height: 180px; - display: none; -} -.luckysheet-zoom-content{ - position: relative; - float: right; - width:210px; - /* right: 0px; */ - height: 22px; - line-height: 22px; - text-align: right; - padding-right: 10px; - white-space: nowrap; - overflow: hidden; - display: flex; - align-items: center; - user-select: none; -} - -.luckysheet-zoom-content .luckysheet-zoom-minus{ - position: absolute; - top: 0; - left: 0px; - width: 20px; - height:20px; - cursor: pointer; - display: flex; - align-items: center; - justify-content: center; -} - -.luckysheet-zoom-content .luckysheet-zoom-minus-icon{ - background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTRweCIgaGVpZ2h0PSIycHgiIHZpZXdCb3g9IjAgMCAxNCAyIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA2MyAoOTI0NDUpIC0gaHR0cHM6Ly9za2V0Y2guY29tIC0tPgogICAgPHRpdGxlPnJpcWlxdWppYW7lpIfku70gNDU8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZyBpZD0iMjAyMC8wOC8xNCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IueUu+adv+Wkh+S7vS0yIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcwNC4wMDAwMDAsIC0xMDY0LjAwMDAwMCkiIGZpbGw9IiM0NDRENUEiPgogICAgICAgICAgICA8ZyBpZD0icmlxaXF1amlhbuWkh+S7vS0xMjYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2OTkuMDAwMDAwLCAxMDUzLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPGcgaWQ9Iue8lue7hCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNS4wMDAwMDAsIDExLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIHg9IjAiIHk9IjAiIHdpZHRoPSIxNCIgaGVpZ2h0PSIyIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=='); - width: 14px; - height: 2px; -} - -.luckysheet-zoom-content .luckysheet-zoom-minus:hover{ - background-color: #E1E4E8; -} - -.luckysheet-zoom-content .luckysheet-zoom-slider{ - position: absolute; - top: 0; - left: 25px; - width: 100px; - height: 100%; - display: flex; - align-items: center; -} - - -.luckysheet-zoom-content .luckysheet-zoom-slider .luckysheet-zoom-line{ - position: absolute; - top: 10px; - width: 100px; - height: 2px; - background: #E1E4E8; -} - -.luckysheet-zoom-content .luckysheet-zoom-slider .luckysheet-zoom-cursor{ - position: absolute; - top: 7px; - width: 8px; - height: 8px; - border-radius: 8px; - background: #B5BDB8; - cursor: pointer; - z-index: 2; - transition: all 0.3s; -} - -.luckysheet-zoom-content .luckysheet-zoom-slider .luckysheet-zoom-cursor:hover{ - transform: scale(1.2); - transform-origin: center center; - background: rgb(160, 160, 160); -} - -.luckysheet-zoom-content .luckysheet-zoom-slider .luckysheet-zoom-hundred{ - position: absolute; - top: 9px; - width: 2px; - height: 4px; - left: 49px; - background: #1E1E1F; -} - - -.luckysheet-zoom-content .luckysheet-zoom-plus{ - position: absolute; - top: 0; - left: 130px; - width: 20px; - height:20px; - cursor: pointer; - display: flex; - align-items: center; - justify-content: center; -} - -.luckysheet-zoom-content .luckysheet-zoom-plus .luckysheet-zoom-plus-icon{ - background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTRweCIgaGVpZ2h0PSIxNHB4IiB2aWV3Qm94PSIwIDAgMTQgMTQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYzICg5MjQ0NSkgLSBodHRwczovL3NrZXRjaC5jb20gLS0+CiAgICA8dGl0bGU+cmlxaXF1amlhbuWkh+S7vSA0NjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxnIGlkPSIyMDIwLzA4LzE0IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0i55S75p2/5aSH5Lu9LTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xODQ4LjAwMDAwMCwgLTEwNTguMDAwMDAwKSIgZmlsbD0iIzQ0NEQ1QSI+CiAgICAgICAgICAgIDxnIGlkPSJyaXFpcXVqaWFu5aSH5Lu9LTExOSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTg0My4wMDAwMDAsIDEwNTMuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8ZyBpZD0i57yW57uEIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1LjAwMDAwMCwgNS4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICA8cmVjdCBpZD0i55+p5b2iIiB4PSIwIiB5PSI2IiB3aWR0aD0iMTQiIGhlaWdodD0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaLlpIfku70iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcuMDAwMDAwLCA3LjAwMDAwMCkgcm90YXRlKC0yNzAuMDAwMDAwKSB0cmFuc2xhdGUoLTcuMDAwMDAwLCAtNy4wMDAwMDApICIgeD0iMCIgeT0iNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+'); - width: 14px; - height: 14px; -} - -.luckysheet-zoom-content .luckysheet-zoom-plus:hover{ - background-color: #E1E4E8; -} - -.luckysheet-zoom-content .luckysheet-zoom-ratioText{ - position: absolute; - top: 0; - left: 155px; - width: 60px; - color: #1E1E1F; - font-size: 12px; - text-align: left; - cursor: pointer; -} - -.luckysheet-zoom-content .luckysheet-zoom-ratioText:hover{ - background-color: #E1E4E8; -} -.flatpickr-calendar { - background: transparent; - opacity: 0; - display: none; - text-align: center; - visibility: hidden; - padding: 0; - -webkit-animation: none; - animation: none; - direction: ltr; - border: 0; - font-size: 14px; - line-height: 24px; - border-radius: 5px; - position: absolute; - width: 307.875px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - -ms-touch-action: manipulation; - touch-action: manipulation; - -webkit-box-shadow: 0 3px 13px rgba(0,0,0,0.08); - box-shadow: 0 3px 13px rgba(0,0,0,0.08); -} -.flatpickr-calendar.open, -.flatpickr-calendar.inline { - opacity: 1; - max-height: 640px; - visibility: visible; -} -.flatpickr-calendar.open { - display: inline-block; - z-index: 99999; -} -.flatpickr-calendar.animate.open { - -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1); - animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1); -} -.flatpickr-calendar.inline { - display: block; - position: relative; - top: 2px; -} -.flatpickr-calendar.static { - position: absolute; - top: calc(100% + 2px); -} -.flatpickr-calendar.static.open { - z-index: 999; - display: block; -} -.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) { - -webkit-box-shadow: none !important; - box-shadow: none !important; -} -.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) { - -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6; - box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6; -} -.flatpickr-calendar .hasWeeks .dayContainer, -.flatpickr-calendar .hasTime .dayContainer { - border-bottom: 0; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.flatpickr-calendar .hasWeeks .dayContainer { - border-left: 0; -} -.flatpickr-calendar.hasTime .flatpickr-time { - height: 40px; - border-top: 1px solid #eceef1; -} -.flatpickr-calendar.hasTime .flatpickr-innerContainer { - border-bottom: 0; -} -.flatpickr-calendar.hasTime .flatpickr-time { - border: 1px solid #eceef1; -} -.flatpickr-calendar.noCalendar.hasTime .flatpickr-time { - height: auto; -} -.flatpickr-calendar:before, -.flatpickr-calendar:after { - position: absolute; - display: block; - pointer-events: none; - border: solid transparent; - content: ''; - height: 0; - width: 0; - left: 22px; -} -.flatpickr-calendar.rightMost:before, -.flatpickr-calendar.arrowRight:before, -.flatpickr-calendar.rightMost:after, -.flatpickr-calendar.arrowRight:after { - left: auto; - right: 22px; -} -.flatpickr-calendar.arrowCenter:before, -.flatpickr-calendar.arrowCenter:after { - left: 50%; - right: 50%; -} -.flatpickr-calendar:before { - border-width: 5px; - margin: 0 -5px; -} -.flatpickr-calendar:after { - border-width: 4px; - margin: 0 -4px; -} -.flatpickr-calendar.arrowTop:before, -.flatpickr-calendar.arrowTop:after { - bottom: 100%; -} -.flatpickr-calendar.arrowTop:before { - border-bottom-color: #eceef1; -} -.flatpickr-calendar.arrowTop:after { - border-bottom-color: #eceef1; -} -.flatpickr-calendar.arrowBottom:before, -.flatpickr-calendar.arrowBottom:after { - top: 100%; -} -.flatpickr-calendar.arrowBottom:before { - border-top-color: #eceef1; -} -.flatpickr-calendar.arrowBottom:after { - border-top-color: #eceef1; -} -.flatpickr-calendar:focus { - outline: 0; -} -.flatpickr-wrapper { - position: relative; - display: inline-block; -} -.flatpickr-months { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; -} -.flatpickr-months .flatpickr-month { - border-radius: 5px 5px 0 0; - background: #eceef1; - color: #5a6171; - fill: #5a6171; - height: 34px; - line-height: 1; - text-align: center; - position: relative; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - overflow: hidden; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; -} -.flatpickr-months .flatpickr-prev-month, -.flatpickr-months .flatpickr-next-month { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - text-decoration: none; - cursor: pointer; - position: absolute; - top: 0; - height: 34px; - padding: 10px; - z-index: 3; - color: #5a6171; - fill: #5a6171; -} -.flatpickr-months .flatpickr-prev-month.flatpickr-disabled, -.flatpickr-months .flatpickr-next-month.flatpickr-disabled { - display: none; -} -.flatpickr-months .flatpickr-prev-month i, -.flatpickr-months .flatpickr-next-month i { - position: relative; -} -.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month, -.flatpickr-months .flatpickr-next-month.flatpickr-prev-month { -/* - /*rtl:begin:ignore*/ -/* - */ - left: 0; -/* - /*rtl:end:ignore*/ -/* - */ -} -/* - /*rtl:begin:ignore*/ -/* - /*rtl:end:ignore*/ -.flatpickr-months .flatpickr-prev-month.flatpickr-next-month, -.flatpickr-months .flatpickr-next-month.flatpickr-next-month { -/* - /*rtl:begin:ignore*/ -/* - */ - right: 0; -/* - /*rtl:end:ignore*/ -/* - */ -} -/* - /*rtl:begin:ignore*/ -/* - /*rtl:end:ignore*/ -.flatpickr-months .flatpickr-prev-month:hover, -.flatpickr-months .flatpickr-next-month:hover { - color: #bbb; -} -.flatpickr-months .flatpickr-prev-month:hover svg, -.flatpickr-months .flatpickr-next-month:hover svg { - fill: #f64747; -} -.flatpickr-months .flatpickr-prev-month svg, -.flatpickr-months .flatpickr-next-month svg { - width: 14px; - height: 14px; -} -.flatpickr-months .flatpickr-prev-month svg path, -.flatpickr-months .flatpickr-next-month svg path { - -webkit-transition: fill 0.1s; - transition: fill 0.1s; - fill: inherit; -} -.numInputWrapper { - position: relative; - height: auto; -} -.numInputWrapper input, -.numInputWrapper span { - display: inline-block; -} -.numInputWrapper input { - width: 100%; -} -.numInputWrapper input::-ms-clear { - display: none; -} -.numInputWrapper input::-webkit-outer-spin-button, -.numInputWrapper input::-webkit-inner-spin-button { - margin: 0; - -webkit-appearance: none; -} -.numInputWrapper span { - position: absolute; - right: 0; - width: 14px; - padding: 0 4px 0 2px; - height: 50%; - line-height: 50%; - opacity: 0; - cursor: pointer; - border: 1px solid rgba(72,72,72,0.15); - -webkit-box-sizing: border-box; - box-sizing: border-box; -} -.numInputWrapper span:hover { - background: rgba(0,0,0,0.1); -} -.numInputWrapper span:active { - background: rgba(0,0,0,0.2); -} -.numInputWrapper span:after { - display: block; - content: ""; - position: absolute; -} -.numInputWrapper span.arrowUp { - top: 0; - border-bottom: 0; -} -.numInputWrapper span.arrowUp:after { - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-bottom: 4px solid rgba(72,72,72,0.6); - top: 26%; -} -.numInputWrapper span.arrowDown { - top: 50%; -} -.numInputWrapper span.arrowDown:after { - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid rgba(72,72,72,0.6); - top: 40%; -} -.numInputWrapper span svg { - width: inherit; - height: auto; -} -.numInputWrapper span svg path { - fill: rgba(90,97,113,0.5); -} -.numInputWrapper:hover { - background: rgba(0,0,0,0.05); -} -.numInputWrapper:hover span { - opacity: 1; -} -.flatpickr-current-month { - font-size: 135%; - line-height: inherit; - font-weight: 300; - color: inherit; - position: absolute; - width: 75%; - left: 12.5%; - padding: 7.48px 0 0 0; - line-height: 1; - height: 34px; - display: inline-block; - text-align: center; - -webkit-transform: translate3d(0px, 0px, 0px); - transform: translate3d(0px, 0px, 0px); -} -.flatpickr-current-month span.cur-month { - font-family: inherit; - font-weight: 700; - color: inherit; - display: inline-block; - margin-left: 0.5ch; - padding: 0; -} -.flatpickr-current-month span.cur-month:hover { - background: rgba(0,0,0,0.05); -} -.flatpickr-current-month .numInputWrapper { - width: 6ch; - width: 7ch\0; - display: inline-block; -} -.flatpickr-current-month .numInputWrapper span.arrowUp:after { - border-bottom-color: #5a6171; -} -.flatpickr-current-month .numInputWrapper span.arrowDown:after { - border-top-color: #5a6171; -} -.flatpickr-current-month input.cur-year { - background: transparent; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: inherit; - cursor: text; - padding: 0 0 0 0.5ch; - margin: 0; - display: inline-block; - font-size: inherit; - font-family: inherit; - font-weight: 300; - line-height: inherit; - height: auto; - border: 0; - border-radius: 0; - vertical-align: initial; - -webkit-appearance: textfield; - -moz-appearance: textfield; - appearance: textfield; -} -.flatpickr-current-month input.cur-year:focus { - outline: 0; -} -.flatpickr-current-month input.cur-year[disabled], -.flatpickr-current-month input.cur-year[disabled]:hover { - font-size: 100%; - color: rgba(90,97,113,0.5); - background: transparent; - pointer-events: none; -} -.flatpickr-current-month .flatpickr-monthDropdown-months { - appearance: menulist; - background: #eceef1; - border: none; - border-radius: 0; - box-sizing: border-box; - color: inherit; - cursor: pointer; - font-size: inherit; - font-family: inherit; - font-weight: 300; - height: auto; - line-height: inherit; - margin: -1px 0 0 0; - outline: none; - padding: 0 0 0 0.5ch; - position: relative; - vertical-align: initial; - -webkit-box-sizing: border-box; - -webkit-appearance: menulist; - -moz-appearance: menulist; - width: auto; -} -.flatpickr-current-month .flatpickr-monthDropdown-months:focus, -.flatpickr-current-month .flatpickr-monthDropdown-months:active { - outline: none; -} -.flatpickr-current-month .flatpickr-monthDropdown-months:hover { - background: rgba(0,0,0,0.05); -} -.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month { - background-color: #eceef1; - outline: none; - padding: 0; -} -.flatpickr-weekdays { - background: #eceef1; - text-align: center; - overflow: hidden; - width: 100%; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - height: 28px; -} -.flatpickr-weekdays .flatpickr-weekdaycontainer { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; -} -span.flatpickr-weekday { - cursor: default; - font-size: 90%; - background: #eceef1; - color: #5a6171; - line-height: 1; - margin: 0; - text-align: center; - display: block; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - font-weight: bolder; -} -.dayContainer, -.flatpickr-weeks { - padding: 1px 0 0 0; -} -.flatpickr-days { - position: relative; - overflow: hidden; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - width: 307.875px; - border-left: 1px solid #eceef1; - border-right: 1px solid #eceef1; -} -.flatpickr-days:focus { - outline: 0; -} -.dayContainer { - padding: 0; - outline: 0; - text-align: left; - width: 307.875px; - min-width: 307.875px; - max-width: 307.875px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - display: inline-block; - display: -ms-flexbox; - display: -webkit-box; - display: -webkit-flex; - display: flex; - -webkit-flex-wrap: wrap; - flex-wrap: wrap; - -ms-flex-wrap: wrap; - -ms-flex-pack: justify; - -webkit-justify-content: space-around; - justify-content: space-around; - -webkit-transform: translate3d(0px, 0px, 0px); - transform: translate3d(0px, 0px, 0px); - opacity: 1; -} -.dayContainer + .dayContainer { - -webkit-box-shadow: -1px 0 0 #eceef1; - box-shadow: -1px 0 0 #eceef1; -} -.flatpickr-day { - background: none; - border: 1px solid transparent; - border-radius: 150px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #484848; - cursor: pointer; - font-weight: 400; - width: 14.2857143%; - -webkit-flex-basis: 14.2857143%; - -ms-flex-preferred-size: 14.2857143%; - flex-basis: 14.2857143%; - max-width: 39px; - height: 39px; - line-height: 39px; - margin: 0; - display: inline-block; - position: relative; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - text-align: center; -} -.flatpickr-day.inRange, -.flatpickr-day.prevMonthDay.inRange, -.flatpickr-day.nextMonthDay.inRange, -.flatpickr-day.today.inRange, -.flatpickr-day.prevMonthDay.today.inRange, -.flatpickr-day.nextMonthDay.today.inRange, -.flatpickr-day:hover, -.flatpickr-day.prevMonthDay:hover, -.flatpickr-day.nextMonthDay:hover, -.flatpickr-day:focus, -.flatpickr-day.prevMonthDay:focus, -.flatpickr-day.nextMonthDay:focus { - cursor: pointer; - outline: 0; - background: #e2e2e2; - border-color: #e2e2e2; -} -.flatpickr-day.today { - border-color: #bbb; -} -.flatpickr-day.today:hover, -.flatpickr-day.today:focus { - border-color: #bbb; - background: #bbb; - color: #fff; -} -.flatpickr-day.selected, -.flatpickr-day.startRange, -.flatpickr-day.endRange, -.flatpickr-day.selected.inRange, -.flatpickr-day.startRange.inRange, -.flatpickr-day.endRange.inRange, -.flatpickr-day.selected:focus, -.flatpickr-day.startRange:focus, -.flatpickr-day.endRange:focus, -.flatpickr-day.selected:hover, -.flatpickr-day.startRange:hover, -.flatpickr-day.endRange:hover, -.flatpickr-day.selected.prevMonthDay, -.flatpickr-day.startRange.prevMonthDay, -.flatpickr-day.endRange.prevMonthDay, -.flatpickr-day.selected.nextMonthDay, -.flatpickr-day.startRange.nextMonthDay, -.flatpickr-day.endRange.nextMonthDay { - background: #ff5a5f; - -webkit-box-shadow: none; - box-shadow: none; - color: #fff; - border-color: #ff5a5f; -} -.flatpickr-day.selected.startRange, -.flatpickr-day.startRange.startRange, -.flatpickr-day.endRange.startRange { - border-radius: 50px 0 0 50px; -} -.flatpickr-day.selected.endRange, -.flatpickr-day.startRange.endRange, -.flatpickr-day.endRange.endRange { - border-radius: 0 50px 50px 0; -} -.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), -.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)), -.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) { - -webkit-box-shadow: -10px 0 0 #ff5a5f; - box-shadow: -10px 0 0 #ff5a5f; -} -.flatpickr-day.selected.startRange.endRange, -.flatpickr-day.startRange.startRange.endRange, -.flatpickr-day.endRange.startRange.endRange { - border-radius: 50px; -} -.flatpickr-day.inRange { - border-radius: 0; - -webkit-box-shadow: -5px 0 0 #e2e2e2, 5px 0 0 #e2e2e2; - box-shadow: -5px 0 0 #e2e2e2, 5px 0 0 #e2e2e2; -} -.flatpickr-day.flatpickr-disabled, -.flatpickr-day.flatpickr-disabled:hover, -.flatpickr-day.prevMonthDay, -.flatpickr-day.nextMonthDay, -.flatpickr-day.notAllowed, -.flatpickr-day.notAllowed.prevMonthDay, -.flatpickr-day.notAllowed.nextMonthDay { - color: rgba(72,72,72,0.3); - background: transparent; - border-color: transparent; - cursor: default; -} -.flatpickr-day.flatpickr-disabled, -.flatpickr-day.flatpickr-disabled:hover { - cursor: not-allowed; - color: rgba(72,72,72,0.1); -} -.flatpickr-day.week.selected { - border-radius: 0; - -webkit-box-shadow: -5px 0 0 #ff5a5f, 5px 0 0 #ff5a5f; - box-shadow: -5px 0 0 #ff5a5f, 5px 0 0 #ff5a5f; -} -.flatpickr-day.hidden { - visibility: hidden; -} -.rangeMode .flatpickr-day { - margin-top: 1px; -} -.flatpickr-weekwrapper { - float: left; -} -.flatpickr-weekwrapper .flatpickr-weeks { - padding: 0 12px; - border-left: 1px solid #eceef1; -} -.flatpickr-weekwrapper .flatpickr-weekday { - float: none; - width: 100%; - line-height: 28px; -} -.flatpickr-weekwrapper span.flatpickr-day, -.flatpickr-weekwrapper span.flatpickr-day:hover { - display: block; - width: 100%; - max-width: none; - color: rgba(72,72,72,0.3); - background: transparent; - cursor: default; - border: none; -} -.flatpickr-innerContainer { - display: block; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-sizing: border-box; - box-sizing: border-box; - overflow: hidden; - background: #fff; - border-bottom: 1px solid #eceef1; -} -.flatpickr-rContainer { - display: inline-block; - padding: 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; -} -.flatpickr-time { - text-align: center; - outline: 0; - display: block; - height: 0; - line-height: 40px; - max-height: 40px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - overflow: hidden; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - background: #fff; - border-radius: 0 0 5px 5px; -} -.flatpickr-time:after { - content: ""; - display: table; - clear: both; -} -.flatpickr-time .numInputWrapper { - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - width: 40%; - height: 40px; - float: left; -} -.flatpickr-time .numInputWrapper span.arrowUp:after { - border-bottom-color: #484848; -} -.flatpickr-time .numInputWrapper span.arrowDown:after { - border-top-color: #484848; -} -.flatpickr-time.hasSeconds .numInputWrapper { - width: 26%; -} -.flatpickr-time.time24hr .numInputWrapper { - width: 49%; -} -.flatpickr-time input { - background: transparent; - -webkit-box-shadow: none; - box-shadow: none; - border: 0; - border-radius: 0; - text-align: center; - margin: 0; - padding: 0; - height: inherit; - line-height: inherit; - color: #484848; - font-size: 14px; - position: relative; - -webkit-box-sizing: border-box; - box-sizing: border-box; - -webkit-appearance: textfield; - -moz-appearance: textfield; - appearance: textfield; -} -.flatpickr-time input.flatpickr-hour { - font-weight: bold; -} -.flatpickr-time input.flatpickr-minute, -.flatpickr-time input.flatpickr-second { - font-weight: 400; -} -.flatpickr-time input:focus { - outline: 0; - border: 0; -} -.flatpickr-time .flatpickr-time-separator, -.flatpickr-time .flatpickr-am-pm { - height: inherit; - float: left; - line-height: inherit; - color: #484848; - font-weight: bold; - width: 2%; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-align-self: center; - -ms-flex-item-align: center; - align-self: center; -} -.flatpickr-time .flatpickr-am-pm { - outline: 0; - width: 18%; - cursor: pointer; - text-align: center; - font-weight: 400; -} -.flatpickr-time input:hover, -.flatpickr-time .flatpickr-am-pm:hover, -.flatpickr-time input:focus, -.flatpickr-time .flatpickr-am-pm:focus { - background: #eaeaea; -} -.flatpickr-input[readonly] { - cursor: pointer; -} -@-webkit-keyframes fpFadeInDown { - from { - opacity: 0; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} -@keyframes fpFadeInDown { - from { - opacity: 0; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} -span.flatpickr-day.selected { - font-weight: bold; -} +.luckysheet-icon-img-container.iconfont-luckysheet,.luckysheet-submenu-arrow .iconfont-luckysheet{font-size:24px}.luckysheet-toolbar-combo-button .luckysheet-iconfont-xiayige,.luckysheet-toolbar-menu-button .luckysheet-iconfont-xiayige{font-size:12px;top:-8px;left:-3px}.luckysheet-toolbar-select .luckysheet-iconfont-xiayige{margin-right:4px}#luckysheet-icon-morebtn{position:absolute;right:15px;transform:translate(0,-50%);top:50%}.toolbar .luckysheet-icon-border-all,.toolbar .luckysheet-icon-cell-color,.toolbar .luckysheet-icon-text-color,.toolbar .luckysheet-icon-textwrap,.toolbar .luckysheet-icon-valign{margin-right:-3px}.toolbar .luckysheet-freezen-btn-horizontal,.toolbar .luckysheet-icon-align,.toolbar .luckysheet-icon-function,.toolbar .luckysheet-icon-merge-button,.toolbar .luckysheet-icon-rotation{margin-right:-4px}#luckysheet-icon-morebtn{padding:2px 13px 0 5px}#luckysheet-icon-morebtn .iconfont-luckysheet{top:-9px}.lucky-button-custom{cursor:pointer;display:flex;align-items:center;justify-content:center}.lucky-button-custom:hover{background-color:#e1e4e8}#luckysheet-icon-morebtn-div{border:1px solid #d4d4d4}.luckysheet-sheets-add .iconfont-luckysheet,.luckysheet-sheets-m .iconfont-luckysheet{font-size:21px}#luckysheet-sheets-leftscroll,#luckysheet-sheets-rightscroll{padding:6px 10px}input.luckysheet-mousedown-cancel{border:1px solid #a1a1a1}input.luckysheet-mousedown-cancel:focus{border:1px solid #0188fb;outline:0}.luckysheet-cellFormat-config{display:none}.luckysheet-cellFormat-config .luckysheet-modal-dialog-content{position:relative;height:550px;width:600px}.luckysheet-cellFormat-menu-c{position:absolute;width:100%;height:30px;border-right:1px solid #fff;border-bottom:1px solid #d4d4d4;font-size:12px}.luckysheet-cellFormat-menu{position:relative;display:inline-block;height:30px;width:80px;text-align:center;line-height:30px;border:1px solid #d4d4d4;border-bottom:none;background:#f0f0f0;cursor:pointer}.luckysheet-cellFormat-menu:hover{background:#e7e7e7}.luckysheet-cellFormat-menu-active{background:#fff;cursor:default}.luckysheet-cellFormat-menu-active:hover{background:#fff}.luckysheet-cellFormat-content{position:absolute;top:30px;bottom:0;width:100%;border:1px solid #d4d4d4;border-top:none}.luckysheet-cellFormat-protection{position:relative;margin-top:30px;margin-left:40px}.luckysheet-cellFormat-protection span{font-size:12px;color:#ff2929;padding-left:12px}::-webkit-scrollbar-track{background-color:transparent}.luckysheet-noselected-text{-moz-user-select:-moz-test;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.chart-moveable{cursor:move}.luckysheet{position:absolute;font-size:12px;font-family:"Helvetica Neue",Helvetica,Arial,"PingFang SC","Hiragino Sans GB","Heiti SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;border:1px solid #e5e5e5;background:#fff}.luckysheet *{box-sizing:initial;outline:0}.luckysheetLoaderGif{width:8em;height:8em;position:absolute;top:50%;left:50%;-ms-transform:translate(-50%,-100%);-moz-transform:translate(-50%,-100%);-o-transform:translate(-50%,-100%);transform:translate(-50%,-100%);background-image:url(loading.gif);background-repeat:no-repeat;background-position:center;background-size:100% 100%}.luckysheet-loading-mask{position:absolute;z-index:1000000000;margin:0;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:#fff}.luckysheet-loading-content{position:relative;top:50%;transform:translateY(-50%);width:100%;font-size:14px;color:#409eff;text-align:center}.luckysheet-loading-image{width:8em;height:8em;margin:0 auto}.luckysheet-loading-text{margin-top:1em}.luckysheet-loading-image .image-type{width:100%;height:100%;background-repeat:no-repeat;background-position:center;background-size:100% 100%}.luckysheet-loading-image .path-type{width:100%;height:100%}.luckysheet-work-area{height:90px;width:100%;position:relative}.luckysheet_info_detail{position:relative;left:0;top:0;margin:0;padding:0 17px;height:56px;display:flex;align-items:center;background:#fff;box-shadow:0 -1px 0 0 #e6e7e8;border-bottom:1px solid #d4d4d4}.luckysheet_info_detail .sheet-name{margin:auto}.luckysheet_info_detail div.luckysheet_info_detail_back{font-size:14px;padding:0 8px;margin-right:18px;border-radius:3px;cursor:pointer}.luckysheet_info_detail div.luckysheet_info_detail_back:hover{background:#eee}.luckysheet_info_detail .luckysheet_info_detail_input{border:1px solid transparent;border-radius:3px!important;color:#000;font-size:16px;height:26px;line-height:22px;margin:0;min-width:1px;padding:2px 7px;visibility:hidden}.luckysheet_info_detail .luckysheet_info_detail_input:hover{border:1px solid #e5e5e5}.luckysheet_info_detail .luckysheet_info_detail_input:focus{-webkit-appearance:none;-moz-appearance:none;border:1px solid #0188fb!important;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);color:#000;outline:0}.luckysheet_info_detail_update{color:#cbcbcb;font-size:12px;margin-left:15px}.luckysheet_info_detail_user{font-size:12px;cursor:pointer;margin-left:10px}#luckysheet_info_detail_user_img{vertical-align:middle;height:20px;line-height:20px;border-radius:50%;object-fit:cover}.luckysheet_info_detail_save{color:#828282;font-size:12px;margin:0 5px}.luckysheet-share-logo{height:32px;width:152px;z-index:1;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJgAAAAgCAYAAADuW7E5AAAN7ElEQVR4Xu2be5BU1Z3Hv7/Tj2EYkEA0Uj4QTBRBZgofYFAWHzGlVLlqNGg0u6vZVKBqLVmZ7kGcvnf6dt/bDMx0D4RNYiRGd92EcmFZDRrAWl/J6ho3JJAZhELBRQTj+lgfMEhP973frdMzPdMzdM8rTFadOX/N3Ps7557zO5/zO7/f75yWKittYZBFKfXvO+oCLw6y+ki1YaABGQFsGMzy/+MQOwEj5CR4nDCgvijZRshOhczeZmv0wQHVHREeFhroAszDZMA7dyCjpuANgbwF4S9arPJfD6TuiOzw0MCfFbAqi2fQS98AJZeB0DCXtcTKKoeHqofnKIsCRsgUQIJ9qUSAoxQcE3iNLbHytaXkq2xORTa73IN3owCqQO7NlljZpL6+M/L+s6uBEoCpqRD0CRiINoAZAImd8VH/cJwaLPormVkJcDEA//FqkmdbYsGvfXbVN9LzvjQwZICdb3GCQmY9yJIAUZDYaZUZfXVy5P1nVwNDAthki6PGsk07/bN6U40ncskrVvC/+qM+a3lyukecSRfv2XXh3/WnzlDJRJzGaqGcAXCzY9Y8PVTf6a3dT0Mf+jPuIQGsMpr+OYDb++jAtpZYWa8AFtaPOMkHhFgIyFbHDM3vz+CGSsawk9sAXCSCiG2Elw/Vd3pr99PQh8L+WZalsr6x1wLeMceseTb/7oQDNsNK3yTExr6ULvSubo6XP9OXXP79CGDdNfVpA8xwkr8CMU9ElthGaPXQAKadeq9tJwRT+wDn8ZZY2Tf6C5eWGwHsUw6YndoFcNqQAlYVS99GD+t6BUewu/WT1jmvr5zw0VACVpdIft2lTBCqZsdcsrvwW7Wx5HzxyUleFtvrrdCr+XcdZv46gHNFUEHyIEU9lzBCvymsX8p6GPbqqRR3ppbV3/UHfYczmcxl+n9/ZtQvY7G7jnTf9ptmA5wixGHHDG3W75bV14/3Z4PfAvhlQEfy6k1AbXLMe/aU6kPGl7k/4AbvIL1zKXJQebLFrgtt76nfJU1N5RWt3jVCXECRLwLc58tmN8Ziyw4Umwsz3nQ+hfNEMJ1EK4AX/O7hzZZleQU7y1xAThcyBeB0QB6hYLPQ+x/HrHn+hG6RM6LpJwS4rhQ4BA9Q8LVXrFF7BwLXYCxYb1uIUWS11SZWn6o890mAFxfp2/o9zS/fvmHDBle/K9a25TTNztLbCmA8RLb6s4dvTgcnVPjctjd1QlkUvmdHwg/2gETDfQ4g9ztm6O8Mu0n7MBsAjOnRBw+g7Zg1nRcTuvogD5G8pn1yO4ogA6pFjln9cP6RYa+aRvE2Czm5e9s8pqAWx83QTwqfm05qJckwuuctIcDLPhfXWVb4PS1vOslNJP6yp85E8IxthK8+cYDtLvtR5fTMBwDHFoNHhC8CZTc1W/LOQOH6cwBm2KktAK8F+L6IzxLxXnOJWQLUgiinwEwYYacYYBEnOVeIXwI4CZQNPvfjv4rFYm0dstqi36ZXv2OG/6LTWrYD+bL+31O+i4KZj3ZkfWP0pI0H8KTn8cdK+TJCzqfC32s5Qr6aMKpzUXcesJy1FDwl4P0UNZ4eNYRnAXjP7449y7IWHV24cGHg1Enn7iAxHcDvhCpJ4cci+LpH3i26CWJ2PjqPOMlvC/EzgG2AagTkBVGcCJc1lFwbmxwzfEMOsETqTpDTSH4X0FYRz4pgG8m9jlnzE5kZbzfhrscLSDf3t1DNJTC6bxCoV7Q2lwkqbFGU13rWIfG+gAlXyn64KyY5pQ+mDNQHG4gFq0ukrvQ8PqvVLMo3x669Jzfx7RPZFAK8JIB9jhn+Sk/AfORvMpBNAlRQ8GAge2RR4RZyX7zhcp+o5wlQ4J3jmEv3ta/81PfJXAJ6u2OGL4w2NEx00+qPOZCE1yeMmifyfTCdpnrS06cr6xwztKmwDyT2v3vq2HPXLlqkE96IOKlLhXox63bcWQnj3m2GnbwbwBqA72Zbs1NXrLjvg662U40dlioHzd1r1pSN+zD9OkROI2Em6toXlS7RaMNE16+01R3jKe/i5ZGlv+/SUwkfLC8ww8pcIXRzpo6Q68HilqgEHAlRvj+A3q/a68MTyA5R8uiRo/61r6+UAflbxb4xpIDZKcsDowB2OGb4gsLva7+l/BP3HP0smGndqeHphBd42gMuE6AcQMoxw3pLOa4YduMuQKYJEbfrwtH169f7mve8eQjgqRTclTDCP8pBF0++0m4h5CiFjwqxxT/G97S1ZMmHPRst2CLX2EYoZ+F0WbBggW9q1SXHtNtHjzclojWPmfHU4xTeoLct0tctrSLizSD5fQKZV5snlU+feajS9dyc/yaUOyiqxy0ZrxHghRREE0Y43m/AqqyjZxBydq4CcR4pZSVgOu6xUurFTCDwx0DWvdQVvq2O+ne1rJDOVdLfdnqTG0rADDv1c4A6b/dvjhm+ua/+Fm5PeVkRNNhG+N7igCU1AKsp2J+IhM42nFXXAN4WDVImkDlt5bJluQUYcVJnAvypEFfr+e1oKwvgeaVkeTwSeq5rQttzcYAYjhlKFH7XsJMayHEU+VbCCP1LxEnuFuK8vsblC/jPymbdOUI+2pcsgIcdM/y3/QasHw12F1lA3/nnp6co+E7LBvyv8QjafP7M2VkVOLQnJm8NuL0+KgwlYJF48gERncTlVses6TOJWwCYJyKPkbw5t70K/saOhH7WcygdkeFBgKMB35WAqyfmrwXyiG2G7ugpH3GaTqfHa5R4VwKY3+HbuErktrgR0kFA0UCjAL5ugBl2UvttOqn9a0A9WUrVvmz2nzNKLlJKcjIiyiSRLiavhK/HjVBnvrNY4JRrY0AgWPRXeW0LPMHtArk879CL8n3TzXoHlGL+2GcvBY9lmF29J1ZxQmAbBGB6tV8BoNExw0vz47Ss5MlZH3RkNyqfs4k4qbCQjQIcrJw6afItt9ySixZ1MePJWRT5Jwg+eeeUMV/Vvk4BYKscM1xtOKkHkXNyeYziuzzviBfqNuKkHhbyTh0EQKghHiNU8+y66v/Qcpa1arKrvLkUHnHM8ONd/X1gdMZ/+EkhrhTgJdsMXzoIwB7RQJN4KlEXvrawXzXRhonlAf8cjx797pFNWd/oKYDKRfkUmXN8iqbxCiW+8Rnl7amvDe86YRZsRiz7DXHd+mJJVM9Tc7PK/99BtB3qDqy0ClnfHA8u1zv6gGDuITwIwB4C8B0Ar/jdIxdblnXMsix/1jdWR0e3tq/Q9qyzYTdqB1oraxSAascMr2qfdEtl/WPXgbxVRH5hG6Ebi03umjVryt75KP0CIDrF8RZFzU4Y1d10YcYbL6FIYT5tj2OGO7ctM95USfGa24Mmd4Zj3tuZuzMSqR/A410AfuuY4dkDByylc3s6aPCE6iq7rjrnK3fo4wkdPVPwXMIIX0VSTCelg5xZItiiModvzEfE5vKmyz3Xe0YAn0vvivq6pbl2cv1xkttBzATEcsxQLP+8TwvWcXD901JnizmHPh08WftcldG0jiJzkVa3Iuqxw/Dfvt8S7XwOqnQB1nv1AmiuAiR/FPUGgJdJVInk+qfNfkVh1tmwU3GAZi5gJ7VV2QfBLBAzALQK1Ry7rrql1ORGV6ye5GbcbQBPEeC3PveL8yzrO93Ga9iN2wFpT8SK1NhGSEennXNh2I3PIbcz4H8BPKWTm0pkKsG5ud1GieFE2v2t3qPk7j6Yljfjjf9KkZu1M68EWz3gfQDzhNB+9xG/4mVWpEYDjlqr4ULlUy/puEZEdNT4n3pcJHS+zV9sazec5D+CuAMiLgi9uBocM/TDXgHLXblhm04e9nIoLb9viQUv0h2bYaUbhKgpgcC6lljZtwdFV7ejov4BpqUiTnKZkLH85UkB3iZkEYAVxY41DDv1PYANAL7QNe3YIUrdY9e2r/reJtewG68mZKte4R0phW7j7UoXoM3v8kzLqumWE7xv+ZpTfG5mNcFb29voLB8A8mO/e9jIp0AGCtjChQ8EvnTmxxGILNV5vYK2nxfKPXZd6A+Fmq2NNsxUfqUTw7m57Sg6d5ZQmcOr81Yt/0L7jUI+BFCnuiryFwFKA6bPFZHZ2tt9rtxKVGppczTQqP+eGm09LYjAqwArimMgi1piwZI3XwcLX2/1lq5cOTaQCUzTMu8eqNi+dm17vqiXIobdOJkipwcCwf3WvYv1avyTtvcCMHPbtpAb7bqab5bqg2Wt+kJbAJN9bmYchW9/aVz5/sWLFxd1tgeqM50i2bX3wDlu1jc+6//k1fraWm3JShbLapoAP8/L0ve+3/1wn2VZOqrtdykJWGW0LQWwureWdBL1aDr45cI8V1VdOkJBZ3KuR/23ZUzwK801os+1hlVpt07pA4CMAtR8x6zWO8PnvhQFTN+hZ7ZtZ/FrzgU6Iatb4qNyDnFXoVRa2Y2gV/S2BEW+u9MK6pU8rErESRpC2AAP+N3WKYXZ/s+zIooDFs1sJLybehu4PlvMsuyqYsc/fQQGm1piZblzrOFSdLTmqjG7qY9fhPX5M83hMP7jANM/LfPY9kaPX//0sFF4QyE4u6+D68pom05e6pB1YmcDgkMtVtkZw0G5I2MskmitrDt2F0R+UFI5gt0eeH1/r9xUNbLCa83cKuQNkFxEcnILgqNhSeedopGJ+Pxq4DgLVmml14G56yXFyuOtx1rvHOhlwW4NWVQjcH1+geo5suMBi6Y7DlG7iW4TessGcod++KhwZKS9+uo9X1ZG0zpbPQ6Q1yh8iZBN/f1p2YiqRzTQUwP/ByH3mYpBTz2UAAAAAElFTkSuQmCC)}.luckysheet-wa-editor{height:32px;background:#fafafc;position:relative;padding:5px 0 3px 15px;border-bottom:1px solid #d4d4d4;white-space:nowrap;transition:all .2s}.luckysheet-toolbar-left-theme{width:15px;position:absolute;left:0;top:1px;bottom:1px}.luckysheet-inline-block{position:relative;display:-moz-inline-box;display:inline-block}.luckysheet-toolbar-separator{line-height:normal;list-style:none;outline:0;overflow:hidden;padding:0;text-decoration:none;width:0;height:20px;vertical-align:top;border-left:1px solid #e0e0e0;margin:5px 1px}.luckysheet-toolbar-combo-button{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;background:0;border-color:transparent;border-style:solid;border-width:1px;outline:0;padding:0;color:#333;list-style:none;font-size:11px;font-weight:700;text-decoration:none;cursor:default;height:26px;line-height:26px;vertical-align:inherit;margin:0 1px}.luckysheet-toolbar-combo-button:hover{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.1);-moz-box-shadow:0 1px 1px rgba(0,0,0,.1);box-shadow:0 1px 1px rgba(0,0,0,.1);background-color:#f8f8f8;background-image:-webkit-linear-gradient(to bottom,#f8f8f8,#f1f1f1);background-image:-moz-linear-gradient(to bottom,#f8f8f8,#f1f1f1);background-image:-ms-linear-gradient(to bottom,#f8f8f8,#f1f1f1);background-image:-o-linear-gradient(to bottom,#f8f8f8,#f1f1f1);background-image:linear-gradient(to bottom,#f8f8f8,#f1f1f1);border-color:#c6c6c6!important;color:#222;border-width:1px;border-color:transparent!important;background-color:rgba(0,0,0,.06);background-image:none;cursor:pointer;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;cursor:pointer}.luckysheet-toolbar-combo-button:hover .luckysheet-toolbar-combo-button-input{border-right-color:rgba(0,0,0,.12)}.luckysheet-toolbar-combo-button-open{color:#222;border-width:1px;border-color:transparent!important;background-color:rgba(0,0,0,.12);background-image:none;cursor:pointer}.luckysheet-toolbar-combo-button-open .luckysheet-toolbar-combo-button-input{background:0 0;border-right:1px solid transparent!important}.luckysheet-toolbar-combo-button-inner-box,.luckysheet-toolbar-combo-button-outer-box{border:0;vertical-align:top;margin:0;padding:0}.luckysheet-toolbar-zoom-combobox .luckysheet-toolbar-combo-button-caption{width:36px!important}.luckysheet-toolbar-combo-button-caption{padding:0;margin:0 0 0 -3px}.luckysheet-toolbar-combo-button-input{background:0 0;border:1px solid transparent!important;color:#333;font-family:Arial,sans-serif!important;font-size:11px!important;font-weight:700!important;height:20px!important;overflow:hidden!important;color:rgba(0,0,0,.7);height:22px!important;width:22px}.luckysheet-toolbar-combo-button-input:focus{box-shadow:inset 0 1px 2px rgba(0,0,0,.3);background:#fff;outline:0;border:1px solid #0188fb!important}.luckysheet-toolbar-textinput{-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;border:1px solid #d9d9d9;border-top:1px solid silver;font-size:13px;height:25px;padding:1px 0 1px 8px}.luckysheet-toolbar-combo-button-dropdown{float:right;margin:9px 0 0 0;padding:0 0 0 1px;min-width:7px;opacity:.8;vertical-align:middle;width:5px;height:7px;margin-top:10px}.luckysheet-toolbar-color-menu-button .luckysheet-toolbar-menu-button-caption{top:-2px}.luckysheet-color-menu-button-indicator{position:relative;height:20px}.luckysheet-color-menu-button-indicator .text-color-bar{position:absolute;bottom:0;background-color:#0081f9;height:3px;width:55%;left:30%}.luckysheet-toolbar-button-inner-box .luckysheet-icon,.luckysheet-toolbar-menu-button-caption .luckysheet-color-menu-button-indicator .luckysheet-icon,.luckysheet-toolbar-menu-button-caption .luckysheet-icon{margin-top:0}.luckysheet-toolbar-menu-button-caption{padding:0;margin:0}.luckysheet-toolbar-menu-button-inner-box{margin:0 2px}.luckysheet-toolbar-menu-button-dropdown{float:right;margin:10px 2px 0 3px;padding:0;opacity:.8;vertical-align:middle;width:5px;height:7px;margin-left:4px;margin-right:0;margin-top:10px}.luckysheet-toolbar-button-split-right .luckysheet-toolbar-menu-button-dropdown{padding:0 3px}.luckysheet-toolbar-button-split-left,.luckysheet-toolbar-button-split-left *{border-top-right-radius:0!important;border-bottom-right-radius:0!important;margin-right:0}.luckysheet-toolbar-button-split-right,.luckysheet-toolbar-button-split-right *{border-top-left-radius:0!important;border-bottom-left-radius:0!important;min-width:5px!important;margin-left:0}#luckysheet-icon-merge-menu{margin-right:1px}.luckysheet-toolbar-button,.luckysheet-toolbar-menu-button{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;background:0;border:1px solid transparent;outline:0;padding:0;list-style:none;font-size:11px;text-decoration:none;vertical-align:middle;cursor:default;height:26px;line-height:26px;color:#333}.luckysheet-toolbar-button-hover,.luckysheet-toolbar-button:hover,.luckysheet-toolbar-menu-button:hover{border:1px solid transparent;background-color:rgba(0,0,0,.06);background-image:none;box-shadow:none;cursor:pointer}.luckysheet-toolbar-button-split-right.luckysheet-toolbar-menu-button:hover{border-left-color:rgba(0,0,0,.12)!important}.luckysheet-toolbar-button-split-right-hover{border-width:1px;border-color:transparent!important;background-color:rgba(0,0,0,.06);cursor:pointer;box-shadow:none;border-left-color:rgba(0,0,0,.12)!important}.luckysheet-toolbar-button:active,.luckysheet-toolbar-menu-button:active{border:1px solid transparent;background-color:rgba(0,0,0,.12);background-image:none;box-shadow:none;cursor:pointer}.luckysheet-toolbar-button-outer-box,.luckysheet-toolbar-menu-button-outer-box{border:0;vertical-align:top;margin:0;padding:0}.luckysheet-toolbar-button-inner-box,.luckysheet-toolbar-menu-button-inner-box{padding:0 2px;padding:0;text-align:center;height:26px;min-width:26px}.luckysheet-icon{direction:ltr;text-align:center;overflow:hidden;vertical-align:middle;height:26px;width:26px;margin:2px}#luckysheet-icon-fmt-other .luckysheet-toolbar-menu-button-caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:55px;margin-left:1px;text-align:center}#luckysheet-icon-font-family .luckysheet-toolbar-menu-button-caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:55px;margin-left:1px;text-align:center}#luckysheet-icon-function .luckysheet-toolbar-menu-button-caption{margin-right:5px;margin-left:-5px}#luckysheet-icon-function .luckysheet-icon{margin-right:0}#luckysheet-icon-pivotTable .luckysheet-toolbar-menu-button-caption{color:#0188fb}#luckysheet-icon-chart .luckysheet-toolbar-menu-button-caption{color:#0188fb}.luckysheet-rightgclick-menu-sub .sp-container{background-color:#fff;border:solid 1px #fff}#luckysheet-icon-cell-color-menu-menuButton .sp-palette-container,#luckysheet-icon-text-color-menu-menuButton .sp-palette-container{margin-bottom:-300px}#luckysheet-icon-cell-color-menu-menuButton .sp-palette,#luckysheet-icon-text-color-menu-menuButton .sp-palette{margin-top:-10px}.luckysheet-wa-calculate{height:28px;background:#fff;position:relative;padding-right:44px;border-bottom:1px solid #d4d4d4}.luckysheet-wa-calculate-help{height:100%;width:99px;border-right:1px solid #d4d4d4}.luckysheet-wa-calculate-help-box{height:100%;width:85px;position:absolute;top:0;left:0}#luckysheet-helpbox{left:0;position:absolute;right:0;top:50%;transform:translateY(-50%);resize:none;font-family:arial,sans,sans-serif;font-size:14px;line-height:14px;background-color:#fff;padding:2px 5px}.luckysheet-helpbox-cell-input{width:100%;height:100%;margin:0;outline:0;cursor:text;-webkit-user-modify:read-write-plaintext-only;white-space:nowrap;overflow:hidden;-webkit-transform:translateZ(0);background-color:#fff;word-wrap:break-word;-webkit-nbsp-mode:space;-webkit-line-break:after-white-space}.luckysheet-wa-calculate-help-tool{position:absolute;left:85px;text-align:center;height:100%;width:13px;border-left:1px solid transparent;border-right:1px solid transparent}.luckysheet-wa-calculate-help-tool .fa-caret-down{position:absolute;top:50%;left:3px;transform:translateY(-50%)}.luckysheet-wa-calculate-help-tool:hover{background:#efefef;cursor:pointer;border-left:1px solid #e5e5e5;border-right:1px solid #e5e5e5}.luckysheet-wa-calculate-size{position:absolute;height:3px;width:100%;left:0;bottom:0;z-index:1000}.luckysheet-wa-calculate-size:hover{background:#5e5e5e;cursor:ns-resize}#luckysheet-wa-functionbox-cancel{left:104px}#luckysheet-wa-functionbox-confirm{left:130px}.luckysheet-wa-functionbox{position:absolute;top:50%;transform:translateY(-50%);text-align:center;left:156px;color:#d6d6d6}.luckysheet-wa-functionbox span{vertical-align:middle;width:30px;height:30px}.luckysheet-wa-functionbox i{font-size:24px}.luckysheet-wa-calculate-active{color:#585858;cursor:pointer}.luckysheet-wa-calculate-active:hover{color:#0188fb}.luckysheet-grid-container{width:100%;position:absolute;top:90px;bottom:0}.luckysheet-stat-area{position:absolute;height:23px;bottom:0;background:#ff00dc;width:100%}.luckysheet-sta-c{height:22px;background-color:#fff;border-top:1px solid #e1e1e1;-moz-user-select:-moz-none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.luckysheet-stat-area:hover .luckysheet-sta-c{-moz-user-select:-moz-all;-khtml-user-select:initial;-webkit-user-select:initial;-ms-user-select:initial;user-select:initial}.luckysheet-sta-c .luckysheet-sta-content{height:22px;line-height:22px;text-align:right;white-space:nowrap;overflow:hidden}.luckysheet-sta-c .luckysheet-sta-content span{margin-right:10px}.luckysheet-grid-window{position:absolute;top:0;bottom:23px;left:0;right:0;overflow:hidden;background:#0ff}.luckysheet-sheet-area{width:100%;box-sizing:border-box;position:absolute;right:0;bottom:0;left:0;background-color:#fafafc;color:#444;height:31px;padding:0 0 0 44px;margin:0;-webkit-touch-callout:none;cursor:default;transition:.3s ease all;display:flex;align-items:center;justify-content:space-between}#luckysheet-sheet-content{width:0;flex:3;display:flex;align-items:center}#luckysheet-bottom-pager{width:0;background-color:#fafafc;z-index:1;flex:2;text-align:right;white-space:nowrap}.luckysheet-sheet-area .luckysheet-sheets-item,.luckysheet-sheet-area>div{display:inline-block}div.luckysheet-sheets-scroll{display:none}div.luckysheet-sheets-add:hover,div.luckysheet-sheets-m:hover{color:#2a2a2a}.docs-sheet-fade{position:absolute;display:block;top:0;width:6px;height:100%;z-index:1}.docs-sheet-fade div{background-color:#d7d7d7;width:2px;float:right;position:relative;height:100%}.docs-sheet-fade-left{left:0}.docs-sheet-fade-right{right:0}.docs-sheet-fade1{opacity:.82}.docs-sheet-fade2{opacity:.62}.docs-sheet-fade3{opacity:.4}.luckysheet-sheet-area div.luckysheet-sheet-container{padding:0 0;margin-left:0;position:relative;max-width:70%;vertical-align:bottom;display:inline-block}.luckysheet-sheet-area div.luckysheet-sheet-container div.luckysheet-sheet-container-c{padding:0 0;margin-left:0;overflow:hidden;white-space:nowrap;position:relative;max-width:100%;vertical-align:bottom;display:inline-block}.luckysheet-sheet-container-menu-hide .luckysheet-sheets-item{padding-right:5px!important}.luckysheet-sheet-container-menu-hide .luckysheet-sheets-item-menu{display:none!important}.luckysheet-sheet-area div.luckysheet-sheets-item{padding:2px 6px;height:29px;line-height:29px;background-color:#fafafc;color:#676464;min-width:30px;top:0;position:relative;margin-right:-1px;cursor:pointer;transition:all .1s;font-size:13px;padding:2px 19px 0 5px;box-sizing:border-box;border-left:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;border-right:1px solid #e0e0e0}.luckysheet-sheet-area div.luckysheet-sheets-item:last-child{margin-right:1px}.luckysheet-sheet-area div.luckysheet-sheets-item:hover{background-color:#efefef;color:#490500}.luckysheet-sheet-area div.luckysheet-sheets-item .luckysheet-sheets-item-menu{margin-left:2px;display:inline-block;top:-2px;position:relative;color:#a1a1a1;position:absolute;height:100%;width:15px;right:0;text-align:center}.luckysheet-sheet-area div.luckysheet-sheets-item .luckysheet-sheets-item-menu:hover{color:#2a2a2a;cursor:pointer}.luckysheet-sheet-area div.luckysheet-sheets-item .luckysheet-sheets-item-name{padding:0 3px}.luckysheet-sheet-area div.luckysheet-sheets-item .luckysheet-sheets-item-name[contenteditable=true]{border:1px solid #d9d9d9;display:inline-block;height:18px;line-height:18px;min-width:8px;margin:-4px -1px;-moz-user-modify:read-write-plaintext-only;-webkit-user-modify:read-write-plaintext-only;-moz-user-select:text!important;-ms-user-select:text!important;-webkit-user-select:text!important}.luckysheet-sheet-area div.luckysheet-sheets-item .luckysheet-sheets-item-name[contenteditable=true]:focus{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.3);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.3);box-shadow:inset 0 1px 2px rgba(0,0,0,.3);border:1px solid #4d90fe;outline:0}.luckysheet-sheet-area div.luckysheet-sheets-item-active{height:29px;line-height:29px;background-color:#efefef;border-top-color:#fff;color:#222;cursor:default}.luckysheet-sheet-area div.luckysheet-sheets-item-active:hover{background-color:#ececec;color:#222}.luckysheet-grid-window-1{position:absolute;top:0;right:0;bottom:27px;left:0;min-width:200px;background-color:#fff!important;overflow:hidden;-moz-user-select:-moz-none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.luckysheetTableContent{position:absolute;z-index:2;left:0;top:0;width:100%;height:100%;pointer-events:none;-moz-user-select:-moz-none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.luckysheet-grid-window-2{height:100%;width:100%;outline:0;border-collapse:collapse;display:table}.luckysheet-paneswrapper{overflow:hidden;height:1px}.luckysheet-left-top{width:44.5px;height:18.5px;border:solid 0 #dfdfdf;position:relative;padding-top:0;border-width:0 1px 1px 0;margin:-1px 0 0 -1px;padding-left:0;cursor:pointer}.luckysheet-cols-h-c{color:#5e5e5e;overflow:hidden;padding:0;cursor:default;height:19px;outline-style:none;position:relative;-webkit-user-select:none;background:#f3f3f2}.luckysheet-rows-h{position:relative;outline-style:none;color:#5e5e5e;overflow:hidden;padding:0;margin-top:-2px;padding-top:2px;cursor:default;width:38px;background:#f3f3f2}.luckysheet-cols-menu-btn{color:#5e5e5e;cursor:pointer;position:absolute;z-index:12;border:1px solid #5e5e5e;border-radius:1px;top:3px;margin-left:0;display:none;padding:0 2px;font-size:12px;height:12px;opacity:.5}.luckysheet-cols-menu-btn:hover{opacity:1}.luckysheet-cols-h-hover{color:#5e5e5e;cursor:default;position:absolute;z-index:11;border:0 none;bottom:0;height:100%;margin-left:0;display:none;background-color:rgba(194,194,194,.4)}.luckysheet-cols-h-selected{color:#5e5e5e;cursor:default;position:absolute;z-index:10;border-bottom:1px solid #0188fb;bottom:0;height:100%;margin-left:0;display:none;transition:all .1s;background-color:rgba(76,76,76,.1)}.luckysheet-cols-h-cells{margin:0;padding:0;border:none 0;position:relative;height:inherit}.luckysheet-cols-h-cells-c{color:#5e5e5e;cursor:default;width:5000000px;height:inherit}.luckysheet-cols-h-cells-clip{color:#5e5e5e;cursor:default;margin:0;padding:0;border:none 0;position:relative;float:left;direction:ltr;height:inherit;width:2561px;color:#5e5e5e;border-bottom:solid 1px #bbb;position:relative;top:-1px}.luckysheet-cols-h-cell-nosel{position:absolute;cursor:pointer;border:0 solid;border-color:#dfdfdf;display:inline-block;min-height:19px;touch-action:manipulation;border-right-width:1px;height:inherit}.luckysheet-cols-h-cell-sel{direction:ltr;height:inherit;position:absolute;cursor:pointer;border:0 solid;border-color:#bfbfbf;background-color:#e1e1e1;display:inline-block;min-height:19px;color:#0188fb;font-weight:700;touch-action:manipulation;border-right-width:1px}.luckysheet-col-flow-h{float:left;direction:ltr;position:relative;margin:0;padding:0;border:none 0;height:inherit;overflow:hidden}.luckysheet-col-flow-h-sheet{width:inherit;height:inherit;position:relative;float:left;direction:ltr}body:not(.ewa-ipad) .luckysheet-cols-h-cell-nosel:hover,body:not(.ewa-ipad) .luckysheet-cols-h-cell-sel:hover,body:not(.ewa-ipad) .luckysheet-rows-h-cell-nosel:hover,body:not(.ewa-ipad) .luckysheet-rows-h-cell-sel:hover{background-color:#fcc3c3}.luckysheet-cols-h-cell-txt{cursor:pointer;height:inherit;position:relative;text-align:center;overflow:hidden;touch-action:manipulation;font-size:14px;padding-top:2px}.luckysheet-rows-h{position:relative;outline-style:none;color:#5e5e5e;overflow:hidden;padding:0;margin-top:-2px;padding-top:2px;cursor:default;width:45px}.luckysheet-rows-h-hover{position:absolute;z-index:11;border:0 none;right:0;width:100%;margin-top:2px;display:none;background-color:rgba(194,194,194,.4)}.luckysheet-rows-h-selected{position:absolute;z-index:10;border-right:1px solid #0188fb;right:0;width:100%;margin-top:2px;display:none;transition:all .1s;background-color:rgba(76,76,76,.1)}.luckysheet-rows-h-cells{margin:0;padding:0;border:none 0;position:relative;width:100%}.luckysheet-rows-h-cells-c{margin:0;padding:0;border:none 0;position:relative;float:left;direction:ltr;width:100%}.luckysheet-rows-h-cells-clip{cursor:default;color:#5e5e5e;direction:ltr;border-right:solid 1px #bbb;width:inherit;height:inherit;position:relative;left:-1px;height:inherit}.luckysheet-rows-h-cell-nosel{direction:ltr;width:100%;position:absolute;cursor:pointer;border:0 solid;border-color:#dfdfdf;border-bottom-width:1px;touch-action:manipulation}.luckysheet-rows-h-cell-sel{direction:ltr;width:100%;position:absolute;cursor:pointer;border:0 solid;border-color:#bfbfbf;background-color:#e1e1e1;border-bottom-width:1px;color:#0188fb;font-weight:700;touch-action:manipulation}.luckysheet-rows-h-cell-txt{width:100%;position:absolute;bottom:0;text-align:center;padding-bottom:1px;max-height:100%;overflow:hidden;font-size:14px}.luckysheet-cell-loading{width:100%;height:100%;background-color:rgba(255,255,255,.3);position:absolute;overflow:hidden;outline-style:none;cursor:not-allowed;font-size:28px;z-index:2;display:none}.luckysheet-cell-loading-inner{position:relative;top:40%;width:100%;margin:0 auto;text-align:center}.luckysheet-cell-loading-inner span{margin-left:10px}.luckysheet-cell-main{background-color:#fff;width:15px;height:15px;background-color:#f3f3f2;border-collapse:collapse;position:relative;overflow:hidden;outline-style:none;cursor:default}.luckysheet-menu,.luckysheet-scrollbars{scrollbar-base-color:#fff;scrollbar-track-color:#e7e7e7;scrollbar-darkshadow-color:#fff;scrollbar-3dlight-color:#fff;scrollbar-arrow-color:#757778;scrollbar-shadow-color:#bec1c4;scrollbar-highlight-color:#bec1c4;-ms-scroll-chaining:none;overflow:auto}.luckysheet-scrollbar-ltr{position:absolute;overflow:hidden;z-index:1003}.luckysheet-scrollbar-ltr div{height:1px;width:1px}.luckysheet-scrollbar-ltr::-webkit-scrollbar-button{height:0;width:0}.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:start{display:none}.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:end{display:block}.luckysheet-scrollbar-ltr::-webkit-scrollbar-button{border:1px solid #d9d9d9}.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:horizontal{border-width:1px 0 0 0}.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:vertical{border-width:0 0 0 1px}.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:vertical{border-width:0 1px 0 0}.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:horizontal:increment{background:no-repeat url(waffle_sprite.png) -663px -13px;width:15px;padding-left:1px;background-clip:border-box;border:1px solid #d9d9d9;border-width:1px 0 0 0;box-shadow:none;background-color:#f8f8f8;border-bottom:1px solid #d9d9d9}.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:horizontal:increment:hover{background:no-repeat url(waffle_sprite.png) -395px -62px}.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:horizontal:increment:active{background:no-repeat url(waffle_sprite.png) -679px -13px}.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:horizontal:decrement{border-left:1px solid #d9d9d9;border-right:1px solid #d9d9d9;background:no-repeat url(waffle_sprite.png) -283px -62px;width:17px;border-bottom:1px solid #d9d9d9}.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:horizontal:hover{background:no-repeat url(waffle_sprite.png) -145px -70px}.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:horizontal:active{background:no-repeat url(waffle_sprite.png) -552px 0}.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:vertical:increment{padding-top:1px;background:no-repeat url(waffle_sprite.png) -531px -24px;border-left:1px solid #d9d9d9;height:15px}.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:vertical:increment:hover{background:no-repeat url(waffle_sprite.png) -570px -42px}.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:vertical:increment:active{background:no-repeat url(waffle_sprite.png) -83px -46px}.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:vertical:decrement{border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;border-left:1px solid #d9d9d9;background:no-repeat url(waffle_sprite.png) -631px -27px;height:17px}.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:vertical:decrement:hover{background:no-repeat url(waffle_sprite.png) -180px -58px}.luckysheet-scrollbar-ltr::-webkit-scrollbar-button:vertical:decrement:active{background:no-repeat url(waffle_sprite.png) -776px -28px}.luckysheet-scrollbar-x{bottom:0;left:44px;overflow-x:scroll}.luckysheet-scrollbar-y{right:0;top:0;overflow-y:scroll}.luckysheet-cell-flow{margin:0;padding:0;border:none 0;position:relative;touch-action:manipulation;overflow:hidden}.luckysheet-cell-flow-clip{border-collapse:collapse;cursor:default;width:5000000px;touch-action:manipulation;overflow:hidden}.luckysheet-cell-flow-col{margin:0;padding:0;border:none 0;position:relative;touch-action:manipulation;overflow:hidden;float:left;direction:ltr}.luckysheet-cell-sheettable{position:relative;text-align:left;font-size:11pt;color:#000;text-decoration:none}.luckysheet-bottom-controll-row{position:absolute;height:30px;bottom:38px;left:0;z-index:1000}#luckysheet-bottom-add-row{padding:5px 20px;margin-right:5px;margin-top:-2px}#luckysheet-bottom-add-row-input{width:40px;min-width:40px}#luckysheet-bottom-return-top{padding:5px 6px;margin-left:10px;margin-top:-2px}.luckysheet-cell-flow-column{position:absolute;height:inherit;width:inherit;top:0;left:0;z-index:1;touch-action:manipulation}.luckysheet-cell-flow-column-line{position:absolute;border-right:1px solid #d4d4d4;height:inherit}.luckysheet-cell-flow-row{text-align:left;position:absolute;height:inherit;width:inherit;top:0;left:0;z-index:1;touch-action:manipulation}.luckysheet-cell-flow-row-line{position:absolute;border-bottom:1px solid #d4d4d4;width:inherit}.luckysheet-cell-selected-focus{position:absolute;pointer-events:none;z-index:14;margin:0;background:rgba(0,80,208,.15);display:none}.luckysheet-selection-copy{position:absolute;pointer-events:none;z-index:18;border:none;margin:0;display:none}.luckysheet-selection-copy .luckysheet-copy{position:absolute;z-index:18;background-color:transparent}.luckysheet-selection-copy-top{left:0;right:0;height:2px;top:0;background-position:bottom;background-image:url(EwaAntH.gif)}.luckysheet-selection-copy-right{top:0;bottom:0;width:2px;right:0;background-image:url(EwaAntV.gif)}.luckysheet-selection-copy-bottom{left:0;right:0;height:2px;bottom:0;background-image:url(EwaAntH.gif)}.luckysheet-selection-copy-left{top:0;bottom:0;width:2px;left:0;background-position:right;background-image:url(EwaAntV.gif)}.luckysheet-selection-copy-hc{position:absolute;top:0;right:0;bottom:0;left:0;border:2px dashed #12a5ff;z-index:8}.luckysheet-selection-highlight{position:absolute;z-index:14;border:none;margin:0;display:none}.luckysheet-formula-functionrange-highlight .luckysheet-copy{background-image:none;background:#0188fb;position:absolute;z-index:18;cursor:move;opacity:.9}.luckysheet-formula-functionrange-highlight .luckysheet-selection-copy-top{top:-2px;border-top:2px solid #fff;border-bottom:2px solid #fff}.luckysheet-formula-functionrange-highlight .luckysheet-selection-copy-right{right:-2px;border-left:2px solid #fff;border-right:2px solid #fff}.luckysheet-formula-functionrange-highlight .luckysheet-selection-copy-bottom{bottom:-2px;border-top:2px solid #fff;border-bottom:2px solid #fff}.luckysheet-formula-functionrange-highlight .luckysheet-selection-copy-left{left:-2px;border-left:2px solid #fff;border-right:2px solid #fff}.luckysheet-formula-functionrange-highlight .luckysheet-selection-copy-hc{border:2px solid #5e5e5e;opacity:.03;z-index:initial}.luckysheet-selection-highlight-topleft{left:-3px;top:-3px;cursor:se-resize}.luckysheet-selection-highlight-topright{right:-3px;top:-3px;cursor:ne-resize}.luckysheet-selection-highlight-bottomleft{left:-3px;bottom:-3px;cursor:ne-resize}.luckysheet-selection-highlight-bottomright{right:-3px;bottom:-3px;cursor:se-resize}.luckysheet-formula-functionrange-highlight .luckysheet-highlight{position:absolute;z-index:19;border:1px solid #fff;background:#0188fb;width:6px;height:6px}.luckysheet-cell-selected-extend{position:absolute;pointer-events:none;z-index:16;border:1px dashed #0188fb;margin:-1px 0 0 -1px;display:none}.luckysheet-cell-selected-move{position:absolute;pointer-events:none;z-index:16;border:2px solid #0188fb;margin:-1px 0 0 -1px;display:none}.luckysheet-cell-selected{position:absolute;pointer-events:none;z-index:15;border:1px solid #0188fb;margin:-1px 0 0 -1px;background:rgba(1,136,251,.15);display:none}.luckysheet-cs-inner-border{pointer-events:none;border:1px solid #fff;position:absolute;top:0;bottom:0;left:0;right:0}.luckysheet-cs-fillhandle{position:absolute;width:6px;height:6px;bottom:-5px;cursor:crosshair;background-color:#0188fb;border:solid 1px #fff;z-index:16;pointer-events:auto;right:-5px}.luckysheet-cs-draghandle{position:absolute;cursor:move;background-color:#fff;opacity:.01;z-index:15;pointer-events:auto;border:2px solid #fff}.luckysheet-cs-draghandle-top{top:-4px;left:-2px;right:-2px;height:2px}.luckysheet-cs-draghandle-bottom{right:0;left:-2px;bottom:-4px;height:2px}.luckysheet-cs-draghandle-left{top:0;left:-4px;bottom:0;width:2px}.luckysheet-cs-draghandle-right{top:0;right:-4px;bottom:0;width:2px}.luckysheet-cs-touchhandle{display:none;position:absolute;width:16px;height:16px;padding:5px;z-index:100;pointer-events:auto;touch-action:auto}.luckysheet-cs-touchhandle:before{content:"";display:block;width:16px;height:16px;border:.5px solid rgba(0,0,0,.15);background-color:#fff;box-sizing:border-box;border-radius:50%}.luckysheet-cs-touchhandle-lt{left:-13px;top:-13px}.luckysheet-cs-touchhandle-lb{left:-13px;bottom:-13px}.luckysheet-cs-touchhandle-rt{right:-13px;top:-13px}.luckysheet-cs-touchhandle-rb{right:-13px;bottom:-13px}.luckysheet-cs-touchhandle .luckysheet-cs-touchhandle-btn{position:absolute;width:10px;height:10px;left:8px;top:8px;background-color:#018ffb;background-position:center;box-sizing:border-box;border-radius:50%;z-index:11}#luckysheet-dynamicArray-hightShow{position:absolute;pointer-events:none;z-index:15;border:1px solid #00f;margin:-1px 0 0 -1px;display:none}.luckysheet-scrollbars::-webkit-scrollbar-track{background-color:#fff;border:1px solid #d9d9d9}.luckysheet-scrollbar-x::-webkit-scrollbar-track{border-left:1px solid #d9d9d9;border-right:none}.luckysheet-scrollbar-y::-webkit-scrollbar-track{border-top:none;border-bottom:none}.luckysheet-scrollbars::-webkit-scrollbar{width:12px;height:12px;background-color:#fff}.luckysheet-scrollbars::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2);background-clip:padding-box;border:solid transparent;border-radius:12px;border-width:2px 1px 1px 2px;box-shadow:inset 1px 1px 0 rgba(0,0,0,.1),inset 0 -1px 0 rgba(0,0,0,.07)}.luckysheet-scrollbars::-webkit-scrollbar-thumb:hover{background-color:#969696;border:1px solid #a0a0a0;border-radius:12px}.luckysheet-grdusedrange{position:absolute;visibility:hidden;width:1px;height:1px}.luckysheet-grdblkflowpush{margin:0;padding:0;border:none 0;width:1px}.luckysheet-grdblkpush{margin:0;padding:0;border:none 0;height:1px;float:left;direction:ltr}.luckysheet-cell-flow-data{position:absolute;height:inherit;width:inherit;top:0;left:0;z-index:1}.luckysheet-cell-flow-data-row{position:absolute;width:inherit}.luckysheet-cell-flow-data-cell{position:absolute;height:inherit}.luckysheet-cell-flow-data-value{position:absolute!important;bottom:0;letter-spacing:-.02em;white-space:nowrap;padding-left:2px;overflow:hidden}.luckysheet canvas{position:absolute}.luckysheetcolumeHeader{margin-left:-1px}.luckysheetrowHeader{margin-top:1px}.luckysheetsheettable{margin-left:-1px;margin-top:-1px}.luckysheet-cols-menu{max-height:100%;overflow-y:auto;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.2);-moz-box-shadow:0 2px 4px rgba(0,0,0,.2);box-shadow:0 2px 4px rgba(0,0,0,.2);-webkit-transition:opacity 218ms;-moz-transition:opacity 218ms;-o-transition:opacity 218ms;transition:opacity 218ms;background:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);cursor:default;font-size:13px;margin:0;outline:0;padding:6px 0;position:absolute;z-index:1004;box-sizing:border-box;user-select:none;display:none}.luckysheet-cols-menu .luckysheet-cols-menuitem{position:relative;color:#333;cursor:pointer;list-style:none;margin:0;padding:1px 6em 1px 20px;white-space:nowrap;padding-left:8px;vertical-align:middle;padding-right:24px;user-select:none}.luckysheet-cols-menu .luckysheet-cols-menuitem-hover,.luckysheet-cols-menu .luckysheet-cols-menuitem:hover{background:#efefef}.luckysheet-cols-menu .luckysheet-cols-menuitem .luckysheet-cols-menuitem-content{position:relative;color:#333;cursor:pointer;list-style:none;margin:0;padding:6px 7em 6px 30px;white-space:nowrap;user-select:none}.luckysheet-rightgclick-menu .luckysheet-cols-menuitem .luckysheet-cols-menuitem-content{position:relative;color:#333;cursor:pointer;list-style:none;margin:0;padding:6px 15px 6px 20px;white-space:nowrap;user-select:none}#luckysheet-cols-menu .luckysheet-cols-menuitem,#luckysheet-pivotTable-config-option .luckysheet-cols-menuitem,.luckysheet-filter-menu .luckysheet-cols-menuitem{padding-right:10px;padding-left:12px}#luckysheet-pivotTable-config-option-sumtype .luckysheet-cols-menuitem{padding-right:15px;padding-left:12px;padding-top:1px;padding-bottom:1px}#luckysheet-cols-menu .luckysheet-cols-menuitem-content,.luckysheet-filter-menu .luckysheet-cols-menuitem .luckysheet-cols-menuitem-content{padding-right:10px;padding-left:12px}#luckysheet-sheet-list .luckysheet-cols-menuitem .luckysheet-cols-menuitem-content{padding-right:0;max-width:430px;min-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.luckysheet-filter-menu div.luckysheet-cols-menuitem{padding-top:0;padding-bottom:0}.luckysheet-filter-submenu div.luckysheet-cols-menuitem{padding-top:1px;padding-bottom:1px}.luckysheet-filter-menu .luckysheet-filter-byvalue .luckysheet-cols-menuitem,.luckysheet-filter-menu .luckysheet-pivotTableFilter-byvalue .luckysheet-cols-menuitem{padding-top:2px;padding-bottom:0;cursor:default}.luckysheet-filter-menu .luckysheet-filter-byvalue .luckysheet-cols-menuitem-content,.luckysheet-filter-menu .luckysheet-pivotTableFilter-byvalue .luckysheet-cols-menuitem-content{padding-top:2px;padding-bottom:0;cursor:default}.luckysheet-filter-menu .luckysheet-filter-byvalue .luckysheet-cols-menuitem-content input,.luckysheet-filter-menu .luckysheet-pivotTableFilter-byvalue .luckysheet-cols-menuitem-content input{height:24px;width:191px;padding-right:25px;padding-left:3px;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;border:1px solid #d9d9d9;border-top:1px solid silver;font-size:13px}.luckysheet-filter-menu .luckysheet-filter-byvalue .luckysheet-cols-menuitem-content input:focus,.luckysheet-filter-menu .luckysheet-pivotTableFilter-byvalue .luckysheet-cols-menuitem-content input:focus{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.3);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.3);box-shadow:inset 0 1px 2px rgba(0,0,0,.3);border:1px solid #4d90fe;outline:0}.luckysheet-filter-menu .luckysheet-filter-byvalue .luckysheet-cols-menuitem-content .luckysheet-filter-byvalue-input-icon,.luckysheet-filter-menu .luckysheet-pivotTableFilter-byvalue .luckysheet-cols-menuitem-content .luckysheet-pivotTableFilter-byvalue-input-icon{position:absolute;right:17px;top:7px}.luckysheet-filter-menu .luckysheet-filter-byvalue .luckysheet-cols-menuitem:hover,.luckysheet-filter-menu .luckysheet-pivotTableFilter-byvalue .luckysheet-cols-menuitem:hover{background:#fff}.luckysheet-filter-menu .luckysheet-cols-menuitem:last-child:hover{background:#fff}.luckysheet-filter-menu .luckysheet-cols-menuitem:last-child,.luckysheet-filter-menu .luckysheet-cols-menuitem:last-child .luckysheet-cols-menuitem-content{cursor:default}#luckysheet-filter-byvalue-select,#luckysheet-pivotTableFilter-byvalue-select{min-height:100px;width:200px}.luckysheet-filter-menu .luckysheet-mousedown-filter-byvalue-btn span,.luckysheet-filter-menu .luckysheet-mousedown-pivotTableFilter-byvalue-btn span{color:#00f;cursor:pointer;text-decoration:underline}.luckysheet-filter-menu .luckysheet-mousedown-filter-byvalue-btn div,.luckysheet-filter-menu .luckysheet-mousedown-pivotTableFilter-byvalue-btn div{position:absolute;right:14px;top:0;font-size:18px}.luckysheet-filter-menu .luckysheet-filter-bycondition .luckysheet-filter-selected-input,.luckysheet-filter-menu .luckysheet-pivotTableFilter-bycondition .luckysheet-pivotTableFilter-selected-input{padding-left:8px;padding-right:8px;margin-top:3px;display:none}.luckysheet-filter-menu .luckysheet-filter-bycondition .luckysheet-filter-selected-input input,.luckysheet-filter-menu .luckysheet-pivotTableFilter-bycondition .luckysheet-pivotTableFilter-selected-input input{height:24px;width:100%;padding-right:3px;padding-left:3px;margin-left:-3px;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;border:1px solid #d9d9d9;border-top:1px solid silver;font-size:13px}.luckysheet-filter-menu .luckysheet-filter-bycondition .luckysheet-filter-selected-input2 input,.luckysheet-filter-menu .luckysheet-pivotTableFilter-bycondition .luckysheet-pivotTableFilter-selected-input2 input{height:24px;width:92px;padding-right:3px;padding-left:3px;margin-left:-3px;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;border:1px solid #d9d9d9;border-top:1px solid silver;font-size:13px}.luckysheet-filter-menu .luckysheet-filter-bycondition .luckysheet-filter-selected-input2 span,.luckysheet-filter-menu .luckysheet-pivotTableFilter-bycondition .luckysheet-pivotTableFilter-selected-input2 span{margin-left:2px;margin-right:5px}.luckysheet-menuseparator{border-top:1px solid #ebebeb;margin-top:6px;margin-bottom:6px}.luckysheet-submenu-arrow{-webkit-transition:all 218ms;-moz-transition:all 218ms;-o-transition:all 218ms;transition:all 218ms;font-size:12px;left:auto;right:-15px;padding-top:1px;padding-right:0;position:absolute;text-align:right;opacity:.5;color:#000;user-select:none;font-family:Arial;line-height:100%}#luckysheet-pivotTable-config-option-sumtype .luckysheet-submenu-arrow{right:-5px;font-size:16px;padding-top:0;color:#00f}#luckysheet-filter-byvalue-select table,#luckysheet-pivotTableFilter-byvalue-select table{table-layout:fixed}#luckysheet-filter-byvalue-select tr td,#luckysheet-pivotTableFilter-byvalue-select tr td{padding:2px 3px}#luckysheet-filter-byvalue-select tr:hover td,#luckysheet-pivotTableFilter-byvalue-select tr:hover td{background:#e1e1e1}.luckysheet-cols-menu .cf:after,.luckysheet-cols-menu .cf:before{content:"";display:table}.luckysheet-cols-menu .cf:after{clear:both}#luckysheet-filter-byvalue-select .yearBox .monthList,#luckysheet-pivotTableFilter-byvalue-select .yearBox .monthList{padding-left:20px}#luckysheet-filter-byvalue-select .yearBox .dayList,#luckysheet-pivotTableFilter-byvalue-select .yearBox .dayList{padding-left:20px}#luckysheet-filter-byvalue-select .yearBox .fa-caret-right,#luckysheet-pivotTableFilter-byvalue-select .yearBox .fa-caret-right{padding:0 2px;float:left;margin-top:3px;cursor:pointer}#luckysheet-filter-byvalue-select .count,#luckysheet-pivotTableFilter-byvalue-select .count{color:gray;margin-left:5px}#luckysheet-filter-byvalue-select input[type=checkbox],#luckysheet-pivotTableFilter-byvalue-select input[type=checkbox]{width:auto;height:auto;float:left}#luckysheet-filter-orderby-color-submenu{font-size:12px}#luckysheet-filter-orderby-color-submenu .title{padding:10px;font-weight:600;color:#333;background-color:#f4f4f4;text-align:center}#luckysheet-filter-orderby-color-submenu .item{padding:5px 40px 5px 20px;cursor:pointer;position:relative}#luckysheet-filter-orderby-color-submenu .item:hover{background-color:#d3d3d3}#luckysheet-filter-orderby-color-submenu .item label{display:block;width:70px;height:20px;border:1px solid #d1d1d1}#luckysheet-filter-orderby-color-submenu .item input[type=checkbox]{position:absolute;right:10px;top:6px}#luckysheet-copy-content{position:fixed;height:0;width:0;left:-100px;padding-left:999999px}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:4px 8px;font-size:14px;line-height:1.42857143;border-radius:2px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#2d7ff9;border-color:transparent}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:transparent}.btn-primary:hover{color:#fff;background-color:#5391ff;border-color:transparent}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#5391ff}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:transparent}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:transparent}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-primary,.label-default,.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{background:#0188fb;border-color:transparent}.btn-primary:focus,.btn-primary:hover{background:#5391ff;border-color:transparent}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.luckysheet-change-size-line,.luckysheet-cols-change-size,.luckysheet-rows-change-size{position:absolute;z-index:12}.luckysheet-cols-change-size{width:5px;height:100%;background:#0188fb;cursor:ew-resize;opacity:0}.luckysheet-rows-change-size{width:100%;height:5px;background:#0188fb;cursor:ns-resize;opacity:0}.luckysheet-change-size-line{border-color:#0188fb;border-style:solid;z-index:15;display:none}.luckysheet-count-show{position:absolute;z-index:15;background:rgba(76,76,76,.8);color:#fff;padding:2px 3px;border-radius:3px;transition:all .3s;display:none;white-space:nowrap}.luckysheet-row-count-show{text-align:center}.luckysheet-row-count-show div{writing-mode:vertical-rl;writing-mode:vertical-rl;-ms-writing-mode:initial}.luckysheet-row-count-show div:last-child{writing-mode:initial}#luckysheet-sheet-list{max-height:60%;overflow:auto}#luckysheet-sheet-list .luckysheet-cols-menuitem{padding-left:0;padding-right:10px}#luckysheet-sheet-list .luckysheet-cols-menuitem .luckysheet-cols-menuitem-content{padding-left:5px}#luckysheet-sheet-list .icon{width:15px;margin-left:4px;display:inline-block}.luckysheet-input-box{position:absolute;font:normal normal 400 13px arial,sans,sans-serif;text-align:left;top:-10000px;max-height:9900px;max-width:9900px;border:2px #5292f7 solid;padding:0 2px;margin:0;z-index:15;resize:none;overflow:auto;overflow:initial;white-space:pre-wrap;outline:0;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.4);-moz-box-shadow:0 2px 5px rgba(0,0,0,.4);box-shadow:0 2px 5px rgba(0,0,0,.4);word-wrap:break-word}.luckysheet-cell-input{width:100%;height:100%;margin:0;outline:0;cursor:text;-webkit-user-modify:read-write-plaintext-only;white-space:pre-wrap;-webkit-transform:translateZ(0)}#luckysheet-rich-text-editor{-webkit-user-modify:read-write}.luckysheet-input-box-index{display:none;position:absolute;height:14px;line-height:16px;font-size:12px;padding:1px 6px;background-color:#5292f7;border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.5);color:#fff}.luckysheet-modal-dialog{-webkit-box-shadow:0 4px 16px rgba(0,0,0,.2);-moz-box-shadow:0 4px 16px rgba(0,0,0,.2);box-shadow:0 4px 16px rgba(0,0,0,.2);background:#fff;background-clip:padding-box;border:1px solid #acacac;border:1px solid rgba(0,0,0,.333);outline:0;position:absolute;color:#000;padding:30px 42px;z-index:100002}.luckysheet-modal-dialog-mask{position:absolute;height:100%;width:100%;background:#fff;opacity:.6;display:none;left:0;top:0;z-index:1010}.luckysheet-modal-dialog-title{background-color:#fff;color:#000;cursor:default;font-size:16px;font-weight:400;line-height:24px;margin:0 0 16px}.luckysheet-modal-dialog-title-close{height:11px;opacity:.7;padding:17px;position:absolute;right:0;top:0;width:11px;color:#d4d4d4;outline:0}.luckysheet-modal-dialog-chart{padding:20px 10px;webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.luckysheet-modal-dialog-resize{position:absolute;border:2px solid #0188fb;margin:0;padding:0;top:-2px;left:-2px;bottom:-2px;right:-2px;pointer-events:none}.luckysheet-modal-dialog-resize-item{position:absolute;height:6px;width:6px;background:#fff;border:2px solid #0188fb;pointer-events:all;border-radius:6px}.luckysheet-modal-dialog-resize-item-lt{left:-6px;top:-6px;cursor:se-resize}.luckysheet-modal-dialog-resize-item-mt{left:50%;top:-6px;margin-left:-4px;cursor:s-resize}.luckysheet-modal-dialog-resize-item-rt{right:-6px;top:-6px;cursor:ne-resize}.luckysheet-modal-dialog-resize-item-lm{top:50%;left:-6px;margin-top:-4px;cursor:w-resize}.luckysheet-modal-dialog-resize-item-rm{top:50%;right:-6px;margin-top:-4px;cursor:w-resize}.luckysheet-modal-dialog-resize-item-lb{left:-6px;bottom:-6px;cursor:ne-resize}.luckysheet-modal-dialog-resize-item-mb{left:50%;bottom:-6px;margin-left:-4px;cursor:s-resize}.luckysheet-modal-dialog-resize-item-rb{right:-6px;bottom:-6px;cursor:se-resize}.luckysheet-modal-dialog-controll{position:absolute;margin:0;padding:0;right:-35px;font-size:14px;top:0}.luckysheet-modal-controll-btn{height:13px;padding:8px;width:13px;color:#d4d4d4;outline:0;border:1px solid #b6b6b6;display:block;background:#fff;margin-bottom:3px;cursor:pointer;transition:all .2s;-moz-transition:all .2s;-webkit-transition:all .2s;-o-transition:all .2s}.luckysheet-modal-controll-btn:hover{border:1px solid #a1a1a1;color:#0188fb}.luckysheet-modal-controll-btn:active{border:1px solid #bbb;background:#efefef;color:#0188fb}.luckysheet-modal-controll-del{font-size:16px}.luckysheet-modal-controll-max-close{font-size:22px;width:42px;height:42px;line-height:42px;background:#383838;opacity:.7;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;color:#fff;position:absolute;right:0;top:0;z-index:100000;text-align:center}.luckysheet-modal-controll-max-close:hover{background:#0188fb;cursor:pointer}.luckysheet-sort-item-close{margin-right:3px;font-size:14px;color:#bbb;cursor:pointer}.luckysheet-sort-item-close:hover{color:#494949}.luckysheet-modal-dialog-title-close:hover{color:#5e5e5e;cursor:pointer}.luckysheet-modal-dialog-content{background-color:#fff;line-height:1.4em;word-wrap:break-word}.luckysheet-modal-dialog-buttons{margin-top:10px}.luckysheet-modal-dialog-buttons button{margin-right:10px}.luckysheet-modal-dialog-title-text span{font-family:Arial}.luckysheet-sort-modal{font-size:12px}.luckysheet-sort-modal label input,.luckysheet-sort-modal label span{vertical-align:middle}.luckysheet-sort-modal table,.luckysheet-sort-modal>div{margin-bottom:10px}.luckysheet-sort-modal table tr{margin-bottom:10px}.luckysheet-sort-modal table tr td{padding:5px;white-space:nowrap;border-top:1px solid #ffc6c6}.luckysheet-sort-modal table tr td>div:first-child{margin-bottom:8px}.luckysheet-sort-modal table tr td select{max-width:180px;min-width:50px}.luckysheet-sort-modal table tr:first-child td{border-top:none}.luckysheet-filter-options{color:#897bff;cursor:pointer;position:absolute;z-index:20;border:1px solid #897bff;border-radius:3px;top:3px;margin-left:0;display:none;padding:0 4px;font-size:12px;height:15px;background:#fff}.luckysheet-filter-options:hover{color:#fff;border:1px solid #fff;background:#897bff}.luckysheet-filter-options-active{color:#fff;border:1px solid #897bff;background:#897bff}.luckysheet-flat-menu-button{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background-color:#f5f5f5;background-image:-webkit-linear-gradient(to bottom,#f5f5f5,#f1f1f1);background-image:-moz-linear-gradient(to bottom,#f5f5f5,#f1f1f1);background-image:-ms-linear-gradient(to bottom,#f5f5f5,#f1f1f1);background-image:-o-linear-gradient(to bottom,#f5f5f5,#f1f1f1);background-image:linear-gradient(to bottom,#f5f5f5,#f1f1f1);border:1px solid #dcdcdc;color:#333;cursor:default;font-size:11px;font-weight:700;line-height:27px;list-style:none;margin:0 2px;min-width:46px;outline:0;padding:0 18px 0 6px;text-align:left;text-decoration:none;position:relative;padding-left:15px}.luckysheet-flat-menu-button:hover{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background-color:#f5f5f5;background-image:-webkit-linear-gradient(to bottom,#f1f1f1,#f5f5f5);background-image:-moz-linear-gradient(to bottom,#f1f1f1,#f5f5f5);background-image:-ms-linear-gradient(to bottom,#f1f1f1,#f5f5f5);background-image:-o-linear-gradient(to bottom,#f1f1f1,#f5f5f5);background-image:linear-gradient(to bottom,#f1f1f1,#f5f5f5);border:1px solid #d0d0d0;color:#000}.luckysheet-flat-menu-button div{display:inline-block;vertical-align:middle;position:absolute;right:15px}.luckysheet-data-visualization{width:60%;min-width:860px}.luckysheet-data-pivotTable-selection,.luckysheet-data-visualization-selection{width:30%;min-width:200px;display:none}.luckysheet-data-visualization-chart{width:50%;height:50%}.luckysheet-data-visualization-chart .luckysheet-modal-dialog-content{width:100%;height:100%;overflow:hidden}.luckysheet-datavisual-modal{font-size:12px;height:100%;width:100%}.luckysheet-datavisual-left{display:inline-block;width:100%;height:100%;position:relative;overflow:hidden}.luckysheet-datavisual-tabs{border-bottom:1px solid #dedede;width:80%;height:26px;padding-left:20px}.luckysheet-datavisual-tabs .luckysheet-datavisual-tab{padding:0 5px;text-align:center;display:inline-block;cursor:pointer;border:1px solid #fff;border-bottom:none;height:24px;line-height:24px;background:#fff;color:#777}.luckysheet-datavisual-tabs .luckysheet-datavisual-tab:hover{color:#000}.luckysheet-datavisual-tabs .luckysheet-datavisual-tab-active{border:1px solid #dedede;border-bottom:none;cursor:default;height:26px;color:#000}.luckysheet-datavisual-tab-content{position:absolute;top:28px;bottom:0;width:100%;display:none}.luckysheet-datavisual-quick-menu{width:90px;overflow:auto;margin-top:5px}.luckysheet-datavisual-quick-menu::-webkit-scrollbar{display:none}.luckysheet-datavisual-quick-menu>div{text-align:left;padding:4px 4px;border-right:3px solid #fff;color:#777;cursor:pointer;line-height:1.4em;word-wrap:break-word}.luckysheet-datavisual-quick-menu>div:hover{color:#000}.luckysheet-datavisual-quick-menu>div i{width:15px}.luckysheet-datavisual-quick-menu>div:hover i{color:#ff7e7e}.luckysheet-datavisual-quick-menu>div.luckysheet-datavisual-quick-menu-active{border-right:3px solid #ff7e7e;color:#000;font-weight:700}.luckysheet-datavisual-quick-menu>div.luckysheet-datavisual-quick-menu-active:hover i{color:#000}.luckysheet-datavisual-quick-range{padding:5px 0}.luckysheet-datavisual-range-container{background:#fff;border:1px solid #d9d9d9;border-top:1px solid silver;min-width:20px;width:100%;max-width:200px;display:inline-block}.luckysheet-datavisual-range-container-focus{border:1px solid #4d90fe;box-shadow:inset 0 1px 2px rgba(0,0,0,.3);outline:0}.luckysheet-datavisual-range-input,.luckysheet-datavisual-range-input:focus{background:0 0!important;border:none!important;box-sizing:border-box;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;height:25px;margin:0;outline:0!important;padding:1px 8px!important;width:100%}.luckysheet-datavisual-range-button-container{overflow:hidden;padding:0 0 0 8px;text-align:right;width:21px}.luckysheet-datavisual-range-button-container div{padding:2px 10px 0 10px;font-size:18px;cursor:pointer;color:#6598f3}.luckysheet-datavisual-range-button-container div:hover{color:#ff7e7e}.luckysheet-datavisual-quick-m{margin-top:5px}.luckysheet-datavisual-quick-list{left:90px;right:0;bottom:0;top:110px;position:absolute;overflow:auto;border-top:1px solid #e5e5e5;padding:5px 3px 35px 3px}.luckysheet-datavisual-quick-list-title{padding:4px 6px;background:#e5e5e5;margin-top:10px}.luckysheet-datavisual-quick-list-ul{overflow:hidden}.luckysheet-datavisual-quick-list-item{display:inline-block;margin:5px 8px;border:1px solid #dadada;width:100px;height:80px}.luckysheet-datavisual-quick-list-item:hover{border:1px solid #ff7e7e;box-shadow:0 0 20px #ff7e7e}.luckysheet-datavisual-quick-list-item img{display:inline-block;width:100px;height:80px}.luckysheet-datavisual-quick-list-item-active{border:1px solid #6598f3;box-shadow:0 0 20px #6598f3}.jfk-tooltip{z-index:300000}.jfk-tooltip-hide{-webkit-transition:visibility .13s,opacity .13s ease-out,left 0 linear .13s,top 0 linear .13s;-moz-transition:visibility .13s,opacity .13s ease-out,left 0 linear .13s,top 0 linear .13s;-o-transition:visibility .13s,opacity .13s ease-out,left 0 linear .13s,top 0 linear .13s;transition:visibility .13s,opacity .13s ease-out,left 0 linear .13s,top 0 linear .13s;opacity:0;left:20px!important;top:20px!important;visibility:hidden!important}.jfk-tooltip{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-transition:visibility 0,opacity .13s ease-in;-moz-transition:visibility 0,opacity .13s ease-in;-o-transition:visibility 0,opacity .13s ease-in;transition:visibility 0,opacity .13s ease-in;background-color:#2a2a2a;border:1px solid #fff;color:#fff;cursor:default;display:block;font-size:11px;font-weight:700;margin-left:-1px;opacity:1;padding:7px 9px;position:absolute;visibility:visible;white-space:pre-wrap;word-break:break-all;word-break:break-word}.jfk-tooltip-arrowup{top:-6px}.jfk-tooltip-arrow{pointer-events:none;position:absolute}.jfk-tooltip-arrow .jfk-tooltip-arrowimplafter{border:5px solid}.jfk-tooltip-arrow .jfk-tooltip-arrowimplbefore{border:6px solid}.jfk-tooltip-arrow .jfk-tooltip-arrowimplafter,.jfk-tooltip-arrow .jfk-tooltip-arrowimplbefore{content:"";display:block;height:0;position:absolute;width:0}.jfk-tooltip-arrowup .jfk-tooltip-arrowimplafter{border-top-width:0;top:1px}.jfk-tooltip-arrowdown .jfk-tooltip-arrowimplafter,.jfk-tooltip-arrowup .jfk-tooltip-arrowimplafter{border-color:#2a2a2a transparent;left:-5px}.jfk-tooltip-arrowup .jfk-tooltip-arrowimplbefore{border-top-width:0}.jfk-tooltip-arrowdown .jfk-tooltip-arrowimplbefore,.jfk-tooltip-arrowup .jfk-tooltip-arrowimplbefore{border-color:#fff transparent;left:-6px}.luckysheet-datavisual-config{position:relative;width:100%;height:97%;overflow:auto;top:0}.luckysheet-datavisual-config input{outline:0}.luckysheet-datavisual-config .luckysheet-datavisual-accordion-title{position:relative;width:97%;height:33px;background:#f5f5f5;border:1px solid #e5e5e5;margin-top:30px;line-height:30px;font-weight:700;color:#d14836;cursor:pointer}.luckysheet-datavisual-config .luckysheet-datavisual-accordion-title:hover{background:#efefef;border:1px solid #e0e0e0}.luckysheet-datavisual-config .luckysheet-datavisual-accordion-content{position:relative;width:97%;border:1px solid #e5e5e5;border-top:1px solid #fff;display:none;color:#505050;padding-bottom:20px}.luckysheet-datavisual-config-input,.luckysheet-datavisual-config-input-no{background:#fff;border:1px solid #d9d9d9;border-top:1px solid silver;min-width:50px;width:90%;display:inline-block;height:24px;line-height:24px;padding:3px}.luckysheet-datavisual-config-input-no:focus,.luckysheet-datavisual-config-input:focus{border:1px solid #4d90fe;box-shadow:inset 0 1px 2px rgba(0,0,0,.3);outline:0}.luckysheet-datavisual-content-row{margin-left:15px;margin-bottom:5px;margin-top:15px;height:30px;line-height:30px}.luckysheet-datavisual-content-column{display:inline-block;position:relative}.luckysheet-datavisual-content-column-title{text-align:left;font-size:14px}.luckysheet-datavisual-content-column-right{text-align:right}.luckysheet-datavisual-content-rowsplit{height:5px;border-top:1px solid #e5e5e5;width:100%;margin-top:25px}.luckysheet-datavisual-content-rowsplit-sub{height:2px;border-top:1px dashed #e5e5e5;width:90%;margin:0 auto;margin-top:18px;text-align:center}.sp-replacer{padding:2px;border:solid 1px #e5e5e5;background:#f5f5f5}.ui-visual-focus{box-shadow:none}.luckysheet-datavisual-config-slider,.luckysheet-datavisual-config-slider-range{width:70%;display:inline-block}.luckysheet-datavisual-config-slider-range .luckysheet-slider-handle{width:45px;height:26px;top:50%;margin-top:-13px;text-align:center;line-height:26px}.luckysheet-datavisual-content-row-subtitle{display:none}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:48%}.luckysheet-datavisual-content-column-italic{font-style:italic;font-weight:700;font-family:"Times New Roman",Times,serif}.luckysheetChartAxisShow{display:none}.luckysheet-datavisual-chart-axistitle-show{display:none}.luckysheetChartseriesShow{display:none}#luckysheetswichxy-button,#piecutselect-button{width:70%}.ui-selectmenu-menu .ui-menu.customicons .ui-menu-item-wrapper{padding:.5em 0 .5em 3em}.ui-selectmenu-menu .ui-menu.customicons .ui-menu-item .ui-icon{height:26px;width:26px;top:.1em;background-image:none}#luckysheetscatterselectshow-menu .ui-state-active,#luckysheetswichseries-menu .ui-state-active,#pie0cutselect-menu .ui-state-active,#pie1cutselect-menu .ui-state-active,#pie2cutselect-menu .ui-state-active{border:1px solid #f5f5f5;background:#f5f5f5;color:#333}.ui-front{z-index:100003}.luckysheet-datavisual-skin-menu{top:5px;position:absolute;left:0;width:90%;height:30px}#luckysheet-chart-theme-content{height:21px;width:120px}.luckysheet-datavisual-skin-c{position:absolute;left:0;top:38px;bottom:0;width:100%;overflow:auto}.luckysheet-datavisual-skin-c .luckysheet-datavisual-skin-item{display:inline-block;width:46%;height:152px;margin-right:5px;border:4px solid #efefef;border-radius:4px;position:relative;cursor:pointer}.luckysheet-datavisual-skin-c .luckysheet-datavisual-skin-item-more{display:inline-block;width:94%;height:32px;position:relative;cursor:pointer;font-size:20px;line-height:32px;margin-bottom:20px;text-align:center}.luckysheet-datavisual-skin-item .luckysheet-datavisual-skin-canvas,.luckysheet-datavisual-skin-item .luckysheet-datavisual-skin-cover{position:absolute;width:100%;height:100%;bottom:0}.luckysheet-datavisual-skin-item .luckysheet-datavisual-skin-cover{background-color:rgba(0,0,0,.4);color:#fff;font-size:14px;height:30%;transition:opacity .15s ease;-moz-transition:opacity .15s ease;-webkit-transition:opacity .15s ease;-o-transition:opacity .15s ease}.luckysheet-datavisual-skin-item:hover .luckysheet-datavisual-skin-cover{opacity:1;z-index:2}.luckysheet-datavisual-skin-cover .luckysheet-datavisual-skin-cover-txt{position:absolute;width:80%;height:80%;top:10%;left:10%;text-align:center}.luckysheet-chart-point-config{position:relative;width:100%;height:100%;margin:0;font-size:12px}.luckysheet-chart-point-config-set{position:absolute;width:60%;height:100%;left:0;top:0}.luckysheet-chart-point-config-left{position:absolute;height:100%;width:50%;left:0;top:0}.luckysheet-chart-point-config-left-top{position:absolute;top:0;height:120px;width:100%}.luckysheet-chart-point-searchcondition{position:absolute;top:10px;bottom:10px;left:10px;right:10px}.luckysheet-chart-point-config-left-mid{position:absolute;top:120px;height:25px;width:100%;text-align:left;margin-left:20px;line-height:35px}.luckysheet-chart-point-config-left-mid span{color:#00f;cursor:pointer;text-decoration:underline;font-size:12px}.luckysheet-chart-point-config-left-bottom{position:absolute;top:0;bottom:0;margin-top:145px;width:100%}.luckysheet-chart-point-searchitem-c{position:absolute;width:100%;height:100%;overflow:hidden;overflow-y:auto;cursor:default}.luckysheet-chart-point-searchitem{display:inline-block;margin-left:5px;margin-top:5px;width:90px;border:2px solid #f5f5f5;background:#fff;text-align:center;padding:5px 0;user-select:none;cursor:default;position:relative}.luckysheet-chart-point-searchitem-selected{position:absolute;color:#616161;left:-6px;top:-10px;font-size:20px;display:none;font-weight:400}.luckysheet-chart-point-searchitem-active{box-shadow:0 0 4px #656565}.luckysheet-chart-point-searchitem-active .luckysheet-chart-point-searchitem-selected{display:block}.luckysheet-chart-point-searchitem-name{font-size:12px;cursor:default;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.luckysheet-chart-point-searchitem-dim{font-size:12px;opacity:.7;cursor:default;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#luckysheet-chart-point-selectedhelp{pointer-events:none;position:absolute;border:1px dotted #535353}.luckysheet-chart-point-config-right{position:absolute;height:100%;width:50%;top:0;right:0}.luckysheet-chart-point-itemconfig{position:absolute;top:10px;bottom:10px;left:10px;right:10px;overflow:auto}.luckysheet-chart-point-config-chart{position:absolute;width:40%;height:100%;right:0;top:0}.luckysheet-chart-point-config-chart-c{width:100%;height:80%;top:10%;position:relative}@media (max-width:776px){.luckysheet-chart-point-config-set{width:90%}.luckysheet-chart-point-config-chart{width:10%}}@media (min-width:768px){.luckysheet-chart-point-config-set{width:80%}.luckysheet-chart-point-config-chart{width:20%}}@media (min-width:1024px){.luckysheet-chart-point-config-set{width:70%}.luckysheet-chart-point-config-chart{width:30%}}@media (min-width:1280px){.luckysheet-chart-point-config-set{width:60%}.luckysheet-chart-point-config-chart{width:40%}}@media (min-width:1680px){.luckysheet-chart-point-config-set{width:50%}.luckysheet-chart-point-config-chart{width:50%}}.luckysheet-modal-dialog-slider{top:1px;bottom:1px;position:absolute;right:0;width:260px;border:1px solid #e5e5e5;z-index:1004;box-shadow:0 2px 4px rgba(0,0,0,.2);-webkit-box-shadow:0 2px 4px rgba(0,0,0,.2);-moz-box-shadow:0 2px 4px rgba(0,0,0,.2);-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.luckysheet-modal-dialog-slider .luckysheet-modal-dialog-slider-title{background:#333;color:#fff;height:39px;width:100%;position:absolute;top:0;left:0;line-height:39px;font-size:13px}.luckysheet-modal-dialog-slider .luckysheet-modal-dialog-slider-title>span:first-child{margin-left:5px;font-weight:700}.luckysheet-modal-dialog-slider .luckysheet-modal-dialog-slider-title>span:last-child{position:relative;float:right;margin-right:20px;cursor:pointer}.luckysheet-modal-dialog-slider-content{background:#efefef;margin-top:39px;width:100%;position:absolute;top:0;bottom:0;font-size:12px}.luckysheet-modal-dialog-slider-range{background:#e1e1de;color:#1b1b19;height:40px;font-size:13px;line-height:40px}.luckysheet-modal-dialog-slider-range>div:first-child{font-weight:700;overflow:hidden;text-overflow:ellipsis;float:left;max-width:170px;margin-right:10px;margin-left:5px;white-space:nowrap}.luckysheet-modal-dialog-slider-range>div:last-child{color:#00f;cursor:pointer;float:left}.luckysheet-modal-dialog-slider-list{width:250px;height:320px;overflow-y:scroll;margin:5px 0;margin-left:5px;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;background:#fff}.luckysheet-modal-dialog-slider-list-title{height:20px;line-height:25px;padding:0 5px}.luckysheet-modal-dialog-slider-list .luckysheet-modal-dialog-slider-list-item{padding:0 4px;position:relative;width:228px;height:25px;user-select:none;border:1px solid #fff}.luckysheet-modal-dialog-slider-list .luckysheet-modal-dialog-slider-list-item:hover{background:#fff6cb;border:1px solid #ffe463}.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-name{cursor:pointer;height:25px;line-height:25px;cursor:move;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:absolute;left:22px;right:40px;top:0}.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-selected{width:20px;cursor:pointer;text-align:center;position:absolute;left:0;top:0;height:25px}.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-selected i{margin-top:4px;font-size:16px}.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-selected div{border:1px solid #9c9c9c;top:4px;left:1px;position:absolute;height:14px;width:14px;-moz-box-shadow:1px 1px 1px #dbdbdb inset;-webkit-box-shadow:1px 1px 1px #dbdbdb inset;box-shadow:1px 1px 1px #dbdbdb inset}.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-selected div:hover{border:1px solid #5e5e5e}.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-filtered{width:20px;cursor:pointer;text-align:center;position:absolute;right:20px;top:2px;height:25px;display:none}.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-filtered i{margin-top:2px;font-size:16px}.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-filtered:hover i{color:#fb8686}.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-filtered i.fa-times{right:0;bottom:3px;color:red;font-size:9px;position:absolute}.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-filter{width:20px;cursor:pointer;text-align:center;position:absolute;right:0;top:0;height:25px}.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-filter i{margin-top:2px;font-size:16px}.luckysheet-modal-dialog-slider-list .luckysheet-slider-list-item-filter:hover i{color:#fb8686}.luckysheet-modal-dialog-slider-config-c{width:100%;position:absolute;margin-top:390px;top:0;bottom:3px}.luckysheet-modal-dialog-slider-config{height:50%;width:50%;position:absolute}.luckysheet-modal-dialog-slider-config>div:first-child{color:#1b1b19;font-size:13px;height:20px;line-height:20px;padding-left:5px}.luckysheet-modal-dialog-slider-config>div:first-child span{font-weight:700;font-weight:700;overflow:hidden}.luckysheet-modal-dialog-slider-config .luckysheet-modal-dialog-slider-config-list{position:absolute;margin-top:22px;margin-left:5px;left:0;right:5px;top:0;bottom:3px;border:1px solid #e5e5e5;user-select:none;overflow-y:auto;background:#fff}.luckysheet-modal-dialog-slider-config-list .luckysheet-modal-dialog-slider-config-item{position:relative;height:19px;line-height:19px;font-size:12px;border:1px solid #88adfd;background:#aac1fe;margin:2px}.luckysheet-modal-dialog-slider-config-list .luckysheet-modal-dialog-slider-config-item:hover{border:1px solid #0188fb;background:#5f9afc}.luckysheet-modal-dialog-slider-config-item-txt{position:absolute;height:100%;left:5px;right:25px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:move}.luckysheet-modal-dialog-slider-config-item-icon{position:absolute;height:100%;width:15px;right:0;top:-4px;cursor:pointer;font-size:14px}.luckysheet-modal-dialog-slider-config-item-icon:hover{color:#fa7272}.luckysheet-modal-dialog-config-filter{top:0;left:0}.luckysheet-modal-dialog-config-column{top:0;left:50%}.luckysheet-modal-dialog-config-row{top:50%;left:0}.luckysheet-modal-dialog-config-value{top:50%;left:50%}#luckysheet-modal-dialog-slider-pivot-move{position:absolute;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px dotted #000;color:#000;font-size:14px;opacity:.6;z-index:1005;padding:3px 8px;pointer-events:none;user-select:none}.luckysheet-modal-dialog-slider-chart{width:445px}.luckysheet-modal-dialog-slider-chart .luckysheet-modal-dialog-slider-title{background:#b94045}.luckysheet-modal-dialog-slider-chart .luckysheet-modal-dialog-slider-content{background:#fff}#luckysheet-dialog-pivotTable-clearitem{color:#00f;cursor:pointer;float:right;margin-right:30px}.luckysheet-freezebar-drop,.luckysheet-freezebar-handle{position:absolute;z-index:999}.luckysheet-freezebar-vertical-handle{width:4px;display:none}.luckysheet-freezebar-vertical-drop{width:4px}.luckysheet-freezebar-active .luckysheet-freezebar-vertical-handle{display:block;z-index:1003}.luckysheet-freezebar-vertical-handle-bar{width:2px;background:#dbe5f7;border-color:#a5c6fe;border-style:solid;border-width:0 1px;opacity:.45;margin-top:19px;top:0;bottom:0}.luckysheet-freezebar-vertical-handle-title{width:4px;background:#9dbefb;opacity:.8;height:19px;top:0}.luckysheet-freezebar-drop-bar,.luckysheet-freezebar-handle-bar{position:absolute;z-index:7}.luckysheet-freezebar-vertical-drop-bar{width:2px;background:rgba(0,0,0,.45);border-width:2px 1px 2px 2px;margin-top:19px;top:0;bottom:0}.luckysheet-freezebar-vertical-drop-title{width:2px;background:#bcbdbc;height:19px;top:0}.luckysheet-freezebar-active .luckysheet-freezebar-vertical-drop-bar,.luckysheet-freezebar-hover .luckysheet-freezebar-vertical-drop-bar{background:#c1c1c1;width:4px}.luckysheet-freezebar-active .luckysheet-freezebar-vertical-drop-title,.luckysheet-freezebar-hover .luckysheet-freezebar-vertical-drop-title{background:#5d88db;width:4px}.luckysheet-freezebar-horizontal-handle{height:4px;display:none}.luckysheet-freezebar-horizontal-drop{height:4px}.luckysheet-freezebar-active .luckysheet-freezebar-horizontal-handle{display:block;z-index:1003}.luckysheet-freezebar-horizontal-handle-bar{height:2px;background:#dbe5f7;border-color:#a5c6fe;border-style:solid;border-width:1px 0;opacity:.45;margin-left:45px;left:0;right:0}.luckysheet-freezebar-horizontal-handle-title{height:4px;background:#9dbefb;opacity:.8;width:45px;left:0}.luckysheet-freezebar-horizontal-drop-bar{height:2px;overflow:hidden;background:rgba(0,0,0,.45);border-width:2px 2px 1px 2px;margin-left:45px;left:0;right:0}.luckysheet-freezebar-horizontal-drop-title{height:2px;background:#bcbdbc;width:45px;left:0}.luckysheet-freezebar-active .luckysheet-freezebar-horizontal-drop-bar,.luckysheet-freezebar-hover .luckysheet-freezebar-horizontal-drop-bar{background:#c1c1c1;height:4px}.luckysheet-freezebar-active .luckysheet-freezebar-horizontal-drop-title,.luckysheet-freezebar-hover .luckysheet-freezebar-horizontal-drop-title{background:#5d88db;height:4px}#luckysheet-functionbox-container{height:100%;padding-left:10px;overflow:hidden;position:absolute;padding:0;top:0;left:185px;right:10px;border-left:1px solid #e5e5e5}#luckysheet-functionbox-container>div{height:100%;overflow-x:hidden;overflow-y:auto;position:relative}#luckysheet-functionbox{bottom:6px;left:0;position:absolute;right:0;top:6px;resize:none;font-family:arial,sans,sans-serif;font-size:14px;line-height:14px;background-color:#fff;padding:0 5px}#luckysheet-functionbox .luckysheet-functionbox-cell-input{word-wrap:break-word;-webkit-nbsp-mode:space;-webkit-line-break:after-white-space}.luckysheet-functionbox-cell-input{width:100%;height:100%;margin:0;outline:0;cursor:text;-webkit-user-modify:read-write-plaintext-only;white-space:pre-wrap;-webkit-transform:translateZ(0);background-color:#fff}.luckysheet-formula-text-color{color:#000}.luckysheet-formula-text-string{color:#228b22}.luckysheet-formula-search-c{position:absolute;left:50%;top:50%;border:1px solid rgba(0,0,0,.2);box-shadow:0 2px 4px rgba(0,0,0,.2);color:#535353;font-size:12px;background:#fff;z-index:1003;width:300px;display:none}.luckysheet-formula-search-c .luckysheet-formula-search-item{background:#fff;padding:5px 10px;cursor:pointer}.luckysheet-formula-search-c .luckysheet-formula-search-item .luckysheet-formula-search-detail{display:none;color:#444}.luckysheet-formula-search-c .luckysheet-formula-search-item .luckysheet-formula-search-func{color:#222;font-size:14px}.luckysheet-formula-search-c .luckysheet-formula-search-item-active{display:block;border-top:1px solid #ebebeb;border-bottom:1px solid #ebebeb;background:#f5f5f5}.luckysheet-formula-search-c .luckysheet-formula-search-item-active .luckysheet-formula-search-detail{display:block}.luckysheet-formula-help-c{display:none;position:absolute;left:20%;top:20%;border:1px solid rgba(0,0,0,.2);box-shadow:0 2px 4px rgba(0,0,0,.2);color:#535353;font-size:12px;background:#fff;z-index:1003;width:300px}.luckysheet-formula-help-c .luckysheet-formula-help-content{max-height:300px;overflow-y:scroll}.luckysheet-formula-help-content-example{margin-top:5px}.luckysheet-formula-help-title{display:block;border-top:1px solid #ebebeb;border-bottom:1px solid #ebebeb;background:#f5f5f5;padding:2px 10px;font-size:14px}.luckysheet-formula-help-title-formula{width:250px;word-break:break-word}.luckysheet-arguments-help-section{margin-top:5px;margin-bottom:5px;color:#222}.luckysheet-arguments-help-section-title{padding:1px 10px;color:#666}.luckysheet-arguments-help-parameter-content{padding:1px 10px;display:inline-block;word-wrap:break-word}.luckysheet-arguments-help-formula{padding:1px 10px;font-size:14px}.luckysheet-arguments-help-parameter-active{background-color:#fff9b2}.luckysheet-formula-help-collapse{position:absolute;top:0;right:25px;font-size:16px;cursor:pointer;color:#bbb}.luckysheet-formula-help-close{position:absolute;top:0;right:5px;font-size:16px;cursor:pointer;color:#bbb}.luckysheet-formula-help-close:hover,.luckysheet-formula-help-collapse:hover{color:#555}.luckysheetLoader{font-size:20px;width:1em;height:1em;border-radius:50%;text-indent:-9999em;position:absolute;top:50%;left:50%;animation:load-effect 1s infinite linear}@keyframes load-effect{0%{box-shadow:0 -3em 0 .2em #0188fb,2em -2em 0 0 #0188fb,3em 0 0 -.5em #0188fb,2em 2em 0 -.5em #0188fb,0 3em 0 -.5em #0188fb,-2em 2em 0 -.5em #0188fb,-3em 0 0 -.5em #0188fb,-2em -2em 0 0 #0188fb}12.5%{box-shadow:0 -3em 0 0 #0188fb,2em -2em 0 .2em #0188fb,3em 0 0 0 #0188fb,2em 2em 0 -.5em #0188fb,0 3em 0 -.5em #0188fb,-2em 2em 0 -.5em #0188fb,-3em 0 0 -.5em #0188fb,-2em -2em 0 -.5em #0188fb}25%{box-shadow:0 -3em 0 -.5em #0188fb,2em -2em 0 0 #0188fb,3em 0 0 .2em #0188fb,2em 2em 0 0 #0188fb,0 3em 0 -.5em #0188fb,-2em 2em 0 -.5em #0188fb,-3em 0 0 -.5em #0188fb,-2em -2em 0 -.5em #0188fb}37.5%{box-shadow:0 -3em 0 -.5em #0188fb,2em -2em 0 -.5em #0188fb,3em 0 0 0 #0188fb,2em 2em 0 .2em #0188fb,0 3em 0 0 #0188fb,-2em 2em 0 -.5em #0188fb,-3em 0 0 -.5em #0188fb,-2em -2em 0 -.5em #0188fb}50%{box-shadow:0 -3em 0 -.5em #0188fb,2em -2em 0 -.5em #0188fb,3em 0 0 -.5em #0188fb,2em 2em 0 0 #0188fb,0 3em 0 .2em #0188fb,-2em 2em 0 0 #0188fb,-3em 0 0 -.5em #0188fb,-2em -2em 0 -.5em #0188fb}62.5%{box-shadow:0 -3em 0 -.5em #0188fb,2em -2em 0 -.5em #0188fb,3em 0 0 -.5em #0188fb,2em 2em 0 -.5em #0188fb,0 3em 0 0 #0188fb,-2em 2em 0 .2em #0188fb,-3em 0 0 0 #0188fb,-2em -2em 0 -.5em #0188fb}75%{box-shadow:0 -3em 0 -.5em #0188fb,2em -2em 0 -.5em #0188fb,3em 0 0 -.5em #0188fb,2em 2em 0 -.5em #0188fb,0 3em 0 -.5em #0188fb,-2em 2em 0 0 #0188fb,-3em 0 0 .2em #0188fb,-2em -2em 0 0 #0188fb}87.5%{box-shadow:0 -3em 0 0 #0188fb,2em -2em 0 -.5em #0188fb,3em 0 0 -.5em #0188fb,2em 2em 0 -.5em #0188fb,0 3em 0 -.5em #0188fb,-2em 2em 0 0 #0188fb,-3em 0 0 0 #0188fb,-2em -2em 0 .2em #0188fb}100%{box-shadow:0 -3em 0 .2em #0188fb,2em -2em 0 0 #0188fb,3em 0 0 -.5em #0188fb,2em 2em 0 -.5em #0188fb,0 3em 0 -.5em #0188fb,-2em 2em 0 -.5em #0188fb,-3em 0 0 -.5em #0188fb,-2em -2em 0 0 #0188fb}}.luckysheetpopover{position:absolute;background:rgba(0,0,0,.65);color:#fff;font-size:18px;padding:20px 100px;text-align:center;z-index:10000;border-radius:4px;user-select:none;display:none}.luckysheetpopover .luckysheetpopover-btn{position:absolute;right:10px;top:50%;margin-top:-12px;border:1px solid #fff;border-radius:4px;padding:2px 4px;cursor:pointer;font-size:14px}.luckysheetpopover .luckysheetpopover-btn:hover{border:1px solid #fea2a2;color:#fea2a2}.luckysheetPaintCursor{cursor:url(paint_24px.ico),auto}#luckysheet-search-replace .tabBox{margin-top:20px;font-size:0}#luckysheet-search-replace .tabBox span{display:inline-block;text-align:center;width:100px;border:1px solid #d4d4d4;font-size:14px;line-height:2}#luckysheet-search-replace .tabBox span.on{background-color:#8c89fe;border-color:#726efe;color:#fff}#luckysheet-search-replace .ctBox{padding:5px 10px;border:solid 1px #d4d4d4;font-size:14px}#luckysheet-search-replace .inputBox{height:90px;position:relative}#luckysheet-search-replace .inputBox .textboxs{height:30px;line-height:30px}#luckysheet-search-replace .inputBox .checkboxs{height:90px;position:absolute;right:0;top:0}#luckysheet-search-replace .inputBox .checkboxs div{height:30px;line-height:30px}#luckysheet-search-replace .inputBox .checkboxs input[type=checkbox]{float:left;margin-top:9px}#luckysheet-search-replace .btnBox{margin-top:10px}#luckysheet-search-replace .btnBox button{margin:0 2.5px}#luckysheet-search-replace #searchAllbox{height:210px;border:1px solid #d4d4d4;margin-top:10px;overflow-y:auto;position:relative}#luckysheet-search-replace #searchAllbox .boxTitle{width:100%;height:30px;line-height:29px;padding:0 5px;background-color:#fff;border-bottom:1px solid #d4d4d4;box-sizing:border-box;position:sticky;left:0;top:0}#luckysheet-search-replace #searchAllbox .boxTitle span{display:inline-block;text-align:center}#luckysheet-search-replace #searchAllbox .boxTitle span:nth-of-type(1){width:25%}#luckysheet-search-replace #searchAllbox .boxTitle span:nth-of-type(2){width:25%}#luckysheet-search-replace #searchAllbox .boxTitle span:nth-of-type(3){width:50%}#luckysheet-search-replace #searchAllbox .boxMain .boxItem{height:30px;line-height:29px;border-bottom:1px solid #d4d4d4;padding:0 5px;box-sizing:border-box}#luckysheet-search-replace #searchAllbox .boxMain .boxItem.on{background-color:#8c89fe;color:#fff}#luckysheet-search-replace #searchAllbox .boxMain .boxItem span{display:block;text-align:center;float:left}#luckysheet-search-replace #searchAllbox .boxMain .boxItem span:nth-of-type(1){width:25%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#luckysheet-search-replace #searchAllbox .boxMain .boxItem span:nth-of-type(2){width:25%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#luckysheet-search-replace #searchAllbox .boxMain .boxItem span:nth-of-type(3){width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#luckysheet-search-formula{font-size:12px}#luckysheet-search-formula .inpbox{margin-bottom:5px}#luckysheet-search-formula .inpbox label{display:block;margin-bottom:5px}#luckysheet-search-formula .inpbox input{width:100%;height:24px;line-height:24px;border:1px solid #d4d4d4;padding:0 10px;box-sizing:border-box;font-size:12px}#luckysheet-search-formula .selbox{margin-bottom:5px}#luckysheet-search-formula .selbox select{width:50%;height:24px;line-height:24px;border:1px solid #d4d4d4;box-sizing:border-box;font-size:12px}#luckysheet-search-formula .listbox label{display:block;margin-bottom:5px}#formulaTypeList{width:300px;height:170px;border:1px solid #d4d4d4;overflow-y:scroll}#formulaTypeList .listBox{padding:5px;border-bottom:1px solid #d4d4d4}#formulaTypeList .listBox.on{background-color:#8c89fe;color:#fff}#formulaTypeList .listBox span:nth-of-type(1){display:block}#formulaTypeList .listBox span:nth-of-type(2){display:block}#luckysheet-search-formula-parm{width:502px;font-size:12px}#luckysheet-search-formula-parm .parmListBox{width:500px;padding:5px 0;border:1px solid #d4d4d4}#luckysheet-search-formula-parm .parmBox{height:30px;line-height:30px;margin-bottom:5px}#luckysheet-search-formula-parm .parmBox:last-child{margin-bottom:0}#luckysheet-search-formula-parm .parmBox .name{width:90px;height:30px;padding:0 5px;float:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#luckysheet-search-formula-parm .parmBox .txt{width:198px;height:28px;border:1px solid #d4d4d4;float:left}#luckysheet-search-formula-parm .parmBox .txt input{width:150px;height:28px;padding:0 10px;border:none;outline-style:none;float:left}#luckysheet-search-formula-parm .parmBox .txt i{float:right;margin-top:8px;margin-right:5px}#luckysheet-search-formula-parm .fa-table{cursor:pointer;color:#6598f3}#luckysheet-search-formula-parm .fa-table:hover{color:#ff7e7e}#luckysheet-search-formula-parm .parmBox .val{width:190px;height:30px;line-height:30px;padding:0 5px;float:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#luckysheet-search-formula-parm .formulaDetails{padding:5px}#luckysheet-search-formula-parm .parmDetailsBox{max-height:100px;padding:5px 0 5px 20px;overflow-y:scroll}#luckysheet-search-formula-parm .parmDetailsBox span{display:inline-block}#luckysheet-search-formula-parm .result{padding:5px;border-top:1px solid #d4d4d4}#textCellColor{border:1px solid #d4d4d4;padding:5px 10px}#textCellColor .colorbox{height:30px;line-height:30px;margin-bottom:10px}#textCellColor .colorbox input[type=checkbox]{float:left;margin-top:10px}#textCellColor .colorbox label{display:inline-block;width:80px}#luckysheet-multiRange-dialog input,#luckysheet-singleRange-dialog input{border:1px solid #d4d4d4;padding:0 10px;height:30px}#luckysheet-conditionformat-dialog{font-size:12px}#luckysheet-conditionformat-dialog .box .boxTitleOne{margin:5px 0;font-weight:600}#luckysheet-conditionformat-dialog .box .inpbox{width:198px;height:28px;border:1px solid #d4d4d4}#luckysheet-conditionformat-dialog .box .inpbox input{width:150px;height:28px;padding:0 10px;border:none;outline-style:none;float:left}#luckysheet-conditionformat-dialog .box .inpbox2{float:left;width:108px;height:28px;border:1px solid #d4d4d4}#luckysheet-conditionformat-dialog .box .inpbox2 input{width:60px;height:28px;padding:0 10px;border:none;outline-style:none;float:left}#luckysheet-conditionformat-dialog .box i.fa-table{float:right;margin-top:8px;margin-right:5px}#luckysheet-conditionformat-dialog .box .fa-table{cursor:pointer;color:#6598f3}#luckysheet-conditionformat-dialog .box .fa-table:hover{color:#ff7e7e}#luckysheet-conditionformat-dialog .box #daterange-btn{width:188px;height:28px;padding:0 5px;line-height:28px;border:1px solid #d4d4d4;cursor:pointer}#luckysheet-conditionformat-dialog .box .selectbox{width:150px;height:30px}#luckysheet-icon-dataBar-menuButton .bgImgBox{width:28px;height:26px;background:url(../plugins/images/CFdataBar.png) no-repeat}#luckysheet-icon-colorGradation-menuButton .bgImgBox{width:28px;height:26px;background:url(../plugins/images/CFcolorGradation.png) no-repeat}#luckysheet-administerRule-dialog{font-size:12px}#luckysheet-administerRule-dialog .chooseSheet{height:24px;line-height:24px;margin-bottom:5px}#luckysheet-administerRule-dialog .chooseSheet select{height:24px;padding:0 5px;box-sizing:border-box;font-size:12px}#luckysheet-administerRule-dialog .ruleBox{border:1px solid #d4d4d4}#luckysheet-administerRule-dialog .ruleBox .ruleBtn{padding:2.5px 5px;border-bottom:1px solid #d4d4d4}#luckysheet-administerRule-dialog .ruleBox .ruleBtn button{margin-right:10px;font-size:12px}#luckysheet-administerRule-dialog .ruleBox .ruleList .listTitle{height:30px;padding:0 10px;border-bottom:1px solid #d4d4d4}#luckysheet-administerRule-dialog .ruleBox .ruleList .listTitle span{display:block;height:100%;line-height:29px;float:left}#luckysheet-administerRule-dialog .ruleBox .ruleList .listTitle span:nth-of-type(1){width:30%}#luckysheet-administerRule-dialog .ruleBox .ruleList .listTitle span:nth-of-type(2){width:20%}#luckysheet-administerRule-dialog .ruleBox .ruleList .listTitle span:nth-of-type(3){width:45%}#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox{height:150px;overflow-y:scroll}#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox .item{height:24px;padding:2.5px 10px;border-bottom:1px solid #d4d4d4}#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox .item.on{background-color:#8c89fe}#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox .item .ruleName{width:30%;height:100%;line-height:24px;padding-right:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;float:left;box-sizing:border-box}#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox .item.on .ruleName{color:#fff}#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox .item .format{width:20%;height:100%;line-height:24px;float:left;position:relative}#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox .item .format .colorbox{display:inline-block;width:16px;height:16px;border:solid 1px #d0d0d0;margin:3px 5px;cursor:pointer}#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox .item .ruleRange{width:45%;height:100%;border:1px solid #d4d4d4;float:left;margin-left:10px;box-sizing:border-box;background-color:#fff}#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox .item .ruleRange input{width:130px;height:22px;padding:0 5px;border:none;outline-style:none;float:left}#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox .item .ruleRange i.fa-table{float:right;cursor:pointer;color:#6598f3;margin-top:6px;margin-right:5px}#luckysheet-administerRule-dialog .ruleBox .ruleList .listBox .item .ruleRange i.fa-table:hover{color:#ff7e7e}.luckysheet-newEditorRule-dialog{font-size:12px}.luckysheet-newEditorRule-dialog .boxTitle{margin-bottom:5px}.luckysheet-newEditorRule-dialog .ruleTypeBox{border:1px solid #d4d4d4;margin-bottom:10px}.luckysheet-newEditorRule-dialog .ruleTypeBox .ruleTypeItem{padding:3px 5px;cursor:pointer}.luckysheet-newEditorRule-dialog .ruleTypeBox .ruleTypeItem.on{background-color:#7c79fe;color:#fff}.luckysheet-newEditorRule-dialog .ruleTypeBox .ruleTypeItem .icon{font-family:Arial,Helvetica,sans-serif}.luckysheet-newEditorRule-dialog .ruleExplainBox{border:1px solid #d4d4d4;padding:10px}.luckysheet-newEditorRule-dialog .ruleExplainBox .title{display:block;font-weight:600;margin-bottom:5px}.luckysheet-newEditorRule-dialog .ruleExplainBox select{height:30px;font-size:12px;float:left;margin-right:5px}.luckysheet-newEditorRule-dialog .ruleExplainBox .inpbox{width:100px;height:30px;border:1px solid #d4d4d4;box-sizing:border-box;font-size:12px;float:left}.luckysheet-newEditorRule-dialog .ruleExplainBox .inpbox input{width:70px;height:100%;border:none;outline-style:none;padding:0 5px}.luckysheet-newEditorRule-dialog .ruleExplainBox .txt{display:block;height:100%;line-height:30px;float:left;margin:0 5px}.luckysheet-newEditorRule-dialog .ruleExplainBox #isPercent{float:left;margin:9px 0 8px 10px}.luckysheet-newEditorRule-dialog i.fa-table{float:right;margin-top:8px;margin-right:5px}.luckysheet-newEditorRule-dialog .fa-table{cursor:pointer;color:#6598f3}.luckysheet-newEditorRule-dialog .fa-table:hover{color:#ff7e7e}.luckysheet-newEditorRule-dialog .iconsBox{height:30px;margin-bottom:5px;position:relative}.luckysheet-newEditorRule-dialog .iconsBox label{display:block;width:80px;height:30px;line-height:30px;float:left}.luckysheet-newEditorRule-dialog .iconsBox .showbox{width:150px;height:20px;padding:4px 4px 4px 10px;border:1px solid #e5e5e5;background-color:#f5f5f5;float:left;cursor:pointer}.luckysheet-newEditorRule-dialog .iconsBox .showbox .model{width:125px;height:20px;background:url(../plugins/images/CFicons.png) no-repeat;background-size:256px;float:left}.luckysheet-newEditorRule-dialog .iconsBox ul{display:none;width:164px;max-height:150px;overflow-y:auto;background-color:#fff;border:1px solid #e5e5e5;position:absolute;left:80px;top:30px;list-style:none;margin:0;padding:0}.luckysheet-newEditorRule-dialog .iconsBox ul li{padding:5px 10px;background-color:#fff;cursor:pointer}.luckysheet-newEditorRule-dialog .iconsBox ul li:hover{background-color:#dfdfdf}.luckysheet-newEditorRule-dialog .iconsBox ul li div{width:125px;height:20px;background:url(../plugins/images/CFicons.png) no-repeat;background-size:256px}#luckysheet-CFicons-dialog .box{padding:10px;border:1px solid #dfdfdf;font-size:14px}#luckysheet-CFicons-dialog .box .title{height:20px;line-height:20px;padding:0 10px;background-color:#ebebeb}#luckysheet-CFicons-dialog .box .list{width:300px;padding:5px 0}#luckysheet-CFicons-dialog .box .list .left{width:50%;float:left}#luckysheet-CFicons-dialog .box .list .right{width:50%;float:right}#luckysheet-CFicons-dialog .box .list .item{width:125px;height:20px;padding:2.5px 10px;background-color:#fff;cursor:pointer}#luckysheet-CFicons-dialog .box .list .item:hover{background-color:#dfdfdf}#luckysheet-CFicons-dialog .box .list .item div{width:125px;height:20px;background:url(../plugins/images/CFicons.png) no-repeat;background-size:256px}#luckysheet-modal-dialog-slider-alternateformat{width:280px;font-size:12px}#luckysheet-modal-dialog-slider-alternateformat .luckysheet-modal-dialog-slider-content{background-color:#fff;overflow-y:scroll}#luckysheet-modal-dialog-slider-alternateformat .textTitle{padding:5px 10px;font-weight:600}#luckysheet-alternateformat-range{width:198px;height:28px;border:1px solid #d4d4d4;margin-left:10px}#luckysheet-alternateformat-range input{width:150px;height:28px;padding:0 10px;border:none;outline-style:none;float:left}#luckysheet-alternateformat-range .fa-table{float:right;margin-top:8px;margin-right:5px;cursor:pointer;color:#6598f3}#luckysheet-alternateformat-range .fa-table:hover{color:#ff7e7e}#luckysheet-alternateformat-checkbox{padding:5px 10px;border-top:1px solid #d4d4d4;border-bottom:1px solid #d4d4d4;margin:10px 0}#luckysheet-alternateformat-checkbox div{height:20px;line-height:20px}#luckysheet-alternateformat-checkbox div:first-child{margin-bottom:5px}#luckysheet-alternateformat-checkbox input[type=checkbox]{float:left;cursor:pointer;margin-top:4px}#luckysheet-alternateformat-modelList{padding:0 10px;margin-bottom:10px}#luckysheet-alternateformat-modelCustom{padding:0 10px;margin-bottom:10px}#luckysheet-modal-dialog-slider-alternateformat .modelbox{display:inline-block;width:36px;padding:2px;border:2px solid #fff;box-sizing:border-box;margin-right:4px;margin-bottom:4px;cursor:pointer}#luckysheet-modal-dialog-slider-alternateformat .modelbox.on{border-color:#726efe}#luckysheet-modal-dialog-slider-alternateformat .modelbox .box{width:100%;border:1px solid #d4d4d4;box-sizing:border-box}#luckysheet-modal-dialog-slider-alternateformat .modelbox .box span{display:block;width:100%;height:10px;line-height:9px;text-align:center;border-bottom:1px solid #d4d4d4;box-sizing:border-box}#luckysheet-modal-dialog-slider-alternateformat .modelbox .box span:last-child{line-height:10px;border-bottom:none}#luckysheet-alternateformat-modelToning{padding:10px}#luckysheet-alternateformat-modelToning .toningbox{height:25px;margin-bottom:5px}#luckysheet-alternateformat-modelToning .toningbox .toningShow{width:150px;height:100%;line-height:23px;text-align:center;border:1px solid #d4d4d4;float:left;margin-right:10px}#luckysheet-alternateformat-modelToning .toningbox .luckysheet-color-menu-button-indicator{width:20px;float:left;user-select:none;cursor:pointer}#luckysheet-alternateformat-modelToning .toningbox .luckysheet-color-menu-button-indicator .luckysheet-icon{user-select:none;margin-bottom:-6px}#luckysheet-alternateformat-colorSelect-dialog .currenColor{font-size:12px;margin-bottom:5px}#luckysheet-alternateformat-colorSelect-dialog .currenColor span{display:inline-block;width:16px;height:16px;border:solid 1px #d0d0d0;margin-left:5px;margin-bottom:-5px;cursor:pointer}#luckysheet-alternateformat-rangeDialog input{border:1px solid #d4d4d4;padding:0 10px;height:30px}#luckysheet-ifFormulaGenerator-dialog{font-size:12px}#luckysheet-ifFormulaGenerator-dialog .ifAttr .attrBox{height:30px;margin-bottom:10px}#luckysheet-ifFormulaGenerator-dialog .ifAttr .attrBox label{display:block;width:100px;height:100%;line-height:30px;padding:0 5px;text-align:right;float:left}#luckysheet-ifFormulaGenerator-dialog .ifAttr .attrBox .inpBox{width:150px;height:100%;padding:0 10px;border:1px solid #d4d4d4;box-sizing:border-box;float:left}#luckysheet-ifFormulaGenerator-dialog .ifAttr .attrBox .inpBox input{width:100px;height:100%;padding:0;border:none;outline-style:none;background:0 0;float:left}#luckysheet-ifFormulaGenerator-dialog .ifAttr .attrBox .inpBox i.fa-table{font-size:14px;color:#6598f3;float:right;margin-right:0;margin-top:8px;cursor:pointer}#luckysheet-ifFormulaGenerator-dialog .ifAttr .attrBox .inpBox i.fa-table:hover{color:#ff7e7e}#luckysheet-ifFormulaGenerator-dialog .ifAttr .attrBox span.text{height:100%;line-height:30px;padding:0 5px;float:left}#luckysheet-ifFormulaGenerator-dialog #largeRange,#luckysheet-ifFormulaGenerator-dialog #smallRange{width:100px;height:100%;padding:0 10px;border:1px solid #d4d4d4;box-sizing:border-box;float:left}#luckysheet-ifFormulaGenerator-dialog #rangeAssess{height:100%;line-height:30px;float:left;margin-left:20px}#luckysheet-ifFormulaGenerator-dialog #rangeAssess i.fa-table{color:#6598f3;cursor:pointer}#luckysheet-ifFormulaGenerator-dialog #rangeAssess i.fa-table:hover{color:#ff7e7e}#luckysheet-ifFormulaGenerator-dialog #DivisionMethod{width:100px;height:100%;border:1px solid #d4d4d4;box-sizing:border-box;float:left}#luckysheet-ifFormulaGenerator-dialog #DivisionMethodVal{width:120px;height:100%;border:1px solid #d4d4d4;padding:0 10px;box-sizing:border-box;float:left;margin-left:10px}#luckysheet-ifFormulaGenerator-dialog #createBtn{width:100px;height:100%;line-height:30px;border-radius:5px;text-align:center;font-size:14px;color:#fff;background-color:#8c89fe;float:right;cursor:pointer}#luckysheet-ifFormulaGenerator-dialog .ifList{border-top:1px solid #d4d4d4;height:180px;padding:10px;overflow-y:scroll}#luckysheet-ifFormulaGenerator-dialog .ifList .item{height:30px;margin-bottom:10px}#luckysheet-ifFormulaGenerator-dialog .ifList .item input{width:80px;height:100%;border:1px solid #d4d4d4;padding:0 5px;background:0 0;box-sizing:border-box;float:left}#luckysheet-ifFormulaGenerator-dialog .ifList .item input.markText{width:140px}#luckysheet-ifFormulaGenerator-dialog .ifList .item select{width:50px;height:100%;padding:0 5px;border:1px solid #d4d4d4;box-sizing:border-box;float:left;margin:0 10px}#luckysheet-ifFormulaGenerator-dialog .ifList .item span{height:100%;line-height:30px;float:left;margin:0 10px}#luckysheet-ifFormulaGenerator-dialog .ifList .item i.fa-remove{font-size:16px;float:left;margin-left:15px;margin-top:7px;color:#d6d6d6;cursor:pointer}#luckysheet-ifFormulaGenerator-dialog .ifList .item i.fa-remove:hover{color:#333}#luckysheet-ifFormulaGenerator-multiRange-dialog input,#luckysheet-ifFormulaGenerator-singleRange-dialog input{border:1px solid #d4d4d4;padding:0 10px;height:30px}.pictorialBarUploadImg:hover{border:1px solid #ccc!important;background:#efefef}#luckysheet-dropCell-icon #icon_dropCell{width:25px;height:15px;background-image:url(../plugins/images/icon_dropCell.png);background-repeat:no-repeat;background-position:center;background-size:100% 100%}#luckysheet-locationCell-dialog .listbox{border:1px solid #dfdfdf;padding:10px;font-size:14px;color:#000}#luckysheet-locationCell-dialog .listbox .listItem{padding:5px 0}#luckysheet-locationCell-dialog .listbox .listItem input[type=radio]{float:left;margin-top:5px}#luckysheet-locationCell-dialog .listbox .listItem .subbox{height:30px;padding:0 10px}#luckysheet-locationCell-dialog .listbox .listItem .subbox .subItem{float:left;margin-right:5px}#luckysheet-moreFormat-dialog{font-size:14px;color:#000}#luckysheet-moreFormat-dialog .decimal{margin-bottom:5px;height:30px;line-height:30px}#luckysheet-moreFormat-dialog .decimal input{width:80px;height:24px;padding:0 5px}#luckysheet-moreFormat-dialog .listbox{border:1px solid #666;height:240px;overflow-y:auto}#luckysheet-moreFormat-dialog .listbox .listItem{height:30px;padding:0 20px 0 10px;border-bottom:1px solid #dfdfdf}#luckysheet-moreFormat-dialog .listbox .listItem.on{background-color:#7c79fe;color:#fff}#luckysheet-moreFormat-dialog .listbox .listItem .name{line-height:29px;float:left}#luckysheet-moreFormat-dialog .listbox .listItem .value{line-height:30px;float:right;color:gray}#luckysheet-moreFormat-dialog .listbox .listItem.on .value{color:#fff}#luckysheet-splitColumn-dialog{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#luckysheet-splitColumn-dialog .box{font-size:14px}#luckysheet-splitColumn-dialog .box .boxTitle{padding:5px}#luckysheet-splitColumn-dialog .box .boxMain{padding:5px;border:1px solid #dfdfdf}#luckysheet-splitColumn-dialog .box input[type=checkbox]{float:left;margin-top:5px}#luckysheet-splitColumn-dialog .box .boxMain input[type=text]{margin-left:5px;width:50px;padding:0 5px}#luckysheet-splitColumn-dialog .box #splitColumnData{height:100px;overflow-y:auto}#luckysheet-splitColumn-dialog .box #splitColumnData table{border-collapse:collapse}#luckysheet-splitColumn-dialog .box #splitColumnData td{border:1px solid #333}.luckysheet-datavisual-config .luckysheet-datavisual-accordion-content:last-child{padding-bottom:100px}.luckysheet-postil-dialog-move{position:absolute;margin:0;padding:0;top:0;left:0;bottom:0;right:0;pointer-events:none}.luckysheet-postil-dialog-move .luckysheet-postil-dialog-move-item{position:absolute;pointer-events:all;cursor:move}.luckysheet-postil-dialog-move .luckysheet-postil-dialog-move-item-t{width:100%;height:3px;border-bottom:1px solid #000;left:0;top:-4px}.luckysheet-postil-dialog-move .luckysheet-postil-dialog-move-item-r{width:3px;height:100%;border-left:1px solid #000;right:-4px;top:0}.luckysheet-postil-dialog-move .luckysheet-postil-dialog-move-item-b{width:100%;height:3px;border-top:1px solid #000;left:0;bottom:-4px}.luckysheet-postil-dialog-move .luckysheet-postil-dialog-move-item-l{width:3px;height:100%;border-right:1px solid #000;left:-4px;top:0}.luckysheet-postil-show-active .luckysheet-postil-dialog-move .luckysheet-postil-dialog-move-item{border-color:#0188fb}.luckysheet-postil-dialog-resize{position:absolute;margin:0;padding:0;top:-2px;left:-2px;bottom:-2px;right:-2px;pointer-events:none}.luckysheet-postil-dialog-resize .luckysheet-postil-dialog-resize-item{position:absolute;height:6px;width:6px;border:1px solid #0188fb;pointer-events:all}.luckysheet-postil-dialog-resize .luckysheet-postil-dialog-resize-item-lt{left:-6px;top:-6px;cursor:se-resize}.luckysheet-postil-dialog-resize .luckysheet-postil-dialog-resize-item-mt{left:50%;top:-6px;margin-left:-4px;cursor:s-resize}.luckysheet-postil-dialog-resize .luckysheet-postil-dialog-resize-item-lm{top:50%;left:-6px;margin-top:-4px;cursor:w-resize}.luckysheet-postil-dialog-resize .luckysheet-postil-dialog-resize-item-rm{top:50%;right:-6px;margin-top:-4px;cursor:w-resize}.luckysheet-postil-dialog-resize .luckysheet-postil-dialog-resize-item-rt{right:-6px;top:-6px;cursor:ne-resize}.luckysheet-postil-dialog-resize .luckysheet-postil-dialog-resize-item-lb{left:-6px;bottom:-6px;cursor:ne-resize}.luckysheet-postil-dialog-resize .luckysheet-postil-dialog-resize-item-mb{left:50%;bottom:-6px;margin-left:-4px;cursor:s-resize}.luckysheet-postil-dialog-resize .luckysheet-postil-dialog-resize-item-rb{right:-6px;bottom:-6px;cursor:se-resize}.luckysheet-datavisual-config .luckysheet-datavisual-accordion-content:last-child{padding-bottom:100px}.luckysheet-datavisual-left .el-tabs__content{overflow:auto}#luckysheet-modal-dialog-activeImage .luckysheet-modal-dialog-content{width:100%;height:100%;position:absolute;left:0;top:0;cursor:move;image-rendering:-moz-crisp-edges;image-rendering:-o-crisp-edges;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}#luckysheet-modal-dialog-cropping::before{content:"";outline:1px solid #fff;position:absolute;left:33.3%;right:33.3%;top:0;bottom:0;z-index:1;pointer-events:none}#luckysheet-modal-dialog-cropping::after{content:"";outline:1px solid #fff;position:absolute;left:0;right:0;top:33.3%;bottom:33.3%;z-index:1;pointer-events:none}#luckysheet-modal-dialog-cropping .cropping-mask{filter:brightness(.5);position:absolute;background-size:100% 100%;left:0;top:0}#luckysheet-modal-dialog-cropping .cropping-content{position:absolute;overflow:hidden;background-position:0 0;left:0;top:0;width:100%;height:100%}#luckysheet-modal-dialog-cropping .luckysheet-modal-dialog-resize{border:none;position:absolute;margin:0;padding:0;top:0;left:0;bottom:0;right:0;pointer-events:all}#luckysheet-modal-dialog-cropping .resize-item{width:0;height:0;background:0 0;border:none;position:absolute;z-index:3}#luckysheet-modal-dialog-cropping .resize-item::before{content:"";display:block;position:absolute;background:#000}#luckysheet-modal-dialog-cropping .resize-item::after{content:"";display:block;position:absolute;background:#000}#luckysheet-modal-dialog-cropping .lt{left:0;top:0;cursor:nwse-resize}#luckysheet-modal-dialog-cropping .lt::before{width:18px;height:4px;left:0;top:0;border-right:2px solid #fff;border-bottom:2px solid #fff}#luckysheet-modal-dialog-cropping .lt::after{width:4px;height:14px;left:0;top:4px;border-right:2px solid #fff;border-bottom:2px solid #fff}#luckysheet-modal-dialog-cropping .mt{left:50%;top:0;cursor:ns-resize}#luckysheet-modal-dialog-cropping .mt::before{width:18px;height:4px;left:-11px;top:0;border-left:2px solid #fff;border-right:2px solid #fff;border-bottom:2px solid #fff}#luckysheet-modal-dialog-cropping .rt{right:0;top:0;cursor:nesw-resize}#luckysheet-modal-dialog-cropping .rt::before{width:18px;height:4px;right:0;top:0;border-left:2px solid #fff;border-bottom:2px solid #fff}#luckysheet-modal-dialog-cropping .rt::after{width:4px;height:14px;right:0;top:4px;border-left:2px solid #fff;border-bottom:2px solid #fff}#luckysheet-modal-dialog-cropping .lm{left:0;top:50%;cursor:ew-resize}#luckysheet-modal-dialog-cropping .lm::before{width:4px;height:18px;left:0;top:-11px;border-right:2px solid #fff;border-top:2px solid #fff;border-bottom:2px solid #fff}#luckysheet-modal-dialog-cropping .rm{right:0;top:50%;cursor:ew-resize}#luckysheet-modal-dialog-cropping .rm::before{width:4px;height:18px;right:0;top:-11px;border-left:2px solid #fff;border-top:2px solid #fff;border-bottom:2px solid #fff}#luckysheet-modal-dialog-cropping .lb{left:0;bottom:0;cursor:nesw-resize}#luckysheet-modal-dialog-cropping .lb::before{width:18px;height:4px;left:0;bottom:0;border-right:2px solid #fff;border-top:2px solid #fff}#luckysheet-modal-dialog-cropping .lb::after{width:4px;height:14px;left:0;bottom:4px;border-right:2px solid #fff;border-top:2px solid #fff}#luckysheet-modal-dialog-cropping .rb{right:0;bottom:0;cursor:nwse-resize}#luckysheet-modal-dialog-cropping .rb::before{width:18px;height:4px;right:0;bottom:0;border-left:2px solid #fff;border-top:2px solid #fff}#luckysheet-modal-dialog-cropping .rb::after{width:4px;height:14px;right:0;bottom:4px;border-left:2px solid #fff;border-top:2px solid #fff}#luckysheet-modal-dialog-cropping .mb{left:50%;bottom:0;cursor:ns-resize}#luckysheet-modal-dialog-cropping .mb::before{width:18px;height:4px;left:-11px;bottom:0;border-left:2px solid #fff;border-right:2px solid #fff;border-top:2px solid #fff}#luckysheet-modal-dialog-slider-imageCtrl .luckysheet-modal-dialog-slider-content{background-color:#fff}#luckysheet-modal-dialog-slider-imageCtrl .slider-box{border-bottom:1px solid #e1e4e8}#luckysheet-modal-dialog-slider-imageCtrl .slider-box .slider-box-title{padding:10px 20px;font-weight:600}#luckysheet-modal-dialog-slider-imageCtrl .slider-box .slider-box-radios{padding:10px 30px}#luckysheet-modal-dialog-slider-imageCtrl .slider-box .radio-item{margin-bottom:10px}#luckysheet-modal-dialog-slider-imageCtrl .slider-box .radio-item:last-child{margin-bottom:0}#luckysheet-modal-dialog-slider-imageCtrl .slider-box .radio-item input{vertical-align:sub}#luckysheet-modal-dialog-slider-imageCtrl .slider-box .slider-box-checkbox{padding:10px 30px;border-top:1px solid #e1e4e8}#luckysheet-modal-dialog-slider-imageCtrl .slider-box .slider-box-checkbox input{vertical-align:middle}#luckysheet-modal-dialog-slider-imageCtrl .slider-box .slider-box-borderConfig{padding:10px 30px}#luckysheet-modal-dialog-slider-imageCtrl .slider-box .border-item{margin-bottom:10px}#luckysheet-modal-dialog-slider-imageCtrl .slider-box .border-item:last-child{margin-bottom:0}#luckysheet-modal-dialog-slider-imageCtrl .slider-box .border-item label{display:inline-block;width:40px}#luckysheet-modal-dialog-slider-imageCtrl .slider-box .border-item input{width:130px;padding:5px}#luckysheet-modal-dialog-slider-imageCtrl .slider-box .border-item .imgItemBorderColor{display:inline-block;width:20px;height:20px;padding:2px;border:1px solid #e1e4e8;vertical-align:middle;cursor:pointer}#luckysheet-modal-dialog-slider-imageCtrl .slider-box .border-item .imgItemBorderColor span{display:block;width:100%;height:100%}#luckysheet-imageCtrl-colorSelect-dialog .currenColor{font-size:12px;margin-bottom:5px}#luckysheet-imageCtrl-colorSelect-dialog .currenColor span{display:inline-block;width:16px;height:16px;border:solid 1px #d0d0d0;margin-left:5px;margin-bottom:-5px;cursor:pointer}#luckysheet-modal-dialog-activeImage,#luckysheet-modal-dialog-cropping{background:0 0;box-shadow:none}.luckysheet-modal-dialog-image{border:none;box-shadow:none;background:0 0;box-shadow:none;image-rendering:-moz-crisp-edges;image-rendering:-o-crisp-edges;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}#luckysheet-modal-dialog-activeImage .luckysheet-modal-dialog-content,.luckysheet-modal-dialog-image .luckysheet-modal-dialog-content{background:0 0}.cell-date-picker{position:absolute;display:none}#luckysheet-insertLink-dialog{user-select:none}#luckysheet-insertLink-dialog .box{font-size:12px}#luckysheet-insertLink-dialog .box-item{height:30px;line-height:30px;margin-bottom:10px}#luckysheet-insertLink-dialog .box-item label{display:inline-block;width:90px;text-align:right;margin-right:10px}#luckysheet-insertLink-dialog .box-item input{width:200px;height:30px;padding:0 10px;border:1px solid #d4d4d4;outline-style:none;box-sizing:border-box}#luckysheet-insertLink-dialog .box-item select{width:200px;height:30px;padding:0 5px;border:1px solid #d4d4d4;outline-style:none;box-sizing:border-box}#luckysheet-dataVerification-dialog{user-select:none}#luckysheet-dataVerification-dialog .box{font-size:12px}#luckysheet-dataVerification-dialog .box select{width:100%;height:30px;border-color:#d4d4d4;outline-style:none}#luckysheet-dataVerification-dialog .box input::-webkit-input-placeholder{color:#d4d4d4}#luckysheet-dataVerification-dialog .box input:-moz-placeholder{color:#d4d4d4}#luckysheet-dataVerification-dialog .box input::-moz-placeholder{color:#d4d4d4}#luckysheet-dataVerification-dialog .box input:-ms-input-placeholder{color:#d4d4d4}#luckysheet-dataVerification-dialog .box-item{padding:10px;border-bottom:1px solid #e1e4e8}#luckysheet-dataVerification-dialog .box-item .box-item-title{font-size:14px;font-weight:600;margin-bottom:10px}#luckysheet-dataVerification-dialog .box-item .range{width:100%;height:30px;border:1px solid #d4d4d4}#luckysheet-dataVerification-dialog .box-item .range input{width:calc(100% - 30px);height:30px;padding:0 10px;float:left;border:none;outline-style:none;box-sizing:border-box}#luckysheet-dataVerification-dialog .box-item .range i.fa-table{float:right;margin-top:9px;margin-right:5px;cursor:pointer;color:#6598f3}#luckysheet-dataVerification-dialog .box-item .multi{margin-top:10px;line-height:30px;font-size:12px}#luckysheet-dataVerification-dialog .box-item .multi input{vertical-align:text-top}#luckysheet-dataVerification-dialog .box-item .show-box{margin-top:10px}#luckysheet-dataVerification-dialog .box-item .check-box{height:30px;line-height:30px;margin-bottom:10px}#luckysheet-dataVerification-dialog .box-item .check-box:last-child{margin-bottom:0}#luckysheet-dataVerification-dialog .box-item .check-box input{height:30px;padding:0 10px;border:1px solid #d4d4d4;box-sizing:border-box}#luckysheet-dataVerification-dialog .box-item .check{line-height:30px}#luckysheet-dataVerification-dialog .box-item .check input{vertical-align:text-top}#luckysheet-dataVerification-dialog .box-item .input{height:30px;line-height:30px;margin-top:10px}#luckysheet-dataVerification-dialog .box-item .input input{height:30px;padding:4px 10px 4px 10px;border:1px solid #d4d4d4;box-sizing:border-box}#luckysheet-dataVerification-dialog .box-item .input1 input{width:150px}#luckysheet-dataVerification-dialog .box-item .input2 input{width:100%}#luckysheet-dataVerification-dialog .box-item .input span{display:inline-block;width:30px;text-align:center}#luckysheet-dataVerification-dialog .data-verification-hint-text{width:100%;height:30px;border:1px solid #d4d4d4;margin-top:10px}#luckysheet-dataVerification-dialog .data-verification-hint-text input{display:block;width:100%;height:100%;padding:0 10px;border:none;outline-style:none;box-sizing:border-box}#luckysheet-dataVerification-dialog .show-box .show-box-item{display:none}#luckysheet-dataVerificationRange-dialog input{height:30px;padding:0 10px;border:1px solid #d4d4d4;outline-style:none}#luckysheet-dataVerification-dropdown-btn{display:none;width:20px;height:20px;background-color:#fff;position:absolute;z-index:10;overflow:hidden}#luckysheet-formula-refresh{display:none;position:absolute;z-index:10}#luckysheet-dataVerification-dropdown-btn::after{content:"";width:10px;height:10px;background:url(arrow-down.png) center no-repeat;position:absolute;left:50%;top:50%;margin-left:-5px;margin-top:-5px}#luckysheet-dataVerification-dropdown-List{display:none;background-color:#fff;border:1px solid #ccc;box-shadow:0 2px 4px rgba(0,0,0,.2);position:absolute;z-index:10000;box-sizing:border-box}#luckysheet-dataVerification-dropdown-List .dropdown-List-item{padding:5px 10px;box-sizing:border-box;cursor:pointer}#luckysheet-dataVerification-dropdown-List .dropdown-List-item.multi{padding-left:0}#luckysheet-dataVerification-dropdown-List .dropdown-List-item.multi:before{content:"";width:14px;font-family:iconfont!important;font-size:12px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;margin-right:2px}#luckysheet-dataVerification-dropdown-List .dropdown-List-item.multi.checked:before{content:"\e7c8"}#luckysheet-dataVerification-dropdown-List .dropdown-List-item:hover{background-color:#e1e1e1}#luckysheet-dataVerification-showHintBox{display:none;padding:10px;background-color:#fff;border:1px solid #ccc;box-shadow:0 2px 4px rgba(0,0,0,.2);position:absolute;z-index:1000;user-select:none;cursor:default;white-space:nowrap}#luckysheet-icon-redo.disabled,#luckysheet-icon-undo.disabled{cursor:default;opacity:.4}#luckysheet-modal-dialog-slider-protection .luckysheet-modal-dialog-slider-content{background:#fff}.luckysheet-slider-protection-config{position:absolute;width:100%}.luckysheet-slider-protection-row{position:relative;width:98%;height:35px;left:1%}.luckysheet-slider-protection-column{position:absolute;height:100%}.luckysheet-protection-rangeItem-dialog input,.luckysheet-protection-rangeItem-dialog textarea,.luckysheet-protection-sheet-validation input,.luckysheet-slider-protection-config input,.luckysheet-slider-protection-config textarea{border:1px solid #d4d4d4;outline:0}.luckysheet-protection-rangeItem-dialog input:focus,.luckysheet-protection-rangeItem-dialog textarea:focus,.luckysheet-protection-sheet-validation input:focus,.luckysheet-slider-protection-config input:focus,.luckysheet-slider-protection-config textarea:focus{border:1px solid #0389fb;outline:0}.luckysheet-protection-input{width:100%;height:19px;position:relative}.luckysheet-protection-textarea{width:100%;height:47px;position:relative;resize:none}.luckysheet-protection-column-2x{width:20%}.luckysheet-protection-column-3x{width:30%}.luckysheet-protection-column-4x{width:40%}.luckysheet-protection-column-5x{width:50%}.luckysheet-protection-column-6x{width:60%}.luckysheet-protection-column-7x{width:70%}.luckysheet-protection-column-8x{width:80%}.luckysheet-protection-column-9x{width:90%}.luckysheet-protection-column-10x{width:100%}.luckysheet-protection-column-left{text-align:left}.luckysheet-protection-column-center{text-align:center}.luckysheet-protection-column-right{text-align:right}.luckysheet-slider-protection-ok{position:absolute;width:100%;height:100%;background:#0188fb;color:#fff;text-align:center;line-height:45px;font-size:16px;cursor:pointer}.luckysheet-slider-protection-ok:hover{background:#0181ee}.luckysheet-slider-protection-ok:active{background:#0074da}.luckysheet-slider-protection-cancel{position:absolute;width:100%;height:100%;background:#e6e6e6;color:#353535;text-align:center;line-height:45px;font-size:16px;cursor:pointer}.luckysheet-slider-protection-cancel:hover{background:#d6d6d6}.luckysheet-slider-protection-cancel:active{background:#c7c7c7}.luckysheet-slider-protection-addRange{line-height:23px;font-size:12px;top:2px;height:23px}.luckysheet-protection-rangeItem{position:relative;width:100%;height:30px;line-height:30px;font-size:12px;overflow:hidden}.luckysheet-protection-rangeItem:hover{background:#d5d5d5}.luckysheet-protection-rangeItem>div{position:absolute;height:100%;text-align:center;overflow:hidden}.luckysheet-protection-rangeItem .luckysheet-protection-rangeItem-del{left:5px;top:5px;height:20px;width:20px;font-size:14px;line-height:20px;cursor:pointer}.luckysheet-protection-rangeItem .luckysheet-protection-rangeItem-name{left:30px;width:80px;text-align:left}.luckysheet-protection-rangeItem .luckysheet-protection-rangeItem-range{left:110px;width:120px}.luckysheet-protection-rangeItem .luckysheet-protection-rangeItem-update{left:230px;width:30px;font-size:14px;top:5px;height:20px;width:20px;line-height:20px;cursor:pointer}.luckysheet-protection-rangeItem .luckysheet-protection-rangeItem-del:hover,.luckysheet-protection-rangeItem .luckysheet-protection-rangeItem-update:hover{background:#0181ee;color:#fff}.luckysheet-protection-rangeItem .luckysheet-protection-rangeItem-del:active,.luckysheet-protection-rangeItem .luckysheet-protection-rangeItem-update:active{background:#0074da;color:#fff}.luckysheet-protection-rangeItem-content{position:relative;width:350px;height:270px}#luckysheet-protection-rangeItem-dialog .luckysheet-slider-protection-column .range{width:100%;height:30px;border:1px solid #d4d4d4}#luckysheet-protection-rangeItem-dialog .luckysheet-slider-protection-column .range input{width:calc(100% - 30px);height:30px;padding:0 10px;float:left;border:none;outline-style:none;box-sizing:border-box}#luckysheet-protection-rangeItem-dialog .luckysheet-slider-protection-column .range i.fa-table{float:right;margin-top:9px;margin-right:5px;cursor:pointer;color:#6598f3}.luckysheet-protection-rangeItemTextarea{width:100%;height:120px;position:relative;resize:none}.luckysheet-protection-rangeItemiInput{width:100%;height:23px;position:relative}.luckysheet-protection-sheet-validation{width:390px;height:180px;display:none}.luckysheet-zoom-content{position:relative;float:right;width:210px;height:22px;line-height:22px;text-align:right;padding-right:10px;white-space:nowrap;overflow:hidden;display:flex;align-items:center;user-select:none}.luckysheet-zoom-content .luckysheet-zoom-minus{position:absolute;top:0;left:0;width:20px;height:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.luckysheet-zoom-content .luckysheet-zoom-minus-icon{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTRweCIgaGVpZ2h0PSIycHgiIHZpZXdCb3g9IjAgMCAxNCAyIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA2MyAoOTI0NDUpIC0gaHR0cHM6Ly9za2V0Y2guY29tIC0tPgogICAgPHRpdGxlPnJpcWlxdWppYW7lpIfku70gNDU8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZyBpZD0iMjAyMC8wOC8xNCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IueUu+adv+Wkh+S7vS0yIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcwNC4wMDAwMDAsIC0xMDY0LjAwMDAwMCkiIGZpbGw9IiM0NDRENUEiPgogICAgICAgICAgICA8ZyBpZD0icmlxaXF1amlhbuWkh+S7vS0xMjYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2OTkuMDAwMDAwLCAxMDUzLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPGcgaWQ9Iue8lue7hCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNS4wMDAwMDAsIDExLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIHg9IjAiIHk9IjAiIHdpZHRoPSIxNCIgaGVpZ2h0PSIyIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==);width:14px;height:2px}.luckysheet-zoom-content .luckysheet-zoom-minus:hover{background-color:#e1e4e8}.luckysheet-zoom-content .luckysheet-zoom-slider{position:absolute;top:0;left:25px;width:100px;height:100%;display:flex;align-items:center}.luckysheet-zoom-content .luckysheet-zoom-slider .luckysheet-zoom-line{position:absolute;top:10px;width:100px;height:2px;background:#e1e4e8}.luckysheet-zoom-content .luckysheet-zoom-slider .luckysheet-zoom-cursor{position:absolute;top:7px;width:8px;height:8px;border-radius:8px;background:#b5bdb8;cursor:pointer;z-index:2;transition:all .3s}.luckysheet-zoom-content .luckysheet-zoom-slider .luckysheet-zoom-cursor:hover{transform:scale(1.2);transform-origin:center center;background:#a0a0a0}.luckysheet-zoom-content .luckysheet-zoom-slider .luckysheet-zoom-hundred{position:absolute;top:9px;width:2px;height:4px;left:49px;background:#1e1e1f}.luckysheet-zoom-content .luckysheet-zoom-plus{position:absolute;top:0;left:130px;width:20px;height:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.luckysheet-zoom-content .luckysheet-zoom-plus .luckysheet-zoom-plus-icon{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTRweCIgaGVpZ2h0PSIxNHB4IiB2aWV3Qm94PSIwIDAgMTQgMTQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYzICg5MjQ0NSkgLSBodHRwczovL3NrZXRjaC5jb20gLS0+CiAgICA8dGl0bGU+cmlxaXF1amlhbuWkh+S7vSA0NjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxnIGlkPSIyMDIwLzA4LzE0IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0i55S75p2/5aSH5Lu9LTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xODQ4LjAwMDAwMCwgLTEwNTguMDAwMDAwKSIgZmlsbD0iIzQ0NEQ1QSI+CiAgICAgICAgICAgIDxnIGlkPSJyaXFpcXVqaWFu5aSH5Lu9LTExOSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTg0My4wMDAwMDAsIDEwNTMuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8ZyBpZD0i57yW57uEIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1LjAwMDAwMCwgNS4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICA8cmVjdCBpZD0i55+p5b2iIiB4PSIwIiB5PSI2IiB3aWR0aD0iMTQiIGhlaWdodD0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaLlpIfku70iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcuMDAwMDAwLCA3LjAwMDAwMCkgcm90YXRlKC0yNzAuMDAwMDAwKSB0cmFuc2xhdGUoLTcuMDAwMDAwLCAtNy4wMDAwMDApICIgeD0iMCIgeT0iNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+);width:14px;height:14px}.luckysheet-zoom-content .luckysheet-zoom-plus:hover{background-color:#e1e4e8}.luckysheet-zoom-content .luckysheet-zoom-ratioText{position:absolute;top:0;left:155px;width:60px;color:#1e1e1f;font-size:12px;text-align:left;cursor:pointer}.luckysheet-zoom-content .luckysheet-zoom-ratioText:hover{background-color:#e1e4e8}.flatpickr-calendar{background:0 0;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-box-shadow:0 3px 13px rgba(0,0,0,.08);box-shadow:0 3px 13px rgba(0,0,0,.08)}.flatpickr-calendar.inline,.flatpickr-calendar.open{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1);animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasTime .dayContainer,.flatpickr-calendar .hasWeeks .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #eceef1}.flatpickr-calendar.hasTime .flatpickr-innerContainer{border-bottom:0}.flatpickr-calendar.hasTime .flatpickr-time{border:1px solid #eceef1}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:after,.flatpickr-calendar:before{position:absolute;display:block;pointer-events:none;border:solid transparent;content:'';height:0;width:0;left:22px}.flatpickr-calendar.arrowRight:after,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.rightMost:before{left:auto;right:22px}.flatpickr-calendar.arrowCenter:after,.flatpickr-calendar.arrowCenter:before{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:after,.flatpickr-calendar.arrowTop:before{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#eceef1}.flatpickr-calendar.arrowTop:after{border-bottom-color:#eceef1}.flatpickr-calendar.arrowBottom:after,.flatpickr-calendar.arrowBottom:before{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#eceef1}.flatpickr-calendar.arrowBottom:after{border-top-color:#eceef1}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{border-radius:5px 5px 0 0;background:#eceef1;color:#5a6171;fill:#5a6171;height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-next-month,.flatpickr-months .flatpickr-prev-month{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:#5a6171;fill:#5a6171}.flatpickr-months .flatpickr-next-month.flatpickr-disabled,.flatpickr-months .flatpickr-prev-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-next-month i,.flatpickr-months .flatpickr-prev-month i{position:relative}.flatpickr-months .flatpickr-next-month.flatpickr-prev-month,.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-next-month.flatpickr-next-month,.flatpickr-months .flatpickr-prev-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-next-month:hover,.flatpickr-months .flatpickr-prev-month:hover{color:#bbb}.flatpickr-months .flatpickr-next-month:hover svg,.flatpickr-months .flatpickr-prev-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-next-month svg,.flatpickr-months .flatpickr-prev-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-next-month svg path,.flatpickr-months .flatpickr-prev-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-inner-spin-button,.numInputWrapper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(72,72,72,.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,.1)}.numInputWrapper span:active{background:rgba(0,0,0,.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(72,72,72,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(72,72,72,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:rgba(90,97,113,.5)}.numInputWrapper:hover{background:rgba(0,0,0,.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .numInputWrapper{width:6ch;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:#5a6171}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:#5a6171}.flatpickr-current-month input.cur-year{background:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(90,97,113,.5);background:0 0;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:#eceef1;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:0;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:active,.flatpickr-current-month .flatpickr-monthDropdown-months:focus{outline:0}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:#eceef1;outline:0;padding:0}.flatpickr-weekdays{background:#eceef1;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:#eceef1;color:#5a6171;line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px;border-left:1px solid #eceef1;border-right:1px solid #eceef1}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #eceef1;box-shadow:-1px 0 0 #eceef1}.flatpickr-day{background:0 0;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#484848;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day.nextMonthDay:focus,.flatpickr-day.nextMonthDay:hover,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.today.inRange,.flatpickr-day:focus,.flatpickr-day:hover{cursor:pointer;outline:0;background:#e2e2e2;border-color:#e2e2e2}.flatpickr-day.today{border-color:#bbb}.flatpickr-day.today:focus,.flatpickr-day.today:hover{border-color:#bbb;background:#bbb;color:#fff}.flatpickr-day.endRange,.flatpickr-day.endRange.inRange,.flatpickr-day.endRange.nextMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.endRange:focus,.flatpickr-day.endRange:hover,.flatpickr-day.selected,.flatpickr-day.selected.inRange,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.selected:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange,.flatpickr-day.startRange.inRange,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.startRange:focus,.flatpickr-day.startRange:hover{background:#ff5a5f;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#ff5a5f}.flatpickr-day.endRange.startRange,.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.endRange.endRange,.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #ff5a5f;box-shadow:-10px 0 0 #ff5a5f}.flatpickr-day.endRange.startRange.endRange,.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e2e2e2,5px 0 0 #e2e2e2;box-shadow:-5px 0 0 #e2e2e2,5px 0 0 #e2e2e2}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.nextMonthDay,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.prevMonthDay{color:rgba(72,72,72,.3);background:0 0;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(72,72,72,.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #ff5a5f,5px 0 0 #ff5a5f;box-shadow:-5px 0 0 #ff5a5f,5px 0 0 #ff5a5f}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;border-left:1px solid #eceef1}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(72,72,72,.3);background:0 0;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;background:#fff;border-bottom:1px solid #eceef1}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;background:#fff;border-radius:0 0 5px 5px}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#484848}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#484848}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:0 0;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#484848;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:700}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-am-pm,.flatpickr-time .flatpickr-time-separator{height:inherit;float:left;line-height:inherit;color:#484848;font-weight:700;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time .flatpickr-am-pm:focus,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time input:hover{background:#eaeaea}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}span.flatpickr-day.selected{font-weight:700} \ No newline at end of file diff --git a/server/src/main/resources/static/xlsx/demoData/demoFeature.js b/server/src/main/resources/static/xlsx/demoData/demoFeature.js index c404cb39..53b16bd3 100644 --- a/server/src/main/resources/static/xlsx/demoData/demoFeature.js +++ b/server/src/main/resources/static/xlsx/demoData/demoFeature.js @@ -1,12 +1,12 @@ // Features specially written for demo -(function() { +(function () { // language function language(params) { - - var lang = navigator.language||navigator.userLanguage;//常规浏览器语言和IE浏览器 + + var lang = navigator.language || navigator.userLanguage;//常规浏览器语言和IE浏览器 lang = lang.substr(0, 2);//截取lang前2位字符 return lang; @@ -17,9 +17,9 @@ const text = language() === 'zh' ? '反馈' : 'Forum'; const link = language() === 'zh' ? 'https://support.qq.com/product/288322' : 'https://groups.google.com/g/luckysheet'; - document.querySelector("body").insertAdjacentHTML('beforeend', ''+ text +''); + document.querySelector("body").insertAdjacentHTML('beforeend', '' + text + ''); } - + supportButton() /** @@ -27,16 +27,16 @@ */ function getRequest() { var vars = {}; - var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, - function(m,key,value) { - vars[key] = value; - }); + var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, + function (m, key, value) { + vars[key] = value; + }); return vars; } window.luckysheetDemoUtil = { - language:language, - getRequest:getRequest + language: language, + getRequest: getRequest } - + })() \ No newline at end of file diff --git a/server/src/main/resources/static/xlsx/luckyexcel.umd.js b/server/src/main/resources/static/xlsx/luckyexcel.umd.js index 633275f6..e2daa1cd 100644 --- a/server/src/main/resources/static/xlsx/luckyexcel.umd.js +++ b/server/src/main/resources/static/xlsx/luckyexcel.umd.js @@ -1,205 +1,176 @@ -(function(f) { - if (typeof exports === "object" && typeof module !== "undefined") { - module.exports = f() - } else if (typeof define === "function" && define.amd) { - define([], f) - } else { - var g; - if (typeof window !== "undefined") { - g = window - } else if (typeof global !== "undefined") { - g = global - } else if (typeof self !== "undefined") { - g = self - } else { - g = this - } - g.LuckyExcel = f() - } -} -)(function() { - var define, module, exports; - return (function() { - function r(e, n, t) { - function o(i, f) { - if (!n[i]) { - if (!e[i]) { - var c = "function" == typeof require && require; - if (!f && c) - return c(i, !0); - if (u) - return u(i, !0); - var a = new Error("Cannot find module '" + i + "'"); - throw a.code = "MODULE_NOT_FOUND", - a - } - var p = n[i] = { - exports: {} - }; - e[i][0].call(p.exports, function(r) { - var n = e[i][1][r]; - return o(n || r) - }, p, p.exports, r, e, n, t) - } - return n[i].exports - } - for (var u = "function" == typeof require && require, i = 0; i < t.length; i++) - o(t[i]); - return o - } - return r - } - )()({ - 1: [function(require, module, exports) { - 'use strict' - - exports.byteLength = byteLength - exports.toByteArray = toByteArray - exports.fromByteArray = fromByteArray - - var lookup = [] - var revLookup = [] - var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array - - var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' - for (var i = 0, len = code.length; i < len; ++i) { - lookup[i] = code[i] - revLookup[code.charCodeAt(i)] = i - } - - // Support decoding URL-safe base64 strings, as Node.js does. - // See: https://en.wikipedia.org/wiki/Base64#URL_applications - revLookup['-'.charCodeAt(0)] = 62 - revLookup['_'.charCodeAt(0)] = 63 - - function getLens(b64) { - var len = b64.length - - if (len % 4 > 0) { - throw new Error('Invalid string. Length must be a multiple of 4') - } +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.LuckyExcel = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i 0 ? validLen - 4 : validLen + if (len % 4 > 0) { + throw new Error('Invalid string. Length must be a multiple of 4') + } - var i - for (i = 0; i < len; i += 4) { - tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)] - arr[curByte++] = (tmp >> 16) & 0xFF - arr[curByte++] = (tmp >> 8) & 0xFF - arr[curByte++] = tmp & 0xFF - } + // Trim off extra bytes after placeholder bytes are found + // See: https://github.com/beatgammit/base64-js/issues/42 + var validLen = b64.indexOf('=') + if (validLen === -1) validLen = len - if (placeHoldersLen === 2) { - tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4) - arr[curByte++] = tmp & 0xFF - } + var placeHoldersLen = validLen === len + ? 0 + : 4 - (validLen % 4) - if (placeHoldersLen === 1) { - tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2) - arr[curByte++] = (tmp >> 8) & 0xFF - arr[curByte++] = tmp & 0xFF - } + return [validLen, placeHoldersLen] +} - return arr - } +// base64 is 4/3 + up to two characters of the original data +function byteLength (b64) { + var lens = getLens(b64) + var validLen = lens[0] + var placeHoldersLen = lens[1] + return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen +} - function tripletToBase64(num) { - return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F] - } +function _byteLength (b64, validLen, placeHoldersLen) { + return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen +} - function encodeChunk(uint8, start, end) { - var tmp - var output = [] - for (var i = start; i < end; i += 3) { - tmp = ((uint8[i] << 16) & 0xFF0000) + ((uint8[i + 1] << 8) & 0xFF00) + (uint8[i + 2] & 0xFF) - output.push(tripletToBase64(tmp)) - } - return output.join('') - } +function toByteArray (b64) { + var tmp + var lens = getLens(b64) + var validLen = lens[0] + var placeHoldersLen = lens[1] + + var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)) + + var curByte = 0 + + // if there are placeholders, only get up to the last complete 4 chars + var len = placeHoldersLen > 0 + ? validLen - 4 + : validLen + + var i + for (i = 0; i < len; i += 4) { + tmp = + (revLookup[b64.charCodeAt(i)] << 18) | + (revLookup[b64.charCodeAt(i + 1)] << 12) | + (revLookup[b64.charCodeAt(i + 2)] << 6) | + revLookup[b64.charCodeAt(i + 3)] + arr[curByte++] = (tmp >> 16) & 0xFF + arr[curByte++] = (tmp >> 8) & 0xFF + arr[curByte++] = tmp & 0xFF + } + + if (placeHoldersLen === 2) { + tmp = + (revLookup[b64.charCodeAt(i)] << 2) | + (revLookup[b64.charCodeAt(i + 1)] >> 4) + arr[curByte++] = tmp & 0xFF + } + + if (placeHoldersLen === 1) { + tmp = + (revLookup[b64.charCodeAt(i)] << 10) | + (revLookup[b64.charCodeAt(i + 1)] << 4) | + (revLookup[b64.charCodeAt(i + 2)] >> 2) + arr[curByte++] = (tmp >> 8) & 0xFF + arr[curByte++] = tmp & 0xFF + } + + return arr +} - function fromByteArray(uint8) { - var tmp - var len = uint8.length - var extraBytes = len % 3 - // if we have 1 byte left, pad 2 bytes - var parts = [] - var maxChunkLength = 16383 - // must be multiple of 3 - - // go through the array every three bytes, we'll deal with trailing stuff later - for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { - parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength))) - } +function tripletToBase64 (num) { + return lookup[num >> 18 & 0x3F] + + lookup[num >> 12 & 0x3F] + + lookup[num >> 6 & 0x3F] + + lookup[num & 0x3F] +} - // pad the end with zeros, but make sure to not forget the extra bytes - if (extraBytes === 1) { - tmp = uint8[len - 1] - parts.push(lookup[tmp >> 2] + lookup[(tmp << 4) & 0x3F] + '==') - } else if (extraBytes === 2) { - tmp = (uint8[len - 2] << 8) + uint8[len - 1] - parts.push(lookup[tmp >> 10] + lookup[(tmp >> 4) & 0x3F] + lookup[(tmp << 2) & 0x3F] + '=') - } +function encodeChunk (uint8, start, end) { + var tmp + var output = [] + for (var i = start; i < end; i += 3) { + tmp = + ((uint8[i] << 16) & 0xFF0000) + + ((uint8[i + 1] << 8) & 0xFF00) + + (uint8[i + 2] & 0xFF) + output.push(tripletToBase64(tmp)) + } + return output.join('') +} - return parts.join('') - } +function fromByteArray (uint8) { + var tmp + var len = uint8.length + var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes + var parts = [] + var maxChunkLength = 16383 // must be multiple of 3 + + // go through the array every three bytes, we'll deal with trailing stuff later + for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { + parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength))) + } + + // pad the end with zeros, but make sure to not forget the extra bytes + if (extraBytes === 1) { + tmp = uint8[len - 1] + parts.push( + lookup[tmp >> 2] + + lookup[(tmp << 4) & 0x3F] + + '==' + ) + } else if (extraBytes === 2) { + tmp = (uint8[len - 2] << 8) + uint8[len - 1] + parts.push( + lookup[tmp >> 10] + + lookup[(tmp >> 4) & 0x3F] + + lookup[(tmp << 2) & 0x3F] + + '=' + ) + } + + return parts.join('') +} - } - , {}], - 2: [function(require, module, exports) { - (function(global, Buffer) { - /*! +},{}],2:[function(require,module,exports){ +(function (global,Buffer){ +/*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT */ - /* eslint-disable no-proto */ +/* eslint-disable no-proto */ - 'use strict' +'use strict' - var base64 = require('base64-js') - var ieee754 = require('ieee754') - var isArray = require('isarray') +var base64 = require('base64-js') +var ieee754 = require('ieee754') +var isArray = require('isarray') - exports.Buffer = Buffer - exports.SlowBuffer = SlowBuffer - exports.INSPECT_MAX_BYTES = 50 +exports.Buffer = Buffer +exports.SlowBuffer = SlowBuffer +exports.INSPECT_MAX_BYTES = 50 - /** +/** * If `Buffer.TYPED_ARRAY_SUPPORT`: * === true Use Uint8Array implementation (fastest) * === false Use Object implementation (most compatible, even IE6) @@ -223,55 +194,53 @@ * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they * get the Object implementation, which is slower but behaves correctly. */ - Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined ? global.TYPED_ARRAY_SUPPORT : typedArraySupport() +Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined + ? global.TYPED_ARRAY_SUPPORT + : typedArraySupport() - /* +/* * Export kMaxLength after typed array support is determined. */ - exports.kMaxLength = kMaxLength() - - function typedArraySupport() { - try { - var arr = new Uint8Array(1) - arr.__proto__ = { - __proto__: Uint8Array.prototype, - foo: function() { - return 42 - } - } - return arr.foo() === 42 && // typed array instances can be augmented - typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray` - arr.subarray(1, 1).byteLength === 0 - // ie10 has broken `subarray` - } catch (e) { - return false - } - } +exports.kMaxLength = kMaxLength() + +function typedArraySupport () { + try { + var arr = new Uint8Array(1) + arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }} + return arr.foo() === 42 && // typed array instances can be augmented + typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray` + arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray` + } catch (e) { + return false + } +} - function kMaxLength() { - return Buffer.TYPED_ARRAY_SUPPORT ? 0x7fffffff : 0x3fffffff - } +function kMaxLength () { + return Buffer.TYPED_ARRAY_SUPPORT + ? 0x7fffffff + : 0x3fffffff +} - function createBuffer(that, length) { - if (kMaxLength() < length) { - throw new RangeError('Invalid typed array length') - } - if (Buffer.TYPED_ARRAY_SUPPORT) { - // Return an augmented `Uint8Array` instance, for best performance - that = new Uint8Array(length) - that.__proto__ = Buffer.prototype - } else { - // Fallback: Return an object instance of the Buffer class - if (that === null) { - that = new Buffer(length) - } - that.length = length - } +function createBuffer (that, length) { + if (kMaxLength() < length) { + throw new RangeError('Invalid typed array length') + } + if (Buffer.TYPED_ARRAY_SUPPORT) { + // Return an augmented `Uint8Array` instance, for best performance + that = new Uint8Array(length) + that.__proto__ = Buffer.prototype + } else { + // Fallback: Return an object instance of the Buffer class + if (that === null) { + that = new Buffer(length) + } + that.length = length + } - return that - } + return that +} - /** +/** * The Buffer constructor returns instances of `Uint8Array` that have their * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of * `Uint8Array`, so the returned instances will have all the node `Buffer` methods @@ -281,47 +250,48 @@ * The `Uint8Array` prototype remains unmodified. */ - function Buffer(arg, encodingOrOffset, length) { - if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) { - return new Buffer(arg,encodingOrOffset,length) - } - - // Common case. - if (typeof arg === 'number') { - if (typeof encodingOrOffset === 'string') { - throw new Error('If encoding is specified then the first argument must be a string') - } - return allocUnsafe(this, arg) - } - return from(this, arg, encodingOrOffset, length) - } +function Buffer (arg, encodingOrOffset, length) { + if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) { + return new Buffer(arg, encodingOrOffset, length) + } + + // Common case. + if (typeof arg === 'number') { + if (typeof encodingOrOffset === 'string') { + throw new Error( + 'If encoding is specified then the first argument must be a string' + ) + } + return allocUnsafe(this, arg) + } + return from(this, arg, encodingOrOffset, length) +} - Buffer.poolSize = 8192 - // not used by this implementation +Buffer.poolSize = 8192 // not used by this implementation - // TODO: Legacy, not needed anymore. Remove in next major version. - Buffer._augment = function(arr) { - arr.__proto__ = Buffer.prototype - return arr - } +// TODO: Legacy, not needed anymore. Remove in next major version. +Buffer._augment = function (arr) { + arr.__proto__ = Buffer.prototype + return arr +} - function from(that, value, encodingOrOffset, length) { - if (typeof value === 'number') { - throw new TypeError('"value" argument must not be a number') - } +function from (that, value, encodingOrOffset, length) { + if (typeof value === 'number') { + throw new TypeError('"value" argument must not be a number') + } - if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) { - return fromArrayBuffer(that, value, encodingOrOffset, length) - } + if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) { + return fromArrayBuffer(that, value, encodingOrOffset, length) + } - if (typeof value === 'string') { - return fromString(that, value, encodingOrOffset) - } + if (typeof value === 'string') { + return fromString(that, value, encodingOrOffset) + } - return fromObject(that, value) - } + return fromObject(that, value) +} - /** +/** * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError * if value is a number. * Buffer.from(str[, encoding]) @@ -329,13144 +299,10463 @@ * Buffer.from(buffer) * Buffer.from(arrayBuffer[, byteOffset[, length]]) **/ - Buffer.from = function(value, encodingOrOffset, length) { - return from(null, value, encodingOrOffset, length) - } +Buffer.from = function (value, encodingOrOffset, length) { + return from(null, value, encodingOrOffset, length) +} - if (Buffer.TYPED_ARRAY_SUPPORT) { - Buffer.prototype.__proto__ = Uint8Array.prototype - Buffer.__proto__ = Uint8Array - if (typeof Symbol !== 'undefined' && Symbol.species && Buffer[Symbol.species] === Buffer) { - // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97 - Object.defineProperty(Buffer, Symbol.species, { - value: null, - configurable: true - }) - } - } +if (Buffer.TYPED_ARRAY_SUPPORT) { + Buffer.prototype.__proto__ = Uint8Array.prototype + Buffer.__proto__ = Uint8Array + if (typeof Symbol !== 'undefined' && Symbol.species && + Buffer[Symbol.species] === Buffer) { + // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97 + Object.defineProperty(Buffer, Symbol.species, { + value: null, + configurable: true + }) + } +} - function assertSize(size) { - if (typeof size !== 'number') { - throw new TypeError('"size" argument must be a number') - } else if (size < 0) { - throw new RangeError('"size" argument must not be negative') - } - } +function assertSize (size) { + if (typeof size !== 'number') { + throw new TypeError('"size" argument must be a number') + } else if (size < 0) { + throw new RangeError('"size" argument must not be negative') + } +} - function alloc(that, size, fill, encoding) { - assertSize(size) - if (size <= 0) { - return createBuffer(that, size) - } - if (fill !== undefined) { - // Only pay attention to encoding if it's a string. This - // prevents accidentally sending in a number that would - // be interpretted as a start offset. - return typeof encoding === 'string' ? createBuffer(that, size).fill(fill, encoding) : createBuffer(that, size).fill(fill) - } - return createBuffer(that, size) - } +function alloc (that, size, fill, encoding) { + assertSize(size) + if (size <= 0) { + return createBuffer(that, size) + } + if (fill !== undefined) { + // Only pay attention to encoding if it's a string. This + // prevents accidentally sending in a number that would + // be interpretted as a start offset. + return typeof encoding === 'string' + ? createBuffer(that, size).fill(fill, encoding) + : createBuffer(that, size).fill(fill) + } + return createBuffer(that, size) +} - /** +/** * Creates a new filled Buffer instance. * alloc(size[, fill[, encoding]]) **/ - Buffer.alloc = function(size, fill, encoding) { - return alloc(null, size, fill, encoding) - } +Buffer.alloc = function (size, fill, encoding) { + return alloc(null, size, fill, encoding) +} - function allocUnsafe(that, size) { - assertSize(size) - that = createBuffer(that, size < 0 ? 0 : checked(size) | 0) - if (!Buffer.TYPED_ARRAY_SUPPORT) { - for (var i = 0; i < size; ++i) { - that[i] = 0 - } - } - return that - } +function allocUnsafe (that, size) { + assertSize(size) + that = createBuffer(that, size < 0 ? 0 : checked(size) | 0) + if (!Buffer.TYPED_ARRAY_SUPPORT) { + for (var i = 0; i < size; ++i) { + that[i] = 0 + } + } + return that +} - /** +/** * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. * */ - Buffer.allocUnsafe = function(size) { - return allocUnsafe(null, size) - } - /** +Buffer.allocUnsafe = function (size) { + return allocUnsafe(null, size) +} +/** * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. */ - Buffer.allocUnsafeSlow = function(size) { - return allocUnsafe(null, size) - } +Buffer.allocUnsafeSlow = function (size) { + return allocUnsafe(null, size) +} - function fromString(that, string, encoding) { - if (typeof encoding !== 'string' || encoding === '') { - encoding = 'utf8' - } +function fromString (that, string, encoding) { + if (typeof encoding !== 'string' || encoding === '') { + encoding = 'utf8' + } - if (!Buffer.isEncoding(encoding)) { - throw new TypeError('"encoding" must be a valid string encoding') - } + if (!Buffer.isEncoding(encoding)) { + throw new TypeError('"encoding" must be a valid string encoding') + } - var length = byteLength(string, encoding) | 0 - that = createBuffer(that, length) + var length = byteLength(string, encoding) | 0 + that = createBuffer(that, length) - var actual = that.write(string, encoding) + var actual = that.write(string, encoding) - if (actual !== length) { - // Writing a hex string, for example, that contains invalid characters will - // cause everything after the first invalid character to be ignored. (e.g. - // 'abxxcd' will be treated as 'ab') - that = that.slice(0, actual) - } + if (actual !== length) { + // Writing a hex string, for example, that contains invalid characters will + // cause everything after the first invalid character to be ignored. (e.g. + // 'abxxcd' will be treated as 'ab') + that = that.slice(0, actual) + } - return that - } + return that +} - function fromArrayLike(that, array) { - var length = array.length < 0 ? 0 : checked(array.length) | 0 - that = createBuffer(that, length) - for (var i = 0; i < length; i += 1) { - that[i] = array[i] & 255 - } - return that - } +function fromArrayLike (that, array) { + var length = array.length < 0 ? 0 : checked(array.length) | 0 + that = createBuffer(that, length) + for (var i = 0; i < length; i += 1) { + that[i] = array[i] & 255 + } + return that +} - function fromArrayBuffer(that, array, byteOffset, length) { - array.byteLength - // this throws if `array` is not a valid ArrayBuffer +function fromArrayBuffer (that, array, byteOffset, length) { + array.byteLength // this throws if `array` is not a valid ArrayBuffer + + if (byteOffset < 0 || array.byteLength < byteOffset) { + throw new RangeError('\'offset\' is out of bounds') + } + + if (array.byteLength < byteOffset + (length || 0)) { + throw new RangeError('\'length\' is out of bounds') + } + + if (byteOffset === undefined && length === undefined) { + array = new Uint8Array(array) + } else if (length === undefined) { + array = new Uint8Array(array, byteOffset) + } else { + array = new Uint8Array(array, byteOffset, length) + } + + if (Buffer.TYPED_ARRAY_SUPPORT) { + // Return an augmented `Uint8Array` instance, for best performance + that = array + that.__proto__ = Buffer.prototype + } else { + // Fallback: Return an object instance of the Buffer class + that = fromArrayLike(that, array) + } + return that +} - if (byteOffset < 0 || array.byteLength < byteOffset) { - throw new RangeError('\'offset\' is out of bounds') - } +function fromObject (that, obj) { + if (Buffer.isBuffer(obj)) { + var len = checked(obj.length) | 0 + that = createBuffer(that, len) - if (array.byteLength < byteOffset + (length || 0)) { - throw new RangeError('\'length\' is out of bounds') - } + if (that.length === 0) { + return that + } - if (byteOffset === undefined && length === undefined) { - array = new Uint8Array(array) - } else if (length === undefined) { - array = new Uint8Array(array,byteOffset) - } else { - array = new Uint8Array(array,byteOffset,length) - } + obj.copy(that, 0, 0, len) + return that + } + + if (obj) { + if ((typeof ArrayBuffer !== 'undefined' && + obj.buffer instanceof ArrayBuffer) || 'length' in obj) { + if (typeof obj.length !== 'number' || isnan(obj.length)) { + return createBuffer(that, 0) + } + return fromArrayLike(that, obj) + } - if (Buffer.TYPED_ARRAY_SUPPORT) { - // Return an augmented `Uint8Array` instance, for best performance - that = array - that.__proto__ = Buffer.prototype - } else { - // Fallback: Return an object instance of the Buffer class - that = fromArrayLike(that, array) - } - return that - } + if (obj.type === 'Buffer' && isArray(obj.data)) { + return fromArrayLike(that, obj.data) + } + } - function fromObject(that, obj) { - if (Buffer.isBuffer(obj)) { - var len = checked(obj.length) | 0 - that = createBuffer(that, len) + throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.') +} - if (that.length === 0) { - return that - } +function checked (length) { + // Note: cannot use `length < kMaxLength()` here because that fails when + // length is NaN (which is otherwise coerced to zero.) + if (length >= kMaxLength()) { + throw new RangeError('Attempt to allocate Buffer larger than maximum ' + + 'size: 0x' + kMaxLength().toString(16) + ' bytes') + } + return length | 0 +} - obj.copy(that, 0, 0, len) - return that - } +function SlowBuffer (length) { + if (+length != length) { // eslint-disable-line eqeqeq + length = 0 + } + return Buffer.alloc(+length) +} - if (obj) { - if ((typeof ArrayBuffer !== 'undefined' && obj.buffer instanceof ArrayBuffer) || 'length'in obj) { - if (typeof obj.length !== 'number' || isnan(obj.length)) { - return createBuffer(that, 0) - } - return fromArrayLike(that, obj) - } - - if (obj.type === 'Buffer' && isArray(obj.data)) { - return fromArrayLike(that, obj.data) - } - } +Buffer.isBuffer = function isBuffer (b) { + return !!(b != null && b._isBuffer) +} - throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.') - } +Buffer.compare = function compare (a, b) { + if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { + throw new TypeError('Arguments must be Buffers') + } - function checked(length) { - // Note: cannot use `length < kMaxLength()` here because that fails when - // length is NaN (which is otherwise coerced to zero.) - if (length >= kMaxLength()) { - throw new RangeError('Attempt to allocate Buffer larger than maximum ' + 'size: 0x' + kMaxLength().toString(16) + ' bytes') - } - return length | 0 - } + if (a === b) return 0 - function SlowBuffer(length) { - if (+length != length) { - // eslint-disable-line eqeqeq - length = 0 - } - return Buffer.alloc(+length) - } + var x = a.length + var y = b.length - Buffer.isBuffer = function isBuffer(b) { - return !!(b != null && b._isBuffer) - } + for (var i = 0, len = Math.min(x, y); i < len; ++i) { + if (a[i] !== b[i]) { + x = a[i] + y = b[i] + break + } + } - Buffer.compare = function compare(a, b) { - if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { - throw new TypeError('Arguments must be Buffers') - } + if (x < y) return -1 + if (y < x) return 1 + return 0 +} - if (a === b) - return 0 +Buffer.isEncoding = function isEncoding (encoding) { + switch (String(encoding).toLowerCase()) { + case 'hex': + case 'utf8': + case 'utf-8': + case 'ascii': + case 'latin1': + case 'binary': + case 'base64': + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return true + default: + return false + } +} - var x = a.length - var y = b.length +Buffer.concat = function concat (list, length) { + if (!isArray(list)) { + throw new TypeError('"list" argument must be an Array of Buffers') + } - for (var i = 0, len = Math.min(x, y); i < len; ++i) { - if (a[i] !== b[i]) { - x = a[i] - y = b[i] - break - } - } + if (list.length === 0) { + return Buffer.alloc(0) + } - if (x < y) - return -1 - if (y < x) - return 1 - return 0 - } + var i + if (length === undefined) { + length = 0 + for (i = 0; i < list.length; ++i) { + length += list[i].length + } + } + + var buffer = Buffer.allocUnsafe(length) + var pos = 0 + for (i = 0; i < list.length; ++i) { + var buf = list[i] + if (!Buffer.isBuffer(buf)) { + throw new TypeError('"list" argument must be an Array of Buffers') + } + buf.copy(buffer, pos) + pos += buf.length + } + return buffer +} - Buffer.isEncoding = function isEncoding(encoding) { - switch (String(encoding).toLowerCase()) { - case 'hex': - case 'utf8': - case 'utf-8': - case 'ascii': - case 'latin1': - case 'binary': - case 'base64': - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return true - default: - return false - } - } +function byteLength (string, encoding) { + if (Buffer.isBuffer(string)) { + return string.length + } + if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' && + (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) { + return string.byteLength + } + if (typeof string !== 'string') { + string = '' + string + } + + var len = string.length + if (len === 0) return 0 + + // Use a for loop to avoid recursion + var loweredCase = false + for (;;) { + switch (encoding) { + case 'ascii': + case 'latin1': + case 'binary': + return len + case 'utf8': + case 'utf-8': + case undefined: + return utf8ToBytes(string).length + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return len * 2 + case 'hex': + return len >>> 1 + case 'base64': + return base64ToBytes(string).length + default: + if (loweredCase) return utf8ToBytes(string).length // assume utf8 + encoding = ('' + encoding).toLowerCase() + loweredCase = true + } + } +} +Buffer.byteLength = byteLength + +function slowToString (encoding, start, end) { + var loweredCase = false + + // No need to verify that "this.length <= MAX_UINT32" since it's a read-only + // property of a typed array. + + // This behaves neither like String nor Uint8Array in that we set start/end + // to their upper/lower bounds if the value passed is out of range. + // undefined is handled specially as per ECMA-262 6th Edition, + // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. + if (start === undefined || start < 0) { + start = 0 + } + // Return early if start > this.length. Done here to prevent potential uint32 + // coercion fail below. + if (start > this.length) { + return '' + } + + if (end === undefined || end > this.length) { + end = this.length + } + + if (end <= 0) { + return '' + } + + // Force coersion to uint32. This will also coerce falsey/NaN values to 0. + end >>>= 0 + start >>>= 0 + + if (end <= start) { + return '' + } + + if (!encoding) encoding = 'utf8' + + while (true) { + switch (encoding) { + case 'hex': + return hexSlice(this, start, end) + + case 'utf8': + case 'utf-8': + return utf8Slice(this, start, end) + + case 'ascii': + return asciiSlice(this, start, end) + + case 'latin1': + case 'binary': + return latin1Slice(this, start, end) + + case 'base64': + return base64Slice(this, start, end) + + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return utf16leSlice(this, start, end) + + default: + if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) + encoding = (encoding + '').toLowerCase() + loweredCase = true + } + } +} - Buffer.concat = function concat(list, length) { - if (!isArray(list)) { - throw new TypeError('"list" argument must be an Array of Buffers') - } +// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect +// Buffer instances. +Buffer.prototype._isBuffer = true - if (list.length === 0) { - return Buffer.alloc(0) - } +function swap (b, n, m) { + var i = b[n] + b[n] = b[m] + b[m] = i +} - var i - if (length === undefined) { - length = 0 - for (i = 0; i < list.length; ++i) { - length += list[i].length - } - } +Buffer.prototype.swap16 = function swap16 () { + var len = this.length + if (len % 2 !== 0) { + throw new RangeError('Buffer size must be a multiple of 16-bits') + } + for (var i = 0; i < len; i += 2) { + swap(this, i, i + 1) + } + return this +} - var buffer = Buffer.allocUnsafe(length) - var pos = 0 - for (i = 0; i < list.length; ++i) { - var buf = list[i] - if (!Buffer.isBuffer(buf)) { - throw new TypeError('"list" argument must be an Array of Buffers') - } - buf.copy(buffer, pos) - pos += buf.length - } - return buffer - } +Buffer.prototype.swap32 = function swap32 () { + var len = this.length + if (len % 4 !== 0) { + throw new RangeError('Buffer size must be a multiple of 32-bits') + } + for (var i = 0; i < len; i += 4) { + swap(this, i, i + 3) + swap(this, i + 1, i + 2) + } + return this +} - function byteLength(string, encoding) { - if (Buffer.isBuffer(string)) { - return string.length - } - if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' && (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) { - return string.byteLength - } - if (typeof string !== 'string') { - string = '' + string - } +Buffer.prototype.swap64 = function swap64 () { + var len = this.length + if (len % 8 !== 0) { + throw new RangeError('Buffer size must be a multiple of 64-bits') + } + for (var i = 0; i < len; i += 8) { + swap(this, i, i + 7) + swap(this, i + 1, i + 6) + swap(this, i + 2, i + 5) + swap(this, i + 3, i + 4) + } + return this +} - var len = string.length - if (len === 0) - return 0 - - // Use a for loop to avoid recursion - var loweredCase = false - for (; ; ) { - switch (encoding) { - case 'ascii': - case 'latin1': - case 'binary': - return len - case 'utf8': - case 'utf-8': - case undefined: - return utf8ToBytes(string).length - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return len * 2 - case 'hex': - return len >>> 1 - case 'base64': - return base64ToBytes(string).length - default: - if (loweredCase) - return utf8ToBytes(string).length - // assume utf8 - encoding = ('' + encoding).toLowerCase() - loweredCase = true - } - } - } - Buffer.byteLength = byteLength +Buffer.prototype.toString = function toString () { + var length = this.length | 0 + if (length === 0) return '' + if (arguments.length === 0) return utf8Slice(this, 0, length) + return slowToString.apply(this, arguments) +} - function slowToString(encoding, start, end) { - var loweredCase = false +Buffer.prototype.equals = function equals (b) { + if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') + if (this === b) return true + return Buffer.compare(this, b) === 0 +} - // No need to verify that "this.length <= MAX_UINT32" since it's a read-only - // property of a typed array. +Buffer.prototype.inspect = function inspect () { + var str = '' + var max = exports.INSPECT_MAX_BYTES + if (this.length > 0) { + str = this.toString('hex', 0, max).match(/.{2}/g).join(' ') + if (this.length > max) str += ' ... ' + } + return '' +} - // This behaves neither like String nor Uint8Array in that we set start/end - // to their upper/lower bounds if the value passed is out of range. - // undefined is handled specially as per ECMA-262 6th Edition, - // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. - if (start === undefined || start < 0) { - start = 0 - } - // Return early if start > this.length. Done here to prevent potential uint32 - // coercion fail below. - if (start > this.length) { - return '' - } +Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) { + if (!Buffer.isBuffer(target)) { + throw new TypeError('Argument must be a Buffer') + } + + if (start === undefined) { + start = 0 + } + if (end === undefined) { + end = target ? target.length : 0 + } + if (thisStart === undefined) { + thisStart = 0 + } + if (thisEnd === undefined) { + thisEnd = this.length + } + + if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { + throw new RangeError('out of range index') + } + + if (thisStart >= thisEnd && start >= end) { + return 0 + } + if (thisStart >= thisEnd) { + return -1 + } + if (start >= end) { + return 1 + } + + start >>>= 0 + end >>>= 0 + thisStart >>>= 0 + thisEnd >>>= 0 + + if (this === target) return 0 + + var x = thisEnd - thisStart + var y = end - start + var len = Math.min(x, y) + + var thisCopy = this.slice(thisStart, thisEnd) + var targetCopy = target.slice(start, end) + + for (var i = 0; i < len; ++i) { + if (thisCopy[i] !== targetCopy[i]) { + x = thisCopy[i] + y = targetCopy[i] + break + } + } - if (end === undefined || end > this.length) { - end = this.length - } + if (x < y) return -1 + if (y < x) return 1 + return 0 +} - if (end <= 0) { - return '' - } +// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, +// OR the last index of `val` in `buffer` at offset <= `byteOffset`. +// +// Arguments: +// - buffer - a Buffer to search +// - val - a string, Buffer, or number +// - byteOffset - an index into `buffer`; will be clamped to an int32 +// - encoding - an optional encoding, relevant is val is a string +// - dir - true for indexOf, false for lastIndexOf +function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) { + // Empty buffer means no match + if (buffer.length === 0) return -1 + + // Normalize byteOffset + if (typeof byteOffset === 'string') { + encoding = byteOffset + byteOffset = 0 + } else if (byteOffset > 0x7fffffff) { + byteOffset = 0x7fffffff + } else if (byteOffset < -0x80000000) { + byteOffset = -0x80000000 + } + byteOffset = +byteOffset // Coerce to Number. + if (isNaN(byteOffset)) { + // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer + byteOffset = dir ? 0 : (buffer.length - 1) + } + + // Normalize byteOffset: negative offsets start from the end of the buffer + if (byteOffset < 0) byteOffset = buffer.length + byteOffset + if (byteOffset >= buffer.length) { + if (dir) return -1 + else byteOffset = buffer.length - 1 + } else if (byteOffset < 0) { + if (dir) byteOffset = 0 + else return -1 + } + + // Normalize val + if (typeof val === 'string') { + val = Buffer.from(val, encoding) + } + + // Finally, search either indexOf (if dir is true) or lastIndexOf + if (Buffer.isBuffer(val)) { + // Special case: looking for empty string/buffer always fails + if (val.length === 0) { + return -1 + } + return arrayIndexOf(buffer, val, byteOffset, encoding, dir) + } else if (typeof val === 'number') { + val = val & 0xFF // Search for a byte value [0-255] + if (Buffer.TYPED_ARRAY_SUPPORT && + typeof Uint8Array.prototype.indexOf === 'function') { + if (dir) { + return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset) + } else { + return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset) + } + } + return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir) + } - // Force coersion to uint32. This will also coerce falsey/NaN values to 0. - end >>>= 0 - start >>>= 0 + throw new TypeError('val must be string, number or Buffer') +} - if (end <= start) { - return '' - } +function arrayIndexOf (arr, val, byteOffset, encoding, dir) { + var indexSize = 1 + var arrLength = arr.length + var valLength = val.length + + if (encoding !== undefined) { + encoding = String(encoding).toLowerCase() + if (encoding === 'ucs2' || encoding === 'ucs-2' || + encoding === 'utf16le' || encoding === 'utf-16le') { + if (arr.length < 2 || val.length < 2) { + return -1 + } + indexSize = 2 + arrLength /= 2 + valLength /= 2 + byteOffset /= 2 + } + } - if (!encoding) - encoding = 'utf8' + function read (buf, i) { + if (indexSize === 1) { + return buf[i] + } else { + return buf.readUInt16BE(i * indexSize) + } + } + + var i + if (dir) { + var foundIndex = -1 + for (i = byteOffset; i < arrLength; i++) { + if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { + if (foundIndex === -1) foundIndex = i + if (i - foundIndex + 1 === valLength) return foundIndex * indexSize + } else { + if (foundIndex !== -1) i -= i - foundIndex + foundIndex = -1 + } + } + } else { + if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength + for (i = byteOffset; i >= 0; i--) { + var found = true + for (var j = 0; j < valLength; j++) { + if (read(arr, i + j) !== read(val, j)) { + found = false + break + } + } + if (found) return i + } + } - while (true) { - switch (encoding) { - case 'hex': - return hexSlice(this, start, end) + return -1 +} - case 'utf8': - case 'utf-8': - return utf8Slice(this, start, end) +Buffer.prototype.includes = function includes (val, byteOffset, encoding) { + return this.indexOf(val, byteOffset, encoding) !== -1 +} - case 'ascii': - return asciiSlice(this, start, end) +Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, true) +} - case 'latin1': - case 'binary': - return latin1Slice(this, start, end) +Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, false) +} - case 'base64': - return base64Slice(this, start, end) +function hexWrite (buf, string, offset, length) { + offset = Number(offset) || 0 + var remaining = buf.length - offset + if (!length) { + length = remaining + } else { + length = Number(length) + if (length > remaining) { + length = remaining + } + } + + // must be an even number of digits + var strLen = string.length + if (strLen % 2 !== 0) throw new TypeError('Invalid hex string') + + if (length > strLen / 2) { + length = strLen / 2 + } + for (var i = 0; i < length; ++i) { + var parsed = parseInt(string.substr(i * 2, 2), 16) + if (isNaN(parsed)) return i + buf[offset + i] = parsed + } + return i +} - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return utf16leSlice(this, start, end) +function utf8Write (buf, string, offset, length) { + return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) +} - default: - if (loweredCase) - throw new TypeError('Unknown encoding: ' + encoding) - encoding = (encoding + '').toLowerCase() - loweredCase = true - } - } - } +function asciiWrite (buf, string, offset, length) { + return blitBuffer(asciiToBytes(string), buf, offset, length) +} - // The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect - // Buffer instances. - Buffer.prototype._isBuffer = true +function latin1Write (buf, string, offset, length) { + return asciiWrite(buf, string, offset, length) +} - function swap(b, n, m) { - var i = b[n] - b[n] = b[m] - b[m] = i - } +function base64Write (buf, string, offset, length) { + return blitBuffer(base64ToBytes(string), buf, offset, length) +} - Buffer.prototype.swap16 = function swap16() { - var len = this.length - if (len % 2 !== 0) { - throw new RangeError('Buffer size must be a multiple of 16-bits') - } - for (var i = 0; i < len; i += 2) { - swap(this, i, i + 1) - } - return this - } +function ucs2Write (buf, string, offset, length) { + return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) +} - Buffer.prototype.swap32 = function swap32() { - var len = this.length - if (len % 4 !== 0) { - throw new RangeError('Buffer size must be a multiple of 32-bits') - } - for (var i = 0; i < len; i += 4) { - swap(this, i, i + 3) - swap(this, i + 1, i + 2) - } - return this - } +Buffer.prototype.write = function write (string, offset, length, encoding) { + // Buffer#write(string) + if (offset === undefined) { + encoding = 'utf8' + length = this.length + offset = 0 + // Buffer#write(string, encoding) + } else if (length === undefined && typeof offset === 'string') { + encoding = offset + length = this.length + offset = 0 + // Buffer#write(string, offset[, length][, encoding]) + } else if (isFinite(offset)) { + offset = offset | 0 + if (isFinite(length)) { + length = length | 0 + if (encoding === undefined) encoding = 'utf8' + } else { + encoding = length + length = undefined + } + // legacy write(string, encoding, offset, length) - remove in v0.13 + } else { + throw new Error( + 'Buffer.write(string, encoding, offset[, length]) is no longer supported' + ) + } + + var remaining = this.length - offset + if (length === undefined || length > remaining) length = remaining + + if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { + throw new RangeError('Attempt to write outside buffer bounds') + } + + if (!encoding) encoding = 'utf8' + + var loweredCase = false + for (;;) { + switch (encoding) { + case 'hex': + return hexWrite(this, string, offset, length) + + case 'utf8': + case 'utf-8': + return utf8Write(this, string, offset, length) + + case 'ascii': + return asciiWrite(this, string, offset, length) + + case 'latin1': + case 'binary': + return latin1Write(this, string, offset, length) + + case 'base64': + // Warning: maxLength not taken into account in base64Write + return base64Write(this, string, offset, length) + + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return ucs2Write(this, string, offset, length) + + default: + if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) + encoding = ('' + encoding).toLowerCase() + loweredCase = true + } + } +} - Buffer.prototype.swap64 = function swap64() { - var len = this.length - if (len % 8 !== 0) { - throw new RangeError('Buffer size must be a multiple of 64-bits') - } - for (var i = 0; i < len; i += 8) { - swap(this, i, i + 7) - swap(this, i + 1, i + 6) - swap(this, i + 2, i + 5) - swap(this, i + 3, i + 4) - } - return this - } +Buffer.prototype.toJSON = function toJSON () { + return { + type: 'Buffer', + data: Array.prototype.slice.call(this._arr || this, 0) + } +} - Buffer.prototype.toString = function toString() { - var length = this.length | 0 - if (length === 0) - return '' - if (arguments.length === 0) - return utf8Slice(this, 0, length) - return slowToString.apply(this, arguments) - } +function base64Slice (buf, start, end) { + if (start === 0 && end === buf.length) { + return base64.fromByteArray(buf) + } else { + return base64.fromByteArray(buf.slice(start, end)) + } +} - Buffer.prototype.equals = function equals(b) { - if (!Buffer.isBuffer(b)) - throw new TypeError('Argument must be a Buffer') - if (this === b) - return true - return Buffer.compare(this, b) === 0 - } +function utf8Slice (buf, start, end) { + end = Math.min(buf.length, end) + var res = [] + + var i = start + while (i < end) { + var firstByte = buf[i] + var codePoint = null + var bytesPerSequence = (firstByte > 0xEF) ? 4 + : (firstByte > 0xDF) ? 3 + : (firstByte > 0xBF) ? 2 + : 1 + + if (i + bytesPerSequence <= end) { + var secondByte, thirdByte, fourthByte, tempCodePoint + + switch (bytesPerSequence) { + case 1: + if (firstByte < 0x80) { + codePoint = firstByte + } + break + case 2: + secondByte = buf[i + 1] + if ((secondByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F) + if (tempCodePoint > 0x7F) { + codePoint = tempCodePoint + } + } + break + case 3: + secondByte = buf[i + 1] + thirdByte = buf[i + 2] + if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F) + if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { + codePoint = tempCodePoint + } + } + break + case 4: + secondByte = buf[i + 1] + thirdByte = buf[i + 2] + fourthByte = buf[i + 3] + if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F) + if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { + codePoint = tempCodePoint + } + } + } + } - Buffer.prototype.inspect = function inspect() { - var str = '' - var max = exports.INSPECT_MAX_BYTES - if (this.length > 0) { - str = this.toString('hex', 0, max).match(/.{2}/g).join(' ') - if (this.length > max) - str += ' ... ' - } - return '' - } + if (codePoint === null) { + // we did not generate a valid codePoint so insert a + // replacement char (U+FFFD) and advance only 1 byte + codePoint = 0xFFFD + bytesPerSequence = 1 + } else if (codePoint > 0xFFFF) { + // encode to utf16 (surrogate pair dance) + codePoint -= 0x10000 + res.push(codePoint >>> 10 & 0x3FF | 0xD800) + codePoint = 0xDC00 | codePoint & 0x3FF + } - Buffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) { - if (!Buffer.isBuffer(target)) { - throw new TypeError('Argument must be a Buffer') - } + res.push(codePoint) + i += bytesPerSequence + } - if (start === undefined) { - start = 0 - } - if (end === undefined) { - end = target ? target.length : 0 - } - if (thisStart === undefined) { - thisStart = 0 - } - if (thisEnd === undefined) { - thisEnd = this.length - } + return decodeCodePointsArray(res) +} - if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { - throw new RangeError('out of range index') - } +// Based on http://stackoverflow.com/a/22747272/680742, the browser with +// the lowest limit is Chrome, with 0x10000 args. +// We go 1 magnitude less, for safety +var MAX_ARGUMENTS_LENGTH = 0x1000 + +function decodeCodePointsArray (codePoints) { + var len = codePoints.length + if (len <= MAX_ARGUMENTS_LENGTH) { + return String.fromCharCode.apply(String, codePoints) // avoid extra slice() + } + + // Decode in chunks to avoid "call stack size exceeded". + var res = '' + var i = 0 + while (i < len) { + res += String.fromCharCode.apply( + String, + codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) + ) + } + return res +} - if (thisStart >= thisEnd && start >= end) { - return 0 - } - if (thisStart >= thisEnd) { - return -1 - } - if (start >= end) { - return 1 - } +function asciiSlice (buf, start, end) { + var ret = '' + end = Math.min(buf.length, end) - start >>>= 0 - end >>>= 0 - thisStart >>>= 0 - thisEnd >>>= 0 + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i] & 0x7F) + } + return ret +} - if (this === target) - return 0 +function latin1Slice (buf, start, end) { + var ret = '' + end = Math.min(buf.length, end) - var x = thisEnd - thisStart - var y = end - start - var len = Math.min(x, y) + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i]) + } + return ret +} - var thisCopy = this.slice(thisStart, thisEnd) - var targetCopy = target.slice(start, end) +function hexSlice (buf, start, end) { + var len = buf.length - for (var i = 0; i < len; ++i) { - if (thisCopy[i] !== targetCopy[i]) { - x = thisCopy[i] - y = targetCopy[i] - break - } - } + if (!start || start < 0) start = 0 + if (!end || end < 0 || end > len) end = len - if (x < y) - return -1 - if (y < x) - return 1 - return 0 - } + var out = '' + for (var i = start; i < end; ++i) { + out += toHex(buf[i]) + } + return out +} - // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, - // OR the last index of `val` in `buffer` at offset <= `byteOffset`. - // - // Arguments: - // - buffer - a Buffer to search - // - val - a string, Buffer, or number - // - byteOffset - an index into `buffer`; will be clamped to an int32 - // - encoding - an optional encoding, relevant is val is a string - // - dir - true for indexOf, false for lastIndexOf - function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) { - // Empty buffer means no match - if (buffer.length === 0) - return -1 - - // Normalize byteOffset - if (typeof byteOffset === 'string') { - encoding = byteOffset - byteOffset = 0 - } else if (byteOffset > 0x7fffffff) { - byteOffset = 0x7fffffff - } else if (byteOffset < -0x80000000) { - byteOffset = -0x80000000 - } - byteOffset = +byteOffset - // Coerce to Number. - if (isNaN(byteOffset)) { - // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer - byteOffset = dir ? 0 : (buffer.length - 1) - } +function utf16leSlice (buf, start, end) { + var bytes = buf.slice(start, end) + var res = '' + for (var i = 0; i < bytes.length; i += 2) { + res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256) + } + return res +} - // Normalize byteOffset: negative offsets start from the end of the buffer - if (byteOffset < 0) - byteOffset = buffer.length + byteOffset - if (byteOffset >= buffer.length) { - if (dir) - return -1 - else - byteOffset = buffer.length - 1 - } else if (byteOffset < 0) { - if (dir) - byteOffset = 0 - else - return -1 - } +Buffer.prototype.slice = function slice (start, end) { + var len = this.length + start = ~~start + end = end === undefined ? len : ~~end + + if (start < 0) { + start += len + if (start < 0) start = 0 + } else if (start > len) { + start = len + } + + if (end < 0) { + end += len + if (end < 0) end = 0 + } else if (end > len) { + end = len + } + + if (end < start) end = start + + var newBuf + if (Buffer.TYPED_ARRAY_SUPPORT) { + newBuf = this.subarray(start, end) + newBuf.__proto__ = Buffer.prototype + } else { + var sliceLen = end - start + newBuf = new Buffer(sliceLen, undefined) + for (var i = 0; i < sliceLen; ++i) { + newBuf[i] = this[i + start] + } + } - // Normalize val - if (typeof val === 'string') { - val = Buffer.from(val, encoding) - } + return newBuf +} - // Finally, search either indexOf (if dir is true) or lastIndexOf - if (Buffer.isBuffer(val)) { - // Special case: looking for empty string/buffer always fails - if (val.length === 0) { - return -1 - } - return arrayIndexOf(buffer, val, byteOffset, encoding, dir) - } else if (typeof val === 'number') { - val = val & 0xFF - // Search for a byte value [0-255] - if (Buffer.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf === 'function') { - if (dir) { - return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset) - } else { - return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset) - } - } - return arrayIndexOf(buffer, [val], byteOffset, encoding, dir) - } +/* + * Need to make sure that buffer isn't trying to write out of bounds. + */ +function checkOffset (offset, ext, length) { + if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint') + if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length') +} - throw new TypeError('val must be string, number or Buffer') - } +Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkOffset(offset, byteLength, this.length) - function arrayIndexOf(arr, val, byteOffset, encoding, dir) { - var indexSize = 1 - var arrLength = arr.length - var valLength = val.length - - if (encoding !== undefined) { - encoding = String(encoding).toLowerCase() - if (encoding === 'ucs2' || encoding === 'ucs-2' || encoding === 'utf16le' || encoding === 'utf-16le') { - if (arr.length < 2 || val.length < 2) { - return -1 - } - indexSize = 2 - arrLength /= 2 - valLength /= 2 - byteOffset /= 2 - } - } + var val = this[offset] + var mul = 1 + var i = 0 + while (++i < byteLength && (mul *= 0x100)) { + val += this[offset + i] * mul + } - function read(buf, i) { - if (indexSize === 1) { - return buf[i] - } else { - return buf.readUInt16BE(i * indexSize) - } - } + return val +} - var i - if (dir) { - var foundIndex = -1 - for (i = byteOffset; i < arrLength; i++) { - if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { - if (foundIndex === -1) - foundIndex = i - if (i - foundIndex + 1 === valLength) - return foundIndex * indexSize - } else { - if (foundIndex !== -1) - i -= i - foundIndex - foundIndex = -1 - } - } - } else { - if (byteOffset + valLength > arrLength) - byteOffset = arrLength - valLength - for (i = byteOffset; i >= 0; i--) { - var found = true - for (var j = 0; j < valLength; j++) { - if (read(arr, i + j) !== read(val, j)) { - found = false - break - } - } - if (found) - return i - } - } +Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) { + checkOffset(offset, byteLength, this.length) + } - return -1 - } + var val = this[offset + --byteLength] + var mul = 1 + while (byteLength > 0 && (mul *= 0x100)) { + val += this[offset + --byteLength] * mul + } - Buffer.prototype.includes = function includes(val, byteOffset, encoding) { - return this.indexOf(val, byteOffset, encoding) !== -1 - } + return val +} - Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, true) - } +Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) { + if (!noAssert) checkOffset(offset, 1, this.length) + return this[offset] +} - Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, false) - } +Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + return this[offset] | (this[offset + 1] << 8) +} - function hexWrite(buf, string, offset, length) { - offset = Number(offset) || 0 - var remaining = buf.length - offset - if (!length) { - length = remaining - } else { - length = Number(length) - if (length > remaining) { - length = remaining - } - } +Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + return (this[offset] << 8) | this[offset + 1] +} - // must be an even number of digits - var strLen = string.length - if (strLen % 2 !== 0) - throw new TypeError('Invalid hex string') +Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) - if (length > strLen / 2) { - length = strLen / 2 - } - for (var i = 0; i < length; ++i) { - var parsed = parseInt(string.substr(i * 2, 2), 16) - if (isNaN(parsed)) - return i - buf[offset + i] = parsed - } - return i - } + return ((this[offset]) | + (this[offset + 1] << 8) | + (this[offset + 2] << 16)) + + (this[offset + 3] * 0x1000000) +} - function utf8Write(buf, string, offset, length) { - return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) - } +Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) - function asciiWrite(buf, string, offset, length) { - return blitBuffer(asciiToBytes(string), buf, offset, length) - } + return (this[offset] * 0x1000000) + + ((this[offset + 1] << 16) | + (this[offset + 2] << 8) | + this[offset + 3]) +} - function latin1Write(buf, string, offset, length) { - return asciiWrite(buf, string, offset, length) - } +Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkOffset(offset, byteLength, this.length) - function base64Write(buf, string, offset, length) { - return blitBuffer(base64ToBytes(string), buf, offset, length) - } + var val = this[offset] + var mul = 1 + var i = 0 + while (++i < byteLength && (mul *= 0x100)) { + val += this[offset + i] * mul + } + mul *= 0x80 - function ucs2Write(buf, string, offset, length) { - return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) - } + if (val >= mul) val -= Math.pow(2, 8 * byteLength) - Buffer.prototype.write = function write(string, offset, length, encoding) { - // Buffer#write(string) - if (offset === undefined) { - encoding = 'utf8' - length = this.length - offset = 0 - // Buffer#write(string, encoding) - } else if (length === undefined && typeof offset === 'string') { - encoding = offset - length = this.length - offset = 0 - // Buffer#write(string, offset[, length][, encoding]) - } else if (isFinite(offset)) { - offset = offset | 0 - if (isFinite(length)) { - length = length | 0 - if (encoding === undefined) - encoding = 'utf8' - } else { - encoding = length - length = undefined - } - // legacy write(string, encoding, offset, length) - remove in v0.13 - } else { - throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported') - } + return val +} - var remaining = this.length - offset - if (length === undefined || length > remaining) - length = remaining +Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkOffset(offset, byteLength, this.length) - if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { - throw new RangeError('Attempt to write outside buffer bounds') - } + var i = byteLength + var mul = 1 + var val = this[offset + --i] + while (i > 0 && (mul *= 0x100)) { + val += this[offset + --i] * mul + } + mul *= 0x80 - if (!encoding) - encoding = 'utf8' - - var loweredCase = false - for (; ; ) { - switch (encoding) { - case 'hex': - return hexWrite(this, string, offset, length) - - case 'utf8': - case 'utf-8': - return utf8Write(this, string, offset, length) - - case 'ascii': - return asciiWrite(this, string, offset, length) - - case 'latin1': - case 'binary': - return latin1Write(this, string, offset, length) - - case 'base64': - // Warning: maxLength not taken into account in base64Write - return base64Write(this, string, offset, length) - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return ucs2Write(this, string, offset, length) - - default: - if (loweredCase) - throw new TypeError('Unknown encoding: ' + encoding) - encoding = ('' + encoding).toLowerCase() - loweredCase = true - } - } - } + if (val >= mul) val -= Math.pow(2, 8 * byteLength) - Buffer.prototype.toJSON = function toJSON() { - return { - type: 'Buffer', - data: Array.prototype.slice.call(this._arr || this, 0) - } - } + return val +} - function base64Slice(buf, start, end) { - if (start === 0 && end === buf.length) { - return base64.fromByteArray(buf) - } else { - return base64.fromByteArray(buf.slice(start, end)) - } - } +Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) { + if (!noAssert) checkOffset(offset, 1, this.length) + if (!(this[offset] & 0x80)) return (this[offset]) + return ((0xff - this[offset] + 1) * -1) +} - function utf8Slice(buf, start, end) { - end = Math.min(buf.length, end) - var res = [] - - var i = start - while (i < end) { - var firstByte = buf[i] - var codePoint = null - var bytesPerSequence = (firstByte > 0xEF) ? 4 : (firstByte > 0xDF) ? 3 : (firstByte > 0xBF) ? 2 : 1 - - if (i + bytesPerSequence <= end) { - var secondByte, thirdByte, fourthByte, tempCodePoint - - switch (bytesPerSequence) { - case 1: - if (firstByte < 0x80) { - codePoint = firstByte - } - break - case 2: - secondByte = buf[i + 1] - if ((secondByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F) - if (tempCodePoint > 0x7F) { - codePoint = tempCodePoint - } - } - break - case 3: - secondByte = buf[i + 1] - thirdByte = buf[i + 2] - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F) - if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { - codePoint = tempCodePoint - } - } - break - case 4: - secondByte = buf[i + 1] - thirdByte = buf[i + 2] - fourthByte = buf[i + 3] - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F) - if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { - codePoint = tempCodePoint - } - } - } - } - - if (codePoint === null) { - // we did not generate a valid codePoint so insert a - // replacement char (U+FFFD) and advance only 1 byte - codePoint = 0xFFFD - bytesPerSequence = 1 - } else if (codePoint > 0xFFFF) { - // encode to utf16 (surrogate pair dance) - codePoint -= 0x10000 - res.push(codePoint >>> 10 & 0x3FF | 0xD800) - codePoint = 0xDC00 | codePoint & 0x3FF - } - - res.push(codePoint) - i += bytesPerSequence - } +Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + var val = this[offset] | (this[offset + 1] << 8) + return (val & 0x8000) ? val | 0xFFFF0000 : val +} - return decodeCodePointsArray(res) - } +Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + var val = this[offset + 1] | (this[offset] << 8) + return (val & 0x8000) ? val | 0xFFFF0000 : val +} - // Based on http://stackoverflow.com/a/22747272/680742, the browser with - // the lowest limit is Chrome, with 0x10000 args. - // We go 1 magnitude less, for safety - var MAX_ARGUMENTS_LENGTH = 0x1000 +Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) - function decodeCodePointsArray(codePoints) { - var len = codePoints.length - if (len <= MAX_ARGUMENTS_LENGTH) { - return String.fromCharCode.apply(String, codePoints) - // avoid extra slice() - } + return (this[offset]) | + (this[offset + 1] << 8) | + (this[offset + 2] << 16) | + (this[offset + 3] << 24) +} - // Decode in chunks to avoid "call stack size exceeded". - var res = '' - var i = 0 - while (i < len) { - res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)) - } - return res - } +Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) - function asciiSlice(buf, start, end) { - var ret = '' - end = Math.min(buf.length, end) + return (this[offset] << 24) | + (this[offset + 1] << 16) | + (this[offset + 2] << 8) | + (this[offset + 3]) +} - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i] & 0x7F) - } - return ret - } +Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + return ieee754.read(this, offset, true, 23, 4) +} - function latin1Slice(buf, start, end) { - var ret = '' - end = Math.min(buf.length, end) +Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + return ieee754.read(this, offset, false, 23, 4) +} - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i]) - } - return ret - } +Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 8, this.length) + return ieee754.read(this, offset, true, 52, 8) +} + +Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 8, this.length) + return ieee754.read(this, offset, false, 52, 8) +} + +function checkInt (buf, value, offset, ext, max, min) { + if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance') + if (value > max || value < min) throw new RangeError('"value" argument is out of bounds') + if (offset + ext > buf.length) throw new RangeError('Index out of range') +} + +Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength) - 1 + checkInt(this, value, offset, byteLength, maxBytes, 0) + } + + var mul = 1 + var i = 0 + this[offset] = value & 0xFF + while (++i < byteLength && (mul *= 0x100)) { + this[offset + i] = (value / mul) & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength) - 1 + checkInt(this, value, offset, byteLength, maxBytes, 0) + } + + var i = byteLength - 1 + var mul = 1 + this[offset + i] = value & 0xFF + while (--i >= 0 && (mul *= 0x100)) { + this[offset + i] = (value / mul) & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0) + if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) + this[offset] = (value & 0xff) + return offset + 1 +} + +function objectWriteUInt16 (buf, value, offset, littleEndian) { + if (value < 0) value = 0xffff + value + 1 + for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) { + buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>> + (littleEndian ? i : 1 - i) * 8 + } +} + +Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value & 0xff) + this[offset + 1] = (value >>> 8) + } else { + objectWriteUInt16(this, value, offset, true) + } + return offset + 2 +} + +Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 8) + this[offset + 1] = (value & 0xff) + } else { + objectWriteUInt16(this, value, offset, false) + } + return offset + 2 +} + +function objectWriteUInt32 (buf, value, offset, littleEndian) { + if (value < 0) value = 0xffffffff + value + 1 + for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) { + buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff + } +} + +Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset + 3] = (value >>> 24) + this[offset + 2] = (value >>> 16) + this[offset + 1] = (value >>> 8) + this[offset] = (value & 0xff) + } else { + objectWriteUInt32(this, value, offset, true) + } + return offset + 4 +} + +Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 24) + this[offset + 1] = (value >>> 16) + this[offset + 2] = (value >>> 8) + this[offset + 3] = (value & 0xff) + } else { + objectWriteUInt32(this, value, offset, false) + } + return offset + 4 +} + +Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength - 1) + + checkInt(this, value, offset, byteLength, limit - 1, -limit) + } + + var i = 0 + var mul = 1 + var sub = 0 + this[offset] = value & 0xFF + while (++i < byteLength && (mul *= 0x100)) { + if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { + sub = 1 + } + this[offset + i] = ((value / mul) >> 0) - sub & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength - 1) + + checkInt(this, value, offset, byteLength, limit - 1, -limit) + } + + var i = byteLength - 1 + var mul = 1 + var sub = 0 + this[offset + i] = value & 0xFF + while (--i >= 0 && (mul *= 0x100)) { + if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { + sub = 1 + } + this[offset + i] = ((value / mul) >> 0) - sub & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80) + if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) + if (value < 0) value = 0xff + value + 1 + this[offset] = (value & 0xff) + return offset + 1 +} + +Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value & 0xff) + this[offset + 1] = (value >>> 8) + } else { + objectWriteUInt16(this, value, offset, true) + } + return offset + 2 +} + +Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 8) + this[offset + 1] = (value & 0xff) + } else { + objectWriteUInt16(this, value, offset, false) + } + return offset + 2 +} + +Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value & 0xff) + this[offset + 1] = (value >>> 8) + this[offset + 2] = (value >>> 16) + this[offset + 3] = (value >>> 24) + } else { + objectWriteUInt32(this, value, offset, true) + } + return offset + 4 +} + +Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) + if (value < 0) value = 0xffffffff + value + 1 + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 24) + this[offset + 1] = (value >>> 16) + this[offset + 2] = (value >>> 8) + this[offset + 3] = (value & 0xff) + } else { + objectWriteUInt32(this, value, offset, false) + } + return offset + 4 +} + +function checkIEEE754 (buf, value, offset, ext, max, min) { + if (offset + ext > buf.length) throw new RangeError('Index out of range') + if (offset < 0) throw new RangeError('Index out of range') +} + +function writeFloat (buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38) + } + ieee754.write(buf, value, offset, littleEndian, 23, 4) + return offset + 4 +} + +Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) { + return writeFloat(this, value, offset, true, noAssert) +} + +Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) { + return writeFloat(this, value, offset, false, noAssert) +} + +function writeDouble (buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308) + } + ieee754.write(buf, value, offset, littleEndian, 52, 8) + return offset + 8 +} + +Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) { + return writeDouble(this, value, offset, true, noAssert) +} + +Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) { + return writeDouble(this, value, offset, false, noAssert) +} + +// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) +Buffer.prototype.copy = function copy (target, targetStart, start, end) { + if (!start) start = 0 + if (!end && end !== 0) end = this.length + if (targetStart >= target.length) targetStart = target.length + if (!targetStart) targetStart = 0 + if (end > 0 && end < start) end = start + + // Copy 0 bytes; we're done + if (end === start) return 0 + if (target.length === 0 || this.length === 0) return 0 + + // Fatal error conditions + if (targetStart < 0) { + throw new RangeError('targetStart out of bounds') + } + if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds') + if (end < 0) throw new RangeError('sourceEnd out of bounds') + + // Are we oob? + if (end > this.length) end = this.length + if (target.length - targetStart < end - start) { + end = target.length - targetStart + start + } + + var len = end - start + var i + + if (this === target && start < targetStart && targetStart < end) { + // descending copy from end + for (i = len - 1; i >= 0; --i) { + target[i + targetStart] = this[i + start] + } + } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) { + // ascending copy from start + for (i = 0; i < len; ++i) { + target[i + targetStart] = this[i + start] + } + } else { + Uint8Array.prototype.set.call( + target, + this.subarray(start, start + len), + targetStart + ) + } + + return len +} + +// Usage: +// buffer.fill(number[, offset[, end]]) +// buffer.fill(buffer[, offset[, end]]) +// buffer.fill(string[, offset[, end]][, encoding]) +Buffer.prototype.fill = function fill (val, start, end, encoding) { + // Handle string cases: + if (typeof val === 'string') { + if (typeof start === 'string') { + encoding = start + start = 0 + end = this.length + } else if (typeof end === 'string') { + encoding = end + end = this.length + } + if (val.length === 1) { + var code = val.charCodeAt(0) + if (code < 256) { + val = code + } + } + if (encoding !== undefined && typeof encoding !== 'string') { + throw new TypeError('encoding must be a string') + } + if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { + throw new TypeError('Unknown encoding: ' + encoding) + } + } else if (typeof val === 'number') { + val = val & 255 + } + + // Invalid ranges are not set to a default, so can range check early. + if (start < 0 || this.length < start || this.length < end) { + throw new RangeError('Out of range index') + } + + if (end <= start) { + return this + } + + start = start >>> 0 + end = end === undefined ? this.length : end >>> 0 + + if (!val) val = 0 + + var i + if (typeof val === 'number') { + for (i = start; i < end; ++i) { + this[i] = val + } + } else { + var bytes = Buffer.isBuffer(val) + ? val + : utf8ToBytes(new Buffer(val, encoding).toString()) + var len = bytes.length + for (i = 0; i < end - start; ++i) { + this[i + start] = bytes[i % len] + } + } + + return this +} + +// HELPER FUNCTIONS +// ================ + +var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g + +function base64clean (str) { + // Node strips out invalid characters like \n and \t from the string, base64-js does not + str = stringtrim(str).replace(INVALID_BASE64_RE, '') + // Node converts strings with length < 2 to '' + if (str.length < 2) return '' + // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not + while (str.length % 4 !== 0) { + str = str + '=' + } + return str +} + +function stringtrim (str) { + if (str.trim) return str.trim() + return str.replace(/^\s+|\s+$/g, '') +} + +function toHex (n) { + if (n < 16) return '0' + n.toString(16) + return n.toString(16) +} + +function utf8ToBytes (string, units) { + units = units || Infinity + var codePoint + var length = string.length + var leadSurrogate = null + var bytes = [] + + for (var i = 0; i < length; ++i) { + codePoint = string.charCodeAt(i) + + // is surrogate component + if (codePoint > 0xD7FF && codePoint < 0xE000) { + // last char was a lead + if (!leadSurrogate) { + // no lead yet + if (codePoint > 0xDBFF) { + // unexpected trail + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + continue + } else if (i + 1 === length) { + // unpaired lead + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + continue + } + + // valid lead + leadSurrogate = codePoint + + continue + } + + // 2 leads in a row + if (codePoint < 0xDC00) { + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + leadSurrogate = codePoint + continue + } + + // valid surrogate pair + codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000 + } else if (leadSurrogate) { + // valid bmp char, but last char was a lead + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + } + + leadSurrogate = null + + // encode utf8 + if (codePoint < 0x80) { + if ((units -= 1) < 0) break + bytes.push(codePoint) + } else if (codePoint < 0x800) { + if ((units -= 2) < 0) break + bytes.push( + codePoint >> 0x6 | 0xC0, + codePoint & 0x3F | 0x80 + ) + } else if (codePoint < 0x10000) { + if ((units -= 3) < 0) break + bytes.push( + codePoint >> 0xC | 0xE0, + codePoint >> 0x6 & 0x3F | 0x80, + codePoint & 0x3F | 0x80 + ) + } else if (codePoint < 0x110000) { + if ((units -= 4) < 0) break + bytes.push( + codePoint >> 0x12 | 0xF0, + codePoint >> 0xC & 0x3F | 0x80, + codePoint >> 0x6 & 0x3F | 0x80, + codePoint & 0x3F | 0x80 + ) + } else { + throw new Error('Invalid code point') + } + } + + return bytes +} + +function asciiToBytes (str) { + var byteArray = [] + for (var i = 0; i < str.length; ++i) { + // Node's code seems to be doing this and not & 0x7F.. + byteArray.push(str.charCodeAt(i) & 0xFF) + } + return byteArray +} + +function utf16leToBytes (str, units) { + var c, hi, lo + var byteArray = [] + for (var i = 0; i < str.length; ++i) { + if ((units -= 2) < 0) break + + c = str.charCodeAt(i) + hi = c >> 8 + lo = c % 256 + byteArray.push(lo) + byteArray.push(hi) + } + + return byteArray +} + +function base64ToBytes (str) { + return base64.toByteArray(base64clean(str)) +} + +function blitBuffer (src, dst, offset, length) { + for (var i = 0; i < length; ++i) { + if ((i + offset >= dst.length) || (i >= src.length)) break + dst[i + offset] = src[i] + } + return i +} + +function isnan (val) { + return val !== val // eslint-disable-line no-self-compare +} + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer) + +},{"base64-js":1,"buffer":2,"ieee754":4,"isarray":5}],3:[function(require,module,exports){ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){"use strict";var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",f="month",h="quarter",c="year",d="date",$="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},g={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date() */ +exports.read = function (buffer, offset, isLE, mLen, nBytes) { + var e, m + var eLen = (nBytes * 8) - mLen - 1 + var eMax = (1 << eLen) - 1 + var eBias = eMax >> 1 + var nBits = -7 + var i = isLE ? (nBytes - 1) : 0 + var d = isLE ? -1 : 1 + var s = buffer[offset + i] + + i += d + + e = s & ((1 << (-nBits)) - 1) + s >>= (-nBits) + nBits += eLen + for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {} + + m = e & ((1 << (-nBits)) - 1) + e >>= (-nBits) + nBits += mLen + for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {} + + if (e === 0) { + e = 1 - eBias + } else if (e === eMax) { + return m ? NaN : ((s ? -1 : 1) * Infinity) + } else { + m = m + Math.pow(2, mLen) + e = e - eBias + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen) +} + +exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c + var eLen = (nBytes * 8) - mLen - 1 + var eMax = (1 << eLen) - 1 + var eBias = eMax >> 1 + var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0) + var i = isLE ? 0 : (nBytes - 1) + var d = isLE ? 1 : -1 + var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0 + + value = Math.abs(value) + + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0 + e = eMax + } else { + e = Math.floor(Math.log(value) / Math.LN2) + if (value * (c = Math.pow(2, -e)) < 1) { + e-- + c *= 2 + } + if (e + eBias >= 1) { + value += rt / c + } else { + value += rt * Math.pow(2, 1 - eBias) + } + if (value * c >= 2) { + e++ + c /= 2 + } + + if (e + eBias >= eMax) { + m = 0 + e = eMax + } else if (e + eBias >= 1) { + m = ((value * c) - 1) * Math.pow(2, mLen) + e = e + eBias + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen) + e = 0 + } + } + + for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} + + e = (e << mLen) | m + eLen += mLen + for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} + + buffer[offset + i - d] |= s * 128 +} + +},{}],5:[function(require,module,exports){ +var toString = {}.toString; + +module.exports = Array.isArray || function (arr) { + return toString.call(arr) == '[object Array]'; +}; + +},{}],6:[function(require,module,exports){ +(function (process,global,Buffer,__argument0,__argument1,__argument2,__argument3,setImmediate){ +/*! + +JSZip v3.10.1 - A JavaScript class for generating and reading zip files + + +(c) 2009-2016 Stuart Knightley +Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown. + +JSZip uses the library pako released under the MIT license : +https://github.com/nodeca/pako/blob/main/LICENSE +*/ + +! function(e) { + if ("object" == typeof exports && "undefined" != typeof module) module.exports = e(); + else if ("function" == typeof define && define.amd) define([], e); + else { + ("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this) + .JSZip = e() + } +}(function() { + return function s(a, o, h) { + function u(r, e) { + if (!o[r]) { + if (!a[r]) { + var t = "function" == typeof require && require; + if (!e && t) return t(r, !0); + if (l) return l(r, !0); + var n = new Error("Cannot find module '" + r + "'"); + throw n.code = "MODULE_NOT_FOUND", n + } + var i = o[r] = { + exports: {} + }; + a[r][0].call(i.exports, function(e) { + var t = a[r][1][e]; + return u(t || e) + }, i, i.exports, s, a, o, h) + } + return o[r].exports + } + for (var l = "function" == typeof require && require, e = 0; e < h.length; e++) u(h[e]); + return u + }({ + 1: [function(e, t, r) { + "use strict"; + var d = e("./utils"), + c = e("./support"), + p = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + r.encode = function(e) { + for (var t, r, n, i, s, a, o, h = [], u = 0, l = e.length, f = l, c = "string" !== d.getTypeOf(e); u < e.length;) f = l - u, n = c ? (t = e[u++], r = u < l ? e[u++] : 0, u < l ? e[u++] : 0) : (t = e.charCodeAt(u++), r = u < l ? e.charCodeAt(u++) : 0, u < l ? e.charCodeAt(u++) : 0), i = t >> 2, s = (3 & t) << 4 | r >> 4, a = 1 < f ? (15 & r) << 2 | n >> 6 : 64, o = 2 < f ? 63 & n : 64, h.push(p.charAt(i) + p.charAt(s) + p.charAt(a) + p.charAt(o)); + return h.join("") + }, r.decode = function(e) { + var t, r, n, i, s, a, o = 0, + h = 0, + u = "data:"; + if (e.substr(0, u.length) === u) throw new Error("Invalid base64 input, it looks like a data url."); + var l, f = 3 * (e = e.replace(/[^A-Za-z0-9+/=]/g, "")) + .length / 4; + if (e.charAt(e.length - 1) === p.charAt(64) && f--, e.charAt(e.length - 2) === p.charAt(64) && f--, f % 1 != 0) throw new Error("Invalid base64 input, bad content length."); + for (l = c.uint8array ? new Uint8Array(0 | f) : new Array(0 | f); o < e.length;) t = p.indexOf(e.charAt(o++)) << 2 | (i = p.indexOf(e.charAt(o++))) >> 4, r = (15 & i) << 4 | (s = p.indexOf(e.charAt(o++))) >> 2, n = (3 & s) << 6 | (a = p.indexOf(e.charAt(o++))), l[h++] = t, 64 !== s && (l[h++] = r), 64 !== a && (l[h++] = n); + return l + } + }, { + "./support": 30, + "./utils": 32 + }], + 2: [function(e, t, r) { + "use strict"; + var n = e("./external"), + i = e("./stream/DataWorker"), + s = e("./stream/Crc32Probe"), + a = e("./stream/DataLengthProbe"); + + function o(e, t, r, n, i) { + this.compressedSize = e, this.uncompressedSize = t, this.crc32 = r, this.compression = n, this.compressedContent = i + } + o.prototype = { + getContentWorker: function() { + var e = new i(n.Promise.resolve(this.compressedContent)) + .pipe(this.compression.uncompressWorker()) + .pipe(new a("data_length")), + t = this; + return e.on("end", function() { + if (this.streamInfo.data_length !== t.uncompressedSize) throw new Error("Bug : uncompressed data size mismatch") + }), e + }, + getCompressedWorker: function() { + return new i(n.Promise.resolve(this.compressedContent)) + .withStreamInfo("compressedSize", this.compressedSize) + .withStreamInfo("uncompressedSize", this.uncompressedSize) + .withStreamInfo("crc32", this.crc32) + .withStreamInfo("compression", this.compression) + } + }, o.createWorkerFrom = function(e, t, r) { + return e.pipe(new s) + .pipe(new a("uncompressedSize")) + .pipe(t.compressWorker(r)) + .pipe(new a("compressedSize")) + .withStreamInfo("compression", t) + }, t.exports = o + }, { + "./external": 6, + "./stream/Crc32Probe": 25, + "./stream/DataLengthProbe": 26, + "./stream/DataWorker": 27 + }], + 3: [function(e, t, r) { + "use strict"; + var n = e("./stream/GenericWorker"); + r.STORE = { + magic: "\0\0", + compressWorker: function() { + return new n("STORE compression") + }, + uncompressWorker: function() { + return new n("STORE decompression") + } + }, r.DEFLATE = e("./flate") + }, { + "./flate": 7, + "./stream/GenericWorker": 28 + }], + 4: [function(e, t, r) { + "use strict"; + var n = e("./utils"); + var o = function() { + for (var e, t = [], r = 0; r < 256; r++) { + e = r; + for (var n = 0; n < 8; n++) e = 1 & e ? 3988292384 ^ e >>> 1 : e >>> 1; + t[r] = e + } + return t + }(); + t.exports = function(e, t) { + return void 0 !== e && e.length ? "string" !== n.getTypeOf(e) ? function(e, t, r, n) { + var i = o, + s = n + r; + e ^= -1; + for (var a = n; a < s; a++) e = e >>> 8 ^ i[255 & (e ^ t[a])]; + return -1 ^ e + }(0 | t, e, e.length, 0) : function(e, t, r, n) { + var i = o, + s = n + r; + e ^= -1; + for (var a = n; a < s; a++) e = e >>> 8 ^ i[255 & (e ^ t.charCodeAt(a))]; + return -1 ^ e + }(0 | t, e, e.length, 0) : 0 + } + }, { + "./utils": 32 + }], + 5: [function(e, t, r) { + "use strict"; + r.base64 = !1, r.binary = !1, r.dir = !1, r.createFolders = !0, r.date = null, r.compression = null, r.compressionOptions = null, r.comment = null, r.unixPermissions = null, r.dosPermissions = null + }, {}], + 6: [function(e, t, r) { + "use strict"; + var n = null; + n = "undefined" != typeof Promise ? Promise : e("lie"), t.exports = { + Promise: n + } + }, { + lie: 37 + }], + 7: [function(e, t, r) { + "use strict"; + var n = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Uint32Array, + i = e("pako"), + s = e("./utils"), + a = e("./stream/GenericWorker"), + o = n ? "uint8array" : "array"; + + function h(e, t) { + a.call(this, "FlateWorker/" + e), this._pako = null, this._pakoAction = e, this._pakoOptions = t, this.meta = {} + } + r.magic = "\b\0", s.inherits(h, a), h.prototype.processChunk = function(e) { + this.meta = e.meta, null === this._pako && this._createPako(), this._pako.push(s.transformTo(o, e.data), !1) + }, h.prototype.flush = function() { + a.prototype.flush.call(this), null === this._pako && this._createPako(), this._pako.push([], !0) + }, h.prototype.cleanUp = function() { + a.prototype.cleanUp.call(this), this._pako = null + }, h.prototype._createPako = function() { + this._pako = new i[this._pakoAction]({ + raw: !0, + level: this._pakoOptions.level || -1 + }); + var t = this; + this._pako.onData = function(e) { + t.push({ + data: e, + meta: t.meta + }) + } + }, r.compressWorker = function(e) { + return new h("Deflate", e) + }, r.uncompressWorker = function() { + return new h("Inflate", {}) + } + }, { + "./stream/GenericWorker": 28, + "./utils": 32, + pako: 38 + }], + 8: [function(e, t, r) { + "use strict"; + + function A(e, t) { + var r, n = ""; + for (r = 0; r < t; r++) n += String.fromCharCode(255 & e), e >>>= 8; + return n + } + + function n(e, t, r, n, i, s) { + var a, o, h = e.file, + u = e.compression, + l = s !== O.utf8encode, + f = I.transformTo("string", s(h.name)), + c = I.transformTo("string", O.utf8encode(h.name)), + d = h.comment, + p = I.transformTo("string", s(d)), + m = I.transformTo("string", O.utf8encode(d)), + _ = c.length !== h.name.length, + g = m.length !== d.length, + b = "", + v = "", + y = "", + w = h.dir, + k = h.date, + x = { + crc32: 0, + compressedSize: 0, + uncompressedSize: 0 + }; + t && !r || (x.crc32 = e.crc32, x.compressedSize = e.compressedSize, x.uncompressedSize = e.uncompressedSize); + var S = 0; + t && (S |= 8), l || !_ && !g || (S |= 2048); + var z = 0, + C = 0; + w && (z |= 16), "UNIX" === i ? (C = 798, z |= function(e, t) { + var r = e; + return e || (r = t ? 16893 : 33204), (65535 & r) << 16 + }(h.unixPermissions, w)) : (C = 20, z |= function(e) { + return 63 & (e || 0) + }(h.dosPermissions)), a = k.getUTCHours(), a <<= 6, a |= k.getUTCMinutes(), a <<= 5, a |= k.getUTCSeconds() / 2, o = k.getUTCFullYear() - 1980, o <<= 4, o |= k.getUTCMonth() + 1, o <<= 5, o |= k.getUTCDate(), _ && (v = A(1, 1) + A(B(f), 4) + c, b += "up" + A(v.length, 2) + v), g && (y = A(1, 1) + A(B(p), 4) + m, b += "uc" + A(y.length, 2) + y); + var E = ""; + return E += "\n\0", E += A(S, 2), E += u.magic, E += A(a, 2), E += A(o, 2), E += A(x.crc32, 4), E += A(x.compressedSize, 4), E += A(x.uncompressedSize, 4), E += A(f.length, 2), E += A(b.length, 2), { + fileRecord: R.LOCAL_FILE_HEADER + E + f + b, + dirRecord: R.CENTRAL_FILE_HEADER + A(C, 2) + E + A(p.length, 2) + "\0\0\0\0" + A(z, 4) + A(n, 4) + f + b + p + } + } + var I = e("../utils"), + i = e("../stream/GenericWorker"), + O = e("../utf8"), + B = e("../crc32"), + R = e("../signature"); + + function s(e, t, r, n) { + i.call(this, "ZipFileWorker"), this.bytesWritten = 0, this.zipComment = t, this.zipPlatform = r, this.encodeFileName = n, this.streamFiles = e, this.accumulate = !1, this.contentBuffer = [], this.dirRecords = [], this.currentSourceOffset = 0, this.entriesCount = 0, this.currentFile = null, this._sources = [] + } + I.inherits(s, i), s.prototype.push = function(e) { + var t = e.meta.percent || 0, + r = this.entriesCount, + n = this._sources.length; + this.accumulate ? this.contentBuffer.push(e) : (this.bytesWritten += e.data.length, i.prototype.push.call(this, { + data: e.data, + meta: { + currentFile: this.currentFile, + percent: r ? (t + 100 * (r - n - 1)) / r : 100 + } + })) + }, s.prototype.openedSource = function(e) { + this.currentSourceOffset = this.bytesWritten, this.currentFile = e.file.name; + var t = this.streamFiles && !e.file.dir; + if (t) { + var r = n(e, t, !1, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); + this.push({ + data: r.fileRecord, + meta: { + percent: 0 + } + }) + } else this.accumulate = !0 + }, s.prototype.closedSource = function(e) { + this.accumulate = !1; + var t = this.streamFiles && !e.file.dir, + r = n(e, t, !0, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); + if (this.dirRecords.push(r.dirRecord), t) this.push({ + data: function(e) { + return R.DATA_DESCRIPTOR + A(e.crc32, 4) + A(e.compressedSize, 4) + A(e.uncompressedSize, 4) + }(e), + meta: { + percent: 100 + } + }); + else + for (this.push({ + data: r.fileRecord, + meta: { + percent: 0 + } + }); this.contentBuffer.length;) this.push(this.contentBuffer.shift()); + this.currentFile = null + }, s.prototype.flush = function() { + for (var e = this.bytesWritten, t = 0; t < this.dirRecords.length; t++) this.push({ + data: this.dirRecords[t], + meta: { + percent: 100 + } + }); + var r = this.bytesWritten - e, + n = function(e, t, r, n, i) { + var s = I.transformTo("string", i(n)); + return R.CENTRAL_DIRECTORY_END + "\0\0\0\0" + A(e, 2) + A(e, 2) + A(t, 4) + A(r, 4) + A(s.length, 2) + s + }(this.dirRecords.length, r, e, this.zipComment, this.encodeFileName); + this.push({ + data: n, + meta: { + percent: 100 + } + }) + }, s.prototype.prepareNextSource = function() { + this.previous = this._sources.shift(), this.openedSource(this.previous.streamInfo), this.isPaused ? this.previous.pause() : this.previous.resume() + }, s.prototype.registerPrevious = function(e) { + this._sources.push(e); + var t = this; + return e.on("data", function(e) { + t.processChunk(e) + }), e.on("end", function() { + t.closedSource(t.previous.streamInfo), t._sources.length ? t.prepareNextSource() : t.end() + }), e.on("error", function(e) { + t.error(e) + }), this + }, s.prototype.resume = function() { + return !!i.prototype.resume.call(this) && (!this.previous && this._sources.length ? (this.prepareNextSource(), !0) : this.previous || this._sources.length || this.generatedError ? void 0 : (this.end(), !0)) + }, s.prototype.error = function(e) { + var t = this._sources; + if (!i.prototype.error.call(this, e)) return !1; + for (var r = 0; r < t.length; r++) try { + t[r].error(e) + } catch (e) {} + return !0 + }, s.prototype.lock = function() { + i.prototype.lock.call(this); + for (var e = this._sources, t = 0; t < e.length; t++) e[t].lock() + }, t.exports = s + }, { + "../crc32": 4, + "../signature": 23, + "../stream/GenericWorker": 28, + "../utf8": 31, + "../utils": 32 + }], + 9: [function(e, t, r) { + "use strict"; + var u = e("../compressions"), + n = e("./ZipFileWorker"); + r.generateWorker = function(e, a, t) { + var o = new n(a.streamFiles, t, a.platform, a.encodeFileName), + h = 0; + try { + e.forEach(function(e, t) { + h++; + var r = function(e, t) { + var r = e || t, + n = u[r]; + if (!n) throw new Error(r + " is not a valid compression method !"); + return n + }(t.options.compression, a.compression), + n = t.options.compressionOptions || a.compressionOptions || {}, + i = t.dir, + s = t.date; + t._compressWorker(r, n) + .withStreamInfo("file", { + name: e, + dir: i, + date: s, + comment: t.comment || "", + unixPermissions: t.unixPermissions, + dosPermissions: t.dosPermissions + }) + .pipe(o) + }), o.entriesCount = h + } catch (e) { + o.error(e) + } + return o + } + }, { + "../compressions": 3, + "./ZipFileWorker": 8 + }], + 10: [function(e, t, r) { + "use strict"; + + function n() { + if (!(this instanceof n)) return new n; + if (arguments.length) throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide."); + this.files = Object.create(null), this.comment = null, this.root = "", this.clone = function() { + var e = new n; + for (var t in this) "function" != typeof this[t] && (e[t] = this[t]); + return e + } + }(n.prototype = e("./object")) + .loadAsync = e("./load"), n.support = e("./support"), n.defaults = e("./defaults"), n.version = "3.10.1", n.loadAsync = function(e, t) { + return (new n) + .loadAsync(e, t) + }, n.external = e("./external"), t.exports = n + }, { + "./defaults": 5, + "./external": 6, + "./load": 11, + "./object": 15, + "./support": 30 + }], + 11: [function(e, t, r) { + "use strict"; + var u = e("./utils"), + i = e("./external"), + n = e("./utf8"), + s = e("./zipEntries"), + a = e("./stream/Crc32Probe"), + l = e("./nodejsUtils"); + + function f(n) { + return new i.Promise(function(e, t) { + var r = n.decompressed.getContentWorker() + .pipe(new a); + r.on("error", function(e) { + t(e) + }) + .on("end", function() { + r.streamInfo.crc32 !== n.decompressed.crc32 ? t(new Error("Corrupted zip : CRC32 mismatch")) : e() + }) + .resume() + }) + } + t.exports = function(e, o) { + var h = this; + return o = u.extend(o || {}, { + base64: !1, + checkCRC32: !1, + optimizedBinaryString: !1, + createFolders: !1, + decodeFileName: n.utf8decode + }), l.isNode && l.isStream(e) ? i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")) : u.prepareContent("the loaded zip file", e, !0, o.optimizedBinaryString, o.base64) + .then(function(e) { + var t = new s(o); + return t.load(e), t + }) + .then(function(e) { + var t = [i.Promise.resolve(e)], + r = e.files; + if (o.checkCRC32) + for (var n = 0; n < r.length; n++) t.push(f(r[n])); + return i.Promise.all(t) + }) + .then(function(e) { + for (var t = e.shift(), r = t.files, n = 0; n < r.length; n++) { + var i = r[n], + s = i.fileNameStr, + a = u.resolve(i.fileNameStr); + h.file(a, i.decompressed, { + binary: !0, + optimizedBinaryString: !0, + date: i.date, + dir: i.dir, + comment: i.fileCommentStr.length ? i.fileCommentStr : null, + unixPermissions: i.unixPermissions, + dosPermissions: i.dosPermissions, + createFolders: o.createFolders + }), i.dir || (h.file(a) + .unsafeOriginalName = s) + } + return t.zipComment.length && (h.comment = t.zipComment), h + }) + } + }, { + "./external": 6, + "./nodejsUtils": 14, + "./stream/Crc32Probe": 25, + "./utf8": 31, + "./utils": 32, + "./zipEntries": 33 + }], + 12: [function(e, t, r) { + "use strict"; + var n = e("../utils"), + i = e("../stream/GenericWorker"); + + function s(e, t) { + i.call(this, "Nodejs stream input adapter for " + e), this._upstreamEnded = !1, this._bindStream(t) + } + n.inherits(s, i), s.prototype._bindStream = function(e) { + var t = this; + (this._stream = e) + .pause(), e.on("data", function(e) { + t.push({ + data: e, + meta: { + percent: 0 + } + }) + }) + .on("error", function(e) { + t.isPaused ? this.generatedError = e : t.error(e) + }) + .on("end", function() { + t.isPaused ? t._upstreamEnded = !0 : t.end() + }) + }, s.prototype.pause = function() { + return !!i.prototype.pause.call(this) && (this._stream.pause(), !0) + }, s.prototype.resume = function() { + return !!i.prototype.resume.call(this) && (this._upstreamEnded ? this.end() : this._stream.resume(), !0) + }, t.exports = s + }, { + "../stream/GenericWorker": 28, + "../utils": 32 + }], + 13: [function(e, t, r) { + "use strict"; + var i = e("readable-stream") + .Readable; + + function n(e, t, r) { + i.call(this, t), this._helper = e; + var n = this; + e.on("data", function(e, t) { + n.push(e) || n._helper.pause(), r && r(t) + }) + .on("error", function(e) { + n.emit("error", e) + }) + .on("end", function() { + n.push(null) + }) + } + e("../utils") + .inherits(n, i), n.prototype._read = function() { + this._helper.resume() + }, t.exports = n + }, { + "../utils": 32, + "readable-stream": 16 + }], + 14: [function(e, t, r) { + "use strict"; + t.exports = { + isNode: "undefined" != typeof Buffer, + newBufferFrom: function(e, t) { + if (Buffer.from && Buffer.from !== Uint8Array.from) return Buffer.from(e, t); + if ("number" == typeof e) throw new Error('The "data" argument must not be a number'); + return new Buffer(e, t) + }, + allocBuffer: function(e) { + if (Buffer.alloc) return Buffer.alloc(e); + var t = new Buffer(e); + return t.fill(0), t + }, + isBuffer: function(e) { + return Buffer.isBuffer(e) + }, + isStream: function(e) { + return e && "function" == typeof e.on && "function" == typeof e.pause && "function" == typeof e.resume + } + } + }, {}], + 15: [function(e, t, r) { + "use strict"; + + function s(e, t, r) { + var n, i = u.getTypeOf(t), + s = u.extend(r || {}, f); + s.date = s.date || new Date, null !== s.compression && (s.compression = s.compression.toUpperCase()), "string" == typeof s.unixPermissions && (s.unixPermissions = parseInt(s.unixPermissions, 8)), s.unixPermissions && 16384 & s.unixPermissions && (s.dir = !0), s.dosPermissions && 16 & s.dosPermissions && (s.dir = !0), s.dir && (e = g(e)), s.createFolders && (n = _(e)) && b.call(this, n, !0); + var a = "string" === i && !1 === s.binary && !1 === s.base64; + r && void 0 !== r.binary || (s.binary = !a), (t instanceof c && 0 === t.uncompressedSize || s.dir || !t || 0 === t.length) && (s.base64 = !1, s.binary = !0, t = "", s.compression = "STORE", i = "string"); + var o = null; + o = t instanceof c || t instanceof l ? t : p.isNode && p.isStream(t) ? new m(e, t) : u.prepareContent(e, t, s.binary, s.optimizedBinaryString, s.base64); + var h = new d(e, o, s); + this.files[e] = h + } + var i = e("./utf8"), + u = e("./utils"), + l = e("./stream/GenericWorker"), + a = e("./stream/StreamHelper"), + f = e("./defaults"), + c = e("./compressedObject"), + d = e("./zipObject"), + o = e("./generate"), + p = e("./nodejsUtils"), + m = e("./nodejs/NodejsStreamInputAdapter"), + _ = function(e) { + "/" === e.slice(-1) && (e = e.substring(0, e.length - 1)); + var t = e.lastIndexOf("/"); + return 0 < t ? e.substring(0, t) : "" + }, + g = function(e) { + return "/" !== e.slice(-1) && (e += "/"), e + }, + b = function(e, t) { + return t = void 0 !== t ? t : f.createFolders, e = g(e), this.files[e] || s.call(this, e, null, { + dir: !0, + createFolders: t + }), this.files[e] + }; + + function h(e) { + return "[object RegExp]" === Object.prototype.toString.call(e) + } + var n = { + load: function() { + throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.") + }, + forEach: function(e) { + var t, r, n; + for (t in this.files) n = this.files[t], (r = t.slice(this.root.length, t.length)) && t.slice(0, this.root.length) === this.root && e(r, n) + }, + filter: function(r) { + var n = []; + return this.forEach(function(e, t) { + r(e, t) && n.push(t) + }), n + }, + file: function(e, t, r) { + if (1 !== arguments.length) return e = this.root + e, s.call(this, e, t, r), this; + if (h(e)) { + var n = e; + return this.filter(function(e, t) { + return !t.dir && n.test(e) + }) + } + var i = this.files[this.root + e]; + return i && !i.dir ? i : null + }, + folder: function(r) { + if (!r) return this; + if (h(r)) return this.filter(function(e, t) { + return t.dir && r.test(e) + }); + var e = this.root + r, + t = b.call(this, e), + n = this.clone(); + return n.root = t.name, n + }, + remove: function(r) { + r = this.root + r; + var e = this.files[r]; + if (e || ("/" !== r.slice(-1) && (r += "/"), e = this.files[r]), e && !e.dir) delete this.files[r]; + else + for (var t = this.filter(function(e, t) { + return t.name.slice(0, r.length) === r + }), n = 0; n < t.length; n++) delete this.files[t[n].name]; + return this + }, + generate: function() { + throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.") + }, + generateInternalStream: function(e) { + var t, r = {}; + try { + if ((r = u.extend(e || {}, { + streamFiles: !1, + compression: "STORE", + compressionOptions: null, + type: "", + platform: "DOS", + comment: null, + mimeType: "application/zip", + encodeFileName: i.utf8encode + })) + .type = r.type.toLowerCase(), r.compression = r.compression.toUpperCase(), "binarystring" === r.type && (r.type = "string"), !r.type) throw new Error("No output type specified."); + u.checkSupport(r.type), "darwin" !== r.platform && "freebsd" !== r.platform && "linux" !== r.platform && "sunos" !== r.platform || (r.platform = "UNIX"), "win32" === r.platform && (r.platform = "DOS"); + var n = r.comment || this.comment || ""; + t = o.generateWorker(this, r, n) + } catch (e) { + (t = new l("error")) + .error(e) + } + return new a(t, r.type || "string", r.mimeType) + }, + generateAsync: function(e, t) { + return this.generateInternalStream(e) + .accumulate(t) + }, + generateNodeStream: function(e, t) { + return (e = e || {}) + .type || (e.type = "nodebuffer"), this.generateInternalStream(e) + .toNodejsStream(t) + } + }; + t.exports = n + }, { + "./compressedObject": 2, + "./defaults": 5, + "./generate": 9, + "./nodejs/NodejsStreamInputAdapter": 12, + "./nodejsUtils": 14, + "./stream/GenericWorker": 28, + "./stream/StreamHelper": 29, + "./utf8": 31, + "./utils": 32, + "./zipObject": 35 + }], + 16: [function(e, t, r) { + "use strict"; + t.exports = e("stream") + }, { + stream: void 0 + }], + 17: [function(e, t, r) { + "use strict"; + var n = e("./DataReader"); + + function i(e) { + n.call(this, e); + for (var t = 0; t < this.data.length; t++) e[t] = 255 & e[t] + } + e("../utils") + .inherits(i, n), i.prototype.byteAt = function(e) { + return this.data[this.zero + e] + }, i.prototype.lastIndexOfSignature = function(e) { + for (var t = e.charCodeAt(0), r = e.charCodeAt(1), n = e.charCodeAt(2), i = e.charCodeAt(3), s = this.length - 4; 0 <= s; --s) + if (this.data[s] === t && this.data[s + 1] === r && this.data[s + 2] === n && this.data[s + 3] === i) return s - this.zero; + return -1 + }, i.prototype.readAndCheckSignature = function(e) { + var t = e.charCodeAt(0), + r = e.charCodeAt(1), + n = e.charCodeAt(2), + i = e.charCodeAt(3), + s = this.readData(4); + return t === s[0] && r === s[1] && n === s[2] && i === s[3] + }, i.prototype.readData = function(e) { + if (this.checkOffset(e), 0 === e) return []; + var t = this.data.slice(this.zero + this.index, this.zero + this.index + e); + return this.index += e, t + }, t.exports = i + }, { + "../utils": 32, + "./DataReader": 18 + }], + 18: [function(e, t, r) { + "use strict"; + var n = e("../utils"); + + function i(e) { + this.data = e, this.length = e.length, this.index = 0, this.zero = 0 + } + i.prototype = { + checkOffset: function(e) { + this.checkIndex(this.index + e) + }, + checkIndex: function(e) { + if (this.length < this.zero + e || e < 0) throw new Error("End of data reached (data length = " + this.length + ", asked index = " + e + "). Corrupted zip ?") + }, + setIndex: function(e) { + this.checkIndex(e), this.index = e + }, + skip: function(e) { + this.setIndex(this.index + e) + }, + byteAt: function() {}, + readInt: function(e) { + var t, r = 0; + for (this.checkOffset(e), t = this.index + e - 1; t >= this.index; t--) r = (r << 8) + this.byteAt(t); + return this.index += e, r + }, + readString: function(e) { + return n.transformTo("string", this.readData(e)) + }, + readData: function() {}, + lastIndexOfSignature: function() {}, + readAndCheckSignature: function() {}, + readDate: function() { + var e = this.readInt(4); + return new Date(Date.UTC(1980 + (e >> 25 & 127), (e >> 21 & 15) - 1, e >> 16 & 31, e >> 11 & 31, e >> 5 & 63, (31 & e) << 1)) + } + }, t.exports = i + }, { + "../utils": 32 + }], + 19: [function(e, t, r) { + "use strict"; + var n = e("./Uint8ArrayReader"); + + function i(e) { + n.call(this, e) + } + e("../utils") + .inherits(i, n), i.prototype.readData = function(e) { + this.checkOffset(e); + var t = this.data.slice(this.zero + this.index, this.zero + this.index + e); + return this.index += e, t + }, t.exports = i + }, { + "../utils": 32, + "./Uint8ArrayReader": 21 + }], + 20: [function(e, t, r) { + "use strict"; + var n = e("./DataReader"); + + function i(e) { + n.call(this, e) + } + e("../utils") + .inherits(i, n), i.prototype.byteAt = function(e) { + return this.data.charCodeAt(this.zero + e) + }, i.prototype.lastIndexOfSignature = function(e) { + return this.data.lastIndexOf(e) - this.zero + }, i.prototype.readAndCheckSignature = function(e) { + return e === this.readData(4) + }, i.prototype.readData = function(e) { + this.checkOffset(e); + var t = this.data.slice(this.zero + this.index, this.zero + this.index + e); + return this.index += e, t + }, t.exports = i + }, { + "../utils": 32, + "./DataReader": 18 + }], + 21: [function(e, t, r) { + "use strict"; + var n = e("./ArrayReader"); + + function i(e) { + n.call(this, e) + } + e("../utils") + .inherits(i, n), i.prototype.readData = function(e) { + if (this.checkOffset(e), 0 === e) return new Uint8Array(0); + var t = this.data.subarray(this.zero + this.index, this.zero + this.index + e); + return this.index += e, t + }, t.exports = i + }, { + "../utils": 32, + "./ArrayReader": 17 + }], + 22: [function(e, t, r) { + "use strict"; + var n = e("../utils"), + i = e("../support"), + s = e("./ArrayReader"), + a = e("./StringReader"), + o = e("./NodeBufferReader"), + h = e("./Uint8ArrayReader"); + t.exports = function(e) { + var t = n.getTypeOf(e); + return n.checkSupport(t), "string" !== t || i.uint8array ? "nodebuffer" === t ? new o(e) : i.uint8array ? new h(n.transformTo("uint8array", e)) : new s(n.transformTo("array", e)) : new a(e) + } + }, { + "../support": 30, + "../utils": 32, + "./ArrayReader": 17, + "./NodeBufferReader": 19, + "./StringReader": 20, + "./Uint8ArrayReader": 21 + }], + 23: [function(e, t, r) { + "use strict"; + r.LOCAL_FILE_HEADER = "PK", r.CENTRAL_FILE_HEADER = "PK", r.CENTRAL_DIRECTORY_END = "PK", r.ZIP64_CENTRAL_DIRECTORY_LOCATOR = "PK", r.ZIP64_CENTRAL_DIRECTORY_END = "PK", r.DATA_DESCRIPTOR = "PK\b" + }, {}], + 24: [function(e, t, r) { + "use strict"; + var n = e("./GenericWorker"), + i = e("../utils"); + + function s(e) { + n.call(this, "ConvertWorker to " + e), this.destType = e + } + i.inherits(s, n), s.prototype.processChunk = function(e) { + this.push({ + data: i.transformTo(this.destType, e.data), + meta: e.meta + }) + }, t.exports = s + }, { + "../utils": 32, + "./GenericWorker": 28 + }], + 25: [function(e, t, r) { + "use strict"; + var n = e("./GenericWorker"), + i = e("../crc32"); + + function s() { + n.call(this, "Crc32Probe"), this.withStreamInfo("crc32", 0) + } + e("../utils") + .inherits(s, n), s.prototype.processChunk = function(e) { + this.streamInfo.crc32 = i(e.data, this.streamInfo.crc32 || 0), this.push(e) + }, t.exports = s + }, { + "../crc32": 4, + "../utils": 32, + "./GenericWorker": 28 + }], + 26: [function(e, t, r) { + "use strict"; + var n = e("../utils"), + i = e("./GenericWorker"); + + function s(e) { + i.call(this, "DataLengthProbe for " + e), this.propName = e, this.withStreamInfo(e, 0) + } + n.inherits(s, i), s.prototype.processChunk = function(e) { + if (e) { + var t = this.streamInfo[this.propName] || 0; + this.streamInfo[this.propName] = t + e.data.length + } + i.prototype.processChunk.call(this, e) + }, t.exports = s + }, { + "../utils": 32, + "./GenericWorker": 28 + }], + 27: [function(e, t, r) { + "use strict"; + var n = e("../utils"), + i = e("./GenericWorker"); + + function s(e) { + i.call(this, "DataWorker"); + var t = this; + this.dataIsReady = !1, this.index = 0, this.max = 0, this.data = null, this.type = "", this._tickScheduled = !1, e.then(function(e) { + t.dataIsReady = !0, t.data = e, t.max = e && e.length || 0, t.type = n.getTypeOf(e), t.isPaused || t._tickAndRepeat() + }, function(e) { + t.error(e) + }) + } + n.inherits(s, i), s.prototype.cleanUp = function() { + i.prototype.cleanUp.call(this), this.data = null + }, s.prototype.resume = function() { + return !!i.prototype.resume.call(this) && (!this._tickScheduled && this.dataIsReady && (this._tickScheduled = !0, n.delay(this._tickAndRepeat, [], this)), !0) + }, s.prototype._tickAndRepeat = function() { + this._tickScheduled = !1, this.isPaused || this.isFinished || (this._tick(), this.isFinished || (n.delay(this._tickAndRepeat, [], this), this._tickScheduled = !0)) + }, s.prototype._tick = function() { + if (this.isPaused || this.isFinished) return !1; + var e = null, + t = Math.min(this.max, this.index + 16384); + if (this.index >= this.max) return this.end(); + switch (this.type) { + case "string": + e = this.data.substring(this.index, t); + break; + case "uint8array": + e = this.data.subarray(this.index, t); + break; + case "array": + case "nodebuffer": + e = this.data.slice(this.index, t) + } + return this.index = t, this.push({ + data: e, + meta: { + percent: this.max ? this.index / this.max * 100 : 0 + } + }) + }, t.exports = s + }, { + "../utils": 32, + "./GenericWorker": 28 + }], + 28: [function(e, t, r) { + "use strict"; + + function n(e) { + this.name = e || "default", this.streamInfo = {}, this.generatedError = null, this.extraStreamInfo = {}, this.isPaused = !0, this.isFinished = !1, this.isLocked = !1, this._listeners = { + data: [], + end: [], + error: [] + }, this.previous = null + } + n.prototype = { + push: function(e) { + this.emit("data", e) + }, + end: function() { + if (this.isFinished) return !1; + this.flush(); + try { + this.emit("end"), this.cleanUp(), this.isFinished = !0 + } catch (e) { + this.emit("error", e) + } + return !0 + }, + error: function(e) { + return !this.isFinished && (this.isPaused ? this.generatedError = e : (this.isFinished = !0, this.emit("error", e), this.previous && this.previous.error(e), this.cleanUp()), !0) + }, + on: function(e, t) { + return this._listeners[e].push(t), this + }, + cleanUp: function() { + this.streamInfo = this.generatedError = this.extraStreamInfo = null, this._listeners = [] + }, + emit: function(e, t) { + if (this._listeners[e]) + for (var r = 0; r < this._listeners[e].length; r++) this._listeners[e][r].call(this, t) + }, + pipe: function(e) { + return e.registerPrevious(this) + }, + registerPrevious: function(e) { + if (this.isLocked) throw new Error("The stream '" + this + "' has already been used."); + this.streamInfo = e.streamInfo, this.mergeStreamInfo(), this.previous = e; + var t = this; + return e.on("data", function(e) { + t.processChunk(e) + }), e.on("end", function() { + t.end() + }), e.on("error", function(e) { + t.error(e) + }), this + }, + pause: function() { + return !this.isPaused && !this.isFinished && (this.isPaused = !0, this.previous && this.previous.pause(), !0) + }, + resume: function() { + if (!this.isPaused || this.isFinished) return !1; + var e = this.isPaused = !1; + return this.generatedError && (this.error(this.generatedError), e = !0), this.previous && this.previous.resume(), !e + }, + flush: function() {}, + processChunk: function(e) { + this.push(e) + }, + withStreamInfo: function(e, t) { + return this.extraStreamInfo[e] = t, this.mergeStreamInfo(), this + }, + mergeStreamInfo: function() { + for (var e in this.extraStreamInfo) Object.prototype.hasOwnProperty.call(this.extraStreamInfo, e) && (this.streamInfo[e] = this.extraStreamInfo[e]) + }, + lock: function() { + if (this.isLocked) throw new Error("The stream '" + this + "' has already been used."); + this.isLocked = !0, this.previous && this.previous.lock() + }, + toString: function() { + var e = "Worker " + this.name; + return this.previous ? this.previous + " -> " + e : e + } + }, t.exports = n + }, {}], + 29: [function(e, t, r) { + "use strict"; + var h = e("../utils"), + i = e("./ConvertWorker"), + s = e("./GenericWorker"), + u = e("../base64"), + n = e("../support"), + a = e("../external"), + o = null; + if (n.nodestream) try { + o = e("../nodejs/NodejsStreamOutputAdapter") + } catch (e) {} + + function l(e, o) { + return new a.Promise(function(t, r) { + var n = [], + i = e._internalType, + s = e._outputType, + a = e._mimeType; + e.on("data", function(e, t) { + n.push(e), o && o(t) + }) + .on("error", function(e) { + n = [], r(e) + }) + .on("end", function() { + try { + var e = function(e, t, r) { + switch (e) { + case "blob": + return h.newBlob(h.transformTo("arraybuffer", t), r); + case "base64": + return u.encode(t); + default: + return h.transformTo(e, t) + } + }(s, function(e, t) { + var r, n = 0, + i = null, + s = 0; + for (r = 0; r < t.length; r++) s += t[r].length; + switch (e) { + case "string": + return t.join(""); + case "array": + return Array.prototype.concat.apply([], t); + case "uint8array": + for (i = new Uint8Array(s), r = 0; r < t.length; r++) i.set(t[r], n), n += t[r].length; + return i; + case "nodebuffer": + return Buffer.concat(t); + default: + throw new Error("concat : unsupported type '" + e + "'") + } + }(i, n), a); + t(e) + } catch (e) { + r(e) + } + n = [] + }) + .resume() + }) + } + + function f(e, t, r) { + var n = t; + switch (t) { + case "blob": + case "arraybuffer": + n = "uint8array"; + break; + case "base64": + n = "string" + } + try { + this._internalType = n, this._outputType = t, this._mimeType = r, h.checkSupport(n), this._worker = e.pipe(new i(n)), e.lock() + } catch (e) { + this._worker = new s("error"), this._worker.error(e) + } + } + f.prototype = { + accumulate: function(e) { + return l(this, e) + }, + on: function(e, t) { + var r = this; + return "data" === e ? this._worker.on(e, function(e) { + t.call(r, e.data, e.meta) + }) : this._worker.on(e, function() { + h.delay(t, arguments, r) + }), this + }, + resume: function() { + return h.delay(this._worker.resume, [], this._worker), this + }, + pause: function() { + return this._worker.pause(), this + }, + toNodejsStream: function(e) { + if (h.checkSupport("nodestream"), "nodebuffer" !== this._outputType) throw new Error(this._outputType + " is not supported by this method"); + return new o(this, { + objectMode: "nodebuffer" !== this._outputType + }, e) + } + }, t.exports = f + }, { + "../base64": 1, + "../external": 6, + "../nodejs/NodejsStreamOutputAdapter": 13, + "../support": 30, + "../utils": 32, + "./ConvertWorker": 24, + "./GenericWorker": 28 + }], + 30: [function(e, t, r) { + "use strict"; + if (r.base64 = !0, r.array = !0, r.string = !0, r.arraybuffer = "undefined" != typeof ArrayBuffer && "undefined" != typeof Uint8Array, r.nodebuffer = "undefined" != typeof Buffer, r.uint8array = "undefined" != typeof Uint8Array, "undefined" == typeof ArrayBuffer) r.blob = !1; + else { + var n = new ArrayBuffer(0); + try { + r.blob = 0 === new Blob([n], { + type: "application/zip" + }) + .size + } catch (e) { + try { + var i = new(self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder); + i.append(n), r.blob = 0 === i.getBlob("application/zip") + .size + } catch (e) { + r.blob = !1 + } + } + } + try { + r.nodestream = !!e("readable-stream") + .Readable + } catch (e) { + r.nodestream = !1 + } + }, { + "readable-stream": 16 + }], + 31: [function(e, t, s) { + "use strict"; + for (var o = e("./utils"), h = e("./support"), r = e("./nodejsUtils"), n = e("./stream/GenericWorker"), u = new Array(256), i = 0; i < 256; i++) u[i] = 252 <= i ? 6 : 248 <= i ? 5 : 240 <= i ? 4 : 224 <= i ? 3 : 192 <= i ? 2 : 1; + u[254] = u[254] = 1; + + function a() { + n.call(this, "utf-8 decode"), this.leftOver = null + } + + function l() { + n.call(this, "utf-8 encode") + } + s.utf8encode = function(e) { + return h.nodebuffer ? r.newBufferFrom(e, "utf-8") : function(e) { + var t, r, n, i, s, a = e.length, + o = 0; + for (i = 0; i < a; i++) 55296 == (64512 & (r = e.charCodeAt(i))) && i + 1 < a && 56320 == (64512 & (n = e.charCodeAt(i + 1))) && (r = 65536 + (r - 55296 << 10) + (n - 56320), i++), o += r < 128 ? 1 : r < 2048 ? 2 : r < 65536 ? 3 : 4; + for (t = h.uint8array ? new Uint8Array(o) : new Array(o), i = s = 0; s < o; i++) 55296 == (64512 & (r = e.charCodeAt(i))) && i + 1 < a && 56320 == (64512 & (n = e.charCodeAt(i + 1))) && (r = 65536 + (r - 55296 << 10) + (n - 56320), i++), r < 128 ? t[s++] = r : (r < 2048 ? t[s++] = 192 | r >>> 6 : (r < 65536 ? t[s++] = 224 | r >>> 12 : (t[s++] = 240 | r >>> 18, t[s++] = 128 | r >>> 12 & 63), t[s++] = 128 | r >>> 6 & 63), t[s++] = 128 | 63 & r); + return t + }(e) + }, s.utf8decode = function(e) { + return h.nodebuffer ? o.transformTo("nodebuffer", e) + .toString("utf-8") : function(e) { + var t, r, n, i, s = e.length, + a = new Array(2 * s); + for (t = r = 0; t < s;) + if ((n = e[t++]) < 128) a[r++] = n; + else if (4 < (i = u[n])) a[r++] = 65533, t += i - 1; + else { + for (n &= 2 === i ? 31 : 3 === i ? 15 : 7; 1 < i && t < s;) n = n << 6 | 63 & e[t++], i--; + 1 < i ? a[r++] = 65533 : n < 65536 ? a[r++] = n : (n -= 65536, a[r++] = 55296 | n >> 10 & 1023, a[r++] = 56320 | 1023 & n) + } + return a.length !== r && (a.subarray ? a = a.subarray(0, r) : a.length = r), o.applyFromCharCode(a) + }(e = o.transformTo(h.uint8array ? "uint8array" : "array", e)) + }, o.inherits(a, n), a.prototype.processChunk = function(e) { + var t = o.transformTo(h.uint8array ? "uint8array" : "array", e.data); + if (this.leftOver && this.leftOver.length) { + if (h.uint8array) { + var r = t; + (t = new Uint8Array(r.length + this.leftOver.length)) + .set(this.leftOver, 0), t.set(r, this.leftOver.length) + } else t = this.leftOver.concat(t); + this.leftOver = null + } + var n = function(e, t) { + var r; + for ((t = t || e.length) > e.length && (t = e.length), r = t - 1; 0 <= r && 128 == (192 & e[r]);) r--; + return r < 0 ? t : 0 === r ? t : r + u[e[r]] > t ? r : t + }(t), + i = t; + n !== t.length && (h.uint8array ? (i = t.subarray(0, n), this.leftOver = t.subarray(n, t.length)) : (i = t.slice(0, n), this.leftOver = t.slice(n, t.length))), this.push({ + data: s.utf8decode(i), + meta: e.meta + }) + }, a.prototype.flush = function() { + this.leftOver && this.leftOver.length && (this.push({ + data: s.utf8decode(this.leftOver), + meta: {} + }), this.leftOver = null) + }, s.Utf8DecodeWorker = a, o.inherits(l, n), l.prototype.processChunk = function(e) { + this.push({ + data: s.utf8encode(e.data), + meta: e.meta + }) + }, s.Utf8EncodeWorker = l + }, { + "./nodejsUtils": 14, + "./stream/GenericWorker": 28, + "./support": 30, + "./utils": 32 + }], + 32: [function(e, t, a) { + "use strict"; + var o = e("./support"), + h = e("./base64"), + r = e("./nodejsUtils"), + u = e("./external"); + + function n(e) { + return e + } + + function l(e, t) { + for (var r = 0; r < e.length; ++r) t[r] = 255 & e.charCodeAt(r); + return t + } + e("setimmediate"), a.newBlob = function(t, r) { + a.checkSupport("blob"); + try { + return new Blob([t], { + type: r + }) + } catch (e) { + try { + var n = new(self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder); + return n.append(t), n.getBlob(r) + } catch (e) { + throw new Error("Bug : can't construct the Blob.") + } + } + }; + var i = { + stringifyByChunk: function(e, t, r) { + var n = [], + i = 0, + s = e.length; + if (s <= r) return String.fromCharCode.apply(null, e); + for (; i < s;) "array" === t || "nodebuffer" === t ? n.push(String.fromCharCode.apply(null, e.slice(i, Math.min(i + r, s)))) : n.push(String.fromCharCode.apply(null, e.subarray(i, Math.min(i + r, s)))), i += r; + return n.join("") + }, + stringifyByChar: function(e) { + for (var t = "", r = 0; r < e.length; r++) t += String.fromCharCode(e[r]); + return t + }, + applyCanBeUsed: { + uint8array: function() { + try { + return o.uint8array && 1 === String.fromCharCode.apply(null, new Uint8Array(1)) + .length + } catch (e) { + return !1 + } + }(), + nodebuffer: function() { + try { + return o.nodebuffer && 1 === String.fromCharCode.apply(null, r.allocBuffer(1)) + .length + } catch (e) { + return !1 + } + }() + } + }; + + function s(e) { + var t = 65536, + r = a.getTypeOf(e), + n = !0; + if ("uint8array" === r ? n = i.applyCanBeUsed.uint8array : "nodebuffer" === r && (n = i.applyCanBeUsed.nodebuffer), n) + for (; 1 < t;) try { + return i.stringifyByChunk(e, r, t) + } catch (e) { + t = Math.floor(t / 2) + } + return i.stringifyByChar(e) + } + + function f(e, t) { + for (var r = 0; r < e.length; r++) t[r] = e[r]; + return t + } + a.applyFromCharCode = s; + var c = {}; + c.string = { + string: n, + array: function(e) { + return l(e, new Array(e.length)) + }, + arraybuffer: function(e) { + return c.string.uint8array(e) + .buffer + }, + uint8array: function(e) { + return l(e, new Uint8Array(e.length)) + }, + nodebuffer: function(e) { + return l(e, r.allocBuffer(e.length)) + } + }, c.array = { + string: s, + array: n, + arraybuffer: function(e) { + return new Uint8Array(e) + .buffer + }, + uint8array: function(e) { + return new Uint8Array(e) + }, + nodebuffer: function(e) { + return r.newBufferFrom(e) + } + }, c.arraybuffer = { + string: function(e) { + return s(new Uint8Array(e)) + }, + array: function(e) { + return f(new Uint8Array(e), new Array(e.byteLength)) + }, + arraybuffer: n, + uint8array: function(e) { + return new Uint8Array(e) + }, + nodebuffer: function(e) { + return r.newBufferFrom(new Uint8Array(e)) + } + }, c.uint8array = { + string: s, + array: function(e) { + return f(e, new Array(e.length)) + }, + arraybuffer: function(e) { + return e.buffer + }, + uint8array: n, + nodebuffer: function(e) { + return r.newBufferFrom(e) + } + }, c.nodebuffer = { + string: s, + array: function(e) { + return f(e, new Array(e.length)) + }, + arraybuffer: function(e) { + return c.nodebuffer.uint8array(e) + .buffer + }, + uint8array: function(e) { + return f(e, new Uint8Array(e.length)) + }, + nodebuffer: n + }, a.transformTo = function(e, t) { + if (t = t || "", !e) return t; + a.checkSupport(e); + var r = a.getTypeOf(t); + return c[r][e](t) + }, a.resolve = function(e) { + for (var t = e.split("/"), r = [], n = 0; n < t.length; n++) { + var i = t[n]; + "." === i || "" === i && 0 !== n && n !== t.length - 1 || (".." === i ? r.pop() : r.push(i)) + } + return r.join("/") + }, a.getTypeOf = function(e) { + return "string" == typeof e ? "string" : "[object Array]" === Object.prototype.toString.call(e) ? "array" : o.nodebuffer && r.isBuffer(e) ? "nodebuffer" : o.uint8array && e instanceof Uint8Array ? "uint8array" : o.arraybuffer && e instanceof ArrayBuffer ? "arraybuffer" : void 0 + }, a.checkSupport = function(e) { + if (!o[e.toLowerCase()]) throw new Error(e + " is not supported by this platform") + }, a.MAX_VALUE_16BITS = 65535, a.MAX_VALUE_32BITS = -1, a.pretty = function(e) { + var t, r, n = ""; + for (r = 0; r < (e || "") + .length; r++) n += "\\x" + ((t = e.charCodeAt(r)) < 16 ? "0" : "") + t.toString(16) + .toUpperCase(); + return n + }, a.delay = function(e, t, r) { + setImmediate(function() { + e.apply(r || null, t || []) + }) + }, a.inherits = function(e, t) { + function r() {} + r.prototype = t.prototype, e.prototype = new r + }, a.extend = function() { + var e, t, r = {}; + for (e = 0; e < arguments.length; e++) + for (t in arguments[e]) Object.prototype.hasOwnProperty.call(arguments[e], t) && void 0 === r[t] && (r[t] = arguments[e][t]); + return r + }, a.prepareContent = function(r, e, n, i, s) { + return u.Promise.resolve(e) + .then(function(n) { + return o.blob && (n instanceof Blob || -1 !== ["[object File]", "[object Blob]"].indexOf(Object.prototype.toString.call(n))) && "undefined" != typeof FileReader ? new u.Promise(function(t, r) { + var e = new FileReader; + e.onload = function(e) { + t(e.target.result) + }, e.onerror = function(e) { + r(e.target.error) + }, e.readAsArrayBuffer(n) + }) : n + }) + .then(function(e) { + var t = a.getTypeOf(e); + return t ? ("arraybuffer" === t ? e = a.transformTo("uint8array", e) : "string" === t && (s ? e = h.decode(e) : n && !0 !== i && (e = function(e) { + return l(e, o.uint8array ? new Uint8Array(e.length) : new Array(e.length)) + }(e))), e) : u.Promise.reject(new Error("Can't read the data of '" + r + "'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?")) + }) + } + }, { + "./base64": 1, + "./external": 6, + "./nodejsUtils": 14, + "./support": 30, + setimmediate: 54 + }], + 33: [function(e, t, r) { + "use strict"; + var n = e("./reader/readerFor"), + i = e("./utils"), + s = e("./signature"), + a = e("./zipEntry"), + o = e("./support"); + + function h(e) { + this.files = [], this.loadOptions = e + } + h.prototype = { + checkSignature: function(e) { + if (!this.reader.readAndCheckSignature(e)) { + this.reader.index -= 4; + var t = this.reader.readString(4); + throw new Error("Corrupted zip or bug: unexpected signature (" + i.pretty(t) + ", expected " + i.pretty(e) + ")") + } + }, + isSignature: function(e, t) { + var r = this.reader.index; + this.reader.setIndex(e); + var n = this.reader.readString(4) === t; + return this.reader.setIndex(r), n + }, + readBlockEndOfCentral: function() { + this.diskNumber = this.reader.readInt(2), this.diskWithCentralDirStart = this.reader.readInt(2), this.centralDirRecordsOnThisDisk = this.reader.readInt(2), this.centralDirRecords = this.reader.readInt(2), this.centralDirSize = this.reader.readInt(4), this.centralDirOffset = this.reader.readInt(4), this.zipCommentLength = this.reader.readInt(2); + var e = this.reader.readData(this.zipCommentLength), + t = o.uint8array ? "uint8array" : "array", + r = i.transformTo(t, e); + this.zipComment = this.loadOptions.decodeFileName(r) + }, + readBlockZip64EndOfCentral: function() { + this.zip64EndOfCentralSize = this.reader.readInt(8), this.reader.skip(4), this.diskNumber = this.reader.readInt(4), this.diskWithCentralDirStart = this.reader.readInt(4), this.centralDirRecordsOnThisDisk = this.reader.readInt(8), this.centralDirRecords = this.reader.readInt(8), this.centralDirSize = this.reader.readInt(8), this.centralDirOffset = this.reader.readInt(8), this.zip64ExtensibleData = {}; + for (var e, t, r, n = this.zip64EndOfCentralSize - 44; 0 < n;) e = this.reader.readInt(2), t = this.reader.readInt(4), r = this.reader.readData(t), this.zip64ExtensibleData[e] = { + id: e, + length: t, + value: r + } + }, + readBlockZip64EndOfCentralLocator: function() { + if (this.diskWithZip64CentralDirStart = this.reader.readInt(4), this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8), this.disksCount = this.reader.readInt(4), 1 < this.disksCount) throw new Error("Multi-volumes zip are not supported") + }, + readLocalFiles: function() { + var e, t; + for (e = 0; e < this.files.length; e++) t = this.files[e], this.reader.setIndex(t.localHeaderOffset), this.checkSignature(s.LOCAL_FILE_HEADER), t.readLocalPart(this.reader), t.handleUTF8(), t.processAttributes() + }, + readCentralDir: function() { + var e; + for (this.reader.setIndex(this.centralDirOffset); this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(e = new a({ + zip64: this.zip64 + }, this.loadOptions)) + .readCentralPart(this.reader), this.files.push(e); + if (this.centralDirRecords !== this.files.length && 0 !== this.centralDirRecords && 0 === this.files.length) throw new Error("Corrupted zip or bug: expected " + this.centralDirRecords + " records in central dir, got " + this.files.length) + }, + readEndOfCentral: function() { + var e = this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END); + if (e < 0) throw !this.isSignature(0, s.LOCAL_FILE_HEADER) ? new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html") : new Error("Corrupted zip: can't find end of central directory"); + this.reader.setIndex(e); + var t = e; + if (this.checkSignature(s.CENTRAL_DIRECTORY_END), this.readBlockEndOfCentral(), this.diskNumber === i.MAX_VALUE_16BITS || this.diskWithCentralDirStart === i.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === i.MAX_VALUE_16BITS || this.centralDirRecords === i.MAX_VALUE_16BITS || this.centralDirSize === i.MAX_VALUE_32BITS || this.centralDirOffset === i.MAX_VALUE_32BITS) { + if (this.zip64 = !0, (e = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR)) < 0) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator"); + if (this.reader.setIndex(e), this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR), this.readBlockZip64EndOfCentralLocator(), !this.isSignature(this.relativeOffsetEndOfZip64CentralDir, s.ZIP64_CENTRAL_DIRECTORY_END) && (this.relativeOffsetEndOfZip64CentralDir = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END), this.relativeOffsetEndOfZip64CentralDir < 0)) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory"); + this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir), this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END), this.readBlockZip64EndOfCentral() + } + var r = this.centralDirOffset + this.centralDirSize; + this.zip64 && (r += 20, r += 12 + this.zip64EndOfCentralSize); + var n = t - r; + if (0 < n) this.isSignature(t, s.CENTRAL_FILE_HEADER) || (this.reader.zero = n); + else if (n < 0) throw new Error("Corrupted zip: missing " + Math.abs(n) + " bytes.") + }, + prepareReader: function(e) { + this.reader = n(e) + }, + load: function(e) { + this.prepareReader(e), this.readEndOfCentral(), this.readCentralDir(), this.readLocalFiles() + } + }, t.exports = h + }, { + "./reader/readerFor": 22, + "./signature": 23, + "./support": 30, + "./utils": 32, + "./zipEntry": 34 + }], + 34: [function(e, t, r) { + "use strict"; + var n = e("./reader/readerFor"), + s = e("./utils"), + i = e("./compressedObject"), + a = e("./crc32"), + o = e("./utf8"), + h = e("./compressions"), + u = e("./support"); + + function l(e, t) { + this.options = e, this.loadOptions = t + } + l.prototype = { + isEncrypted: function() { + return 1 == (1 & this.bitFlag) + }, + useUTF8: function() { + return 2048 == (2048 & this.bitFlag) + }, + readLocalPart: function(e) { + var t, r; + if (e.skip(22), this.fileNameLength = e.readInt(2), r = e.readInt(2), this.fileName = e.readData(this.fileNameLength), e.skip(r), -1 === this.compressedSize || -1 === this.uncompressedSize) throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)"); + if (null === (t = function(e) { + for (var t in h) + if (Object.prototype.hasOwnProperty.call(h, t) && h[t].magic === e) return h[t]; + return null + }(this.compressionMethod))) throw new Error("Corrupted zip : compression " + s.pretty(this.compressionMethod) + " unknown (inner file : " + s.transformTo("string", this.fileName) + ")"); + this.decompressed = new i(this.compressedSize, this.uncompressedSize, this.crc32, t, e.readData(this.compressedSize)) + }, + readCentralPart: function(e) { + this.versionMadeBy = e.readInt(2), e.skip(2), this.bitFlag = e.readInt(2), this.compressionMethod = e.readString(2), this.date = e.readDate(), this.crc32 = e.readInt(4), this.compressedSize = e.readInt(4), this.uncompressedSize = e.readInt(4); + var t = e.readInt(2); + if (this.extraFieldsLength = e.readInt(2), this.fileCommentLength = e.readInt(2), this.diskNumberStart = e.readInt(2), this.internalFileAttributes = e.readInt(2), this.externalFileAttributes = e.readInt(4), this.localHeaderOffset = e.readInt(4), this.isEncrypted()) throw new Error("Encrypted zip are not supported"); + e.skip(t), this.readExtraFields(e), this.parseZIP64ExtraField(e), this.fileComment = e.readData(this.fileCommentLength) + }, + processAttributes: function() { + this.unixPermissions = null, this.dosPermissions = null; + var e = this.versionMadeBy >> 8; + this.dir = !!(16 & this.externalFileAttributes), 0 == e && (this.dosPermissions = 63 & this.externalFileAttributes), 3 == e && (this.unixPermissions = this.externalFileAttributes >> 16 & 65535), this.dir || "/" !== this.fileNameStr.slice(-1) || (this.dir = !0) + }, + parseZIP64ExtraField: function() { + if (this.extraFields[1]) { + var e = n(this.extraFields[1].value); + this.uncompressedSize === s.MAX_VALUE_32BITS && (this.uncompressedSize = e.readInt(8)), this.compressedSize === s.MAX_VALUE_32BITS && (this.compressedSize = e.readInt(8)), this.localHeaderOffset === s.MAX_VALUE_32BITS && (this.localHeaderOffset = e.readInt(8)), this.diskNumberStart === s.MAX_VALUE_32BITS && (this.diskNumberStart = e.readInt(4)) + } + }, + readExtraFields: function(e) { + var t, r, n, i = e.index + this.extraFieldsLength; + for (this.extraFields || (this.extraFields = {}); e.index + 4 < i;) t = e.readInt(2), r = e.readInt(2), n = e.readData(r), this.extraFields[t] = { + id: t, + length: r, + value: n + }; + e.setIndex(i) + }, + handleUTF8: function() { + var e = u.uint8array ? "uint8array" : "array"; + if (this.useUTF8()) this.fileNameStr = o.utf8decode(this.fileName), this.fileCommentStr = o.utf8decode(this.fileComment); + else { + var t = this.findExtraFieldUnicodePath(); + if (null !== t) this.fileNameStr = t; + else { + var r = s.transformTo(e, this.fileName); + this.fileNameStr = this.loadOptions.decodeFileName(r) + } + var n = this.findExtraFieldUnicodeComment(); + if (null !== n) this.fileCommentStr = n; + else { + var i = s.transformTo(e, this.fileComment); + this.fileCommentStr = this.loadOptions.decodeFileName(i) + } + } + }, + findExtraFieldUnicodePath: function() { + var e = this.extraFields[28789]; + if (e) { + var t = n(e.value); + return 1 !== t.readInt(1) ? null : a(this.fileName) !== t.readInt(4) ? null : o.utf8decode(t.readData(e.length - 5)) + } + return null + }, + findExtraFieldUnicodeComment: function() { + var e = this.extraFields[25461]; + if (e) { + var t = n(e.value); + return 1 !== t.readInt(1) ? null : a(this.fileComment) !== t.readInt(4) ? null : o.utf8decode(t.readData(e.length - 5)) + } + return null + } + }, t.exports = l + }, { + "./compressedObject": 2, + "./compressions": 3, + "./crc32": 4, + "./reader/readerFor": 22, + "./support": 30, + "./utf8": 31, + "./utils": 32 + }], + 35: [function(e, t, r) { + "use strict"; + + function n(e, t, r) { + this.name = e, this.dir = r.dir, this.date = r.date, this.comment = r.comment, this.unixPermissions = r.unixPermissions, this.dosPermissions = r.dosPermissions, this._data = t, this._dataBinary = r.binary, this.options = { + compression: r.compression, + compressionOptions: r.compressionOptions + } + } + var s = e("./stream/StreamHelper"), + i = e("./stream/DataWorker"), + a = e("./utf8"), + o = e("./compressedObject"), + h = e("./stream/GenericWorker"); + n.prototype = { + internalStream: function(e) { + var t = null, + r = "string"; + try { + if (!e) throw new Error("No output type specified."); + var n = "string" === (r = e.toLowerCase()) || "text" === r; + "binarystring" !== r && "text" !== r || (r = "string"), t = this._decompressWorker(); + var i = !this._dataBinary; + i && !n && (t = t.pipe(new a.Utf8EncodeWorker)), !i && n && (t = t.pipe(new a.Utf8DecodeWorker)) + } catch (e) { + (t = new h("error")) + .error(e) + } + return new s(t, r, "") + }, + async: function(e, t) { + return this.internalStream(e) + .accumulate(t) + }, + nodeStream: function(e, t) { + return this.internalStream(e || "nodebuffer") + .toNodejsStream(t) + }, + _compressWorker: function(e, t) { + if (this._data instanceof o && this._data.compression.magic === e.magic) return this._data.getCompressedWorker(); + var r = this._decompressWorker(); + return this._dataBinary || (r = r.pipe(new a.Utf8EncodeWorker)), o.createWorkerFrom(r, e, t) + }, + _decompressWorker: function() { + return this._data instanceof o ? this._data.getContentWorker() : this._data instanceof h ? this._data : new i(this._data) + } + }; + for (var u = ["asText", "asBinary", "asNodeBuffer", "asUint8Array", "asArrayBuffer"], l = function() { + throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.") + }, f = 0; f < u.length; f++) n.prototype[u[f]] = l; + t.exports = n + }, { + "./compressedObject": 2, + "./stream/DataWorker": 27, + "./stream/GenericWorker": 28, + "./stream/StreamHelper": 29, + "./utf8": 31 + }], + 36: [function(e, l, t) { + (function(t) { + "use strict"; + var r, n, e = t.MutationObserver || t.WebKitMutationObserver; + if (e) { + var i = 0, + s = new e(u), + a = t.document.createTextNode(""); + s.observe(a, { + characterData: !0 + }), r = function() { + a.data = i = ++i % 2 + } + } else if (t.setImmediate || void 0 === t.MessageChannel) r = "document" in t && "onreadystatechange" in t.document.createElement("script") ? function() { + var e = t.document.createElement("script"); + e.onreadystatechange = function() { + u(), e.onreadystatechange = null, e.parentNode.removeChild(e), e = null + }, t.document.documentElement.appendChild(e) + } : function() { + setTimeout(u, 0) + }; + else { + var o = new t.MessageChannel; + o.port1.onmessage = u, r = function() { + o.port2.postMessage(0) + } + } + var h = []; + + function u() { + var e, t; + n = !0; + for (var r = h.length; r;) { + for (t = h, h = [], e = -1; ++e < r;) t[e](); + r = h.length + } + n = !1 + } + l.exports = function(e) { + 1 !== h.push(e) || n || r() + } + }) + .call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) + }, {}], + 37: [function(e, t, r) { + "use strict"; + var i = e("immediate"); + + function u() {} + var l = {}, + s = ["REJECTED"], + a = ["FULFILLED"], + n = ["PENDING"]; + + function o(e) { + if ("function" != typeof e) throw new TypeError("resolver must be a function"); + this.state = n, this.queue = [], this.outcome = void 0, e !== u && d(this, e) + } + + function h(e, t, r) { + this.promise = e, "function" == typeof t && (this.onFulfilled = t, this.callFulfilled = this.otherCallFulfilled), "function" == typeof r && (this.onRejected = r, this.callRejected = this.otherCallRejected) + } + + function f(t, r, n) { + i(function() { + var e; + try { + e = r(n) + } catch (e) { + return l.reject(t, e) + } + e === t ? l.reject(t, new TypeError("Cannot resolve promise with itself")) : l.resolve(t, e) + }) + } + + function c(e) { + var t = e && e.then; + if (e && ("object" == typeof e || "function" == typeof e) && "function" == typeof t) return function() { + t.apply(e, arguments) + } + } + + function d(t, e) { + var r = !1; + + function n(e) { + r || (r = !0, l.reject(t, e)) + } + + function i(e) { + r || (r = !0, l.resolve(t, e)) + } + var s = p(function() { + e(i, n) + }); + "error" === s.status && n(s.value) + } + + function p(e, t) { + var r = {}; + try { + r.value = e(t), r.status = "success" + } catch (e) { + r.status = "error", r.value = e + } + return r + }(t.exports = o) + .prototype.finally = function(t) { + if ("function" != typeof t) return this; + var r = this.constructor; + return this.then(function(e) { + return r.resolve(t()) + .then(function() { + return e + }) + }, function(e) { + return r.resolve(t()) + .then(function() { + throw e + }) + }) + }, o.prototype.catch = function(e) { + return this.then(null, e) + }, o.prototype.then = function(e, t) { + if ("function" != typeof e && this.state === a || "function" != typeof t && this.state === s) return this; + var r = new this.constructor(u); + this.state !== n ? f(r, this.state === a ? e : t, this.outcome) : this.queue.push(new h(r, e, t)); + return r + }, h.prototype.callFulfilled = function(e) { + l.resolve(this.promise, e) + }, h.prototype.otherCallFulfilled = function(e) { + f(this.promise, this.onFulfilled, e) + }, h.prototype.callRejected = function(e) { + l.reject(this.promise, e) + }, h.prototype.otherCallRejected = function(e) { + f(this.promise, this.onRejected, e) + }, l.resolve = function(e, t) { + var r = p(c, t); + if ("error" === r.status) return l.reject(e, r.value); + var n = r.value; + if (n) d(e, n); + else { + e.state = a, e.outcome = t; + for (var i = -1, s = e.queue.length; ++i < s;) e.queue[i].callFulfilled(t) + } + return e + }, l.reject = function(e, t) { + e.state = s, e.outcome = t; + for (var r = -1, n = e.queue.length; ++r < n;) e.queue[r].callRejected(t); + return e + }, o.resolve = function(e) { + if (e instanceof this) return e; + return l.resolve(new this(u), e) + }, o.reject = function(e) { + var t = new this(u); + return l.reject(t, e) + }, o.all = function(e) { + var r = this; + if ("[object Array]" !== Object.prototype.toString.call(e)) return this.reject(new TypeError("must be an array")); + var n = e.length, + i = !1; + if (!n) return this.resolve([]); + var s = new Array(n), + a = 0, + t = -1, + o = new this(u); + for (; ++t < n;) h(e[t], t); + return o; + + function h(e, t) { + r.resolve(e) + .then(function(e) { + s[t] = e, ++a !== n || i || (i = !0, l.resolve(o, s)) + }, function(e) { + i || (i = !0, l.reject(o, e)) + }) + } + }, o.race = function(e) { + var t = this; + if ("[object Array]" !== Object.prototype.toString.call(e)) return this.reject(new TypeError("must be an array")); + var r = e.length, + n = !1; + if (!r) return this.resolve([]); + var i = -1, + s = new this(u); + for (; ++i < r;) a = e[i], t.resolve(a) + .then(function(e) { + n || (n = !0, l.resolve(s, e)) + }, function(e) { + n || (n = !0, l.reject(s, e)) + }); + var a; + return s + } + }, { + immediate: 36 + }], + 38: [function(e, t, r) { + "use strict"; + var n = {}; + (0, e("./lib/utils/common") + .assign)(n, e("./lib/deflate"), e("./lib/inflate"), e("./lib/zlib/constants")), t.exports = n + }, { + "./lib/deflate": 39, + "./lib/inflate": 40, + "./lib/utils/common": 41, + "./lib/zlib/constants": 44 + }], + 39: [function(e, t, r) { + "use strict"; + var a = e("./zlib/deflate"), + o = e("./utils/common"), + h = e("./utils/strings"), + i = e("./zlib/messages"), + s = e("./zlib/zstream"), + u = Object.prototype.toString, + l = 0, + f = -1, + c = 0, + d = 8; + + function p(e) { + if (!(this instanceof p)) return new p(e); + this.options = o.assign({ + level: f, + method: d, + chunkSize: 16384, + windowBits: 15, + memLevel: 8, + strategy: c, + to: "" + }, e || {}); + var t = this.options; + t.raw && 0 < t.windowBits ? t.windowBits = -t.windowBits : t.gzip && 0 < t.windowBits && t.windowBits < 16 && (t.windowBits += 16), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new s, this.strm.avail_out = 0; + var r = a.deflateInit2(this.strm, t.level, t.method, t.windowBits, t.memLevel, t.strategy); + if (r !== l) throw new Error(i[r]); + if (t.header && a.deflateSetHeader(this.strm, t.header), t.dictionary) { + var n; + if (n = "string" == typeof t.dictionary ? h.string2buf(t.dictionary) : "[object ArrayBuffer]" === u.call(t.dictionary) ? new Uint8Array(t.dictionary) : t.dictionary, (r = a.deflateSetDictionary(this.strm, n)) !== l) throw new Error(i[r]); + this._dict_set = !0 + } + } + + function n(e, t) { + var r = new p(t); + if (r.push(e, !0), r.err) throw r.msg || i[r.err]; + return r.result + } + p.prototype.push = function(e, t) { + var r, n, i = this.strm, + s = this.options.chunkSize; + if (this.ended) return !1; + n = t === ~~t ? t : !0 === t ? 4 : 0, "string" == typeof e ? i.input = h.string2buf(e) : "[object ArrayBuffer]" === u.call(e) ? i.input = new Uint8Array(e) : i.input = e, i.next_in = 0, i.avail_in = i.input.length; + do { + if (0 === i.avail_out && (i.output = new o.Buf8(s), i.next_out = 0, i.avail_out = s), 1 !== (r = a.deflate(i, n)) && r !== l) return this.onEnd(r), !(this.ended = !0); + 0 !== i.avail_out && (0 !== i.avail_in || 4 !== n && 2 !== n) || ("string" === this.options.to ? this.onData(h.buf2binstring(o.shrinkBuf(i.output, i.next_out))) : this.onData(o.shrinkBuf(i.output, i.next_out))) + } while ((0 < i.avail_in || 0 === i.avail_out) && 1 !== r); + return 4 === n ? (r = a.deflateEnd(this.strm), this.onEnd(r), this.ended = !0, r === l) : 2 !== n || (this.onEnd(l), !(i.avail_out = 0)) + }, p.prototype.onData = function(e) { + this.chunks.push(e) + }, p.prototype.onEnd = function(e) { + e === l && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = o.flattenChunks(this.chunks)), this.chunks = [], this.err = e, this.msg = this.strm.msg + }, r.Deflate = p, r.deflate = n, r.deflateRaw = function(e, t) { + return (t = t || {}) + .raw = !0, n(e, t) + }, r.gzip = function(e, t) { + return (t = t || {}) + .gzip = !0, n(e, t) + } + }, { + "./utils/common": 41, + "./utils/strings": 42, + "./zlib/deflate": 46, + "./zlib/messages": 51, + "./zlib/zstream": 53 + }], + 40: [function(e, t, r) { + "use strict"; + var c = e("./zlib/inflate"), + d = e("./utils/common"), + p = e("./utils/strings"), + m = e("./zlib/constants"), + n = e("./zlib/messages"), + i = e("./zlib/zstream"), + s = e("./zlib/gzheader"), + _ = Object.prototype.toString; + + function a(e) { + if (!(this instanceof a)) return new a(e); + this.options = d.assign({ + chunkSize: 16384, + windowBits: 0, + to: "" + }, e || {}); + var t = this.options; + t.raw && 0 <= t.windowBits && t.windowBits < 16 && (t.windowBits = -t.windowBits, 0 === t.windowBits && (t.windowBits = -15)), !(0 <= t.windowBits && t.windowBits < 16) || e && e.windowBits || (t.windowBits += 32), 15 < t.windowBits && t.windowBits < 48 && 0 == (15 & t.windowBits) && (t.windowBits |= 15), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new i, this.strm.avail_out = 0; + var r = c.inflateInit2(this.strm, t.windowBits); + if (r !== m.Z_OK) throw new Error(n[r]); + this.header = new s, c.inflateGetHeader(this.strm, this.header) + } + + function o(e, t) { + var r = new a(t); + if (r.push(e, !0), r.err) throw r.msg || n[r.err]; + return r.result + } + a.prototype.push = function(e, t) { + var r, n, i, s, a, o, h = this.strm, + u = this.options.chunkSize, + l = this.options.dictionary, + f = !1; + if (this.ended) return !1; + n = t === ~~t ? t : !0 === t ? m.Z_FINISH : m.Z_NO_FLUSH, "string" == typeof e ? h.input = p.binstring2buf(e) : "[object ArrayBuffer]" === _.call(e) ? h.input = new Uint8Array(e) : h.input = e, h.next_in = 0, h.avail_in = h.input.length; + do { + if (0 === h.avail_out && (h.output = new d.Buf8(u), h.next_out = 0, h.avail_out = u), (r = c.inflate(h, m.Z_NO_FLUSH)) === m.Z_NEED_DICT && l && (o = "string" == typeof l ? p.string2buf(l) : "[object ArrayBuffer]" === _.call(l) ? new Uint8Array(l) : l, r = c.inflateSetDictionary(this.strm, o)), r === m.Z_BUF_ERROR && !0 === f && (r = m.Z_OK, f = !1), r !== m.Z_STREAM_END && r !== m.Z_OK) return this.onEnd(r), !(this.ended = !0); + h.next_out && (0 !== h.avail_out && r !== m.Z_STREAM_END && (0 !== h.avail_in || n !== m.Z_FINISH && n !== m.Z_SYNC_FLUSH) || ("string" === this.options.to ? (i = p.utf8border(h.output, h.next_out), s = h.next_out - i, a = p.buf2string(h.output, i), h.next_out = s, h.avail_out = u - s, s && d.arraySet(h.output, h.output, i, s, 0), this.onData(a)) : this.onData(d.shrinkBuf(h.output, h.next_out)))), 0 === h.avail_in && 0 === h.avail_out && (f = !0) + } while ((0 < h.avail_in || 0 === h.avail_out) && r !== m.Z_STREAM_END); + return r === m.Z_STREAM_END && (n = m.Z_FINISH), n === m.Z_FINISH ? (r = c.inflateEnd(this.strm), this.onEnd(r), this.ended = !0, r === m.Z_OK) : n !== m.Z_SYNC_FLUSH || (this.onEnd(m.Z_OK), !(h.avail_out = 0)) + }, a.prototype.onData = function(e) { + this.chunks.push(e) + }, a.prototype.onEnd = function(e) { + e === m.Z_OK && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = d.flattenChunks(this.chunks)), this.chunks = [], this.err = e, this.msg = this.strm.msg + }, r.Inflate = a, r.inflate = o, r.inflateRaw = function(e, t) { + return (t = t || {}) + .raw = !0, o(e, t) + }, r.ungzip = o + }, { + "./utils/common": 41, + "./utils/strings": 42, + "./zlib/constants": 44, + "./zlib/gzheader": 47, + "./zlib/inflate": 49, + "./zlib/messages": 51, + "./zlib/zstream": 53 + }], + 41: [function(e, t, r) { + "use strict"; + var n = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Int32Array; + r.assign = function(e) { + for (var t = Array.prototype.slice.call(arguments, 1); t.length;) { + var r = t.shift(); + if (r) { + if ("object" != typeof r) throw new TypeError(r + "must be non-object"); + for (var n in r) r.hasOwnProperty(n) && (e[n] = r[n]) + } + } + return e + }, r.shrinkBuf = function(e, t) { + return e.length === t ? e : e.subarray ? e.subarray(0, t) : (e.length = t, e) + }; + var i = { + arraySet: function(e, t, r, n, i) { + if (t.subarray && e.subarray) e.set(t.subarray(r, r + n), i); + else + for (var s = 0; s < n; s++) e[i + s] = t[r + s] + }, + flattenChunks: function(e) { + var t, r, n, i, s, a; + for (t = n = 0, r = e.length; t < r; t++) n += e[t].length; + for (a = new Uint8Array(n), t = i = 0, r = e.length; t < r; t++) s = e[t], a.set(s, i), i += s.length; + return a + } + }, + s = { + arraySet: function(e, t, r, n, i) { + for (var s = 0; s < n; s++) e[i + s] = t[r + s] + }, + flattenChunks: function(e) { + return [].concat.apply([], e) + } + }; + r.setTyped = function(e) { + e ? (r.Buf8 = Uint8Array, r.Buf16 = Uint16Array, r.Buf32 = Int32Array, r.assign(r, i)) : (r.Buf8 = Array, r.Buf16 = Array, r.Buf32 = Array, r.assign(r, s)) + }, r.setTyped(n) + }, {}], + 42: [function(e, t, r) { + "use strict"; + var h = e("./common"), + i = !0, + s = !0; + try { + String.fromCharCode.apply(null, [0]) + } catch (e) { + i = !1 + } + try { + String.fromCharCode.apply(null, new Uint8Array(1)) + } catch (e) { + s = !1 + } + for (var u = new h.Buf8(256), n = 0; n < 256; n++) u[n] = 252 <= n ? 6 : 248 <= n ? 5 : 240 <= n ? 4 : 224 <= n ? 3 : 192 <= n ? 2 : 1; + + function l(e, t) { + if (t < 65537 && (e.subarray && s || !e.subarray && i)) return String.fromCharCode.apply(null, h.shrinkBuf(e, t)); + for (var r = "", n = 0; n < t; n++) r += String.fromCharCode(e[n]); + return r + } + u[254] = u[254] = 1, r.string2buf = function(e) { + var t, r, n, i, s, a = e.length, + o = 0; + for (i = 0; i < a; i++) 55296 == (64512 & (r = e.charCodeAt(i))) && i + 1 < a && 56320 == (64512 & (n = e.charCodeAt(i + 1))) && (r = 65536 + (r - 55296 << 10) + (n - 56320), i++), o += r < 128 ? 1 : r < 2048 ? 2 : r < 65536 ? 3 : 4; + for (t = new h.Buf8(o), i = s = 0; s < o; i++) 55296 == (64512 & (r = e.charCodeAt(i))) && i + 1 < a && 56320 == (64512 & (n = e.charCodeAt(i + 1))) && (r = 65536 + (r - 55296 << 10) + (n - 56320), i++), r < 128 ? t[s++] = r : (r < 2048 ? t[s++] = 192 | r >>> 6 : (r < 65536 ? t[s++] = 224 | r >>> 12 : (t[s++] = 240 | r >>> 18, t[s++] = 128 | r >>> 12 & 63), t[s++] = 128 | r >>> 6 & 63), t[s++] = 128 | 63 & r); + return t + }, r.buf2binstring = function(e) { + return l(e, e.length) + }, r.binstring2buf = function(e) { + for (var t = new h.Buf8(e.length), r = 0, n = t.length; r < n; r++) t[r] = e.charCodeAt(r); + return t + }, r.buf2string = function(e, t) { + var r, n, i, s, a = t || e.length, + o = new Array(2 * a); + for (r = n = 0; r < a;) + if ((i = e[r++]) < 128) o[n++] = i; + else if (4 < (s = u[i])) o[n++] = 65533, r += s - 1; + else { + for (i &= 2 === s ? 31 : 3 === s ? 15 : 7; 1 < s && r < a;) i = i << 6 | 63 & e[r++], s--; + 1 < s ? o[n++] = 65533 : i < 65536 ? o[n++] = i : (i -= 65536, o[n++] = 55296 | i >> 10 & 1023, o[n++] = 56320 | 1023 & i) + } + return l(o, n) + }, r.utf8border = function(e, t) { + var r; + for ((t = t || e.length) > e.length && (t = e.length), r = t - 1; 0 <= r && 128 == (192 & e[r]);) r--; + return r < 0 ? t : 0 === r ? t : r + u[e[r]] > t ? r : t + } + }, { + "./common": 41 + }], + 43: [function(e, t, r) { + "use strict"; + t.exports = function(e, t, r, n) { + for (var i = 65535 & e | 0, s = e >>> 16 & 65535 | 0, a = 0; 0 !== r;) { + for (r -= a = 2e3 < r ? 2e3 : r; s = s + (i = i + t[n++] | 0) | 0, --a;); + i %= 65521, s %= 65521 + } + return i | s << 16 | 0 + } + }, {}], + 44: [function(e, t, r) { + "use strict"; + t.exports = { + Z_NO_FLUSH: 0, + Z_PARTIAL_FLUSH: 1, + Z_SYNC_FLUSH: 2, + Z_FULL_FLUSH: 3, + Z_FINISH: 4, + Z_BLOCK: 5, + Z_TREES: 6, + Z_OK: 0, + Z_STREAM_END: 1, + Z_NEED_DICT: 2, + Z_ERRNO: -1, + Z_STREAM_ERROR: -2, + Z_DATA_ERROR: -3, + Z_BUF_ERROR: -5, + Z_NO_COMPRESSION: 0, + Z_BEST_SPEED: 1, + Z_BEST_COMPRESSION: 9, + Z_DEFAULT_COMPRESSION: -1, + Z_FILTERED: 1, + Z_HUFFMAN_ONLY: 2, + Z_RLE: 3, + Z_FIXED: 4, + Z_DEFAULT_STRATEGY: 0, + Z_BINARY: 0, + Z_TEXT: 1, + Z_UNKNOWN: 2, + Z_DEFLATED: 8 + } + }, {}], + 45: [function(e, t, r) { + "use strict"; + var o = function() { + for (var e, t = [], r = 0; r < 256; r++) { + e = r; + for (var n = 0; n < 8; n++) e = 1 & e ? 3988292384 ^ e >>> 1 : e >>> 1; + t[r] = e + } + return t + }(); + t.exports = function(e, t, r, n) { + var i = o, + s = n + r; + e ^= -1; + for (var a = n; a < s; a++) e = e >>> 8 ^ i[255 & (e ^ t[a])]; + return -1 ^ e + } + }, {}], + 46: [function(e, t, r) { + "use strict"; + var h, c = e("../utils/common"), + u = e("./trees"), + d = e("./adler32"), + p = e("./crc32"), + n = e("./messages"), + l = 0, + f = 4, + m = 0, + _ = -2, + g = -1, + b = 4, + i = 2, + v = 8, + y = 9, + s = 286, + a = 30, + o = 19, + w = 2 * s + 1, + k = 15, + x = 3, + S = 258, + z = S + x + 1, + C = 42, + E = 113, + A = 1, + I = 2, + O = 3, + B = 4; + + function R(e, t) { + return e.msg = n[t], t + } + + function T(e) { + return (e << 1) - (4 < e ? 9 : 0) + } + + function D(e) { + for (var t = e.length; 0 <= --t;) e[t] = 0 + } + + function F(e) { + var t = e.state, + r = t.pending; + r > e.avail_out && (r = e.avail_out), 0 !== r && (c.arraySet(e.output, t.pending_buf, t.pending_out, r, e.next_out), e.next_out += r, t.pending_out += r, e.total_out += r, e.avail_out -= r, t.pending -= r, 0 === t.pending && (t.pending_out = 0)) + } + + function N(e, t) { + u._tr_flush_block(e, 0 <= e.block_start ? e.block_start : -1, e.strstart - e.block_start, t), e.block_start = e.strstart, F(e.strm) + } + + function U(e, t) { + e.pending_buf[e.pending++] = t + } + + function P(e, t) { + e.pending_buf[e.pending++] = t >>> 8 & 255, e.pending_buf[e.pending++] = 255 & t + } + + function L(e, t) { + var r, n, i = e.max_chain_length, + s = e.strstart, + a = e.prev_length, + o = e.nice_match, + h = e.strstart > e.w_size - z ? e.strstart - (e.w_size - z) : 0, + u = e.window, + l = e.w_mask, + f = e.prev, + c = e.strstart + S, + d = u[s + a - 1], + p = u[s + a]; + e.prev_length >= e.good_match && (i >>= 2), o > e.lookahead && (o = e.lookahead); + do { + if (u[(r = t) + a] === p && u[r + a - 1] === d && u[r] === u[s] && u[++r] === u[s + 1]) { + s += 2, r++; + do {} while (u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && s < c); + if (n = S - (c - s), s = c - S, a < n) { + if (e.match_start = t, o <= (a = n)) break; + d = u[s + a - 1], p = u[s + a] + } + } + } while ((t = f[t & l]) > h && 0 != --i); + return a <= e.lookahead ? a : e.lookahead + } + + function j(e) { + var t, r, n, i, s, a, o, h, u, l, f = e.w_size; + do { + if (i = e.window_size - e.lookahead - e.strstart, e.strstart >= f + (f - z)) { + for (c.arraySet(e.window, e.window, f, f, 0), e.match_start -= f, e.strstart -= f, e.block_start -= f, t = r = e.hash_size; n = e.head[--t], e.head[t] = f <= n ? n - f : 0, --r;); + for (t = r = f; n = e.prev[--t], e.prev[t] = f <= n ? n - f : 0, --r;); + i += f + } + if (0 === e.strm.avail_in) break; + if (a = e.strm, o = e.window, h = e.strstart + e.lookahead, u = i, l = void 0, l = a.avail_in, u < l && (l = u), r = 0 === l ? 0 : (a.avail_in -= l, c.arraySet(o, a.input, a.next_in, l, h), 1 === a.state.wrap ? a.adler = d(a.adler, o, l, h) : 2 === a.state.wrap && (a.adler = p(a.adler, o, l, h)), a.next_in += l, a.total_in += l, l), e.lookahead += r, e.lookahead + e.insert >= x) + for (s = e.strstart - e.insert, e.ins_h = e.window[s], e.ins_h = (e.ins_h << e.hash_shift ^ e.window[s + 1]) & e.hash_mask; e.insert && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[s + x - 1]) & e.hash_mask, e.prev[s & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = s, s++, e.insert--, !(e.lookahead + e.insert < x));); + } while (e.lookahead < z && 0 !== e.strm.avail_in) + } + + function Z(e, t) { + for (var r, n;;) { + if (e.lookahead < z) { + if (j(e), e.lookahead < z && t === l) return A; + if (0 === e.lookahead) break + } + if (r = 0, e.lookahead >= x && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + x - 1]) & e.hash_mask, r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), 0 !== r && e.strstart - r <= e.w_size - z && (e.match_length = L(e, r)), e.match_length >= x) + if (n = u._tr_tally(e, e.strstart - e.match_start, e.match_length - x), e.lookahead -= e.match_length, e.match_length <= e.max_lazy_match && e.lookahead >= x) { + for (e.match_length--; e.strstart++, e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + x - 1]) & e.hash_mask, r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart, 0 != --e.match_length;); + e.strstart++ + } else e.strstart += e.match_length, e.match_length = 0, e.ins_h = e.window[e.strstart], e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + 1]) & e.hash_mask; + else n = u._tr_tally(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++; + if (n && (N(e, !1), 0 === e.strm.avail_out)) return A + } + return e.insert = e.strstart < x - 1 ? e.strstart : x - 1, t === f ? (N(e, !0), 0 === e.strm.avail_out ? O : B) : e.last_lit && (N(e, !1), 0 === e.strm.avail_out) ? A : I + } + + function W(e, t) { + for (var r, n, i;;) { + if (e.lookahead < z) { + if (j(e), e.lookahead < z && t === l) return A; + if (0 === e.lookahead) break + } + if (r = 0, e.lookahead >= x && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + x - 1]) & e.hash_mask, r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), e.prev_length = e.match_length, e.prev_match = e.match_start, e.match_length = x - 1, 0 !== r && e.prev_length < e.max_lazy_match && e.strstart - r <= e.w_size - z && (e.match_length = L(e, r), e.match_length <= 5 && (1 === e.strategy || e.match_length === x && 4096 < e.strstart - e.match_start) && (e.match_length = x - 1)), e.prev_length >= x && e.match_length <= e.prev_length) { + for (i = e.strstart + e.lookahead - x, n = u._tr_tally(e, e.strstart - 1 - e.prev_match, e.prev_length - x), e.lookahead -= e.prev_length - 1, e.prev_length -= 2; ++e.strstart <= i && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + x - 1]) & e.hash_mask, r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), 0 != --e.prev_length;); + if (e.match_available = 0, e.match_length = x - 1, e.strstart++, n && (N(e, !1), 0 === e.strm.avail_out)) return A + } else if (e.match_available) { + if ((n = u._tr_tally(e, 0, e.window[e.strstart - 1])) && N(e, !1), e.strstart++, e.lookahead--, 0 === e.strm.avail_out) return A + } else e.match_available = 1, e.strstart++, e.lookahead-- + } + return e.match_available && (n = u._tr_tally(e, 0, e.window[e.strstart - 1]), e.match_available = 0), e.insert = e.strstart < x - 1 ? e.strstart : x - 1, t === f ? (N(e, !0), 0 === e.strm.avail_out ? O : B) : e.last_lit && (N(e, !1), 0 === e.strm.avail_out) ? A : I + } + + function M(e, t, r, n, i) { + this.good_length = e, this.max_lazy = t, this.nice_length = r, this.max_chain = n, this.func = i + } + + function H() { + this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = v, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new c.Buf16(2 * w), this.dyn_dtree = new c.Buf16(2 * (2 * a + 1)), this.bl_tree = new c.Buf16(2 * (2 * o + 1)), D(this.dyn_ltree), D(this.dyn_dtree), D(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new c.Buf16(k + 1), this.heap = new c.Buf16(2 * s + 1), D(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new c.Buf16(2 * s + 1), D(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0 + } + + function G(e) { + var t; + return e && e.state ? (e.total_in = e.total_out = 0, e.data_type = i, (t = e.state) + .pending = 0, t.pending_out = 0, t.wrap < 0 && (t.wrap = -t.wrap), t.status = t.wrap ? C : E, e.adler = 2 === t.wrap ? 0 : 1, t.last_flush = l, u._tr_init(t), m) : R(e, _) + } + + function K(e) { + var t = G(e); + return t === m && function(e) { + e.window_size = 2 * e.w_size, D(e.head), e.max_lazy_match = h[e.level].max_lazy, e.good_match = h[e.level].good_length, e.nice_match = h[e.level].nice_length, e.max_chain_length = h[e.level].max_chain, e.strstart = 0, e.block_start = 0, e.lookahead = 0, e.insert = 0, e.match_length = e.prev_length = x - 1, e.match_available = 0, e.ins_h = 0 + }(e.state), t + } + + function Y(e, t, r, n, i, s) { + if (!e) return _; + var a = 1; + if (t === g && (t = 6), n < 0 ? (a = 0, n = -n) : 15 < n && (a = 2, n -= 16), i < 1 || y < i || r !== v || n < 8 || 15 < n || t < 0 || 9 < t || s < 0 || b < s) return R(e, _); + 8 === n && (n = 9); + var o = new H; + return (e.state = o) + .strm = e, o.wrap = a, o.gzhead = null, o.w_bits = n, o.w_size = 1 << o.w_bits, o.w_mask = o.w_size - 1, o.hash_bits = i + 7, o.hash_size = 1 << o.hash_bits, o.hash_mask = o.hash_size - 1, o.hash_shift = ~~((o.hash_bits + x - 1) / x), o.window = new c.Buf8(2 * o.w_size), o.head = new c.Buf16(o.hash_size), o.prev = new c.Buf16(o.w_size), o.lit_bufsize = 1 << i + 6, o.pending_buf_size = 4 * o.lit_bufsize, o.pending_buf = new c.Buf8(o.pending_buf_size), o.d_buf = 1 * o.lit_bufsize, o.l_buf = 3 * o.lit_bufsize, o.level = t, o.strategy = s, o.method = r, K(e) + } + h = [new M(0, 0, 0, 0, function(e, t) { + var r = 65535; + for (r > e.pending_buf_size - 5 && (r = e.pending_buf_size - 5);;) { + if (e.lookahead <= 1) { + if (j(e), 0 === e.lookahead && t === l) return A; + if (0 === e.lookahead) break + } + e.strstart += e.lookahead, e.lookahead = 0; + var n = e.block_start + r; + if ((0 === e.strstart || e.strstart >= n) && (e.lookahead = e.strstart - n, e.strstart = n, N(e, !1), 0 === e.strm.avail_out)) return A; + if (e.strstart - e.block_start >= e.w_size - z && (N(e, !1), 0 === e.strm.avail_out)) return A + } + return e.insert = 0, t === f ? (N(e, !0), 0 === e.strm.avail_out ? O : B) : (e.strstart > e.block_start && (N(e, !1), e.strm.avail_out), A) + }), new M(4, 4, 8, 4, Z), new M(4, 5, 16, 8, Z), new M(4, 6, 32, 32, Z), new M(4, 4, 16, 16, W), new M(8, 16, 32, 32, W), new M(8, 16, 128, 128, W), new M(8, 32, 128, 256, W), new M(32, 128, 258, 1024, W), new M(32, 258, 258, 4096, W)], r.deflateInit = function(e, t) { + return Y(e, t, v, 15, 8, 0) + }, r.deflateInit2 = Y, r.deflateReset = K, r.deflateResetKeep = G, r.deflateSetHeader = function(e, t) { + return e && e.state ? 2 !== e.state.wrap ? _ : (e.state.gzhead = t, m) : _ + }, r.deflate = function(e, t) { + var r, n, i, s; + if (!e || !e.state || 5 < t || t < 0) return e ? R(e, _) : _; + if (n = e.state, !e.output || !e.input && 0 !== e.avail_in || 666 === n.status && t !== f) return R(e, 0 === e.avail_out ? -5 : _); + if (n.strm = e, r = n.last_flush, n.last_flush = t, n.status === C) + if (2 === n.wrap) e.adler = 0, U(n, 31), U(n, 139), U(n, 8), n.gzhead ? (U(n, (n.gzhead.text ? 1 : 0) + (n.gzhead.hcrc ? 2 : 0) + (n.gzhead.extra ? 4 : 0) + (n.gzhead.name ? 8 : 0) + (n.gzhead.comment ? 16 : 0)), U(n, 255 & n.gzhead.time), U(n, n.gzhead.time >> 8 & 255), U(n, n.gzhead.time >> 16 & 255), U(n, n.gzhead.time >> 24 & 255), U(n, 9 === n.level ? 2 : 2 <= n.strategy || n.level < 2 ? 4 : 0), U(n, 255 & n.gzhead.os), n.gzhead.extra && n.gzhead.extra.length && (U(n, 255 & n.gzhead.extra.length), U(n, n.gzhead.extra.length >> 8 & 255)), n.gzhead.hcrc && (e.adler = p(e.adler, n.pending_buf, n.pending, 0)), n.gzindex = 0, n.status = 69) : (U(n, 0), U(n, 0), U(n, 0), U(n, 0), U(n, 0), U(n, 9 === n.level ? 2 : 2 <= n.strategy || n.level < 2 ? 4 : 0), U(n, 3), n.status = E); + else { + var a = v + (n.w_bits - 8 << 4) << 8; + a |= (2 <= n.strategy || n.level < 2 ? 0 : n.level < 6 ? 1 : 6 === n.level ? 2 : 3) << 6, 0 !== n.strstart && (a |= 32), a += 31 - a % 31, n.status = E, P(n, a), 0 !== n.strstart && (P(n, e.adler >>> 16), P(n, 65535 & e.adler)), e.adler = 1 + } if (69 === n.status) + if (n.gzhead.extra) { + for (i = n.pending; n.gzindex < (65535 & n.gzhead.extra.length) && (n.pending !== n.pending_buf_size || (n.gzhead.hcrc && n.pending > i && (e.adler = p(e.adler, n.pending_buf, n.pending - i, i)), F(e), i = n.pending, n.pending !== n.pending_buf_size));) U(n, 255 & n.gzhead.extra[n.gzindex]), n.gzindex++; + n.gzhead.hcrc && n.pending > i && (e.adler = p(e.adler, n.pending_buf, n.pending - i, i)), n.gzindex === n.gzhead.extra.length && (n.gzindex = 0, n.status = 73) + } else n.status = 73; + if (73 === n.status) + if (n.gzhead.name) { + i = n.pending; + do { + if (n.pending === n.pending_buf_size && (n.gzhead.hcrc && n.pending > i && (e.adler = p(e.adler, n.pending_buf, n.pending - i, i)), F(e), i = n.pending, n.pending === n.pending_buf_size)) { + s = 1; + break + } + s = n.gzindex < n.gzhead.name.length ? 255 & n.gzhead.name.charCodeAt(n.gzindex++) : 0, U(n, s) + } while (0 !== s); + n.gzhead.hcrc && n.pending > i && (e.adler = p(e.adler, n.pending_buf, n.pending - i, i)), 0 === s && (n.gzindex = 0, n.status = 91) + } else n.status = 91; + if (91 === n.status) + if (n.gzhead.comment) { + i = n.pending; + do { + if (n.pending === n.pending_buf_size && (n.gzhead.hcrc && n.pending > i && (e.adler = p(e.adler, n.pending_buf, n.pending - i, i)), F(e), i = n.pending, n.pending === n.pending_buf_size)) { + s = 1; + break + } + s = n.gzindex < n.gzhead.comment.length ? 255 & n.gzhead.comment.charCodeAt(n.gzindex++) : 0, U(n, s) + } while (0 !== s); + n.gzhead.hcrc && n.pending > i && (e.adler = p(e.adler, n.pending_buf, n.pending - i, i)), 0 === s && (n.status = 103) + } else n.status = 103; + if (103 === n.status && (n.gzhead.hcrc ? (n.pending + 2 > n.pending_buf_size && F(e), n.pending + 2 <= n.pending_buf_size && (U(n, 255 & e.adler), U(n, e.adler >> 8 & 255), e.adler = 0, n.status = E)) : n.status = E), 0 !== n.pending) { + if (F(e), 0 === e.avail_out) return n.last_flush = -1, m + } else if (0 === e.avail_in && T(t) <= T(r) && t !== f) return R(e, -5); + if (666 === n.status && 0 !== e.avail_in) return R(e, -5); + if (0 !== e.avail_in || 0 !== n.lookahead || t !== l && 666 !== n.status) { + var o = 2 === n.strategy ? function(e, t) { + for (var r;;) { + if (0 === e.lookahead && (j(e), 0 === e.lookahead)) { + if (t === l) return A; + break + } + if (e.match_length = 0, r = u._tr_tally(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++, r && (N(e, !1), 0 === e.strm.avail_out)) return A + } + return e.insert = 0, t === f ? (N(e, !0), 0 === e.strm.avail_out ? O : B) : e.last_lit && (N(e, !1), 0 === e.strm.avail_out) ? A : I + }(n, t) : 3 === n.strategy ? function(e, t) { + for (var r, n, i, s, a = e.window;;) { + if (e.lookahead <= S) { + if (j(e), e.lookahead <= S && t === l) return A; + if (0 === e.lookahead) break + } + if (e.match_length = 0, e.lookahead >= x && 0 < e.strstart && (n = a[i = e.strstart - 1]) === a[++i] && n === a[++i] && n === a[++i]) { + s = e.strstart + S; + do {} while (n === a[++i] && n === a[++i] && n === a[++i] && n === a[++i] && n === a[++i] && n === a[++i] && n === a[++i] && n === a[++i] && i < s); + e.match_length = S - (s - i), e.match_length > e.lookahead && (e.match_length = e.lookahead) + } + if (e.match_length >= x ? (r = u._tr_tally(e, 1, e.match_length - x), e.lookahead -= e.match_length, e.strstart += e.match_length, e.match_length = 0) : (r = u._tr_tally(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++), r && (N(e, !1), 0 === e.strm.avail_out)) return A + } + return e.insert = 0, t === f ? (N(e, !0), 0 === e.strm.avail_out ? O : B) : e.last_lit && (N(e, !1), 0 === e.strm.avail_out) ? A : I + }(n, t) : h[n.level].func(n, t); + if (o !== O && o !== B || (n.status = 666), o === A || o === O) return 0 === e.avail_out && (n.last_flush = -1), m; + if (o === I && (1 === t ? u._tr_align(n) : 5 !== t && (u._tr_stored_block(n, 0, 0, !1), 3 === t && (D(n.head), 0 === n.lookahead && (n.strstart = 0, n.block_start = 0, n.insert = 0))), F(e), 0 === e.avail_out)) return n.last_flush = -1, m + } + return t !== f ? m : n.wrap <= 0 ? 1 : (2 === n.wrap ? (U(n, 255 & e.adler), U(n, e.adler >> 8 & 255), U(n, e.adler >> 16 & 255), U(n, e.adler >> 24 & 255), U(n, 255 & e.total_in), U(n, e.total_in >> 8 & 255), U(n, e.total_in >> 16 & 255), U(n, e.total_in >> 24 & 255)) : (P(n, e.adler >>> 16), P(n, 65535 & e.adler)), F(e), 0 < n.wrap && (n.wrap = -n.wrap), 0 !== n.pending ? m : 1) + }, r.deflateEnd = function(e) { + var t; + return e && e.state ? (t = e.state.status) !== C && 69 !== t && 73 !== t && 91 !== t && 103 !== t && t !== E && 666 !== t ? R(e, _) : (e.state = null, t === E ? R(e, -3) : m) : _ + }, r.deflateSetDictionary = function(e, t) { + var r, n, i, s, a, o, h, u, l = t.length; + if (!e || !e.state) return _; + if (2 === (s = (r = e.state) + .wrap) || 1 === s && r.status !== C || r.lookahead) return _; + for (1 === s && (e.adler = d(e.adler, t, l, 0)), r.wrap = 0, l >= r.w_size && (0 === s && (D(r.head), r.strstart = 0, r.block_start = 0, r.insert = 0), u = new c.Buf8(r.w_size), c.arraySet(u, t, l - r.w_size, r.w_size, 0), t = u, l = r.w_size), a = e.avail_in, o = e.next_in, h = e.input, e.avail_in = l, e.next_in = 0, e.input = t, j(r); r.lookahead >= x;) { + for (n = r.strstart, i = r.lookahead - (x - 1); r.ins_h = (r.ins_h << r.hash_shift ^ r.window[n + x - 1]) & r.hash_mask, r.prev[n & r.w_mask] = r.head[r.ins_h], r.head[r.ins_h] = n, n++, --i;); + r.strstart = n, r.lookahead = x - 1, j(r) + } + return r.strstart += r.lookahead, r.block_start = r.strstart, r.insert = r.lookahead, r.lookahead = 0, r.match_length = r.prev_length = x - 1, r.match_available = 0, e.next_in = o, e.input = h, e.avail_in = a, r.wrap = s, m + }, r.deflateInfo = "pako deflate (from Nodeca project)" + }, { + "../utils/common": 41, + "./adler32": 43, + "./crc32": 45, + "./messages": 51, + "./trees": 52 + }], + 47: [function(e, t, r) { + "use strict"; + t.exports = function() { + this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = !1 + } + }, {}], + 48: [function(e, t, r) { + "use strict"; + t.exports = function(e, t) { + var r, n, i, s, a, o, h, u, l, f, c, d, p, m, _, g, b, v, y, w, k, x, S, z, C; + r = e.state, n = e.next_in, z = e.input, i = n + (e.avail_in - 5), s = e.next_out, C = e.output, a = s - (t - e.avail_out), o = s + (e.avail_out - 257), h = r.dmax, u = r.wsize, l = r.whave, f = r.wnext, c = r.window, d = r.hold, p = r.bits, m = r.lencode, _ = r.distcode, g = (1 << r.lenbits) - 1, b = (1 << r.distbits) - 1; + e: do { + p < 15 && (d += z[n++] << p, p += 8, d += z[n++] << p, p += 8), v = m[d & g]; + t: for (;;) { + if (d >>>= y = v >>> 24, p -= y, 0 === (y = v >>> 16 & 255)) C[s++] = 65535 & v; + else { + if (!(16 & y)) { + if (0 == (64 & y)) { + v = m[(65535 & v) + (d & (1 << y) - 1)]; + continue t + } + if (32 & y) { + r.mode = 12; + break e + } + e.msg = "invalid literal/length code", r.mode = 30; + break e + } + w = 65535 & v, (y &= 15) && (p < y && (d += z[n++] << p, p += 8), w += d & (1 << y) - 1, d >>>= y, p -= y), p < 15 && (d += z[n++] << p, p += 8, d += z[n++] << p, p += 8), v = _[d & b]; + r: for (;;) { + if (d >>>= y = v >>> 24, p -= y, !(16 & (y = v >>> 16 & 255))) { + if (0 == (64 & y)) { + v = _[(65535 & v) + (d & (1 << y) - 1)]; + continue r + } + e.msg = "invalid distance code", r.mode = 30; + break e + } + if (k = 65535 & v, p < (y &= 15) && (d += z[n++] << p, (p += 8) < y && (d += z[n++] << p, p += 8)), h < (k += d & (1 << y) - 1)) { + e.msg = "invalid distance too far back", r.mode = 30; + break e + } + if (d >>>= y, p -= y, (y = s - a) < k) { + if (l < (y = k - y) && r.sane) { + e.msg = "invalid distance too far back", r.mode = 30; + break e + } + if (S = c, (x = 0) === f) { + if (x += u - y, y < w) { + for (w -= y; C[s++] = c[x++], --y;); + x = s - k, S = C + } + } else if (f < y) { + if (x += u + f - y, (y -= f) < w) { + for (w -= y; C[s++] = c[x++], --y;); + if (x = 0, f < w) { + for (w -= y = f; C[s++] = c[x++], --y;); + x = s - k, S = C + } + } + } else if (x += f - y, y < w) { + for (w -= y; C[s++] = c[x++], --y;); + x = s - k, S = C + } + for (; 2 < w;) C[s++] = S[x++], C[s++] = S[x++], C[s++] = S[x++], w -= 3; + w && (C[s++] = S[x++], 1 < w && (C[s++] = S[x++])) + } else { + for (x = s - k; C[s++] = C[x++], C[s++] = C[x++], C[s++] = C[x++], 2 < (w -= 3);); + w && (C[s++] = C[x++], 1 < w && (C[s++] = C[x++])) + } + break + } + } + break + } + } while (n < i && s < o); + n -= w = p >> 3, d &= (1 << (p -= w << 3)) - 1, e.next_in = n, e.next_out = s, e.avail_in = n < i ? i - n + 5 : 5 - (n - i), e.avail_out = s < o ? o - s + 257 : 257 - (s - o), r.hold = d, r.bits = p + } + }, {}], + 49: [function(e, t, r) { + "use strict"; + var I = e("../utils/common"), + O = e("./adler32"), + B = e("./crc32"), + R = e("./inffast"), + T = e("./inftrees"), + D = 1, + F = 2, + N = 0, + U = -2, + P = 1, + n = 852, + i = 592; + + function L(e) { + return (e >>> 24 & 255) + (e >>> 8 & 65280) + ((65280 & e) << 8) + ((255 & e) << 24) + } + + function s() { + this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new I.Buf16(320), this.work = new I.Buf16(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0 + } + + function a(e) { + var t; + return e && e.state ? (t = e.state, e.total_in = e.total_out = t.total = 0, e.msg = "", t.wrap && (e.adler = 1 & t.wrap), t.mode = P, t.last = 0, t.havedict = 0, t.dmax = 32768, t.head = null, t.hold = 0, t.bits = 0, t.lencode = t.lendyn = new I.Buf32(n), t.distcode = t.distdyn = new I.Buf32(i), t.sane = 1, t.back = -1, N) : U + } + + function o(e) { + var t; + return e && e.state ? ((t = e.state) + .wsize = 0, t.whave = 0, t.wnext = 0, a(e)) : U + } + + function h(e, t) { + var r, n; + return e && e.state ? (n = e.state, t < 0 ? (r = 0, t = -t) : (r = 1 + (t >> 4), t < 48 && (t &= 15)), t && (t < 8 || 15 < t) ? U : (null !== n.window && n.wbits !== t && (n.window = null), n.wrap = r, n.wbits = t, o(e))) : U + } + + function u(e, t) { + var r, n; + return e ? (n = new s, (e.state = n) + .window = null, (r = h(e, t)) !== N && (e.state = null), r) : U + } + var l, f, c = !0; + + function j(e) { + if (c) { + var t; + for (l = new I.Buf32(512), f = new I.Buf32(32), t = 0; t < 144;) e.lens[t++] = 8; + for (; t < 256;) e.lens[t++] = 9; + for (; t < 280;) e.lens[t++] = 7; + for (; t < 288;) e.lens[t++] = 8; + for (T(D, e.lens, 0, 288, l, 0, e.work, { + bits: 9 + }), t = 0; t < 32;) e.lens[t++] = 5; + T(F, e.lens, 0, 32, f, 0, e.work, { + bits: 5 + }), c = !1 + } + e.lencode = l, e.lenbits = 9, e.distcode = f, e.distbits = 5 + } + + function Z(e, t, r, n) { + var i, s = e.state; + return null === s.window && (s.wsize = 1 << s.wbits, s.wnext = 0, s.whave = 0, s.window = new I.Buf8(s.wsize)), n >= s.wsize ? (I.arraySet(s.window, t, r - s.wsize, s.wsize, 0), s.wnext = 0, s.whave = s.wsize) : (n < (i = s.wsize - s.wnext) && (i = n), I.arraySet(s.window, t, r - n, i, s.wnext), (n -= i) ? (I.arraySet(s.window, t, r - n, n, 0), s.wnext = n, s.whave = s.wsize) : (s.wnext += i, s.wnext === s.wsize && (s.wnext = 0), s.whave < s.wsize && (s.whave += i))), 0 + } + r.inflateReset = o, r.inflateReset2 = h, r.inflateResetKeep = a, r.inflateInit = function(e) { + return u(e, 15) + }, r.inflateInit2 = u, r.inflate = function(e, t) { + var r, n, i, s, a, o, h, u, l, f, c, d, p, m, _, g, b, v, y, w, k, x, S, z, C = 0, + E = new I.Buf8(4), + A = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; + if (!e || !e.state || !e.output || !e.input && 0 !== e.avail_in) return U; + 12 === (r = e.state) + .mode && (r.mode = 13), a = e.next_out, i = e.output, h = e.avail_out, s = e.next_in, n = e.input, o = e.avail_in, u = r.hold, l = r.bits, f = o, c = h, x = N; + e: for (;;) switch (r.mode) { + case P: + if (0 === r.wrap) { + r.mode = 13; + break + } + for (; l < 16;) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + if (2 & r.wrap && 35615 === u) { + E[r.check = 0] = 255 & u, E[1] = u >>> 8 & 255, r.check = B(r.check, E, 2, 0), l = u = 0, r.mode = 2; + break + } + if (r.flags = 0, r.head && (r.head.done = !1), !(1 & r.wrap) || (((255 & u) << 8) + (u >> 8)) % 31) { + e.msg = "incorrect header check", r.mode = 30; + break + } + if (8 != (15 & u)) { + e.msg = "unknown compression method", r.mode = 30; + break + } + if (l -= 4, k = 8 + (15 & (u >>>= 4)), 0 === r.wbits) r.wbits = k; + else if (k > r.wbits) { + e.msg = "invalid window size", r.mode = 30; + break + } + r.dmax = 1 << k, e.adler = r.check = 1, r.mode = 512 & u ? 10 : 12, l = u = 0; + break; + case 2: + for (; l < 16;) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + if (r.flags = u, 8 != (255 & r.flags)) { + e.msg = "unknown compression method", r.mode = 30; + break + } + if (57344 & r.flags) { + e.msg = "unknown header flags set", r.mode = 30; + break + } + r.head && (r.head.text = u >> 8 & 1), 512 & r.flags && (E[0] = 255 & u, E[1] = u >>> 8 & 255, r.check = B(r.check, E, 2, 0)), l = u = 0, r.mode = 3; + case 3: + for (; l < 32;) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + r.head && (r.head.time = u), 512 & r.flags && (E[0] = 255 & u, E[1] = u >>> 8 & 255, E[2] = u >>> 16 & 255, E[3] = u >>> 24 & 255, r.check = B(r.check, E, 4, 0)), l = u = 0, r.mode = 4; + case 4: + for (; l < 16;) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + r.head && (r.head.xflags = 255 & u, r.head.os = u >> 8), 512 & r.flags && (E[0] = 255 & u, E[1] = u >>> 8 & 255, r.check = B(r.check, E, 2, 0)), l = u = 0, r.mode = 5; + case 5: + if (1024 & r.flags) { + for (; l < 16;) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + r.length = u, r.head && (r.head.extra_len = u), 512 & r.flags && (E[0] = 255 & u, E[1] = u >>> 8 & 255, r.check = B(r.check, E, 2, 0)), l = u = 0 + } else r.head && (r.head.extra = null); + r.mode = 6; + case 6: + if (1024 & r.flags && (o < (d = r.length) && (d = o), d && (r.head && (k = r.head.extra_len - r.length, r.head.extra || (r.head.extra = new Array(r.head.extra_len)), I.arraySet(r.head.extra, n, s, d, k)), 512 & r.flags && (r.check = B(r.check, n, d, s)), o -= d, s += d, r.length -= d), r.length)) break e; + r.length = 0, r.mode = 7; + case 7: + if (2048 & r.flags) { + if (0 === o) break e; + for (d = 0; k = n[s + d++], r.head && k && r.length < 65536 && (r.head.name += String.fromCharCode(k)), k && d < o;); + if (512 & r.flags && (r.check = B(r.check, n, d, s)), o -= d, s += d, k) break e + } else r.head && (r.head.name = null); + r.length = 0, r.mode = 8; + case 8: + if (4096 & r.flags) { + if (0 === o) break e; + for (d = 0; k = n[s + d++], r.head && k && r.length < 65536 && (r.head.comment += String.fromCharCode(k)), k && d < o;); + if (512 & r.flags && (r.check = B(r.check, n, d, s)), o -= d, s += d, k) break e + } else r.head && (r.head.comment = null); + r.mode = 9; + case 9: + if (512 & r.flags) { + for (; l < 16;) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + if (u !== (65535 & r.check)) { + e.msg = "header crc mismatch", r.mode = 30; + break + } + l = u = 0 + } + r.head && (r.head.hcrc = r.flags >> 9 & 1, r.head.done = !0), e.adler = r.check = 0, r.mode = 12; + break; + case 10: + for (; l < 32;) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + e.adler = r.check = L(u), l = u = 0, r.mode = 11; + case 11: + if (0 === r.havedict) return e.next_out = a, e.avail_out = h, e.next_in = s, e.avail_in = o, r.hold = u, r.bits = l, 2; + e.adler = r.check = 1, r.mode = 12; + case 12: + if (5 === t || 6 === t) break e; + case 13: + if (r.last) { + u >>>= 7 & l, l -= 7 & l, r.mode = 27; + break + } + for (; l < 3;) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + switch (r.last = 1 & u, l -= 1, 3 & (u >>>= 1)) { + case 0: + r.mode = 14; + break; + case 1: + if (j(r), r.mode = 20, 6 !== t) break; + u >>>= 2, l -= 2; + break e; + case 2: + r.mode = 17; + break; + case 3: + e.msg = "invalid block type", r.mode = 30 + } + u >>>= 2, l -= 2; + break; + case 14: + for (u >>>= 7 & l, l -= 7 & l; l < 32;) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + if ((65535 & u) != (u >>> 16 ^ 65535)) { + e.msg = "invalid stored block lengths", r.mode = 30; + break + } + if (r.length = 65535 & u, l = u = 0, r.mode = 15, 6 === t) break e; + case 15: + r.mode = 16; + case 16: + if (d = r.length) { + if (o < d && (d = o), h < d && (d = h), 0 === d) break e; + I.arraySet(i, n, s, d, a), o -= d, s += d, h -= d, a += d, r.length -= d; + break + } + r.mode = 12; + break; + case 17: + for (; l < 14;) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + if (r.nlen = 257 + (31 & u), u >>>= 5, l -= 5, r.ndist = 1 + (31 & u), u >>>= 5, l -= 5, r.ncode = 4 + (15 & u), u >>>= 4, l -= 4, 286 < r.nlen || 30 < r.ndist) { + e.msg = "too many length or distance symbols", r.mode = 30; + break + } + r.have = 0, r.mode = 18; + case 18: + for (; r.have < r.ncode;) { + for (; l < 3;) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + r.lens[A[r.have++]] = 7 & u, u >>>= 3, l -= 3 + } + for (; r.have < 19;) r.lens[A[r.have++]] = 0; + if (r.lencode = r.lendyn, r.lenbits = 7, S = { + bits: r.lenbits + }, x = T(0, r.lens, 0, 19, r.lencode, 0, r.work, S), r.lenbits = S.bits, x) { + e.msg = "invalid code lengths set", r.mode = 30; + break + } + r.have = 0, r.mode = 19; + case 19: + for (; r.have < r.nlen + r.ndist;) { + for (; g = (C = r.lencode[u & (1 << r.lenbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_ = C >>> 24) <= l);) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + if (b < 16) u >>>= _, l -= _, r.lens[r.have++] = b; + else { + if (16 === b) { + for (z = _ + 2; l < z;) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + if (u >>>= _, l -= _, 0 === r.have) { + e.msg = "invalid bit length repeat", r.mode = 30; + break + } + k = r.lens[r.have - 1], d = 3 + (3 & u), u >>>= 2, l -= 2 + } else if (17 === b) { + for (z = _ + 3; l < z;) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + l -= _, k = 0, d = 3 + (7 & (u >>>= _)), u >>>= 3, l -= 3 + } else { + for (z = _ + 7; l < z;) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + l -= _, k = 0, d = 11 + (127 & (u >>>= _)), u >>>= 7, l -= 7 + } + if (r.have + d > r.nlen + r.ndist) { + e.msg = "invalid bit length repeat", r.mode = 30; + break + } + for (; d--;) r.lens[r.have++] = k + } + } + if (30 === r.mode) break; + if (0 === r.lens[256]) { + e.msg = "invalid code -- missing end-of-block", r.mode = 30; + break + } + if (r.lenbits = 9, S = { + bits: r.lenbits + }, x = T(D, r.lens, 0, r.nlen, r.lencode, 0, r.work, S), r.lenbits = S.bits, x) { + e.msg = "invalid literal/lengths set", r.mode = 30; + break + } + if (r.distbits = 6, r.distcode = r.distdyn, S = { + bits: r.distbits + }, x = T(F, r.lens, r.nlen, r.ndist, r.distcode, 0, r.work, S), r.distbits = S.bits, x) { + e.msg = "invalid distances set", r.mode = 30; + break + } + if (r.mode = 20, 6 === t) break e; + case 20: + r.mode = 21; + case 21: + if (6 <= o && 258 <= h) { + e.next_out = a, e.avail_out = h, e.next_in = s, e.avail_in = o, r.hold = u, r.bits = l, R(e, c), a = e.next_out, i = e.output, h = e.avail_out, s = e.next_in, n = e.input, o = e.avail_in, u = r.hold, l = r.bits, 12 === r.mode && (r.back = -1); + break + } + for (r.back = 0; g = (C = r.lencode[u & (1 << r.lenbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_ = C >>> 24) <= l);) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + if (g && 0 == (240 & g)) { + for (v = _, y = g, w = b; g = (C = r.lencode[w + ((u & (1 << v + y) - 1) >> v)]) >>> 16 & 255, b = 65535 & C, !(v + (_ = C >>> 24) <= l);) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + u >>>= v, l -= v, r.back += v + } + if (u >>>= _, l -= _, r.back += _, r.length = b, 0 === g) { + r.mode = 26; + break + } + if (32 & g) { + r.back = -1, r.mode = 12; + break + } + if (64 & g) { + e.msg = "invalid literal/length code", r.mode = 30; + break + } + r.extra = 15 & g, r.mode = 22; + case 22: + if (r.extra) { + for (z = r.extra; l < z;) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + r.length += u & (1 << r.extra) - 1, u >>>= r.extra, l -= r.extra, r.back += r.extra + } + r.was = r.length, r.mode = 23; + case 23: + for (; g = (C = r.distcode[u & (1 << r.distbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_ = C >>> 24) <= l);) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + if (0 == (240 & g)) { + for (v = _, y = g, w = b; g = (C = r.distcode[w + ((u & (1 << v + y) - 1) >> v)]) >>> 16 & 255, b = 65535 & C, !(v + (_ = C >>> 24) <= l);) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + u >>>= v, l -= v, r.back += v + } + if (u >>>= _, l -= _, r.back += _, 64 & g) { + e.msg = "invalid distance code", r.mode = 30; + break + } + r.offset = b, r.extra = 15 & g, r.mode = 24; + case 24: + if (r.extra) { + for (z = r.extra; l < z;) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + r.offset += u & (1 << r.extra) - 1, u >>>= r.extra, l -= r.extra, r.back += r.extra + } + if (r.offset > r.dmax) { + e.msg = "invalid distance too far back", r.mode = 30; + break + } + r.mode = 25; + case 25: + if (0 === h) break e; + if (d = c - h, r.offset > d) { + if ((d = r.offset - d) > r.whave && r.sane) { + e.msg = "invalid distance too far back", r.mode = 30; + break + } + p = d > r.wnext ? (d -= r.wnext, r.wsize - d) : r.wnext - d, d > r.length && (d = r.length), m = r.window + } else m = i, p = a - r.offset, d = r.length; + for (h < d && (d = h), h -= d, r.length -= d; i[a++] = m[p++], --d;); + 0 === r.length && (r.mode = 21); + break; + case 26: + if (0 === h) break e; + i[a++] = r.length, h--, r.mode = 21; + break; + case 27: + if (r.wrap) { + for (; l < 32;) { + if (0 === o) break e; + o--, u |= n[s++] << l, l += 8 + } + if (c -= h, e.total_out += c, r.total += c, c && (e.adler = r.check = r.flags ? B(r.check, i, c, a - c) : O(r.check, i, c, a - c)), c = h, (r.flags ? u : L(u)) !== r.check) { + e.msg = "incorrect data check", r.mode = 30; + break + } + l = u = 0 + } + r.mode = 28; + case 28: + if (r.wrap && r.flags) { + for (; l < 32;) { + if (0 === o) break e; + o--, u += n[s++] << l, l += 8 + } + if (u !== (4294967295 & r.total)) { + e.msg = "incorrect length check", r.mode = 30; + break + } + l = u = 0 + } + r.mode = 29; + case 29: + x = 1; + break e; + case 30: + x = -3; + break e; + case 31: + return -4; + case 32: + default: + return U + } + return e.next_out = a, e.avail_out = h, e.next_in = s, e.avail_in = o, r.hold = u, r.bits = l, (r.wsize || c !== e.avail_out && r.mode < 30 && (r.mode < 27 || 4 !== t)) && Z(e, e.output, e.next_out, c - e.avail_out) ? (r.mode = 31, -4) : (f -= e.avail_in, c -= e.avail_out, e.total_in += f, e.total_out += c, r.total += c, r.wrap && c && (e.adler = r.check = r.flags ? B(r.check, i, c, e.next_out - c) : O(r.check, i, c, e.next_out - c)), e.data_type = r.bits + (r.last ? 64 : 0) + (12 === r.mode ? 128 : 0) + (20 === r.mode || 15 === r.mode ? 256 : 0), (0 == f && 0 === c || 4 === t) && x === N && (x = -5), x) + }, r.inflateEnd = function(e) { + if (!e || !e.state) return U; + var t = e.state; + return t.window && (t.window = null), e.state = null, N + }, r.inflateGetHeader = function(e, t) { + var r; + return e && e.state ? 0 == (2 & (r = e.state) + .wrap) ? U : ((r.head = t) + .done = !1, N) : U + }, r.inflateSetDictionary = function(e, t) { + var r, n = t.length; + return e && e.state ? 0 !== (r = e.state) + .wrap && 11 !== r.mode ? U : 11 === r.mode && O(1, t, n, 0) !== r.check ? -3 : Z(e, t, n, n) ? (r.mode = 31, -4) : (r.havedict = 1, N) : U + }, r.inflateInfo = "pako inflate (from Nodeca project)" + }, { + "../utils/common": 41, + "./adler32": 43, + "./crc32": 45, + "./inffast": 48, + "./inftrees": 50 + }], + 50: [function(e, t, r) { + "use strict"; + var D = e("../utils/common"), + F = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0], + N = [16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78], + U = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0], + P = [16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64]; + t.exports = function(e, t, r, n, i, s, a, o) { + var h, u, l, f, c, d, p, m, _, g = o.bits, + b = 0, + v = 0, + y = 0, + w = 0, + k = 0, + x = 0, + S = 0, + z = 0, + C = 0, + E = 0, + A = null, + I = 0, + O = new D.Buf16(16), + B = new D.Buf16(16), + R = null, + T = 0; + for (b = 0; b <= 15; b++) O[b] = 0; + for (v = 0; v < n; v++) O[t[r + v]]++; + for (k = g, w = 15; 1 <= w && 0 === O[w]; w--); + if (w < k && (k = w), 0 === w) return i[s++] = 20971520, i[s++] = 20971520, o.bits = 1, 0; + for (y = 1; y < w && 0 === O[y]; y++); + for (k < y && (k = y), b = z = 1; b <= 15; b++) + if (z <<= 1, (z -= O[b]) < 0) return -1; + if (0 < z && (0 === e || 1 !== w)) return -1; + for (B[1] = 0, b = 1; b < 15; b++) B[b + 1] = B[b] + O[b]; + for (v = 0; v < n; v++) 0 !== t[r + v] && (a[B[t[r + v]]++] = v); + if (d = 0 === e ? (A = R = a, 19) : 1 === e ? (A = F, I -= 257, R = N, T -= 257, 256) : (A = U, R = P, -1), b = y, c = s, S = v = E = 0, l = -1, f = (C = 1 << (x = k)) - 1, 1 === e && 852 < C || 2 === e && 592 < C) return 1; + for (;;) { + for (p = b - S, _ = a[v] < d ? (m = 0, a[v]) : a[v] > d ? (m = R[T + a[v]], A[I + a[v]]) : (m = 96, 0), h = 1 << b - S, y = u = 1 << x; i[c + (E >> S) + (u -= h)] = p << 24 | m << 16 | _ | 0, 0 !== u;); + for (h = 1 << b - 1; E & h;) h >>= 1; + if (0 !== h ? (E &= h - 1, E += h) : E = 0, v++, 0 == --O[b]) { + if (b === w) break; + b = t[r + a[v]] + } + if (k < b && (E & f) !== l) { + for (0 === S && (S = k), c += y, z = 1 << (x = b - S); x + S < w && !((z -= O[x + S]) <= 0);) x++, z <<= 1; + if (C += 1 << x, 1 === e && 852 < C || 2 === e && 592 < C) return 1; + i[l = E & f] = k << 24 | x << 16 | c - s | 0 + } + } + return 0 !== E && (i[c + E] = b - S << 24 | 64 << 16 | 0), o.bits = k, 0 + } + }, { + "../utils/common": 41 + }], + 51: [function(e, t, r) { + "use strict"; + t.exports = { + 2: "need dictionary", + 1: "stream end", + 0: "", + "-1": "file error", + "-2": "stream error", + "-3": "data error", + "-4": "insufficient memory", + "-5": "buffer error", + "-6": "incompatible version" + } + }, {}], + 52: [function(e, t, r) { + "use strict"; + var i = e("../utils/common"), + o = 0, + h = 1; + + function n(e) { + for (var t = e.length; 0 <= --t;) e[t] = 0 + } + var s = 0, + a = 29, + u = 256, + l = u + 1 + a, + f = 30, + c = 19, + _ = 2 * l + 1, + g = 15, + d = 16, + p = 7, + m = 256, + b = 16, + v = 17, + y = 18, + w = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0], + k = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13], + x = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], + S = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], + z = new Array(2 * (l + 2)); + n(z); + var C = new Array(2 * f); + n(C); + var E = new Array(512); + n(E); + var A = new Array(256); + n(A); + var I = new Array(a); + n(I); + var O, B, R, T = new Array(f); + + function D(e, t, r, n, i) { + this.static_tree = e, this.extra_bits = t, this.extra_base = r, this.elems = n, this.max_length = i, this.has_stree = e && e.length + } + + function F(e, t) { + this.dyn_tree = e, this.max_code = 0, this.stat_desc = t + } + + function N(e) { + return e < 256 ? E[e] : E[256 + (e >>> 7)] + } + + function U(e, t) { + e.pending_buf[e.pending++] = 255 & t, e.pending_buf[e.pending++] = t >>> 8 & 255 + } + + function P(e, t, r) { + e.bi_valid > d - r ? (e.bi_buf |= t << e.bi_valid & 65535, U(e, e.bi_buf), e.bi_buf = t >> d - e.bi_valid, e.bi_valid += r - d) : (e.bi_buf |= t << e.bi_valid & 65535, e.bi_valid += r) + } + + function L(e, t, r) { + P(e, r[2 * t], r[2 * t + 1]) + } + + function j(e, t) { + for (var r = 0; r |= 1 & e, e >>>= 1, r <<= 1, 0 < --t;); + return r >>> 1 + } + + function Z(e, t, r) { + var n, i, s = new Array(g + 1), + a = 0; + for (n = 1; n <= g; n++) s[n] = a = a + r[n - 1] << 1; + for (i = 0; i <= t; i++) { + var o = e[2 * i + 1]; + 0 !== o && (e[2 * i] = j(s[o]++, o)) + } + } + + function W(e) { + var t; + for (t = 0; t < l; t++) e.dyn_ltree[2 * t] = 0; + for (t = 0; t < f; t++) e.dyn_dtree[2 * t] = 0; + for (t = 0; t < c; t++) e.bl_tree[2 * t] = 0; + e.dyn_ltree[2 * m] = 1, e.opt_len = e.static_len = 0, e.last_lit = e.matches = 0 + } + + function M(e) { + 8 < e.bi_valid ? U(e, e.bi_buf) : 0 < e.bi_valid && (e.pending_buf[e.pending++] = e.bi_buf), e.bi_buf = 0, e.bi_valid = 0 + } + + function H(e, t, r, n) { + var i = 2 * t, + s = 2 * r; + return e[i] < e[s] || e[i] === e[s] && n[t] <= n[r] + } + + function G(e, t, r) { + for (var n = e.heap[r], i = r << 1; i <= e.heap_len && (i < e.heap_len && H(t, e.heap[i + 1], e.heap[i], e.depth) && i++, !H(t, n, e.heap[i], e.depth));) e.heap[r] = e.heap[i], r = i, i <<= 1; + e.heap[r] = n + } + + function K(e, t, r) { + var n, i, s, a, o = 0; + if (0 !== e.last_lit) + for (; n = e.pending_buf[e.d_buf + 2 * o] << 8 | e.pending_buf[e.d_buf + 2 * o + 1], i = e.pending_buf[e.l_buf + o], o++, 0 === n ? L(e, i, t) : (L(e, (s = A[i]) + u + 1, t), 0 !== (a = w[s]) && P(e, i -= I[s], a), L(e, s = N(--n), r), 0 !== (a = k[s]) && P(e, n -= T[s], a)), o < e.last_lit;); + L(e, m, t) + } + + function Y(e, t) { + var r, n, i, s = t.dyn_tree, + a = t.stat_desc.static_tree, + o = t.stat_desc.has_stree, + h = t.stat_desc.elems, + u = -1; + for (e.heap_len = 0, e.heap_max = _, r = 0; r < h; r++) 0 !== s[2 * r] ? (e.heap[++e.heap_len] = u = r, e.depth[r] = 0) : s[2 * r + 1] = 0; + for (; e.heap_len < 2;) s[2 * (i = e.heap[++e.heap_len] = u < 2 ? ++u : 0)] = 1, e.depth[i] = 0, e.opt_len--, o && (e.static_len -= a[2 * i + 1]); + for (t.max_code = u, r = e.heap_len >> 1; 1 <= r; r--) G(e, s, r); + for (i = h; r = e.heap[1], e.heap[1] = e.heap[e.heap_len--], G(e, s, 1), n = e.heap[1], e.heap[--e.heap_max] = r, e.heap[--e.heap_max] = n, s[2 * i] = s[2 * r] + s[2 * n], e.depth[i] = (e.depth[r] >= e.depth[n] ? e.depth[r] : e.depth[n]) + 1, s[2 * r + 1] = s[2 * n + 1] = i, e.heap[1] = i++, G(e, s, 1), 2 <= e.heap_len;); + e.heap[--e.heap_max] = e.heap[1], + function(e, t) { + var r, n, i, s, a, o, h = t.dyn_tree, + u = t.max_code, + l = t.stat_desc.static_tree, + f = t.stat_desc.has_stree, + c = t.stat_desc.extra_bits, + d = t.stat_desc.extra_base, + p = t.stat_desc.max_length, + m = 0; + for (s = 0; s <= g; s++) e.bl_count[s] = 0; + for (h[2 * e.heap[e.heap_max] + 1] = 0, r = e.heap_max + 1; r < _; r++) p < (s = h[2 * h[2 * (n = e.heap[r]) + 1] + 1] + 1) && (s = p, m++), h[2 * n + 1] = s, u < n || (e.bl_count[s]++, a = 0, d <= n && (a = c[n - d]), o = h[2 * n], e.opt_len += o * (s + a), f && (e.static_len += o * (l[2 * n + 1] + a))); + if (0 !== m) { + do { + for (s = p - 1; 0 === e.bl_count[s];) s--; + e.bl_count[s]--, e.bl_count[s + 1] += 2, e.bl_count[p]--, m -= 2 + } while (0 < m); + for (s = p; 0 !== s; s--) + for (n = e.bl_count[s]; 0 !== n;) u < (i = e.heap[--r]) || (h[2 * i + 1] !== s && (e.opt_len += (s - h[2 * i + 1]) * h[2 * i], h[2 * i + 1] = s), n--) + } + }(e, t), Z(s, u, e.bl_count) + } + + function X(e, t, r) { + var n, i, s = -1, + a = t[1], + o = 0, + h = 7, + u = 4; + for (0 === a && (h = 138, u = 3), t[2 * (r + 1) + 1] = 65535, n = 0; n <= r; n++) i = a, a = t[2 * (n + 1) + 1], ++o < h && i === a || (o < u ? e.bl_tree[2 * i] += o : 0 !== i ? (i !== s && e.bl_tree[2 * i]++, e.bl_tree[2 * b]++) : o <= 10 ? e.bl_tree[2 * v]++ : e.bl_tree[2 * y]++, s = i, u = (o = 0) === a ? (h = 138, 3) : i === a ? (h = 6, 3) : (h = 7, 4)) + } + + function V(e, t, r) { + var n, i, s = -1, + a = t[1], + o = 0, + h = 7, + u = 4; + for (0 === a && (h = 138, u = 3), n = 0; n <= r; n++) + if (i = a, a = t[2 * (n + 1) + 1], !(++o < h && i === a)) { + if (o < u) + for (; L(e, i, e.bl_tree), 0 != --o;); + else 0 !== i ? (i !== s && (L(e, i, e.bl_tree), o--), L(e, b, e.bl_tree), P(e, o - 3, 2)) : o <= 10 ? (L(e, v, e.bl_tree), P(e, o - 3, 3)) : (L(e, y, e.bl_tree), P(e, o - 11, 7)); + s = i, u = (o = 0) === a ? (h = 138, 3) : i === a ? (h = 6, 3) : (h = 7, 4) + } + } + n(T); + var q = !1; + + function J(e, t, r, n) { + P(e, (s << 1) + (n ? 1 : 0), 3), + function(e, t, r, n) { + M(e), n && (U(e, r), U(e, ~r)), i.arraySet(e.pending_buf, e.window, t, r, e.pending), e.pending += r + }(e, t, r, !0) + } + r._tr_init = function(e) { + q || (function() { + var e, t, r, n, i, s = new Array(g + 1); + for (n = r = 0; n < a - 1; n++) + for (I[n] = r, e = 0; e < 1 << w[n]; e++) A[r++] = n; + for (A[r - 1] = n, n = i = 0; n < 16; n++) + for (T[n] = i, e = 0; e < 1 << k[n]; e++) E[i++] = n; + for (i >>= 7; n < f; n++) + for (T[n] = i << 7, e = 0; e < 1 << k[n] - 7; e++) E[256 + i++] = n; + for (t = 0; t <= g; t++) s[t] = 0; + for (e = 0; e <= 143;) z[2 * e + 1] = 8, e++, s[8]++; + for (; e <= 255;) z[2 * e + 1] = 9, e++, s[9]++; + for (; e <= 279;) z[2 * e + 1] = 7, e++, s[7]++; + for (; e <= 287;) z[2 * e + 1] = 8, e++, s[8]++; + for (Z(z, l + 1, s), e = 0; e < f; e++) C[2 * e + 1] = 5, C[2 * e] = j(e, 5); + O = new D(z, w, u + 1, l, g), B = new D(C, k, 0, f, g), R = new D(new Array(0), x, 0, c, p) + }(), q = !0), e.l_desc = new F(e.dyn_ltree, O), e.d_desc = new F(e.dyn_dtree, B), e.bl_desc = new F(e.bl_tree, R), e.bi_buf = 0, e.bi_valid = 0, W(e) + }, r._tr_stored_block = J, r._tr_flush_block = function(e, t, r, n) { + var i, s, a = 0; + 0 < e.level ? (2 === e.strm.data_type && (e.strm.data_type = function(e) { + var t, r = 4093624447; + for (t = 0; t <= 31; t++, r >>>= 1) + if (1 & r && 0 !== e.dyn_ltree[2 * t]) return o; + if (0 !== e.dyn_ltree[18] || 0 !== e.dyn_ltree[20] || 0 !== e.dyn_ltree[26]) return h; + for (t = 32; t < u; t++) + if (0 !== e.dyn_ltree[2 * t]) return h; + return o + }(e)), Y(e, e.l_desc), Y(e, e.d_desc), a = function(e) { + var t; + for (X(e, e.dyn_ltree, e.l_desc.max_code), X(e, e.dyn_dtree, e.d_desc.max_code), Y(e, e.bl_desc), t = c - 1; 3 <= t && 0 === e.bl_tree[2 * S[t] + 1]; t--); + return e.opt_len += 3 * (t + 1) + 5 + 5 + 4, t + }(e), i = e.opt_len + 3 + 7 >>> 3, (s = e.static_len + 3 + 7 >>> 3) <= i && (i = s)) : i = s = r + 5, r + 4 <= i && -1 !== t ? J(e, t, r, n) : 4 === e.strategy || s === i ? (P(e, 2 + (n ? 1 : 0), 3), K(e, z, C)) : (P(e, 4 + (n ? 1 : 0), 3), function(e, t, r, n) { + var i; + for (P(e, t - 257, 5), P(e, r - 1, 5), P(e, n - 4, 4), i = 0; i < n; i++) P(e, e.bl_tree[2 * S[i] + 1], 3); + V(e, e.dyn_ltree, t - 1), V(e, e.dyn_dtree, r - 1) + }(e, e.l_desc.max_code + 1, e.d_desc.max_code + 1, a + 1), K(e, e.dyn_ltree, e.dyn_dtree)), W(e), n && M(e) + }, r._tr_tally = function(e, t, r) { + return e.pending_buf[e.d_buf + 2 * e.last_lit] = t >>> 8 & 255, e.pending_buf[e.d_buf + 2 * e.last_lit + 1] = 255 & t, e.pending_buf[e.l_buf + e.last_lit] = 255 & r, e.last_lit++, 0 === t ? e.dyn_ltree[2 * r]++ : (e.matches++, t--, e.dyn_ltree[2 * (A[r] + u + 1)]++, e.dyn_dtree[2 * N(t)]++), e.last_lit === e.lit_bufsize - 1 + }, r._tr_align = function(e) { + P(e, 2, 3), L(e, m, z), + function(e) { + 16 === e.bi_valid ? (U(e, e.bi_buf), e.bi_buf = 0, e.bi_valid = 0) : 8 <= e.bi_valid && (e.pending_buf[e.pending++] = 255 & e.bi_buf, e.bi_buf >>= 8, e.bi_valid -= 8) + }(e) + } + }, { + "../utils/common": 41 + }], + 53: [function(e, t, r) { + "use strict"; + t.exports = function() { + this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0 + } + }, {}], + 54: [function(e, t, r) { + (function(e) { + ! function(r, n) { + "use strict"; + if (!r.setImmediate) { + var i, s, t, a, o = 1, + h = {}, + u = !1, + l = r.document, + e = Object.getPrototypeOf && Object.getPrototypeOf(r); + e = e && e.setTimeout ? e : r, i = "[object process]" === {}.toString.call(r.process) ? function(e) { + process.nextTick(function() { + c(e) + }) + } : function() { + if (r.postMessage && !r.importScripts) { + var e = !0, + t = r.onmessage; + return r.onmessage = function() { + e = !1 + }, r.postMessage("", "*"), r.onmessage = t, e + } + }() ? (a = "setImmediate$" + Math.random() + "$", r.addEventListener ? r.addEventListener("message", d, !1) : r.attachEvent("onmessage", d), function(e) { + r.postMessage(a + e, "*") + }) : r.MessageChannel ? ((t = new MessageChannel) + .port1.onmessage = function(e) { + c(e.data) + }, + function(e) { + t.port2.postMessage(e) + }) : l && "onreadystatechange" in l.createElement("script") ? (s = l.documentElement, function(e) { + var t = l.createElement("script"); + t.onreadystatechange = function() { + c(e), t.onreadystatechange = null, s.removeChild(t), t = null + }, s.appendChild(t) + }) : function(e) { + setTimeout(c, 0, e) + }, e.setImmediate = function(e) { + "function" != typeof e && (e = new Function("" + e)); + for (var t = new Array(arguments.length - 1), r = 0; r < t.length; r++) t[r] = arguments[r + 1]; + var n = { + callback: e, + args: t + }; + return h[o] = n, i(o), o++ + }, e.clearImmediate = f + } + + function f(e) { + delete h[e] + } + + function c(e) { + if (u) setTimeout(c, 0, e); + else { + var t = h[e]; + if (t) { + u = !0; + try { + ! function(e) { + var t = e.callback, + r = e.args; + switch (r.length) { + case 0: + t(); + break; + case 1: + t(r[0]); + break; + case 2: + t(r[0], r[1]); + break; + case 3: + t(r[0], r[1], r[2]); + break; + default: + t.apply(n, r) + } + }(t) + } finally { + f(e), u = !1 + } + } + } + } + + function d(e) { + e.source === r && "string" == typeof e.data && 0 === e.data.indexOf(a) && c(+e.data.slice(a.length)) + } + }("undefined" == typeof self ? void 0 === e ? this : e : self) + }) + .call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) + }, {}] + }, {}, [10])(10) +}); +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],require("timers").setImmediate) + +},{"_process":7,"buffer":2,"timers":8}],7:[function(require,module,exports){ +// shim for using process in browser +var process = module.exports = {}; + +// cached from whatever global is present so that test runners that stub it +// don't break things. But we need to wrap it in a try catch in case it is +// wrapped in strict mode code which doesn't define any globals. It's inside a +// function because try/catches deoptimize in certain engines. + +var cachedSetTimeout; +var cachedClearTimeout; + +function defaultSetTimout() { + throw new Error('setTimeout has not been defined'); +} +function defaultClearTimeout () { + throw new Error('clearTimeout has not been defined'); +} +(function () { + try { + if (typeof setTimeout === 'function') { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; + } + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + if (typeof clearTimeout === 'function') { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; + } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } +} ()) +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } + + +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } + + + +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} + +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} + +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; +process.prependListener = noop; +process.prependOnceListener = noop; + +process.listeners = function (name) { return [] } + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; + +},{}],8:[function(require,module,exports){ +(function (setImmediate,clearImmediate){ +var nextTick = require('process/browser.js').nextTick; +var apply = Function.prototype.apply; +var slice = Array.prototype.slice; +var immediateIds = {}; +var nextImmediateId = 0; + +// DOM APIs, for completeness + +exports.setTimeout = function() { + return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout); +}; +exports.setInterval = function() { + return new Timeout(apply.call(setInterval, window, arguments), clearInterval); +}; +exports.clearTimeout = +exports.clearInterval = function(timeout) { timeout.close(); }; + +function Timeout(id, clearFn) { + this._id = id; + this._clearFn = clearFn; +} +Timeout.prototype.unref = Timeout.prototype.ref = function() {}; +Timeout.prototype.close = function() { + this._clearFn.call(window, this._id); +}; + +// Does not start the time, just sets up the members needed. +exports.enroll = function(item, msecs) { + clearTimeout(item._idleTimeoutId); + item._idleTimeout = msecs; +}; + +exports.unenroll = function(item) { + clearTimeout(item._idleTimeoutId); + item._idleTimeout = -1; +}; + +exports._unrefActive = exports.active = function(item) { + clearTimeout(item._idleTimeoutId); + + var msecs = item._idleTimeout; + if (msecs >= 0) { + item._idleTimeoutId = setTimeout(function onTimeout() { + if (item._onTimeout) + item._onTimeout(); + }, msecs); + } +}; + +// That's not how node.js implements it but the exposed api is the same. +exports.setImmediate = typeof setImmediate === "function" ? setImmediate : function(fn) { + var id = nextImmediateId++; + var args = arguments.length < 2 ? false : slice.call(arguments, 1); + + immediateIds[id] = true; + + nextTick(function onNextTick() { + if (immediateIds[id]) { + // fn.call() is faster so we optimize for the common use-case + // @see http://jsperf.com/call-apply-segu + if (args) { + fn.apply(null, args); + } else { + fn.call(null); + } + // Prevent ids from leaking + exports.clearImmediate(id); + } + }); + + return id; +}; + +exports.clearImmediate = typeof clearImmediate === "function" ? clearImmediate : function(id) { + delete immediateIds[id]; +}; +}).call(this,require("timers").setImmediate,require("timers").clearImmediate) + +},{"process/browser.js":7,"timers":8}],9:[function(require,module,exports){ +"use strict"; + +var __importDefault = void 0 && (void 0).__importDefault || function (mod) { + return mod && mod.__esModule ? mod : { + "default": mod + }; +}; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.HandleZip = void 0; + +var jszip_1 = __importDefault(require("jszip")); + +var method_1 = require("./common/method"); + +var HandleZip = +/** @class */ +function () { + function HandleZip(file) { + // Support nodejs fs to read files + // if(file instanceof File){ + this.uploadFile = file; // } + } + + HandleZip.prototype.unzipFile = function (successFunc, errorFunc) { + // var new_zip:JSZip = new JSZip(); + jszip_1["default"].loadAsync(this.uploadFile) // 1) read the Blob + .then(function (zip) { + var fileList = {}, + lastIndex = Object.keys(zip.files).length, + index = 0; + zip.forEach(function (relativePath, zipEntry) { + var fileName = zipEntry.name; + var fileNameArr = fileName.split("."); + var suffix = fileNameArr[fileNameArr.length - 1].toLowerCase(); + var fileType = "string"; + + if (suffix in { + "png": 1, + "jpeg": 1, + "jpg": 1, + "gif": 1, + "bmp": 1, + "tif": 1, + "webp": 1 + }) { + fileType = "base64"; + } else if (suffix == "emf") { + fileType = "arraybuffer"; + } + + zipEntry.async(fileType).then(function (data) { + if (fileType == "base64") { + data = "data:image/" + suffix + ";base64," + data; + } //console.log(5555); + + + fileList[zipEntry.name] = data; // console.log(lastIndex, index); + + if (lastIndex == index + 1) { + successFunc(fileList); + } + + index++; + }); + }); + }, function (e) { + errorFunc(e); + }); + }; + + HandleZip.prototype.unzipFileByUrl = function (url, successFunc, errorFunc) { + var new_zip = new jszip_1["default"](); + method_1.getBinaryContent(url, function (err, data) { + if (err) { + throw err; // or handle err + } + + jszip_1["default"].loadAsync(data).then(function (zip) { + var fileList = {}, + lastIndex = Object.keys(zip.files).length, + index = 0; + zip.forEach(function (relativePath, zipEntry) { + var fileName = zipEntry.name; + var fileNameArr = fileName.split("."); + var suffix = fileNameArr[fileNameArr.length - 1].toLowerCase(); + var fileType = "string"; + + if (suffix in { + "png": 1, + "jpeg": 1, + "jpg": 1, + "gif": 1, + "bmp": 1, + "tif": 1, + "webp": 1 + }) { + fileType = "base64"; + } else if (suffix == "emf") { + fileType = "arraybuffer"; + } + + zipEntry.async(fileType).then(function (data) { + if (fileType == "base64") { + data = "data:image/" + suffix + ";base64," + data; + } + + fileList[zipEntry.name] = data; // console.log(lastIndex, index); + + if (lastIndex == index + 1) { + successFunc(fileList); + } + + index++; + }); + }); + }, function (e) { + errorFunc(e); + }); + }); + }; + + HandleZip.prototype.newZipFile = function () { + var zip = new jszip_1["default"](); + this.workBook = zip; + }; //title:"nested/hello.txt", content:"Hello Worldasdfasfasdfasfasfasfasfasdfas" + + + HandleZip.prototype.addToZipFile = function (title, content) { + if (this.workBook == null) { + var zip = new jszip_1["default"](); + this.workBook = zip; + } + + this.workBook.file(title, content); + }; + + return HandleZip; +}(); + +exports.HandleZip = HandleZip; + +},{"./common/method":18,"jszip":6}],10:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.LuckyImageBase = exports.LuckysheetCalcChain = exports.LuckySheetConfigMerge = exports.LuckySheetborderInfoCellValueStyle = exports.LuckySheetborderInfoCellValue = exports.LuckySheetborderInfoCellForImp = exports.LuckyConfig = exports.LuckyInlineString = exports.LuckySheetCellFormat = exports.LuckySheetCelldataValue = exports.LuckySheetCelldataBase = exports.LuckyFileInfo = exports.LuckySheetBase = exports.LuckyFileBase = void 0; + +var LuckyFileBase = +/** @class */ +function () { + function LuckyFileBase() {} + + return LuckyFileBase; +}(); + +exports.LuckyFileBase = LuckyFileBase; + +var LuckySheetBase = +/** @class */ +function () { + function LuckySheetBase() {} + + return LuckySheetBase; +}(); + +exports.LuckySheetBase = LuckySheetBase; + +var LuckyFileInfo = +/** @class */ +function () { + function LuckyFileInfo() {} + + return LuckyFileInfo; +}(); + +exports.LuckyFileInfo = LuckyFileInfo; + +var LuckySheetCelldataBase = +/** @class */ +function () { + function LuckySheetCelldataBase() {} + + return LuckySheetCelldataBase; +}(); + +exports.LuckySheetCelldataBase = LuckySheetCelldataBase; + +var LuckySheetCelldataValue = +/** @class */ +function () { + function LuckySheetCelldataValue() {} + + return LuckySheetCelldataValue; +}(); + +exports.LuckySheetCelldataValue = LuckySheetCelldataValue; + +var LuckySheetCellFormat = +/** @class */ +function () { + function LuckySheetCellFormat() {} + + return LuckySheetCellFormat; +}(); + +exports.LuckySheetCellFormat = LuckySheetCellFormat; + +var LuckyInlineString = +/** @class */ +function () { + function LuckyInlineString() {} + + return LuckyInlineString; +}(); + +exports.LuckyInlineString = LuckyInlineString; + +var LuckyConfig = +/** @class */ +function () { + function LuckyConfig() {} + + return LuckyConfig; +}(); + +exports.LuckyConfig = LuckyConfig; + +var LuckySheetborderInfoCellForImp = +/** @class */ +function () { + function LuckySheetborderInfoCellForImp() {} + + return LuckySheetborderInfoCellForImp; +}(); + +exports.LuckySheetborderInfoCellForImp = LuckySheetborderInfoCellForImp; + +var LuckySheetborderInfoCellValue = +/** @class */ +function () { + function LuckySheetborderInfoCellValue() {} + + return LuckySheetborderInfoCellValue; +}(); + +exports.LuckySheetborderInfoCellValue = LuckySheetborderInfoCellValue; + +var LuckySheetborderInfoCellValueStyle = +/** @class */ +function () { + function LuckySheetborderInfoCellValueStyle() {} + + return LuckySheetborderInfoCellValueStyle; +}(); + +exports.LuckySheetborderInfoCellValueStyle = LuckySheetborderInfoCellValueStyle; + +var LuckySheetConfigMerge = +/** @class */ +function () { + function LuckySheetConfigMerge() {} + + return LuckySheetConfigMerge; +}(); + +exports.LuckySheetConfigMerge = LuckySheetConfigMerge; + +var LuckysheetCalcChain = +/** @class */ +function () { + function LuckysheetCalcChain() {} + + return LuckysheetCalcChain; +}(); + +exports.LuckysheetCalcChain = LuckysheetCalcChain; + +var LuckyImageBase = +/** @class */ +function () { + function LuckyImageBase() {} + + return LuckyImageBase; +}(); + +exports.LuckyImageBase = LuckyImageBase; + +},{}],11:[function(require,module,exports){ +"use strict"; + +var __extends = void 0 && (void 0).__extends || function () { + var _extendStatics = function extendStatics(d, b) { + _extendStatics = Object.setPrototypeOf || { + __proto__: [] + } instanceof Array && function (d, b) { + d.__proto__ = b; + } || function (d, b) { + for (var p in b) { + if (b.hasOwnProperty(p)) d[p] = b[p]; + } + }; + + return _extendStatics(d, b); + }; + + return function (d, b) { + _extendStatics(d, b); + + function __() { + this.constructor = d; + } + + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +}(); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.LuckySheetCelldata = void 0; + +var ReadXml_1 = require("./ReadXml"); + +var method_1 = require("../common/method"); + +var constant_1 = require("../common/constant"); + +var LuckyBase_1 = require("./LuckyBase"); + +var LuckySheetCelldata = +/** @class */ +function (_super) { + __extends(LuckySheetCelldata, _super); + + function LuckySheetCelldata(cell, styles, sharedStrings, mergeCells, sheetFile, ReadXml) { + var _this = //Private + _super.call(this) || this; + + _this.cell = cell; + _this.sheetFile = sheetFile; + _this.styles = styles; + _this.sharedStrings = sharedStrings; + _this.readXml = ReadXml; + _this.mergeCells = mergeCells; + var attrList = cell.attributeList; + var r = attrList.r, + s = attrList.s, + t = attrList.t; + var range = method_1.getcellrange(r); + _this.r = range.row[0]; + _this.c = range.column[0]; + _this.v = _this.generateValue(s, t); + return _this; + } + /** + * @param s Style index ,start 1 + * @param t Cell type, Optional value is ST_CellType, it's found at constat.ts + */ - function hexSlice(buf, start, end) { - var len = buf.length - if (!start || start < 0) - start = 0 - if (!end || end < 0 || end > len) - end = len + LuckySheetCelldata.prototype.generateValue = function (s, t) { + var _this = this; - var out = '' - for (var i = start; i < end; ++i) { - out += toHex(buf[i]) - } - return out - } + var v = this.cell.getInnerElements("v"); + var f = this.cell.getInnerElements("f"); - function utf16leSlice(buf, start, end) { - var bytes = buf.slice(start, end) - var res = '' - for (var i = 0; i < bytes.length; i += 2) { - res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256) - } - return res - } + if (v == null) { + v = this.cell.getInnerElements("t"); + } - Buffer.prototype.slice = function slice(start, end) { - var len = this.length - start = ~~start - end = end === undefined ? len : ~~end - - if (start < 0) { - start += len - if (start < 0) - start = 0 - } else if (start > len) { - start = len - } + var cellXfs = this.styles["cellXfs"]; + var cellStyleXfs = this.styles["cellStyleXfs"]; + var cellStyles = this.styles["cellStyles"]; + var fonts = this.styles["fonts"]; + var fills = this.styles["fills"]; + var borders = this.styles["borders"]; + var numfmts = this.styles["numfmts"]; + var clrScheme = this.styles["clrScheme"]; + var sharedStrings = this.sharedStrings; + var cellValue = new LuckyBase_1.LuckySheetCelldataValue(); + + if (f != null) { + var formula = f[0], + attrList = formula.attributeList; + var t_1 = attrList.t, + ref = attrList.ref, + si = attrList.si; + var formulaValue = f[0].value; + + if (t_1 == "shared") { + this._fomulaRef = ref; + this._formulaType = t_1; + this._formulaSi = si; + } // console.log(ref, t, si); + + + if (ref != null || formulaValue != null && formulaValue.length > 0) { + formulaValue = method_1.escapeCharacter(formulaValue); + cellValue.f = "=" + formulaValue; + } + } - if (end < 0) { - end += len - if (end < 0) - end = 0 - } else if (end > len) { - end = len - } + var familyFont = null; + var quotePrefix; + + if (s != null) { + var sNum = parseInt(s); + var cellXf = cellXfs[sNum]; + var xfId = cellXf.attributeList.xfId; + var numFmtId = void 0, + fontId = void 0, + fillId = void 0, + borderId = void 0; + var horizontal = void 0, + vertical = void 0, + wrapText = void 0, + textRotation = void 0, + shrinkToFit = void 0, + indent = void 0, + applyProtection = void 0; + + if (xfId != null && cellStyleXfs[parseInt(xfId)] != null) { + var cellStyleXf = cellStyleXfs[parseInt(xfId)]; + var attrList = cellStyleXf.attributeList; + var applyNumberFormat_1 = attrList.applyNumberFormat; + var applyFont_1 = attrList.applyFont; + var applyFill_1 = attrList.applyFill; + var applyBorder_1 = attrList.applyBorder; + var applyAlignment_1 = attrList.applyAlignment; // let applyProtection = attrList.applyProtection; + + applyProtection = attrList.applyProtection; + quotePrefix = attrList.quotePrefix; + + if (applyNumberFormat_1 != "0" && attrList.numFmtId != null) { + // if(attrList.numFmtId!="0"){ + numFmtId = attrList.numFmtId; // } + } - if (end < start) - end = start + if (applyFont_1 != "0" && attrList.fontId != null) { + fontId = attrList.fontId; + } - var newBuf - if (Buffer.TYPED_ARRAY_SUPPORT) { - newBuf = this.subarray(start, end) - newBuf.__proto__ = Buffer.prototype - } else { - var sliceLen = end - start - newBuf = new Buffer(sliceLen,undefined) - for (var i = 0; i < sliceLen; ++i) { - newBuf[i] = this[i + start] - } - } + if (applyFill_1 != "0" && attrList.fillId != null) { + fillId = attrList.fillId; + } - return newBuf - } + if (applyBorder_1 != "0" && attrList.borderId != null) { + borderId = attrList.borderId; + } - /* - * Need to make sure that buffer isn't trying to write out of bounds. - */ - function checkOffset(offset, ext, length) { - if ((offset % 1) !== 0 || offset < 0) - throw new RangeError('offset is not uint') - if (offset + ext > length) - throw new RangeError('Trying to access beyond buffer length') - } + if (applyAlignment_1 != null && applyAlignment_1 != "0") { + var alignment = cellStyleXf.getInnerElements("alignment"); - Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) - checkOffset(offset, byteLength, this.length) - - var val = this[offset] - var mul = 1 - var i = 0 - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul - } + if (alignment != null) { + var attrList_1 = alignment[0].attributeList; - return val - } + if (attrList_1.horizontal != null) { + horizontal = attrList_1.horizontal; + } - Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) { - checkOffset(offset, byteLength, this.length) - } + if (attrList_1.vertical != null) { + vertical = attrList_1.vertical; + } - var val = this[offset + --byteLength] - var mul = 1 - while (byteLength > 0 && (mul *= 0x100)) { - val += this[offset + --byteLength] * mul - } + if (attrList_1.wrapText != null) { + wrapText = attrList_1.wrapText; + } - return val - } + if (attrList_1.textRotation != null) { + textRotation = attrList_1.textRotation; + } - Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) { - if (!noAssert) - checkOffset(offset, 1, this.length) - return this[offset] - } + if (attrList_1.shrinkToFit != null) { + shrinkToFit = attrList_1.shrinkToFit; + } - Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) { - if (!noAssert) - checkOffset(offset, 2, this.length) - return this[offset] | (this[offset + 1] << 8) - } + if (attrList_1.indent != null) { + indent = attrList_1.indent; + } + } + } + } - Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) { - if (!noAssert) - checkOffset(offset, 2, this.length) - return (this[offset] << 8) | this[offset + 1] - } + var applyNumberFormat = cellXf.attributeList.applyNumberFormat; + var applyFont = cellXf.attributeList.applyFont; + var applyFill = cellXf.attributeList.applyFill; + var applyBorder = cellXf.attributeList.applyBorder; + var applyAlignment = cellXf.attributeList.applyAlignment; - Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) { - if (!noAssert) - checkOffset(offset, 4, this.length) + if (cellXf.attributeList.applyProtection != null) { + applyProtection = cellXf.attributeList.applyProtection; + } - return ((this[offset]) | (this[offset + 1] << 8) | (this[offset + 2] << 16)) + (this[offset + 3] * 0x1000000) - } + if (cellXf.attributeList.quotePrefix != null) { + quotePrefix = cellXf.attributeList.quotePrefix; + } - Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) { - if (!noAssert) - checkOffset(offset, 4, this.length) + if (applyNumberFormat != "0" && cellXf.attributeList.numFmtId != null) { + numFmtId = cellXf.attributeList.numFmtId; + } - return (this[offset] * 0x1000000) + ((this[offset + 1] << 16) | (this[offset + 2] << 8) | this[offset + 3]) - } + if (applyFont != "0") { + fontId = cellXf.attributeList.fontId; + } - Buffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) - checkOffset(offset, byteLength, this.length) - - var val = this[offset] - var mul = 1 - var i = 0 - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul - } - mul *= 0x80 + if (applyFill != "0") { + fillId = cellXf.attributeList.fillId; + } - if (val >= mul) - val -= Math.pow(2, 8 * byteLength) + if (applyBorder != "0") { + borderId = cellXf.attributeList.borderId; + } - return val - } + if (applyAlignment != "0") { + var alignment = cellXf.getInnerElements("alignment"); - Buffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) - checkOffset(offset, byteLength, this.length) - - var i = byteLength - var mul = 1 - var val = this[offset + --i] - while (i > 0 && (mul *= 0x100)) { - val += this[offset + --i] * mul - } - mul *= 0x80 + if (alignment != null && alignment.length > 0) { + var attrList = alignment[0].attributeList; - if (val >= mul) - val -= Math.pow(2, 8 * byteLength) + if (attrList.horizontal != null) { + horizontal = attrList.horizontal; + } - return val - } + if (attrList.vertical != null) { + vertical = attrList.vertical; + } - Buffer.prototype.readInt8 = function readInt8(offset, noAssert) { - if (!noAssert) - checkOffset(offset, 1, this.length) - if (!(this[offset] & 0x80)) - return (this[offset]) - return ((0xff - this[offset] + 1) * -1) - } + if (attrList.wrapText != null) { + wrapText = attrList.wrapText; + } - Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) { - if (!noAssert) - checkOffset(offset, 2, this.length) - var val = this[offset] | (this[offset + 1] << 8) - return (val & 0x8000) ? val | 0xFFFF0000 : val - } + if (attrList.textRotation != null) { + textRotation = attrList.textRotation; + } - Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) { - if (!noAssert) - checkOffset(offset, 2, this.length) - var val = this[offset + 1] | (this[offset] << 8) - return (val & 0x8000) ? val | 0xFFFF0000 : val - } + if (attrList.shrinkToFit != null) { + shrinkToFit = attrList.shrinkToFit; + } - Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) { - if (!noAssert) - checkOffset(offset, 4, this.length) + if (attrList.indent != null) { + indent = attrList.indent; + } + } + } - return (this[offset]) | (this[offset + 1] << 8) | (this[offset + 2] << 16) | (this[offset + 3] << 24) - } + if (numFmtId != undefined) { + var numf = numfmts[parseInt(numFmtId)]; + var cellFormat = new LuckyBase_1.LuckySheetCellFormat(); + cellFormat.fa = method_1.escapeCharacter(numf); // console.log(numf, numFmtId, this.v); - Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) { - if (!noAssert) - checkOffset(offset, 4, this.length) + cellFormat.t = t || 'd'; + cellValue.ct = cellFormat; + } - return (this[offset] << 24) | (this[offset + 1] << 16) | (this[offset + 2] << 8) | (this[offset + 3]) - } + if (fillId != undefined) { + var fillIdNum = parseInt(fillId); + var fill = fills[fillIdNum]; // console.log(cellValue.v); - Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) { - if (!noAssert) - checkOffset(offset, 4, this.length) - return ieee754.read(this, offset, true, 23, 4) - } + var bg = this.getBackgroundByFill(fill, clrScheme); - Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) { - if (!noAssert) - checkOffset(offset, 4, this.length) - return ieee754.read(this, offset, false, 23, 4) - } + if (bg != null) { + cellValue.bg = bg; + } + } - Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) { - if (!noAssert) - checkOffset(offset, 8, this.length) - return ieee754.read(this, offset, true, 52, 8) - } + if (fontId != undefined) { + var fontIdNum = parseInt(fontId); + var font = fonts[fontIdNum]; - Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) { - if (!noAssert) - checkOffset(offset, 8, this.length) - return ieee754.read(this, offset, false, 52, 8) - } + if (font != null) { + var sz = font.getInnerElements("sz"); //font size - function checkInt(buf, value, offset, ext, max, min) { - if (!Buffer.isBuffer(buf)) - throw new TypeError('"buffer" argument must be a Buffer instance') - if (value > max || value < min) - throw new RangeError('"value" argument is out of bounds') - if (offset + ext > buf.length) - throw new RangeError('Index out of range') - } + var colors = font.getInnerElements("color"); //font color - Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1 - checkInt(this, value, offset, byteLength, maxBytes, 0) - } + var family = font.getInnerElements("name"); //font family - var mul = 1 - var i = 0 - this[offset] = value & 0xFF - while (++i < byteLength && (mul *= 0x100)) { - this[offset + i] = (value / mul) & 0xFF - } + var familyOverrides = font.getInnerElements("family"); //font family will be overrided by name - return offset + byteLength - } + var charset = font.getInnerElements("charset"); //font charset - Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1 - checkInt(this, value, offset, byteLength, maxBytes, 0) - } + var bolds = font.getInnerElements("b"); //font bold - var i = byteLength - 1 - var mul = 1 - this[offset + i] = value & 0xFF - while (--i >= 0 && (mul *= 0x100)) { - this[offset + i] = (value / mul) & 0xFF - } + var italics = font.getInnerElements("i"); //font italic - return offset + byteLength - } + var strikes = font.getInnerElements("strike"); //font italic - Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) - checkInt(this, value, offset, 1, 0xff, 0) - if (!Buffer.TYPED_ARRAY_SUPPORT) - value = Math.floor(value) - this[offset] = (value & 0xff) - return offset + 1 - } + var underlines = font.getInnerElements("u"); //font italic - function objectWriteUInt16(buf, value, offset, littleEndian) { - if (value < 0) - value = 0xffff + value + 1 - for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) { - buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>> (littleEndian ? i : 1 - i) * 8 - } - } + if (sz != null && sz.length > 0) { + var fs = sz[0].attributeList.val; - Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) - checkInt(this, value, offset, 2, 0xffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - } else { - objectWriteUInt16(this, value, offset, true) - } - return offset + 2 - } + if (fs != null) { + cellValue.fs = parseInt(fs); + } + } - Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) - checkInt(this, value, offset, 2, 0xffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 8) - this[offset + 1] = (value & 0xff) - } else { - objectWriteUInt16(this, value, offset, false) - } - return offset + 2 - } + if (colors != null && colors.length > 0) { + var color = colors[0]; + var fc = ReadXml_1.getColor(color, this.styles, "t"); - function objectWriteUInt32(buf, value, offset, littleEndian) { - if (value < 0) - value = 0xffffffff + value + 1 - for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) { - buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff - } - } + if (fc != null) { + cellValue.fc = fc; + } + } - Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) - checkInt(this, value, offset, 4, 0xffffffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset + 3] = (value >>> 24) - this[offset + 2] = (value >>> 16) - this[offset + 1] = (value >>> 8) - this[offset] = (value & 0xff) - } else { - objectWriteUInt32(this, value, offset, true) - } - return offset + 4 - } + if (familyOverrides != null && familyOverrides.length > 0) { + var val = familyOverrides[0].attributeList.val; - Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) - checkInt(this, value, offset, 4, 0xffffffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 24) - this[offset + 1] = (value >>> 16) - this[offset + 2] = (value >>> 8) - this[offset + 3] = (value & 0xff) - } else { - objectWriteUInt32(this, value, offset, false) - } - return offset + 4 - } + if (val != null) { + familyFont = constant_1.fontFamilys[val]; + } + } - Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) { - var limit = Math.pow(2, 8 * byteLength - 1) + if (family != null && family.length > 0) { + var val = family[0].attributeList.val; - checkInt(this, value, offset, byteLength, limit - 1, -limit) - } + if (val != null) { + cellValue.ff = val; + } + } - var i = 0 - var mul = 1 - var sub = 0 - this[offset] = value & 0xFF - while (++i < byteLength && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { - sub = 1 - } - this[offset + i] = ((value / mul) >> 0) - sub & 0xFF - } + if (bolds != null && bolds.length > 0) { + var bold = bolds[0].attributeList.val; - return offset + byteLength - } + if (bold == "0") { + cellValue.bl = 0; + } else { + cellValue.bl = 1; + } + } - Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) { - var limit = Math.pow(2, 8 * byteLength - 1) + if (italics != null && italics.length > 0) { + var italic = italics[0].attributeList.val; - checkInt(this, value, offset, byteLength, limit - 1, -limit) - } + if (italic == "0") { + cellValue.it = 0; + } else { + cellValue.it = 1; + } + } - var i = byteLength - 1 - var mul = 1 - var sub = 0 - this[offset + i] = value & 0xFF - while (--i >= 0 && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { - sub = 1 - } - this[offset + i] = ((value / mul) >> 0) - sub & 0xFF - } + if (strikes != null && strikes.length > 0) { + var strike = strikes[0].attributeList.val; - return offset + byteLength - } + if (strike == "0") { + cellValue.cl = 0; + } else { + cellValue.cl = 1; + } + } + + if (underlines != null && underlines.length > 0) { + var underline = underlines[0].attributeList.val; + + if (underline == "single") { + cellValue.un = 1; + } else if (underline == "double") { + cellValue.un = 2; + } else if (underline == "singleAccounting") { + cellValue.un = 3; + } else if (underline == "doubleAccounting") { + cellValue.un = 4; + } else { + cellValue.un = 0; + } + } + } + } // vt: number | undefined//Vertical alignment, 0 middle, 1 up, 2 down, alignment + // ht: number | undefined//Horizontal alignment,0 center, 1 left, 2 right, alignment + // tr: number | undefined //Text rotation,0: 0、1: 45 、2: -45、3 Vertical text、4: 90 、5: -90, alignment + // tb: number | undefined //Text wrap,0 truncation, 1 overflow, 2 word wrap, alignment + + + if (horizontal != undefined) { + //Horizontal alignment + if (horizontal == "center") { + cellValue.ht = 0; + } else if (horizontal == "centerContinuous") { + cellValue.ht = 0; //luckysheet unsupport + } else if (horizontal == "left") { + cellValue.ht = 1; + } else if (horizontal == "right") { + cellValue.ht = 2; + } else if (horizontal == "distributed") { + cellValue.ht = 0; //luckysheet unsupport + } else if (horizontal == "fill") { + cellValue.ht = 1; //luckysheet unsupport + } else if (horizontal == "general") { + cellValue.ht = 1; //luckysheet unsupport + } else if (horizontal == "justify") { + cellValue.ht = 0; //luckysheet unsupport + } else { + cellValue.ht = 1; + } + } + + if (vertical != undefined) { + //Vertical alignment + if (vertical == "bottom") { + cellValue.vt = 2; + } else if (vertical == "center") { + cellValue.vt = 0; + } else if (vertical == "distributed") { + cellValue.vt = 0; //luckysheet unsupport + } else if (vertical == "justify") { + cellValue.vt = 0; //luckysheet unsupport + } else if (vertical == "top") { + cellValue.vt = 1; + } else { + cellValue.vt = 1; + } + } else { + //sometimes bottom style is lost after setting it in excel + //when vertical is undefined set it to 2. + cellValue.vt = 2; + } + + if (wrapText != undefined) { + if (wrapText == "1") { + cellValue.tb = 2; + } else { + cellValue.tb = 1; + } + } else { + cellValue.tb = 1; + } + + if (textRotation != undefined) { + // tr: number | undefined //Text rotation,0: 0、1: 45 、2: -45、3 Vertical text、4: 90 、5: -90, alignment + if (textRotation == "255") { + cellValue.tr = 3; + } // else if(textRotation=="45"){ + // cellValue.tr = 1; + // } + // else if(textRotation=="90"){ + // cellValue.tr = 4; + // } + // else if(textRotation=="135"){ + // cellValue.tr = 2; + // } + // else if(textRotation=="180"){ + // cellValue.tr = 5; + // } + else { + cellValue.tr = 0; + cellValue.rt = parseInt(textRotation); + } + } + + if (shrinkToFit != undefined) {//luckysheet unsupport + } + + if (indent != undefined) {//luckysheet unsupport + } + + if (borderId != undefined) { + var borderIdNum = parseInt(borderId); + var border = borders[borderIdNum]; // this._borderId = borderIdNum; + + var borderObject = new LuckyBase_1.LuckySheetborderInfoCellForImp(); + borderObject.rangeType = "cell"; // borderObject.cells = []; + + var borderCellValue = new LuckyBase_1.LuckySheetborderInfoCellValue(); + borderCellValue.row_index = this.r; + borderCellValue.col_index = this.c; + var lefts = border.getInnerElements("left"); + var rights = border.getInnerElements("right"); + var tops = border.getInnerElements("top"); + var bottoms = border.getInnerElements("bottom"); + var diagonals = border.getInnerElements("diagonal"); + var starts = border.getInnerElements("start"); + var ends = border.getInnerElements("end"); + var left = this.getBorderInfo(lefts); + var right = this.getBorderInfo(rights); + var top_1 = this.getBorderInfo(tops); + var bottom = this.getBorderInfo(bottoms); + var diagonal = this.getBorderInfo(diagonals); + var start = this.getBorderInfo(starts); + var end = this.getBorderInfo(ends); + var isAdd = false; + + if (start != null && start.color != null) { + borderCellValue.l = start; + isAdd = true; + } - Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) - checkInt(this, value, offset, 1, 0x7f, -0x80) - if (!Buffer.TYPED_ARRAY_SUPPORT) - value = Math.floor(value) - if (value < 0) - value = 0xff + value + 1 - this[offset] = (value & 0xff) - return offset + 1 - } + if (end != null && end.color != null) { + borderCellValue.r = end; + isAdd = true; + } - Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) - checkInt(this, value, offset, 2, 0x7fff, -0x8000) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - } else { - objectWriteUInt16(this, value, offset, true) - } - return offset + 2 - } + if (left != null && left.color != null) { + borderCellValue.l = left; + isAdd = true; + } - Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) - checkInt(this, value, offset, 2, 0x7fff, -0x8000) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 8) - this[offset + 1] = (value & 0xff) - } else { - objectWriteUInt16(this, value, offset, false) - } - return offset + 2 - } + if (right != null && right.color != null) { + borderCellValue.r = right; + isAdd = true; + } - Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) - checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - this[offset + 2] = (value >>> 16) - this[offset + 3] = (value >>> 24) - } else { - objectWriteUInt32(this, value, offset, true) - } - return offset + 4 - } + if (top_1 != null && top_1.color != null) { + borderCellValue.t = top_1; + isAdd = true; + } - Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) - checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) - if (value < 0) - value = 0xffffffff + value + 1 - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 24) - this[offset + 1] = (value >>> 16) - this[offset + 2] = (value >>> 8) - this[offset + 3] = (value & 0xff) - } else { - objectWriteUInt32(this, value, offset, false) - } - return offset + 4 - } + if (bottom != null && bottom.color != null) { + borderCellValue.b = bottom; + isAdd = true; + } - function checkIEEE754(buf, value, offset, ext, max, min) { - if (offset + ext > buf.length) - throw new RangeError('Index out of range') - if (offset < 0) - throw new RangeError('Index out of range') - } + if (isAdd) { + borderObject.value = borderCellValue; // this.config._borderInfo[borderId] = borderObject; - function writeFloat(buf, value, offset, littleEndian, noAssert) { - if (!noAssert) { - checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38) - } - ieee754.write(buf, value, offset, littleEndian, 23, 4) - return offset + 4 - } + this._borderObject = borderObject; + } + } + } else { + cellValue.tb = 1; + } - Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) { - return writeFloat(this, value, offset, true, noAssert) - } + if (v != null) { + var value = v[0].value; - Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) { - return writeFloat(this, value, offset, false, noAssert) - } + if (/&#\d+;/.test(value)) { + value = this.htmlDecode(value); + } - function writeDouble(buf, value, offset, littleEndian, noAssert) { - if (!noAssert) { - checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308) - } - ieee754.write(buf, value, offset, littleEndian, 52, 8) - return offset + 8 - } + if (t == constant_1.ST_CellType["SharedString"]) { + var siIndex = parseInt(v[0].value); + var sharedSI = sharedStrings[siIndex]; + var rFlag = sharedSI.getInnerElements("r"); - Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) { - return writeDouble(this, value, offset, true, noAssert) - } + if (rFlag == null) { + var tFlag = sharedSI.getInnerElements("t"); - Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) { - return writeDouble(this, value, offset, false, noAssert) + if (tFlag != null) { + var text_1 = ""; + tFlag.forEach(function (t) { + text_1 += t.value; + }); + text_1 = method_1.escapeCharacter(text_1); //isContainMultiType(text) && + + if (familyFont == "Roman" && text_1.length > 0) { + var textArray = text_1.split(""); + var preWordType = null, + wordText = "", + preWholef = null; + var wholef = "Times New Roman"; + + if (cellValue.ff != null) { + wholef = cellValue.ff; + } + + var cellFormat = cellValue.ct; + + if (cellFormat == null) { + cellFormat = new LuckyBase_1.LuckySheetCellFormat(); + } + + if (cellFormat.s == null) { + cellFormat.s = []; + } + + for (var i = 0; i < textArray.length; i++) { + var w = textArray[i]; + var type = null, + ff = wholef; + + if (method_1.isChinese(w)) { + type = "c"; + ff = "宋体"; + } else if (method_1.isJapanese(w)) { + type = "j"; + ff = "Yu Gothic"; + } else if (method_1.isKoera(w)) { + type = "k"; + ff = "Malgun Gothic"; + } else { + type = "e"; } - // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) - Buffer.prototype.copy = function copy(target, targetStart, start, end) { - if (!start) - start = 0 - if (!end && end !== 0) - end = this.length - if (targetStart >= target.length) - targetStart = target.length - if (!targetStart) - targetStart = 0 - if (end > 0 && end < start) - end = start - - // Copy 0 bytes; we're done - if (end === start) - return 0 - if (target.length === 0 || this.length === 0) - return 0 - - // Fatal error conditions - if (targetStart < 0) { - throw new RangeError('targetStart out of bounds') - } - if (start < 0 || start >= this.length) - throw new RangeError('sourceStart out of bounds') - if (end < 0) - throw new RangeError('sourceEnd out of bounds') - - // Are we oob? - if (end > this.length) - end = this.length - if (target.length - targetStart < end - start) { - end = target.length - targetStart + start - } - - var len = end - start - var i - - if (this === target && start < targetStart && targetStart < end) { - // descending copy from end - for (i = len - 1; i >= 0; --i) { - target[i + targetStart] = this[i + start] - } - } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) { - // ascending copy from start - for (i = 0; i < len; ++i) { - target[i + targetStart] = this[i + start] - } - } else { - Uint8Array.prototype.set.call(target, this.subarray(start, start + len), targetStart) - } + if (type != preWordType && preWordType != null || i == textArray.length - 1) { + var InlineString = new LuckyBase_1.LuckyInlineString(); + InlineString.ff = preWholef; - return len - } + if (cellValue.fc != null) { + InlineString.fc = cellValue.fc; + } - // Usage: - // buffer.fill(number[, offset[, end]]) - // buffer.fill(buffer[, offset[, end]]) - // buffer.fill(string[, offset[, end]][, encoding]) - Buffer.prototype.fill = function fill(val, start, end, encoding) { - // Handle string cases: - if (typeof val === 'string') { - if (typeof start === 'string') { - encoding = start - start = 0 - end = this.length - } else if (typeof end === 'string') { - encoding = end - end = this.length - } - if (val.length === 1) { - var code = val.charCodeAt(0) - if (code < 256) { - val = code - } - } - if (encoding !== undefined && typeof encoding !== 'string') { - throw new TypeError('encoding must be a string') - } - if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { - throw new TypeError('Unknown encoding: ' + encoding) - } - } else if (typeof val === 'number') { - val = val & 255 - } + if (cellValue.fs != null) { + InlineString.fs = cellValue.fs; + } - // Invalid ranges are not set to a default, so can range check early. - if (start < 0 || this.length < start || this.length < end) { - throw new RangeError('Out of range index') - } + if (cellValue.cl != null) { + InlineString.cl = cellValue.cl; + } - if (end <= start) { - return this - } + if (cellValue.un != null) { + InlineString.un = cellValue.un; + } - start = start >>> 0 - end = end === undefined ? this.length : end >>> 0 + if (cellValue.bl != null) { + InlineString.bl = cellValue.bl; + } - if (!val) - val = 0 + if (cellValue.it != null) { + InlineString.it = cellValue.it; + } - var i - if (typeof val === 'number') { - for (i = start; i < end; ++i) { - this[i] = val - } + if (i == textArray.length - 1) { + if (type == preWordType) { + InlineString.ff = ff; + InlineString.v = wordText + w; } else { - var bytes = Buffer.isBuffer(val) ? val : utf8ToBytes(new Buffer(val,encoding).toString()) - var len = bytes.length - for (i = 0; i < end - start; ++i) { - this[i + start] = bytes[i % len] - } - } - - return this + InlineString.ff = preWholef; + InlineString.v = wordText; + cellFormat.s.push(InlineString); + var InlineStringLast = new LuckyBase_1.LuckyInlineString(); + InlineStringLast.ff = ff; + InlineStringLast.v = w; + + if (cellValue.fc != null) { + InlineStringLast.fc = cellValue.fc; + } + + if (cellValue.fs != null) { + InlineStringLast.fs = cellValue.fs; + } + + if (cellValue.cl != null) { + InlineStringLast.cl = cellValue.cl; + } + + if (cellValue.un != null) { + InlineStringLast.un = cellValue.un; + } + + if (cellValue.bl != null) { + InlineStringLast.bl = cellValue.bl; + } + + if (cellValue.it != null) { + InlineStringLast.it = cellValue.it; + } + + cellFormat.s.push(InlineStringLast); + break; + } + } else { + InlineString.v = wordText; + } + + cellFormat.s.push(InlineString); + wordText = w; + } else { + wordText += w; } - // HELPER FUNCTIONS - // ================ + preWordType = type; + preWholef = ff; + } - var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g + cellFormat.t = "inlineStr"; // cellFormat.s = [InlineString]; - function base64clean(str) { - // Node strips out invalid characters like \n and \t from the string, base64-js does not - str = stringtrim(str).replace(INVALID_BASE64_RE, '') - // Node converts strings with length < 2 to '' - if (str.length < 2) - return '' - // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not - while (str.length % 4 !== 0) { - str = str + '=' - } - return str - } + cellValue.ct = cellFormat; // console.log(cellValue); + } else { + text_1 = this.replaceSpecialWrap(text_1); - function stringtrim(str) { - if (str.trim) - return str.trim() - return str.replace(/^\s+|\s+$/g, '') - } + if (text_1.indexOf("\r\n") > -1 || text_1.indexOf("\n") > -1) { + var InlineString = new LuckyBase_1.LuckyInlineString(); + InlineString.v = text_1; + var cellFormat = cellValue.ct; - function toHex(n) { - if (n < 16) - return '0' + n.toString(16) - return n.toString(16) + if (cellFormat == null) { + cellFormat = new LuckyBase_1.LuckySheetCellFormat(); } - function utf8ToBytes(string, units) { - units = units || Infinity - var codePoint - var length = string.length - var leadSurrogate = null - var bytes = [] - - for (var i = 0; i < length; ++i) { - codePoint = string.charCodeAt(i) - - // is surrogate component - if (codePoint > 0xD7FF && codePoint < 0xE000) { - // last char was a lead - if (!leadSurrogate) { - // no lead yet - if (codePoint > 0xDBFF) { - // unexpected trail - if ((units -= 3) > -1) - bytes.push(0xEF, 0xBF, 0xBD) - continue - } else if (i + 1 === length) { - // unpaired lead - if ((units -= 3) > -1) - bytes.push(0xEF, 0xBF, 0xBD) - continue - } - - // valid lead - leadSurrogate = codePoint - - continue - } - - // 2 leads in a row - if (codePoint < 0xDC00) { - if ((units -= 3) > -1) - bytes.push(0xEF, 0xBF, 0xBD) - leadSurrogate = codePoint - continue - } - - // valid surrogate pair - codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000 - } else if (leadSurrogate) { - // valid bmp char, but last char was a lead - if ((units -= 3) > -1) - bytes.push(0xEF, 0xBF, 0xBD) - } - - leadSurrogate = null - - // encode utf8 - if (codePoint < 0x80) { - if ((units -= 1) < 0) - break - bytes.push(codePoint) - } else if (codePoint < 0x800) { - if ((units -= 2) < 0) - break - bytes.push(codePoint >> 0x6 | 0xC0, codePoint & 0x3F | 0x80) - } else if (codePoint < 0x10000) { - if ((units -= 3) < 0) - break - bytes.push(codePoint >> 0xC | 0xE0, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80) - } else if (codePoint < 0x110000) { - if ((units -= 4) < 0) - break - bytes.push(codePoint >> 0x12 | 0xF0, codePoint >> 0xC & 0x3F | 0x80, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80) - } else { - throw new Error('Invalid code point') - } - } - - return bytes + if (cellValue.ff != null) { + InlineString.ff = cellValue.ff; } - function asciiToBytes(str) { - var byteArray = [] - for (var i = 0; i < str.length; ++i) { - // Node's code seems to be doing this and not & 0x7F.. - byteArray.push(str.charCodeAt(i) & 0xFF) - } - return byteArray + if (cellValue.fc != null) { + InlineString.fc = cellValue.fc; } - function utf16leToBytes(str, units) { - var c, hi, lo - var byteArray = [] - for (var i = 0; i < str.length; ++i) { - if ((units -= 2) < 0) - break - - c = str.charCodeAt(i) - hi = c >> 8 - lo = c % 256 - byteArray.push(lo) - byteArray.push(hi) - } + if (cellValue.fs != null) { + InlineString.fs = cellValue.fs; + } - return byteArray + if (cellValue.cl != null) { + InlineString.cl = cellValue.cl; } - function base64ToBytes(str) { - return base64.toByteArray(base64clean(str)) + if (cellValue.un != null) { + InlineString.un = cellValue.un; } - function blitBuffer(src, dst, offset, length) { - for (var i = 0; i < length; ++i) { - if ((i + offset >= dst.length) || (i >= src.length)) - break - dst[i + offset] = src[i] - } - return i + if (cellValue.bl != null) { + InlineString.bl = cellValue.bl; } - function isnan(val) { - return val !== val - // eslint-disable-line no-self-compare + if (cellValue.it != null) { + InlineString.it = cellValue.it; } + cellFormat.t = "inlineStr"; + cellFormat.s = [InlineString]; + cellValue.ct = cellFormat; + } else { + cellValue.v = text_1; + quotePrefix = "1"; + } + } + } + } else { + var styles_1 = []; + rFlag.forEach(function (r) { + var tFlag = r.getInnerElements("t"); + var rPr = r.getInnerElements("rPr"); + var InlineString = new LuckyBase_1.LuckyInlineString(); + + if (tFlag != null && tFlag.length > 0) { + var text = tFlag[0].value; + text = _this.replaceSpecialWrap(text); + text = method_1.escapeCharacter(text); + InlineString.v = text; } - ).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}, require("buffer").Buffer) - } - , { - "base64-js": 1, - "buffer": 2, - "ieee754": 4, - "isarray": 5 - }], - 3: [function(require, module, exports) { - !function(t, e) { - "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : (t = "undefined" != typeof globalThis ? globalThis : t || self).dayjs = e() - }(this, (function() { - "use strict"; - var t = 1e3 - , e = 6e4 - , n = 36e5 - , r = "millisecond" - , i = "second" - , s = "minute" - , u = "hour" - , a = "day" - , o = "week" - , f = "month" - , h = "quarter" - , c = "year" - , d = "date" - , $ = "Invalid Date" - , l = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/ - , y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g - , M = { - name: "en", - weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), - months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_") - } - , m = function(t, e, n) { - var r = String(t); - return !r || r.length >= e ? t : "" + Array(e + 1 - r.length).join(n) + t - } - , g = { - s: m, - z: function(t) { - var e = -t.utcOffset() - , n = Math.abs(e) - , r = Math.floor(n / 60) - , i = n % 60; - return (e <= 0 ? "+" : "-") + m(r, 2, "0") + ":" + m(i, 2, "0") - }, - m: function t(e, n) { - if (e.date() < n.date()) - return -t(n, e); - var r = 12 * (n.year() - e.year()) + (n.month() - e.month()) - , i = e.clone().add(r, f) - , s = n - i < 0 - , u = e.clone().add(r + (s ? -1 : 1), f); - return +(-(r + (n - i) / (s ? i - u : u - i)) || 0) - }, - a: function(t) { - return t < 0 ? Math.ceil(t) || 0 : Math.floor(t) - }, - p: function(t) { - return { - M: f, - y: c, - w: o, - d: a, - D: d, - h: u, - m: s, - s: i, - ms: r, - Q: h - }[t] || String(t || "").toLowerCase().replace(/s$/, "") - }, - u: function(t) { - return void 0 === t - } - } - , D = "en" - , v = {}; - v[D] = M; - var p = function(t) { - return t instanceof _ - } - , S = function(t, e, n) { - var r; - if (!t) - return D; - if ("string" == typeof t) - v[t] && (r = t), - e && (v[t] = e, - r = t); - else { - var i = t.name; - v[i] = t, - r = i - } - return !n && r && (D = r), - r || !n && D - } - , w = function(t, e) { - if (p(t)) - return t.clone(); - var n = "object" == typeof e ? e : {}; - return n.date = t, - n.args = arguments, - new _(n) - } - , O = g; - O.l = S, - O.i = p, - O.w = function(t, e) { - return w(t, { - locale: e.$L, - utc: e.$u, - x: e.$x, - $offset: e.$offset - }) - } - ; - var _ = function() { - function M(t) { - this.$L = S(t.locale, null, !0), - this.parse(t) - } - var m = M.prototype; - return m.parse = function(t) { - this.$d = function(t) { - var e = t.date - , n = t.utc; - if (null === e) - return new Date(NaN); - if (O.u(e)) - return new Date; - if (e instanceof Date) - return new Date(e); - if ("string" == typeof e && !/Z$/i.test(e)) { - var r = e.match(l); - if (r) { - var i = r[2] - 1 || 0 - , s = (r[7] || "0").substring(0, 3); - return n ? new Date(Date.UTC(r[1], i, r[3] || 1, r[4] || 0, r[5] || 0, r[6] || 0, s)) : new Date(r[1],i,r[3] || 1,r[4] || 0,r[5] || 0,r[6] || 0,s) - } - } - return new Date(e) - }(t), - this.$x = t.x || {}, - this.init() - } - , - m.init = function() { - var t = this.$d; - this.$y = t.getFullYear(), - this.$M = t.getMonth(), - this.$D = t.getDate(), - this.$W = t.getDay(), - this.$H = t.getHours(), - this.$m = t.getMinutes(), - this.$s = t.getSeconds(), - this.$ms = t.getMilliseconds() - } - , - m.$utils = function() { - return O - } - , - m.isValid = function() { - return !(this.$d.toString() === $) - } - , - m.isSame = function(t, e) { - var n = w(t); - return this.startOf(e) <= n && n <= this.endOf(e) - } - , - m.isAfter = function(t, e) { - return w(t) < this.startOf(e) - } - , - m.isBefore = function(t, e) { - return this.endOf(e) < w(t) - } - , - m.$g = function(t, e, n) { - return O.u(t) ? this[e] : this.set(n, t) - } - , - m.unix = function() { - return Math.floor(this.valueOf() / 1e3) - } - , - m.valueOf = function() { - return this.$d.getTime() - } - , - m.startOf = function(t, e) { - var n = this - , r = !!O.u(e) || e - , h = O.p(t) - , $ = function(t, e) { - var i = O.w(n.$u ? Date.UTC(n.$y, e, t) : new Date(n.$y,e,t), n); - return r ? i : i.endOf(a) - } - , l = function(t, e) { - return O.w(n.toDate()[t].apply(n.toDate("s"), (r ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e)), n) - } - , y = this.$W - , M = this.$M - , m = this.$D - , g = "set" + (this.$u ? "UTC" : ""); - switch (h) { - case c: - return r ? $(1, 0) : $(31, 11); - case f: - return r ? $(1, M) : $(0, M + 1); - case o: - var D = this.$locale().weekStart || 0 - , v = (y < D ? y + 7 : y) - D; - return $(r ? m - v : m + (6 - v), M); - case a: - case d: - return l(g + "Hours", 0); - case u: - return l(g + "Minutes", 1); - case s: - return l(g + "Seconds", 2); - case i: - return l(g + "Milliseconds", 3); - default: - return this.clone() - } - } - , - m.endOf = function(t) { - return this.startOf(t, !1) - } - , - m.$set = function(t, e) { - var n, o = O.p(t), h = "set" + (this.$u ? "UTC" : ""), $ = (n = {}, - n[a] = h + "Date", - n[d] = h + "Date", - n[f] = h + "Month", - n[c] = h + "FullYear", - n[u] = h + "Hours", - n[s] = h + "Minutes", - n[i] = h + "Seconds", - n[r] = h + "Milliseconds", - n)[o], l = o === a ? this.$D + (e - this.$W) : e; - if (o === f || o === c) { - var y = this.clone().set(d, 1); - y.$d[$](l), - y.init(), - this.$d = y.set(d, Math.min(this.$D, y.daysInMonth())).$d - } else - $ && this.$d[$](l); - return this.init(), - this - } - , - m.set = function(t, e) { - return this.clone().$set(t, e) - } - , - m.get = function(t) { - return this[O.p(t)]() - } - , - m.add = function(r, h) { - var d, $ = this; - r = Number(r); - var l = O.p(h) - , y = function(t) { - var e = w($); - return O.w(e.date(e.date() + Math.round(t * r)), $) - }; - if (l === f) - return this.set(f, this.$M + r); - if (l === c) - return this.set(c, this.$y + r); - if (l === a) - return y(1); - if (l === o) - return y(7); - var M = (d = {}, - d[s] = e, - d[u] = n, - d[i] = t, - d)[l] || 1 - , m = this.$d.getTime() + r * M; - return O.w(m, this) - } - , - m.subtract = function(t, e) { - return this.add(-1 * t, e) - } - , - m.format = function(t) { - var e = this - , n = this.$locale(); - if (!this.isValid()) - return n.invalidDate || $; - var r = t || "YYYY-MM-DDTHH:mm:ssZ" - , i = O.z(this) - , s = this.$H - , u = this.$m - , a = this.$M - , o = n.weekdays - , f = n.months - , h = function(t, n, i, s) { - return t && (t[n] || t(e, r)) || i[n].substr(0, s) - } - , c = function(t) { - return O.s(s % 12 || 12, t, "0") - } - , d = n.meridiem || function(t, e, n) { - var r = t < 12 ? "AM" : "PM"; - return n ? r.toLowerCase() : r - } - , l = { - YY: String(this.$y).slice(-2), - YYYY: this.$y, - M: a + 1, - MM: O.s(a + 1, 2, "0"), - MMM: h(n.monthsShort, a, f, 3), - MMMM: h(f, a), - D: this.$D, - DD: O.s(this.$D, 2, "0"), - d: String(this.$W), - dd: h(n.weekdaysMin, this.$W, o, 2), - ddd: h(n.weekdaysShort, this.$W, o, 3), - dddd: o[this.$W], - H: String(s), - HH: O.s(s, 2, "0"), - h: c(1), - hh: c(2), - a: d(s, u, !0), - A: d(s, u, !1), - m: String(u), - mm: O.s(u, 2, "0"), - s: String(this.$s), - ss: O.s(this.$s, 2, "0"), - SSS: O.s(this.$ms, 3, "0"), - Z: i - }; - return r.replace(y, (function(t, e) { - return e || l[t] || i.replace(":", "") - } - )) - } - , - m.utcOffset = function() { - return 15 * -Math.round(this.$d.getTimezoneOffset() / 15) - } - , - m.diff = function(r, d, $) { - var l, y = O.p(d), M = w(r), m = (M.utcOffset() - this.utcOffset()) * e, g = this - M, D = O.m(this, M); - return D = (l = {}, - l[c] = D / 12, - l[f] = D, - l[h] = D / 3, - l[o] = (g - m) / 6048e5, - l[a] = (g - m) / 864e5, - l[u] = g / n, - l[s] = g / e, - l[i] = g / t, - l)[y] || g, - $ ? D : O.a(D) - } - , - m.daysInMonth = function() { - return this.endOf(f).$D - } - , - m.$locale = function() { - return v[this.$L] - } - , - m.locale = function(t, e) { - if (!t) - return this.$L; - var n = this.clone() - , r = S(t, e, !0); - return r && (n.$L = r), - n - } - , - m.clone = function() { - return O.w(this.$d, this) - } - , - m.toDate = function() { - return new Date(this.valueOf()) - } - , - m.toJSON = function() { - return this.isValid() ? this.toISOString() : null - } - , - m.toISOString = function() { - return this.$d.toISOString() - } - , - m.toString = function() { - return this.$d.toUTCString() - } - , - M - }() - , b = _.prototype; - return w.prototype = b, - [["$ms", r], ["$s", i], ["$m", s], ["$H", u], ["$W", a], ["$M", f], ["$y", c], ["$D", d]].forEach((function(t) { - b[t[1]] = function(e) { - return this.$g(e, t[0], t[1]) - } - } - )), - w.extend = function(t, e) { - return t.$i || (t(e, _, w), - t.$i = !0), - w - } - , - w.locale = S, - w.isDayjs = p, - w.unix = function(t) { - return w(1e3 * t) - } - , - w.en = v[D], - w.Ls = v, - w.p = {}, - w + if (rPr != null && rPr.length > 0) { + var frpr = rPr[0]; + var sz = ReadXml_1.getlineStringAttr(frpr, "sz"), + rFont = ReadXml_1.getlineStringAttr(frpr, "rFont"), + family = ReadXml_1.getlineStringAttr(frpr, "family"), + charset = ReadXml_1.getlineStringAttr(frpr, "charset"), + scheme = ReadXml_1.getlineStringAttr(frpr, "scheme"), + b = ReadXml_1.getlineStringAttr(frpr, "b"), + i = ReadXml_1.getlineStringAttr(frpr, "i"), + u = ReadXml_1.getlineStringAttr(frpr, "u"), + strike = ReadXml_1.getlineStringAttr(frpr, "strike"), + vertAlign = ReadXml_1.getlineStringAttr(frpr, "vertAlign"), + color = void 0; + var cEle = frpr.getInnerElements("color"); + + if (cEle != null && cEle.length > 0) { + color = ReadXml_1.getColor(cEle[0], _this.styles, "t"); + } + + var ff = void 0; // if(family!=null){ + // ff = fontFamilys[family]; + // } + + if (rFont != null) { + ff = rFont; + } + + if (ff != null) { + InlineString.ff = ff; + } else if (cellValue.ff != null) { + InlineString.ff = cellValue.ff; + } + + if (color != null) { + InlineString.fc = color; + } else if (cellValue.fc != null) { + InlineString.fc = cellValue.fc; + } + + if (sz != null) { + InlineString.fs = parseInt(sz); + } else if (cellValue.fs != null) { + InlineString.fs = cellValue.fs; + } + + if (strike != null) { + InlineString.cl = parseInt(strike); + } else if (cellValue.cl != null) { + InlineString.cl = cellValue.cl; + } + + if (u != null) { + InlineString.un = parseInt(u); + } else if (cellValue.un != null) { + InlineString.un = cellValue.un; + } + + if (b != null) { + InlineString.bl = parseInt(b); + } else if (cellValue.bl != null) { + InlineString.bl = cellValue.bl; + } + + if (i != null) { + InlineString.it = parseInt(i); + } else if (cellValue.it != null) { + InlineString.it = cellValue.it; + } + + if (vertAlign != null) { + InlineString.va = parseInt(vertAlign); + } // ff:string | undefined //font family + // fc:string | undefined//font color + // fs:number | undefined//font size + // cl:number | undefined//strike + // un:number | undefined//underline + // bl:number | undefined//blod + // it:number | undefined//italic + // v:string | undefined + + } else { + if (InlineString.ff == null && cellValue.ff != null) { + InlineString.ff = cellValue.ff; + } + + if (InlineString.fc == null && cellValue.fc != null) { + InlineString.fc = cellValue.fc; + } + + if (InlineString.fs == null && cellValue.fs != null) { + InlineString.fs = cellValue.fs; + } + + if (InlineString.cl == null && cellValue.cl != null) { + InlineString.cl = cellValue.cl; + } + + if (InlineString.un == null && cellValue.un != null) { + InlineString.un = cellValue.un; + } + + if (InlineString.bl == null && cellValue.bl != null) { + InlineString.bl = cellValue.bl; + } + + if (InlineString.it == null && cellValue.it != null) { + InlineString.it = cellValue.it; + } } - )); + + styles_1.push(InlineString); + }); + var cellFormat = cellValue.ct; + + if (cellFormat == null) { + cellFormat = new LuckyBase_1.LuckySheetCellFormat(); + } + + cellFormat.t = "inlineStr"; + cellFormat.s = styles_1; + cellValue.ct = cellFormat; } - , {}], - 4: [function(require, module, exports) { - /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ - exports.read = function(buffer, offset, isLE, mLen, nBytes) { - var e, m - var eLen = (nBytes * 8) - mLen - 1 - var eMax = (1 << eLen) - 1 - var eBias = eMax >> 1 - var nBits = -7 - var i = isLE ? (nBytes - 1) : 0 - var d = isLE ? -1 : 1 - var s = buffer[offset + i] - - i += d - - e = s & ((1 << (-nBits)) - 1) - s >>= (-nBits) - nBits += eLen - for (; nBits > 0; e = (e * 256) + buffer[offset + i], - i += d, - nBits -= 8) {} - - m = e & ((1 << (-nBits)) - 1) - e >>= (-nBits) - nBits += mLen - for (; nBits > 0; m = (m * 256) + buffer[offset + i], - i += d, - nBits -= 8) {} - - if (e === 0) { - e = 1 - eBias - } else if (e === eMax) { - return m ? NaN : ((s ? -1 : 1) * Infinity) - } else { - m = m + Math.pow(2, mLen) - e = e - eBias - } - return (s ? -1 : 1) * m * Math.pow(2, e - mLen) - } + } // to be confirmed + else if (t == constant_1.ST_CellType["InlineString"] && v != null) { + cellValue.v = "'" + value; + } else { + value = method_1.escapeCharacter(value); + cellValue.v = value; + } + } - exports.write = function(buffer, value, offset, isLE, mLen, nBytes) { - var e, m, c - var eLen = (nBytes * 8) - mLen - 1 - var eMax = (1 << eLen) - 1 - var eBias = eMax >> 1 - var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0) - var i = isLE ? 0 : (nBytes - 1) - var d = isLE ? 1 : -1 - var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0 - - value = Math.abs(value) - - if (isNaN(value) || value === Infinity) { - m = isNaN(value) ? 1 : 0 - e = eMax - } else { - e = Math.floor(Math.log(value) / Math.LN2) - if (value * (c = Math.pow(2, -e)) < 1) { - e-- - c *= 2 - } - if (e + eBias >= 1) { - value += rt / c - } else { - value += rt * Math.pow(2, 1 - eBias) - } - if (value * c >= 2) { - e++ - c /= 2 - } + if (quotePrefix != null) { + cellValue.qp = parseInt(quotePrefix); + } - if (e + eBias >= eMax) { - m = 0 - e = eMax - } else if (e + eBias >= 1) { - m = ((value * c) - 1) * Math.pow(2, mLen) - e = e + eBias - } else { - m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen) - e = 0 - } - } + return cellValue; + }; - for (; mLen >= 8; buffer[offset + i] = m & 0xff, - i += d, - m /= 256, - mLen -= 8) {} + LuckySheetCelldata.prototype.replaceSpecialWrap = function (text) { + text = text.replace(/_x000D_/g, "").replace(/ /g, "\r\n").replace(/ /g, "\r").replace(/ /g, "\n"); + return text; + }; - e = (e << mLen) | m - eLen += mLen - for (; eLen > 0; buffer[offset + i] = e & 0xff, - i += d, - e /= 256, - eLen -= 8) {} + LuckySheetCelldata.prototype.getBackgroundByFill = function (fill, clrScheme) { + var patternFills = fill.getInnerElements("patternFill"); - buffer[offset + i - d] |= s * 128 - } + if (patternFills != null) { + var patternFill = patternFills[0]; + var fgColors = patternFill.getInnerElements("fgColor"); + var bgColors = patternFill.getInnerElements("bgColor"); + var fg = void 0, + bg = void 0; - } - , {}], - 5: [function(require, module, exports) { - var toString = {}.toString; + if (fgColors != null) { + var fgColor = fgColors[0]; + fg = ReadXml_1.getColor(fgColor, this.styles); + } - module.exports = Array.isArray || function(arr) { - return toString.call(arr) == '[object Array]'; - } - ; + if (bgColors != null) { + var bgColor = bgColors[0]; + bg = ReadXml_1.getColor(bgColor, this.styles); + } // console.log(fgColors,bgColors,clrScheme); - } - , {}], - 6: [function(require, module, exports) { - (function(process, global, Buffer, __argument0, __argument1, __argument2, __argument3, setImmediate) { - /*! -JSZip v3.10.1 - A JavaScript class for generating and reading zip files - + if (fg != null) { + return fg; + } else if (bg != null) { + return bg; + } + } else { + var gradientfills = fill.getInnerElements("gradientFill"); -(c) 2009-2016 Stuart Knightley -Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown. + if (gradientfills != null) { + //graient color fill handler + return null; + } + } + }; -JSZip uses the library pako released under the MIT license : -https://github.com/nodeca/pako/blob/main/LICENSE -*/ + LuckySheetCelldata.prototype.getBorderInfo = function (borders) { + if (borders == null) { + return null; + } - !function(e) { - if ("object" == typeof exports && "undefined" != typeof module) - module.exports = e(); - else if ("function" == typeof define && define.amd) - define([], e); - else { - ("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).JSZip = e() - } - }(function() { - return function s(a, o, h) { - function u(r, e) { - if (!o[r]) { - if (!a[r]) { - var t = "function" == typeof require && require; - if (!e && t) - return t(r, !0); - if (l) - return l(r, !0); - var n = new Error("Cannot find module '" + r + "'"); - throw n.code = "MODULE_NOT_FOUND", - n - } - var i = o[r] = { - exports: {} - }; - a[r][0].call(i.exports, function(e) { - var t = a[r][1][e]; - return u(t || e) - }, i, i.exports, s, a, o, h) - } - return o[r].exports - } - for (var l = "function" == typeof require && require, e = 0; e < h.length; e++) - u(h[e]); - return u - }({ - 1: [function(e, t, r) { - "use strict"; - var d = e("./utils") - , c = e("./support") - , p = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; - r.encode = function(e) { - for (var t, r, n, i, s, a, o, h = [], u = 0, l = e.length, f = l, c = "string" !== d.getTypeOf(e); u < e.length; ) - f = l - u, - n = c ? (t = e[u++], - r = u < l ? e[u++] : 0, - u < l ? e[u++] : 0) : (t = e.charCodeAt(u++), - r = u < l ? e.charCodeAt(u++) : 0, - u < l ? e.charCodeAt(u++) : 0), - i = t >> 2, - s = (3 & t) << 4 | r >> 4, - a = 1 < f ? (15 & r) << 2 | n >> 6 : 64, - o = 2 < f ? 63 & n : 64, - h.push(p.charAt(i) + p.charAt(s) + p.charAt(a) + p.charAt(o)); - return h.join("") - } - , - r.decode = function(e) { - var t, r, n, i, s, a, o = 0, h = 0, u = "data:"; - if (e.substr(0, u.length) === u) - throw new Error("Invalid base64 input, it looks like a data url."); - var l, f = 3 * (e = e.replace(/[^A-Za-z0-9+/=]/g, "")).length / 4; - if (e.charAt(e.length - 1) === p.charAt(64) && f--, - e.charAt(e.length - 2) === p.charAt(64) && f--, - f % 1 != 0) - throw new Error("Invalid base64 input, bad content length."); - for (l = c.uint8array ? new Uint8Array(0 | f) : new Array(0 | f); o < e.length; ) - t = p.indexOf(e.charAt(o++)) << 2 | (i = p.indexOf(e.charAt(o++))) >> 4, - r = (15 & i) << 4 | (s = p.indexOf(e.charAt(o++))) >> 2, - n = (3 & s) << 6 | (a = p.indexOf(e.charAt(o++))), - l[h++] = t, - 64 !== s && (l[h++] = r), - 64 !== a && (l[h++] = n); - return l - } - } - , { - "./support": 30, - "./utils": 32 - }], - 2: [function(e, t, r) { - "use strict"; - var n = e("./external") - , i = e("./stream/DataWorker") - , s = e("./stream/Crc32Probe") - , a = e("./stream/DataLengthProbe"); - function o(e, t, r, n, i) { - this.compressedSize = e, - this.uncompressedSize = t, - this.crc32 = r, - this.compression = n, - this.compressedContent = i - } - o.prototype = { - getContentWorker: function() { - var e = new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")) - , t = this; - return e.on("end", function() { - if (this.streamInfo.data_length !== t.uncompressedSize) - throw new Error("Bug : uncompressed data size mismatch") - }), - e - }, - getCompressedWorker: function() { - return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize", this.compressedSize).withStreamInfo("uncompressedSize", this.uncompressedSize).withStreamInfo("crc32", this.crc32).withStreamInfo("compression", this.compression) - } - }, - o.createWorkerFrom = function(e, t, r) { - return e.pipe(new s).pipe(new a("uncompressedSize")).pipe(t.compressWorker(r)).pipe(new a("compressedSize")).withStreamInfo("compression", t) - } - , - t.exports = o - } - , { - "./external": 6, - "./stream/Crc32Probe": 25, - "./stream/DataLengthProbe": 26, - "./stream/DataWorker": 27 - }], - 3: [function(e, t, r) { - "use strict"; - var n = e("./stream/GenericWorker"); - r.STORE = { - magic: "\0\0", - compressWorker: function() { - return new n("STORE compression") - }, - uncompressWorker: function() { - return new n("STORE decompression") - } - }, - r.DEFLATE = e("./flate") - } - , { - "./flate": 7, - "./stream/GenericWorker": 28 - }], - 4: [function(e, t, r) { - "use strict"; - var n = e("./utils"); - var o = function() { - for (var e, t = [], r = 0; r < 256; r++) { - e = r; - for (var n = 0; n < 8; n++) - e = 1 & e ? 3988292384 ^ e >>> 1 : e >>> 1; - t[r] = e - } - return t - }(); - t.exports = function(e, t) { - return void 0 !== e && e.length ? "string" !== n.getTypeOf(e) ? function(e, t, r, n) { - var i = o - , s = n + r; - e ^= -1; - for (var a = n; a < s; a++) - e = e >>> 8 ^ i[255 & (e ^ t[a])]; - return -1 ^ e - }(0 | t, e, e.length, 0) : function(e, t, r, n) { - var i = o - , s = n + r; - e ^= -1; - for (var a = n; a < s; a++) - e = e >>> 8 ^ i[255 & (e ^ t.charCodeAt(a))]; - return -1 ^ e - }(0 | t, e, e.length, 0) : 0 - } - } - , { - "./utils": 32 - }], - 5: [function(e, t, r) { - "use strict"; - r.base64 = !1, - r.binary = !1, - r.dir = !1, - r.createFolders = !0, - r.date = null, - r.compression = null, - r.compressionOptions = null, - r.comment = null, - r.unixPermissions = null, - r.dosPermissions = null - } - , {}], - 6: [function(e, t, r) { - "use strict"; - var n = null; - n = "undefined" != typeof Promise ? Promise : e("lie"), - t.exports = { - Promise: n - } - } - , { - lie: 37 - }], - 7: [function(e, t, r) { - "use strict"; - var n = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Uint32Array - , i = e("pako") - , s = e("./utils") - , a = e("./stream/GenericWorker") - , o = n ? "uint8array" : "array"; - function h(e, t) { - a.call(this, "FlateWorker/" + e), - this._pako = null, - this._pakoAction = e, - this._pakoOptions = t, - this.meta = {} - } - r.magic = "\b\0", - s.inherits(h, a), - h.prototype.processChunk = function(e) { - this.meta = e.meta, - null === this._pako && this._createPako(), - this._pako.push(s.transformTo(o, e.data), !1) - } - , - h.prototype.flush = function() { - a.prototype.flush.call(this), - null === this._pako && this._createPako(), - this._pako.push([], !0) - } - , - h.prototype.cleanUp = function() { - a.prototype.cleanUp.call(this), - this._pako = null - } - , - h.prototype._createPako = function() { - this._pako = new i[this._pakoAction]({ - raw: !0, - level: this._pakoOptions.level || -1 - }); - var t = this; - this._pako.onData = function(e) { - t.push({ - data: e, - meta: t.meta - }) - } - } - , - r.compressWorker = function(e) { - return new h("Deflate",e) - } - , - r.uncompressWorker = function() { - return new h("Inflate",{}) - } - } - , { - "./stream/GenericWorker": 28, - "./utils": 32, - pako: 38 - }], - 8: [function(e, t, r) { - "use strict"; - function A(e, t) { - var r, n = ""; - for (r = 0; r < t; r++) - n += String.fromCharCode(255 & e), - e >>>= 8; - return n - } - function n(e, t, r, n, i, s) { - var a, o, h = e.file, u = e.compression, l = s !== O.utf8encode, f = I.transformTo("string", s(h.name)), c = I.transformTo("string", O.utf8encode(h.name)), d = h.comment, p = I.transformTo("string", s(d)), m = I.transformTo("string", O.utf8encode(d)), _ = c.length !== h.name.length, g = m.length !== d.length, b = "", v = "", y = "", w = h.dir, k = h.date, x = { - crc32: 0, - compressedSize: 0, - uncompressedSize: 0 - }; - t && !r || (x.crc32 = e.crc32, - x.compressedSize = e.compressedSize, - x.uncompressedSize = e.uncompressedSize); - var S = 0; - t && (S |= 8), - l || !_ && !g || (S |= 2048); - var z = 0 - , C = 0; - w && (z |= 16), - "UNIX" === i ? (C = 798, - z |= function(e, t) { - var r = e; - return e || (r = t ? 16893 : 33204), - (65535 & r) << 16 - }(h.unixPermissions, w)) : (C = 20, - z |= function(e) { - return 63 & (e || 0) - }(h.dosPermissions)), - a = k.getUTCHours(), - a <<= 6, - a |= k.getUTCMinutes(), - a <<= 5, - a |= k.getUTCSeconds() / 2, - o = k.getUTCFullYear() - 1980, - o <<= 4, - o |= k.getUTCMonth() + 1, - o <<= 5, - o |= k.getUTCDate(), - _ && (v = A(1, 1) + A(B(f), 4) + c, - b += "up" + A(v.length, 2) + v), - g && (y = A(1, 1) + A(B(p), 4) + m, - b += "uc" + A(y.length, 2) + y); - var E = ""; - return E += "\n\0", - E += A(S, 2), - E += u.magic, - E += A(a, 2), - E += A(o, 2), - E += A(x.crc32, 4), - E += A(x.compressedSize, 4), - E += A(x.uncompressedSize, 4), - E += A(f.length, 2), - E += A(b.length, 2), - { - fileRecord: R.LOCAL_FILE_HEADER + E + f + b, - dirRecord: R.CENTRAL_FILE_HEADER + A(C, 2) + E + A(p.length, 2) + "\0\0\0\0" + A(z, 4) + A(n, 4) + f + b + p - } - } - var I = e("../utils") - , i = e("../stream/GenericWorker") - , O = e("../utf8") - , B = e("../crc32") - , R = e("../signature"); - function s(e, t, r, n) { - i.call(this, "ZipFileWorker"), - this.bytesWritten = 0, - this.zipComment = t, - this.zipPlatform = r, - this.encodeFileName = n, - this.streamFiles = e, - this.accumulate = !1, - this.contentBuffer = [], - this.dirRecords = [], - this.currentSourceOffset = 0, - this.entriesCount = 0, - this.currentFile = null, - this._sources = [] - } - I.inherits(s, i), - s.prototype.push = function(e) { - var t = e.meta.percent || 0 - , r = this.entriesCount - , n = this._sources.length; - this.accumulate ? this.contentBuffer.push(e) : (this.bytesWritten += e.data.length, - i.prototype.push.call(this, { - data: e.data, - meta: { - currentFile: this.currentFile, - percent: r ? (t + 100 * (r - n - 1)) / r : 100 - } - })) - } - , - s.prototype.openedSource = function(e) { - this.currentSourceOffset = this.bytesWritten, - this.currentFile = e.file.name; - var t = this.streamFiles && !e.file.dir; - if (t) { - var r = n(e, t, !1, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); - this.push({ - data: r.fileRecord, - meta: { - percent: 0 - } - }) - } else - this.accumulate = !0 - } - , - s.prototype.closedSource = function(e) { - this.accumulate = !1; - var t = this.streamFiles && !e.file.dir - , r = n(e, t, !0, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); - if (this.dirRecords.push(r.dirRecord), - t) - this.push({ - data: function(e) { - return R.DATA_DESCRIPTOR + A(e.crc32, 4) + A(e.compressedSize, 4) + A(e.uncompressedSize, 4) - }(e), - meta: { - percent: 100 - } - }); - else - for (this.push({ - data: r.fileRecord, - meta: { - percent: 0 - } - }); this.contentBuffer.length; ) - this.push(this.contentBuffer.shift()); - this.currentFile = null - } - , - s.prototype.flush = function() { - for (var e = this.bytesWritten, t = 0; t < this.dirRecords.length; t++) - this.push({ - data: this.dirRecords[t], - meta: { - percent: 100 - } - }); - var r = this.bytesWritten - e - , n = function(e, t, r, n, i) { - var s = I.transformTo("string", i(n)); - return R.CENTRAL_DIRECTORY_END + "\0\0\0\0" + A(e, 2) + A(e, 2) + A(t, 4) + A(r, 4) + A(s.length, 2) + s - }(this.dirRecords.length, r, e, this.zipComment, this.encodeFileName); - this.push({ - data: n, - meta: { - percent: 100 - } - }) - } - , - s.prototype.prepareNextSource = function() { - this.previous = this._sources.shift(), - this.openedSource(this.previous.streamInfo), - this.isPaused ? this.previous.pause() : this.previous.resume() - } - , - s.prototype.registerPrevious = function(e) { - this._sources.push(e); - var t = this; - return e.on("data", function(e) { - t.processChunk(e) - }), - e.on("end", function() { - t.closedSource(t.previous.streamInfo), - t._sources.length ? t.prepareNextSource() : t.end() - }), - e.on("error", function(e) { - t.error(e) - }), - this - } - , - s.prototype.resume = function() { - return !!i.prototype.resume.call(this) && (!this.previous && this._sources.length ? (this.prepareNextSource(), - !0) : this.previous || this._sources.length || this.generatedError ? void 0 : (this.end(), - !0)) - } - , - s.prototype.error = function(e) { - var t = this._sources; - if (!i.prototype.error.call(this, e)) - return !1; - for (var r = 0; r < t.length; r++) - try { - t[r].error(e) - } catch (e) {} - return !0 - } - , - s.prototype.lock = function() { - i.prototype.lock.call(this); - for (var e = this._sources, t = 0; t < e.length; t++) - e[t].lock() - } - , - t.exports = s - } - , { - "../crc32": 4, - "../signature": 23, - "../stream/GenericWorker": 28, - "../utf8": 31, - "../utils": 32 - }], - 9: [function(e, t, r) { - "use strict"; - var u = e("../compressions") - , n = e("./ZipFileWorker"); - r.generateWorker = function(e, a, t) { - var o = new n(a.streamFiles,t,a.platform,a.encodeFileName) - , h = 0; - try { - e.forEach(function(e, t) { - h++; - var r = function(e, t) { - var r = e || t - , n = u[r]; - if (!n) - throw new Error(r + " is not a valid compression method !"); - return n - }(t.options.compression, a.compression) - , n = t.options.compressionOptions || a.compressionOptions || {} - , i = t.dir - , s = t.date; - t._compressWorker(r, n).withStreamInfo("file", { - name: e, - dir: i, - date: s, - comment: t.comment || "", - unixPermissions: t.unixPermissions, - dosPermissions: t.dosPermissions - }).pipe(o) - }), - o.entriesCount = h - } catch (e) { - o.error(e) - } - return o - } - } - , { - "../compressions": 3, - "./ZipFileWorker": 8 - }], - 10: [function(e, t, r) { - "use strict"; - function n() { - if (!(this instanceof n)) - return new n; - if (arguments.length) - throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide."); - this.files = Object.create(null), - this.comment = null, - this.root = "", - this.clone = function() { - var e = new n; - for (var t in this) - "function" != typeof this[t] && (e[t] = this[t]); - return e - } - } - (n.prototype = e("./object")).loadAsync = e("./load"), - n.support = e("./support"), - n.defaults = e("./defaults"), - n.version = "3.10.1", - n.loadAsync = function(e, t) { - return (new n).loadAsync(e, t) - } - , - n.external = e("./external"), - t.exports = n - } - , { - "./defaults": 5, - "./external": 6, - "./load": 11, - "./object": 15, - "./support": 30 - }], - 11: [function(e, t, r) { - "use strict"; - var u = e("./utils") - , i = e("./external") - , n = e("./utf8") - , s = e("./zipEntries") - , a = e("./stream/Crc32Probe") - , l = e("./nodejsUtils"); - function f(n) { - return new i.Promise(function(e, t) { - var r = n.decompressed.getContentWorker().pipe(new a); - r.on("error", function(e) { - t(e) - }).on("end", function() { - r.streamInfo.crc32 !== n.decompressed.crc32 ? t(new Error("Corrupted zip : CRC32 mismatch")) : e() - }).resume() - } - ) - } - t.exports = function(e, o) { - var h = this; - return o = u.extend(o || {}, { - base64: !1, - checkCRC32: !1, - optimizedBinaryString: !1, - createFolders: !1, - decodeFileName: n.utf8decode - }), - l.isNode && l.isStream(e) ? i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")) : u.prepareContent("the loaded zip file", e, !0, o.optimizedBinaryString, o.base64).then(function(e) { - var t = new s(o); - return t.load(e), - t - }).then(function(e) { - var t = [i.Promise.resolve(e)] - , r = e.files; - if (o.checkCRC32) - for (var n = 0; n < r.length; n++) - t.push(f(r[n])); - return i.Promise.all(t) - }).then(function(e) { - for (var t = e.shift(), r = t.files, n = 0; n < r.length; n++) { - var i = r[n] - , s = i.fileNameStr - , a = u.resolve(i.fileNameStr); - h.file(a, i.decompressed, { - binary: !0, - optimizedBinaryString: !0, - date: i.date, - dir: i.dir, - comment: i.fileCommentStr.length ? i.fileCommentStr : null, - unixPermissions: i.unixPermissions, - dosPermissions: i.dosPermissions, - createFolders: o.createFolders - }), - i.dir || (h.file(a).unsafeOriginalName = s) - } - return t.zipComment.length && (h.comment = t.zipComment), - h - }) - } - } - , { - "./external": 6, - "./nodejsUtils": 14, - "./stream/Crc32Probe": 25, - "./utf8": 31, - "./utils": 32, - "./zipEntries": 33 - }], - 12: [function(e, t, r) { - "use strict"; - var n = e("../utils") - , i = e("../stream/GenericWorker"); - function s(e, t) { - i.call(this, "Nodejs stream input adapter for " + e), - this._upstreamEnded = !1, - this._bindStream(t) - } - n.inherits(s, i), - s.prototype._bindStream = function(e) { - var t = this; - (this._stream = e).pause(), - e.on("data", function(e) { - t.push({ - data: e, - meta: { - percent: 0 - } - }) - }).on("error", function(e) { - t.isPaused ? this.generatedError = e : t.error(e) - }).on("end", function() { - t.isPaused ? t._upstreamEnded = !0 : t.end() - }) - } - , - s.prototype.pause = function() { - return !!i.prototype.pause.call(this) && (this._stream.pause(), - !0) - } - , - s.prototype.resume = function() { - return !!i.prototype.resume.call(this) && (this._upstreamEnded ? this.end() : this._stream.resume(), - !0) - } - , - t.exports = s - } - , { - "../stream/GenericWorker": 28, - "../utils": 32 - }], - 13: [function(e, t, r) { - "use strict"; - var i = e("readable-stream").Readable; - function n(e, t, r) { - i.call(this, t), - this._helper = e; - var n = this; - e.on("data", function(e, t) { - n.push(e) || n._helper.pause(), - r && r(t) - }).on("error", function(e) { - n.emit("error", e) - }).on("end", function() { - n.push(null) - }) - } - e("../utils").inherits(n, i), - n.prototype._read = function() { - this._helper.resume() - } - , - t.exports = n - } - , { - "../utils": 32, - "readable-stream": 16 - }], - 14: [function(e, t, r) { - "use strict"; - t.exports = { - isNode: "undefined" != typeof Buffer, - newBufferFrom: function(e, t) { - if (Buffer.from && Buffer.from !== Uint8Array.from) - return Buffer.from(e, t); - if ("number" == typeof e) - throw new Error('The "data" argument must not be a number'); - return new Buffer(e,t) - }, - allocBuffer: function(e) { - if (Buffer.alloc) - return Buffer.alloc(e); - var t = new Buffer(e); - return t.fill(0), - t - }, - isBuffer: function(e) { - return Buffer.isBuffer(e) - }, - isStream: function(e) { - return e && "function" == typeof e.on && "function" == typeof e.pause && "function" == typeof e.resume - } - } - } - , {}], - 15: [function(e, t, r) { - "use strict"; - function s(e, t, r) { - var n, i = u.getTypeOf(t), s = u.extend(r || {}, f); - s.date = s.date || new Date, - null !== s.compression && (s.compression = s.compression.toUpperCase()), - "string" == typeof s.unixPermissions && (s.unixPermissions = parseInt(s.unixPermissions, 8)), - s.unixPermissions && 16384 & s.unixPermissions && (s.dir = !0), - s.dosPermissions && 16 & s.dosPermissions && (s.dir = !0), - s.dir && (e = g(e)), - s.createFolders && (n = _(e)) && b.call(this, n, !0); - var a = "string" === i && !1 === s.binary && !1 === s.base64; - r && void 0 !== r.binary || (s.binary = !a), - (t instanceof c && 0 === t.uncompressedSize || s.dir || !t || 0 === t.length) && (s.base64 = !1, - s.binary = !0, - t = "", - s.compression = "STORE", - i = "string"); - var o = null; - o = t instanceof c || t instanceof l ? t : p.isNode && p.isStream(t) ? new m(e,t) : u.prepareContent(e, t, s.binary, s.optimizedBinaryString, s.base64); - var h = new d(e,o,s); - this.files[e] = h - } - var i = e("./utf8") - , u = e("./utils") - , l = e("./stream/GenericWorker") - , a = e("./stream/StreamHelper") - , f = e("./defaults") - , c = e("./compressedObject") - , d = e("./zipObject") - , o = e("./generate") - , p = e("./nodejsUtils") - , m = e("./nodejs/NodejsStreamInputAdapter") - , _ = function(e) { - "/" === e.slice(-1) && (e = e.substring(0, e.length - 1)); - var t = e.lastIndexOf("/"); - return 0 < t ? e.substring(0, t) : "" - } - , g = function(e) { - return "/" !== e.slice(-1) && (e += "/"), - e - } - , b = function(e, t) { - return t = void 0 !== t ? t : f.createFolders, - e = g(e), - this.files[e] || s.call(this, e, null, { - dir: !0, - createFolders: t - }), - this.files[e] - }; - function h(e) { - return "[object RegExp]" === Object.prototype.toString.call(e) - } - var n = { - load: function() { - throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.") - }, - forEach: function(e) { - var t, r, n; - for (t in this.files) - n = this.files[t], - (r = t.slice(this.root.length, t.length)) && t.slice(0, this.root.length) === this.root && e(r, n) - }, - filter: function(r) { - var n = []; - return this.forEach(function(e, t) { - r(e, t) && n.push(t) - }), - n - }, - file: function(e, t, r) { - if (1 !== arguments.length) - return e = this.root + e, - s.call(this, e, t, r), - this; - if (h(e)) { - var n = e; - return this.filter(function(e, t) { - return !t.dir && n.test(e) - }) - } - var i = this.files[this.root + e]; - return i && !i.dir ? i : null - }, - folder: function(r) { - if (!r) - return this; - if (h(r)) - return this.filter(function(e, t) { - return t.dir && r.test(e) - }); - var e = this.root + r - , t = b.call(this, e) - , n = this.clone(); - return n.root = t.name, - n - }, - remove: function(r) { - r = this.root + r; - var e = this.files[r]; - if (e || ("/" !== r.slice(-1) && (r += "/"), - e = this.files[r]), - e && !e.dir) - delete this.files[r]; - else - for (var t = this.filter(function(e, t) { - return t.name.slice(0, r.length) === r - }), n = 0; n < t.length; n++) - delete this.files[t[n].name]; - return this - }, - generate: function() { - throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.") - }, - generateInternalStream: function(e) { - var t, r = {}; - try { - if ((r = u.extend(e || {}, { - streamFiles: !1, - compression: "STORE", - compressionOptions: null, - type: "", - platform: "DOS", - comment: null, - mimeType: "application/zip", - encodeFileName: i.utf8encode - })).type = r.type.toLowerCase(), - r.compression = r.compression.toUpperCase(), - "binarystring" === r.type && (r.type = "string"), - !r.type) - throw new Error("No output type specified."); - u.checkSupport(r.type), - "darwin" !== r.platform && "freebsd" !== r.platform && "linux" !== r.platform && "sunos" !== r.platform || (r.platform = "UNIX"), - "win32" === r.platform && (r.platform = "DOS"); - var n = r.comment || this.comment || ""; - t = o.generateWorker(this, r, n) - } catch (e) { - (t = new l("error")).error(e) - } - return new a(t,r.type || "string",r.mimeType) - }, - generateAsync: function(e, t) { - return this.generateInternalStream(e).accumulate(t) - }, - generateNodeStream: function(e, t) { - return (e = e || {}).type || (e.type = "nodebuffer"), - this.generateInternalStream(e).toNodejsStream(t) - } - }; - t.exports = n - } - , { - "./compressedObject": 2, - "./defaults": 5, - "./generate": 9, - "./nodejs/NodejsStreamInputAdapter": 12, - "./nodejsUtils": 14, - "./stream/GenericWorker": 28, - "./stream/StreamHelper": 29, - "./utf8": 31, - "./utils": 32, - "./zipObject": 35 - }], - 16: [function(e, t, r) { - "use strict"; - t.exports = e("stream") - } - , { - stream: void 0 - }], - 17: [function(e, t, r) { - "use strict"; - var n = e("./DataReader"); - function i(e) { - n.call(this, e); - for (var t = 0; t < this.data.length; t++) - e[t] = 255 & e[t] - } - e("../utils").inherits(i, n), - i.prototype.byteAt = function(e) { - return this.data[this.zero + e] - } - , - i.prototype.lastIndexOfSignature = function(e) { - for (var t = e.charCodeAt(0), r = e.charCodeAt(1), n = e.charCodeAt(2), i = e.charCodeAt(3), s = this.length - 4; 0 <= s; --s) - if (this.data[s] === t && this.data[s + 1] === r && this.data[s + 2] === n && this.data[s + 3] === i) - return s - this.zero; - return -1 - } - , - i.prototype.readAndCheckSignature = function(e) { - var t = e.charCodeAt(0) - , r = e.charCodeAt(1) - , n = e.charCodeAt(2) - , i = e.charCodeAt(3) - , s = this.readData(4); - return t === s[0] && r === s[1] && n === s[2] && i === s[3] - } - , - i.prototype.readData = function(e) { - if (this.checkOffset(e), - 0 === e) - return []; - var t = this.data.slice(this.zero + this.index, this.zero + this.index + e); - return this.index += e, - t - } - , - t.exports = i - } - , { - "../utils": 32, - "./DataReader": 18 - }], - 18: [function(e, t, r) { - "use strict"; - var n = e("../utils"); - function i(e) { - this.data = e, - this.length = e.length, - this.index = 0, - this.zero = 0 - } - i.prototype = { - checkOffset: function(e) { - this.checkIndex(this.index + e) - }, - checkIndex: function(e) { - if (this.length < this.zero + e || e < 0) - throw new Error("End of data reached (data length = " + this.length + ", asked index = " + e + "). Corrupted zip ?") - }, - setIndex: function(e) { - this.checkIndex(e), - this.index = e - }, - skip: function(e) { - this.setIndex(this.index + e) - }, - byteAt: function() {}, - readInt: function(e) { - var t, r = 0; - for (this.checkOffset(e), - t = this.index + e - 1; t >= this.index; t--) - r = (r << 8) + this.byteAt(t); - return this.index += e, - r - }, - readString: function(e) { - return n.transformTo("string", this.readData(e)) - }, - readData: function() {}, - lastIndexOfSignature: function() {}, - readAndCheckSignature: function() {}, - readDate: function() { - var e = this.readInt(4); - return new Date(Date.UTC(1980 + (e >> 25 & 127), (e >> 21 & 15) - 1, e >> 16 & 31, e >> 11 & 31, e >> 5 & 63, (31 & e) << 1)) - } - }, - t.exports = i - } - , { - "../utils": 32 - }], - 19: [function(e, t, r) { - "use strict"; - var n = e("./Uint8ArrayReader"); - function i(e) { - n.call(this, e) - } - e("../utils").inherits(i, n), - i.prototype.readData = function(e) { - this.checkOffset(e); - var t = this.data.slice(this.zero + this.index, this.zero + this.index + e); - return this.index += e, - t - } - , - t.exports = i - } - , { - "../utils": 32, - "./Uint8ArrayReader": 21 - }], - 20: [function(e, t, r) { - "use strict"; - var n = e("./DataReader"); - function i(e) { - n.call(this, e) - } - e("../utils").inherits(i, n), - i.prototype.byteAt = function(e) { - return this.data.charCodeAt(this.zero + e) - } - , - i.prototype.lastIndexOfSignature = function(e) { - return this.data.lastIndexOf(e) - this.zero - } - , - i.prototype.readAndCheckSignature = function(e) { - return e === this.readData(4) - } - , - i.prototype.readData = function(e) { - this.checkOffset(e); - var t = this.data.slice(this.zero + this.index, this.zero + this.index + e); - return this.index += e, - t - } - , - t.exports = i - } - , { - "../utils": 32, - "./DataReader": 18 - }], - 21: [function(e, t, r) { - "use strict"; - var n = e("./ArrayReader"); - function i(e) { - n.call(this, e) - } - e("../utils").inherits(i, n), - i.prototype.readData = function(e) { - if (this.checkOffset(e), - 0 === e) - return new Uint8Array(0); - var t = this.data.subarray(this.zero + this.index, this.zero + this.index + e); - return this.index += e, - t - } - , - t.exports = i - } - , { - "../utils": 32, - "./ArrayReader": 17 - }], - 22: [function(e, t, r) { - "use strict"; - var n = e("../utils") - , i = e("../support") - , s = e("./ArrayReader") - , a = e("./StringReader") - , o = e("./NodeBufferReader") - , h = e("./Uint8ArrayReader"); - t.exports = function(e) { - var t = n.getTypeOf(e); - return n.checkSupport(t), - "string" !== t || i.uint8array ? "nodebuffer" === t ? new o(e) : i.uint8array ? new h(n.transformTo("uint8array", e)) : new s(n.transformTo("array", e)) : new a(e) - } - } - , { - "../support": 30, - "../utils": 32, - "./ArrayReader": 17, - "./NodeBufferReader": 19, - "./StringReader": 20, - "./Uint8ArrayReader": 21 - }], - 23: [function(e, t, r) { - "use strict"; - r.LOCAL_FILE_HEADER = "PK", - r.CENTRAL_FILE_HEADER = "PK", - r.CENTRAL_DIRECTORY_END = "PK", - r.ZIP64_CENTRAL_DIRECTORY_LOCATOR = "PK", - r.ZIP64_CENTRAL_DIRECTORY_END = "PK", - r.DATA_DESCRIPTOR = "PK\b" - } - , {}], - 24: [function(e, t, r) { - "use strict"; - var n = e("./GenericWorker") - , i = e("../utils"); - function s(e) { - n.call(this, "ConvertWorker to " + e), - this.destType = e - } - i.inherits(s, n), - s.prototype.processChunk = function(e) { - this.push({ - data: i.transformTo(this.destType, e.data), - meta: e.meta - }) - } - , - t.exports = s - } - , { - "../utils": 32, - "./GenericWorker": 28 - }], - 25: [function(e, t, r) { - "use strict"; - var n = e("./GenericWorker") - , i = e("../crc32"); - function s() { - n.call(this, "Crc32Probe"), - this.withStreamInfo("crc32", 0) - } - e("../utils").inherits(s, n), - s.prototype.processChunk = function(e) { - this.streamInfo.crc32 = i(e.data, this.streamInfo.crc32 || 0), - this.push(e) - } - , - t.exports = s - } - , { - "../crc32": 4, - "../utils": 32, - "./GenericWorker": 28 - }], - 26: [function(e, t, r) { - "use strict"; - var n = e("../utils") - , i = e("./GenericWorker"); - function s(e) { - i.call(this, "DataLengthProbe for " + e), - this.propName = e, - this.withStreamInfo(e, 0) - } - n.inherits(s, i), - s.prototype.processChunk = function(e) { - if (e) { - var t = this.streamInfo[this.propName] || 0; - this.streamInfo[this.propName] = t + e.data.length - } - i.prototype.processChunk.call(this, e) - } - , - t.exports = s - } - , { - "../utils": 32, - "./GenericWorker": 28 - }], - 27: [function(e, t, r) { - "use strict"; - var n = e("../utils") - , i = e("./GenericWorker"); - function s(e) { - i.call(this, "DataWorker"); - var t = this; - this.dataIsReady = !1, - this.index = 0, - this.max = 0, - this.data = null, - this.type = "", - this._tickScheduled = !1, - e.then(function(e) { - t.dataIsReady = !0, - t.data = e, - t.max = e && e.length || 0, - t.type = n.getTypeOf(e), - t.isPaused || t._tickAndRepeat() - }, function(e) { - t.error(e) - }) - } - n.inherits(s, i), - s.prototype.cleanUp = function() { - i.prototype.cleanUp.call(this), - this.data = null - } - , - s.prototype.resume = function() { - return !!i.prototype.resume.call(this) && (!this._tickScheduled && this.dataIsReady && (this._tickScheduled = !0, - n.delay(this._tickAndRepeat, [], this)), - !0) - } - , - s.prototype._tickAndRepeat = function() { - this._tickScheduled = !1, - this.isPaused || this.isFinished || (this._tick(), - this.isFinished || (n.delay(this._tickAndRepeat, [], this), - this._tickScheduled = !0)) - } - , - s.prototype._tick = function() { - if (this.isPaused || this.isFinished) - return !1; - var e = null - , t = Math.min(this.max, this.index + 16384); - if (this.index >= this.max) - return this.end(); - switch (this.type) { - case "string": - e = this.data.substring(this.index, t); - break; - case "uint8array": - e = this.data.subarray(this.index, t); - break; - case "array": - case "nodebuffer": - e = this.data.slice(this.index, t) - } - return this.index = t, - this.push({ - data: e, - meta: { - percent: this.max ? this.index / this.max * 100 : 0 - } - }) - } - , - t.exports = s - } - , { - "../utils": 32, - "./GenericWorker": 28 - }], - 28: [function(e, t, r) { - "use strict"; - function n(e) { - this.name = e || "default", - this.streamInfo = {}, - this.generatedError = null, - this.extraStreamInfo = {}, - this.isPaused = !0, - this.isFinished = !1, - this.isLocked = !1, - this._listeners = { - data: [], - end: [], - error: [] - }, - this.previous = null - } - n.prototype = { - push: function(e) { - this.emit("data", e) - }, - end: function() { - if (this.isFinished) - return !1; - this.flush(); - try { - this.emit("end"), - this.cleanUp(), - this.isFinished = !0 - } catch (e) { - this.emit("error", e) - } - return !0 - }, - error: function(e) { - return !this.isFinished && (this.isPaused ? this.generatedError = e : (this.isFinished = !0, - this.emit("error", e), - this.previous && this.previous.error(e), - this.cleanUp()), - !0) - }, - on: function(e, t) { - return this._listeners[e].push(t), - this - }, - cleanUp: function() { - this.streamInfo = this.generatedError = this.extraStreamInfo = null, - this._listeners = [] - }, - emit: function(e, t) { - if (this._listeners[e]) - for (var r = 0; r < this._listeners[e].length; r++) - this._listeners[e][r].call(this, t) - }, - pipe: function(e) { - return e.registerPrevious(this) - }, - registerPrevious: function(e) { - if (this.isLocked) - throw new Error("The stream '" + this + "' has already been used."); - this.streamInfo = e.streamInfo, - this.mergeStreamInfo(), - this.previous = e; - var t = this; - return e.on("data", function(e) { - t.processChunk(e) - }), - e.on("end", function() { - t.end() - }), - e.on("error", function(e) { - t.error(e) - }), - this - }, - pause: function() { - return !this.isPaused && !this.isFinished && (this.isPaused = !0, - this.previous && this.previous.pause(), - !0) - }, - resume: function() { - if (!this.isPaused || this.isFinished) - return !1; - var e = this.isPaused = !1; - return this.generatedError && (this.error(this.generatedError), - e = !0), - this.previous && this.previous.resume(), - !e - }, - flush: function() {}, - processChunk: function(e) { - this.push(e) - }, - withStreamInfo: function(e, t) { - return this.extraStreamInfo[e] = t, - this.mergeStreamInfo(), - this - }, - mergeStreamInfo: function() { - for (var e in this.extraStreamInfo) - Object.prototype.hasOwnProperty.call(this.extraStreamInfo, e) && (this.streamInfo[e] = this.extraStreamInfo[e]) - }, - lock: function() { - if (this.isLocked) - throw new Error("The stream '" + this + "' has already been used."); - this.isLocked = !0, - this.previous && this.previous.lock() - }, - toString: function() { - var e = "Worker " + this.name; - return this.previous ? this.previous + " -> " + e : e - } - }, - t.exports = n - } - , {}], - 29: [function(e, t, r) { - "use strict"; - var h = e("../utils") - , i = e("./ConvertWorker") - , s = e("./GenericWorker") - , u = e("../base64") - , n = e("../support") - , a = e("../external") - , o = null; - if (n.nodestream) - try { - o = e("../nodejs/NodejsStreamOutputAdapter") - } catch (e) {} - function l(e, o) { - return new a.Promise(function(t, r) { - var n = [] - , i = e._internalType - , s = e._outputType - , a = e._mimeType; - e.on("data", function(e, t) { - n.push(e), - o && o(t) - }).on("error", function(e) { - n = [], - r(e) - }).on("end", function() { - try { - var e = function(e, t, r) { - switch (e) { - case "blob": - return h.newBlob(h.transformTo("arraybuffer", t), r); - case "base64": - return u.encode(t); - default: - return h.transformTo(e, t) - } - }(s, function(e, t) { - var r, n = 0, i = null, s = 0; - for (r = 0; r < t.length; r++) - s += t[r].length; - switch (e) { - case "string": - return t.join(""); - case "array": - return Array.prototype.concat.apply([], t); - case "uint8array": - for (i = new Uint8Array(s), - r = 0; r < t.length; r++) - i.set(t[r], n), - n += t[r].length; - return i; - case "nodebuffer": - return Buffer.concat(t); - default: - throw new Error("concat : unsupported type '" + e + "'") - } - }(i, n), a); - t(e) - } catch (e) { - r(e) - } - n = [] - }).resume() - } - ) - } - function f(e, t, r) { - var n = t; - switch (t) { - case "blob": - case "arraybuffer": - n = "uint8array"; - break; - case "base64": - n = "string" - } - try { - this._internalType = n, - this._outputType = t, - this._mimeType = r, - h.checkSupport(n), - this._worker = e.pipe(new i(n)), - e.lock() - } catch (e) { - this._worker = new s("error"), - this._worker.error(e) - } - } - f.prototype = { - accumulate: function(e) { - return l(this, e) - }, - on: function(e, t) { - var r = this; - return "data" === e ? this._worker.on(e, function(e) { - t.call(r, e.data, e.meta) - }) : this._worker.on(e, function() { - h.delay(t, arguments, r) - }), - this - }, - resume: function() { - return h.delay(this._worker.resume, [], this._worker), - this - }, - pause: function() { - return this._worker.pause(), - this - }, - toNodejsStream: function(e) { - if (h.checkSupport("nodestream"), - "nodebuffer" !== this._outputType) - throw new Error(this._outputType + " is not supported by this method"); - return new o(this,{ - objectMode: "nodebuffer" !== this._outputType - },e) - } - }, - t.exports = f - } - , { - "../base64": 1, - "../external": 6, - "../nodejs/NodejsStreamOutputAdapter": 13, - "../support": 30, - "../utils": 32, - "./ConvertWorker": 24, - "./GenericWorker": 28 - }], - 30: [function(e, t, r) { - "use strict"; - if (r.base64 = !0, - r.array = !0, - r.string = !0, - r.arraybuffer = "undefined" != typeof ArrayBuffer && "undefined" != typeof Uint8Array, - r.nodebuffer = "undefined" != typeof Buffer, - r.uint8array = "undefined" != typeof Uint8Array, - "undefined" == typeof ArrayBuffer) - r.blob = !1; - else { - var n = new ArrayBuffer(0); - try { - r.blob = 0 === new Blob([n],{ - type: "application/zip" - }).size - } catch (e) { - try { - var i = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder); - i.append(n), - r.blob = 0 === i.getBlob("application/zip").size - } catch (e) { - r.blob = !1 - } - } - } - try { - r.nodestream = !!e("readable-stream").Readable - } catch (e) { - r.nodestream = !1 - } - } - , { - "readable-stream": 16 - }], - 31: [function(e, t, s) { - "use strict"; - for (var o = e("./utils"), h = e("./support"), r = e("./nodejsUtils"), n = e("./stream/GenericWorker"), u = new Array(256), i = 0; i < 256; i++) - u[i] = 252 <= i ? 6 : 248 <= i ? 5 : 240 <= i ? 4 : 224 <= i ? 3 : 192 <= i ? 2 : 1; - u[254] = u[254] = 1; - function a() { - n.call(this, "utf-8 decode"), - this.leftOver = null - } - function l() { - n.call(this, "utf-8 encode") - } - s.utf8encode = function(e) { - return h.nodebuffer ? r.newBufferFrom(e, "utf-8") : function(e) { - var t, r, n, i, s, a = e.length, o = 0; - for (i = 0; i < a; i++) - 55296 == (64512 & (r = e.charCodeAt(i))) && i + 1 < a && 56320 == (64512 & (n = e.charCodeAt(i + 1))) && (r = 65536 + (r - 55296 << 10) + (n - 56320), - i++), - o += r < 128 ? 1 : r < 2048 ? 2 : r < 65536 ? 3 : 4; - for (t = h.uint8array ? new Uint8Array(o) : new Array(o), - i = s = 0; s < o; i++) - 55296 == (64512 & (r = e.charCodeAt(i))) && i + 1 < a && 56320 == (64512 & (n = e.charCodeAt(i + 1))) && (r = 65536 + (r - 55296 << 10) + (n - 56320), - i++), - r < 128 ? t[s++] = r : (r < 2048 ? t[s++] = 192 | r >>> 6 : (r < 65536 ? t[s++] = 224 | r >>> 12 : (t[s++] = 240 | r >>> 18, - t[s++] = 128 | r >>> 12 & 63), - t[s++] = 128 | r >>> 6 & 63), - t[s++] = 128 | 63 & r); - return t - }(e) - } - , - s.utf8decode = function(e) { - return h.nodebuffer ? o.transformTo("nodebuffer", e).toString("utf-8") : function(e) { - var t, r, n, i, s = e.length, a = new Array(2 * s); - for (t = r = 0; t < s; ) - if ((n = e[t++]) < 128) - a[r++] = n; - else if (4 < (i = u[n])) - a[r++] = 65533, - t += i - 1; - else { - for (n &= 2 === i ? 31 : 3 === i ? 15 : 7; 1 < i && t < s; ) - n = n << 6 | 63 & e[t++], - i--; - 1 < i ? a[r++] = 65533 : n < 65536 ? a[r++] = n : (n -= 65536, - a[r++] = 55296 | n >> 10 & 1023, - a[r++] = 56320 | 1023 & n) - } - return a.length !== r && (a.subarray ? a = a.subarray(0, r) : a.length = r), - o.applyFromCharCode(a) - }(e = o.transformTo(h.uint8array ? "uint8array" : "array", e)) - } - , - o.inherits(a, n), - a.prototype.processChunk = function(e) { - var t = o.transformTo(h.uint8array ? "uint8array" : "array", e.data); - if (this.leftOver && this.leftOver.length) { - if (h.uint8array) { - var r = t; - (t = new Uint8Array(r.length + this.leftOver.length)).set(this.leftOver, 0), - t.set(r, this.leftOver.length) - } else - t = this.leftOver.concat(t); - this.leftOver = null - } - var n = function(e, t) { - var r; - for ((t = t || e.length) > e.length && (t = e.length), - r = t - 1; 0 <= r && 128 == (192 & e[r]); ) - r--; - return r < 0 ? t : 0 === r ? t : r + u[e[r]] > t ? r : t - }(t) - , i = t; - n !== t.length && (h.uint8array ? (i = t.subarray(0, n), - this.leftOver = t.subarray(n, t.length)) : (i = t.slice(0, n), - this.leftOver = t.slice(n, t.length))), - this.push({ - data: s.utf8decode(i), - meta: e.meta - }) - } - , - a.prototype.flush = function() { - this.leftOver && this.leftOver.length && (this.push({ - data: s.utf8decode(this.leftOver), - meta: {} - }), - this.leftOver = null) - } - , - s.Utf8DecodeWorker = a, - o.inherits(l, n), - l.prototype.processChunk = function(e) { - this.push({ - data: s.utf8encode(e.data), - meta: e.meta - }) - } - , - s.Utf8EncodeWorker = l - } - , { - "./nodejsUtils": 14, - "./stream/GenericWorker": 28, - "./support": 30, - "./utils": 32 - }], - 32: [function(e, t, a) { - "use strict"; - var o = e("./support") - , h = e("./base64") - , r = e("./nodejsUtils") - , u = e("./external"); - function n(e) { - return e - } - function l(e, t) { - for (var r = 0; r < e.length; ++r) - t[r] = 255 & e.charCodeAt(r); - return t - } - e("setimmediate"), - a.newBlob = function(t, r) { - a.checkSupport("blob"); - try { - return new Blob([t],{ - type: r - }) - } catch (e) { - try { - var n = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder); - return n.append(t), - n.getBlob(r) - } catch (e) { - throw new Error("Bug : can't construct the Blob.") - } - } - } - ; - var i = { - stringifyByChunk: function(e, t, r) { - var n = [] - , i = 0 - , s = e.length; - if (s <= r) - return String.fromCharCode.apply(null, e); - for (; i < s; ) - "array" === t || "nodebuffer" === t ? n.push(String.fromCharCode.apply(null, e.slice(i, Math.min(i + r, s)))) : n.push(String.fromCharCode.apply(null, e.subarray(i, Math.min(i + r, s)))), - i += r; - return n.join("") - }, - stringifyByChar: function(e) { - for (var t = "", r = 0; r < e.length; r++) - t += String.fromCharCode(e[r]); - return t - }, - applyCanBeUsed: { - uint8array: function() { - try { - return o.uint8array && 1 === String.fromCharCode.apply(null, new Uint8Array(1)).length - } catch (e) { - return !1 - } - }(), - nodebuffer: function() { - try { - return o.nodebuffer && 1 === String.fromCharCode.apply(null, r.allocBuffer(1)).length - } catch (e) { - return !1 - } - }() - } - }; - function s(e) { - var t = 65536 - , r = a.getTypeOf(e) - , n = !0; - if ("uint8array" === r ? n = i.applyCanBeUsed.uint8array : "nodebuffer" === r && (n = i.applyCanBeUsed.nodebuffer), - n) - for (; 1 < t; ) - try { - return i.stringifyByChunk(e, r, t) - } catch (e) { - t = Math.floor(t / 2) - } - return i.stringifyByChar(e) - } - function f(e, t) { - for (var r = 0; r < e.length; r++) - t[r] = e[r]; - return t - } - a.applyFromCharCode = s; - var c = {}; - c.string = { - string: n, - array: function(e) { - return l(e, new Array(e.length)) - }, - arraybuffer: function(e) { - return c.string.uint8array(e).buffer - }, - uint8array: function(e) { - return l(e, new Uint8Array(e.length)) - }, - nodebuffer: function(e) { - return l(e, r.allocBuffer(e.length)) - } - }, - c.array = { - string: s, - array: n, - arraybuffer: function(e) { - return new Uint8Array(e).buffer - }, - uint8array: function(e) { - return new Uint8Array(e) - }, - nodebuffer: function(e) { - return r.newBufferFrom(e) - } - }, - c.arraybuffer = { - string: function(e) { - return s(new Uint8Array(e)) - }, - array: function(e) { - return f(new Uint8Array(e), new Array(e.byteLength)) - }, - arraybuffer: n, - uint8array: function(e) { - return new Uint8Array(e) - }, - nodebuffer: function(e) { - return r.newBufferFrom(new Uint8Array(e)) - } - }, - c.uint8array = { - string: s, - array: function(e) { - return f(e, new Array(e.length)) - }, - arraybuffer: function(e) { - return e.buffer - }, - uint8array: n, - nodebuffer: function(e) { - return r.newBufferFrom(e) - } - }, - c.nodebuffer = { - string: s, - array: function(e) { - return f(e, new Array(e.length)) - }, - arraybuffer: function(e) { - return c.nodebuffer.uint8array(e).buffer - }, - uint8array: function(e) { - return f(e, new Uint8Array(e.length)) - }, - nodebuffer: n - }, - a.transformTo = function(e, t) { - if (t = t || "", - !e) - return t; - a.checkSupport(e); - var r = a.getTypeOf(t); - return c[r][e](t) - } - , - a.resolve = function(e) { - for (var t = e.split("/"), r = [], n = 0; n < t.length; n++) { - var i = t[n]; - "." === i || "" === i && 0 !== n && n !== t.length - 1 || (".." === i ? r.pop() : r.push(i)) - } - return r.join("/") - } - , - a.getTypeOf = function(e) { - return "string" == typeof e ? "string" : "[object Array]" === Object.prototype.toString.call(e) ? "array" : o.nodebuffer && r.isBuffer(e) ? "nodebuffer" : o.uint8array && e instanceof Uint8Array ? "uint8array" : o.arraybuffer && e instanceof ArrayBuffer ? "arraybuffer" : void 0 - } - , - a.checkSupport = function(e) { - if (!o[e.toLowerCase()]) - throw new Error(e + " is not supported by this platform") - } - , - a.MAX_VALUE_16BITS = 65535, - a.MAX_VALUE_32BITS = -1, - a.pretty = function(e) { - var t, r, n = ""; - for (r = 0; r < (e || "").length; r++) - n += "\\x" + ((t = e.charCodeAt(r)) < 16 ? "0" : "") + t.toString(16).toUpperCase(); - return n - } - , - a.delay = function(e, t, r) { - setImmediate(function() { - e.apply(r || null, t || []) - }) - } - , - a.inherits = function(e, t) { - function r() {} - r.prototype = t.prototype, - e.prototype = new r - } - , - a.extend = function() { - var e, t, r = {}; - for (e = 0; e < arguments.length; e++) - for (t in arguments[e]) - Object.prototype.hasOwnProperty.call(arguments[e], t) && void 0 === r[t] && (r[t] = arguments[e][t]); - return r - } - , - a.prepareContent = function(r, e, n, i, s) { - return u.Promise.resolve(e).then(function(n) { - return o.blob && (n instanceof Blob || -1 !== ["[object File]", "[object Blob]"].indexOf(Object.prototype.toString.call(n))) && "undefined" != typeof FileReader ? new u.Promise(function(t, r) { - var e = new FileReader; - e.onload = function(e) { - t(e.target.result) - } - , - e.onerror = function(e) { - r(e.target.error) - } - , - e.readAsArrayBuffer(n) - } - ) : n - }).then(function(e) { - var t = a.getTypeOf(e); - return t ? ("arraybuffer" === t ? e = a.transformTo("uint8array", e) : "string" === t && (s ? e = h.decode(e) : n && !0 !== i && (e = function(e) { - return l(e, o.uint8array ? new Uint8Array(e.length) : new Array(e.length)) - }(e))), - e) : u.Promise.reject(new Error("Can't read the data of '" + r + "'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?")) - }) - } - } - , { - "./base64": 1, - "./external": 6, - "./nodejsUtils": 14, - "./support": 30, - setimmediate: 54 - }], - 33: [function(e, t, r) { - "use strict"; - var n = e("./reader/readerFor") - , i = e("./utils") - , s = e("./signature") - , a = e("./zipEntry") - , o = e("./support"); - function h(e) { - this.files = [], - this.loadOptions = e - } - h.prototype = { - checkSignature: function(e) { - if (!this.reader.readAndCheckSignature(e)) { - this.reader.index -= 4; - var t = this.reader.readString(4); - throw new Error("Corrupted zip or bug: unexpected signature (" + i.pretty(t) + ", expected " + i.pretty(e) + ")") - } - }, - isSignature: function(e, t) { - var r = this.reader.index; - this.reader.setIndex(e); - var n = this.reader.readString(4) === t; - return this.reader.setIndex(r), - n - }, - readBlockEndOfCentral: function() { - this.diskNumber = this.reader.readInt(2), - this.diskWithCentralDirStart = this.reader.readInt(2), - this.centralDirRecordsOnThisDisk = this.reader.readInt(2), - this.centralDirRecords = this.reader.readInt(2), - this.centralDirSize = this.reader.readInt(4), - this.centralDirOffset = this.reader.readInt(4), - this.zipCommentLength = this.reader.readInt(2); - var e = this.reader.readData(this.zipCommentLength) - , t = o.uint8array ? "uint8array" : "array" - , r = i.transformTo(t, e); - this.zipComment = this.loadOptions.decodeFileName(r) - }, - readBlockZip64EndOfCentral: function() { - this.zip64EndOfCentralSize = this.reader.readInt(8), - this.reader.skip(4), - this.diskNumber = this.reader.readInt(4), - this.diskWithCentralDirStart = this.reader.readInt(4), - this.centralDirRecordsOnThisDisk = this.reader.readInt(8), - this.centralDirRecords = this.reader.readInt(8), - this.centralDirSize = this.reader.readInt(8), - this.centralDirOffset = this.reader.readInt(8), - this.zip64ExtensibleData = {}; - for (var e, t, r, n = this.zip64EndOfCentralSize - 44; 0 < n; ) - e = this.reader.readInt(2), - t = this.reader.readInt(4), - r = this.reader.readData(t), - this.zip64ExtensibleData[e] = { - id: e, - length: t, - value: r - } - }, - readBlockZip64EndOfCentralLocator: function() { - if (this.diskWithZip64CentralDirStart = this.reader.readInt(4), - this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8), - this.disksCount = this.reader.readInt(4), - 1 < this.disksCount) - throw new Error("Multi-volumes zip are not supported") - }, - readLocalFiles: function() { - var e, t; - for (e = 0; e < this.files.length; e++) - t = this.files[e], - this.reader.setIndex(t.localHeaderOffset), - this.checkSignature(s.LOCAL_FILE_HEADER), - t.readLocalPart(this.reader), - t.handleUTF8(), - t.processAttributes() - }, - readCentralDir: function() { - var e; - for (this.reader.setIndex(this.centralDirOffset); this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER); ) - (e = new a({ - zip64: this.zip64 - },this.loadOptions)).readCentralPart(this.reader), - this.files.push(e); - if (this.centralDirRecords !== this.files.length && 0 !== this.centralDirRecords && 0 === this.files.length) - throw new Error("Corrupted zip or bug: expected " + this.centralDirRecords + " records in central dir, got " + this.files.length) - }, - readEndOfCentral: function() { - var e = this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END); - if (e < 0) - throw !this.isSignature(0, s.LOCAL_FILE_HEADER) ? new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html") : new Error("Corrupted zip: can't find end of central directory"); - this.reader.setIndex(e); - var t = e; - if (this.checkSignature(s.CENTRAL_DIRECTORY_END), - this.readBlockEndOfCentral(), - this.diskNumber === i.MAX_VALUE_16BITS || this.diskWithCentralDirStart === i.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === i.MAX_VALUE_16BITS || this.centralDirRecords === i.MAX_VALUE_16BITS || this.centralDirSize === i.MAX_VALUE_32BITS || this.centralDirOffset === i.MAX_VALUE_32BITS) { - if (this.zip64 = !0, - (e = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR)) < 0) - throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator"); - if (this.reader.setIndex(e), - this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR), - this.readBlockZip64EndOfCentralLocator(), - !this.isSignature(this.relativeOffsetEndOfZip64CentralDir, s.ZIP64_CENTRAL_DIRECTORY_END) && (this.relativeOffsetEndOfZip64CentralDir = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END), - this.relativeOffsetEndOfZip64CentralDir < 0)) - throw new Error("Corrupted zip: can't find the ZIP64 end of central directory"); - this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir), - this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END), - this.readBlockZip64EndOfCentral() - } - var r = this.centralDirOffset + this.centralDirSize; - this.zip64 && (r += 20, - r += 12 + this.zip64EndOfCentralSize); - var n = t - r; - if (0 < n) - this.isSignature(t, s.CENTRAL_FILE_HEADER) || (this.reader.zero = n); - else if (n < 0) - throw new Error("Corrupted zip: missing " + Math.abs(n) + " bytes.") - }, - prepareReader: function(e) { - this.reader = n(e) - }, - load: function(e) { - this.prepareReader(e), - this.readEndOfCentral(), - this.readCentralDir(), - this.readLocalFiles() - } - }, - t.exports = h - } - , { - "./reader/readerFor": 22, - "./signature": 23, - "./support": 30, - "./utils": 32, - "./zipEntry": 34 - }], - 34: [function(e, t, r) { - "use strict"; - var n = e("./reader/readerFor") - , s = e("./utils") - , i = e("./compressedObject") - , a = e("./crc32") - , o = e("./utf8") - , h = e("./compressions") - , u = e("./support"); - function l(e, t) { - this.options = e, - this.loadOptions = t - } - l.prototype = { - isEncrypted: function() { - return 1 == (1 & this.bitFlag) - }, - useUTF8: function() { - return 2048 == (2048 & this.bitFlag) - }, - readLocalPart: function(e) { - var t, r; - if (e.skip(22), - this.fileNameLength = e.readInt(2), - r = e.readInt(2), - this.fileName = e.readData(this.fileNameLength), - e.skip(r), - -1 === this.compressedSize || -1 === this.uncompressedSize) - throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)"); - if (null === (t = function(e) { - for (var t in h) - if (Object.prototype.hasOwnProperty.call(h, t) && h[t].magic === e) - return h[t]; - return null - }(this.compressionMethod))) - throw new Error("Corrupted zip : compression " + s.pretty(this.compressionMethod) + " unknown (inner file : " + s.transformTo("string", this.fileName) + ")"); - this.decompressed = new i(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize)) - }, - readCentralPart: function(e) { - this.versionMadeBy = e.readInt(2), - e.skip(2), - this.bitFlag = e.readInt(2), - this.compressionMethod = e.readString(2), - this.date = e.readDate(), - this.crc32 = e.readInt(4), - this.compressedSize = e.readInt(4), - this.uncompressedSize = e.readInt(4); - var t = e.readInt(2); - if (this.extraFieldsLength = e.readInt(2), - this.fileCommentLength = e.readInt(2), - this.diskNumberStart = e.readInt(2), - this.internalFileAttributes = e.readInt(2), - this.externalFileAttributes = e.readInt(4), - this.localHeaderOffset = e.readInt(4), - this.isEncrypted()) - throw new Error("Encrypted zip are not supported"); - e.skip(t), - this.readExtraFields(e), - this.parseZIP64ExtraField(e), - this.fileComment = e.readData(this.fileCommentLength) - }, - processAttributes: function() { - this.unixPermissions = null, - this.dosPermissions = null; - var e = this.versionMadeBy >> 8; - this.dir = !!(16 & this.externalFileAttributes), - 0 == e && (this.dosPermissions = 63 & this.externalFileAttributes), - 3 == e && (this.unixPermissions = this.externalFileAttributes >> 16 & 65535), - this.dir || "/" !== this.fileNameStr.slice(-1) || (this.dir = !0) - }, - parseZIP64ExtraField: function() { - if (this.extraFields[1]) { - var e = n(this.extraFields[1].value); - this.uncompressedSize === s.MAX_VALUE_32BITS && (this.uncompressedSize = e.readInt(8)), - this.compressedSize === s.MAX_VALUE_32BITS && (this.compressedSize = e.readInt(8)), - this.localHeaderOffset === s.MAX_VALUE_32BITS && (this.localHeaderOffset = e.readInt(8)), - this.diskNumberStart === s.MAX_VALUE_32BITS && (this.diskNumberStart = e.readInt(4)) - } - }, - readExtraFields: function(e) { - var t, r, n, i = e.index + this.extraFieldsLength; - for (this.extraFields || (this.extraFields = {}); e.index + 4 < i; ) - t = e.readInt(2), - r = e.readInt(2), - n = e.readData(r), - this.extraFields[t] = { - id: t, - length: r, - value: n - }; - e.setIndex(i) - }, - handleUTF8: function() { - var e = u.uint8array ? "uint8array" : "array"; - if (this.useUTF8()) - this.fileNameStr = o.utf8decode(this.fileName), - this.fileCommentStr = o.utf8decode(this.fileComment); - else { - var t = this.findExtraFieldUnicodePath(); - if (null !== t) - this.fileNameStr = t; - else { - var r = s.transformTo(e, this.fileName); - this.fileNameStr = this.loadOptions.decodeFileName(r) - } - var n = this.findExtraFieldUnicodeComment(); - if (null !== n) - this.fileCommentStr = n; - else { - var i = s.transformTo(e, this.fileComment); - this.fileCommentStr = this.loadOptions.decodeFileName(i) - } - } - }, - findExtraFieldUnicodePath: function() { - var e = this.extraFields[28789]; - if (e) { - var t = n(e.value); - return 1 !== t.readInt(1) ? null : a(this.fileName) !== t.readInt(4) ? null : o.utf8decode(t.readData(e.length - 5)) - } - return null - }, - findExtraFieldUnicodeComment: function() { - var e = this.extraFields[25461]; - if (e) { - var t = n(e.value); - return 1 !== t.readInt(1) ? null : a(this.fileComment) !== t.readInt(4) ? null : o.utf8decode(t.readData(e.length - 5)) - } - return null - } - }, - t.exports = l - } - , { - "./compressedObject": 2, - "./compressions": 3, - "./crc32": 4, - "./reader/readerFor": 22, - "./support": 30, - "./utf8": 31, - "./utils": 32 - }], - 35: [function(e, t, r) { - "use strict"; - function n(e, t, r) { - this.name = e, - this.dir = r.dir, - this.date = r.date, - this.comment = r.comment, - this.unixPermissions = r.unixPermissions, - this.dosPermissions = r.dosPermissions, - this._data = t, - this._dataBinary = r.binary, - this.options = { - compression: r.compression, - compressionOptions: r.compressionOptions - } - } - var s = e("./stream/StreamHelper") - , i = e("./stream/DataWorker") - , a = e("./utf8") - , o = e("./compressedObject") - , h = e("./stream/GenericWorker"); - n.prototype = { - internalStream: function(e) { - var t = null - , r = "string"; - try { - if (!e) - throw new Error("No output type specified."); - var n = "string" === (r = e.toLowerCase()) || "text" === r; - "binarystring" !== r && "text" !== r || (r = "string"), - t = this._decompressWorker(); - var i = !this._dataBinary; - i && !n && (t = t.pipe(new a.Utf8EncodeWorker)), - !i && n && (t = t.pipe(new a.Utf8DecodeWorker)) - } catch (e) { - (t = new h("error")).error(e) - } - return new s(t,r,"") - }, - async: function(e, t) { - return this.internalStream(e).accumulate(t) - }, - nodeStream: function(e, t) { - return this.internalStream(e || "nodebuffer").toNodejsStream(t) - }, - _compressWorker: function(e, t) { - if (this._data instanceof o && this._data.compression.magic === e.magic) - return this._data.getCompressedWorker(); - var r = this._decompressWorker(); - return this._dataBinary || (r = r.pipe(new a.Utf8EncodeWorker)), - o.createWorkerFrom(r, e, t) - }, - _decompressWorker: function() { - return this._data instanceof o ? this._data.getContentWorker() : this._data instanceof h ? this._data : new i(this._data) - } - }; - for (var u = ["asText", "asBinary", "asNodeBuffer", "asUint8Array", "asArrayBuffer"], l = function() { - throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.") - }, f = 0; f < u.length; f++) - n.prototype[u[f]] = l; - t.exports = n - } - , { - "./compressedObject": 2, - "./stream/DataWorker": 27, - "./stream/GenericWorker": 28, - "./stream/StreamHelper": 29, - "./utf8": 31 - }], - 36: [function(e, l, t) { - (function(t) { - "use strict"; - var r, n, e = t.MutationObserver || t.WebKitMutationObserver; - if (e) { - var i = 0 - , s = new e(u) - , a = t.document.createTextNode(""); - s.observe(a, { - characterData: !0 - }), - r = function() { - a.data = i = ++i % 2 - } - } else if (t.setImmediate || void 0 === t.MessageChannel) - r = "document"in t && "onreadystatechange"in t.document.createElement("script") ? function() { - var e = t.document.createElement("script"); - e.onreadystatechange = function() { - u(), - e.onreadystatechange = null, - e.parentNode.removeChild(e), - e = null - } - , - t.document.documentElement.appendChild(e) - } - : function() { - setTimeout(u, 0) - } - ; - else { - var o = new t.MessageChannel; - o.port1.onmessage = u, - r = function() { - o.port2.postMessage(0) - } - } - var h = []; - function u() { - var e, t; - n = !0; - for (var r = h.length; r; ) { - for (t = h, - h = [], - e = -1; ++e < r; ) - t[e](); - r = h.length - } - n = !1 - } - l.exports = function(e) { - 1 !== h.push(e) || n || r() - } - } - ).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) - } - , {}], - 37: [function(e, t, r) { - "use strict"; - var i = e("immediate"); - function u() {} - var l = {} - , s = ["REJECTED"] - , a = ["FULFILLED"] - , n = ["PENDING"]; - function o(e) { - if ("function" != typeof e) - throw new TypeError("resolver must be a function"); - this.state = n, - this.queue = [], - this.outcome = void 0, - e !== u && d(this, e) - } - function h(e, t, r) { - this.promise = e, - "function" == typeof t && (this.onFulfilled = t, - this.callFulfilled = this.otherCallFulfilled), - "function" == typeof r && (this.onRejected = r, - this.callRejected = this.otherCallRejected) - } - function f(t, r, n) { - i(function() { - var e; - try { - e = r(n) - } catch (e) { - return l.reject(t, e) - } - e === t ? l.reject(t, new TypeError("Cannot resolve promise with itself")) : l.resolve(t, e) - }) - } - function c(e) { - var t = e && e.then; - if (e && ("object" == typeof e || "function" == typeof e) && "function" == typeof t) - return function() { - t.apply(e, arguments) - } - } - function d(t, e) { - var r = !1; - function n(e) { - r || (r = !0, - l.reject(t, e)) - } - function i(e) { - r || (r = !0, - l.resolve(t, e)) - } - var s = p(function() { - e(i, n) - }); - "error" === s.status && n(s.value) - } - function p(e, t) { - var r = {}; - try { - r.value = e(t), - r.status = "success" - } catch (e) { - r.status = "error", - r.value = e - } - return r - } - (t.exports = o).prototype.finally = function(t) { - if ("function" != typeof t) - return this; - var r = this.constructor; - return this.then(function(e) { - return r.resolve(t()).then(function() { - return e - }) - }, function(e) { - return r.resolve(t()).then(function() { - throw e - }) - }) - } - , - o.prototype.catch = function(e) { - return this.then(null, e) - } - , - o.prototype.then = function(e, t) { - if ("function" != typeof e && this.state === a || "function" != typeof t && this.state === s) - return this; - var r = new this.constructor(u); - this.state !== n ? f(r, this.state === a ? e : t, this.outcome) : this.queue.push(new h(r,e,t)); - return r - } - , - h.prototype.callFulfilled = function(e) { - l.resolve(this.promise, e) - } - , - h.prototype.otherCallFulfilled = function(e) { - f(this.promise, this.onFulfilled, e) - } - , - h.prototype.callRejected = function(e) { - l.reject(this.promise, e) - } - , - h.prototype.otherCallRejected = function(e) { - f(this.promise, this.onRejected, e) - } - , - l.resolve = function(e, t) { - var r = p(c, t); - if ("error" === r.status) - return l.reject(e, r.value); - var n = r.value; - if (n) - d(e, n); - else { - e.state = a, - e.outcome = t; - for (var i = -1, s = e.queue.length; ++i < s; ) - e.queue[i].callFulfilled(t) - } - return e - } - , - l.reject = function(e, t) { - e.state = s, - e.outcome = t; - for (var r = -1, n = e.queue.length; ++r < n; ) - e.queue[r].callRejected(t); - return e - } - , - o.resolve = function(e) { - if (e instanceof this) - return e; - return l.resolve(new this(u), e) - } - , - o.reject = function(e) { - var t = new this(u); - return l.reject(t, e) - } - , - o.all = function(e) { - var r = this; - if ("[object Array]" !== Object.prototype.toString.call(e)) - return this.reject(new TypeError("must be an array")); - var n = e.length - , i = !1; - if (!n) - return this.resolve([]); - var s = new Array(n) - , a = 0 - , t = -1 - , o = new this(u); - for (; ++t < n; ) - h(e[t], t); - return o; - function h(e, t) { - r.resolve(e).then(function(e) { - s[t] = e, - ++a !== n || i || (i = !0, - l.resolve(o, s)) - }, function(e) { - i || (i = !0, - l.reject(o, e)) - }) - } - } - , - o.race = function(e) { - var t = this; - if ("[object Array]" !== Object.prototype.toString.call(e)) - return this.reject(new TypeError("must be an array")); - var r = e.length - , n = !1; - if (!r) - return this.resolve([]); - var i = -1 - , s = new this(u); - for (; ++i < r; ) - a = e[i], - t.resolve(a).then(function(e) { - n || (n = !0, - l.resolve(s, e)) - }, function(e) { - n || (n = !0, - l.reject(s, e)) - }); - var a; - return s - } - } - , { - immediate: 36 - }], - 38: [function(e, t, r) { - "use strict"; - var n = {}; - (0, - e("./lib/utils/common").assign)(n, e("./lib/deflate"), e("./lib/inflate"), e("./lib/zlib/constants")), - t.exports = n - } - , { - "./lib/deflate": 39, - "./lib/inflate": 40, - "./lib/utils/common": 41, - "./lib/zlib/constants": 44 - }], - 39: [function(e, t, r) { - "use strict"; - var a = e("./zlib/deflate") - , o = e("./utils/common") - , h = e("./utils/strings") - , i = e("./zlib/messages") - , s = e("./zlib/zstream") - , u = Object.prototype.toString - , l = 0 - , f = -1 - , c = 0 - , d = 8; - function p(e) { - if (!(this instanceof p)) - return new p(e); - this.options = o.assign({ - level: f, - method: d, - chunkSize: 16384, - windowBits: 15, - memLevel: 8, - strategy: c, - to: "" - }, e || {}); - var t = this.options; - t.raw && 0 < t.windowBits ? t.windowBits = -t.windowBits : t.gzip && 0 < t.windowBits && t.windowBits < 16 && (t.windowBits += 16), - this.err = 0, - this.msg = "", - this.ended = !1, - this.chunks = [], - this.strm = new s, - this.strm.avail_out = 0; - var r = a.deflateInit2(this.strm, t.level, t.method, t.windowBits, t.memLevel, t.strategy); - if (r !== l) - throw new Error(i[r]); - if (t.header && a.deflateSetHeader(this.strm, t.header), - t.dictionary) { - var n; - if (n = "string" == typeof t.dictionary ? h.string2buf(t.dictionary) : "[object ArrayBuffer]" === u.call(t.dictionary) ? new Uint8Array(t.dictionary) : t.dictionary, - (r = a.deflateSetDictionary(this.strm, n)) !== l) - throw new Error(i[r]); - this._dict_set = !0 - } - } - function n(e, t) { - var r = new p(t); - if (r.push(e, !0), - r.err) - throw r.msg || i[r.err]; - return r.result - } - p.prototype.push = function(e, t) { - var r, n, i = this.strm, s = this.options.chunkSize; - if (this.ended) - return !1; - n = t === ~~t ? t : !0 === t ? 4 : 0, - "string" == typeof e ? i.input = h.string2buf(e) : "[object ArrayBuffer]" === u.call(e) ? i.input = new Uint8Array(e) : i.input = e, - i.next_in = 0, - i.avail_in = i.input.length; - do { - if (0 === i.avail_out && (i.output = new o.Buf8(s), - i.next_out = 0, - i.avail_out = s), - 1 !== (r = a.deflate(i, n)) && r !== l) - return this.onEnd(r), - !(this.ended = !0); - 0 !== i.avail_out && (0 !== i.avail_in || 4 !== n && 2 !== n) || ("string" === this.options.to ? this.onData(h.buf2binstring(o.shrinkBuf(i.output, i.next_out))) : this.onData(o.shrinkBuf(i.output, i.next_out))) - } while ((0 < i.avail_in || 0 === i.avail_out) && 1 !== r); - return 4 === n ? (r = a.deflateEnd(this.strm), - this.onEnd(r), - this.ended = !0, - r === l) : 2 !== n || (this.onEnd(l), - !(i.avail_out = 0)) - } - , - p.prototype.onData = function(e) { - this.chunks.push(e) - } - , - p.prototype.onEnd = function(e) { - e === l && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = o.flattenChunks(this.chunks)), - this.chunks = [], - this.err = e, - this.msg = this.strm.msg - } - , - r.Deflate = p, - r.deflate = n, - r.deflateRaw = function(e, t) { - return (t = t || {}).raw = !0, - n(e, t) - } - , - r.gzip = function(e, t) { - return (t = t || {}).gzip = !0, - n(e, t) - } - } - , { - "./utils/common": 41, - "./utils/strings": 42, - "./zlib/deflate": 46, - "./zlib/messages": 51, - "./zlib/zstream": 53 - }], - 40: [function(e, t, r) { - "use strict"; - var c = e("./zlib/inflate") - , d = e("./utils/common") - , p = e("./utils/strings") - , m = e("./zlib/constants") - , n = e("./zlib/messages") - , i = e("./zlib/zstream") - , s = e("./zlib/gzheader") - , _ = Object.prototype.toString; - function a(e) { - if (!(this instanceof a)) - return new a(e); - this.options = d.assign({ - chunkSize: 16384, - windowBits: 0, - to: "" - }, e || {}); - var t = this.options; - t.raw && 0 <= t.windowBits && t.windowBits < 16 && (t.windowBits = -t.windowBits, - 0 === t.windowBits && (t.windowBits = -15)), - !(0 <= t.windowBits && t.windowBits < 16) || e && e.windowBits || (t.windowBits += 32), - 15 < t.windowBits && t.windowBits < 48 && 0 == (15 & t.windowBits) && (t.windowBits |= 15), - this.err = 0, - this.msg = "", - this.ended = !1, - this.chunks = [], - this.strm = new i, - this.strm.avail_out = 0; - var r = c.inflateInit2(this.strm, t.windowBits); - if (r !== m.Z_OK) - throw new Error(n[r]); - this.header = new s, - c.inflateGetHeader(this.strm, this.header) - } - function o(e, t) { - var r = new a(t); - if (r.push(e, !0), - r.err) - throw r.msg || n[r.err]; - return r.result - } - a.prototype.push = function(e, t) { - var r, n, i, s, a, o, h = this.strm, u = this.options.chunkSize, l = this.options.dictionary, f = !1; - if (this.ended) - return !1; - n = t === ~~t ? t : !0 === t ? m.Z_FINISH : m.Z_NO_FLUSH, - "string" == typeof e ? h.input = p.binstring2buf(e) : "[object ArrayBuffer]" === _.call(e) ? h.input = new Uint8Array(e) : h.input = e, - h.next_in = 0, - h.avail_in = h.input.length; - do { - if (0 === h.avail_out && (h.output = new d.Buf8(u), - h.next_out = 0, - h.avail_out = u), - (r = c.inflate(h, m.Z_NO_FLUSH)) === m.Z_NEED_DICT && l && (o = "string" == typeof l ? p.string2buf(l) : "[object ArrayBuffer]" === _.call(l) ? new Uint8Array(l) : l, - r = c.inflateSetDictionary(this.strm, o)), - r === m.Z_BUF_ERROR && !0 === f && (r = m.Z_OK, - f = !1), - r !== m.Z_STREAM_END && r !== m.Z_OK) - return this.onEnd(r), - !(this.ended = !0); - h.next_out && (0 !== h.avail_out && r !== m.Z_STREAM_END && (0 !== h.avail_in || n !== m.Z_FINISH && n !== m.Z_SYNC_FLUSH) || ("string" === this.options.to ? (i = p.utf8border(h.output, h.next_out), - s = h.next_out - i, - a = p.buf2string(h.output, i), - h.next_out = s, - h.avail_out = u - s, - s && d.arraySet(h.output, h.output, i, s, 0), - this.onData(a)) : this.onData(d.shrinkBuf(h.output, h.next_out)))), - 0 === h.avail_in && 0 === h.avail_out && (f = !0) - } while ((0 < h.avail_in || 0 === h.avail_out) && r !== m.Z_STREAM_END); - return r === m.Z_STREAM_END && (n = m.Z_FINISH), - n === m.Z_FINISH ? (r = c.inflateEnd(this.strm), - this.onEnd(r), - this.ended = !0, - r === m.Z_OK) : n !== m.Z_SYNC_FLUSH || (this.onEnd(m.Z_OK), - !(h.avail_out = 0)) - } - , - a.prototype.onData = function(e) { - this.chunks.push(e) - } - , - a.prototype.onEnd = function(e) { - e === m.Z_OK && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = d.flattenChunks(this.chunks)), - this.chunks = [], - this.err = e, - this.msg = this.strm.msg - } - , - r.Inflate = a, - r.inflate = o, - r.inflateRaw = function(e, t) { - return (t = t || {}).raw = !0, - o(e, t) - } - , - r.ungzip = o - } - , { - "./utils/common": 41, - "./utils/strings": 42, - "./zlib/constants": 44, - "./zlib/gzheader": 47, - "./zlib/inflate": 49, - "./zlib/messages": 51, - "./zlib/zstream": 53 - }], - 41: [function(e, t, r) { - "use strict"; - var n = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Int32Array; - r.assign = function(e) { - for (var t = Array.prototype.slice.call(arguments, 1); t.length; ) { - var r = t.shift(); - if (r) { - if ("object" != typeof r) - throw new TypeError(r + "must be non-object"); - for (var n in r) - r.hasOwnProperty(n) && (e[n] = r[n]) - } - } - return e - } - , - r.shrinkBuf = function(e, t) { - return e.length === t ? e : e.subarray ? e.subarray(0, t) : (e.length = t, - e) - } - ; - var i = { - arraySet: function(e, t, r, n, i) { - if (t.subarray && e.subarray) - e.set(t.subarray(r, r + n), i); - else - for (var s = 0; s < n; s++) - e[i + s] = t[r + s] - }, - flattenChunks: function(e) { - var t, r, n, i, s, a; - for (t = n = 0, - r = e.length; t < r; t++) - n += e[t].length; - for (a = new Uint8Array(n), - t = i = 0, - r = e.length; t < r; t++) - s = e[t], - a.set(s, i), - i += s.length; - return a - } - } - , s = { - arraySet: function(e, t, r, n, i) { - for (var s = 0; s < n; s++) - e[i + s] = t[r + s] - }, - flattenChunks: function(e) { - return [].concat.apply([], e) - } - }; - r.setTyped = function(e) { - e ? (r.Buf8 = Uint8Array, - r.Buf16 = Uint16Array, - r.Buf32 = Int32Array, - r.assign(r, i)) : (r.Buf8 = Array, - r.Buf16 = Array, - r.Buf32 = Array, - r.assign(r, s)) - } - , - r.setTyped(n) - } - , {}], - 42: [function(e, t, r) { - "use strict"; - var h = e("./common") - , i = !0 - , s = !0; - try { - String.fromCharCode.apply(null, [0]) - } catch (e) { - i = !1 - } - try { - String.fromCharCode.apply(null, new Uint8Array(1)) - } catch (e) { - s = !1 - } - for (var u = new h.Buf8(256), n = 0; n < 256; n++) - u[n] = 252 <= n ? 6 : 248 <= n ? 5 : 240 <= n ? 4 : 224 <= n ? 3 : 192 <= n ? 2 : 1; - function l(e, t) { - if (t < 65537 && (e.subarray && s || !e.subarray && i)) - return String.fromCharCode.apply(null, h.shrinkBuf(e, t)); - for (var r = "", n = 0; n < t; n++) - r += String.fromCharCode(e[n]); - return r - } - u[254] = u[254] = 1, - r.string2buf = function(e) { - var t, r, n, i, s, a = e.length, o = 0; - for (i = 0; i < a; i++) - 55296 == (64512 & (r = e.charCodeAt(i))) && i + 1 < a && 56320 == (64512 & (n = e.charCodeAt(i + 1))) && (r = 65536 + (r - 55296 << 10) + (n - 56320), - i++), - o += r < 128 ? 1 : r < 2048 ? 2 : r < 65536 ? 3 : 4; - for (t = new h.Buf8(o), - i = s = 0; s < o; i++) - 55296 == (64512 & (r = e.charCodeAt(i))) && i + 1 < a && 56320 == (64512 & (n = e.charCodeAt(i + 1))) && (r = 65536 + (r - 55296 << 10) + (n - 56320), - i++), - r < 128 ? t[s++] = r : (r < 2048 ? t[s++] = 192 | r >>> 6 : (r < 65536 ? t[s++] = 224 | r >>> 12 : (t[s++] = 240 | r >>> 18, - t[s++] = 128 | r >>> 12 & 63), - t[s++] = 128 | r >>> 6 & 63), - t[s++] = 128 | 63 & r); - return t - } - , - r.buf2binstring = function(e) { - return l(e, e.length) - } - , - r.binstring2buf = function(e) { - for (var t = new h.Buf8(e.length), r = 0, n = t.length; r < n; r++) - t[r] = e.charCodeAt(r); - return t - } - , - r.buf2string = function(e, t) { - var r, n, i, s, a = t || e.length, o = new Array(2 * a); - for (r = n = 0; r < a; ) - if ((i = e[r++]) < 128) - o[n++] = i; - else if (4 < (s = u[i])) - o[n++] = 65533, - r += s - 1; - else { - for (i &= 2 === s ? 31 : 3 === s ? 15 : 7; 1 < s && r < a; ) - i = i << 6 | 63 & e[r++], - s--; - 1 < s ? o[n++] = 65533 : i < 65536 ? o[n++] = i : (i -= 65536, - o[n++] = 55296 | i >> 10 & 1023, - o[n++] = 56320 | 1023 & i) - } - return l(o, n) - } - , - r.utf8border = function(e, t) { - var r; - for ((t = t || e.length) > e.length && (t = e.length), - r = t - 1; 0 <= r && 128 == (192 & e[r]); ) - r--; - return r < 0 ? t : 0 === r ? t : r + u[e[r]] > t ? r : t - } - } - , { - "./common": 41 - }], - 43: [function(e, t, r) { - "use strict"; - t.exports = function(e, t, r, n) { - for (var i = 65535 & e | 0, s = e >>> 16 & 65535 | 0, a = 0; 0 !== r; ) { - for (r -= a = 2e3 < r ? 2e3 : r; s = s + (i = i + t[n++] | 0) | 0, - --a; ) - ; - i %= 65521, - s %= 65521 - } - return i | s << 16 | 0 - } - } - , {}], - 44: [function(e, t, r) { - "use strict"; - t.exports = { - Z_NO_FLUSH: 0, - Z_PARTIAL_FLUSH: 1, - Z_SYNC_FLUSH: 2, - Z_FULL_FLUSH: 3, - Z_FINISH: 4, - Z_BLOCK: 5, - Z_TREES: 6, - Z_OK: 0, - Z_STREAM_END: 1, - Z_NEED_DICT: 2, - Z_ERRNO: -1, - Z_STREAM_ERROR: -2, - Z_DATA_ERROR: -3, - Z_BUF_ERROR: -5, - Z_NO_COMPRESSION: 0, - Z_BEST_SPEED: 1, - Z_BEST_COMPRESSION: 9, - Z_DEFAULT_COMPRESSION: -1, - Z_FILTERED: 1, - Z_HUFFMAN_ONLY: 2, - Z_RLE: 3, - Z_FIXED: 4, - Z_DEFAULT_STRATEGY: 0, - Z_BINARY: 0, - Z_TEXT: 1, - Z_UNKNOWN: 2, - Z_DEFLATED: 8 - } - } - , {}], - 45: [function(e, t, r) { - "use strict"; - var o = function() { - for (var e, t = [], r = 0; r < 256; r++) { - e = r; - for (var n = 0; n < 8; n++) - e = 1 & e ? 3988292384 ^ e >>> 1 : e >>> 1; - t[r] = e - } - return t - }(); - t.exports = function(e, t, r, n) { - var i = o - , s = n + r; - e ^= -1; - for (var a = n; a < s; a++) - e = e >>> 8 ^ i[255 & (e ^ t[a])]; - return -1 ^ e - } - } - , {}], - 46: [function(e, t, r) { - "use strict"; - var h, c = e("../utils/common"), u = e("./trees"), d = e("./adler32"), p = e("./crc32"), n = e("./messages"), l = 0, f = 4, m = 0, _ = -2, g = -1, b = 4, i = 2, v = 8, y = 9, s = 286, a = 30, o = 19, w = 2 * s + 1, k = 15, x = 3, S = 258, z = S + x + 1, C = 42, E = 113, A = 1, I = 2, O = 3, B = 4; - function R(e, t) { - return e.msg = n[t], - t - } - function T(e) { - return (e << 1) - (4 < e ? 9 : 0) - } - function D(e) { - for (var t = e.length; 0 <= --t; ) - e[t] = 0 - } - function F(e) { - var t = e.state - , r = t.pending; - r > e.avail_out && (r = e.avail_out), - 0 !== r && (c.arraySet(e.output, t.pending_buf, t.pending_out, r, e.next_out), - e.next_out += r, - t.pending_out += r, - e.total_out += r, - e.avail_out -= r, - t.pending -= r, - 0 === t.pending && (t.pending_out = 0)) - } - function N(e, t) { - u._tr_flush_block(e, 0 <= e.block_start ? e.block_start : -1, e.strstart - e.block_start, t), - e.block_start = e.strstart, - F(e.strm) - } - function U(e, t) { - e.pending_buf[e.pending++] = t - } - function P(e, t) { - e.pending_buf[e.pending++] = t >>> 8 & 255, - e.pending_buf[e.pending++] = 255 & t - } - function L(e, t) { - var r, n, i = e.max_chain_length, s = e.strstart, a = e.prev_length, o = e.nice_match, h = e.strstart > e.w_size - z ? e.strstart - (e.w_size - z) : 0, u = e.window, l = e.w_mask, f = e.prev, c = e.strstart + S, d = u[s + a - 1], p = u[s + a]; - e.prev_length >= e.good_match && (i >>= 2), - o > e.lookahead && (o = e.lookahead); - do { - if (u[(r = t) + a] === p && u[r + a - 1] === d && u[r] === u[s] && u[++r] === u[s + 1]) { - s += 2, - r++; - do {} while (u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && s < c); - if (n = S - (c - s), - s = c - S, - a < n) { - if (e.match_start = t, - o <= (a = n)) - break; - d = u[s + a - 1], - p = u[s + a] - } - } - } while ((t = f[t & l]) > h && 0 != --i); - return a <= e.lookahead ? a : e.lookahead - } - function j(e) { - var t, r, n, i, s, a, o, h, u, l, f = e.w_size; - do { - if (i = e.window_size - e.lookahead - e.strstart, - e.strstart >= f + (f - z)) { - for (c.arraySet(e.window, e.window, f, f, 0), - e.match_start -= f, - e.strstart -= f, - e.block_start -= f, - t = r = e.hash_size; n = e.head[--t], - e.head[t] = f <= n ? n - f : 0, - --r; ) - ; - for (t = r = f; n = e.prev[--t], - e.prev[t] = f <= n ? n - f : 0, - --r; ) - ; - i += f - } - if (0 === e.strm.avail_in) - break; - if (a = e.strm, - o = e.window, - h = e.strstart + e.lookahead, - u = i, - l = void 0, - l = a.avail_in, - u < l && (l = u), - r = 0 === l ? 0 : (a.avail_in -= l, - c.arraySet(o, a.input, a.next_in, l, h), - 1 === a.state.wrap ? a.adler = d(a.adler, o, l, h) : 2 === a.state.wrap && (a.adler = p(a.adler, o, l, h)), - a.next_in += l, - a.total_in += l, - l), - e.lookahead += r, - e.lookahead + e.insert >= x) - for (s = e.strstart - e.insert, - e.ins_h = e.window[s], - e.ins_h = (e.ins_h << e.hash_shift ^ e.window[s + 1]) & e.hash_mask; e.insert && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[s + x - 1]) & e.hash_mask, - e.prev[s & e.w_mask] = e.head[e.ins_h], - e.head[e.ins_h] = s, - s++, - e.insert--, - !(e.lookahead + e.insert < x)); ) - ; - } while (e.lookahead < z && 0 !== e.strm.avail_in) - } - function Z(e, t) { - for (var r, n; ; ) { - if (e.lookahead < z) { - if (j(e), - e.lookahead < z && t === l) - return A; - if (0 === e.lookahead) - break - } - if (r = 0, - e.lookahead >= x && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + x - 1]) & e.hash_mask, - r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], - e.head[e.ins_h] = e.strstart), - 0 !== r && e.strstart - r <= e.w_size - z && (e.match_length = L(e, r)), - e.match_length >= x) - if (n = u._tr_tally(e, e.strstart - e.match_start, e.match_length - x), - e.lookahead -= e.match_length, - e.match_length <= e.max_lazy_match && e.lookahead >= x) { - for (e.match_length--; e.strstart++, - e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + x - 1]) & e.hash_mask, - r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], - e.head[e.ins_h] = e.strstart, - 0 != --e.match_length; ) - ; - e.strstart++ - } else - e.strstart += e.match_length, - e.match_length = 0, - e.ins_h = e.window[e.strstart], - e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + 1]) & e.hash_mask; - else - n = u._tr_tally(e, 0, e.window[e.strstart]), - e.lookahead--, - e.strstart++; - if (n && (N(e, !1), - 0 === e.strm.avail_out)) - return A - } - return e.insert = e.strstart < x - 1 ? e.strstart : x - 1, - t === f ? (N(e, !0), - 0 === e.strm.avail_out ? O : B) : e.last_lit && (N(e, !1), - 0 === e.strm.avail_out) ? A : I - } - function W(e, t) { - for (var r, n, i; ; ) { - if (e.lookahead < z) { - if (j(e), - e.lookahead < z && t === l) - return A; - if (0 === e.lookahead) - break - } - if (r = 0, - e.lookahead >= x && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + x - 1]) & e.hash_mask, - r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], - e.head[e.ins_h] = e.strstart), - e.prev_length = e.match_length, - e.prev_match = e.match_start, - e.match_length = x - 1, - 0 !== r && e.prev_length < e.max_lazy_match && e.strstart - r <= e.w_size - z && (e.match_length = L(e, r), - e.match_length <= 5 && (1 === e.strategy || e.match_length === x && 4096 < e.strstart - e.match_start) && (e.match_length = x - 1)), - e.prev_length >= x && e.match_length <= e.prev_length) { - for (i = e.strstart + e.lookahead - x, - n = u._tr_tally(e, e.strstart - 1 - e.prev_match, e.prev_length - x), - e.lookahead -= e.prev_length - 1, - e.prev_length -= 2; ++e.strstart <= i && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + x - 1]) & e.hash_mask, - r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], - e.head[e.ins_h] = e.strstart), - 0 != --e.prev_length; ) - ; - if (e.match_available = 0, - e.match_length = x - 1, - e.strstart++, - n && (N(e, !1), - 0 === e.strm.avail_out)) - return A - } else if (e.match_available) { - if ((n = u._tr_tally(e, 0, e.window[e.strstart - 1])) && N(e, !1), - e.strstart++, - e.lookahead--, - 0 === e.strm.avail_out) - return A - } else - e.match_available = 1, - e.strstart++, - e.lookahead-- - } - return e.match_available && (n = u._tr_tally(e, 0, e.window[e.strstart - 1]), - e.match_available = 0), - e.insert = e.strstart < x - 1 ? e.strstart : x - 1, - t === f ? (N(e, !0), - 0 === e.strm.avail_out ? O : B) : e.last_lit && (N(e, !1), - 0 === e.strm.avail_out) ? A : I - } - function M(e, t, r, n, i) { - this.good_length = e, - this.max_lazy = t, - this.nice_length = r, - this.max_chain = n, - this.func = i - } - function H() { - this.strm = null, - this.status = 0, - this.pending_buf = null, - this.pending_buf_size = 0, - this.pending_out = 0, - this.pending = 0, - this.wrap = 0, - this.gzhead = null, - this.gzindex = 0, - this.method = v, - this.last_flush = -1, - this.w_size = 0, - this.w_bits = 0, - this.w_mask = 0, - this.window = null, - this.window_size = 0, - this.prev = null, - this.head = null, - this.ins_h = 0, - this.hash_size = 0, - this.hash_bits = 0, - this.hash_mask = 0, - this.hash_shift = 0, - this.block_start = 0, - this.match_length = 0, - this.prev_match = 0, - this.match_available = 0, - this.strstart = 0, - this.match_start = 0, - this.lookahead = 0, - this.prev_length = 0, - this.max_chain_length = 0, - this.max_lazy_match = 0, - this.level = 0, - this.strategy = 0, - this.good_match = 0, - this.nice_match = 0, - this.dyn_ltree = new c.Buf16(2 * w), - this.dyn_dtree = new c.Buf16(2 * (2 * a + 1)), - this.bl_tree = new c.Buf16(2 * (2 * o + 1)), - D(this.dyn_ltree), - D(this.dyn_dtree), - D(this.bl_tree), - this.l_desc = null, - this.d_desc = null, - this.bl_desc = null, - this.bl_count = new c.Buf16(k + 1), - this.heap = new c.Buf16(2 * s + 1), - D(this.heap), - this.heap_len = 0, - this.heap_max = 0, - this.depth = new c.Buf16(2 * s + 1), - D(this.depth), - this.l_buf = 0, - this.lit_bufsize = 0, - this.last_lit = 0, - this.d_buf = 0, - this.opt_len = 0, - this.static_len = 0, - this.matches = 0, - this.insert = 0, - this.bi_buf = 0, - this.bi_valid = 0 - } - function G(e) { - var t; - return e && e.state ? (e.total_in = e.total_out = 0, - e.data_type = i, - (t = e.state).pending = 0, - t.pending_out = 0, - t.wrap < 0 && (t.wrap = -t.wrap), - t.status = t.wrap ? C : E, - e.adler = 2 === t.wrap ? 0 : 1, - t.last_flush = l, - u._tr_init(t), - m) : R(e, _) - } - function K(e) { - var t = G(e); - return t === m && function(e) { - e.window_size = 2 * e.w_size, - D(e.head), - e.max_lazy_match = h[e.level].max_lazy, - e.good_match = h[e.level].good_length, - e.nice_match = h[e.level].nice_length, - e.max_chain_length = h[e.level].max_chain, - e.strstart = 0, - e.block_start = 0, - e.lookahead = 0, - e.insert = 0, - e.match_length = e.prev_length = x - 1, - e.match_available = 0, - e.ins_h = 0 - }(e.state), - t - } - function Y(e, t, r, n, i, s) { - if (!e) - return _; - var a = 1; - if (t === g && (t = 6), - n < 0 ? (a = 0, - n = -n) : 15 < n && (a = 2, - n -= 16), - i < 1 || y < i || r !== v || n < 8 || 15 < n || t < 0 || 9 < t || s < 0 || b < s) - return R(e, _); - 8 === n && (n = 9); - var o = new H; - return (e.state = o).strm = e, - o.wrap = a, - o.gzhead = null, - o.w_bits = n, - o.w_size = 1 << o.w_bits, - o.w_mask = o.w_size - 1, - o.hash_bits = i + 7, - o.hash_size = 1 << o.hash_bits, - o.hash_mask = o.hash_size - 1, - o.hash_shift = ~~((o.hash_bits + x - 1) / x), - o.window = new c.Buf8(2 * o.w_size), - o.head = new c.Buf16(o.hash_size), - o.prev = new c.Buf16(o.w_size), - o.lit_bufsize = 1 << i + 6, - o.pending_buf_size = 4 * o.lit_bufsize, - o.pending_buf = new c.Buf8(o.pending_buf_size), - o.d_buf = 1 * o.lit_bufsize, - o.l_buf = 3 * o.lit_bufsize, - o.level = t, - o.strategy = s, - o.method = r, - K(e) - } - h = [new M(0,0,0,0,function(e, t) { - var r = 65535; - for (r > e.pending_buf_size - 5 && (r = e.pending_buf_size - 5); ; ) { - if (e.lookahead <= 1) { - if (j(e), - 0 === e.lookahead && t === l) - return A; - if (0 === e.lookahead) - break - } - e.strstart += e.lookahead, - e.lookahead = 0; - var n = e.block_start + r; - if ((0 === e.strstart || e.strstart >= n) && (e.lookahead = e.strstart - n, - e.strstart = n, - N(e, !1), - 0 === e.strm.avail_out)) - return A; - if (e.strstart - e.block_start >= e.w_size - z && (N(e, !1), - 0 === e.strm.avail_out)) - return A - } - return e.insert = 0, - t === f ? (N(e, !0), - 0 === e.strm.avail_out ? O : B) : (e.strstart > e.block_start && (N(e, !1), - e.strm.avail_out), - A) - } - ), new M(4,4,8,4,Z), new M(4,5,16,8,Z), new M(4,6,32,32,Z), new M(4,4,16,16,W), new M(8,16,32,32,W), new M(8,16,128,128,W), new M(8,32,128,256,W), new M(32,128,258,1024,W), new M(32,258,258,4096,W)], - r.deflateInit = function(e, t) { - return Y(e, t, v, 15, 8, 0) - } - , - r.deflateInit2 = Y, - r.deflateReset = K, - r.deflateResetKeep = G, - r.deflateSetHeader = function(e, t) { - return e && e.state ? 2 !== e.state.wrap ? _ : (e.state.gzhead = t, - m) : _ - } - , - r.deflate = function(e, t) { - var r, n, i, s; - if (!e || !e.state || 5 < t || t < 0) - return e ? R(e, _) : _; - if (n = e.state, - !e.output || !e.input && 0 !== e.avail_in || 666 === n.status && t !== f) - return R(e, 0 === e.avail_out ? -5 : _); - if (n.strm = e, - r = n.last_flush, - n.last_flush = t, - n.status === C) - if (2 === n.wrap) - e.adler = 0, - U(n, 31), - U(n, 139), - U(n, 8), - n.gzhead ? (U(n, (n.gzhead.text ? 1 : 0) + (n.gzhead.hcrc ? 2 : 0) + (n.gzhead.extra ? 4 : 0) + (n.gzhead.name ? 8 : 0) + (n.gzhead.comment ? 16 : 0)), - U(n, 255 & n.gzhead.time), - U(n, n.gzhead.time >> 8 & 255), - U(n, n.gzhead.time >> 16 & 255), - U(n, n.gzhead.time >> 24 & 255), - U(n, 9 === n.level ? 2 : 2 <= n.strategy || n.level < 2 ? 4 : 0), - U(n, 255 & n.gzhead.os), - n.gzhead.extra && n.gzhead.extra.length && (U(n, 255 & n.gzhead.extra.length), - U(n, n.gzhead.extra.length >> 8 & 255)), - n.gzhead.hcrc && (e.adler = p(e.adler, n.pending_buf, n.pending, 0)), - n.gzindex = 0, - n.status = 69) : (U(n, 0), - U(n, 0), - U(n, 0), - U(n, 0), - U(n, 0), - U(n, 9 === n.level ? 2 : 2 <= n.strategy || n.level < 2 ? 4 : 0), - U(n, 3), - n.status = E); - else { - var a = v + (n.w_bits - 8 << 4) << 8; - a |= (2 <= n.strategy || n.level < 2 ? 0 : n.level < 6 ? 1 : 6 === n.level ? 2 : 3) << 6, - 0 !== n.strstart && (a |= 32), - a += 31 - a % 31, - n.status = E, - P(n, a), - 0 !== n.strstart && (P(n, e.adler >>> 16), - P(n, 65535 & e.adler)), - e.adler = 1 - } - if (69 === n.status) - if (n.gzhead.extra) { - for (i = n.pending; n.gzindex < (65535 & n.gzhead.extra.length) && (n.pending !== n.pending_buf_size || (n.gzhead.hcrc && n.pending > i && (e.adler = p(e.adler, n.pending_buf, n.pending - i, i)), - F(e), - i = n.pending, - n.pending !== n.pending_buf_size)); ) - U(n, 255 & n.gzhead.extra[n.gzindex]), - n.gzindex++; - n.gzhead.hcrc && n.pending > i && (e.adler = p(e.adler, n.pending_buf, n.pending - i, i)), - n.gzindex === n.gzhead.extra.length && (n.gzindex = 0, - n.status = 73) - } else - n.status = 73; - if (73 === n.status) - if (n.gzhead.name) { - i = n.pending; - do { - if (n.pending === n.pending_buf_size && (n.gzhead.hcrc && n.pending > i && (e.adler = p(e.adler, n.pending_buf, n.pending - i, i)), - F(e), - i = n.pending, - n.pending === n.pending_buf_size)) { - s = 1; - break - } - s = n.gzindex < n.gzhead.name.length ? 255 & n.gzhead.name.charCodeAt(n.gzindex++) : 0, - U(n, s) - } while (0 !== s); - n.gzhead.hcrc && n.pending > i && (e.adler = p(e.adler, n.pending_buf, n.pending - i, i)), - 0 === s && (n.gzindex = 0, - n.status = 91) - } else - n.status = 91; - if (91 === n.status) - if (n.gzhead.comment) { - i = n.pending; - do { - if (n.pending === n.pending_buf_size && (n.gzhead.hcrc && n.pending > i && (e.adler = p(e.adler, n.pending_buf, n.pending - i, i)), - F(e), - i = n.pending, - n.pending === n.pending_buf_size)) { - s = 1; - break - } - s = n.gzindex < n.gzhead.comment.length ? 255 & n.gzhead.comment.charCodeAt(n.gzindex++) : 0, - U(n, s) - } while (0 !== s); - n.gzhead.hcrc && n.pending > i && (e.adler = p(e.adler, n.pending_buf, n.pending - i, i)), - 0 === s && (n.status = 103) - } else - n.status = 103; - if (103 === n.status && (n.gzhead.hcrc ? (n.pending + 2 > n.pending_buf_size && F(e), - n.pending + 2 <= n.pending_buf_size && (U(n, 255 & e.adler), - U(n, e.adler >> 8 & 255), - e.adler = 0, - n.status = E)) : n.status = E), - 0 !== n.pending) { - if (F(e), - 0 === e.avail_out) - return n.last_flush = -1, - m - } else if (0 === e.avail_in && T(t) <= T(r) && t !== f) - return R(e, -5); - if (666 === n.status && 0 !== e.avail_in) - return R(e, -5); - if (0 !== e.avail_in || 0 !== n.lookahead || t !== l && 666 !== n.status) { - var o = 2 === n.strategy ? function(e, t) { - for (var r; ; ) { - if (0 === e.lookahead && (j(e), - 0 === e.lookahead)) { - if (t === l) - return A; - break - } - if (e.match_length = 0, - r = u._tr_tally(e, 0, e.window[e.strstart]), - e.lookahead--, - e.strstart++, - r && (N(e, !1), - 0 === e.strm.avail_out)) - return A - } - return e.insert = 0, - t === f ? (N(e, !0), - 0 === e.strm.avail_out ? O : B) : e.last_lit && (N(e, !1), - 0 === e.strm.avail_out) ? A : I - }(n, t) : 3 === n.strategy ? function(e, t) { - for (var r, n, i, s, a = e.window; ; ) { - if (e.lookahead <= S) { - if (j(e), - e.lookahead <= S && t === l) - return A; - if (0 === e.lookahead) - break - } - if (e.match_length = 0, - e.lookahead >= x && 0 < e.strstart && (n = a[i = e.strstart - 1]) === a[++i] && n === a[++i] && n === a[++i]) { - s = e.strstart + S; - do {} while (n === a[++i] && n === a[++i] && n === a[++i] && n === a[++i] && n === a[++i] && n === a[++i] && n === a[++i] && n === a[++i] && i < s); - e.match_length = S - (s - i), - e.match_length > e.lookahead && (e.match_length = e.lookahead) - } - if (e.match_length >= x ? (r = u._tr_tally(e, 1, e.match_length - x), - e.lookahead -= e.match_length, - e.strstart += e.match_length, - e.match_length = 0) : (r = u._tr_tally(e, 0, e.window[e.strstart]), - e.lookahead--, - e.strstart++), - r && (N(e, !1), - 0 === e.strm.avail_out)) - return A - } - return e.insert = 0, - t === f ? (N(e, !0), - 0 === e.strm.avail_out ? O : B) : e.last_lit && (N(e, !1), - 0 === e.strm.avail_out) ? A : I - }(n, t) : h[n.level].func(n, t); - if (o !== O && o !== B || (n.status = 666), - o === A || o === O) - return 0 === e.avail_out && (n.last_flush = -1), - m; - if (o === I && (1 === t ? u._tr_align(n) : 5 !== t && (u._tr_stored_block(n, 0, 0, !1), - 3 === t && (D(n.head), - 0 === n.lookahead && (n.strstart = 0, - n.block_start = 0, - n.insert = 0))), - F(e), - 0 === e.avail_out)) - return n.last_flush = -1, - m - } - return t !== f ? m : n.wrap <= 0 ? 1 : (2 === n.wrap ? (U(n, 255 & e.adler), - U(n, e.adler >> 8 & 255), - U(n, e.adler >> 16 & 255), - U(n, e.adler >> 24 & 255), - U(n, 255 & e.total_in), - U(n, e.total_in >> 8 & 255), - U(n, e.total_in >> 16 & 255), - U(n, e.total_in >> 24 & 255)) : (P(n, e.adler >>> 16), - P(n, 65535 & e.adler)), - F(e), - 0 < n.wrap && (n.wrap = -n.wrap), - 0 !== n.pending ? m : 1) - } - , - r.deflateEnd = function(e) { - var t; - return e && e.state ? (t = e.state.status) !== C && 69 !== t && 73 !== t && 91 !== t && 103 !== t && t !== E && 666 !== t ? R(e, _) : (e.state = null, - t === E ? R(e, -3) : m) : _ - } - , - r.deflateSetDictionary = function(e, t) { - var r, n, i, s, a, o, h, u, l = t.length; - if (!e || !e.state) - return _; - if (2 === (s = (r = e.state).wrap) || 1 === s && r.status !== C || r.lookahead) - return _; - for (1 === s && (e.adler = d(e.adler, t, l, 0)), - r.wrap = 0, - l >= r.w_size && (0 === s && (D(r.head), - r.strstart = 0, - r.block_start = 0, - r.insert = 0), - u = new c.Buf8(r.w_size), - c.arraySet(u, t, l - r.w_size, r.w_size, 0), - t = u, - l = r.w_size), - a = e.avail_in, - o = e.next_in, - h = e.input, - e.avail_in = l, - e.next_in = 0, - e.input = t, - j(r); r.lookahead >= x; ) { - for (n = r.strstart, - i = r.lookahead - (x - 1); r.ins_h = (r.ins_h << r.hash_shift ^ r.window[n + x - 1]) & r.hash_mask, - r.prev[n & r.w_mask] = r.head[r.ins_h], - r.head[r.ins_h] = n, - n++, - --i; ) - ; - r.strstart = n, - r.lookahead = x - 1, - j(r) - } - return r.strstart += r.lookahead, - r.block_start = r.strstart, - r.insert = r.lookahead, - r.lookahead = 0, - r.match_length = r.prev_length = x - 1, - r.match_available = 0, - e.next_in = o, - e.input = h, - e.avail_in = a, - r.wrap = s, - m - } - , - r.deflateInfo = "pako deflate (from Nodeca project)" - } - , { - "../utils/common": 41, - "./adler32": 43, - "./crc32": 45, - "./messages": 51, - "./trees": 52 - }], - 47: [function(e, t, r) { - "use strict"; - t.exports = function() { - this.text = 0, - this.time = 0, - this.xflags = 0, - this.os = 0, - this.extra = null, - this.extra_len = 0, - this.name = "", - this.comment = "", - this.hcrc = 0, - this.done = !1 - } - } - , {}], - 48: [function(e, t, r) { - "use strict"; - t.exports = function(e, t) { - var r, n, i, s, a, o, h, u, l, f, c, d, p, m, _, g, b, v, y, w, k, x, S, z, C; - r = e.state, - n = e.next_in, - z = e.input, - i = n + (e.avail_in - 5), - s = e.next_out, - C = e.output, - a = s - (t - e.avail_out), - o = s + (e.avail_out - 257), - h = r.dmax, - u = r.wsize, - l = r.whave, - f = r.wnext, - c = r.window, - d = r.hold, - p = r.bits, - m = r.lencode, - _ = r.distcode, - g = (1 << r.lenbits) - 1, - b = (1 << r.distbits) - 1; - e: do { - p < 15 && (d += z[n++] << p, - p += 8, - d += z[n++] << p, - p += 8), - v = m[d & g]; - t: for (; ; ) { - if (d >>>= y = v >>> 24, - p -= y, - 0 === (y = v >>> 16 & 255)) - C[s++] = 65535 & v; - else { - if (!(16 & y)) { - if (0 == (64 & y)) { - v = m[(65535 & v) + (d & (1 << y) - 1)]; - continue t - } - if (32 & y) { - r.mode = 12; - break e - } - e.msg = "invalid literal/length code", - r.mode = 30; - break e - } - w = 65535 & v, - (y &= 15) && (p < y && (d += z[n++] << p, - p += 8), - w += d & (1 << y) - 1, - d >>>= y, - p -= y), - p < 15 && (d += z[n++] << p, - p += 8, - d += z[n++] << p, - p += 8), - v = _[d & b]; - r: for (; ; ) { - if (d >>>= y = v >>> 24, - p -= y, - !(16 & (y = v >>> 16 & 255))) { - if (0 == (64 & y)) { - v = _[(65535 & v) + (d & (1 << y) - 1)]; - continue r - } - e.msg = "invalid distance code", - r.mode = 30; - break e - } - if (k = 65535 & v, - p < (y &= 15) && (d += z[n++] << p, - (p += 8) < y && (d += z[n++] << p, - p += 8)), - h < (k += d & (1 << y) - 1)) { - e.msg = "invalid distance too far back", - r.mode = 30; - break e - } - if (d >>>= y, - p -= y, - (y = s - a) < k) { - if (l < (y = k - y) && r.sane) { - e.msg = "invalid distance too far back", - r.mode = 30; - break e - } - if (S = c, - (x = 0) === f) { - if (x += u - y, - y < w) { - for (w -= y; C[s++] = c[x++], - --y; ) - ; - x = s - k, - S = C - } - } else if (f < y) { - if (x += u + f - y, - (y -= f) < w) { - for (w -= y; C[s++] = c[x++], - --y; ) - ; - if (x = 0, - f < w) { - for (w -= y = f; C[s++] = c[x++], - --y; ) - ; - x = s - k, - S = C - } - } - } else if (x += f - y, - y < w) { - for (w -= y; C[s++] = c[x++], - --y; ) - ; - x = s - k, - S = C - } - for (; 2 < w; ) - C[s++] = S[x++], - C[s++] = S[x++], - C[s++] = S[x++], - w -= 3; - w && (C[s++] = S[x++], - 1 < w && (C[s++] = S[x++])) - } else { - for (x = s - k; C[s++] = C[x++], - C[s++] = C[x++], - C[s++] = C[x++], - 2 < (w -= 3); ) - ; - w && (C[s++] = C[x++], - 1 < w && (C[s++] = C[x++])) - } - break - } - } - break - } - } while (n < i && s < o); - n -= w = p >> 3, - d &= (1 << (p -= w << 3)) - 1, - e.next_in = n, - e.next_out = s, - e.avail_in = n < i ? i - n + 5 : 5 - (n - i), - e.avail_out = s < o ? o - s + 257 : 257 - (s - o), - r.hold = d, - r.bits = p - } - } - , {}], - 49: [function(e, t, r) { - "use strict"; - var I = e("../utils/common") - , O = e("./adler32") - , B = e("./crc32") - , R = e("./inffast") - , T = e("./inftrees") - , D = 1 - , F = 2 - , N = 0 - , U = -2 - , P = 1 - , n = 852 - , i = 592; - function L(e) { - return (e >>> 24 & 255) + (e >>> 8 & 65280) + ((65280 & e) << 8) + ((255 & e) << 24) - } - function s() { - this.mode = 0, - this.last = !1, - this.wrap = 0, - this.havedict = !1, - this.flags = 0, - this.dmax = 0, - this.check = 0, - this.total = 0, - this.head = null, - this.wbits = 0, - this.wsize = 0, - this.whave = 0, - this.wnext = 0, - this.window = null, - this.hold = 0, - this.bits = 0, - this.length = 0, - this.offset = 0, - this.extra = 0, - this.lencode = null, - this.distcode = null, - this.lenbits = 0, - this.distbits = 0, - this.ncode = 0, - this.nlen = 0, - this.ndist = 0, - this.have = 0, - this.next = null, - this.lens = new I.Buf16(320), - this.work = new I.Buf16(288), - this.lendyn = null, - this.distdyn = null, - this.sane = 0, - this.back = 0, - this.was = 0 - } - function a(e) { - var t; - return e && e.state ? (t = e.state, - e.total_in = e.total_out = t.total = 0, - e.msg = "", - t.wrap && (e.adler = 1 & t.wrap), - t.mode = P, - t.last = 0, - t.havedict = 0, - t.dmax = 32768, - t.head = null, - t.hold = 0, - t.bits = 0, - t.lencode = t.lendyn = new I.Buf32(n), - t.distcode = t.distdyn = new I.Buf32(i), - t.sane = 1, - t.back = -1, - N) : U - } - function o(e) { - var t; - return e && e.state ? ((t = e.state).wsize = 0, - t.whave = 0, - t.wnext = 0, - a(e)) : U - } - function h(e, t) { - var r, n; - return e && e.state ? (n = e.state, - t < 0 ? (r = 0, - t = -t) : (r = 1 + (t >> 4), - t < 48 && (t &= 15)), - t && (t < 8 || 15 < t) ? U : (null !== n.window && n.wbits !== t && (n.window = null), - n.wrap = r, - n.wbits = t, - o(e))) : U - } - function u(e, t) { - var r, n; - return e ? (n = new s, - (e.state = n).window = null, - (r = h(e, t)) !== N && (e.state = null), - r) : U - } - var l, f, c = !0; - function j(e) { - if (c) { - var t; - for (l = new I.Buf32(512), - f = new I.Buf32(32), - t = 0; t < 144; ) - e.lens[t++] = 8; - for (; t < 256; ) - e.lens[t++] = 9; - for (; t < 280; ) - e.lens[t++] = 7; - for (; t < 288; ) - e.lens[t++] = 8; - for (T(D, e.lens, 0, 288, l, 0, e.work, { - bits: 9 - }), - t = 0; t < 32; ) - e.lens[t++] = 5; - T(F, e.lens, 0, 32, f, 0, e.work, { - bits: 5 - }), - c = !1 - } - e.lencode = l, - e.lenbits = 9, - e.distcode = f, - e.distbits = 5 - } - function Z(e, t, r, n) { - var i, s = e.state; - return null === s.window && (s.wsize = 1 << s.wbits, - s.wnext = 0, - s.whave = 0, - s.window = new I.Buf8(s.wsize)), - n >= s.wsize ? (I.arraySet(s.window, t, r - s.wsize, s.wsize, 0), - s.wnext = 0, - s.whave = s.wsize) : (n < (i = s.wsize - s.wnext) && (i = n), - I.arraySet(s.window, t, r - n, i, s.wnext), - (n -= i) ? (I.arraySet(s.window, t, r - n, n, 0), - s.wnext = n, - s.whave = s.wsize) : (s.wnext += i, - s.wnext === s.wsize && (s.wnext = 0), - s.whave < s.wsize && (s.whave += i))), - 0 - } - r.inflateReset = o, - r.inflateReset2 = h, - r.inflateResetKeep = a, - r.inflateInit = function(e) { - return u(e, 15) - } - , - r.inflateInit2 = u, - r.inflate = function(e, t) { - var r, n, i, s, a, o, h, u, l, f, c, d, p, m, _, g, b, v, y, w, k, x, S, z, C = 0, E = new I.Buf8(4), A = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; - if (!e || !e.state || !e.output || !e.input && 0 !== e.avail_in) - return U; - 12 === (r = e.state).mode && (r.mode = 13), - a = e.next_out, - i = e.output, - h = e.avail_out, - s = e.next_in, - n = e.input, - o = e.avail_in, - u = r.hold, - l = r.bits, - f = o, - c = h, - x = N; - e: for (; ; ) - switch (r.mode) { - case P: - if (0 === r.wrap) { - r.mode = 13; - break - } - for (; l < 16; ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - if (2 & r.wrap && 35615 === u) { - E[r.check = 0] = 255 & u, - E[1] = u >>> 8 & 255, - r.check = B(r.check, E, 2, 0), - l = u = 0, - r.mode = 2; - break - } - if (r.flags = 0, - r.head && (r.head.done = !1), - !(1 & r.wrap) || (((255 & u) << 8) + (u >> 8)) % 31) { - e.msg = "incorrect header check", - r.mode = 30; - break - } - if (8 != (15 & u)) { - e.msg = "unknown compression method", - r.mode = 30; - break - } - if (l -= 4, - k = 8 + (15 & (u >>>= 4)), - 0 === r.wbits) - r.wbits = k; - else if (k > r.wbits) { - e.msg = "invalid window size", - r.mode = 30; - break - } - r.dmax = 1 << k, - e.adler = r.check = 1, - r.mode = 512 & u ? 10 : 12, - l = u = 0; - break; - case 2: - for (; l < 16; ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - if (r.flags = u, - 8 != (255 & r.flags)) { - e.msg = "unknown compression method", - r.mode = 30; - break - } - if (57344 & r.flags) { - e.msg = "unknown header flags set", - r.mode = 30; - break - } - r.head && (r.head.text = u >> 8 & 1), - 512 & r.flags && (E[0] = 255 & u, - E[1] = u >>> 8 & 255, - r.check = B(r.check, E, 2, 0)), - l = u = 0, - r.mode = 3; - case 3: - for (; l < 32; ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - r.head && (r.head.time = u), - 512 & r.flags && (E[0] = 255 & u, - E[1] = u >>> 8 & 255, - E[2] = u >>> 16 & 255, - E[3] = u >>> 24 & 255, - r.check = B(r.check, E, 4, 0)), - l = u = 0, - r.mode = 4; - case 4: - for (; l < 16; ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - r.head && (r.head.xflags = 255 & u, - r.head.os = u >> 8), - 512 & r.flags && (E[0] = 255 & u, - E[1] = u >>> 8 & 255, - r.check = B(r.check, E, 2, 0)), - l = u = 0, - r.mode = 5; - case 5: - if (1024 & r.flags) { - for (; l < 16; ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - r.length = u, - r.head && (r.head.extra_len = u), - 512 & r.flags && (E[0] = 255 & u, - E[1] = u >>> 8 & 255, - r.check = B(r.check, E, 2, 0)), - l = u = 0 - } else - r.head && (r.head.extra = null); - r.mode = 6; - case 6: - if (1024 & r.flags && (o < (d = r.length) && (d = o), - d && (r.head && (k = r.head.extra_len - r.length, - r.head.extra || (r.head.extra = new Array(r.head.extra_len)), - I.arraySet(r.head.extra, n, s, d, k)), - 512 & r.flags && (r.check = B(r.check, n, d, s)), - o -= d, - s += d, - r.length -= d), - r.length)) - break e; - r.length = 0, - r.mode = 7; - case 7: - if (2048 & r.flags) { - if (0 === o) - break e; - for (d = 0; k = n[s + d++], - r.head && k && r.length < 65536 && (r.head.name += String.fromCharCode(k)), - k && d < o; ) - ; - if (512 & r.flags && (r.check = B(r.check, n, d, s)), - o -= d, - s += d, - k) - break e - } else - r.head && (r.head.name = null); - r.length = 0, - r.mode = 8; - case 8: - if (4096 & r.flags) { - if (0 === o) - break e; - for (d = 0; k = n[s + d++], - r.head && k && r.length < 65536 && (r.head.comment += String.fromCharCode(k)), - k && d < o; ) - ; - if (512 & r.flags && (r.check = B(r.check, n, d, s)), - o -= d, - s += d, - k) - break e - } else - r.head && (r.head.comment = null); - r.mode = 9; - case 9: - if (512 & r.flags) { - for (; l < 16; ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - if (u !== (65535 & r.check)) { - e.msg = "header crc mismatch", - r.mode = 30; - break - } - l = u = 0 - } - r.head && (r.head.hcrc = r.flags >> 9 & 1, - r.head.done = !0), - e.adler = r.check = 0, - r.mode = 12; - break; - case 10: - for (; l < 32; ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - e.adler = r.check = L(u), - l = u = 0, - r.mode = 11; - case 11: - if (0 === r.havedict) - return e.next_out = a, - e.avail_out = h, - e.next_in = s, - e.avail_in = o, - r.hold = u, - r.bits = l, - 2; - e.adler = r.check = 1, - r.mode = 12; - case 12: - if (5 === t || 6 === t) - break e; - case 13: - if (r.last) { - u >>>= 7 & l, - l -= 7 & l, - r.mode = 27; - break - } - for (; l < 3; ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - switch (r.last = 1 & u, - l -= 1, - 3 & (u >>>= 1)) { - case 0: - r.mode = 14; - break; - case 1: - if (j(r), - r.mode = 20, - 6 !== t) - break; - u >>>= 2, - l -= 2; - break e; - case 2: - r.mode = 17; - break; - case 3: - e.msg = "invalid block type", - r.mode = 30 - } - u >>>= 2, - l -= 2; - break; - case 14: - for (u >>>= 7 & l, - l -= 7 & l; l < 32; ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - if ((65535 & u) != (u >>> 16 ^ 65535)) { - e.msg = "invalid stored block lengths", - r.mode = 30; - break - } - if (r.length = 65535 & u, - l = u = 0, - r.mode = 15, - 6 === t) - break e; - case 15: - r.mode = 16; - case 16: - if (d = r.length) { - if (o < d && (d = o), - h < d && (d = h), - 0 === d) - break e; - I.arraySet(i, n, s, d, a), - o -= d, - s += d, - h -= d, - a += d, - r.length -= d; - break - } - r.mode = 12; - break; - case 17: - for (; l < 14; ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - if (r.nlen = 257 + (31 & u), - u >>>= 5, - l -= 5, - r.ndist = 1 + (31 & u), - u >>>= 5, - l -= 5, - r.ncode = 4 + (15 & u), - u >>>= 4, - l -= 4, - 286 < r.nlen || 30 < r.ndist) { - e.msg = "too many length or distance symbols", - r.mode = 30; - break - } - r.have = 0, - r.mode = 18; - case 18: - for (; r.have < r.ncode; ) { - for (; l < 3; ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - r.lens[A[r.have++]] = 7 & u, - u >>>= 3, - l -= 3 - } - for (; r.have < 19; ) - r.lens[A[r.have++]] = 0; - if (r.lencode = r.lendyn, - r.lenbits = 7, - S = { - bits: r.lenbits - }, - x = T(0, r.lens, 0, 19, r.lencode, 0, r.work, S), - r.lenbits = S.bits, - x) { - e.msg = "invalid code lengths set", - r.mode = 30; - break - } - r.have = 0, - r.mode = 19; - case 19: - for (; r.have < r.nlen + r.ndist; ) { - for (; g = (C = r.lencode[u & (1 << r.lenbits) - 1]) >>> 16 & 255, - b = 65535 & C, - !((_ = C >>> 24) <= l); ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - if (b < 16) - u >>>= _, - l -= _, - r.lens[r.have++] = b; - else { - if (16 === b) { - for (z = _ + 2; l < z; ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - if (u >>>= _, - l -= _, - 0 === r.have) { - e.msg = "invalid bit length repeat", - r.mode = 30; - break - } - k = r.lens[r.have - 1], - d = 3 + (3 & u), - u >>>= 2, - l -= 2 - } else if (17 === b) { - for (z = _ + 3; l < z; ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - l -= _, - k = 0, - d = 3 + (7 & (u >>>= _)), - u >>>= 3, - l -= 3 - } else { - for (z = _ + 7; l < z; ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - l -= _, - k = 0, - d = 11 + (127 & (u >>>= _)), - u >>>= 7, - l -= 7 - } - if (r.have + d > r.nlen + r.ndist) { - e.msg = "invalid bit length repeat", - r.mode = 30; - break - } - for (; d--; ) - r.lens[r.have++] = k - } - } - if (30 === r.mode) - break; - if (0 === r.lens[256]) { - e.msg = "invalid code -- missing end-of-block", - r.mode = 30; - break - } - if (r.lenbits = 9, - S = { - bits: r.lenbits - }, - x = T(D, r.lens, 0, r.nlen, r.lencode, 0, r.work, S), - r.lenbits = S.bits, - x) { - e.msg = "invalid literal/lengths set", - r.mode = 30; - break - } - if (r.distbits = 6, - r.distcode = r.distdyn, - S = { - bits: r.distbits - }, - x = T(F, r.lens, r.nlen, r.ndist, r.distcode, 0, r.work, S), - r.distbits = S.bits, - x) { - e.msg = "invalid distances set", - r.mode = 30; - break - } - if (r.mode = 20, - 6 === t) - break e; - case 20: - r.mode = 21; - case 21: - if (6 <= o && 258 <= h) { - e.next_out = a, - e.avail_out = h, - e.next_in = s, - e.avail_in = o, - r.hold = u, - r.bits = l, - R(e, c), - a = e.next_out, - i = e.output, - h = e.avail_out, - s = e.next_in, - n = e.input, - o = e.avail_in, - u = r.hold, - l = r.bits, - 12 === r.mode && (r.back = -1); - break - } - for (r.back = 0; g = (C = r.lencode[u & (1 << r.lenbits) - 1]) >>> 16 & 255, - b = 65535 & C, - !((_ = C >>> 24) <= l); ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - if (g && 0 == (240 & g)) { - for (v = _, - y = g, - w = b; g = (C = r.lencode[w + ((u & (1 << v + y) - 1) >> v)]) >>> 16 & 255, - b = 65535 & C, - !(v + (_ = C >>> 24) <= l); ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - u >>>= v, - l -= v, - r.back += v - } - if (u >>>= _, - l -= _, - r.back += _, - r.length = b, - 0 === g) { - r.mode = 26; - break - } - if (32 & g) { - r.back = -1, - r.mode = 12; - break - } - if (64 & g) { - e.msg = "invalid literal/length code", - r.mode = 30; - break - } - r.extra = 15 & g, - r.mode = 22; - case 22: - if (r.extra) { - for (z = r.extra; l < z; ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - r.length += u & (1 << r.extra) - 1, - u >>>= r.extra, - l -= r.extra, - r.back += r.extra - } - r.was = r.length, - r.mode = 23; - case 23: - for (; g = (C = r.distcode[u & (1 << r.distbits) - 1]) >>> 16 & 255, - b = 65535 & C, - !((_ = C >>> 24) <= l); ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - if (0 == (240 & g)) { - for (v = _, - y = g, - w = b; g = (C = r.distcode[w + ((u & (1 << v + y) - 1) >> v)]) >>> 16 & 255, - b = 65535 & C, - !(v + (_ = C >>> 24) <= l); ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - u >>>= v, - l -= v, - r.back += v - } - if (u >>>= _, - l -= _, - r.back += _, - 64 & g) { - e.msg = "invalid distance code", - r.mode = 30; - break - } - r.offset = b, - r.extra = 15 & g, - r.mode = 24; - case 24: - if (r.extra) { - for (z = r.extra; l < z; ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - r.offset += u & (1 << r.extra) - 1, - u >>>= r.extra, - l -= r.extra, - r.back += r.extra - } - if (r.offset > r.dmax) { - e.msg = "invalid distance too far back", - r.mode = 30; - break - } - r.mode = 25; - case 25: - if (0 === h) - break e; - if (d = c - h, - r.offset > d) { - if ((d = r.offset - d) > r.whave && r.sane) { - e.msg = "invalid distance too far back", - r.mode = 30; - break - } - p = d > r.wnext ? (d -= r.wnext, - r.wsize - d) : r.wnext - d, - d > r.length && (d = r.length), - m = r.window - } else - m = i, - p = a - r.offset, - d = r.length; - for (h < d && (d = h), - h -= d, - r.length -= d; i[a++] = m[p++], - --d; ) - ; - 0 === r.length && (r.mode = 21); - break; - case 26: - if (0 === h) - break e; - i[a++] = r.length, - h--, - r.mode = 21; - break; - case 27: - if (r.wrap) { - for (; l < 32; ) { - if (0 === o) - break e; - o--, - u |= n[s++] << l, - l += 8 - } - if (c -= h, - e.total_out += c, - r.total += c, - c && (e.adler = r.check = r.flags ? B(r.check, i, c, a - c) : O(r.check, i, c, a - c)), - c = h, - (r.flags ? u : L(u)) !== r.check) { - e.msg = "incorrect data check", - r.mode = 30; - break - } - l = u = 0 - } - r.mode = 28; - case 28: - if (r.wrap && r.flags) { - for (; l < 32; ) { - if (0 === o) - break e; - o--, - u += n[s++] << l, - l += 8 - } - if (u !== (4294967295 & r.total)) { - e.msg = "incorrect length check", - r.mode = 30; - break - } - l = u = 0 - } - r.mode = 29; - case 29: - x = 1; - break e; - case 30: - x = -3; - break e; - case 31: - return -4; - case 32: - default: - return U - } - return e.next_out = a, - e.avail_out = h, - e.next_in = s, - e.avail_in = o, - r.hold = u, - r.bits = l, - (r.wsize || c !== e.avail_out && r.mode < 30 && (r.mode < 27 || 4 !== t)) && Z(e, e.output, e.next_out, c - e.avail_out) ? (r.mode = 31, - -4) : (f -= e.avail_in, - c -= e.avail_out, - e.total_in += f, - e.total_out += c, - r.total += c, - r.wrap && c && (e.adler = r.check = r.flags ? B(r.check, i, c, e.next_out - c) : O(r.check, i, c, e.next_out - c)), - e.data_type = r.bits + (r.last ? 64 : 0) + (12 === r.mode ? 128 : 0) + (20 === r.mode || 15 === r.mode ? 256 : 0), - (0 == f && 0 === c || 4 === t) && x === N && (x = -5), - x) - } - , - r.inflateEnd = function(e) { - if (!e || !e.state) - return U; - var t = e.state; - return t.window && (t.window = null), - e.state = null, - N - } - , - r.inflateGetHeader = function(e, t) { - var r; - return e && e.state ? 0 == (2 & (r = e.state).wrap) ? U : ((r.head = t).done = !1, - N) : U - } - , - r.inflateSetDictionary = function(e, t) { - var r, n = t.length; - return e && e.state ? 0 !== (r = e.state).wrap && 11 !== r.mode ? U : 11 === r.mode && O(1, t, n, 0) !== r.check ? -3 : Z(e, t, n, n) ? (r.mode = 31, - -4) : (r.havedict = 1, - N) : U - } - , - r.inflateInfo = "pako inflate (from Nodeca project)" - } - , { - "../utils/common": 41, - "./adler32": 43, - "./crc32": 45, - "./inffast": 48, - "./inftrees": 50 - }], - 50: [function(e, t, r) { - "use strict"; - var D = e("../utils/common") - , F = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0] - , N = [16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78] - , U = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0] - , P = [16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64]; - t.exports = function(e, t, r, n, i, s, a, o) { - var h, u, l, f, c, d, p, m, _, g = o.bits, b = 0, v = 0, y = 0, w = 0, k = 0, x = 0, S = 0, z = 0, C = 0, E = 0, A = null, I = 0, O = new D.Buf16(16), B = new D.Buf16(16), R = null, T = 0; - for (b = 0; b <= 15; b++) - O[b] = 0; - for (v = 0; v < n; v++) - O[t[r + v]]++; - for (k = g, - w = 15; 1 <= w && 0 === O[w]; w--) - ; - if (w < k && (k = w), - 0 === w) - return i[s++] = 20971520, - i[s++] = 20971520, - o.bits = 1, - 0; - for (y = 1; y < w && 0 === O[y]; y++) - ; - for (k < y && (k = y), - b = z = 1; b <= 15; b++) - if (z <<= 1, - (z -= O[b]) < 0) - return -1; - if (0 < z && (0 === e || 1 !== w)) - return -1; - for (B[1] = 0, - b = 1; b < 15; b++) - B[b + 1] = B[b] + O[b]; - for (v = 0; v < n; v++) - 0 !== t[r + v] && (a[B[t[r + v]]++] = v); - if (d = 0 === e ? (A = R = a, - 19) : 1 === e ? (A = F, - I -= 257, - R = N, - T -= 257, - 256) : (A = U, - R = P, - -1), - b = y, - c = s, - S = v = E = 0, - l = -1, - f = (C = 1 << (x = k)) - 1, - 1 === e && 852 < C || 2 === e && 592 < C) - return 1; - for (; ; ) { - for (p = b - S, - _ = a[v] < d ? (m = 0, - a[v]) : a[v] > d ? (m = R[T + a[v]], - A[I + a[v]]) : (m = 96, - 0), - h = 1 << b - S, - y = u = 1 << x; i[c + (E >> S) + (u -= h)] = p << 24 | m << 16 | _ | 0, - 0 !== u; ) - ; - for (h = 1 << b - 1; E & h; ) - h >>= 1; - if (0 !== h ? (E &= h - 1, - E += h) : E = 0, - v++, - 0 == --O[b]) { - if (b === w) - break; - b = t[r + a[v]] - } - if (k < b && (E & f) !== l) { - for (0 === S && (S = k), - c += y, - z = 1 << (x = b - S); x + S < w && !((z -= O[x + S]) <= 0); ) - x++, - z <<= 1; - if (C += 1 << x, - 1 === e && 852 < C || 2 === e && 592 < C) - return 1; - i[l = E & f] = k << 24 | x << 16 | c - s | 0 - } - } - return 0 !== E && (i[c + E] = b - S << 24 | 64 << 16 | 0), - o.bits = k, - 0 - } - } - , { - "../utils/common": 41 - }], - 51: [function(e, t, r) { - "use strict"; - t.exports = { - 2: "need dictionary", - 1: "stream end", - 0: "", - "-1": "file error", - "-2": "stream error", - "-3": "data error", - "-4": "insufficient memory", - "-5": "buffer error", - "-6": "incompatible version" - } - } - , {}], - 52: [function(e, t, r) { - "use strict"; - var i = e("../utils/common") - , o = 0 - , h = 1; - function n(e) { - for (var t = e.length; 0 <= --t; ) - e[t] = 0 - } - var s = 0 - , a = 29 - , u = 256 - , l = u + 1 + a - , f = 30 - , c = 19 - , _ = 2 * l + 1 - , g = 15 - , d = 16 - , p = 7 - , m = 256 - , b = 16 - , v = 17 - , y = 18 - , w = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0] - , k = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13] - , x = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7] - , S = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15] - , z = new Array(2 * (l + 2)); - n(z); - var C = new Array(2 * f); - n(C); - var E = new Array(512); - n(E); - var A = new Array(256); - n(A); - var I = new Array(a); - n(I); - var O, B, R, T = new Array(f); - function D(e, t, r, n, i) { - this.static_tree = e, - this.extra_bits = t, - this.extra_base = r, - this.elems = n, - this.max_length = i, - this.has_stree = e && e.length - } - function F(e, t) { - this.dyn_tree = e, - this.max_code = 0, - this.stat_desc = t - } - function N(e) { - return e < 256 ? E[e] : E[256 + (e >>> 7)] - } - function U(e, t) { - e.pending_buf[e.pending++] = 255 & t, - e.pending_buf[e.pending++] = t >>> 8 & 255 - } - function P(e, t, r) { - e.bi_valid > d - r ? (e.bi_buf |= t << e.bi_valid & 65535, - U(e, e.bi_buf), - e.bi_buf = t >> d - e.bi_valid, - e.bi_valid += r - d) : (e.bi_buf |= t << e.bi_valid & 65535, - e.bi_valid += r) - } - function L(e, t, r) { - P(e, r[2 * t], r[2 * t + 1]) - } - function j(e, t) { - for (var r = 0; r |= 1 & e, - e >>>= 1, - r <<= 1, - 0 < --t; ) - ; - return r >>> 1 - } - function Z(e, t, r) { - var n, i, s = new Array(g + 1), a = 0; - for (n = 1; n <= g; n++) - s[n] = a = a + r[n - 1] << 1; - for (i = 0; i <= t; i++) { - var o = e[2 * i + 1]; - 0 !== o && (e[2 * i] = j(s[o]++, o)) - } - } - function W(e) { - var t; - for (t = 0; t < l; t++) - e.dyn_ltree[2 * t] = 0; - for (t = 0; t < f; t++) - e.dyn_dtree[2 * t] = 0; - for (t = 0; t < c; t++) - e.bl_tree[2 * t] = 0; - e.dyn_ltree[2 * m] = 1, - e.opt_len = e.static_len = 0, - e.last_lit = e.matches = 0 - } - function M(e) { - 8 < e.bi_valid ? U(e, e.bi_buf) : 0 < e.bi_valid && (e.pending_buf[e.pending++] = e.bi_buf), - e.bi_buf = 0, - e.bi_valid = 0 - } - function H(e, t, r, n) { - var i = 2 * t - , s = 2 * r; - return e[i] < e[s] || e[i] === e[s] && n[t] <= n[r] - } - function G(e, t, r) { - for (var n = e.heap[r], i = r << 1; i <= e.heap_len && (i < e.heap_len && H(t, e.heap[i + 1], e.heap[i], e.depth) && i++, - !H(t, n, e.heap[i], e.depth)); ) - e.heap[r] = e.heap[i], - r = i, - i <<= 1; - e.heap[r] = n - } - function K(e, t, r) { - var n, i, s, a, o = 0; - if (0 !== e.last_lit) - for (; n = e.pending_buf[e.d_buf + 2 * o] << 8 | e.pending_buf[e.d_buf + 2 * o + 1], - i = e.pending_buf[e.l_buf + o], - o++, - 0 === n ? L(e, i, t) : (L(e, (s = A[i]) + u + 1, t), - 0 !== (a = w[s]) && P(e, i -= I[s], a), - L(e, s = N(--n), r), - 0 !== (a = k[s]) && P(e, n -= T[s], a)), - o < e.last_lit; ) - ; - L(e, m, t) - } - function Y(e, t) { - var r, n, i, s = t.dyn_tree, a = t.stat_desc.static_tree, o = t.stat_desc.has_stree, h = t.stat_desc.elems, u = -1; - for (e.heap_len = 0, - e.heap_max = _, - r = 0; r < h; r++) - 0 !== s[2 * r] ? (e.heap[++e.heap_len] = u = r, - e.depth[r] = 0) : s[2 * r + 1] = 0; - for (; e.heap_len < 2; ) - s[2 * (i = e.heap[++e.heap_len] = u < 2 ? ++u : 0)] = 1, - e.depth[i] = 0, - e.opt_len--, - o && (e.static_len -= a[2 * i + 1]); - for (t.max_code = u, - r = e.heap_len >> 1; 1 <= r; r--) - G(e, s, r); - for (i = h; r = e.heap[1], - e.heap[1] = e.heap[e.heap_len--], - G(e, s, 1), - n = e.heap[1], - e.heap[--e.heap_max] = r, - e.heap[--e.heap_max] = n, - s[2 * i] = s[2 * r] + s[2 * n], - e.depth[i] = (e.depth[r] >= e.depth[n] ? e.depth[r] : e.depth[n]) + 1, - s[2 * r + 1] = s[2 * n + 1] = i, - e.heap[1] = i++, - G(e, s, 1), - 2 <= e.heap_len; ) - ; - e.heap[--e.heap_max] = e.heap[1], - function(e, t) { - var r, n, i, s, a, o, h = t.dyn_tree, u = t.max_code, l = t.stat_desc.static_tree, f = t.stat_desc.has_stree, c = t.stat_desc.extra_bits, d = t.stat_desc.extra_base, p = t.stat_desc.max_length, m = 0; - for (s = 0; s <= g; s++) - e.bl_count[s] = 0; - for (h[2 * e.heap[e.heap_max] + 1] = 0, - r = e.heap_max + 1; r < _; r++) - p < (s = h[2 * h[2 * (n = e.heap[r]) + 1] + 1] + 1) && (s = p, - m++), - h[2 * n + 1] = s, - u < n || (e.bl_count[s]++, - a = 0, - d <= n && (a = c[n - d]), - o = h[2 * n], - e.opt_len += o * (s + a), - f && (e.static_len += o * (l[2 * n + 1] + a))); - if (0 !== m) { - do { - for (s = p - 1; 0 === e.bl_count[s]; ) - s--; - e.bl_count[s]--, - e.bl_count[s + 1] += 2, - e.bl_count[p]--, - m -= 2 - } while (0 < m); - for (s = p; 0 !== s; s--) - for (n = e.bl_count[s]; 0 !== n; ) - u < (i = e.heap[--r]) || (h[2 * i + 1] !== s && (e.opt_len += (s - h[2 * i + 1]) * h[2 * i], - h[2 * i + 1] = s), - n--) - } - }(e, t), - Z(s, u, e.bl_count) - } - function X(e, t, r) { - var n, i, s = -1, a = t[1], o = 0, h = 7, u = 4; - for (0 === a && (h = 138, - u = 3), - t[2 * (r + 1) + 1] = 65535, - n = 0; n <= r; n++) - i = a, - a = t[2 * (n + 1) + 1], - ++o < h && i === a || (o < u ? e.bl_tree[2 * i] += o : 0 !== i ? (i !== s && e.bl_tree[2 * i]++, - e.bl_tree[2 * b]++) : o <= 10 ? e.bl_tree[2 * v]++ : e.bl_tree[2 * y]++, - s = i, - u = (o = 0) === a ? (h = 138, - 3) : i === a ? (h = 6, - 3) : (h = 7, - 4)) - } - function V(e, t, r) { - var n, i, s = -1, a = t[1], o = 0, h = 7, u = 4; - for (0 === a && (h = 138, - u = 3), - n = 0; n <= r; n++) - if (i = a, - a = t[2 * (n + 1) + 1], - !(++o < h && i === a)) { - if (o < u) - for (; L(e, i, e.bl_tree), - 0 != --o; ) - ; - else - 0 !== i ? (i !== s && (L(e, i, e.bl_tree), - o--), - L(e, b, e.bl_tree), - P(e, o - 3, 2)) : o <= 10 ? (L(e, v, e.bl_tree), - P(e, o - 3, 3)) : (L(e, y, e.bl_tree), - P(e, o - 11, 7)); - s = i, - u = (o = 0) === a ? (h = 138, - 3) : i === a ? (h = 6, - 3) : (h = 7, - 4) - } - } - n(T); - var q = !1; - function J(e, t, r, n) { - P(e, (s << 1) + (n ? 1 : 0), 3), - function(e, t, r, n) { - M(e), - n && (U(e, r), - U(e, ~r)), - i.arraySet(e.pending_buf, e.window, t, r, e.pending), - e.pending += r - }(e, t, r, !0) - } - r._tr_init = function(e) { - q || (function() { - var e, t, r, n, i, s = new Array(g + 1); - for (n = r = 0; n < a - 1; n++) - for (I[n] = r, - e = 0; e < 1 << w[n]; e++) - A[r++] = n; - for (A[r - 1] = n, - n = i = 0; n < 16; n++) - for (T[n] = i, - e = 0; e < 1 << k[n]; e++) - E[i++] = n; - for (i >>= 7; n < f; n++) - for (T[n] = i << 7, - e = 0; e < 1 << k[n] - 7; e++) - E[256 + i++] = n; - for (t = 0; t <= g; t++) - s[t] = 0; - for (e = 0; e <= 143; ) - z[2 * e + 1] = 8, - e++, - s[8]++; - for (; e <= 255; ) - z[2 * e + 1] = 9, - e++, - s[9]++; - for (; e <= 279; ) - z[2 * e + 1] = 7, - e++, - s[7]++; - for (; e <= 287; ) - z[2 * e + 1] = 8, - e++, - s[8]++; - for (Z(z, l + 1, s), - e = 0; e < f; e++) - C[2 * e + 1] = 5, - C[2 * e] = j(e, 5); - O = new D(z,w,u + 1,l,g), - B = new D(C,k,0,f,g), - R = new D(new Array(0),x,0,c,p) - }(), - q = !0), - e.l_desc = new F(e.dyn_ltree,O), - e.d_desc = new F(e.dyn_dtree,B), - e.bl_desc = new F(e.bl_tree,R), - e.bi_buf = 0, - e.bi_valid = 0, - W(e) - } - , - r._tr_stored_block = J, - r._tr_flush_block = function(e, t, r, n) { - var i, s, a = 0; - 0 < e.level ? (2 === e.strm.data_type && (e.strm.data_type = function(e) { - var t, r = 4093624447; - for (t = 0; t <= 31; t++, - r >>>= 1) - if (1 & r && 0 !== e.dyn_ltree[2 * t]) - return o; - if (0 !== e.dyn_ltree[18] || 0 !== e.dyn_ltree[20] || 0 !== e.dyn_ltree[26]) - return h; - for (t = 32; t < u; t++) - if (0 !== e.dyn_ltree[2 * t]) - return h; - return o - }(e)), - Y(e, e.l_desc), - Y(e, e.d_desc), - a = function(e) { - var t; - for (X(e, e.dyn_ltree, e.l_desc.max_code), - X(e, e.dyn_dtree, e.d_desc.max_code), - Y(e, e.bl_desc), - t = c - 1; 3 <= t && 0 === e.bl_tree[2 * S[t] + 1]; t--) - ; - return e.opt_len += 3 * (t + 1) + 5 + 5 + 4, - t - }(e), - i = e.opt_len + 3 + 7 >>> 3, - (s = e.static_len + 3 + 7 >>> 3) <= i && (i = s)) : i = s = r + 5, - r + 4 <= i && -1 !== t ? J(e, t, r, n) : 4 === e.strategy || s === i ? (P(e, 2 + (n ? 1 : 0), 3), - K(e, z, C)) : (P(e, 4 + (n ? 1 : 0), 3), - function(e, t, r, n) { - var i; - for (P(e, t - 257, 5), - P(e, r - 1, 5), - P(e, n - 4, 4), - i = 0; i < n; i++) - P(e, e.bl_tree[2 * S[i] + 1], 3); - V(e, e.dyn_ltree, t - 1), - V(e, e.dyn_dtree, r - 1) - }(e, e.l_desc.max_code + 1, e.d_desc.max_code + 1, a + 1), - K(e, e.dyn_ltree, e.dyn_dtree)), - W(e), - n && M(e) - } - , - r._tr_tally = function(e, t, r) { - return e.pending_buf[e.d_buf + 2 * e.last_lit] = t >>> 8 & 255, - e.pending_buf[e.d_buf + 2 * e.last_lit + 1] = 255 & t, - e.pending_buf[e.l_buf + e.last_lit] = 255 & r, - e.last_lit++, - 0 === t ? e.dyn_ltree[2 * r]++ : (e.matches++, - t--, - e.dyn_ltree[2 * (A[r] + u + 1)]++, - e.dyn_dtree[2 * N(t)]++), - e.last_lit === e.lit_bufsize - 1 - } - , - r._tr_align = function(e) { - P(e, 2, 3), - L(e, m, z), - function(e) { - 16 === e.bi_valid ? (U(e, e.bi_buf), - e.bi_buf = 0, - e.bi_valid = 0) : 8 <= e.bi_valid && (e.pending_buf[e.pending++] = 255 & e.bi_buf, - e.bi_buf >>= 8, - e.bi_valid -= 8) - }(e) - } - } - , { - "../utils/common": 41 - }], - 53: [function(e, t, r) { - "use strict"; - t.exports = function() { - this.input = null, - this.next_in = 0, - this.avail_in = 0, - this.total_in = 0, - this.output = null, - this.next_out = 0, - this.avail_out = 0, - this.total_out = 0, - this.msg = "", - this.state = null, - this.data_type = 2, - this.adler = 0 - } - } - , {}], - 54: [function(e, t, r) { - (function(e) { - !function(r, n) { - "use strict"; - if (!r.setImmediate) { - var i, s, t, a, o = 1, h = {}, u = !1, l = r.document, e = Object.getPrototypeOf && Object.getPrototypeOf(r); - e = e && e.setTimeout ? e : r, - i = "[object process]" === {}.toString.call(r.process) ? function(e) { - process.nextTick(function() { - c(e) - }) - } - : function() { - if (r.postMessage && !r.importScripts) { - var e = !0 - , t = r.onmessage; - return r.onmessage = function() { - e = !1 - } - , - r.postMessage("", "*"), - r.onmessage = t, - e - } - }() ? (a = "setImmediate$" + Math.random() + "$", - r.addEventListener ? r.addEventListener("message", d, !1) : r.attachEvent("onmessage", d), - function(e) { - r.postMessage(a + e, "*") - } - ) : r.MessageChannel ? ((t = new MessageChannel).port1.onmessage = function(e) { - c(e.data) - } - , - function(e) { - t.port2.postMessage(e) - } - ) : l && "onreadystatechange"in l.createElement("script") ? (s = l.documentElement, - function(e) { - var t = l.createElement("script"); - t.onreadystatechange = function() { - c(e), - t.onreadystatechange = null, - s.removeChild(t), - t = null - } - , - s.appendChild(t) - } - ) : function(e) { - setTimeout(c, 0, e) - } - , - e.setImmediate = function(e) { - "function" != typeof e && (e = new Function("" + e)); - for (var t = new Array(arguments.length - 1), r = 0; r < t.length; r++) - t[r] = arguments[r + 1]; - var n = { - callback: e, - args: t - }; - return h[o] = n, - i(o), - o++ - } - , - e.clearImmediate = f - } - function f(e) { - delete h[e] - } - function c(e) { - if (u) - setTimeout(c, 0, e); - else { - var t = h[e]; - if (t) { - u = !0; - try { - !function(e) { - var t = e.callback - , r = e.args; - switch (r.length) { - case 0: - t(); - break; - case 1: - t(r[0]); - break; - case 2: - t(r[0], r[1]); - break; - case 3: - t(r[0], r[1], r[2]); - break; - default: - t.apply(n, r) - } - }(t) - } finally { - f(e), - u = !1 - } - } - } - } - function d(e) { - e.source === r && "string" == typeof e.data && 0 === e.data.indexOf(a) && c(+e.data.slice(a.length)) - } - }("undefined" == typeof self ? void 0 === e ? this : e : self) - } - ).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) - } - , {}] - }, {}, [10])(10) - }); - } - ).call(this, require('_process'), typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}, require("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], require("timers").setImmediate) + var border = borders[0], + attrList = border.attributeList; + var clrScheme = this.styles["clrScheme"]; + var style = attrList.style; - } - , { - "_process": 7, - "buffer": 2, - "timers": 8 - }], - 7: [function(require, module, exports) { - // shim for using process in browser - var process = module.exports = {}; - - // cached from whatever global is present so that test runners that stub it - // don't break things. But we need to wrap it in a try catch in case it is - // wrapped in strict mode code which doesn't define any globals. It's inside a - // function because try/catches deoptimize in certain engines. - - var cachedSetTimeout; - var cachedClearTimeout; - - function defaultSetTimout() { - throw new Error('setTimeout has not been defined'); - } - function defaultClearTimeout() { - throw new Error('clearTimeout has not been defined'); - } - (function() { - try { - if (typeof setTimeout === 'function') { - cachedSetTimeout = setTimeout; - } else { - cachedSetTimeout = defaultSetTimout; - } - } catch (e) { - cachedSetTimeout = defaultSetTimout; - } - try { - if (typeof clearTimeout === 'function') { - cachedClearTimeout = clearTimeout; - } else { - cachedClearTimeout = defaultClearTimeout; - } - } catch (e) { - cachedClearTimeout = defaultClearTimeout; - } - }()) - function runTimeout(fun) { - if (cachedSetTimeout === setTimeout) { - //normal enviroments in sane situations - return setTimeout(fun, 0); - } - // if setTimeout wasn't available but was latter defined - if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { - cachedSetTimeout = setTimeout; - return setTimeout(fun, 0); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedSetTimeout(fun, 0); - } catch (e) { - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedSetTimeout.call(null, fun, 0); - } catch (e) { - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error - return cachedSetTimeout.call(this, fun, 0); - } - } + if (style == null || style == "none") { + return null; + } - } - function runClearTimeout(marker) { - if (cachedClearTimeout === clearTimeout) { - //normal enviroments in sane situations - return clearTimeout(marker); - } - // if clearTimeout wasn't available but was latter defined - if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { - cachedClearTimeout = clearTimeout; - return clearTimeout(marker); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedClearTimeout(marker); - } catch (e) { - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedClearTimeout.call(null, marker); - } catch (e) { - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. - // Some versions of I.E. have different rules for clearTimeout vs setTimeout - return cachedClearTimeout.call(this, marker); - } - } + var colors = border.getInnerElements("color"); + var colorRet = "#000000"; - } - var queue = []; - var draining = false; - var currentQueue; - var queueIndex = -1; - - function cleanUpNextTick() { - if (!draining || !currentQueue) { - return; - } - draining = false; - if (currentQueue.length) { - queue = currentQueue.concat(queue); - } else { - queueIndex = -1; - } - if (queue.length) { - drainQueue(); - } - } + if (colors != null) { + var color = colors[0]; + colorRet = ReadXml_1.getColor(color, this.styles, "b"); + + if (colorRet == null) { + colorRet = "#000000"; + } + } - function drainQueue() { - if (draining) { - return; - } - var timeout = runTimeout(cleanUpNextTick); - draining = true; - - var len = queue.length; - while (len) { - currentQueue = queue; - queue = []; - while (++queueIndex < len) { - if (currentQueue) { - currentQueue[queueIndex].run(); - } - } - queueIndex = -1; - len = queue.length; - } - currentQueue = null; - draining = false; - runClearTimeout(timeout); - } + var ret = new LuckyBase_1.LuckySheetborderInfoCellValueStyle(); + ret.style = constant_1.borderTypes[style]; + ret.color = colorRet; + return ret; + }; + + LuckySheetCelldata.prototype.htmlDecode = function (str) { + return str.replace(/&#(x)?([^&]{1,5});/g, function ($, $1, $2) { + return String.fromCharCode(parseInt($2, $1 ? 16 : 10)); + }); + }; + + ; + return LuckySheetCelldata; +}(LuckyBase_1.LuckySheetCelldataBase); + +exports.LuckySheetCelldata = LuckySheetCelldata; + +},{"../common/constant":16,"../common/method":18,"./LuckyBase":10,"./ReadXml":15}],12:[function(require,module,exports){ +"use strict"; + +var __extends = void 0 && (void 0).__extends || function () { + var _extendStatics = function extendStatics(d, b) { + _extendStatics = Object.setPrototypeOf || { + __proto__: [] + } instanceof Array && function (d, b) { + d.__proto__ = b; + } || function (d, b) { + for (var p in b) { + if (b.hasOwnProperty(p)) d[p] = b[p]; + } + }; + + return _extendStatics(d, b); + }; + + return function (d, b) { + _extendStatics(d, b); + + function __() { + this.constructor = d; + } - process.nextTick = function(fun) { - var args = new Array(arguments.length - 1); - if (arguments.length > 1) { - for (var i = 1; i < arguments.length; i++) { - args[i - 1] = arguments[i]; - } - } - queue.push(new Item(fun,args)); - if (queue.length === 1 && !draining) { - runTimeout(drainQueue); - } - } - ; + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +}(); - // v8 likes predictible objects - function Item(fun, array) { - this.fun = fun; - this.array = array; - } - Item.prototype.run = function() { - this.fun.apply(null, this.array); - } - ; - process.title = 'browser'; - process.browser = true; - process.env = {}; - process.argv = []; - process.version = ''; - // empty string to avoid regexp issues - process.versions = {}; - - function noop() {} - - process.on = noop; - process.addListener = noop; - process.once = noop; - process.off = noop; - process.removeListener = noop; - process.removeAllListeners = noop; - process.emit = noop; - process.prependListener = noop; - process.prependOnceListener = noop; - - process.listeners = function(name) { - return [] - } +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.LuckyFile = void 0; - process.binding = function(name) { - throw new Error('process.binding is not supported'); - } - ; +var LuckySheet_1 = require("./LuckySheet"); - process.cwd = function() { - return '/' - } - ; - process.chdir = function(dir) { - throw new Error('process.chdir is not supported'); - } - ; - process.umask = function() { - return 0; - } - ; +var constant_1 = require("../common/constant"); - } - , {}], - 8: [function(require, module, exports) { - (function(setImmediate, clearImmediate) { - var nextTick = require('process/browser.js').nextTick; - var apply = Function.prototype.apply; - var slice = Array.prototype.slice; - var immediateIds = {}; - var nextImmediateId = 0; - - // DOM APIs, for completeness - - exports.setTimeout = function() { - return new Timeout(apply.call(setTimeout, window, arguments),clearTimeout); - } - ; - exports.setInterval = function() { - return new Timeout(apply.call(setInterval, window, arguments),clearInterval); - } - ; - exports.clearTimeout = exports.clearInterval = function(timeout) { - timeout.close(); - } - ; +var ReadXml_1 = require("./ReadXml"); - function Timeout(id, clearFn) { - this._id = id; - this._clearFn = clearFn; - } - Timeout.prototype.unref = Timeout.prototype.ref = function() {} - ; - Timeout.prototype.close = function() { - this._clearFn.call(window, this._id); - } - ; +var method_1 = require("../common/method"); - // Does not start the time, just sets up the members needed. - exports.enroll = function(item, msecs) { - clearTimeout(item._idleTimeoutId); - item._idleTimeout = msecs; - } - ; +var LuckyBase_1 = require("./LuckyBase"); - exports.unenroll = function(item) { - clearTimeout(item._idleTimeoutId); - item._idleTimeout = -1; - } - ; +var LuckyImage_1 = require("./LuckyImage"); - exports._unrefActive = exports.active = function(item) { - clearTimeout(item._idleTimeoutId); +var LuckyFile = +/** @class */ +function (_super) { + __extends(LuckyFile, _super); - var msecs = item._idleTimeout; - if (msecs >= 0) { - item._idleTimeoutId = setTimeout(function onTimeout() { - if (item._onTimeout) - item._onTimeout(); - }, msecs); - } - } - ; - - // That's not how node.js implements it but the exposed api is the same. - exports.setImmediate = typeof setImmediate === "function" ? setImmediate : function(fn) { - var id = nextImmediateId++; - var args = arguments.length < 2 ? false : slice.call(arguments, 1); - - immediateIds[id] = true; - - nextTick(function onNextTick() { - if (immediateIds[id]) { - // fn.call() is faster so we optimize for the common use-case - // @see http://jsperf.com/call-apply-segu - if (args) { - fn.apply(null, args); - } else { - fn.call(null); - } - // Prevent ids from leaking - exports.clearImmediate(id); - } - }); - - return id; - } - ; + function LuckyFile(files, fileName) { + var _this = _super.call(this) || this; - exports.clearImmediate = typeof clearImmediate === "function" ? clearImmediate : function(id) { - delete immediateIds[id]; - } - ; - } - ).call(this, require("timers").setImmediate, require("timers").clearImmediate) + _this.columnWidthSet = []; + _this.rowHeightSet = []; + _this.files = files; + _this.fileName = fileName; + _this.readXml = new ReadXml_1.ReadXml(files); - } - , { - "process/browser.js": 7, - "timers": 8 - }], - 9: [function(require, module, exports) { - "use strict"; - - var __importDefault = void 0 && (void 0).__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { - "default": mod - }; - } - ; + _this.getSheetNameList(); - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.HandleZip = void 0; + _this.sharedStrings = _this.readXml.getElementsByTagName("sst/si", constant_1.sharedStringsFile); + _this.calcChain = _this.readXml.getElementsByTagName("calcChain/c", constant_1.calcChainFile); + _this.styles = {}; + _this.styles["cellXfs"] = _this.readXml.getElementsByTagName("cellXfs/xf", constant_1.stylesFile); + _this.styles["cellStyleXfs"] = _this.readXml.getElementsByTagName("cellStyleXfs/xf", constant_1.stylesFile); + _this.styles["cellStyles"] = _this.readXml.getElementsByTagName("cellStyles/cellStyle", constant_1.stylesFile); + _this.styles["fonts"] = _this.readXml.getElementsByTagName("fonts/font", constant_1.stylesFile); + _this.styles["fills"] = _this.readXml.getElementsByTagName("fills/fill", constant_1.stylesFile); + _this.styles["borders"] = _this.readXml.getElementsByTagName("borders/border", constant_1.stylesFile); + _this.styles["clrScheme"] = _this.readXml.getElementsByTagName("a:clrScheme/a:dk1|a:lt1|a:dk2|a:lt2|a:accent1|a:accent2|a:accent3|a:accent4|a:accent5|a:accent6|a:hlink|a:folHlink", constant_1.theme1File); + _this.styles["indexedColors"] = _this.readXml.getElementsByTagName("colors/indexedColors/rgbColor", constant_1.stylesFile); + _this.styles["mruColors"] = _this.readXml.getElementsByTagName("colors/mruColors/color", constant_1.stylesFile); + _this.imageList = new LuckyImage_1.ImageList(files); - var jszip_1 = __importDefault(require("jszip")); + var numfmts = _this.readXml.getElementsByTagName("numFmt/numFmt", constant_1.stylesFile); - var method_1 = require("./common/method"); + var numFmtDefaultC = JSON.parse(JSON.stringify(constant_1.numFmtDefault)); - var HandleZip = /** @class */ - function() { - function HandleZip(file) { - // Support nodejs fs to read files - // if(file instanceof File){ - this.uploadFile = file; - // } - } + for (var i = 0; i < numfmts.length; i++) { + var attrList = numfmts[i].attributeList; + var numfmtid = method_1.getXmlAttibute(attrList, "numFmtId", "49"); + var formatcode = method_1.getXmlAttibute(attrList, "formatCode", "@"); // console.log(numfmtid, formatcode); - HandleZip.prototype.unzipFile = function(successFunc, errorFunc) { - // var new_zip:JSZip = new JSZip(); - jszip_1["default"].loadAsync(this.uploadFile).then(function(zip) { - var fileList = {} - , lastIndex = Object.keys(zip.files).length - , index = 0; - zip.forEach(function(relativePath, zipEntry) { - var fileName = zipEntry.name; - var fileNameArr = fileName.split("."); - var suffix = fileNameArr[fileNameArr.length - 1].toLowerCase(); - var fileType = "string"; - - if (suffix in { - "png": 1, - "jpeg": 1, - "jpg": 1, - "gif": 1, - "bmp": 1, - "tif": 1, - "webp": 1 - }) { - fileType = "base64"; - } else if (suffix == "emf" || suffix == "wmf") { - fileType = "arraybuffer"; - } - - zipEntry.async(fileType).then(function(data) { - if (fileType == "base64") { - data = "data:image/" + suffix + ";base64," + data; - } - - fileList[zipEntry.name] = data; - // console.log(lastIndex, index); - - if (lastIndex == index + 1) { - successFunc(fileList); - } - - index++; - })["catch"](function(e) { - // window.alert("文件解析错误"); - console.log(e); - }); - }); - })["catch"](function(e) { - // window.alert("文件解析错误"); - console.log(e); - }); - } - ; - - HandleZip.prototype.unzipFileByUrl = function(url, successFunc, errorFunc) { - var new_zip = new jszip_1["default"](); - method_1.getBinaryContent(url, function(err, data) { - if (err) { - throw err; - // or handle err - } - - jszip_1["default"].loadAsync(data).then(function(zip) { - var fileList = {} - , lastIndex = Object.keys(zip.files).length - , index = 0; - zip.forEach(function(relativePath, zipEntry) { - var fileName = zipEntry.name; - var fileNameArr = fileName.split("."); - var suffix = fileNameArr[fileNameArr.length - 1].toLowerCase(); - var fileType = "string"; - - if (suffix in { - "png": 1, - "jpeg": 1, - "jpg": 1, - "gif": 1, - "bmp": 1, - "tif": 1, - "webp": 1 - }) { - fileType = "base64"; - } else if (suffix == "emf" || suffix == "wmf") { - fileType = "arraybuffer"; - } - - zipEntry.async(fileType).then(function(data) { - if (fileType == "base64") { - data = "data:image/" + suffix + ";base64," + data; - } - - fileList[fileName] = data; - // console.log(lastIndex, index); - - if (lastIndex == index + 1) { - successFunc(fileList); - } - - index++; - })["catch"](function(e) { - // window.alert("文件解析错误"); - console.log("文件解析错误"); - }); - }); - }, function(e) { - errorFunc(e); - })["catch"](function(e) { - // window.alert("文件解析错误"); - console.log("文件解析错误"); - }); - }); - } - ; + if (!(numfmtid in constant_1.numFmtDefault)) { + numFmtDefaultC[numfmtid] = constant_1.numFmtDefaultMap[formatcode] || formatcode; + } + } // console.log(JSON.stringify(numFmtDefaultC), numfmts); - HandleZip.prototype.newZipFile = function() { - var zip = new jszip_1["default"](); - this.workBook = zip; - } - ; - //title:"nested/hello.txt", content:"Hello Worldasdfasfasdfasfasfasfasfasdfas" - HandleZip.prototype.addToZipFile = function(title, content) { - if (this.workBook == null) { - var zip = new jszip_1["default"](); - this.workBook = zip; - } + _this.styles["numfmts"] = numFmtDefaultC; + return _this; + } + /** + * @return All sheet name of workbook + */ - this.workBook.file(title, content); - } - ; - return HandleZip; - }(); + LuckyFile.prototype.getSheetNameList = function () { + var workbookRelList = this.readXml.getElementsByTagName("Relationships/Relationship", constant_1.workbookRels); + + if (workbookRelList == null) { + return; + } + + var regex = new RegExp("worksheets/[^/]*?.xml"); + var sheetNames = {}; - exports.HandleZip = HandleZip; + for (var i = 0; i < workbookRelList.length; i++) { + var rel = workbookRelList[i], + attrList = rel.attributeList; + var id = attrList["Id"], + target = attrList["Target"]; + if (regex.test(target)) { + if (target.indexOf('/xl') === 0) { + sheetNames[id] = target.substr(1); + } else { + sheetNames[id] = "xl/" + target; } - , { - "./common/method": 18, - "jszip": 6 - }], - 10: [function(require, module, exports) { - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.LuckyImageBase = exports.LuckysheetCalcChain = exports.LuckySheetConfigMerge = exports.LuckySheetborderInfoCellValueStyle = exports.LuckySheetborderInfoCellValue = exports.LuckySheetborderInfoCellForImp = exports.LuckyConfig = exports.LuckyInlineString = exports.LuckySheetCellFormat = exports.LuckySheetCelldataValue = exports.LuckySheetCelldataBase = exports.LuckyFileInfo = exports.LuckySheetBase = exports.LuckyFileBase = void 0; + } + } - var LuckyFileBase = /** @class */ - function() { - function LuckyFileBase() {} + this.sheetNameList = sheetNames; + }; + /** + * @param sheetName WorkSheet'name + * @return sheet file name and path in zip + */ - return LuckyFileBase; - }(); - exports.LuckyFileBase = LuckyFileBase; + LuckyFile.prototype.getSheetFileBysheetId = function (sheetId) { + // for(let i=0;i-1){ + // return sheetFileName; + // } + // } + return this.sheetNameList[sheetId]; + }; + /** + * @return workBook information + */ - var LuckySheetBase = /** @class */ - function() { - function LuckySheetBase() {} - return LuckySheetBase; - }(); + LuckyFile.prototype.getWorkBookInfo = function () { + var Company = this.readXml.getElementsByTagName("Company", constant_1.appFile); + var AppVersion = this.readXml.getElementsByTagName("AppVersion", constant_1.appFile); + var creator = this.readXml.getElementsByTagName("dc:creator", constant_1.coreFile); + var lastModifiedBy = this.readXml.getElementsByTagName("cp:lastModifiedBy", constant_1.coreFile); + var created = this.readXml.getElementsByTagName("dcterms:created", constant_1.coreFile); + var modified = this.readXml.getElementsByTagName("dcterms:modified", constant_1.coreFile); + this.info = new LuckyBase_1.LuckyFileInfo(); + this.info.name = this.fileName; + this.info.creator = creator.length > 0 ? creator[0].value : ""; + this.info.lastmodifiedby = lastModifiedBy.length > 0 ? lastModifiedBy[0].value : ""; + this.info.createdTime = created.length > 0 ? created[0].value : ""; + this.info.modifiedTime = modified.length > 0 ? modified[0].value : ""; + this.info.company = Company.length > 0 ? Company[0].value : ""; + this.info.appversion = AppVersion.length > 0 ? AppVersion[0].value : ""; + }; + /** + * @return All sheet , include whole information + */ - exports.LuckySheetBase = LuckySheetBase; - var LuckyFileInfo = /** @class */ - function() { - function LuckyFileInfo() {} + LuckyFile.prototype.getSheetsFull = function (isInitialCell) { + if (isInitialCell === void 0) { + isInitialCell = true; + } - return LuckyFileInfo; - }(); + var sheets = this.readXml.getElementsByTagName("sheets/sheet", constant_1.workBookFile); + var sheetList = {}; - exports.LuckyFileInfo = LuckyFileInfo; + for (var key in sheets) { + var sheet = sheets[key]; + sheetList[sheet.attributeList.name] = sheet.attributeList["sheetId"]; + } - var LuckySheetCelldataBase = /** @class */ - function() { - function LuckySheetCelldataBase() {} + this.sheets = []; + var order = 0; + + for (var key in sheets) { + var sheet = sheets[key]; + var sheetName = sheet.attributeList.name; + var sheetId = sheet.attributeList["sheetId"]; + var rid = sheet.attributeList["r:id"]; + var sheetFile = this.getSheetFileBysheetId(rid); + var hide = sheet.attributeList.state === "hidden" ? 1 : 0; + var drawing = this.readXml.getElementsByTagName("worksheet/drawing", sheetFile), + drawingFile = void 0, + drawingRelsFile = void 0; + + if (drawing != null && drawing.length > 0) { + var attrList = drawing[0].attributeList; + var rid_1 = method_1.getXmlAttibute(attrList, "r:id", null); + + if (rid_1 != null) { + drawingFile = this.getDrawingFile(rid_1, sheetFile); + drawingRelsFile = this.getDrawingRelsFile(drawingFile); + } + } + + if (sheetFile != null) { + var sheet_1 = new LuckySheet_1.LuckySheet(sheetName, sheetId, order, isInitialCell, { + sheetFile: sheetFile, + readXml: this.readXml, + sheetList: sheetList, + styles: this.styles, + sharedStrings: this.sharedStrings, + calcChain: this.calcChain, + imageList: this.imageList, + drawingFile: drawingFile, + drawingRelsFile: drawingRelsFile, + hide: hide + }); + this.columnWidthSet = []; + this.rowHeightSet = []; + this.imagePositionCaculation(sheet_1); + this.sheets.push(sheet_1); + order++; + } + } + }; - return LuckySheetCelldataBase; - }(); + LuckyFile.prototype.extendArray = function (index, sets, def, hidden, lens) { + if (index < sets.length) { + return; + } - exports.LuckySheetCelldataBase = LuckySheetCelldataBase; + var startIndex = sets.length, + endIndex = index; + var allGap = 0; - var LuckySheetCelldataValue = /** @class */ - function() { - function LuckySheetCelldataValue() {} + if (startIndex > 0) { + allGap = sets[startIndex - 1]; + } // else{ + // sets.push(0); + // } - return LuckySheetCelldataValue; - }(); - exports.LuckySheetCelldataValue = LuckySheetCelldataValue; + for (var i = startIndex; i <= endIndex; i++) { + var gap = def, + istring = i.toString(); - var LuckySheetCellFormat = /** @class */ - function() { - function LuckySheetCellFormat() {} + if (istring in hidden) { + gap = 0; + } else if (istring in lens) { + gap = lens[istring]; + } - return LuckySheetCellFormat; - }(); + allGap += Math.round(gap + 1); + sets.push(allGap); + } + }; - exports.LuckySheetCellFormat = LuckySheetCellFormat; + LuckyFile.prototype.imagePositionCaculation = function (sheet) { + var images = sheet.images, + defaultColWidth = sheet.defaultColWidth, + defaultRowHeight = sheet.defaultRowHeight; + var colhidden = {}; - var LuckyInlineString = /** @class */ - function() { - function LuckyInlineString() {} + if (sheet.config.colhidden) { + colhidden = sheet.config.colhidden; + } - return LuckyInlineString; - }(); + var columnlen = {}; - exports.LuckyInlineString = LuckyInlineString; + if (sheet.config.columnlen) { + columnlen = sheet.config.columnlen; + } - var LuckyConfig = /** @class */ - function() { - function LuckyConfig() {} + var rowhidden = {}; - return LuckyConfig; - }(); + if (sheet.config.rowhidden) { + rowhidden = sheet.config.rowhidden; + } - exports.LuckyConfig = LuckyConfig; + var rowlen = {}; - var LuckySheetborderInfoCellForImp = /** @class */ - function() { - function LuckySheetborderInfoCellForImp() {} + if (sheet.config.rowlen) { + rowlen = sheet.config.rowlen; + } - return LuckySheetborderInfoCellForImp; - }(); + for (var key in images) { + var imageObject = images[key]; //Image, luckyImage + + var fromCol = imageObject.fromCol; + var fromColOff = imageObject.fromColOff; + var fromRow = imageObject.fromRow; + var fromRowOff = imageObject.fromRowOff; + var toCol = imageObject.toCol; + var toColOff = imageObject.toColOff; + var toRow = imageObject.toRow; + var toRowOff = imageObject.toRowOff; + var x_n = 0, + y_n = 0; + var cx_n = 0, + cy_n = 0; + + if (fromCol >= this.columnWidthSet.length) { + this.extendArray(fromCol, this.columnWidthSet, defaultColWidth, colhidden, columnlen); + } + + if (fromCol == 0) { + x_n = 0; + } else { + x_n = this.columnWidthSet[fromCol - 1]; + } + + x_n = x_n + fromColOff; + + if (fromRow >= this.rowHeightSet.length) { + this.extendArray(fromRow, this.rowHeightSet, defaultRowHeight, rowhidden, rowlen); + } + + if (fromRow == 0) { + y_n = 0; + } else { + y_n = this.rowHeightSet[fromRow - 1]; + } + + y_n = y_n + fromRowOff; + + if (toCol >= this.columnWidthSet.length) { + this.extendArray(toCol, this.columnWidthSet, defaultColWidth, colhidden, columnlen); + } + + if (toCol == 0) { + cx_n = 0; + } else { + cx_n = this.columnWidthSet[toCol - 1]; + } + + cx_n = cx_n + toColOff - x_n; + + if (toRow >= this.rowHeightSet.length) { + this.extendArray(toRow, this.rowHeightSet, defaultRowHeight, rowhidden, rowlen); + } + + if (toRow == 0) { + cy_n = 0; + } else { + cy_n = this.rowHeightSet[toRow - 1]; + } + + cy_n = cy_n + toRowOff - y_n; + console.log(defaultColWidth, colhidden, columnlen); + console.log(fromCol, this.columnWidthSet[fromCol], fromColOff); + console.log(toCol, this.columnWidthSet[toCol], toColOff, JSON.stringify(this.columnWidthSet)); + imageObject.originWidth = cx_n; + imageObject.originHeight = cy_n; + imageObject.crop.height = cy_n; + imageObject.crop.width = cx_n; + imageObject["default"].height = cy_n; + imageObject["default"].left = x_n; + imageObject["default"].top = y_n; + imageObject["default"].width = cx_n; + } //console.log(this.columnWidthSet, this.rowHeightSet); + + }; + /** + * @return drawing file string + */ - exports.LuckySheetborderInfoCellForImp = LuckySheetborderInfoCellForImp; - var LuckySheetborderInfoCellValue = /** @class */ - function() { - function LuckySheetborderInfoCellValue() {} + LuckyFile.prototype.getDrawingFile = function (rid, sheetFile) { + var sheetRelsPath = "xl/worksheets/_rels/"; + var sheetFileArr = sheetFile.split("/"); + var sheetRelsName = sheetFileArr[sheetFileArr.length - 1]; + var sheetRelsFile = sheetRelsPath + sheetRelsName + ".rels"; + var drawing = this.readXml.getElementsByTagName("Relationships/Relationship", sheetRelsFile); - return LuckySheetborderInfoCellValue; - }(); + if (drawing.length > 0) { + for (var i = 0; i < drawing.length; i++) { + var relationship = drawing[i]; + var attrList = relationship.attributeList; + var relationshipId = method_1.getXmlAttibute(attrList, "Id", null); - exports.LuckySheetborderInfoCellValue = LuckySheetborderInfoCellValue; + if (relationshipId == rid) { + var target = method_1.getXmlAttibute(attrList, "Target", null); - var LuckySheetborderInfoCellValueStyle = /** @class */ - function() { - function LuckySheetborderInfoCellValueStyle() {} + if (target != null) { + return target.replace(/\.\.\//g, ""); + } + } + } + } - return LuckySheetborderInfoCellValueStyle; - }(); + return null; + }; + + LuckyFile.prototype.getDrawingRelsFile = function (drawingFile) { + var drawingRelsPath = "xl/drawings/_rels/"; + var drawingFileArr = drawingFile.split("/"); + var drawingRelsName = drawingFileArr[drawingFileArr.length - 1]; + var drawingRelsFile = drawingRelsPath + drawingRelsName + ".rels"; + return drawingRelsFile; + }; + /** + * @return All sheet base information widthout cell and config + */ - exports.LuckySheetborderInfoCellValueStyle = LuckySheetborderInfoCellValueStyle; - var LuckySheetConfigMerge = /** @class */ - function() { - function LuckySheetConfigMerge() {} + LuckyFile.prototype.getSheetsWithoutCell = function () { + this.getSheetsFull(false); + }; + /** + * @return LuckySheet file json + */ - return LuckySheetConfigMerge; - }(); - exports.LuckySheetConfigMerge = LuckySheetConfigMerge; + LuckyFile.prototype.Parse = function () { + // let xml = this.readXml; + // for(let key in this.sheetNameList){ + // let sheetName=this.sheetNameList[key]; + // let sheetColumns = xml.getElementsByTagName("row/c/f", sheetName); + // console.log(sheetColumns); + // } + // return ""; + this.getWorkBookInfo(); + this.getSheetsFull(); // for(let i=0;i 0) { - formulaValue = method_1.escapeCharacter(formulaValue); - cellValue.f = "=" + formulaValue; - } - } +var __extends = void 0 && (void 0).__extends || function () { + var _extendStatics = function extendStatics(d, b) { + _extendStatics = Object.setPrototypeOf || { + __proto__: [] + } instanceof Array && function (d, b) { + d.__proto__ = b; + } || function (d, b) { + for (var p in b) { + if (b.hasOwnProperty(p)) d[p] = b[p]; + } + }; - var familyFont = null; - var quotePrefix; - - if (s != null) { - var sNum = parseInt(s); - var cellXf = cellXfs[sNum]; - var xfId = cellXf.attributeList.xfId; - var numFmtId = void 0 - , fontId = void 0 - , fillId = void 0 - , borderId = void 0; - var horizontal = void 0 - , vertical = void 0 - , wrapText = void 0 - , textRotation = void 0 - , shrinkToFit = void 0 - , indent = void 0 - , applyProtection = void 0; - - if (xfId != null) { - var cellStyleXf = cellStyleXfs[parseInt(xfId)]; - var attrList = cellStyleXf.attributeList; - var applyNumberFormat_1 = attrList.applyNumberFormat; - var applyFont_1 = attrList.applyFont; - var applyFill_1 = attrList.applyFill; - var applyBorder_1 = attrList.applyBorder; - var applyAlignment_1 = attrList.applyAlignment; - // let applyProtection = attrList.applyProtection; - - applyProtection = attrList.applyProtection; - quotePrefix = attrList.quotePrefix; - - if (applyNumberFormat_1 != "0" && attrList.numFmtId != null) { - // if(attrList.numFmtId!="0"){ - numFmtId = attrList.numFmtId; - // } - } - - if (applyFont_1 != "0" && attrList.fontId != null) { - fontId = attrList.fontId; - } - - if (applyFill_1 != "0" && attrList.fillId != null) { - fillId = attrList.fillId; - } - - if (applyBorder_1 != "0" && attrList.borderId != null) { - borderId = attrList.borderId; - } - - if (applyAlignment_1 != null && applyAlignment_1 != "0") { - var alignment = cellStyleXf.getInnerElements("alignment"); - - if (alignment != null) { - var attrList_1 = alignment[0].attributeList; - - if (attrList_1.horizontal != null) { - horizontal = attrList_1.horizontal; - } - - if (attrList_1.vertical != null) { - vertical = attrList_1.vertical; - } - - if (attrList_1.wrapText != null) { - wrapText = attrList_1.wrapText; - } - - if (attrList_1.textRotation != null) { - textRotation = attrList_1.textRotation; - } - - if (attrList_1.shrinkToFit != null) { - shrinkToFit = attrList_1.shrinkToFit; - } - - if (attrList_1.indent != null) { - indent = attrList_1.indent; - } - } - } - } - - var applyNumberFormat = cellXf.attributeList.applyNumberFormat; - var applyFont = cellXf.attributeList.applyFont; - var applyFill = cellXf.attributeList.applyFill; - var applyBorder = cellXf.attributeList.applyBorder; - var applyAlignment = cellXf.attributeList.applyAlignment; - - if (cellXf.attributeList.applyProtection != null) { - applyProtection = cellXf.attributeList.applyProtection; - } - - if (cellXf.attributeList.quotePrefix != null) { - quotePrefix = cellXf.attributeList.quotePrefix; - } - - if (applyNumberFormat != "0" && cellXf.attributeList.numFmtId != null) { - numFmtId = cellXf.attributeList.numFmtId; - } - - if (applyFont != "0") { - fontId = cellXf.attributeList.fontId; - } - - if (applyFill != "0") { - fillId = cellXf.attributeList.fillId; - } - - if (applyBorder != "0") { - borderId = cellXf.attributeList.borderId; - } - - if (applyAlignment != "0") { - var alignment = cellXf.getInnerElements("alignment"); - - if (alignment != null && alignment.length > 0) { - var attrList = alignment[0].attributeList; + return _extendStatics(d, b); + }; - if (attrList.horizontal != null) { - horizontal = attrList.horizontal; - } - - if (attrList.vertical != null) { - vertical = attrList.vertical; - } + return function (d, b) { + _extendStatics(d, b); - if (attrList.wrapText != null) { - wrapText = attrList.wrapText; - } + function __() { + this.constructor = d; + } - if (attrList.textRotation != null) { - textRotation = attrList.textRotation; - } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +}(); - if (attrList.shrinkToFit != null) { - shrinkToFit = attrList.shrinkToFit; - } +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.ImageList = void 0; - if (attrList.indent != null) { - indent = attrList.indent; - } - } - } +var LuckyBase_1 = require("./LuckyBase"); - if (numFmtId != undefined) { - var numf = numfmts[parseInt(numFmtId)]; - var cellFormat = new LuckyBase_1.LuckySheetCellFormat(); - cellFormat.fa = method_1.escapeCharacter(numf); - // console.log(numf, numFmtId, this.v); - - cellFormat.t = t || 'd'; - cellValue.ct = cellFormat; - } +var emf_1 = require("../common/emf"); - if (fillId != undefined) { - var fillIdNum = parseInt(fillId); - var fill = fills[fillIdNum]; - // console.log(cellValue.v); - - var bg = this.getBackgroundByFill(fill, clrScheme); - - if (bg != null) { - cellValue.bg = bg; - } - } - - if (fontId != undefined) { - var fontIdNum = parseInt(fontId); - var font = fonts[fontIdNum]; - - if (font != null) { - var sz = font.getInnerElements("sz"); - //font size - - var colors = font.getInnerElements("color"); - //font color - - var family = font.getInnerElements("name"); - //font family - - var familyOverrides = font.getInnerElements("family"); - //font family will be overrided by name - - var charset = font.getInnerElements("charset"); - //font charset - - var bolds = font.getInnerElements("b"); - //font bold - - var italics = font.getInnerElements("i"); - //font italic - - var strikes = font.getInnerElements("strike"); - //font italic - - var underlines = font.getInnerElements("u"); - //font italic - - if (sz != null && sz.length > 0) { - var fs = sz[0].attributeList.val; - - if (fs != null) { - cellValue.fs = parseInt(fs); - } - } - - if (colors != null && colors.length > 0) { - var color = colors[0]; - var fc = ReadXml_1.getColor(color, this.styles, "t"); - - if (fc != null) { - cellValue.fc = fc; - } - } - - if (familyOverrides != null && familyOverrides.length > 0) { - var val = familyOverrides[0].attributeList.val; - - if (val != null) { - familyFont = constant_1.fontFamilys[val]; - } - } - - if (family != null && family.length > 0) { - var val = family[0].attributeList.val; - - if (val != null) { - cellValue.ff = val; - } - } - - if (bolds != null && bolds.length > 0) { - var bold = bolds[0].attributeList.val; - - if (bold == "0") { - cellValue.bl = 0; - } else { - cellValue.bl = 1; - } - } - - if (italics != null && italics.length > 0) { - var italic = italics[0].attributeList.val; - - if (italic == "0") { - cellValue.it = 0; - } else { - cellValue.it = 1; - } - } - - if (strikes != null && strikes.length > 0) { - var strike = strikes[0].attributeList.val; - - if (strike == "0") { - cellValue.cl = 0; - } else { - cellValue.cl = 1; - } - } - - if (underlines != null && underlines.length > 0) { - var underline = underlines[0].attributeList.val; - - if (underline == "single") { - cellValue.un = 1; - } else if (underline == "double") { - cellValue.un = 2; - } else if (underline == "singleAccounting") { - cellValue.un = 3; - } else if (underline == "doubleAccounting") { - cellValue.un = 4; - } else { - cellValue.un = 0; - } - } - } - } - // vt: number | undefined//Vertical alignment, 0 middle, 1 up, 2 down, alignment - // ht: number | undefined//Horizontal alignment,0 center, 1 left, 2 right, alignment - // tr: number | undefined //Text rotation,0: 0、1: 45 、2: -45、3 Vertical text、4: 90 、5: -90, alignment - // tb: number | undefined //Text wrap,0 truncation, 1 overflow, 2 word wrap, alignment - - if (horizontal != undefined) { - //Horizontal alignment - if (horizontal == "center") { - cellValue.ht = 0; - } else if (horizontal == "centerContinuous") { - cellValue.ht = 0; - //luckysheet unsupport - } else if (horizontal == "left") { - cellValue.ht = 1; - } else if (horizontal == "right") { - cellValue.ht = 2; - } else if (horizontal == "distributed") { - cellValue.ht = 0; - //luckysheet unsupport - } else if (horizontal == "fill") { - cellValue.ht = 1; - //luckysheet unsupport - } else if (horizontal == "general") { - cellValue.ht = 1; - //luckysheet unsupport - } else if (horizontal == "justify") { - cellValue.ht = 0; - //luckysheet unsupport - } else { - cellValue.ht = 1; - } - } - - if (vertical != undefined) { - //Vertical alignment - if (vertical == "bottom") { - cellValue.vt = 2; - } else if (vertical == "center") { - cellValue.vt = 0; - } else if (vertical == "distributed") { - cellValue.vt = 0; - //luckysheet unsupport - } else if (vertical == "justify") { - cellValue.vt = 0; - //luckysheet unsupport - } else if (vertical == "top") { - cellValue.vt = 1; - } else { - cellValue.vt = 1; - } - } else { - //sometimes bottom style is lost after setting it in excel - //when vertical is undefined set it to 2. - cellValue.vt = 2; - } - - if (wrapText != undefined) { - if (wrapText == "1") { - cellValue.tb = 2; - } else { - cellValue.tb = 1; - } - } else { - cellValue.tb = 1; - } - - if (textRotation != undefined) { - // tr: number | undefined //Text rotation,0: 0、1: 45 、2: -45、3 Vertical text、4: 90 、5: -90, alignment - if (textRotation == "255") { - cellValue.tr = 3; - }// else if(textRotation=="45"){ - // cellValue.tr = 1; - // } - // else if(textRotation=="90"){ - // cellValue.tr = 4; - // } - // else if(textRotation=="135"){ - // cellValue.tr = 2; - // } - // else if(textRotation=="180"){ - // cellValue.tr = 5; - // } - else { - cellValue.tr = 0; - cellValue.rt = parseInt(textRotation); - } - } - - if (shrinkToFit != undefined) {//luckysheet unsupport - } - - if (indent != undefined) {//luckysheet unsupport - } - - if (borderId != undefined) { - var borderIdNum = parseInt(borderId); - var border = borders[borderIdNum]; - // this._borderId = borderIdNum; - - var borderObject = new LuckyBase_1.LuckySheetborderInfoCellForImp(); - borderObject.rangeType = "cell"; - // borderObject.cells = []; - - var borderCellValue = new LuckyBase_1.LuckySheetborderInfoCellValue(); - borderCellValue.row_index = this.r; - borderCellValue.col_index = this.c; - var lefts = border.getInnerElements("left"); - var rights = border.getInnerElements("right"); - var tops = border.getInnerElements("top"); - var bottoms = border.getInnerElements("bottom"); - var diagonals = border.getInnerElements("diagonal"); - var starts = border.getInnerElements("start"); - var ends = border.getInnerElements("end"); - var left = this.getBorderInfo(lefts); - var right = this.getBorderInfo(rights); - var top_1 = this.getBorderInfo(tops); - var bottom = this.getBorderInfo(bottoms); - var diagonal = this.getBorderInfo(diagonals); - var start = this.getBorderInfo(starts); - var end = this.getBorderInfo(ends); - var isAdd = false; - - if (start != null && start.color != null) { - borderCellValue.l = start; - isAdd = true; - } - - if (end != null && end.color != null) { - borderCellValue.r = end; - isAdd = true; - } - - if (left != null && left.color != null) { - borderCellValue.l = left; - isAdd = true; - } - - if (right != null && right.color != null) { - borderCellValue.r = right; - isAdd = true; - } - - if (top_1 != null && top_1.color != null) { - borderCellValue.t = top_1; - isAdd = true; - } - - if (bottom != null && bottom.color != null) { - borderCellValue.b = bottom; - isAdd = true; - } - - if (isAdd) { - borderObject.value = borderCellValue; - // this.config._borderInfo[borderId] = borderObject; - - this._borderObject = borderObject; - } - } - } else { - cellValue.tb = 1; - } +var ImageList = +/** @class */ +function () { + function ImageList(files) { + if (files == null) { + return; + } - if (v != null) { - var value = v[0].value; - - if (/&#\d+;/.test(value)) { - value = this.htmlDecode(value); - } - - if (t == constant_1.ST_CellType["SharedString"]) { - var siIndex = parseInt(v[0].value); - var sharedSI = sharedStrings[siIndex]; - var rFlag = sharedSI.getInnerElements("r"); - - if (rFlag == null) { - var tFlag = sharedSI.getInnerElements("t"); - - if (tFlag != null) { - var text_1 = ""; - tFlag.forEach(function(t) { - text_1 += t.value; - }); - text_1 = method_1.escapeCharacter(text_1); - //isContainMultiType(text) && - - if (familyFont == "Roman" && text_1.length > 0) { - var textArray = text_1.split(""); - var preWordType = null - , wordText = "" - , preWholef = null; - var wholef = "Times New Roman"; - - if (cellValue.ff != null) { - wholef = cellValue.ff; - } - - var cellFormat = cellValue.ct; - - if (cellFormat == null) { - cellFormat = new LuckyBase_1.LuckySheetCellFormat(); - } - - if (cellFormat.s == null) { - cellFormat.s = []; - } - - for (var i = 0; i < textArray.length; i++) { - var w = textArray[i]; - var type = null - , ff = wholef; - - if (method_1.isChinese(w)) { - type = "c"; - ff = "宋体"; - } else if (method_1.isJapanese(w)) { - type = "j"; - ff = "Yu Gothic"; - } else if (method_1.isKoera(w)) { - type = "k"; - ff = "Malgun Gothic"; - } else { - type = "e"; - } - - if (type != preWordType && preWordType != null || i == textArray.length - 1) { - var InlineString = new LuckyBase_1.LuckyInlineString(); - InlineString.ff = preWholef; - - if (cellValue.fc != null) { - InlineString.fc = cellValue.fc; - } - - if (cellValue.fs != null) { - InlineString.fs = cellValue.fs; - } - - if (cellValue.cl != null) { - InlineString.cl = cellValue.cl; - } - - if (cellValue.un != null) { - InlineString.un = cellValue.un; - } - - if (cellValue.bl != null) { - InlineString.bl = cellValue.bl; - } - - if (cellValue.it != null) { - InlineString.it = cellValue.it; - } - - if (i == textArray.length - 1) { - if (type == preWordType) { - InlineString.ff = ff; - InlineString.v = wordText + w; - } else { - InlineString.ff = preWholef; - InlineString.v = wordText; - cellFormat.s.push(InlineString); - var InlineStringLast = new LuckyBase_1.LuckyInlineString(); - InlineStringLast.ff = ff; - InlineStringLast.v = w; - - if (cellValue.fc != null) { - InlineStringLast.fc = cellValue.fc; - } - - if (cellValue.fs != null) { - InlineStringLast.fs = cellValue.fs; - } - - if (cellValue.cl != null) { - InlineStringLast.cl = cellValue.cl; - } - - if (cellValue.un != null) { - InlineStringLast.un = cellValue.un; - } - - if (cellValue.bl != null) { - InlineStringLast.bl = cellValue.bl; - } - - if (cellValue.it != null) { - InlineStringLast.it = cellValue.it; - } - - cellFormat.s.push(InlineStringLast); - break; - } - } else { - InlineString.v = wordText; - } - - cellFormat.s.push(InlineString); - wordText = w; - } else { - wordText += w; - } - - preWordType = type; - preWholef = ff; - } - - cellFormat.t = "inlineStr"; - // cellFormat.s = [InlineString]; - - cellValue.ct = cellFormat; - // console.log(cellValue); - } else { - text_1 = this.replaceSpecialWrap(text_1); - - if (text_1.indexOf("\r\n") > -1 || text_1.indexOf("\n") > -1) { - var InlineString = new LuckyBase_1.LuckyInlineString(); - InlineString.v = text_1; - var cellFormat = cellValue.ct; - - if (cellFormat == null) { - cellFormat = new LuckyBase_1.LuckySheetCellFormat(); - } - - if (cellValue.ff != null) { - InlineString.ff = cellValue.ff; - } - - if (cellValue.fc != null) { - InlineString.fc = cellValue.fc; - } - - if (cellValue.fs != null) { - InlineString.fs = cellValue.fs; - } - - if (cellValue.cl != null) { - InlineString.cl = cellValue.cl; - } - - if (cellValue.un != null) { - InlineString.un = cellValue.un; - } - - if (cellValue.bl != null) { - InlineString.bl = cellValue.bl; - } - - if (cellValue.it != null) { - InlineString.it = cellValue.it; - } - - cellFormat.t = "inlineStr"; - cellFormat.s = [InlineString]; - cellValue.ct = cellFormat; - } else { - cellValue.v = text_1; - quotePrefix = "1"; - } - } - } - } else { - var styles_1 = []; - rFlag.forEach(function(r) { - var tFlag = r.getInnerElements("t"); - var rPr = r.getInnerElements("rPr"); - var InlineString = new LuckyBase_1.LuckyInlineString(); - - if (tFlag != null && tFlag.length > 0) { - var text = tFlag[0].value; - text = _this.replaceSpecialWrap(text); - text = method_1.escapeCharacter(text); - InlineString.v = text; - } - - if (rPr != null && rPr.length > 0) { - var frpr = rPr[0]; - var sz = ReadXml_1.getlineStringAttr(frpr, "sz") - , rFont = ReadXml_1.getlineStringAttr(frpr, "rFont") - , family = ReadXml_1.getlineStringAttr(frpr, "family") - , charset = ReadXml_1.getlineStringAttr(frpr, "charset") - , scheme = ReadXml_1.getlineStringAttr(frpr, "scheme") - , b = ReadXml_1.getlineStringAttr(frpr, "b") - , i = ReadXml_1.getlineStringAttr(frpr, "i") - , u = ReadXml_1.getlineStringAttr(frpr, "u") - , strike = ReadXml_1.getlineStringAttr(frpr, "strike") - , vertAlign = ReadXml_1.getlineStringAttr(frpr, "vertAlign") - , color = void 0; - var cEle = frpr.getInnerElements("color"); - - if (cEle != null && cEle.length > 0) { - color = ReadXml_1.getColor(cEle[0], _this.styles, "t"); - } - - var ff = void 0; - // if(family!=null){ - // ff = fontFamilys[family]; - // } - - if (rFont != null) { - ff = rFont; - } - - if (ff != null) { - InlineString.ff = ff; - } else if (cellValue.ff != null) { - InlineString.ff = cellValue.ff; - } - - if (color != null) { - InlineString.fc = color; - } else if (cellValue.fc != null) { - InlineString.fc = cellValue.fc; - } - - if (sz != null) { - InlineString.fs = parseInt(sz); - } else if (cellValue.fs != null) { - InlineString.fs = cellValue.fs; - } - - if (strike != null) { - InlineString.cl = parseInt(strike); - } else if (cellValue.cl != null) { - InlineString.cl = cellValue.cl; - } - - if (u != null) { - InlineString.un = parseInt(u); - } else if (cellValue.un != null) { - InlineString.un = cellValue.un; - } - - if (b != null) { - InlineString.bl = parseInt(b); - } else if (cellValue.bl != null) { - InlineString.bl = cellValue.bl; - } - - if (i != null) { - InlineString.it = parseInt(i); - } else if (cellValue.it != null) { - InlineString.it = cellValue.it; - } - - if (vertAlign != null) { - InlineString.va = parseInt(vertAlign); - } - // ff:string | undefined //font family - // fc:string | undefined//font color - // fs:number | undefined//font size - // cl:number | undefined//strike - // un:number | undefined//underline - // bl:number | undefined//blod - // it:number | undefined//italic - // v:string | undefined - - } else { - if (InlineString.ff == null && cellValue.ff != null) { - InlineString.ff = cellValue.ff; - } - - if (InlineString.fc == null && cellValue.fc != null) { - InlineString.fc = cellValue.fc; - } - - if (InlineString.fs == null && cellValue.fs != null) { - InlineString.fs = cellValue.fs; - } - - if (InlineString.cl == null && cellValue.cl != null) { - InlineString.cl = cellValue.cl; - } - - if (InlineString.un == null && cellValue.un != null) { - InlineString.un = cellValue.un; - } - - if (InlineString.bl == null && cellValue.bl != null) { - InlineString.bl = cellValue.bl; - } - - if (InlineString.it == null && cellValue.it != null) { - InlineString.it = cellValue.it; - } - } - - styles_1.push(InlineString); - }); - var cellFormat = cellValue.ct; - - if (cellFormat == null) { - cellFormat = new LuckyBase_1.LuckySheetCellFormat(); - } - - cellFormat.t = "inlineStr"; - cellFormat.s = styles_1; - cellValue.ct = cellFormat; - } - }// to be confirmed - else if (t == constant_1.ST_CellType["InlineString"] && v != null) { - cellValue.v = "'" + value; - } else { - value = method_1.escapeCharacter(value); - cellValue.v = value; - } - } + this.images = {}; + + for (var fileKey in files) { + // let reg = new RegExp("xl/media/image1.png", "g"); + if (fileKey.indexOf("xl/media/") > -1) { + var fileNameArr = fileKey.split("."); + var suffix = fileNameArr[fileNameArr.length - 1].toLowerCase(); + + if (suffix in { + "png": 1, + "jpeg": 1, + "jpg": 1, + "gif": 1, + "bmp": 1, + "tif": 1, + "webp": 1, + "emf": 1 + }) { + if (suffix == "emf") { + var pNum = 0; // number of the page, that you want to render + + var scale = 1; // the scale of the document + + var wrt = new emf_1.ToContext2D(pNum, scale); + var inp, out, stt; + emf_1.FromEMF.K = []; + inp = emf_1.FromEMF.C; + out = emf_1.FromEMF.K; + stt = 4; + + for (var p in inp) { + out[inp[p]] = p.slice(stt); + } - if (quotePrefix != null) { - cellValue.qp = parseInt(quotePrefix); - } + emf_1.FromEMF.Parse(files[fileKey], wrt); + this.images[fileKey] = wrt.canvas.toDataURL("image/png"); + } else { + this.images[fileKey] = files[fileKey]; + } + } + } + } + } - return cellValue; - } - ; + ImageList.prototype.getImageByName = function (pathName) { + if (pathName in this.images) { + var base64 = this.images[pathName]; + return new Image(pathName, base64); + } - LuckySheetCelldata.prototype.replaceSpecialWrap = function(text) { - text = text.replace(/_x000D_/g, "").replace(/ /g, "\r\n").replace(/ /g, "\r").replace(/ /g, "\n"); - return text; - } - ; - - LuckySheetCelldata.prototype.getBackgroundByFill = function(fill, clrScheme) { - var patternFills = fill.getInnerElements("patternFill"); - - if (patternFills != null) { - var patternFill = patternFills[0]; - var fgColors = patternFill.getInnerElements("fgColor"); - var bgColors = patternFill.getInnerElements("bgColor"); - var fg = void 0 - , bg = void 0; - - if (fgColors != null) { - var fgColor = fgColors[0]; - fg = ReadXml_1.getColor(fgColor, this.styles); - } - - if (bgColors != null) { - var bgColor = bgColors[0]; - bg = ReadXml_1.getColor(bgColor, this.styles); - } - // console.log(fgColors,bgColors,clrScheme); - - if (fg != null) { - return fg; - } else if (bg != null) { - return bg; - } - } else { - var gradientfills = fill.getInnerElements("gradientFill"); + return null; + }; - if (gradientfills != null) { - //graient color fill handler - return null; - } - } - } - ; + return ImageList; +}(); - LuckySheetCelldata.prototype.getBorderInfo = function(borders) { - if (borders == null) { - return null; - } +exports.ImageList = ImageList; - var border = borders[0] - , attrList = border.attributeList; - var clrScheme = this.styles["clrScheme"]; - var style = attrList.style; +var Image = +/** @class */ +function (_super) { + __extends(Image, _super); - if (style == null || style == "none") { - return null; - } + function Image(pathName, base64) { + var _this = _super.call(this) || this; - var colors = border.getInnerElements("color"); - var colorRet = "#000000"; + _this.src = base64; + return _this; + } - if (colors != null) { - var color = colors[0]; - colorRet = ReadXml_1.getColor(color, this.styles, "b"); + Image.prototype.setDefault = function () {}; - if (colorRet == null) { - colorRet = "#000000"; - } - } + return Image; +}(LuckyBase_1.LuckyImageBase); - var ret = new LuckyBase_1.LuckySheetborderInfoCellValueStyle(); - ret.style = constant_1.borderTypes[style]; - ret.color = colorRet; - return ret; - } - ; +},{"../common/emf":17,"./LuckyBase":10}],14:[function(require,module,exports){ +"use strict"; - LuckySheetCelldata.prototype.htmlDecode = function(str) { - return str.replace(/&#(x)?([^&]{1,5});/g, function($, $1, $2) { - return String.fromCharCode(parseInt($2, $1 ? 16 : 10)); - }); - } - ; +var __extends = void 0 && (void 0).__extends || function () { + var _extendStatics = function extendStatics(d, b) { + _extendStatics = Object.setPrototypeOf || { + __proto__: [] + } instanceof Array && function (d, b) { + d.__proto__ = b; + } || function (d, b) { + for (var p in b) { + if (b.hasOwnProperty(p)) d[p] = b[p]; + } + }; - ;return LuckySheetCelldata; - }(LuckyBase_1.LuckySheetCelldataBase); + return _extendStatics(d, b); + }; - exports.LuckySheetCelldata = LuckySheetCelldata; + return function (d, b) { + _extendStatics(d, b); - } - , { - "../common/constant": 16, - "../common/method": 18, - "./LuckyBase": 10, - "./ReadXml": 15 - }], - 12: [function(require, module, exports) { - "use strict"; - - var __extends = void 0 && (void 0).__extends || function() { - var _extendStatics = function extendStatics(d, b) { - _extendStatics = Object.setPrototypeOf || { - __proto__: [] - }instanceof Array && function(d, b) { - d.__proto__ = b; - } - || function(d, b) { - for (var p in b) { - if (b.hasOwnProperty(p)) - d[p] = b[p]; - } - } - ; + function __() { + this.constructor = d; + } - return _extendStatics(d, b); - }; + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +}(); - return function(d, b) { - _extendStatics(d, b); +var __importDefault = void 0 && (void 0).__importDefault || function (mod) { + return mod && mod.__esModule ? mod : { + "default": mod + }; +}; - function __() { - this.constructor = d; - } +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.LuckySheet = void 0; - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, - new __()); - } - ; - }(); +var LuckyCell_1 = require("./LuckyCell"); - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.LuckyFile = void 0; +var method_1 = require("../common/method"); - var LuckySheet_1 = require("./LuckySheet"); +var constant_1 = require("../common/constant"); - var constant_1 = require("../common/constant"); +var ReadXml_1 = require("./ReadXml"); - var ReadXml_1 = require("./ReadXml"); +var LuckyBase_1 = require("./LuckyBase"); - var method_1 = require("../common/method"); +var dayjs_1 = __importDefault(require("dayjs")); - var LuckyBase_1 = require("./LuckyBase"); +var LuckySheet = +/** @class */ +function (_super) { + __extends(LuckySheet, _super); - var LuckyImage_1 = require("./LuckyImage"); + function LuckySheet(sheetName, sheetId, sheetOrder, isInitialCell, allFileOption) { + if (isInitialCell === void 0) { + isInitialCell = false; + } - var LuckyFile = /** @class */ - function(_super) { - __extends(LuckyFile, _super); + var _this = //Private + _super.call(this) || this; + + _this.isInitialCell = isInitialCell; + _this.readXml = allFileOption.readXml; + _this.sheetFile = allFileOption.sheetFile; + _this.styles = allFileOption.styles; + _this.sharedStrings = allFileOption.sharedStrings; + _this.calcChainEles = allFileOption.calcChain; + _this.sheetList = allFileOption.sheetList; + _this.imageList = allFileOption.imageList; + _this.hide = allFileOption.hide; //Output + + _this.name = sheetName; + _this.index = sheetId; + _this.order = sheetOrder.toString(); + _this.config = new LuckyBase_1.LuckyConfig(); + _this.celldata = []; + _this.mergeCells = _this.readXml.getElementsByTagName("mergeCells/mergeCell", _this.sheetFile); + var clrScheme = _this.styles["clrScheme"]; + + var sheetView = _this.readXml.getElementsByTagName("sheetViews/sheetView", _this.sheetFile); + + var showGridLines = "1", + tabSelected = "0", + zoomScale = "100", + activeCell = "A1"; + + if (sheetView.length > 0) { + var attrList = sheetView[0].attributeList; + showGridLines = method_1.getXmlAttibute(attrList, "showGridLines", "1"); + tabSelected = method_1.getXmlAttibute(attrList, "tabSelected", "0"); + zoomScale = method_1.getXmlAttibute(attrList, "zoomScale", "100"); // let colorId = getXmlAttibute(attrList, "colorId", "0"); + + var selections = sheetView[0].getInnerElements("selection"); + + if (selections != null && selections.length > 0) { + activeCell = method_1.getXmlAttibute(selections[0].attributeList, "activeCell", "A1"); + var range = method_1.getcellrange(activeCell, _this.sheetList, sheetId); + _this.luckysheet_select_save = []; + + _this.luckysheet_select_save.push(range); + } + } - function LuckyFile(files, fileName) { - var _this = _super.call(this) || this; + _this.showGridLines = showGridLines; + _this.status = tabSelected; + _this.zoomRatio = parseInt(zoomScale) / 100; - _this.columnWidthSet = []; - _this.rowHeightSet = []; - _this.files = files; - _this.fileName = fileName; - _this.readXml = new ReadXml_1.ReadXml(files); + var tabColors = _this.readXml.getElementsByTagName("sheetPr/tabColor", _this.sheetFile); - _this.getSheetNameList(); + if (tabColors != null && tabColors.length > 0) { + var tabColor = tabColors[0], + attrList = tabColor.attributeList; // if(attrList.rgb!=null){ - _this.sharedStrings = _this.readXml.getElementsByTagName("sst/si", constant_1.sharedStringsFile); - _this.calcChain = _this.readXml.getElementsByTagName("calcChain/c", constant_1.calcChainFile); - _this.styles = {}; - _this.styles["cellXfs"] = _this.readXml.getElementsByTagName("cellXfs/xf", constant_1.stylesFile); - _this.styles["cellStyleXfs"] = _this.readXml.getElementsByTagName("cellStyleXfs/xf", constant_1.stylesFile); - _this.styles["cellStyles"] = _this.readXml.getElementsByTagName("cellStyles/cellStyle", constant_1.stylesFile); - _this.styles["fonts"] = _this.readXml.getElementsByTagName("fonts/font", constant_1.stylesFile); - _this.styles["fills"] = _this.readXml.getElementsByTagName("fills/fill", constant_1.stylesFile); - _this.styles["borders"] = _this.readXml.getElementsByTagName("borders/border", constant_1.stylesFile); - _this.styles["clrScheme"] = _this.readXml.getElementsByTagName("a:clrScheme/a:dk1|a:lt1|a:dk2|a:lt2|a:accent1|a:accent2|a:accent3|a:accent4|a:accent5|a:accent6|a:hlink|a:folHlink", constant_1.theme1File); - _this.styles["indexedColors"] = _this.readXml.getElementsByTagName("colors/indexedColors/rgbColor", constant_1.stylesFile); - _this.styles["mruColors"] = _this.readXml.getElementsByTagName("colors/mruColors/color", constant_1.stylesFile); - _this.imageList = new LuckyImage_1.ImageList(files); + var tc = ReadXml_1.getColor(tabColor, _this.styles, "b"); + _this.color = tc; // } + } - var numfmts = _this.readXml.getElementsByTagName("numFmt/numFmt", constant_1.stylesFile); + var sheetFormatPr = _this.readXml.getElementsByTagName("sheetFormatPr", _this.sheetFile); - var numFmtDefaultC = JSON.parse(JSON.stringify(constant_1.numFmtDefault)); + var defaultColWidth, defaultRowHeight; - for (var i = 0; i < numfmts.length; i++) { - var attrList = numfmts[i].attributeList; - var numfmtid = method_1.getXmlAttibute(attrList, "numFmtId", "49"); - var formatcode = method_1.getXmlAttibute(attrList, "formatCode", "@"); - // console.log(numfmtid, formatcode); + if (sheetFormatPr.length > 0) { + var attrList = sheetFormatPr[0].attributeList; + defaultColWidth = method_1.getXmlAttibute(attrList, "defaultColWidth", "9.21"); + defaultRowHeight = method_1.getXmlAttibute(attrList, "defaultRowHeight", "19"); + } - if (!(numfmtid in constant_1.numFmtDefault)) { - numFmtDefaultC[numfmtid] = constant_1.numFmtDefaultMap[formatcode] || formatcode; - } - } - // console.log(JSON.stringify(numFmtDefaultC), numfmts); + _this.defaultColWidth = method_1.getColumnWidthPixel(parseFloat(defaultColWidth)); + _this.defaultRowHeight = method_1.getRowHeightPixel(parseFloat(defaultRowHeight)); - _this.styles["numfmts"] = numFmtDefaultC; - return _this; - } - /** - * @return All sheet name of workbook - */ + _this.generateConfigColumnLenAndHidden(); - LuckyFile.prototype.getSheetNameList = function() { - var workbookRelList = this.readXml.getElementsByTagName("Relationships/Relationship", constant_1.workbookRels); + var cellOtherInfo = _this.generateConfigRowLenAndHiddenAddCell(); - if (workbookRelList == null) { - return; - } + if (_this.calcChain == null) { + _this.calcChain = []; + } - var regex = new RegExp("worksheets/[^/]*?.xml"); - var sheetNames = {}; - - for (var i = 0; i < workbookRelList.length; i++) { - var rel = workbookRelList[i] - , attrList = rel.attributeList; - var id = attrList["Id"] - , target = attrList["Target"]; - - if (regex.test(target)) { - if (target.indexOf('/xl') === 0) { - sheetNames[id] = target.substr(1); - } else { - sheetNames[id] = "xl/" + target; - } - } - } + var formulaListExist = {}; - this.sheetNameList = sheetNames; - } - ; - /** - * @param sheetName WorkSheet'name - * @return sheet file name and path in zip - */ + for (var c = 0; c < _this.calcChainEles.length; c++) { + var calcChainEle = _this.calcChainEles[c], + attrList = calcChainEle.attributeList; - LuckyFile.prototype.getSheetFileBysheetId = function(sheetId) { - // for(let i=0;i-1){ - // return sheetFileName; - // } - // } - return this.sheetNameList[sheetId]; - } - ; - /** - * @return workBook information - */ + if (attrList.i != sheetId) { + continue; + } - LuckyFile.prototype.getWorkBookInfo = function() { - var Company = this.readXml.getElementsByTagName("Company", constant_1.appFile); - var AppVersion = this.readXml.getElementsByTagName("AppVersion", constant_1.appFile); - var creator = this.readXml.getElementsByTagName("dc:creator", constant_1.coreFile); - var lastModifiedBy = this.readXml.getElementsByTagName("cp:lastModifiedBy", constant_1.coreFile); - var created = this.readXml.getElementsByTagName("dcterms:created", constant_1.coreFile); - var modified = this.readXml.getElementsByTagName("dcterms:modified", constant_1.coreFile); - this.info = new LuckyBase_1.LuckyFileInfo(); - this.info.name = this.fileName; - this.info.creator = creator.length > 0 ? creator[0].value : ""; - this.info.lastmodifiedby = lastModifiedBy.length > 0 ? lastModifiedBy[0].value : ""; - this.info.createdTime = created.length > 0 ? created[0].value : ""; - this.info.modifiedTime = modified.length > 0 ? modified[0].value : ""; - this.info.company = Company.length > 0 ? Company[0].value : ""; - this.info.appversion = AppVersion.length > 0 ? AppVersion[0].value : ""; - } - ; - /** - * @return All sheet , include whole information - */ + var r = attrList.r, + i = attrList.i, + l = attrList.l, + s = attrList.s, + a = attrList.a, + t = attrList.t; + var range = method_1.getcellrange(r); + var chain = new LuckyBase_1.LuckysheetCalcChain(); + chain.r = range.row[0]; + chain.c = range.column[0]; + chain.index = _this.index; - LuckyFile.prototype.getSheetsFull = function(isInitialCell) { - if (isInitialCell === void 0) { - isInitialCell = true; - } + _this.calcChain.push(chain); - var sheets = this.readXml.getElementsByTagName("sheets/sheet", constant_1.workBookFile); - var sheetList = {}; + formulaListExist["r" + r + "c" + c] = null; + } - for (var key in sheets) { - var sheet = sheets[key]; - sheetList[sheet.attributeList.name] = sheet.attributeList["sheetId"]; - } + if (_this.formulaRefList != null) { + for (var key in _this.formulaRefList) { + var funclist = _this.formulaRefList[key]; + var mainFunc = funclist["mainRef"], + mainCellValue = mainFunc.cellValue; + var formulaTxt = mainFunc.fv; + var mainR = mainCellValue.r, + mainC = mainCellValue.c; // let refRange = getcellrange(ref); + + for (var name_1 in funclist) { + if (name_1 == "mainRef") { + continue; + } + + var funcValue = funclist[name_1], + cellValue = funcValue.cellValue; + + if (cellValue == null) { + continue; + } + + var r = cellValue.r, + c = cellValue.c; + var func = formulaTxt; + var offsetRow = r - mainR, + offsetCol = c - mainC; + + if (offsetRow > 0) { + func = "=" + method_1.fromulaRef.functionCopy(func, "down", offsetRow); + } else if (offsetRow < 0) { + func = "=" + method_1.fromulaRef.functionCopy(func, "up", Math.abs(offsetRow)); + } + + if (offsetCol > 0) { + func = "=" + method_1.fromulaRef.functionCopy(func, "right", offsetCol); + } else if (offsetCol < 0) { + func = "=" + method_1.fromulaRef.functionCopy(func, "left", Math.abs(offsetCol)); + } // console.log(offsetRow, offsetCol, func); + + + cellValue.v.f = func; //添加共享公式链 + + var chain = new LuckyBase_1.LuckysheetCalcChain(); + chain.r = cellValue.r; + chain.c = cellValue.c; + chain.index = _this.index; + + _this.calcChain.push(chain); + } + } + } //There may be formulas that do not appear in calcChain - this.sheets = []; - var order = 0; - - for (var key in sheets) { - var sheet = sheets[key]; - var sheetName = sheet.attributeList.name; - var sheetId = sheet.attributeList["sheetId"]; - var rid = sheet.attributeList["r:id"]; - var sheetFile = this.getSheetFileBysheetId(rid); - var hide = sheet.attributeList.state === "hidden" ? 1 : 0; - var drawing = this.readXml.getElementsByTagName("worksheet/drawing", sheetFile) - , drawingFile = void 0 - , drawingRelsFile = void 0; - - if (drawing != null && drawing.length > 0) { - var attrList = drawing[0].attributeList; - var rid_1 = method_1.getXmlAttibute(attrList, "r:id", null); - - if (rid_1 != null) { - drawingFile = this.getDrawingFile(rid_1, sheetFile); - drawingRelsFile = this.getDrawingRelsFile(drawingFile); - } - } - - if (sheetFile != null) { - var sheet_1 = new LuckySheet_1.LuckySheet(sheetName,sheetId,order,isInitialCell,{ - sheetFile: sheetFile, - readXml: this.readXml, - sheetList: sheetList, - styles: this.styles, - sharedStrings: this.sharedStrings, - calcChain: this.calcChain, - imageList: this.imageList, - drawingFile: drawingFile, - drawingRelsFile: drawingRelsFile, - hide: hide - }); - this.columnWidthSet = []; - this.rowHeightSet = []; - this.imagePositionCaculation(sheet_1); - this.sheets.push(sheet_1); - order++; - } - } - } - ; - LuckyFile.prototype.extendArray = function(index, sets, def, hidden, lens) { - if (index < sets.length) { - return; - } + for (var key in cellOtherInfo.formulaList) { + if (!(key in formulaListExist)) { + var formulaListItem = cellOtherInfo.formulaList[key]; + var chain = new LuckyBase_1.LuckysheetCalcChain(); + chain.r = formulaListItem.r; + chain.c = formulaListItem.c; + chain.index = _this.index; - var startIndex = sets.length - , endIndex = index; - var allGap = 0; + _this.calcChain.push(chain); + } + } // dataVerification config - if (startIndex > 0) { - allGap = sets[startIndex - 1]; - } - // else{ - // sets.push(0); - // } - - for (var i = startIndex; i <= endIndex; i++) { - var gap = def - , istring = i.toString(); - - if (istring in hidden) { - gap = 0; - } else if (istring in lens) { - gap = lens[istring]; - } - - allGap += Math.round(gap + 1); - sets.push(allGap); - } - } - ; - LuckyFile.prototype.imagePositionCaculation = function(sheet) { - var images = sheet.images - , defaultColWidth = sheet.defaultColWidth - , defaultRowHeight = sheet.defaultRowHeight; - var colhidden = {}; + _this.dataVerification = _this.generateConfigDataValidations(); // hyperlink config - if (sheet.config.colhidden) { - colhidden = sheet.config.colhidden; - } + _this.hyperlink = _this.generateConfigHyperlinks(); // sheet hide - var columnlen = {}; + _this.hide = _this.hide; - if (sheet.config.columnlen) { - columnlen = sheet.config.columnlen; - } + if (_this.mergeCells != null) { + for (var i = 0; i < _this.mergeCells.length; i++) { + var merge = _this.mergeCells[i], + attrList = merge.attributeList; + var ref = attrList.ref; - var rowhidden = {}; + if (ref == null) { + continue; + } - if (sheet.config.rowhidden) { - rowhidden = sheet.config.rowhidden; - } + var range = method_1.getcellrange(ref, _this.sheetList, sheetId); + var mergeValue = new LuckyBase_1.LuckySheetConfigMerge(); + mergeValue.r = range.row[0]; + mergeValue.c = range.column[0]; + mergeValue.rs = range.row[1] - range.row[0] + 1; + mergeValue.cs = range.column[1] - range.column[0] + 1; - var rowlen = {}; + if (_this.config.merge == null) { + _this.config.merge = {}; + } - if (sheet.config.rowlen) { - rowlen = sheet.config.rowlen; - } + _this.config.merge[range.row[0] + "_" + range.column[0]] = mergeValue; + } + } - for (var key in images) { - var imageObject = images[key]; - //Image, luckyImage - - var fromCol = imageObject.fromCol; - var fromColOff = imageObject.fromColOff; - var fromRow = imageObject.fromRow; - var fromRowOff = imageObject.fromRowOff; - var toCol = imageObject.toCol; - var toColOff = imageObject.toColOff; - var toRow = imageObject.toRow; - var toRowOff = imageObject.toRowOff; - var x_n = 0 - , y_n = 0; - var cx_n = 0 - , cy_n = 0; - - if (fromCol >= this.columnWidthSet.length) { - this.extendArray(fromCol, this.columnWidthSet, defaultColWidth, colhidden, columnlen); - } - - if (fromCol == 0) { - x_n = 0; - } else { - x_n = this.columnWidthSet[fromCol - 1]; - } - - x_n = x_n + fromColOff; - - if (fromRow >= this.rowHeightSet.length) { - this.extendArray(fromRow, this.rowHeightSet, defaultRowHeight, rowhidden, rowlen); - } - - if (fromRow == 0) { - y_n = 0; - } else { - y_n = this.rowHeightSet[fromRow - 1]; - } - - y_n = y_n + fromRowOff; - - if (toCol >= this.columnWidthSet.length) { - this.extendArray(toCol, this.columnWidthSet, defaultColWidth, colhidden, columnlen); - } - - if (toCol == 0) { - cx_n = 0; - } else { - cx_n = this.columnWidthSet[toCol - 1]; - } - - cx_n = cx_n + toColOff - x_n; - - if (toRow >= this.rowHeightSet.length) { - this.extendArray(toRow, this.rowHeightSet, defaultRowHeight, rowhidden, rowlen); - } - - if (toRow == 0) { - cy_n = 0; - } else { - cy_n = this.rowHeightSet[toRow - 1]; - } - - cy_n = cy_n + toRowOff - y_n; - // console.log(defaultColWidth, colhidden, columnlen); - // console.log(fromCol, this.columnWidthSet[fromCol], fromColOff); - // console.log(toCol, this.columnWidthSet[toCol], toColOff, JSON.stringify(this.columnWidthSet)); - imageObject.originWidth = cx_n; - imageObject.originHeight = cy_n; - imageObject.crop.height = cy_n; - imageObject.crop.width = cx_n; - imageObject["default"].height = cy_n; - imageObject["default"].left = x_n; - imageObject["default"].top = y_n; - imageObject["default"].width = cx_n; - } - //console.log(this.columnWidthSet, this.rowHeightSet); + var drawingFile = allFileOption.drawingFile, + drawingRelsFile = allFileOption.drawingRelsFile; + + if (drawingFile != null && drawingRelsFile != null) { + var twoCellAnchors = _this.readXml.getElementsByTagName("xdr:twoCellAnchor", drawingFile); + + if (twoCellAnchors != null && twoCellAnchors.length > 0) { + for (var i = 0; i < twoCellAnchors.length; i++) { + var twoCellAnchor = twoCellAnchors[i]; + var editAs = method_1.getXmlAttibute(twoCellAnchor.attributeList, "editAs", "twoCell"); + var xdrFroms = twoCellAnchor.getInnerElements("xdr:from"), + xdrTos = twoCellAnchor.getInnerElements("xdr:to"); + var xdr_blipfills = twoCellAnchor.getInnerElements("a:blip"); + + if (xdrFroms != null && xdr_blipfills != null && xdrFroms.length > 0 && xdr_blipfills.length > 0) { + var xdrFrom = xdrFroms[0], + xdrTo = xdrTos[0], + xdr_blipfill = xdr_blipfills[0]; + var rembed = method_1.getXmlAttibute(xdr_blipfill.attributeList, "r:embed", null); + + var imageObject = _this.getBase64ByRid(rembed, drawingRelsFile); + + var x_n = 0, + y_n = 0; + var cx_n = 0, + cy_n = 0; + imageObject.fromCol = _this.getXdrValue(xdrFrom.getInnerElements("xdr:col")); + imageObject.fromColOff = method_1.getPxByEMUs(_this.getXdrValue(xdrFrom.getInnerElements("xdr:colOff"))); + imageObject.fromRow = _this.getXdrValue(xdrFrom.getInnerElements("xdr:row")); + imageObject.fromRowOff = method_1.getPxByEMUs(_this.getXdrValue(xdrFrom.getInnerElements("xdr:rowOff"))); + imageObject.toCol = _this.getXdrValue(xdrTo.getInnerElements("xdr:col")); + imageObject.toColOff = method_1.getPxByEMUs(_this.getXdrValue(xdrTo.getInnerElements("xdr:colOff"))); + imageObject.toRow = _this.getXdrValue(xdrTo.getInnerElements("xdr:row")); + imageObject.toRowOff = method_1.getPxByEMUs(_this.getXdrValue(xdrTo.getInnerElements("xdr:rowOff"))); + imageObject.originWidth = cx_n; + imageObject.originHeight = cy_n; + + if (editAs == "absolute") { + imageObject.type = "3"; + } else if (editAs == "oneCell") { + imageObject.type = "2"; + } else { + imageObject.type = "1"; + } - } - ; - /** - * @return drawing file string - */ + imageObject.isFixedPos = false; + imageObject.fixedLeft = 0; + imageObject.fixedTop = 0; + var imageBorder = { + color: "#000", + radius: 0, + style: "solid", + width: 0 + }; + imageObject.border = imageBorder; + var imageCrop = { + height: cy_n, + offsetLeft: 0, + offsetTop: 0, + width: cx_n + }; + imageObject.crop = imageCrop; + var imageDefault = { + height: cy_n, + left: x_n, + top: y_n, + width: cx_n + }; + imageObject["default"] = imageDefault; - LuckyFile.prototype.getDrawingFile = function(rid, sheetFile) { - var sheetRelsPath = "xl/worksheets/_rels/"; - var sheetFileArr = sheetFile.split("/"); - var sheetRelsName = sheetFileArr[sheetFileArr.length - 1]; - var sheetRelsFile = sheetRelsPath + sheetRelsName + ".rels"; - var drawing = this.readXml.getElementsByTagName("Relationships/Relationship", sheetRelsFile); - - if (drawing.length > 0) { - for (var i = 0; i < drawing.length; i++) { - var relationship = drawing[i]; - var attrList = relationship.attributeList; - var relationshipId = method_1.getXmlAttibute(attrList, "Id", null); - - if (relationshipId == rid) { - var target = method_1.getXmlAttibute(attrList, "Target", null); - - if (target != null) { - return target.replace(/\.\.\//g, ""); - } - } - } - } + if (_this.images == null) { + _this.images = {}; + } - return null; - } - ; + _this.images[method_1.generateRandomIndex("image")] = imageObject; // } + // } + } + } + } + } - LuckyFile.prototype.getDrawingRelsFile = function(drawingFile) { - var drawingRelsPath = "xl/drawings/_rels/"; - // console.log(drawingFile); + return _this; + } - if (drawingFile == "" || drawingFile == null || drawingFile == undefined) { - var drawingRelsName = ""; - } else { - var drawingFileArr = drawingFile.split("/"); - var drawingRelsName = drawingFileArr[drawingFileArr.length - 1]; - } + LuckySheet.prototype.getXdrValue = function (ele) { + if (ele == null || ele.length == 0) { + return null; + } - var drawingRelsFile = drawingRelsPath + drawingRelsName + ".rels"; - return drawingRelsFile; - } - ; - /** - * @return All sheet base information widthout cell and config - */ + return parseInt(ele[0].value); + }; - LuckyFile.prototype.getSheetsWithoutCell = function() { - this.getSheetsFull(false); - } - ; - /** - * @return LuckySheet file json + LuckySheet.prototype.getBase64ByRid = function (rid, drawingRelsFile) { + var Relationships = this.readXml.getElementsByTagName("Relationships/Relationship", drawingRelsFile); + + if (Relationships != null && Relationships.length > 0) { + for (var i = 0; i < Relationships.length; i++) { + var Relationship = Relationships[i]; + var attrList = Relationship.attributeList; + var Id = method_1.getXmlAttibute(attrList, "Id", null); + var src = method_1.getXmlAttibute(attrList, "Target", null); + + if (Id == rid) { + src = src.replace(/\.\.\//g, ""); + src = "xl/" + src; + var imgage = this.imageList.getImageByName(src); + return imgage; + } + } + } + + return null; + }; + /** + * @desc This will convert cols/col to luckysheet config of column'width */ - LuckyFile.prototype.Parse = function() { - // let xml = this.readXml; - // for(let key in this.sheetNameList){ - // let sheetName=this.sheetNameList[key]; - // let sheetColumns = xml.getElementsByTagName("row/c/f", sheetName); - // console.log(sheetColumns); - // } - // return ""; - this.getWorkBookInfo(); - this.getSheetsFull(); - // for(let i=0;i