flowerpig há 10 meses atrás
commit
a8c051da0a
100 ficheiros alterados com 16915 adições e 0 exclusões
  1. 5 0
      .gitattributes
  2. 20 0
      .gitignore
  3. 111 0
      ChangeLog.md
  4. 201 0
      LICENSE
  5. 45 0
      Makefile
  6. 105 0
      README.md
  7. 38 0
      app/api/common/GMAction.go
  8. 30 0
      app/api/common/commonAction.go
  9. 37 0
      app/api/common/errorAction.go
  10. 103 0
      app/api/common/loginAction.go
  11. 132 0
      app/api/config/configAction.go
  12. 124 0
      app/api/department/departmentAction.go
  13. 1806 0
      app/api/game/gameAction.go
  14. 1128 0
      app/api/gm/gmAction.go
  15. 115 0
      app/api/log/logAction.go
  16. 129 0
      app/api/menu/menuAction.go
  17. 169 0
      app/api/role/roleAction.go
  18. 252 0
      app/api/user/userAction.go
  19. 75 0
      app/component/middle/MiddlewareLog.go
  20. 34 0
      app/component/started/gStart.go
  21. 10 0
      app/constants/constant.go
  22. 11 0
      app/constants/log_constant.go
  23. 18 0
      app/model/config/config.go
  24. 71 0
      app/model/config/config_entity.go
  25. 367 0
      app/model/config/config_model.go
  26. 18 0
      app/model/department/department.go
  27. 68 0
      app/model/department/department_entity.go
  28. 367 0
      app/model/department/department_model.go
  29. 20 0
      app/model/log/log.go
  30. 66 0
      app/model/log/log_entity.go
  31. 367 0
      app/model/log/log_model.go
  32. 18 0
      app/model/menu/menu.go
  33. 70 0
      app/model/menu/menu_entity.go
  34. 367 0
      app/model/menu/menu_model.go
  35. 18 0
      app/model/role/role.go
  36. 64 0
      app/model/role/role_entity.go
  37. 367 0
      app/model/role/role_model.go
  38. 18 0
      app/model/role_menu/role_menu.go
  39. 54 0
      app/model/role_menu/role_menu_entity.go
  40. 367 0
      app/model/role_menu/role_menu_model.go
  41. 18 0
      app/model/user/user.go
  42. 81 0
      app/model/user/user_entity.go
  43. 367 0
      app/model/user/user_model.go
  44. 18 0
      app/model/user_role/user_role.go
  45. 54 0
      app/model/user_role/user_role_entity.go
  46. 367 0
      app/model/user_role/user_role_model.go
  47. 173 0
      app/service/config/configSvc.go
  48. 164 0
      app/service/department/departmentSvc.go
  49. 209 0
      app/service/log/logSvc.go
  50. 196 0
      app/service/menu/menuSvc.go
  51. 193 0
      app/service/role/roleSvc.go
  52. 225 0
      app/service/user/userSvc.go
  53. 25 0
      boot/boot.go
  54. 4 0
      build.bat
  55. 18 0
      common/constants.go
  56. 486 0
      common/rpcrequestgmiface.go
  57. 287 0
      common/ttypes.go
  58. 213 0
      config/config.toml
  59. 29 0
      config/config_pro.toml
  60. 3305 0
      config/server/Item.csv
  61. 268 0
      config/server/Reason.csv
  62. 635 0
      config/server/RechargeCommodityConfig.csv
  63. 4 0
      deploy/Donate.md
  64. 46 0
      deploy/ReadMe.md
  65. 24 0
      deploy/gmanager-web.sql
  66. 230 0
      deploy/gmanager.sql
  67. BIN
      deploy/image/1.png
  68. BIN
      deploy/image/2.png
  69. BIN
      deploy/image/3.png
  70. BIN
      deploy/image/4.png
  71. BIN
      deploy/image/web1.png
  72. BIN
      deploy/image/web2.png
  73. BIN
      deploy/image/web3.png
  74. BIN
      deploy/image/web4.png
  75. 15 0
      deploy/pkg.sh
  76. BIN
      gmanager
  77. 12 0
      go.mod
  78. 156 0
      go.sum
  79. 61 0
      library/base/baseForm.go
  80. 19 0
      library/base/baseModel.go
  81. 54 0
      library/base/baseRouter.go
  82. 8 0
      library/bean/SessionUser.go
  83. 85 0
      library/codeutil/initTable.go
  84. 17 0
      library/codeutil/uploadUtil.go
  85. 1070 0
      library/mongo/gamedao.go
  86. 20 0
      library/mongo/gameinfo/BlackList.go
  87. 27 0
      library/mongo/gameinfo/ItemLog.go
  88. 25 0
      library/mongo/gameinfo/LogHour.go
  89. 24 0
      library/mongo/gameinfo/LogHourLogin.go
  90. 25 0
      library/mongo/gameinfo/LogLTV.go
  91. 27 0
      library/mongo/gameinfo/LogLogin.go
  92. 25 0
      library/mongo/gameinfo/LogPayLiuCun.go
  93. 27 0
      library/mongo/gameinfo/LogRegister.go
  94. 25 0
      library/mongo/gameinfo/Logliucun.go
  95. 24 0
      library/mongo/gameinfo/M5User.go
  96. 28 0
      library/mongo/gameinfo/NewRechargeInfo.go
  97. 22 0
      library/mongo/gameinfo/NoticeInfo.go
  98. 36 0
      library/mongo/gameinfo/Pay.go
  99. 37 0
      library/mongo/gameinfo/ServerInfo.go
  100. 22 0
      library/mongo/gameinfo/UserInfo.go

+ 5 - 0
.gitattributes

@@ -0,0 +1,5 @@
+
+*.go linguist-language=go
+*.js linguist-language=go
+*.css linguist-language=go
+*.html linguist-language=go

+ 20 - 0
.gitignore

@@ -0,0 +1,20 @@
+# Binaries for programs and plugins
+*.exe
+*.exe~
+*.dll
+*.so
+*.dylib
+
+# Test binary, built with `go test -c`
+*.test
+
+# Output of the go coverage tool, specifically when used with LiteIDE
+*.out
+
+# third
+
+# other
+pkg
+.idea
+logs
+vendor

+ 111 - 0
ChangeLog.md

@@ -0,0 +1,111 @@
+Change Log 更新说明
+------------------------------
+## 2020-12-28 v1.1.7
+1. gtoken升级到v1.4.1
+2. 修改查询表结构sql
+3. 修改认证方式改为gtoken group
+4. getQueryMap改为getMap
+5. 修改model insert代码,加入lastInsertId
+
+## 2020-07-11 v1.1.6
+1. gtoken升级到v1.3.18
+
+## 2020-04-01 v1.1.5
+1. gtoken升级到v1.3.16 支持不需要认证的路径排除配置
+
+## 2020-03-31 v1.1.4
+1. 解决前后端分离跨域部署认证问题
+
+## 2020-03-31 v1.1.3
+1. gf升级到最新版本V1.12.1,gtoken升级到v1.3.15
+
+## 2020-03-12 v1.1.2
+1. gf升级到最新版本V1.11.6,gtoken升级到v1.3.13
+
+## 2020-03-11 v1.1.1
+1. gf升级到最新版本V1.11.5,gtoken升级到v1.3.12
+
+## 2020-01-13 v1.1.0
+1. 安装gf官网建议项目目录进行重构
+2. 使用gf gen model生成model层,但json使用驼峰格式
+3. gf升级到最新版本V1.11.4
+
+## 2020-01-13 v1.0.1
+1. gf升级为V1.11.2,修改即将废弃函数
+2. gtoken升级为v1.3.10
+
+## 2019-12-24 v1.0.0
+1. 发布gmanger v1.0.0 支持前后端分离
+
+## 2019-12-20
+1. gf升级为V1.10.1,适配时间格式兼容性修改
+
+## 2019-12-17
+1. 升级gtoken,加入多个帐号同时登录支持
+
+## 2019-12-11
+1. 修复菜单级别问题
+2. 更新分页判断逻辑,加入空处理
+
+## 2019-12-06 v0.1.6
+1. 升级GF v1.10.0
+2. 升级gtoken v1.3.7
+3. 将原有代码配置改为新版本支持的配置文件形式
+4. 修复菜单和配置管理页面展示问题
+
+## 2019-12-04 v0.1.5
+1. 优化前后端分离返回值
+2. 规范sys_menu表父id
+```sql
+ALTER TABLE `sys_menu` 
+CHANGE COLUMN `parentid` `parent_id` int(11) NOT NULL DEFAULT 0 COMMENT '父id' AFTER `id`;
+```
+3. 加入树结构层级删除限制
+
+## 2019-11-21
+1. 修复菜单展示异常问题
+
+## 2019-11-12 v0.1.4
+1. gf版本升级到v1.9.10
+
+## 2019-09-27 v0.1.3
+1. gf版本升级到v1.9.6
+2. gtoken模块限制加入index
+
+## 2019-09-24 v0.1.2
+1. 路由使用最新特性分组
+2. 将hook改为中间件middleware
+
+## 2019-09-16 v0.1.1
+1. gf版本升级到v1.9.1
+
+## 2019-09-16 v0.1.0
+1. gf版本升级到v1.9.0
+2. gtoken改为module引用
+
+## 2019-09-16 v0.1.0
+1. gf版本升级到v1.9.0
+2. gtoken改为module引用
+
+## 2019-09-14 v0.0.6
+1. gf版本升级到v2.0.0
+2. 修改低版本gdb支持slice多参数问题
+
+## 2019-09-06 v0.0.5
+1. 菜单bug修复
+2. 升级到v1.8.3
+
+## 2019-07-30 v0.0.4
+1. 修复菜单管理bug
+
+## 2019-07-20 v0.0.3
+1. 将gf升级为1.8.0
+2. 加入Makefile,支撑make vendor、make tidy、make run命令
+
+## 2019-07-11 v0.0.2
+1. 升级gf为最新版本v1.7.3;
+2. 优化数据库配置格式;
+3. 优化业务增删改查日志记录,加入操作统一日志记录;
+
+## 2019-07-08 v0.0.1
+1. 项目初始化:支持登录、认证、组织机构、用户、角色、菜单、日志

+ 201 - 0
LICENSE

@@ -0,0 +1,201 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [2019] [FLY的狐狸]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.

+ 45 - 0
Makefile

@@ -0,0 +1,45 @@
+# note: call scripts from /deploy
+
+# project name
+PROJECTNAME=$(shell basename "$(PWD)")
+
+# project path
+ROOT=$(shell pwd)
+
+.PHONY: help
+all: help
+help: Makefile
+	@echo
+	@echo " Choose a command run in "$(PROJECTNAME)":"
+	@echo
+	@sed -n 's/^##//p' $< | column -t -s ':' |  sed -e 's/^/ /'
+	@echo
+
+## vendor: go mod vendor
+## tidy: go mod tidy
+## build: go build -mod=vendor
+## run: go run main.go
+## mod: update or clear mod pkg, do=tidy  or do=vendor
+mod:
+	@echo "use mod"
+	@./deploy/pkg.sh $(ROOT) $(do)
+
+vendor:
+	@echo "use mod vendor"
+	@export GO111MODULE=on
+	@export GOPROXY=https://goproxy.io
+	@go mod vendor
+
+tidy:
+	@echo "use mod tidy"
+	@export GO111MODULE=on
+	@export GOPROXY=https://goproxy.io
+	@go mod tidy
+
+#go build -ldflags "-s -w"
+build:
+	@go build -mod=vendor
+
+run:
+	@echo "go run main.go"
+	@go run main.go

+ 105 - 0
README.md

@@ -0,0 +1,105 @@
+# gmanager
+
+* 基于gf框架的管理后台,支持登录、认证、组织机构、用户帐号、角色权限、菜单、操作日志
+* gmanager已全面支持前后端分离,同时也支持服务端模板部署;
+* 登录组件使用gtoken完美支持集群部署
+
+## 安装教程
+### 代码地址
+* github地址:https://github.com/goflyfox/gmanager
+* gitee地址:https://gitee.com/goflyfox/gmanager
+
+### 下载部署
+1. 从git下载项目: git clone https://github.com/goflyfox/gmanager
+2. 安装mysql数据库,创建db,运行deploy下gmanager.sql脚本
+3. 修改config下config.toml配置文件
+```toml
+# 数据库配置
+[database]
+    link = "root:123456@tcp(127.0.0.1:3306)/gmanager"
+```
+4. go run main.go
+5. 访问http://localhost即可看到登录页面,账号/密码:admin/123456
+
+### 服务端打包
+1. 打包可以使用gf提供的gf-cli进行打包
+2. 也可通过原始交叉编译命令
+
+打linux环境包
+```
+SET CGO_ENABLED=0
+SET GOOS=linux
+SET GOARCH=amd64
+go build main.go
+```
+
+打本地环境包
+```
+go build main.go
+```
+
+### 前后端分离说明
+1. gmanager完全支持前后端分离,前端使用vue-admin-template
+2. 前端运行下载github代码,运行`npm install&npm run dev`
+3. 具体前端代码及详细部署说明见: [https://github.com/goflyfox/gmanager-web](https://github.com/goflyfox/gmanager-web)
+4. 由于前后端分离和服务端模板菜单有所区别,数据库需要运行:gmanager-web.sql
+5. 如果有强迫症,使用前后端分离可以把public和template目录里面内容删除,但目录一定要保留;
+
+## 功能模块
+1. 登录、认证、登出
+2. 组织机构管理
+3. 用户管理
+4. 角色管理
+5. 菜单管理
+6. 日志管理
+7. 支持登录、登出、业务增删改操作记录
+8. 支持接口调用、返回参数打印,便于问题排查
+
+## 代码生成
+如需代码生成,请参考java项目:https://gitee.com/jflyfox/AutoCreate
+
+## 平台截图
+
+### 服务端模板截图
+登录:
+![image](https://raw.githubusercontent.com/goflyfox/gmanager/master/deploy/image/1.png)
+
+组织机构:
+![image](https://raw.githubusercontent.com/goflyfox/gmanager/master/deploy/image/2.png)
+
+用户管理:
+![image](https://raw.githubusercontent.com/goflyfox/gmanager/master/deploy/image/3.png)
+
+日志管理:
+![image](https://raw.githubusercontent.com/goflyfox/gmanager/master/deploy/image/4.png)
+
+### 前后端分离Vue截图
+登录:
+![image](https://raw.githubusercontent.com/goflyfox/gmanager/master/deploy/image/web1.png)
+
+组织机构:
+![image](https://raw.githubusercontent.com/goflyfox/gmanager/master/deploy/image/web2.png)
+
+用户管理:
+![image](https://raw.githubusercontent.com/goflyfox/gmanager/master/deploy/image/web3.png)
+
+日志管理:
+![image](https://raw.githubusercontent.com/goflyfox/gmanager/master/deploy/image/web4.png)
+
+## 感谢
+
+1. gf框架 [https://github.com/gogf/gf](https://github.com/gogf/gf) 
+
+## 项目支持
+
+- 项目的发展,离不开大家得支持~!~
+
+- [【双12】主会场 低至1折;请点击这里](https://www.aliyun.com/1212/2019/home?userCode=c4hsn0gc)
+- [阿里云:ECS云服务器2折起;请点击这里](https://www.aliyun.com/acts/limit-buy?spm=5176.11544616.khv0c5cu5.1.1d8e23e8XHvEIq&userCode=c4hsn0gc)
+- [阿里云:ECS云服务器新人优惠券;请点击这里](https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=c4hsn0gc)
+
+- 也可以请作者喝一杯咖啡:)
+
+![jflyfox](https://raw.githubusercontent.com/jflyfox/jfinal_cms/master/doc/pay01.jpg "Open source support")
+
+[捐赠列表](deploy/Donate.md)

+ 38 - 0
app/api/common/GMAction.go

@@ -0,0 +1,38 @@
+package common
+
+import (
+	"github.com/gogf/gf/net/ghttp"
+	"gmanager/library/netutil"
+)
+
+// Login 登录页面
+func GM(r *ghttp.Request) {
+	cmd := netutil.Gmcmd{
+		ServerIp:   "192.168.2.84",
+		ServerPort: "7904",
+		Cmd:        "sendmail",
+		UserId:     "10001266",
+		Args:       "10001266 16#5000|14#100 title cont",
+	}
+	//sendmail 10001266 10001266 16#5000|14#100 title cont
+	res := cmd.SendGM()	//0 成功
+	r.Response.Writeln(res)
+}
+
+func SendMail(r *ghttp.Request) {
+	uid := r.GetString("uid")
+	cmd := r.GetString("cmd")
+	param := r.GetString("param")	//奖励内容
+	title := r.GetString("title")	//标题
+	cont := r.GetString("cont")	//内容
+	allcmd := param + " " + title + " " + cont
+	sendcmd := netutil.Gmcmd{
+		ServerIp:   "127.0.0.1",
+		ServerPort: "7904",
+		Cmd:        cmd,
+		UserId:     uid,
+		Args:       allcmd,
+	}
+	res:=sendcmd.SendGM()
+	r.Response.Writeln(res)
+}

+ 30 - 0
app/api/common/commonAction.go

@@ -0,0 +1,30 @@
+package common
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/os/glog"
+	"gmanager/app/constants"
+)
+
+// Login 登录页面
+func Welcome(r *ghttp.Request) {
+	err := r.Response.WriteTpl("pages/welcome.html", g.Map{})
+
+	if err != nil {
+		glog.Error(err)
+	}
+}
+
+// 调试页面
+func Debug(r *ghttp.Request) {
+	if constants.DEBUG {
+		constants.DEBUG = false
+		g.DB().SetDebug(false)
+		r.Response.Writeln("debug close ~!~ ")
+	} else {
+		constants.DEBUG = true
+		g.DB().SetDebug(true)
+		r.Response.Writeln("debug open ~!~ ")
+	}
+}

+ 37 - 0
app/api/common/errorAction.go

@@ -0,0 +1,37 @@
+package common
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/os/glog"
+	"github.com/gogf/gf/text/gstr"
+	"github.com/gogf/gf/util/gconv"
+	"gmanager/library/base"
+)
+
+func Error301(r *ghttp.Request) {
+	respError(r, 301)
+}
+
+func Error404(r *ghttp.Request) {
+	respError(r, 404)
+}
+
+func Error500(r *ghttp.Request) {
+	respError(r, 500)
+}
+
+func respError(r *ghttp.Request, errorCode int) {
+	glog.Println(r.URL.Path, errorCode, "error page")
+	if gstr.Contains(r.URL.Path, "html") {
+		err := r.Response.WriteTpl("error/"+gconv.String(errorCode)+".html", g.Map{
+			"error": "",
+		})
+
+		if err != nil {
+			glog.Error(err)
+		}
+	} else {
+		base.Resp(r, errorCode, "error page", r.URL.Path)
+	}
+}

+ 103 - 0
app/api/common/loginAction.go

@@ -0,0 +1,103 @@
+package common
+
+import (
+	"github.com/gogf/gf/crypto/gmd5"
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/os/glog"
+	"github.com/gogf/gf/util/gconv"
+	"gmanager/app/constants"
+	"gmanager/app/service/log"
+	"gmanager/app/service/user"
+	"gmanager/library"
+	"gmanager/library/base"
+	"gmanager/library/bean"
+)
+
+// Login 登录页面
+func Login(r *ghttp.Request) {
+	err := r.Response.WriteTpl("pages/login.html", g.Map{})
+
+	if err != nil {
+		glog.Error(err)
+	}
+}
+
+func Index(r *ghttp.Request) {
+	err := r.Response.WriteTpl("pages/home.html", g.Map{
+		"id":    1,
+		"name":  "flyfox",
+		"title": g.Config().GetString("setting.title"),
+	})
+
+	if err != nil {
+		glog.Error(err)
+	}
+
+}
+
+// LoginSubmit 登录认证
+func LoginSubmit(r *ghttp.Request) (string, interface{}) {
+	username := r.GetString("username")
+	passwd := r.GetString("passwd")
+	if username == "" || passwd == "" {
+		base.Fail(r, "用户名或密码为空")
+	}
+
+	model, err := user.GetByUsername(username)
+	if err != nil {
+		base.Error(r, "服务异常,请联系管理员")
+	}
+
+	if model == nil || model.Id <= 0 {
+		base.Fail(r, "用户名或密码错误.")
+	}
+
+	if model.Enable != constants.EnableYes {
+		base.Fail(r, "账号状态异常,请联系管理员")
+	}
+
+	reqPassword, err2 := gmd5.Encrypt(passwd + model.Salt)
+	if err2 != nil {
+		glog.Error("login password encrypt error", err2)
+		base.Error(r, "用户名或者密码错误:"+username)
+	}
+
+	if reqPassword != model.Password {
+		base.Fail(r, "用户名或者密码错误!")
+	}
+
+	sessionUser := bean.SessionUser{
+		Id:       model.Id,
+		Uuid:     model.Uuid,
+		RealName: model.RealName,
+		Username: model.Username,
+	}
+
+	// 登录日志
+	model.UpdateTime = library.GetNow()
+	model.UpdateId = model.Id
+	log.SaveLog(model, constants.LOGIN)
+
+	return username, sessionUser
+}
+
+// 登出
+func LogoutBefore(r *ghttp.Request) bool {
+	userId := base.GetUser(r).Id
+	model, err := user.GetById(gconv.Int64(userId))
+	if err != nil {
+		glog.Warning("logout getUser error", err)
+		return false
+	} else if model.Id != userId {
+		// 登出用户不存在
+		glog.Warning("logout userId error", userId)
+		return false
+	}
+
+	// 登出日志
+	model.UpdateTime = library.GetNow()
+	model.UpdateId = userId
+	log.SaveLog(model, constants.LOGOUT)
+	return true
+}

+ 132 - 0
app/api/config/configAction.go

@@ -0,0 +1,132 @@
+package config
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/os/glog"
+	"github.com/gogf/gf/os/gtime"
+	"github.com/gogf/gf/util/gconv"
+	"gmanager/app/service/config"
+	"gmanager/library/base"
+)
+
+type Action struct {
+	base.BaseRouter
+}
+
+// path: /index
+func (action *Action) Index(r *ghttp.Request) {
+	tplFile := "pages/system/config_index.html"
+	err := r.Response.WriteTpl(tplFile, g.Map{
+		"now": gtime.Datetime(),
+	})
+
+	if err != nil {
+		glog.Error(err)
+	}
+}
+
+// path: /get/{id}
+func (action *Action) Get(r *ghttp.Request) {
+	id := r.GetInt64("id")
+	model, err := config.GetById(id)
+	if err != nil {
+		base.Fail(r, err.Error())
+	}
+
+	base.Succ(r, model)
+}
+
+// path: /delete/{id}
+func (action *Action) Delete(r *ghttp.Request) {
+	id := r.GetInt64("id")
+	_, err := config.Delete(id, base.GetUser(r).Id)
+	if err != nil {
+		base.Fail(r, err.Error())
+	}
+
+	base.Succ(r, "")
+}
+
+// path: /save
+func (action *Action) Save(r *ghttp.Request) {
+	request := new(config.Request)
+	err := gconv.Struct(r.GetMap(), request)
+	if err != nil {
+		glog.Error("save struct error", err)
+		base.Error(r, "获取参数异常")
+	}
+
+	request.UserId = base.GetUser(r).Id
+	_, err = config.Save(request)
+	if err != nil {
+		base.Fail(r, "保存失败")
+	}
+
+	base.Succ(r, "")
+}
+
+// path: /list
+func (action *Action) List(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+
+	list, err := config.List(&form)
+	if err != nil {
+		glog.Error("page error", err)
+		base.Error(r, err.Error())
+	}
+
+	base.Succ(r, list)
+}
+
+// path: /page
+func (action *Action) Page(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	page, err := config.Page(&form)
+	if err != nil {
+		glog.Error("page error", err)
+		base.Error(r, err.Error())
+	}
+
+	base.Succ(r,
+		g.Map{
+			"page":    form.Page,
+			"rows":    page,
+			"total":   form.TotalPage,
+			"records": form.TotalSize,
+		})
+}
+
+// path: /jqgrid
+func (action *Action) Jqgrid(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	page, err := config.Page(&form)
+	if err != nil {
+		glog.Error("jqgrid error", err)
+		base.Error(r, err.Error())
+	}
+
+	r.Response.WriteJson(g.Map{
+		"page":    form.Page,
+		"rows":    page,
+		"total":   form.TotalPage,
+		"records": form.TotalSize,
+	})
+}
+
+// path: /type
+func (action *Action) Type(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+
+	//userId := base.GetUser(r).Id
+	//user := SysUser{Id: userId}.Get()
+	form.SetParam("parentId", "0")
+	form.OrderBy = "sort asc,create_time desc"
+
+	list, err := config.List(&form)
+	if err != nil {
+		glog.Error("type error", err)
+		base.Error(r, err.Error())
+	}
+	base.Succ(r, list)
+}

+ 124 - 0
app/api/department/departmentAction.go

@@ -0,0 +1,124 @@
+package department
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/os/glog"
+	"github.com/gogf/gf/os/gtime"
+	"github.com/gogf/gf/util/gconv"
+	"gmanager/app/service/department"
+	"gmanager/library/base"
+)
+
+type Action struct {
+	base.BaseRouter
+}
+
+// path: /index
+func (action *Action) Index(r *ghttp.Request) {
+	tplFile := "pages/system/department_index.html"
+	err := r.Response.WriteTpl(tplFile, g.Map{
+		"now": gtime.Datetime(),
+	})
+
+	if err != nil {
+		glog.Error(err)
+	}
+}
+
+// path: /get/{id}
+func (action *Action) Get(r *ghttp.Request) {
+	id := r.GetInt64("id")
+	model, err := department.GetById(id)
+	if err != nil {
+		base.Fail(r, err.Error())
+	}
+
+	base.Succ(r, model)
+}
+
+// path: /delete/{id}
+func (action *Action) Delete(r *ghttp.Request) {
+	id := r.GetInt64("id")
+
+	form := base.NewForm(g.Map{"parentId": id})
+	childModel, err := department.GetOne(&form)
+	if err != nil {
+		base.Fail(r, err.Error())
+	} else if childModel != nil && childModel.Id > 0 {
+		base.Fail(r, "请先删除子机构")
+	}
+
+	_, err = department.Delete(id, base.GetUser(r).Id)
+	if err != nil {
+		base.Fail(r, err.Error())
+	}
+
+	base.Succ(r, "")
+}
+
+// path: /save
+func (action *Action) Save(r *ghttp.Request) {
+	request := new(department.Request)
+	err := gconv.Struct(r.GetMap(), request)
+	if err != nil {
+		glog.Error("save struct error", err)
+		base.Error(r, "save error")
+	}
+
+	request.UserId = base.GetUser(r).Id
+	_, err = department.Save(request)
+	if err != nil {
+		base.Fail(r, "保存失败")
+	}
+
+	base.Succ(r, "")
+}
+
+// path: /list
+func (action *Action) List(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+
+	list, err := department.List(&form)
+	if err != nil {
+		glog.Error("page error", err)
+		base.Error(r, err.Error())
+	}
+
+	base.Succ(r, list)
+}
+
+// path: /page
+func (action *Action) Page(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	page, err := department.Page(&form)
+	if err != nil {
+		glog.Error("page error", err)
+		base.Error(r, err.Error())
+	}
+
+	base.Succ(r,
+		g.Map{
+			"page":    form.Page,
+			"rows":    page,
+			"total":   form.TotalPage,
+			"records": form.TotalSize,
+		})
+}
+
+// path: /jqgrid
+func (action *Action) Jqgrid(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	page, err := department.Page(&form)
+	if err != nil {
+		glog.Error("jqgrid error", err)
+		base.Error(r, err.Error())
+	}
+
+	r.Response.WriteJson(g.Map{
+		"page":    form.Page,
+		"rows":    page,
+		"total":   form.TotalPage,
+		"records": form.TotalSize,
+	})
+}

+ 1806 - 0
app/api/game/gameAction.go

@@ -0,0 +1,1806 @@
+package game
+
+import (
+	"context"
+	"encoding/json"
+	"fmt"
+	"github.com/gogf/gf/container/garray"
+	"github.com/gogf/gf/container/glist"
+	"github.com/gogf/gf/container/gmap"
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/os/gtime"
+	"github.com/gogf/gf/util/gconv"
+	"gmanager/library/base"
+	"gmanager/library/codeutil"
+	"gmanager/library/mongo/gameinfo"
+	"gmanager/library/mongo/gm"
+	"gmanager/library/mongo/util"
+	"gmanager/library/netutil"
+	"go.mongodb.org/mongo-driver/bson"
+	"go.mongodb.org/mongo-driver/bson/primitive"
+	"go.mongodb.org/mongo-driver/mongo"
+	"log"
+	"strconv"
+	"strings"
+	"time"
+)
+
+type CEntity struct {
+	Id  int `orm:"id,primary"  json:"id"` // 主键
+	Num int `orm:"num"  json:"num"`       // 主键
+}
+
+type Action struct {
+	base.BaseRouter
+}
+
+func (action *Action) MainDate(r *ghttp.Request) {
+	//gameinfo.ModelLiucun.FindLiuCun()
+	form := base.NewForm(r.GetQueryMap())
+	page := g.ListAnyAny{}
+	alluser, allnum := gameinfo.ModelRegister.CollectionCount()
+	fmt.Println(alluser, allnum)
+	regMap := gameinfo.ModelRegister.FindRegTime()
+	loginMap := gameinfo.ModeLogin.FindDau()
+	for i, m := range regMap {
+		dtime := m["date"]
+		regCount := m["count"]
+		loginCounr := loginMap[i]["count"]
+		dmap := gmap.NewStrAnyMap()
+		dmap.Set("time", dtime)
+		dmap.Set("regCount", regCount)
+		dmap.Set("loginCount", loginCounr)
+		page = append(page, gconv.Map(dmap))
+	}
+	fmt.Println(page)
+	base.Succ(r,
+		g.Map{
+			"page":    form.Page,
+			"rows":    page,
+			"total":   form.TotalPage,
+			"records": form.TotalSize,
+		})
+}
+
+func (action *Action) Liucun(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	page := g.ListAnyAny{}
+	date := g.Config().GetString("startday")
+	startTime := gtime.NewFromStr(date)
+	//l := g.ListAnyAny{}
+	if form.Params["searchData"] != "" {
+		stime := gconv.MapStrStr(form.Params["searchData"])["0"]
+		etime := gconv.MapStrStr(form.Params["searchData"])["1"]
+		//fmt.Println("============================", stime, etime)
+		//startTime = gtime.NewFromStr(stime)
+		//如果开始时间小于配置的开始时间 取配置好的时间
+		if startTime.DayOfYear() < gtime.NewFromStr(stime).DayOfYear() {
+			startTime = gtime.NewFromStr(stime)
+		}
+		endTime := gtime.NewFromStr(etime)
+		for {
+			strtime := startTime.Format("Y-m-d")
+			bs := bson.D{{"creatday", strtime}}
+			dayinfo := gameinfo.ModelLiucun.FindLiuCun(bs, gconv.String(form.Params["serverid"]))
+			dayMap := gmap.New()
+			dayMap.Set("creatday", strtime)
+			for dayinfo.Next(context.TODO()) {
+				var elem gameinfo.LogLiucun
+				err := dayinfo.Decode(&elem)
+				dayMap.Set("new", elem.NewUser)
+				dayMap.Set("day"+gconv.String(elem.Day), elem.DayCount)
+				if err != nil {
+					//log.Fatal(err)
+					log.Println(err)
+					continue
+				}
+			}
+			page = append(g.ListAnyAny{gconv.Map(dayMap)}, page...)
+			startTime = startTime.AddDate(0, 0, 1)
+			if startTime.DayOfYear() > endTime.DayOfYear() {
+				break
+			}
+		}
+	} else {
+		//fmt.Println("=============", gtime.Now().AddDate(0, 0, -7).Format("Y-m-d"))
+		//不选择默认查询一周的数据
+		startTime = gtime.Now().AddDate(0, 0, -7)
+		for {
+			strtime := startTime.Format("Y-m-d")
+			bs := bson.D{{"creatday", strtime}}
+			dayinfo := gameinfo.ModelLiucun.FindLiuCun(bs, gconv.String(form.Params["serverid"]))
+			dayMap := gmap.New()
+			dayMap.Set("creatday", strtime)
+			for dayinfo.Next(context.TODO()) {
+				var elem gameinfo.LogLiucun
+				err := dayinfo.Decode(&elem)
+				dayMap.Set("new", elem.NewUser)
+				dayMap.Set("day"+gconv.String(elem.Day), elem.DayCount)
+				if err != nil {
+					//log.Fatal(err)
+					log.Println(err)
+					continue
+				}
+			}
+			page = append(g.ListAnyAny{gconv.Map(dayMap)}, page...)
+			startTime = startTime.AddDate(0, 0, 1)
+			if startTime.DayOfYear() >= gtime.Now().DayOfYear() {
+				break
+			}
+		}
+	}
+
+	fmt.Println(page)
+	base.Succ(r,
+		g.Map{
+			"page":    form.Page,
+			"rows":    page,
+			"total":   form.TotalPage,
+			"records": form.TotalSize,
+		})
+
+}
+
+// 付费用户留存
+func (action *Action) PayLiucun(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	page := g.ListAnyAny{}
+	date := g.Config().GetString("startday")
+	startTime := gtime.NewFromStr(date)
+	//l := g.ListAnyAny{}
+	if form.Params["searchData"] != "" {
+		stime := gconv.MapStrStr(form.Params["searchData"])["0"]
+		etime := gconv.MapStrStr(form.Params["searchData"])["1"]
+		//fmt.Println("============================", stime, etime)
+		//startTime = gtime.NewFromStr(stime)
+		//如果开始时间小于配置的开始时间 取配置好的时间
+		if startTime.DayOfYear() < gtime.NewFromStr(stime).DayOfYear() {
+			startTime = gtime.NewFromStr(stime)
+		}
+		endTime := gtime.NewFromStr(etime)
+		for {
+			strtime := startTime.Format("Y-m-d")
+			bs := bson.D{{"creatday", strtime}}
+			dayinfo := gameinfo.ModelPayLiucun.FindLiuCun(bs, gconv.String(form.Params["serverid"]))
+			dayMap := gmap.New()
+			dayMap.Set("creatday", strtime)
+			for dayinfo.Next(context.TODO()) {
+				var elem gameinfo.LogPayLiucun
+				err := dayinfo.Decode(&elem)
+				dayMap.Set("new", elem.NewUser)
+				dayMap.Set("day"+gconv.String(elem.Day), elem.DayCount)
+				if err != nil {
+					//log.Fatal(err)
+					log.Println(err)
+					continue
+				}
+			}
+			page = append(g.ListAnyAny{gconv.Map(dayMap)}, page...)
+			startTime = startTime.AddDate(0, 0, 1)
+			if startTime.DayOfYear() > endTime.DayOfYear() {
+				break
+			}
+		}
+	} else {
+		//fmt.Println("=============", gtime.Now().AddDate(0, 0, -7).Format("Y-m-d"))
+		//不选择默认查询一周的数据
+		startTime = gtime.Now().AddDate(0, 0, -7)
+		for {
+			strtime := startTime.Format("Y-m-d")
+			bs := bson.D{{"creatday", strtime}}
+			dayinfo := gameinfo.ModelPayLiucun.FindLiuCun(bs, gconv.String(form.Params["serverid"]))
+			dayMap := gmap.New()
+			dayMap.Set("creatday", strtime)
+			for dayinfo.Next(context.TODO()) {
+				var elem gameinfo.LogPayLiucun
+				err := dayinfo.Decode(&elem)
+				dayMap.Set("new", elem.NewUser)
+				dayMap.Set("day"+gconv.String(elem.Day), elem.DayCount)
+				if err != nil {
+					//log.Fatal(err)
+					log.Println(err)
+					continue
+				}
+			}
+			page = append(g.ListAnyAny{gconv.Map(dayMap)}, page...)
+			startTime = startTime.AddDate(0, 0, 1)
+			if startTime.DayOfYear() >= gtime.Now().DayOfYear() {
+				break
+			}
+		}
+	}
+
+	fmt.Println(page)
+	base.Succ(r,
+		g.Map{
+			"page":    form.Page,
+			"rows":    page,
+			"total":   form.TotalPage,
+			"records": form.TotalSize,
+		})
+
+}
+
+func (action *Action) Hour(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	bs := bson.D{}
+	var stime, etime string
+	if form.Params != nil {
+		if form.Params["searchData"] != "" {
+			stime = gconv.MapStrStr(form.Params["searchData"])["0"]
+			etime = gconv.MapStrStr(form.Params["searchData"])["1"]
+			bs = bson.D{{"creatday", bson.D{{"$gte", stime}, {"$lte", etime}}}}
+		} else {
+			stime = gtime.Now().AddDate(0, 0, -15).Format("Y-m-d")
+			etime = gtime.Now().AddDate(0, 0, 0).Format("Y-m-d")
+			bs = bson.D{{"creatday", bson.D{{"$gte", stime}, {"$lte", etime}}}}
+		}
+	}
+
+	startTime := gtime.NewFromStr(stime)
+	endTime := gtime.NewFromStr(etime)
+	userListMap := gmap.New(false)
+	for {
+		userList := garray.New(false)
+		accountList := garray.New(false)
+		daystartTime := startTime.Local().TimestampMilli()
+		dayendTime := startTime.Clone().AddDate(0, 0, 1).Local().TimestampMilli() - 1
+		var oneDayAll *mongo.Cursor
+		if form.Params["serverid"] == "" {
+			oneDayAll = gameinfo.ModelRegister.FindAllBson(bson.D{{"register.registerTime", bson.D{{"$gte", daystartTime}, {"$lte", dayendTime}}}})
+		} else {
+			oneDayAll = gameinfo.ModelRegister.FindAllBson(bson.D{{"register.serverId", gconv.String(form.Params["serverid"])}, {"register.registerTime", bson.D{{"$gte", daystartTime}, {"$lte", dayendTime}}}})
+		}
+		var oneDayAllM []bson.M
+		if err := oneDayAll.All(context.TODO(), &oneDayAllM); err != nil {
+			fmt.Println(err)
+		}
+		for _, v1 := range oneDayAllM {
+			loginTime := v1["register"].(primitive.M)
+			if !userList.Contains(loginTime["uid"]) {
+				userList.Append(loginTime["uid"])
+			}
+			if !accountList.Contains(loginTime["openId"]) {
+				accountList.Append(loginTime["openId"])
+			}
+		}
+		userListMap.Set(startTime.Format("Y-m-d"), userList)
+		userListMap.Set("account"+startTime.Format("Y-m-d"), accountList)
+		startTime = startTime.AddDate(0, 0, 1)
+		if startTime.DayOfYear() > endTime.DayOfYear() {
+			break
+		}
+	}
+
+	page := g.ListAnyAny{}
+	var hourInfo *mongo.Cursor
+	if form.Params["serverid"] == "" {
+		hourInfo = gameinfo.ModelHour.FindAllBson(bs)
+	} else {
+		hourInfo = gameinfo.ModelHour.FindListByServer(bs, form.Params["serverid"])
+	}
+	dayMap := gmap.New()
+	for hourInfo.Next(context.TODO()) {
+		value := dayMap.Get("creatday")
+		var hour gameinfo.LogHour
+		err := hourInfo.Decode(&hour)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		//第一条数据 直接赋值到map
+		if value == nil {
+			dayMap.Set("creatday", hour.CreatDay)
+			dayMap.Set("hour"+gconv.String(hour.Hour), hour.NewUser)
+		} else {
+			//取map中存在的日期
+			creatday := dayMap.Get("creatday")
+			//如果遍历到了新的一天
+			if creatday != hour.CreatDay {
+				//将map数据添加到返回集合
+				dayMap.Set("accountcount", len(gconv.Interfaces(userListMap.Get("account"+gconv.String(creatday)))))
+				dayMap.Set("count", len(gconv.Interfaces(userListMap.Get(creatday))))
+				page = append(g.ListAnyAny{gconv.Map(dayMap)}, page...)
+				//清空map 添加新的数据
+				dayMap.Clear()
+				dayMap.Set("creatday", hour.CreatDay)
+				dayMap.Set("hour"+gconv.String(hour.Hour), hour.NewUser)
+			} else {
+				//如果是同一天 只添加对应的时间人数即可
+				dayMap.Set("hour"+gconv.String(hour.Hour), hour.NewUser)
+			}
+		}
+	}
+	//fmt.Println("dayMap===========================", dayMap)
+	dayMap.Set("accountcount", len(gconv.Interfaces(userListMap.Get("account"+gconv.String(dayMap.Get("creatday"))))))
+	dayMap.Set("count", len(gconv.Interfaces(userListMap.Get(gconv.String(dayMap.Get("creatday"))))))
+	page = append(g.ListAnyAny{gconv.Map(dayMap)}, page...)
+	//fmt.Println(page)
+	base.Succ(r,
+		g.Map{
+			"page":    form.Page,
+			"rows":    page,
+			"total":   form.TotalPage,
+			"records": form.TotalSize,
+		})
+}
+
+func (action *Action) HourLogin(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	bs := bson.D{}
+	var stime, etime string
+	if form.Params != nil {
+		if form.Params["searchData"] != "" {
+			stime = gconv.MapStrStr(form.Params["searchData"])["0"]
+			etime = gconv.MapStrStr(form.Params["searchData"])["1"]
+			bs = bson.D{{"creatday", bson.D{{"$gte", stime}, {"$lte", etime}}}}
+		} else {
+			stime = gtime.Now().AddDate(0, 0, -15).Format("Y-m-d")
+			etime = gtime.Now().AddDate(0, 0, 0).Format("Y-m-d")
+			bs = bson.D{{"creatday", bson.D{{"$gte", stime}, {"$lte", etime}}}}
+		}
+	}
+	startTime := gtime.NewFromStr(stime)
+	endTime := gtime.NewFromStr(etime)
+	userListMap := gmap.New(false)
+	for {
+		userList := garray.New(false)
+		accountList := garray.New(false)
+		daystartTime := startTime.Local().TimestampMilli()
+		dayendTime := startTime.Clone().AddDate(0, 0, 1).Local().TimestampMilli() - 1
+		var oneDayAll *mongo.Cursor
+		if form.Params["serverid"] == "" {
+			oneDayAll = gameinfo.ModeLogin.FindAllBson(bson.D{{"loginTime.loginTime", bson.D{{"$gte", daystartTime}, {"$lte", dayendTime}}}})
+		} else {
+			oneDayAll = gameinfo.ModeLogin.FindAllBson(bson.D{{"loginTime.serverId", gconv.String(form.Params["serverid"])}, {"loginTime.loginTime", bson.D{{"$gte", daystartTime}, {"$lte", dayendTime}}}})
+		}
+		var oneDayAllM []bson.M
+		if err := oneDayAll.All(context.TODO(), &oneDayAllM); err != nil {
+			fmt.Println(err)
+		}
+		for _, v1 := range oneDayAllM {
+			loginTime := v1["loginTime"].(primitive.M)
+			if !userList.Contains(loginTime["uid"]) {
+				userList.Append(loginTime["uid"])
+			}
+			if !accountList.Contains(loginTime["openId"]) {
+				accountList.Append(loginTime["openId"])
+			}
+		}
+		userListMap.Set(startTime.Format("Y-m-d"), userList)
+		userListMap.Set("account"+startTime.Format("Y-m-d"), accountList)
+		startTime = startTime.AddDate(0, 0, 1)
+		if startTime.DayOfYear() > endTime.DayOfYear() {
+			break
+		}
+	}
+	//fmt.Println("=========", userListMap)
+	var hourLoginList *mongo.Cursor
+	if form.Params["serverid"] == "" {
+		hourLoginList = gameinfo.ModelHourLogin.FindAllBson(bs)
+	} else {
+		hourLoginList = gameinfo.ModelHourLogin.FindListByServer(bs, form.Params["serverid"])
+	}
+	page := g.ListAnyAny{}
+	dayMap := gmap.New()
+	for hourLoginList.Next(context.TODO()) {
+		value := dayMap.Get("creatday")
+		var hourLogin gameinfo.LogHourLogin
+		err := hourLoginList.Decode(&hourLogin)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		//第一条数据 直接赋值到map
+		if value == nil {
+			dayMap.Set("creatday", hourLogin.CreatDay)
+			dayMap.Set("hour"+gconv.String(hourLogin.Hour), hourLogin.NewUser)
+		} else {
+			//取map中存在的日期
+			creatday := dayMap.Get("creatday")
+			//如果遍历到了新的一天
+			if creatday != hourLogin.CreatDay {
+				//将map数据添加到返回集合
+				dayMap.Set("accountcount", len(gconv.Interfaces(userListMap.Get("account"+gconv.String(creatday)))))
+				dayMap.Set("count", len(gconv.Interfaces(userListMap.Get(creatday))))
+				page = append(g.ListAnyAny{gconv.Map(dayMap)}, page...)
+				//清空map 添加新的数据
+				dayMap.Clear()
+				dayMap.Set("creatday", hourLogin.CreatDay)
+				dayMap.Set("hour"+gconv.String(hourLogin.Hour), hourLogin.NewUser)
+			} else {
+				//如果是同一天 只添加对应的时间人数即可
+				dayMap.Set("hour"+gconv.String(hourLogin.Hour), hourLogin.NewUser)
+			}
+		}
+	}
+	//fmt.Println("dayMap===========================", dayMap)
+	dayMap.Set("accountcount", len(gconv.Interfaces(userListMap.Get("account"+gconv.String(dayMap.Get("creatday"))))))
+	dayMap.Set("count", len(gconv.Interfaces(userListMap.Get(gconv.String(dayMap.Get("creatday"))))))
+	page = append(g.ListAnyAny{gconv.Map(dayMap)}, page...)
+	//fmt.Println(page)
+	base.Succ(r,
+		g.Map{
+			"page":    form.Page,
+			"rows":    page,
+			"total":   form.TotalPage,
+			"records": form.TotalSize,
+		})
+}
+
+func (action *Action) GetLtvList(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	page := g.ListAnyAny{}
+	date := g.Config().GetString("startday")
+	startTime := gtime.NewFromStr(date)
+	if form.Params["searchData"] != "" {
+		stime := gconv.MapStrStr(form.Params["searchData"])["0"]
+		etime := gconv.MapStrStr(form.Params["searchData"])["1"]
+		//如果开始时间小于配置的开始时间 取配置好的时间
+		if startTime.DayOfYear() < gtime.NewFromStr(stime).DayOfYear() {
+			startTime = gtime.NewFromStr(stime)
+		}
+		endTime := gtime.NewFromStr(etime)
+		for {
+			var sum float64 = 0
+			strtime := startTime.Format("Y-m-d")
+			bs := bson.D{{"creatday", strtime}}
+			dayinfo := gameinfo.ModelLtv.FindLiuCun(bs, gconv.String(form.Params["serverid"]))
+			dayMap := gmap.New()
+			dayMap.Set("creatday", strtime)
+			for dayinfo.Next(context.TODO()) {
+				var logLtv gameinfo.LogLTV
+				err := dayinfo.Decode(&logLtv)
+				money1, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", float64(logLtv.DayAmount)/float64(100)), 64)
+				sum = sum + money1
+				dayMap.Set("new", logLtv.NewUser)
+				dayMap.Set("day"+gconv.String(logLtv.Day), money1)
+				dayMap.Set("daysum"+gconv.String(logLtv.Day), sum)
+				if err != nil {
+					//log.Fatal(err)
+					log.Println(err)
+					continue
+				}
+			}
+			page = append(g.ListAnyAny{gconv.Map(dayMap)}, page...)
+			startTime = startTime.AddDate(0, 0, 1)
+			if startTime.DayOfYear() > endTime.DayOfYear() {
+				break
+			}
+		}
+	} else {
+		//fmt.Println("=============", gtime.Now().AddDate(0, 0, -7).Format("Y-m-d"))
+		//不选择默认查询30天的数据
+		startTime = gtime.Now().AddDate(0, 0, -30)
+		for {
+			var sum float64 = 0
+			strtime := startTime.Format("Y-m-d")
+			bs := bson.D{{"creatday", strtime}}
+			dayinfo := gameinfo.ModelLtv.FindLiuCun(bs, gconv.String(form.Params["serverid"]))
+			dayMap := gmap.New()
+			dayMap.Set("creatday", strtime)
+			for dayinfo.Next(context.TODO()) {
+				var logLtv gameinfo.LogLTV
+				err := dayinfo.Decode(&logLtv)
+				money1, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", float64(logLtv.DayAmount)/float64(100)), 64)
+				sum = sum + money1
+				dayMap.Set("new", logLtv.NewUser)
+				dayMap.Set("day"+gconv.String(logLtv.Day), money1)
+				dayMap.Set("daysum"+gconv.String(logLtv.Day), sum)
+				if err != nil {
+					//log.Fatal(err)
+					log.Println(err)
+					continue
+				}
+			}
+			page = append(g.ListAnyAny{gconv.Map(dayMap)}, page...)
+			startTime = startTime.AddDate(0, 0, 1)
+			if startTime.DayOfYear() >= gtime.Now().DayOfYear() {
+				break
+			}
+		}
+	}
+	fmt.Println(page)
+	base.Succ(r,
+		g.Map{
+			"page":    form.Page,
+			"rows":    page,
+			"total":   form.TotalPage,
+			"records": form.TotalSize,
+		})
+}
+
+func getCont(m map[string]interface{}) int {
+	count := 0
+	for k, v := range m {
+		//key包含hour 把value相加
+		if strings.Contains(k, "hour") {
+			count = count + gconv.Int(v)
+		}
+	}
+	return count
+}
+
+func (action *Action) PlayerInfo(r *ghttp.Request) {
+	form := base.NewForm(r.GetQueryMap())
+	page := g.ListAnyAny{}
+	//f:=&form
+	name := r.Form.Get("uid")
+	sdkuid := r.Form.Get("sdkuid")
+	serverid := r.Form.Get("serverid")
+	openid := r.Form.Get("openid")
+	//name := "东里帛薇"
+	var bs bson.D
+	if name != "" {
+		bs = bson.D{{"playerManager.nickName", name}}
+	} else if sdkuid != "" {
+		bs = bson.D{{"_id", gconv.Int(sdkuid)}}
+	} else if openid != "" {
+		bs = bson.D{{"playerManager.openId", gconv.String(openid)}}
+	} else {
+		base.Succ(r,
+			g.Map{
+				"page":    form.Page,
+				"rows":    page,
+				"total":   form.TotalPage,
+				"records": form.TotalSize,
+			})
+		return
+	}
+	var userInfo *mongo.Cursor
+	if serverid == "" {
+		userInfo = gameinfo.ModelM5User.FindUser(bs, g.Config().GetString("mongo-port"))
+	} else {
+		userInfo = gameinfo.ModelM5User.FindUser(bs, serverid)
+	}
+	var showsWithInfo []bson.M
+	if err := userInfo.All(context.TODO(), &showsWithInfo); err != nil {
+		fmt.Println(err)
+	}
+	if showsWithInfo == nil {
+		base.Resp(r, 1, "无角色信息", nil)
+		return
+	}
+	data := showsWithInfo[0]
+	dmap := gmap.NewStrAnyMap()
+	dmap.Set("id", data["_id"])
+	player := data["playerManager"].(bson.M)
+	dmap.Set("nickName", player["nickName"])
+	dmap.Set("openId", player["openId"])
+	dmap.Set("level", player["level"])
+	dmap.Set("createTime", gconv.Time(player["createTime"]).String())
+	dmap.Set("loginTime", gconv.Time(player["loginTime"]).String())
+	page = append(page, gconv.Map(dmap))
+	fmt.Println(len(page))
+
+	base.Succ(r,
+		g.Map{
+			"page":    form.Page,
+			"rows":    page,
+			"total":   form.TotalPage,
+			"records": form.TotalSize,
+		})
+
+}
+
+func (action *Action) Lv(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	serverid := form.Params["serverid"]
+	page := g.ListAnyAny{}
+	lvinfo := gameinfo.ModelM5User.FindLV(gconv.String(serverid))
+	var showsWithInfo []bson.M
+	if err := lvinfo.All(context.TODO(), &showsWithInfo); err != nil {
+		fmt.Println(err)
+	}
+	//treeMap := gmap.NewTreeMap(gutil.ComparatorInt, true)
+	for _, m := range showsWithInfo {
+		//treeMap.Set(m["_id"],m["value"])
+		dayMap := gmap.New()
+		dayMap.Set("level", m["_id"])
+		dayMap.Set("count", m["value"])
+		page = append(page, gconv.Map(dayMap))
+	}
+
+	fmt.Println(len(page))
+	base.Succ(r,
+		g.Map{
+			"page":    form.Page,
+			"rows":    page,
+			"total":   form.TotalPage,
+			"records": form.TotalSize,
+		})
+}
+
+func (action *Action) Vip(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	serverid := form.Params["serverid"]
+	page := g.ListAnyAny{}
+	vipinfo := gameinfo.ModelM5User.FindVIP(gconv.String(serverid))
+	var showsWithInfo []bson.M
+	if err := vipinfo.All(context.TODO(), &showsWithInfo); err != nil {
+		fmt.Println(err)
+	}
+	//treeMap := gmap.NewTreeMap(gutil.ComparatorInt, true)
+	for _, m := range showsWithInfo {
+		//treeMap.Set(m["_id"],m["value"])
+		dayMap := gmap.New()
+		dayMap.Set("vipLevel", m["_id"])
+		dayMap.Set("count", m["value"])
+		page = append(page, gconv.Map(dayMap))
+	}
+	//fmt.Println(len(page))
+	base.Succ(r,
+		g.Map{
+			"page":    form.Page,
+			"rows":    page,
+			"total":   form.TotalPage,
+			"records": form.TotalSize,
+		})
+}
+
+//服务器信息列表
+func (action *Action) ServerInfo(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	bs := bson.D{}
+	if form.Params != nil {
+		if form.Params["name"] != "" {
+			bs1 := bson.E{"name", bson.D{{"$regex", form.Params["name"]}}}
+			bs = append(bs, bs1)
+		}
+		if form.Params["channel"] != "" {
+			bs1 := bson.E{"channel", bson.D{{"$regex", form.Params["channel"]}}}
+			bs = append(bs, bs1)
+		}
+		if form.Params["state"] != "" {
+			if form.Params["state"] == "0" {
+				bs1 := bson.E{"state", bson.D{{"$ne", "-1"}}}
+				bs = append(bs, bs1)
+			} else {
+				bs1 := bson.E{"state", form.Params["state"]}
+				bs = append(bs, bs1)
+			}
+		}
+		if form.Params["isNew"] != "" {
+			bs1 := bson.E{"is_new", form.Params["isNew"]}
+			bs = append(bs, bs1)
+		}
+		if form.Params["isBanreg"] != "" {
+			bs1 := bson.E{"is_banreg", form.Params["isBanreg"]}
+			bs = append(bs, bs1)
+		}
+	}
+	data := g.ListAnyAny{}
+	count := gameinfo.ModelServer.GetListCount(bs)
+	page := util.Page{
+		PageSize:    gconv.Int64(form.Rows),
+		CurrentPage: gconv.Int64(form.Page),
+		Total:       gconv.Int64(count),
+	}
+	serverInfoList := gameinfo.ModelServer.GetPageList(bs, page)
+	dayMap := gmap.New()
+	for serverInfoList.Next(context.TODO()) {
+		var serverInfo gameinfo.ServerInfo
+		err := serverInfoList.Decode(&serverInfo)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		dayMap.Set("id", serverInfo.Id)
+		dayMap.Set("name", serverInfo.Name)
+		dayMap.Set("ip", serverInfo.Ip)
+		dayMap.Set("port", serverInfo.Port)
+		dayMap.Set("serverId", serverInfo.ServerId)
+		dayMap.Set("channel", serverInfo.Channel)
+		dayMap.Set("subChannel", serverInfo.SubChannel)
+		dayMap.Set("state", serverInfo.State)
+		dayMap.Set("plat", serverInfo.Plat)
+		dayMap.Set("openTime", serverInfo.OpenTime)
+		dayMap.Set("openType", serverInfo.OpenType)
+		dayMap.Set("isNew", serverInfo.IsNew)
+		dayMap.Set("isBanreg", serverInfo.IsBanreg)
+		dayMap.Set("isWhite", serverInfo.IsWhite)
+		dayMap.Set("serverVersion", serverInfo.ServerVersion)
+		dayMap.Set("gmip", serverInfo.GMIp)
+		dayMap.Set("gmport", serverInfo.GMPort)
+		dayMap.Set("currency", serverInfo.Currency)
+		dayMap.Set("timezone", serverInfo.Timezone)
+		dayMap.Set("exportdata", serverInfo.Exportdata)
+		data = append(g.ListAnyAny{gconv.Map(dayMap)}, data...)
+	}
+	fmt.Println(data)
+	base.Succ(r,
+		g.Map{
+			"rows":    data,
+			"total":   page.Total,
+			"current": page.CurrentPage,
+		})
+}
+
+//保存服务器信息
+func (action *Action) SaveServer(r *ghttp.Request) {
+	id := r.Form.Get("id")
+	name := r.Form.Get("name")
+	ip := r.Form.Get("ip")
+	port := r.Form.Get("port")
+	serverId := r.Form.Get("serverId")
+	channel := r.Form.Get("channel")
+	subChannel := r.Form.Get("subChannel")
+	state := r.Form.Get("state")
+	plat := r.Form.Get("plat")
+	openTime := r.Form.Get("openTime")
+	openType := r.Form.Get("openType")
+	isNew := r.Form.Get("isNew")
+	isBanreg := r.Form.Get("isBanreg")
+	isWhite := r.Form.Get("isWhite")
+	serverVersion := r.Form.Get("serverVersion")
+	gmip := r.Form.Get("gmip")
+	gmport := r.Form.Get("gmport")
+	currency := r.Form.Get("currency")
+	timezone := r.Form.Get("timezone")
+	exportdata := r.Form.Get("exportdata")
+	serverInfo := new(gameinfo.ServerInfo)
+	serverInfo.Id = gconv.Int(id)
+	serverInfo.Name = name
+	serverInfo.Ip = ip
+	serverInfo.Port = port
+	serverInfo.ServerId = serverId
+	serverInfo.Channel = channel
+	serverInfo.SubChannel = subChannel
+	serverInfo.State = state
+	serverInfo.Plat = plat
+	serverInfo.OpenTime = openTime
+	serverInfo.OpenType = openType
+	serverInfo.IsNew = isNew
+	serverInfo.IsBanreg = isBanreg
+	serverInfo.IsWhite = isWhite
+	serverInfo.ServerVersion = serverVersion
+	serverInfo.GMIp = gmip
+	serverInfo.GMPort = gmport
+	serverInfo.Currency = currency
+	serverInfo.Timezone = timezone
+	serverInfo.Exportdata = exportdata
+	// 判断添加还是修改
+	flag := true
+	singleResult := gameinfo.ModelServer.FindAllBson(bson.D{})
+	for singleResult.Next(context.TODO()) {
+		var si gameinfo.ServerInfo
+		err := singleResult.Decode(&si)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		// 转成同类型 判断服务器是否存在
+		if gconv.Int(si.Id) == gconv.Int(serverInfo.Id) {
+			flag = false
+		}
+	}
+	if flag {
+		// 添加
+		gameinfo.ModelServer.AddServer(serverInfo)
+		base.Resp(r, 0, "添加成功", nil)
+	} else {
+		// 修改
+		res := gameinfo.ModelServer.UpdateServer(gconv.Int(id), serverInfo)
+		if res.ModifiedCount > 0 {
+			base.Resp(r, 0, "修改成功", nil)
+		} else {
+			base.Resp(r, 1, "修改失败", nil)
+		}
+	}
+}
+
+//根据id查询服务器信息
+func (action *Action) GetServerDetail(r *ghttp.Request) {
+	id := r.GetInt64("id")
+	bs := bson.D{{"_id", gconv.Int(id)}}
+	serverInfoList := gameinfo.ModelServer.FindServerInfoList(bs)
+	dayMap := gmap.New()
+	for serverInfoList.Next(context.TODO()) {
+		var serverInfo gameinfo.ServerInfo
+		err := serverInfoList.Decode(&serverInfo)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		dayMap.Set("id", serverInfo.Id)
+		dayMap.Set("name", serverInfo.Name)
+		dayMap.Set("ip", serverInfo.Ip)
+		dayMap.Set("port", serverInfo.Port)
+		dayMap.Set("serverId", serverInfo.ServerId)
+		dayMap.Set("channel", serverInfo.Channel)
+		dayMap.Set("subChannel", serverInfo.SubChannel)
+		dayMap.Set("state", serverInfo.State)
+		dayMap.Set("plat", serverInfo.Plat)
+		dayMap.Set("openTime", serverInfo.OpenTime)
+		dayMap.Set("openType", serverInfo.OpenType)
+		dayMap.Set("isNew", serverInfo.IsNew)
+		dayMap.Set("isBanreg", serverInfo.IsBanreg)
+		dayMap.Set("isWhite", serverInfo.IsWhite)
+		dayMap.Set("serverVersion", serverInfo.ServerVersion)
+		dayMap.Set("gmip", serverInfo.GMIp)
+		dayMap.Set("gmport", serverInfo.GMPort)
+		dayMap.Set("currency", serverInfo.Currency)
+		dayMap.Set("timezone", serverInfo.Timezone)
+		dayMap.Set("exportdata", serverInfo.Exportdata)
+	}
+	fmt.Println("dayMap=", dayMap)
+	base.Succ(r, dayMap)
+}
+
+//删除服务器信息
+func (action *Action) DelServer(r *ghttp.Request) {
+	id := r.GetInt64("id")
+	bs := bson.D{{"_id", gconv.Int(id)}}
+	deleteResult := gameinfo.ModelServer.DelServer(bs)
+	fmt.Println(deleteResult.DeletedCount)
+	base.Succ(r, g.Map{"code": 0, "result": deleteResult.DeletedCount})
+}
+
+//获取服务器列表
+func (action *Action) GetServerList(r *ghttp.Request) {
+	list := glist.New()
+	bs := bson.D{}
+	serverInfoList := gameinfo.ModelServer.FindServerInfoList(bs)
+	for serverInfoList.Next(context.TODO()) {
+		dayMap := gmap.New()
+		var serverInfo gameinfo.ServerInfo
+		err := serverInfoList.Decode(&serverInfo)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		dayMap.Set("id", serverInfo.Id)
+		dayMap.Set("name", serverInfo.Name)
+		dayMap.Set("gmip", serverInfo.GMIp)
+		dayMap.Set("gmport", serverInfo.GMPort)
+		dayMap.Set("serverid", serverInfo.ServerId)
+		list.PushFront(dayMap)
+	}
+	base.Succ(r, list)
+}
+
+//白名单列表
+func (action *Action) WhiteList(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	bs := bson.D{}
+	if form.Params != nil {
+		if form.Params["openId"] != "" {
+			bs1 := bson.E{"openId", bson.D{{"$regex", form.Params["openId"]}}}
+			bs = append(bs, bs1)
+		}
+	}
+	count := gameinfo.ModelWhiteList.GetListCount(bs)
+	page := util.Page{
+		PageSize:    gconv.Int64(form.Rows),
+		CurrentPage: gconv.Int64(form.Page),
+		Total:       gconv.Int64(count),
+	}
+	data := g.ListAnyAny{}
+	whiteListData := gameinfo.ModelWhiteList.FindWhiteList(bs, page)
+	dayMap := gmap.New()
+	for whiteListData.Next(context.TODO()) {
+		var whiteList gameinfo.WhiteList
+		err := whiteListData.Decode(&whiteList)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		dayMap.Set("id", whiteList.Id)
+		dayMap.Set("openId", whiteList.OpenId)
+		data = append(g.ListAnyAny{gconv.Map(dayMap)}, data...)
+	}
+	fmt.Println(data)
+	base.Succ(r,
+		g.Map{
+			"rows":    data,
+			"total":   page.Total,
+			"current": page.CurrentPage,
+		})
+}
+
+//保存白名单
+func (action *Action) SaveWhiteList(r *ghttp.Request) {
+	id := r.Form.Get("id")
+	openid := r.Form.Get("openId")
+	obj_id := primitive.NewObjectID()
+	if id != "" {
+		obj_id, _ = primitive.ObjectIDFromHex(id)
+	}
+
+	whiteList := new(gameinfo.WhiteList)
+	whiteList.Id = obj_id
+	whiteList.OpenId = openid
+	res := gameinfo.ModelWhiteList.AddBlackList(id, openid, whiteList)
+	if res > 0 {
+		base.Succ(r, g.Map{"code": 0, "result": "操作成功"})
+	} else {
+		base.Succ(r, g.Map{"code": 1, "result": "操作失败"})
+	}
+}
+
+func (action *Action) GetWhiteListDetail(r *ghttp.Request) {
+	id := r.GetString("id")
+	obj_id, _ := primitive.ObjectIDFromHex(id)
+	bs := bson.D{{"_id", obj_id}}
+	page := util.Page{
+		PageSize:    1,
+		CurrentPage: 1,
+		Total:       1,
+	}
+	whiteListData := gameinfo.ModelWhiteList.FindWhiteList(bs, page)
+	dayMap := gmap.New()
+	for whiteListData.Next(context.TODO()) {
+		var whiteList gameinfo.WhiteList
+		err := whiteListData.Decode(&whiteList)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		dayMap.Set("id", whiteList.Id)
+		dayMap.Set("openId", whiteList.OpenId)
+	}
+	fmt.Println("dayMap=", dayMap)
+	base.Succ(r, dayMap)
+}
+
+//删除白名单信息
+func (action *Action) DelWhiteList(r *ghttp.Request) {
+	id := r.GetString("id")
+	obj_id, _ := primitive.ObjectIDFromHex(id)
+	bs := bson.D{{"_id", obj_id}}
+	deleteResult := gameinfo.ModelWhiteList.DelWhiteList(bs)
+	fmt.Println(deleteResult.DeletedCount)
+	base.Succ(r, g.Map{"code": 0, "result": deleteResult.DeletedCount})
+}
+
+//黑名单列表
+func (action *Action) BlackList(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	bs := bson.D{}
+	if form.Params != nil {
+		if form.Params["openId"] != "" {
+			bs1 := bson.E{"openId", bson.D{{"$regex", form.Params["openId"]}}}
+			bs = append(bs, bs1)
+		}
+	}
+	data := g.ListAnyAny{}
+	count := gameinfo.ModelBlackList.GetListCount(bs)
+	page := util.Page{
+		PageSize:    gconv.Int64(form.Rows),
+		CurrentPage: gconv.Int64(form.Page),
+		Total:       gconv.Int64(count),
+	}
+	blackListData := gameinfo.ModelBlackList.FindBlackList(bs, page)
+	dayMap := gmap.New()
+	for blackListData.Next(context.TODO()) {
+		var blackList gameinfo.BlackList
+		err := blackListData.Decode(&blackList)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		dayMap.Set("id", blackList.Id)
+		dayMap.Set("openId", blackList.OpenId)
+		data = append(g.ListAnyAny{gconv.Map(dayMap)}, data...)
+	}
+	fmt.Println(data)
+	base.Succ(r,
+		g.Map{
+			//"page":    page.PageSize,
+			"rows":    data,
+			"total":   page.Total,
+			"current": page.CurrentPage,
+		})
+}
+
+//保存黑名单
+func (action *Action) SaveBlackList(r *ghttp.Request) {
+	id := r.Form.Get("id")
+	openid := r.Form.Get("openId")
+	obj_id := primitive.NewObjectID()
+	if id != "" {
+		obj_id, _ = primitive.ObjectIDFromHex(id)
+	}
+	blackList := new(gameinfo.BlackList)
+	blackList.Id = obj_id
+	blackList.OpenId = openid
+	res := gameinfo.ModelBlackList.AddBlackList(id, openid, blackList)
+	if res > 0 {
+		base.Succ(r, g.Map{"code": 0, "result": "操作成功"})
+	} else {
+		base.Succ(r, g.Map{"code": 1, "result": "操作失败"})
+	}
+}
+
+func (action *Action) GetBlackListDetail(r *ghttp.Request) {
+	id := r.GetString("id")
+	obj_id, _ := primitive.ObjectIDFromHex(id)
+	bs := bson.D{{"_id", obj_id}}
+	page := util.Page{
+		PageSize:    1,
+		CurrentPage: 1,
+		Total:       1,
+	}
+	blackListData := gameinfo.ModelBlackList.FindBlackList(bs, page)
+	dayMap := gmap.New()
+	for blackListData.Next(context.TODO()) {
+		var blackList gameinfo.BlackList
+		err := blackListData.Decode(&blackList)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		dayMap.Set("id", blackList.Id)
+		dayMap.Set("openId", blackList.OpenId)
+	}
+	fmt.Println("GetBlackListDetail-dayMap=", dayMap)
+	base.Succ(r, dayMap)
+}
+
+//删除黑名单信息
+func (action *Action) DelBlackList(r *ghttp.Request) {
+	id := r.GetString("id")
+	obj_id, _ := primitive.ObjectIDFromHex(id)
+	bs := bson.D{{"_id", obj_id}}
+	deleteResult := gameinfo.ModelBlackList.DelBlackList(bs)
+	fmt.Println(deleteResult.DeletedCount)
+	base.Succ(r, g.Map{"code": 0, "result": deleteResult.DeletedCount})
+}
+
+//公告信息列表
+func (action *Action) NoticeInfo(r *ghttp.Request) {
+	var timeLayoutStr = "2006-01-02 15:04:05"
+	form := base.NewForm(r.GetMap())
+	bs := bson.D{}
+	data := g.ListAnyAny{}
+	count := gameinfo.ModelNoticeInfo.GetListCount(bs)
+	page := util.Page{
+		PageSize:    gconv.Int64(form.Rows),
+		CurrentPage: gconv.Int64(form.Page),
+		Total:       gconv.Int64(count),
+	}
+	noticeInfoData := gameinfo.ModelNoticeInfo.GetPageList(bs, page)
+	dayMap := gmap.New()
+	for noticeInfoData.Next(context.TODO()) {
+		var noticeInfo gameinfo.NoticeInfo
+		err := noticeInfoData.Decode(&noticeInfo)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		dayMap.Set("id", noticeInfo.Id)
+		dayMap.Set("title", noticeInfo.Title)
+		dayMap.Set("content", noticeInfo.Content)
+		dayMap.Set("grade", noticeInfo.Grade)
+		st := time.Unix(noticeInfo.PublishTime/1000, 0).Format(timeLayoutStr)
+		dayMap.Set("publishtime", st)
+		data = append(g.ListAnyAny{gconv.Map(dayMap)}, data...)
+	}
+	fmt.Println(data)
+	base.Succ(r,
+		g.Map{
+			"rows":    data,
+			"total":   page.Total,
+			"current": page.CurrentPage,
+		})
+}
+
+//保存公告
+func (action *Action) SaveNoticeInfo(r *ghttp.Request) {
+	//var timeLayoutStr = "2006-01-02 15:04:05"
+	id := r.Form.Get("id")
+	title := r.Form.Get("title")
+	content := r.Form.Get("content")
+	grade := r.Form.Get("grade")
+	time := r.Form.Get("publishtime")
+	fmt.Println("time================", time)
+	publishtime := gtime.NewFromStr(time)
+	noticeInfo := new(gameinfo.NoticeInfo)
+	noticeInfo.Id = id
+	noticeInfo.Title = title
+	noticeInfo.Content = content
+	noticeInfo.Grade = grade
+	noticeInfo.PublishTime = gconv.Int64(publishtime.TimestampMilliStr())
+	res := gameinfo.ModelNoticeInfo.AddNoticeInfo(gconv.String(id), noticeInfo)
+	fmt.Println("res=", res.MatchedCount)
+	if res.ModifiedCount > 0 {
+		base.Succ(r, g.Map{"code": 0, "result": "操作成功"})
+	} else {
+		base.Succ(r, g.Map{"code": 1, "result": "操作失败"})
+	}
+}
+
+func (action *Action) GetNoticeInfoDetail(r *ghttp.Request) {
+	id := r.GetInt64("id")
+	bs := bson.D{{"_id", gconv.String(id)}}
+	noticeInfoData := gameinfo.ModelNoticeInfo.FindNoticeInfo(bs)
+	dayMap := gmap.New()
+	for noticeInfoData.Next(context.TODO()) {
+		var noticeInfo gameinfo.NoticeInfo
+		err := noticeInfoData.Decode(&noticeInfo)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		dayMap.Set("id", noticeInfo.Id)
+		dayMap.Set("title", noticeInfo.Title)
+		dayMap.Set("content", noticeInfo.Content)
+		dayMap.Set("grade", noticeInfo.Grade)
+		dayMap.Set("publishtime", noticeInfo.PublishTime)
+	}
+	fmt.Println("dayMap=", dayMap)
+	base.Succ(r, dayMap)
+}
+
+//删除公告
+func (action *Action) DelNoticeInfo(r *ghttp.Request) {
+	id := r.GetInt64("id")
+	bs := bson.D{{"_id", gconv.String(id)}}
+	deleteResult := gameinfo.ModelNoticeInfo.DelNoticeInfo(bs)
+	fmt.Println(deleteResult.DeletedCount)
+	base.Succ(r, g.Map{"code": 0, "result": deleteResult.DeletedCount})
+}
+
+// 整体数据
+func (action *Action) GetRechargeStatisticsList(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	bs := bson.D{}
+	if form.Params != nil {
+		if form.Params["searchData"] != "" {
+			stime := gconv.MapStrStr(form.Params["searchData"])["0"]
+			etime := gconv.MapStrStr(form.Params["searchData"])["1"]
+			bs = bson.D{{"creatday", bson.D{{"$gte", stime}, {"$lte", etime}}}}
+		}
+	}
+
+	page := util.Page{
+		PageSize:    gconv.Int64(form.Rows),
+		CurrentPage: gconv.Int64(form.Page),
+	}
+	var statisticalRechargeList *mongo.Cursor
+	if form.Params["serverid"] == "" {
+		count := gameinfo.ModelStatisticalRecharge.GetListCount(bs)
+		page.Total = gconv.Int64(count)
+		statisticalRechargeList = gameinfo.ModelStatisticalRecharge.GetDataByTimeDesc(bs, page)
+	} else {
+		count := gameinfo.ModelStatisticalRecharge.GetListCountByServer(bs, form.Params["serverid"])
+		page.Total = gconv.Int64(count)
+		statisticalRechargeList = gameinfo.ModelStatisticalRecharge.GetDataByServerTimeDesc(bs, page, form.Params["serverid"])
+	}
+	data := g.ListAnyAny{}
+	dayMap := gmap.New()
+	regMap := gameinfo.ModelRegister.FindRegTime()
+	loginMap := gameinfo.ModeLogin.FindDau()
+
+	for statisticalRechargeList.Next(context.TODO()) {
+		var statisticalRecharge gameinfo.StatisticalRecharge
+		err := statisticalRechargeList.Decode(&statisticalRecharge)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		creatDay := statisticalRecharge.CreatDay
+		dayMap.Set("creatday", creatDay)                                 //日期
+		dayMap.Set("newrechargenum", statisticalRecharge.NewRechargeNum) //新增充值人数
+		newRechargeAmount1, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", float64(statisticalRecharge.NewRechargeAmount)/float64(100)), 64)
+		dayMap.Set("newrechargeamount", newRechargeAmount1)                  //新增充值总额
+		dayMap.Set("newrechargecount", statisticalRecharge.NewRechargeCount) //新增充值次数
+		dayMap.Set("rechargenum", statisticalRecharge.RechargeNum)           //充值人数
+		rechargeAmount1, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", float64(statisticalRecharge.RechargeAmount)/float64(100)), 64)
+		dayMap.Set("rechargeamount", rechargeAmount1)                                                                          //充值总额
+		dayMap.Set("rechargecount", statisticalRecharge.RechargeCount)                                                         //充值次数
+		dayMap.Set("oldrechargenum", gconv.Int(statisticalRecharge.RechargeNum)-gconv.Int(statisticalRecharge.NewRechargeNum)) //老用户充值人数
+		dayMap.Set("oldrechargeamount", rechargeAmount1-newRechargeAmount1)                                                    //老用户充值总额
+		//var registerNum, loginNum, oldLoginNum int
+		if form.Params["serverid"] == "" {
+			//新增角色、DAU(账号)赋初始值
+			dayMap.Set("newrole", 0)
+			dayMap.Set("pDayu", 0)
+			for _, m := range regMap {
+				if gconv.String(m["date"]) == creatDay {
+					//新增角色
+					dayMap.Set("newrole", m["count"])
+				}
+			}
+			for _, m := range loginMap {
+				if gconv.String(m["date"]) == creatDay {
+					//DAU(账号)
+					dayMap.Set("pDayu", m["count"])
+				}
+			}
+			////查询注册人数
+			//registerNum := gameinfo.ModelHour.GetOneDayRegister(creatDay)
+			//查询当日注册账号数
+			registerAccountNum := gameinfo.ModelRegister.GetOneDayRegisterAccount(creatDay, "")
+			startTime := gtime.NewFromStr(creatDay)
+			userList := garray.New(false)
+			userAccountList := garray.New(false)
+			daystartTime := startTime.Local().TimestampMilli()
+			dayendTime := startTime.Clone().AddDate(0, 0, 1).Local().TimestampMilli() - 1
+			oneDayAll := gameinfo.ModeLogin.FindAllBson(bson.D{{"loginTime.loginTime", bson.D{{"$gte", daystartTime}, {"$lte", dayendTime}}}})
+			var oneDayAllM []bson.M
+			if err := oneDayAll.All(context.TODO(), &oneDayAllM); err != nil {
+				fmt.Println(err)
+			}
+			for _, v1 := range oneDayAllM {
+				loginTime := v1["loginTime"].(primitive.M)
+				if !userList.Contains(loginTime["uid"]) {
+					userList.Append(loginTime["uid"])
+				}
+				if !userAccountList.Contains(loginTime["openId"]) {
+					userAccountList.Append(loginTime["openId"])
+				}
+			}
+			//登录角色数
+			loginNum := userList.Len()
+			//查询登录账号数
+			loginAccountNum := userAccountList.Len()
+			//当日或自定义时间段的老用户登录数
+			oldLoginNum := gameinfo.ModelHourLogin.GetOldUserLoginNum(creatDay)
+
+			//新增付费率 (新增充值人数 / 当日注册人数(账号))
+			dayMap.Set("newrate", gconv.String(gconv.Float64(statisticalRecharge.NewRechargeNum)/gconv.Float64(registerAccountNum)*100))
+			//登录付费率 (总充值人数 / 登录人数(账号))|
+			dayMap.Set("loginrate", gconv.String(gconv.Float64(statisticalRecharge.RechargeNum)/gconv.Float64(loginAccountNum)*100))
+			//arppu	(充值总额 / 充值人数)|
+			dayMap.Set("arppu", gconv.String(gconv.Float64(rechargeAmount1)/gconv.Float64(statisticalRecharge.RechargeNum)))
+			//老用户付费率 (老用户充值人数 / 当日或自定义时间段的老用户登录数)|
+			dayMap.Set("oldrate", gconv.String(gconv.Float64(gconv.Float64(statisticalRecharge.RechargeNum)-gconv.Float64(statisticalRecharge.NewRechargeNum))/gconv.Float64(oldLoginNum)*100))
+			//新增arpu (新增充值总额 / 当日注册人数(账号))|
+			dayMap.Set("newarpu", gconv.String(gconv.Float64(newRechargeAmount1)/gconv.Float64(registerAccountNum)))
+			//老玩家arpu (老用户充值总额 / 当日或自定义时间段的老用户登录数)
+			dayMap.Set("oldarpu", gconv.String(gconv.Float64(rechargeAmount1-newRechargeAmount1)/gconv.Float64(oldLoginNum)))
+			//活跃arpu (充值总额 / 登录人数(账号))
+			dayMap.Set("activearpu", gconv.String(gconv.Float64(rechargeAmount1)/gconv.Float64(loginAccountNum)))
+			////当日ltv (当日充值总额 / 当日登录人数)
+			//dayMap.Set("ltv", gconv.String(gconv.Float64(statisticalRecharge.RechargeAmount)/gconv.Float64(loginNum)))
+			//新增(账号)
+			dayMap.Set("regnum", registerAccountNum)
+			//总登角色
+			dayMap.Set("count", loginNum)
+		} else {
+			//查询注册人数
+			registerNum := gameinfo.ModelHour.GetOneDayRegisterByServer(creatDay, gconv.String(form.Params["serverid"]))
+			//查询当日注册账号数
+			registerAccountNum := gameinfo.ModelRegister.GetOneDayRegisterAccount(creatDay, gconv.String(form.Params["serverid"]))
+
+			//fmt.Println("==================================", registerNum, creatDay, registerAccountNum)
+			startTime := gtime.NewFromStr(creatDay)
+			userList := garray.New(false)
+			daystartTime := startTime.Local().TimestampMilli()
+			dayendTime := startTime.Clone().AddDate(0, 0, 1).Local().TimestampMilli() - 1
+			oneDayAll := gameinfo.ModeLogin.FindAllBson(bson.D{{"loginTime.serverId", gconv.String(form.Params["serverid"])}, {"loginTime.loginTime", bson.D{{"$gte", daystartTime}, {"$lte", dayendTime}}}})
+			var oneDayAllM []bson.M
+			if err := oneDayAll.All(context.TODO(), &oneDayAllM); err != nil {
+				fmt.Println(err)
+			}
+			for _, v1 := range oneDayAllM {
+				loginTime := v1["loginTime"].(primitive.M)
+				if !userList.Contains(loginTime["uid"]) {
+					userList.Append(loginTime["uid"])
+				}
+			}
+			//查询登录人数
+			loginNum := userList.Len()
+			////查询登录人数
+			//loginNum = gameinfo.ModelHourLogin.GetOneDayRegisterByServer(creatDay, gconv.String(form.Params["serverid"]))
+			//当日或自定义时间段的老用户登录数
+			oldLoginNum := gameinfo.ModelHourLogin.GetOldUserLoginNumByServer(creatDay, gconv.String(form.Params["serverid"]))
+
+			//新增付费率 (该服新增充值角色数 / 当日该服新增角色数)
+			dayMap.Set("newrate", gconv.String(gconv.Float64(statisticalRecharge.NewRechargeNum)/gconv.Float64(registerNum)*100))
+			//登录付费率 (该服当日总充值角色数 / 当日该服登录角色数)
+			dayMap.Set("loginrate", gconv.String(gconv.Float64(statisticalRecharge.RechargeNum)/gconv.Float64(loginNum)*100))
+			//arppu	(该服当日充值总额 / 该服当日充值角色数(排重))
+			dayMap.Set("arppu", gconv.String(gconv.Float64(rechargeAmount1)/gconv.Float64(statisticalRecharge.RechargeNum)))
+			//老用户付费率 (该服老用户充值角色数 / 当日或自定义时间段的老用户角色登录数)
+			dayMap.Set("oldrate", gconv.String(gconv.Float64(gconv.Float64(statisticalRecharge.RechargeNum)-gconv.Float64(statisticalRecharge.NewRechargeNum))/gconv.Float64(oldLoginNum)*100))
+			//新增arpu (该服当日新增充值总额 / 该服当日新增角色数)
+			dayMap.Set("newarpu", gconv.String(gconv.Float64(newRechargeAmount1)/gconv.Float64(registerNum)))
+			//老玩家arpu (该服老用户角色充值总额 / 当日或自定义时间段的老用户角色登录数)
+			dayMap.Set("oldarpu", gconv.String(gconv.Float64(rechargeAmount1-newRechargeAmount1)/gconv.Float64(oldLoginNum)))
+			//活跃arpu (该服充值总额 / 该服当日登录角色数)
+			dayMap.Set("activearpu", gconv.String(gconv.Float64(rechargeAmount1)/gconv.Float64(loginNum)))
+			////当日ltv (当日该服充值总额 / 当日该服登录角色数)
+			//dayMap.Set("ltv", gconv.String(gconv.Float64(statisticalRecharge.RechargeAmount)/gconv.Float64(loginNum)))
+			//新增(账号)
+			dayMap.Set("regnum", registerAccountNum)
+			//总登角色
+			dayMap.Set("count", loginNum)
+			//新增角色、DAU(账号)
+			dayMap.Set("newrole", registerNum)
+			dayMap.Set("pDayu", loginNum)
+		}
+		//获取今天新增的玩家
+		daystartTime := gtime.NewFromStr(creatDay).Local().TimestampMilli()
+		dayendTime := gtime.NewFromStr(creatDay).Clone().AddDate(0, 0, 1).Local().TimestampMilli() - 1
+		todayUsers := garray.New(false)
+		//查询当日新增玩家累计付费信息
+		var todayRes interface{}
+		if form.Params["serverid"] == "" {
+			todayUsers = gameinfo.ModelRegister.FindNew(daystartTime, dayendTime)
+			todayRes = gameinfo.ModelPay.GetTodayNewCumulativeRecharge(gconv.SliceAny(todayUsers), creatDay, "")
+		} else {
+			todayUsers = gameinfo.ModelRegister.FindNewByServerId(daystartTime, dayendTime, form.Params["serverid"])
+			todayRes = gameinfo.ModelPay.GetTodayNewCumulativeRecharge(gconv.SliceAny(todayUsers), creatDay, form.Params["serverid"])
+		}
+		todaymap := gconv.Map(todayRes)
+		//当日新增玩家累计付费人数
+		if todaymap["num"] != "" {
+			dayMap.Set("todaynewcumulativerechargenum", todaymap["num"])
+		} else {
+			dayMap.Set("todaynewcumulativerechargenum", 0)
+		}
+		//当日新增玩家累计付费金额
+		if todaymap["amount"] != "" {
+			amount, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", gconv.Float64(todaymap["amount"])/float64(100)), 64)
+			dayMap.Set("todaynewcumulativerechargeamount", amount)
+		} else {
+			dayMap.Set("todaynewcumulativerechargeamount", 0)
+		}
+		//当日新增玩家累计付费次数
+		if todaymap["count"] != "" {
+			dayMap.Set("todaynewcumulativerechargecount", todaymap["count"])
+		} else {
+			dayMap.Set("todaynewcumulativerechargecount", 0)
+		}
+		data = append(g.ListAnyAny{gconv.Map(dayMap)}, data...)
+	}
+	base.Succ(r,
+		g.Map{
+			"rows":    data,
+			"total":   page.Total,
+			"current": page.CurrentPage,
+		})
+}
+
+//消费流水
+func (action *Action) RechargeFlow(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+
+	bs := bson.D{}
+	if form.Params != nil {
+		if form.Params["uid"] != "" {
+			bs1 := bson.E{"uid", gconv.Int32(form.Params["uid"])}
+			bs = append(bs, bs1)
+		}
+		if form.Params["serverid"] != "" {
+			bs1 := bson.E{"region", gconv.Int32(form.Params["serverid"])}
+			bs = append(bs, bs1)
+		}
+		if form.Params["orderId"] != "" {
+			bs1 := bson.E{"billno", form.Params["orderId"]}
+			bs = append(bs, bs1)
+		}
+		if form.Params["payItem"] != "" {
+			bs1 := bson.E{"pay_item", form.Params["payItem"]}
+			bs = append(bs, bs1)
+		}
+		if form.Params["payStatus"] != "" {
+			if form.Params["payStatus"] == "1" {
+				bs1 := bson.E{"status", gconv.Int32(1)}
+				bs = append(bs, bs1)
+				bs2 := bson.E{"handlestatus", gconv.Int32(1)}
+				bs = append(bs, bs2)
+			}
+		}
+		if form.Params["searchData"] != "" {
+			stime := gconv.MapStrStr(form.Params["searchData"])["0"]
+			etime := gconv.MapStrStr(form.Params["searchData"])["1"]
+			bs1 := bson.E{"creattime", bson.D{{"$gte", gconv.String(stime)}, {"$lte", gconv.String(etime)}}}
+			bs = append(bs, bs1)
+		}
+	}
+	data := g.ListAnyAny{}
+	count := gameinfo.ModelPay.GetListCount(bs)
+	page := util.Page{
+		PageSize:    gconv.Int64(form.Rows),
+		CurrentPage: gconv.Int64(form.Page),
+		Total:       gconv.Int64(count),
+	}
+	payList := gameinfo.ModelPay.FindHour(bs, page)
+	dayMap := gmap.New()
+	for payList.Next(context.TODO()) {
+		var pay gameinfo.Pay
+		err := payList.Decode(&pay)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		dayMap.Set("uid", pay.Uid)
+		dayMap.Set("region", pay.Region)
+		dayMap.Set("status", pay.Status)
+		dayMap.Set("handlestatus", pay.Handlestatus)
+		dayMap.Set("payItem", pay.PayItem)
+		dayMap.Set("billno", pay.Billno)
+		money1, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", gconv.Float64(pay.Money)/float64(100)), 64)
+		dayMap.Set("money", money1)
+		dayMap.Set("cporderId", pay.CporderId)
+		dayMap.Set("level", pay.Level)
+		dayMap.Set("vipLevel", pay.VipLevel)
+		dayMap.Set("creattime", pay.Creattime)
+		dayMap.Set("callbaktime", pay.Callbaktime)
+		dayMap.Set("handletime", pay.Handlestatus)
+		data = append(g.ListAnyAny{gconv.Map(dayMap)}, data...)
+	}
+	fmt.Println(data)
+	base.Succ(r,
+		g.Map{
+			"rows":    data,
+			"total":   page.Total,
+			"current": page.CurrentPage,
+		})
+}
+
+type ChatInfo struct {
+	Uid     int    `json:"uid"`
+	Name    string `json:"name"`
+	Type    int    `json:"type"`
+	Message string `json:"message"`
+	Time    int64  `json:"time"`
+	Status  int    `json:"status"`
+}
+
+//获取聊天信息
+func (action *Action) GetChatInfoList(r *ghttp.Request) {
+	const CHAT_INFO_CACHE = "CHAT_INFO_CACHE"
+	const separator = ":"
+	const timeLayoutStr = "2006-01-02 15:04:05"
+	serverId := g.Config().GetString("mongo-port")
+	//1世界;2公会
+	paramType := "1"
+	form := base.NewForm(r.GetMap())
+	if form.Params != nil {
+		if form.Params["serverid"] != "" {
+			serverId = form.Params["serverid"]
+		}
+		if form.Params["ctype"] != "" {
+			paramType = form.Params["ctype"]
+		}
+	}
+	page := g.ListAnyAny{}
+	jsonStr, _ := g.Redis().DoVar("LRANGE", serverId+separator+CHAT_INFO_CACHE+separator+paramType, "0", "-1")
+	res := jsonStr.Array()
+	for _, v := range res {
+		var chatInfo ChatInfo
+		e := json.Unmarshal([]byte(gconv.String(v)), &chatInfo)
+		if e != nil {
+			fmt.Println("转换json出现错误")
+			base.Succ(r,
+				g.Map{
+					"page":    form.Page,
+					"rows":    g.ListAnyAny{},
+					"total":   form.TotalPage,
+					"records": form.TotalSize,
+				})
+		}
+		dayMap := gmap.New()
+		dayMap.Set("uid", chatInfo.Uid)
+		dayMap.Set("serverId", serverId)
+		dayMap.Set("name", chatInfo.Name)
+		dayMap.Set("type", chatInfo.Type)
+		dayMap.Set("message", chatInfo.Message)
+		dayMap.Set("status", chatInfo.Status)
+		dayMap.Set("time", time.Unix(chatInfo.Time/1000, 0).Format(timeLayoutStr))
+		page = append(g.ListAnyAny{gconv.Map(dayMap)}, page...)
+	}
+	fmt.Println(page)
+	base.Succ(r,
+		g.Map{
+			"page":    form.Page,
+			"rows":    page,
+			"total":   form.TotalPage,
+			"records": form.TotalSize,
+		})
+}
+
+//设置禁言状态
+func (action *Action) SetSilence(r *ghttp.Request) {
+	const cmdStr = "silence"
+	id := r.GetString("id")
+	stype := r.GetString("type")
+	serverid := r.GetString("serverId")
+	if serverid == "undefined" {
+		base.Fail(r, "请选择服务器后再试一下")
+	}
+	ages := id + " " + stype
+	//根据服务器id查询gmip,gmport,服务器名称
+	singleResult := gameinfo.ModelServer.FindOne("server_id", serverid)
+	var serverInfo gameinfo.ServerInfo
+	err := singleResult.Decode(&serverInfo)
+	gmip := serverInfo.GMIp
+	gmport := serverInfo.GMPort
+	servername := serverInfo.Name
+	if err != nil {
+		base.Fail(r, "查询服务器信息出现异常,"+serverid)
+	}
+	cmd := netutil.Gmcmd{
+		ServerIp:   gmip,
+		ServerPort: gmport,
+		Cmd:        cmdStr,
+		Args:       ages,
+	}
+	fmt.Println(cmd)
+	res := cmd.Creatcdk() //0 成功
+	if res == -100 {
+		base.Resp(r, 1, "thrift解析地址时出错", nil)
+	} else if res == -101 {
+		base.Resp(r, 1, "thrift打开服务器socket出错", nil)
+	}
+	//保存日志
+	var silenceLog gm.SilenceLog
+	silenceLog.Id = primitive.NewObjectID()
+	silenceLog.ServerId = serverid
+	silenceLog.ServerName = servername
+	silenceLog.Uid = gconv.Int(id)
+	silenceLog.Stype = gconv.Int(stype)
+	silenceLog.Cmd = gconv.String(cmdStr)
+	silenceLog.UpdateUser = base.GetUser(r).Username
+	silenceLog.UpdateTime = time.Now().Unix()
+	gm.ModelSilence.InsertOne(silenceLog)
+	if res == 0 {
+		base.Resp(r, 0, "修改成功", nil)
+	} else {
+		base.Resp(r, 1, "修改失败", nil)
+	}
+}
+
+//获取在线人数
+func (action *Action) GetOnlineNumList(r *ghttp.Request) {
+	const ONLINE_NUM = "ONLINE_NUM"
+	const separator = ":"
+	page := g.ListAnyAny{}
+	bs := bson.D{}
+	serverInfoList := gameinfo.ModelServer.FindServerInfoList(bs)
+	for serverInfoList.Next(context.TODO()) {
+		var serverInfo gameinfo.ServerInfo
+		err := serverInfoList.Decode(&serverInfo)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		jsonStr, _ := g.Redis().DoVar("GET", ONLINE_NUM+separator+serverInfo.ServerId)
+		res := jsonStr.Array()
+		onlineNum := 0
+		dayMap := gmap.New()
+		for _, v := range res {
+			e := json.Unmarshal([]byte(gconv.String(v)), &onlineNum)
+			if e != nil {
+				fmt.Println("转换json出现错误")
+				base.Succ(r,
+					g.Map{
+						"rows": g.ListAnyAny{},
+					})
+			}
+		}
+		dayMap.Set("serverName", serverInfo.Name)
+		dayMap.Set("onlineNum", gconv.String(onlineNum))
+		page = append(g.ListAnyAny{gconv.Map(dayMap)}, page...)
+	}
+	fmt.Println(page)
+	base.Succ(r,
+		g.Map{
+			"rows": page,
+		})
+}
+
+//用户操作记录
+func (action *Action) GetItemLogList(r *ghttp.Request) {
+	// 读取配置表
+	itemConfig := codeutil.GetItemConfig()
+	reasonConfig := codeutil.GetReasonConfig()
+	const timeLayoutStr = "2006-01-02 15:04:05"
+	form := base.NewForm(r.GetMap())
+	bs := bson.D{}
+	// 默认查询配置中的服务器
+	serverId := g.Config().GetString("mongo-port")
+	if form.Params != nil {
+		if form.Params["uid"] != "" {
+			bs1 := bson.E{"uid", gconv.Int32(form.Params["uid"])}
+			bs = append(bs, bs1)
+		}
+		if form.Params["serverid"] != "" {
+			serverId = gconv.String(form.Params["serverid"])
+		}
+		if form.Params["typenum"] != "" {
+			bs1 := bson.E{"type", gconv.Int32(form.Params["typenum"])}
+			bs = append(bs, bs1)
+		}
+		if form.Params["reasonid"] != "" {
+			bs1 := bson.E{"reason", gconv.Int32(form.Params["reasonid"])}
+			bs = append(bs, bs1)
+		}
+		if form.Params["itemId"] != "" {
+			bs1 := bson.E{"itemId", gconv.Int32(form.Params["itemId"])}
+			bs = append(bs, bs1)
+		}
+		if form.Params["searchData"] != "" {
+			stime := gconv.MapStrStr(form.Params["searchData"])["0"]
+			etime := gconv.MapStrStr(form.Params["searchData"])["1"]
+			startTime := gtime.NewFromStr(stime).Local().TimestampMilli()
+			endTime := gtime.NewFromStr(etime).Local().TimestampMilli()
+			bs = append(bs, bson.E{"time", bson.D{{"$gte", gconv.String(startTime)}, {"$lte", gconv.String(endTime)}}})
+		}
+	}
+
+	data := g.ListAnyAny{}
+	bsCount := len(bs)
+	count := 0
+	if bsCount > 0 {
+		count = gameinfo.ModelItemlog.GetListCountByServer2(bs, serverId)
+	}
+	page := util.Page{
+		PageSize:    gconv.Int64(form.Rows),
+		CurrentPage: gconv.Int64(form.Page),
+		Total:       gconv.Int64(count),
+	}
+
+	dayMap := gmap.New()
+
+	if bsCount > 0 {
+		payList := gameinfo.ModelItemlog.GetDataByServerTimeDesc2(bs, page, serverId)
+		for payList.Next(context.TODO()) {
+			var itemLog gameinfo.ItemLog
+			err := payList.Decode(&itemLog)
+			if err != nil {
+				//log.Fatal(err)
+				log.Println(err)
+				continue
+			}
+			dayMap.Set("uid", itemLog.Uid)
+			dayMap.Set("typenum", itemLog.Type)
+			dayMap.Set("level", itemLog.Level)
+			dayMap.Set("time", gconv.Time(itemLog.Time).Format(timeLayoutStr))
+			dayMap.Set("reasonid", itemLog.Reason)
+			reasonNotes, _ := reasonConfig.Get(gconv.String(itemLog.Reason))
+			dayMap.Set("reason", gconv.Map(reasonNotes)["Notes"])
+			dayMap.Set("itemid", itemLog.ItemId)
+			goodsName, _ := itemConfig.Get(gconv.String(itemLog.ItemId))
+			dayMap.Set("itemname", goodsName)
+			dayMap.Set("itemnum", itemLog.ItemNum)
+			dayMap.Set("itemtotalnum", itemLog.ItemTotalNum)
+			dayMap.Set("exitInfo", itemLog.ExitInfo)
+			dayMap.Set("totalnum", 0)
+			dayMap.Set("state", 0)
+			data = append(g.ListAnyAny{gconv.Map(dayMap)}, data...)
+		}
+	}
+
+	if form.Params["itemId"] != "" && form.Params["uid"] != "" {
+		for res := range data {
+			if res == form.Rows-1 || res == len(data)-1 {
+				continue
+			}
+			//fmt.Println(item)
+			item := gconv.MapStrStr(data[res])
+			nextItem := gconv.MapStrStr(data[res+1])
+			typenum := gconv.MapStrStr(data[res+1])["typenum"]
+			// 0:获得;1:消耗
+			if typenum == "0" {
+				// 正常情况是相等的
+				num := gconv.Int(nextItem["itemtotalnum"]) - gconv.Int(nextItem["itemnum"])
+				if gconv.Int(item["itemtotalnum"]) == num {
+					item["totalnum"] = gconv.String(num)
+					item["state"] = "0"
+				} else {
+					item["totalnum"] = gconv.String(num)
+					item["state"] = "1"
+				}
+			} else if typenum == "1" {
+				// 正常情况是相等的
+				num := gconv.Int(nextItem["itemtotalnum"]) + gconv.Int(nextItem["itemnum"])
+				if gconv.Int(item["itemtotalnum"]) == num {
+					item["totalnum"] = gconv.String(num)
+					item["state"] = "0"
+				} else {
+					item["totalnum"] = gconv.String(num)
+					item["state"] = "1"
+				}
+			} else {
+				item["totalnum"] = "0"
+				item["state"] = "1"
+			}
+			data[res] = gconv.Map(item)
+		}
+	}
+	itemConfig.Close()
+	reasonConfig.Close()
+	base.Succ(r,
+		g.Map{
+			"rows":    data,
+			"total":   page.Total,
+			"current": page.CurrentPage,
+		})
+}
+
+// 一键修改状态
+func (action *Action) SaveUpdateStatue(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	if form.Params != nil && form.Params["ids"] != "" && form.Params["state"] != "" {
+		ids := gconv.MapStrStr(form.Params["ids"])
+		for _, v := range ids {
+			gameinfo.ModelServer.InsUpdate2(gconv.Int32(v), gconv.String(form.Params["state"]))
+		}
+		base.Resp(r, 0, "修改成功", nil)
+	} else {
+		base.Resp(r, 1, "操作异常", nil)
+	}
+}
+
+
+//查询玩家身上的道具
+func (action *Action) GetUserItemList(r *ghttp.Request) {
+	// 读取配置表
+	itemConfig := codeutil.GetItemConfig()
+	form := base.NewForm(r.GetMap())
+	bs := bson.M{}
+	// 默认查询配置中的服务器
+	serverId := g.Config().GetString("mongo-port")
+	var itemId string = ""
+	if form.Params != nil {
+		if form.Params["serverid"] != "" {
+			serverId = gconv.String(form.Params["serverid"])
+		}
+		if form.Params["itemId"] != "" && form.Params["uid"] != "" {
+			uidStrArray := strings.Split(form.Params["uid"],"#")
+			uidArray := gconv.Int32s(uidStrArray)
+			bs = bson.M{"_id":bson.M{"$in":uidArray}}
+			if form.Params["itemId"] != "" {
+				itemId = gconv.String(form.Params["itemId"])
+			}
+		}
+	}
+	projection := bson.M{"itemManager.itemMap":1,"playerManager.vipLevel":1}
+	data := g.ListAnyAny{}
+	bsCount := len(bs)
+	if bsCount > 0 {
+		itemList := gameinfo.ModelM5User.FindUserList(bs, serverId, projection)
+		for itemList.Next(context.TODO()) {
+			dayMap := gmap.New()
+			var userInfo bson.M
+			err := itemList.Decode(&userInfo)
+			if err != nil {
+				//log.Fatal(err)
+				log.Println(err)
+				continue
+			}
+			iteMap := userInfo["itemManager"].(bson.M)["itemMap"].(bson.M)
+			vipLevel := userInfo["playerManager"].(bson.M)["vipLevel"]
+			item := bson.M{}
+			if(iteMap[itemId] != nil) {
+				item = iteMap[itemId].(bson.M)
+			}
+			dayMap.Set("uid",userInfo["_id"])
+			dayMap.Set("vipLevel",vipLevel)
+			if(len(item) > 0) {
+				dayMap.Set("itemId",item["itemId"])
+				dayMap.Set("itemNum",item["itemNum"])
+				data = append(g.ListAnyAny{gconv.Map(dayMap)}, data...)
+			}
+
+		}
+	}
+	itemConfig.Close()
+	base.Succ(r,
+		g.Map{
+			"rows":    data,
+			"total":   0,
+			"current": 0,
+		})
+}

+ 1128 - 0
app/api/gm/gmAction.go

@@ -0,0 +1,1128 @@
+package gm
+
+import (
+	"context"
+	"encoding/csv"
+	"fmt"
+	"github.com/gogf/gf/container/glist"
+	"github.com/gogf/gf/container/gmap"
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/os/gfile"
+	"github.com/gogf/gf/util/gconv"
+	"gmanager/library/base"
+	"gmanager/library/mongo/gameinfo"
+	"gmanager/library/mongo/gm"
+	"gmanager/library/mongo/util"
+	"gmanager/library/netutil"
+	"go.mongodb.org/mongo-driver/bson"
+	"go.mongodb.org/mongo-driver/bson/primitive"
+	"log"
+	"os"
+	"strings"
+	"time"
+)
+
+type Action struct {
+	base.BaseRouter
+}
+
+//发送邮件日志列表
+func (action *Action) GetSendMailList(r *ghttp.Request) {
+	var timeLayoutStr = "2006-01-02 15:04:05"
+	form := base.NewForm(r.GetMap())
+	bs := bson.D{bson.E{"cmd", "sendmail"}}
+	data := g.ListAnyAny{}
+	count := gm.ModelSendMailLog.GetListCount(bs)
+	page := util.Page{
+		PageSize:    gconv.Int64(form.Rows),
+		CurrentPage: gconv.Int64(form.Page),
+		Total:       gconv.Int64(count),
+	}
+	sendMailLogList := gm.ModelSendMailLog.GetPageList(bs, page)
+	dayMap := gmap.New()
+	for sendMailLogList.Next(context.TODO()) {
+		var sendMailLog gm.SendMailLog
+		err := sendMailLogList.Decode(&sendMailLog)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		dayMap.Set("id", sendMailLog.Id)
+		dayMap.Set("userid", sendMailLog.UserId)
+		dayMap.Set("servername", sendMailLog.ServerName)
+		dayMap.Set("param", sendMailLog.Param)
+		dayMap.Set("title", sendMailLog.Title)
+		dayMap.Set("content", sendMailLog.Content)
+		dayMap.Set("cmd", sendMailLog.Cmd)
+		dayMap.Set("updateuser", sendMailLog.UpdateUser)
+		st := time.Unix(sendMailLog.UpdateTime, 0).Format(timeLayoutStr)
+		dayMap.Set("updatetime", st)
+		dayMap.Set("state", sendMailLog.State)
+		data = append(g.ListAnyAny{gconv.Map(dayMap)}, data...)
+	}
+	fmt.Println(data)
+	base.Succ(r,
+		g.Map{
+			"rows":    data,
+			"total":   page.Total,
+			"current": page.CurrentPage,
+		})
+}
+
+//全服发送邮件日志列表
+func (action *Action) GetSendMailAllList(r *ghttp.Request) {
+	var timeLayoutStr = "2006-01-02 15:04:05"
+	form := base.NewForm(r.GetMap())
+	bs := bson.D{bson.E{"cmd", "sendmailall"}}
+	data := g.ListAnyAny{}
+	count := gm.ModelSendMailLog.GetListCount(bs)
+	page := util.Page{
+		PageSize:    gconv.Int64(form.Rows),
+		CurrentPage: gconv.Int64(form.Page),
+		Total:       gconv.Int64(count),
+	}
+	sendMailLogList := gm.ModelSendMailLog.GetPageList(bs, page)
+	dayMap := gmap.New()
+	for sendMailLogList.Next(context.TODO()) {
+		var sendMailLog gm.SendMailLog
+		err := sendMailLogList.Decode(&sendMailLog)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		dayMap.Set("id", sendMailLog.Id)
+		dayMap.Set("servername", sendMailLog.ServerName)
+		dayMap.Set("param", sendMailLog.Param)
+		dayMap.Set("title", sendMailLog.Title)
+		dayMap.Set("content", sendMailLog.Content)
+		dayMap.Set("cmd", sendMailLog.Cmd)
+		dayMap.Set("updateuser", sendMailLog.UpdateUser)
+		st := time.Unix(sendMailLog.UpdateTime, 0).Format(timeLayoutStr)
+		dayMap.Set("updatetime", st)
+		dayMap.Set("state", sendMailLog.State)
+		data = append(g.ListAnyAny{gconv.Map(dayMap)}, data...)
+	}
+	fmt.Println(data)
+	base.Succ(r,
+		g.Map{
+			"rows":    data,
+			"total":   page.Total,
+			"current": page.CurrentPage,
+		})
+}
+
+//保存邮件日志
+func (action *Action) SaveMailLog(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	cmdStr := form.Params["cmdStr"]
+	serverid := form.Params["serverid"]
+	if serverid == "" {
+		base.Fail(r, "请选择服务器")
+	}
+	userid := form.Params["userid"]
+	if cmdStr == "sendmail" && userid == "" {
+		base.Fail(r, "请输入用户uid")
+	}
+	useridArray := strings.Split(userid,"#")
+	param := form.Params["param"]
+	if param == "" {
+		base.Fail(r, "请输入参数")
+	}
+	title := form.Params["title"]
+	if title == "" {
+		base.Fail(r, "请输入标题")
+	}
+	content := form.Params["content"]
+	if content == "" {
+		base.Fail(r, "请输入内容")
+	}
+	//根据服务器id查询gmip,gmport,服务器名称
+	singleResult := gameinfo.ModelServer.FindOne("_id", gconv.Int32(serverid))
+	var serverInfo gameinfo.ServerInfo
+	err := singleResult.Decode(&serverInfo)
+	if err != nil {
+		base.Fail(r, "查询服务器信息出现异常,"+serverid)
+	}
+	gmip := serverInfo.GMIp
+	gmport := serverInfo.GMPort
+	servername := serverInfo.Name
+	data := g.ListAnyAny{}
+	dayMap := gmap.New()
+	for _,uid := range useridArray {
+		//保存日志
+		sendmail := new(gm.SendMailLog)
+		sendmail.Id = primitive.NewObjectID()
+		if cmdStr == "sendmail" {
+			sendmail.UserId = gconv.String(uid)
+		}
+		sendmail.ServerId = gconv.String(serverid)
+		sendmail.ServerName = gconv.String(servername)
+		sendmail.GMIp = gconv.String(gmip)
+		sendmail.GMPort = gconv.String(gmport)
+		sendmail.Param = gconv.String(param)
+		sendmail.Title = gconv.String(title)
+		sendmail.Content = gconv.String(content)
+		sendmail.Cmd = gconv.String(cmdStr)
+		username := base.GetUser(r).Username
+		sendmail.UpdateUser = username
+		sendmail.UpdateTime = time.Now().Unix()
+		sendmail.State = 2 //刚保存为发送中 30s后执行发送;邮件状态:0:未发送 1:已发送 2:发送中 3:发送失败
+		gm.ModelSendMailLog.InsertOne(sendmail)
+		dayMap.Set("id",sendmail.Id)
+		data = append(g.ListAnyAny{gconv.Map(dayMap)}, data...)
+	}
+	base.Resp(r, 0, "保存成功", data)
+}
+
+//修改邮件
+func (action *Action) UpdateMail(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	data := gconv.Map(form.Params["data"])
+	gm.ModelSendMailLog.InsUpdate(gconv.String(data["id"]), gconv.Int(data["state"]))
+	base.Resp(r, 0, "操作成功", nil)
+}
+
+//发送邮件
+func (action *Action) SendMail(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	_dataId := gconv.Map(form.Params["dataId"])
+	for _ , id := range _dataId {
+		_data := gconv.Map(id)
+		dataId := gconv.String(_data["id"])
+		obj_id, _ := primitive.ObjectIDFromHex(dataId)
+		data := gm.ModelSendMailLog.FindOne("_id", obj_id)
+		var sendMailLog gm.SendMailLog
+		err := data.Decode(&sendMailLog)
+		if err != nil {
+			gm.ModelSendMailLog.InsUpdate(gconv.String(dataId), 3)
+			base.Resp(r, -1, "当前数据有误", nil)
+		}
+		cmdStr := sendMailLog.Cmd
+		serverid := sendMailLog.ServerId
+		userid := ""
+		if cmdStr == "sendmail" {
+			userid = sendMailLog.UserId
+		}
+		param := sendMailLog.Param
+		title := sendMailLog.Title
+		content := sendMailLog.Content
+		//根据服务器id查询gmip,gmport,服务器名称
+		singleResult := gameinfo.ModelServer.FindOne("_id", gconv.Int32(serverid))
+		var serverInfo gameinfo.ServerInfo
+		err = singleResult.Decode(&serverInfo)
+		if err != nil {
+			gm.ModelSendMailLog.InsUpdate(gconv.String(dataId), 3)
+			base.Resp(r, -1, "查询服务器信息出现异常", nil)
+		}
+		gmip := serverInfo.GMIp
+		gmport := serverInfo.GMPort
+		ages := param + "@#" + title + "@#" + content
+		cmd := netutil.Gmcmd{
+			ServerIp:   gmip,
+			ServerPort: gmport,
+			Cmd:        cmdStr,
+			UserId:     userid,
+			Args:       ages,
+		}
+		res := int32(-1)
+		if (cmdStr == "sendmail") {
+			res = cmd.SendGM() //0 成功
+		} else if (cmdStr == "sendmailall") {
+			res = cmd.SendGMAll() //0 成功
+		} else {
+			gm.ModelSendMailLog.InsUpdate(gconv.String(dataId), 3)
+			base.Resp(r, -1, "当前数据有误", nil)
+		}
+		if res == -100 {
+			// 修改日志状态为发送失败
+			gm.ModelSendMailLog.InsUpdate(gconv.String(dataId), 3)
+			base.Resp(r, -1, "thrift解析地址时出错", nil)
+		} else if res == -101 {
+			gm.ModelSendMailLog.InsUpdate(gconv.String(dataId), 3)
+			base.Resp(r, -1, "thrift打开服务器socket出错", nil)
+		} else if res == 0 {
+			// 修改日志状态为已发送
+			gm.ModelSendMailLog.InsUpdate(gconv.String(dataId), 1)
+		} else {
+			gm.ModelSendMailLog.InsUpdate(gconv.String(dataId), 3)
+			base.Resp(r, -1, "发送失败", nil)
+		}
+	}
+	base.Resp(r, 0, "发送成功", nil)
+
+}
+
+//全服发送邮件
+func (action *Action) SendMailAll(r *ghttp.Request) {
+	const cmdStr = "sendmailall"
+	form := base.NewForm(r.GetMap())
+	serverid := form.Params["serverid"]
+	if serverid == "" {
+		base.Fail(r, "请选择服务器")
+	}
+	param := form.Params["param"]
+	if param == "" {
+		base.Fail(r, "请输入参数")
+	}
+	title := form.Params["title"]
+	if title == "" {
+		base.Fail(r, "请输入标题")
+	}
+	content := form.Params["content"]
+	if content == "" {
+		base.Fail(r, "请输入内容")
+	}
+	ages := param + "@#" + title + "@#" + content
+	//根据服务器id查询gmip,gmport,服务器名称
+	singleResult := gameinfo.ModelServer.FindOne("_id", gconv.Int32(serverid))
+	var serverInfo gameinfo.ServerInfo
+	err := singleResult.Decode(&serverInfo)
+	gmip := serverInfo.GMIp
+	gmport := serverInfo.GMPort
+	servername := serverInfo.Name
+	if err != nil {
+		base.Fail(r, "查询服务器信息出现异常,"+serverid)
+	}
+	cmd := netutil.Gmcmd{
+		ServerIp:   gmip,
+		ServerPort: gmport,
+		Cmd:        cmdStr,
+		Args:       ages,
+	}
+	res := cmd.SendGMAll() //0 成功
+	if res == -100 {
+		base.Resp(r, 1, "thrift解析地址时出错", nil)
+	} else if res == -101 {
+		base.Resp(r, 1, "thrift打开服务器socket出错", nil)
+	}
+	//保存日志
+	sendmail := new(gm.SendMailLog)
+	sendmail.Id = primitive.NewObjectID()
+	sendmail.ServerId = gconv.String(serverid)
+	sendmail.ServerName = gconv.String(servername)
+	sendmail.GMIp = gconv.String(gmip)
+	sendmail.GMPort = gconv.String(gmport)
+	sendmail.Param = gconv.String(param)
+	sendmail.Title = gconv.String(title)
+	sendmail.Content = gconv.String(content)
+	sendmail.Cmd = gconv.String(cmdStr)
+	username := base.GetUser(r).Username
+	sendmail.UpdateUser = username
+	sendmail.UpdateTime = time.Now().Unix()
+	insertOne := gm.ModelSendMailLog.InsertOne(sendmail)
+	fmt.Println(serverid, servername, gmip, gmport, param, title, content, cmdStr, username, time.Now().Unix())
+	fmt.Println("insertOne.InsertedID==============", insertOne.InsertedID)
+	if res == 0 {
+		base.Resp(r, 0, "发送成功", nil)
+	} else {
+		base.Resp(r, 1, "发送失败", nil)
+	}
+}
+
+//查询用户充值记录
+func (action *Action) GetRechargeInfoList(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	serverid := form.Params["serverid"]
+	if serverid == "" {
+		base.Fail(r, "请选择服务器")
+	}
+	userid := form.Params["userid"]
+	if userid == "" {
+		base.Fail(r, "请输入用户id")
+	}
+	page := g.ListAnyAny{}
+	bs := bson.D{bson.E{"_id", gconv.Int32(userid)}}
+	rechargeInfoRes := gm.ModelRechargeInfo.FindRechargeInfo(bs, serverid)
+
+	var showsWithInfo []bson.M
+	if err := rechargeInfoRes.All(context.TODO(), &showsWithInfo); err != nil {
+		fmt.Println(err)
+	}
+	if showsWithInfo == nil {
+		base.Fail(r, "该用户不存在")
+		return
+	}
+	playerManager := showsWithInfo[0]["playerManager"]
+	playerManagerMap := gconv.Map(playerManager)
+	res := gconv.Map(playerManagerMap["rechargeInfo"])
+	dayMap := gmap.New()
+	dayMap.Set("userid", userid)
+	dayMap.Set("servername", serverid)
+	dayMap.Set("saveAmt", res["saveAmt"])
+	dayMap.Set("soulCrystalAmt", res["soulCrystalAmt"])
+	dayMap.Set("monthSaveAmt", res["monthSaveAmt"])
+	dayMap.Set("smonthSaveAmt", res["smonthSaveAmt"])
+	dayMap.Set("isFirst", res["isFirst"])
+	var timeLayoutStr = "2006-01-02 15:04:05"
+	st := time.Unix(gconv.Int64(res["createTime"])/1000, 0).Format(timeLayoutStr)
+	dayMap.Set("createTime", st)
+	dayMap.Set("isDayFirst", res["isDayFirst"])
+	page = append(g.ListAnyAny{gconv.Map(dayMap)}, page...)
+	base.Succ(r,
+		g.Map{
+			"page":    form.Page,
+			"rows":    page,
+			"total":   form.TotalPage,
+			"records": form.TotalSize,
+		})
+}
+
+func (action *Action) Pay(r *ghttp.Request) {
+	const cmdStr = "pay"
+	form := base.NewForm(r.GetMap())
+	serverid := form.Params["serverid"]
+	if serverid == "" {
+		base.Fail(r, "请选择服务器")
+	}
+	userid := form.Params["userid"]
+	if userid == "" {
+		base.Fail(r, "请输入userid")
+	}
+	payid := form.Params["payid"]
+	if payid == "" {
+		base.Fail(r, "请输入payid")
+	}
+	ages := payid
+	//根据服务器id查询gmip,gmport,服务器名称
+	singleResult := gameinfo.ModelServer.FindOne("_id", gconv.Int32(serverid))
+	var serverInfo gameinfo.ServerInfo
+	err := singleResult.Decode(&serverInfo)
+	gmip := serverInfo.GMIp
+	gmport := serverInfo.GMPort
+	servername := serverInfo.Name
+	if err != nil {
+		base.Fail(r, "查询服务器信息出现异常,"+serverid)
+	}
+	cmd := netutil.Gmcmd{
+		ServerIp:   gmip,
+		ServerPort: gmport,
+		Cmd:        cmdStr,
+		UserId:     userid,
+		Args:       ages,
+	}
+	res := cmd.SendGM() //0 成功
+	if res == -100 {
+		base.Resp(r, 1, "thrift解析地址时出错", nil)
+	} else if res == -101 {
+		base.Resp(r, 1, "thrift打开服务器socket出错", nil)
+	}
+	//保存日志
+	payLog := new(gm.PayLog)
+	payLog.Id = primitive.NewObjectID()
+	payLog.UserId = gconv.String(userid)
+	payLog.PayId = gconv.String(payid)
+	payLog.ServerId = gconv.String(serverid)
+	payLog.ServerName = gconv.String(servername)
+	payLog.GMIp = gconv.String(gmip)
+	payLog.GMPort = gconv.String(gmport)
+	payLog.Cmd = gconv.String(cmdStr)
+	username := base.GetUser(r).Username
+	payLog.UpdateUser = username
+	payLog.UpdateTime = time.Now().Unix()
+	gm.ModelPayLog.InsertOne(payLog)
+	fmt.Println(userid, serverid, servername, gmip, gmport, payid, cmdStr, username, time.Now().Unix())
+	if res == 0 {
+		base.Resp(r, 0, "充值成功", nil)
+	} else {
+		base.Resp(r, 1, "充值失败", nil)
+	}
+}
+
+//充值日志列表
+func (action *Action) GetPayLogList(r *ghttp.Request) {
+	var timeLayoutStr = "2006-01-02 15:04:05"
+	form := base.NewForm(r.GetMap())
+	//bs := bson.D{bson.E{"cmd", "pay"}}
+	bs := bson.D{{}}
+	data := g.ListAnyAny{}
+	count := gm.ModelPayLog.GetListCount(bs)
+	page := util.Page{
+		PageSize:    gconv.Int64(form.Rows),
+		CurrentPage: gconv.Int64(form.Page),
+		Total:       gconv.Int64(count),
+	}
+	payLogList := gm.ModelPayLog.GetPageList(bs, page)
+	dayMap := gmap.New()
+	for payLogList.Next(context.TODO()) {
+		var payLog gm.PayLog
+		err := payLogList.Decode(&payLog)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		dayMap.Set("servername", payLog.ServerName)
+		dayMap.Set("userid", payLog.UserId)
+		dayMap.Set("payid", payLog.PayId)
+		dayMap.Set("cmd", payLog.Cmd)
+		dayMap.Set("updateuser", payLog.UpdateUser)
+		st := time.Unix(payLog.UpdateTime, 0).Format(timeLayoutStr)
+		dayMap.Set("updatetime", st)
+		data = append(g.ListAnyAny{gconv.Map(dayMap)}, data...)
+	}
+	fmt.Println(data)
+	base.Succ(r,
+		g.Map{
+			"rows":    data,
+			"total":   page.Total,
+			"current": page.CurrentPage,
+		})
+}
+
+//查询CreatCdk列表
+func (action *Action) GetCreatCdkList(r *ghttp.Request) {
+	var timeLayoutStr = "2006-01-02 15:04:05"
+	form := base.NewForm(r.GetMap())
+	bs := bson.D{{}}
+	data := g.ListAnyAny{}
+	count := gm.ModelCreatcdkLog.GetListCount(bs)
+	page := util.Page{
+		PageSize:    gconv.Int64(form.Rows),
+		CurrentPage: gconv.Int64(form.Page),
+		Total:       gconv.Int64(count),
+	}
+	creatcdkLogList := gm.ModelCreatcdkLog.GetPageList(bs, page)
+	dayMap := gmap.New()
+	for creatcdkLogList.Next(context.TODO()) {
+		var creatcdkLog gm.CreatcdkLog
+		err := creatcdkLogList.Decode(&creatcdkLog)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		dayMap.Set("infoid", creatcdkLog.InfoId)
+		dayMap.Set("ctype", creatcdkLog.Ctype)
+		dayMap.Set("reward", creatcdkLog.Reward)
+		dayMap.Set("title", creatcdkLog.Title)
+		dayMap.Set("contetnt", creatcdkLog.Contetnt)
+		dayMap.Set("channelname", creatcdkLog.ChannelName)
+		dayMap.Set("cmd", creatcdkLog.Cmd)
+		dayMap.Set("updateuser", creatcdkLog.UpdateUser)
+		st := time.Unix(creatcdkLog.UpdateTime, 0).Format(timeLayoutStr)
+		dayMap.Set("updatetime", st)
+		data = append(g.ListAnyAny{gconv.Map(dayMap)}, data...)
+	}
+	fmt.Println(data)
+	base.Succ(r,
+		g.Map{
+			"rows":    data,
+			"total":   page.Total,
+			"current": page.CurrentPage,
+		})
+}
+
+func (action *Action) CreatCdk(r *ghttp.Request) {
+	const cmdStr = "creatcdk"
+	form := base.NewForm(r.GetMap())
+	ctype := form.Params["ctype"]
+	if ctype == "" {
+		base.Fail(r, "请选择类型")
+	}
+	reward := form.Params["reward"]
+	if reward == "" {
+		base.Fail(r, "请输入奖励")
+	}
+	title := form.Params["title"]
+	if title == "" {
+		base.Fail(r, "请输入邮件标题")
+	}
+	contetnt := form.Params["contetnt"]
+	if contetnt == "" {
+		base.Fail(r, "请输入邮件内容")
+	}
+	channelname := form.Params["channelname"]
+	if channelname == "" {
+		base.Fail(r, "请输入CDK标识")
+	} else if len(channelname) != 3 {
+		base.Fail(r, "长度只允许为3个字符")
+	}
+	ages := ctype + " " + reward + " " + title + " " + contetnt + " " + channelname
+	singleResult := gameinfo.ModelServer.FindOne("_id", 1) //取1服
+	var serverInfo gameinfo.ServerInfo
+	err := singleResult.Decode(&serverInfo)
+	gmip := serverInfo.GMIp
+	gmport := serverInfo.GMPort
+	servername := serverInfo.Name
+	if err != nil {
+		base.Fail(r, "查询服务器信息出现异常")
+	}
+	cmd := netutil.Gmcmd{
+		ServerIp:   gmip,
+		ServerPort: gmport,
+		Cmd:        cmdStr,
+		Args:       ages,
+	}
+	res := cmd.Creatcdk()
+	if res == -100 {
+		base.Resp(r, 1, "thrift解析地址时出错", nil)
+	} else if res == -101 {
+		base.Resp(r, 1, "thrift打开服务器socket出错", nil)
+	}
+	//保存日志
+	creatcdkLog := new(gm.CreatcdkLog)
+	singleResult1 := gm.ModelCdkAddInfo.FindOne("goods_channel", channelname)
+	var cdkAddInfo gm.CdkAddInfo
+	err1 := singleResult1.Decode(&cdkAddInfo)
+	if err1 != nil {
+		base.Fail(r, "查询出现异常")
+	}
+	creatcdkLog.Id = primitive.NewObjectID()
+	creatcdkLog.InfoId = cdkAddInfo.Id
+	creatcdkLog.ServerId = gconv.String(1)
+	creatcdkLog.ServerName = servername
+	creatcdkLog.Ctype = ctype
+	creatcdkLog.Reward = reward
+	creatcdkLog.Title = title
+	creatcdkLog.Contetnt = contetnt
+	creatcdkLog.ChannelName = channelname
+	creatcdkLog.Cmd = gconv.String(cmdStr)
+	username := base.GetUser(r).Username
+	creatcdkLog.UpdateUser = username
+	creatcdkLog.UpdateTime = time.Now().Unix()
+	gm.ModelCreatcdkLog.InsertOne(creatcdkLog)
+	base.Resp(r, 0, "执行完成", nil)
+}
+
+//获取Cdkinfo列表
+func (action *Action) GetCdkIdList(r *ghttp.Request) {
+	list := glist.New()
+	bs := bson.D{}
+	creatcdkLogList := gm.ModelCdkAddInfo.FindServerInfoList(bs)
+	for creatcdkLogList.Next(context.TODO()) {
+		dayMap := gmap.New()
+		var cdkAddInfo gm.CdkAddInfo
+		err := creatcdkLogList.Decode(&cdkAddInfo)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		dayMap.Set("id", cdkAddInfo.Id)
+		dayMap.Set("channelName", cdkAddInfo.GoodsChannel)
+		list.PushFront(dayMap)
+	}
+	base.Succ(r, list)
+}
+
+//查询CreatCdk列表
+func (action *Action) GetCreatCdkCodeList(r *ghttp.Request) {
+	var timeLayoutStr = "2006-01-02 15:04:05"
+	form := base.NewForm(r.GetMap())
+	bs := bson.D{{}}
+	data := g.ListAnyAny{}
+	count := gm.ModelCreatcdkCodeLog.GetListCount(bs)
+	page := util.Page{
+		PageSize:    gconv.Int64(form.Rows),
+		CurrentPage: gconv.Int64(form.Page),
+		Total:       gconv.Int64(count),
+	}
+	creatcdkCodeLogList := gm.ModelCreatcdkCodeLog.GetPageList(bs, page)
+	dayMap := gmap.New()
+	for creatcdkCodeLogList.Next(context.TODO()) {
+		var creatcdkCodeLog gm.CreatcdkCodeLog
+		err := creatcdkCodeLogList.Decode(&creatcdkCodeLog)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		dayMap.Set("cdkid", creatcdkCodeLog.CdkId)
+		dayMap.Set("cdknum", creatcdkCodeLog.CdkNum)
+		dayMap.Set("tick", creatcdkCodeLog.Tick)
+		dayMap.Set("cmd", creatcdkCodeLog.Cmd)
+		dayMap.Set("updateuser", creatcdkCodeLog.UpdateUser)
+		st := time.Unix(creatcdkCodeLog.UpdateTime, 0).Format(timeLayoutStr)
+		dayMap.Set("updatetime", st)
+		data = append(g.ListAnyAny{gconv.Map(dayMap)}, data...)
+	}
+	fmt.Println(data)
+	base.Succ(r,
+		g.Map{
+			"rows":    data,
+			"total":   page.Total,
+			"current": page.CurrentPage,
+		})
+}
+
+func (action *Action) CreatCdkCode(r *ghttp.Request) {
+	const cmdStr = "creatcdkcode"
+	form := base.NewForm(r.GetMap())
+	cdkid := form.Params["cdkid"]
+	if cdkid == "" {
+		base.Fail(r, "请选择CDKID")
+	}
+	cdknum := form.Params["cdknum"]
+	if cdknum == "" {
+		base.Fail(r, "请输入数量")
+	}
+	nowtime := time.Now().Unix()
+	ages := cdkid + " " + cdknum + " " + gconv.String(nowtime)
+	singleResult := gameinfo.ModelServer.FindOne("_id", 1) //取1服
+	var serverInfo gameinfo.ServerInfo
+	err := singleResult.Decode(&serverInfo)
+	gmip := serverInfo.GMIp
+	gmport := serverInfo.GMPort
+	if err != nil {
+		base.Fail(r, "查询服务器信息出现异常")
+	}
+	cmd := netutil.Gmcmd{
+		ServerIp:   gmip,
+		ServerPort: gmport,
+		Cmd:        cmdStr,
+		Args:       ages,
+	}
+	res := cmd.Creatcdk()
+	if res == -100 {
+		base.Resp(r, 1, "thrift解析地址时出错", nil)
+	} else if res == -101 {
+		base.Resp(r, 1, "thrift打开服务器socket出错", nil)
+	}
+	//保存日志
+	var creatcdkCodeLog gm.CreatcdkCodeLog
+	creatcdkCodeLog.Id = primitive.NewObjectID()
+	creatcdkCodeLog.CdkId = gconv.Int(cdkid)
+	creatcdkCodeLog.CdkNum = gconv.Int(cdknum)
+	creatcdkCodeLog.Tick = nowtime
+	creatcdkCodeLog.Cmd = gconv.String(cmdStr)
+	username := base.GetUser(r).Username
+	creatcdkCodeLog.UpdateUser = username
+	creatcdkCodeLog.UpdateTime = time.Now().Unix()
+	gm.ModelCreatcdkCodeLog.InsertOne(creatcdkCodeLog)
+	base.Resp(r, 0, "执行完成", nil)
+}
+
+func (action *Action) DownloadCdk(r *ghttp.Request) {
+	ticke := r.GetString("ticke")
+	singleResult := gm.ModelCdkInfo.FindAll("ticke", gconv.String(ticke))
+	fileName := "CDK_" + gconv.String(time.Now().Unix()) + ".txt"
+	file, err := gfile.Create(fileName)
+	if err != nil {
+		fmt.Println("open file is failed, err: ", err.Error())
+	}
+	// 写入UTF-8 BOM,防止中文乱码
+	file.WriteString("\xEF\xBB\xBF")
+	w := csv.NewWriter(file)
+	for singleResult.Next(context.TODO()) {
+		var cdkInfo gm.CdkInfo
+		err := singleResult.Decode(&cdkInfo)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		w.Write([]string{cdkInfo.Id})
+		// 刷新缓冲
+		w.Flush()
+	}
+	r.Response.ServeFileDownload(fileName)
+	file.Close()
+	//删除生成的文件
+	os.Remove("./" + fileName)
+}
+
+//查询禁言列表
+func (action *Action) GetSilenceList(r *ghttp.Request) {
+	var timeLayoutStr = "2006-01-02 15:04:05"
+	form := base.NewForm(r.GetMap())
+	bs := bson.D{{}}
+	data := g.ListAnyAny{}
+	count := gm.ModelSilence.GetListCount(bs)
+	page := util.Page{
+		PageSize:    gconv.Int64(form.Rows),
+		CurrentPage: gconv.Int64(form.Page),
+		Total:       gconv.Int64(count),
+	}
+	silenceLogList := gm.ModelSilence.GetPageList(bs, page)
+	dayMap := gmap.New()
+	for silenceLogList.Next(context.TODO()) {
+		var silenceLog gm.SilenceLog
+		err := silenceLogList.Decode(&silenceLog)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		dayMap.Set("uid", silenceLog.Uid)
+		dayMap.Set("serverName", silenceLog.ServerName)
+		dayMap.Set("stype", silenceLog.Stype)
+		dayMap.Set("cmd", silenceLog.Cmd)
+		dayMap.Set("updateuser", silenceLog.UpdateUser)
+		st := time.Unix(silenceLog.UpdateTime, 0).Format(timeLayoutStr)
+		dayMap.Set("updatetime", st)
+		data = append(g.ListAnyAny{gconv.Map(dayMap)}, data...)
+	}
+	fmt.Println(data)
+	base.Succ(r,
+		g.Map{
+			"rows":    data,
+			"total":   page.Total,
+			"current": page.CurrentPage,
+		})
+}
+
+//禁言
+func (action *Action) SetSilence(r *ghttp.Request) {
+	const cmdStr = "silence"
+	form := base.NewForm(r.GetMap())
+	serverid := form.Params["serverid"]
+	if serverid == "" {
+		base.Fail(r, "请选择服务器")
+	}
+	userid := form.Params["userid"]
+	if userid == "" {
+		base.Fail(r, "请输入用户id")
+	}
+	stype := form.Params["stype"]
+	if stype == "" {
+		base.Fail(r, "请选择禁言类型")
+	}
+	ages := userid + " " + stype
+	//根据服务器id查询gmip,gmport,服务器名称
+	singleResult := gameinfo.ModelServer.FindOne("_id", gconv.Int32(serverid))
+	var serverInfo gameinfo.ServerInfo
+	err := singleResult.Decode(&serverInfo)
+	gmip := serverInfo.GMIp
+	gmport := serverInfo.GMPort
+	servername := serverInfo.Name
+	if err != nil {
+		base.Fail(r, "查询服务器信息出现异常,"+serverid)
+	}
+	cmd := netutil.Gmcmd{
+		ServerIp:   gmip,
+		ServerPort: gmport,
+		Cmd:        cmdStr,
+		Args:       ages,
+	}
+	fmt.Println(cmd)
+	res := cmd.Creatcdk() //0 成功
+	if res == -100 {
+		base.Resp(r, 1, "thrift解析地址时出错", nil)
+	} else if res == -101 {
+		base.Resp(r, 1, "thrift打开服务器socket出错", nil)
+	}
+	//保存日志
+	var silenceLog gm.SilenceLog
+	silenceLog.Id = primitive.NewObjectID()
+	silenceLog.ServerId = serverid
+	silenceLog.ServerName = servername
+	silenceLog.Uid = gconv.Int(userid)
+	silenceLog.Stype = gconv.Int(stype)
+	silenceLog.Cmd = gconv.String(cmdStr)
+	silenceLog.UpdateUser = base.GetUser(r).Username
+	silenceLog.UpdateTime = time.Now().Unix()
+	gm.ModelSilence.InsertOne(silenceLog)
+	if res == 0 {
+		base.Resp(r, 0, "发送成功", nil)
+	} else {
+		base.Resp(r, 1, "发送失败", nil)
+	}
+}
+
+// 坦克评论列表
+func (action *Action) HeroCommentList(r *ghttp.Request) {
+	var timeLayoutStr = "2006-01-02 15:04:05"
+	form := base.NewForm(r.GetMap())
+	bs := bson.D{{}}
+	if form.Params != nil {
+		if form.Params["uid"] != "" {
+			bs1 := bson.E{"uid", form.Params["uid"]}
+			bs = append(bs, bs1)
+		}
+		if form.Params["heroId"] != "" {
+			bs1 := bson.E{"heroId", gconv.Int32(form.Params["heroId"])}
+			bs = append(bs, bs1)
+		}
+	}
+	data := g.ListAnyAny{}
+	count := gm.ModelHeroComment.GetListCount(bs)
+	page := util.Page{
+		PageSize:    gconv.Int64(form.Rows),
+		CurrentPage: gconv.Int64(form.Page),
+		Total:       gconv.Int64(count),
+	}
+	heroCommentList := gm.ModelHeroComment.GetPageList(bs, page)
+	dayMap := gmap.New()
+	for heroCommentList.Next(context.TODO()) {
+		var heroComment gm.HeroComment
+		err := heroCommentList.Decode(&heroComment)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		dayMap.Set("serverId", heroComment.ServerId)
+		dayMap.Set("heroId", heroComment.HeroId)
+		dayMap.Set("uid", heroComment.Uid)
+		dayMap.Set("uName", heroComment.UName)
+		dayMap.Set("content", heroComment.Content)
+		dayMap.Set("likes", heroComment.Likes)
+		st := time.Unix(heroComment.Time, 0).Format(timeLayoutStr)
+		dayMap.Set("time", st)
+		data = append(g.ListAnyAny{gconv.Map(dayMap)}, data...)
+	}
+	base.Succ(r,
+		g.Map{
+			"rows":    data,
+			"total":   page.Total,
+			"current": page.CurrentPage,
+		})
+}
+
+//禁言英雄评论
+func (action *Action) SetSilenceHeroComment(r *ghttp.Request) {
+	const cmdStr = "silence_herocomment"
+	serverId := r.GetString("serverId")
+	uid := r.GetString("uid")
+	stype := r.GetString("stype")	// 0解除禁言 1删除记录并设置禁言
+	ages := uid + " " + stype
+	//根据服务器id查询gmip,gmport,服务器名称
+	singleResult := gameinfo.ModelServer.FindOne("server_id", serverId)
+	var serverInfo gameinfo.ServerInfo
+	err := singleResult.Decode(&serverInfo)
+	gmip := serverInfo.GMIp
+	gmport := serverInfo.GMPort
+	if err != nil {
+		base.Fail(r, "查询服务器信息出现异常," + serverId)
+	}
+	cmd := netutil.Gmcmd{
+		ServerIp:   gmip,
+		ServerPort: gmport,
+		Cmd:        cmdStr,
+		Args:       ages,
+	}
+	fmt.Println(cmd)
+	res := cmd.Creatcdk() //0 成功
+	if res == -100 {
+		base.Resp(r, 1, "thrift解析地址时出错", nil)
+	} else if res == -101 {
+		base.Resp(r, 1, "thrift打开服务器socket出错", nil)
+	}
+	if (stype == "1") {
+		// 删除英雄评论
+		gm.ModelHeroComment.DeleteMany("uid", uid)
+	}
+	// 保存日志
+	var heroCommentLog gm.HeroCommentLog
+	heroCommentLog.Id = primitive.NewObjectID()
+	heroCommentLog.ServerId = serverInfo.ServerId
+	heroCommentLog.ServerName = serverInfo.Name
+	heroCommentLog.Uid = uid
+	heroCommentLog.Stype = gconv.Int(stype)
+	heroCommentLog.Cmd = cmdStr
+	heroCommentLog.UpdateUser = base.GetUser(r).Username
+	heroCommentLog.UpdateTime = time.Now().Unix()
+	gm.ModelHeroCommentLog.InsertOne(heroCommentLog)
+	if res == 0 {
+		base.Resp(r, 0, "操作成功", nil)
+	} else {
+		base.Resp(r, 1, "操作失败", nil)
+	}
+}
+
+// 坦克评论日志列表
+func (action *Action) HeroCommentLogList(r *ghttp.Request) {
+	var timeLayoutStr = "2006-01-02 15:04:05"
+	form := base.NewForm(r.GetMap())
+	bs := bson.D{{}}
+	data := g.ListAnyAny{}
+	count := gm.ModelHeroCommentLog.GetListCount(bs)
+	page := util.Page{
+		PageSize:    gconv.Int64(form.Rows),
+		CurrentPage: gconv.Int64(form.Page),
+		Total:       gconv.Int64(count),
+	}
+	heroCommentLogList := gm.ModelHeroCommentLog.GetPageList(bs, page)
+	dayMap := gmap.New()
+	for heroCommentLogList.Next(context.TODO()) {
+		var heroCommentLog gm.HeroCommentLog
+		err := heroCommentLogList.Decode(&heroCommentLog)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		dayMap.Set("uid", heroCommentLog.Uid)
+		dayMap.Set("serverId", heroCommentLog.ServerId)
+		dayMap.Set("serverName", heroCommentLog.ServerName)
+		dayMap.Set("type", heroCommentLog.Stype)
+		dayMap.Set("cmd", heroCommentLog.Cmd)
+		dayMap.Set("updateuser", heroCommentLog.UpdateUser)
+		st := time.Unix(heroCommentLog.UpdateTime, 0).Format(timeLayoutStr)
+		dayMap.Set("updatetime", st)
+		data = append(g.ListAnyAny{gconv.Map(dayMap)}, data...)
+	}
+	base.Succ(r,
+		g.Map{
+			"rows":    data,
+			"total":   page.Total,
+			"current": page.CurrentPage,
+		})
+}
+
+//发送道具日志列表
+func (action *Action) GetSendModifyItemList(r *ghttp.Request) {
+	var timeLayoutStr = "2006-01-02 15:04:05"
+	form := base.NewForm(r.GetMap())
+	bs := bson.D{bson.E{"cmd", "modifyitem"}}
+	data := g.ListAnyAny{}
+	count := gm.ModelModifyItemLog.GetListCount(bs)
+	page := util.Page{
+		PageSize:    gconv.Int64(form.Rows),
+		CurrentPage: gconv.Int64(form.Page),
+		Total:       gconv.Int64(count),
+	}
+	sendModifyItemLogList := gm.ModelModifyItemLog.GetPageList(bs, page)
+	dayMap := gmap.New()
+	for sendModifyItemLogList.Next(context.TODO()) {
+		var modifyItemLog gm.ModifyItemLog
+		err := sendModifyItemLogList.Decode(&modifyItemLog)
+		if err != nil {
+			//log.Fatal(err)
+			log.Println(err)
+			continue
+		}
+		dayMap.Set("id", modifyItemLog.Id)
+		dayMap.Set("userid", modifyItemLog.UserId)
+		dayMap.Set("servername", modifyItemLog.ServerName)
+		dayMap.Set("param", modifyItemLog.Param)
+		dayMap.Set("modifyMode", modifyItemLog.ModifyMode)
+		dayMap.Set("cmd", modifyItemLog.Cmd)
+		dayMap.Set("updateuser", modifyItemLog.UpdateUser)
+		st := time.Unix(modifyItemLog.UpdateTime, 0).Format(timeLayoutStr)
+		dayMap.Set("updatetime", st)
+		dayMap.Set("state", modifyItemLog.State)
+		data = append(g.ListAnyAny{gconv.Map(dayMap)}, data...)
+	}
+	fmt.Println(data)
+	base.Succ(r,
+		g.Map{
+			"rows":    data,
+			"total":   page.Total,
+			"current": page.CurrentPage,
+		})
+}
+
+//保存发送道具日志
+func (action *Action) SaveModifyItemLog(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	cmdStr := form.Params["cmdStr"]
+	serverid := form.Params["serverid"]
+	if serverid == "" {
+		base.Fail(r, "请选择服务器")
+	}
+	userid := form.Params["userid"]
+	if cmdStr == "sendmail" && userid == "" {
+		base.Fail(r, "请输入用户uid")
+	}
+	modifyMode := form.Params["modifyMode"]
+	if modifyMode == "" {
+		base.Fail(r, "请输入修改模式")
+	}
+	param := form.Params["param"]
+	if param == "" {
+		base.Fail(r, "请输入道具参数")
+	}
+	//根据服务器id查询gmip,gmport,服务器名称
+	singleResult := gameinfo.ModelServer.FindOne("_id", gconv.Int32(serverid))
+	var serverInfo gameinfo.ServerInfo
+	err := singleResult.Decode(&serverInfo)
+	if err != nil {
+		base.Fail(r, "查询服务器信息出现异常,"+serverid)
+	}
+	gmip := serverInfo.GMIp
+	gmport := serverInfo.GMPort
+	servername := serverInfo.Name
+	//保存日志
+	modifyItemLog := new(gm.ModifyItemLog)
+	modifyItemLog.Id = primitive.NewObjectID()
+	if cmdStr == "modifyitem" {
+		modifyItemLog.UserId = gconv.String(userid)
+	}
+	modifyItemLog.ServerId = gconv.String(serverid)
+	modifyItemLog.ServerName = gconv.String(servername)
+	modifyItemLog.GMIp = gconv.String(gmip)
+	modifyItemLog.GMPort = gconv.String(gmport)
+	modifyItemLog.ModifyMode = gconv.Int(modifyMode)
+	modifyItemLog.Param = gconv.String(param)
+	modifyItemLog.Cmd = gconv.String(cmdStr)
+	username := base.GetUser(r).Username
+	modifyItemLog.UpdateUser = username
+	modifyItemLog.UpdateTime = time.Now().Unix()
+	modifyItemLog.State = 2 //刚保存为发送中 30s后执行发送;邮件状态:0:未发送 1:已发送 2:发送中 3:发送失败
+	gm.ModelModifyItemLog.InsertOne(modifyItemLog)
+	base.Resp(r, 0, "保存成功", modifyItemLog.Id)
+}
+
+//修改发送道具
+func (action *Action) UpdateModifyItem(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	data := gconv.Map(form.Params["data"])
+	gm.ModelModifyItemLog.InsUpdate(gconv.String(data["id"]), gconv.Int(data["state"]))
+	base.Resp(r, 0, "操作成功", nil)
+}
+
+//发送道具
+func (action *Action) SendModifyItem(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	dataId := form.Params["dataId"]
+	obj_id, _ := primitive.ObjectIDFromHex(gconv.String(dataId))
+	data := gm.ModelModifyItemLog.FindOne("_id", obj_id)
+	var modifyItemLog gm.ModifyItemLog
+	err := data.Decode(&modifyItemLog)
+	if err != nil {
+		gm.ModelModifyItemLog.InsUpdate(gconv.String(dataId), 3)
+		base.Resp(r, -1, "当前数据有误", nil)
+	}
+	cmdStr := modifyItemLog.Cmd
+	serverid := modifyItemLog.ServerId
+	userid := ""
+	if cmdStr == "modifyitem" {
+		userid = modifyItemLog.UserId
+	}
+	modifyMode := gconv.String(modifyItemLog.ModifyMode)
+	param := modifyItemLog.Param
+	//根据服务器id查询gmip,gmport,服务器名称
+	singleResult := gameinfo.ModelServer.FindOne("_id", gconv.Int32(serverid))
+	var serverInfo gameinfo.ServerInfo
+	err = singleResult.Decode(&serverInfo)
+	if err != nil {
+		gm.ModelModifyItemLog.InsUpdate(gconv.String(dataId), 3)
+		base.Resp(r, -1, "查询服务器信息出现异常", nil)
+	}
+	gmip := serverInfo.GMIp
+	gmport := serverInfo.GMPort
+	ages := modifyMode + " " + param
+	cmd := netutil.Gmcmd{
+		ServerIp:   gmip,
+		ServerPort: gmport,
+		Cmd:        cmdStr,
+		UserId:     userid,
+		Args:       ages,
+	}
+	res := int32(-1)
+	if (cmdStr == "modifyitem") {
+		res = cmd.SendGM() //0 成功
+	} else {
+		gm.ModelModifyItemLog.InsUpdate(gconv.String(dataId), 3)
+		base.Resp(r, -1, "当前数据有误", nil)
+	}
+	if res == -100 {
+		// 修改日志状态为发送失败
+		gm.ModelModifyItemLog.InsUpdate(gconv.String(dataId), 3)
+		base.Resp(r, -1, "thrift解析地址时出错", nil)
+	} else if res == -101 {
+		gm.ModelModifyItemLog.InsUpdate(gconv.String(dataId), 3)
+		base.Resp(r, -1, "thrift打开服务器socket出错", nil)
+	} else if res == 0 {
+		// 修改日志状态为已发送
+		gm.ModelModifyItemLog.InsUpdate(gconv.String(dataId), 1)
+		base.Resp(r, 0, "发送成功", nil)
+	} else {
+		gm.ModelModifyItemLog.InsUpdate(gconv.String(dataId), 3)
+		base.Resp(r, -1, "发送失败", nil)
+	}
+}

+ 115 - 0
app/api/log/logAction.go

@@ -0,0 +1,115 @@
+package log
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/os/glog"
+	"github.com/gogf/gf/os/gtime"
+	"github.com/gogf/gf/util/gconv"
+	"gmanager/app/service/log"
+	"gmanager/library/base"
+)
+
+type Action struct {
+	base.BaseRouter
+}
+
+// path: /index
+func (action *Action) Index(r *ghttp.Request) {
+	tplFile := "pages/system/log_index.html"
+	err := r.Response.WriteTpl(tplFile, g.Map{
+		"now": gtime.Datetime(),
+	})
+
+	if err != nil {
+		glog.Error(err)
+	}
+}
+
+// path: /get/{id}
+func (action *Action) Get(r *ghttp.Request) {
+	id := r.GetInt64("id")
+	model, err := log.GetById(id)
+	if err != nil {
+		base.Fail(r, err.Error())
+	}
+
+	base.Succ(r, model)
+}
+
+// path: /delete/{id}
+func (action *Action) Delete(r *ghttp.Request) {
+	id := r.GetInt64("id")
+	_, err := log.Delete(id, base.GetUser(r).Id)
+	if err != nil {
+		base.Fail(r, err.Error())
+	}
+
+	base.Succ(r, "")
+}
+
+// path: /save
+func (action *Action) Save(r *ghttp.Request) {
+	request := new(log.Request)
+	err := gconv.Struct(r.GetMap(), request)
+	if err != nil {
+		glog.Error("save struct error", err)
+		base.Error(r, "save error")
+	}
+
+	request.UserId = base.GetUser(r).Id
+	_, err = log.Save(request)
+	if err != nil {
+		base.Fail(r, "保存失败")
+	}
+
+	base.Succ(r, "")
+}
+
+// path: /list
+func (action *Action) List(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+
+	list, err := log.List(&form)
+	if err != nil {
+		glog.Error("page error", err)
+		base.Error(r, err.Error())
+	}
+
+	base.Succ(r, list)
+}
+
+// path: /page
+func (action *Action) Page(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	page, err := log.Page(&form)
+	if err != nil {
+		glog.Error("page error", err)
+		base.Error(r, err.Error())
+	}
+
+	base.Succ(r,
+		g.Map{
+			"page":    form.Page,
+			"rows":    page,
+			"total":   form.TotalPage,
+			"records": form.TotalSize,
+		})
+}
+
+// path: /jqgrid
+func (action *Action) Jqgrid(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	page, err := log.Page(&form)
+	if err != nil {
+		glog.Error("jqgrid error", err)
+		base.Error(r, err.Error())
+	}
+
+	r.Response.WriteJson(g.Map{
+		"page":    form.Page,
+		"rows":    page,
+		"total":   form.TotalPage,
+		"records": form.TotalSize,
+	})
+}

+ 129 - 0
app/api/menu/menuAction.go

@@ -0,0 +1,129 @@
+package menu
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/os/glog"
+	"github.com/gogf/gf/os/gtime"
+	"github.com/gogf/gf/util/gconv"
+	"gmanager/app/service/menu"
+	"gmanager/library/base"
+)
+
+type Action struct {
+	base.BaseRouter
+}
+
+// path: /index
+func (action *Action) Index(r *ghttp.Request) {
+	tplFile := "pages/system/menu_index.html"
+	err := r.Response.WriteTpl(tplFile, g.Map{
+		"now": gtime.Datetime(),
+	})
+
+	if err != nil {
+		glog.Error(err)
+	}
+}
+
+// path: /get/{id}
+func (action *Action) Get(r *ghttp.Request) {
+	id := r.GetInt64("id")
+	model, err := menu.GetById(id)
+	if err != nil {
+		base.Fail(r, err.Error())
+	}
+
+	base.Succ(r, model)
+}
+
+// path: /delete/{id}
+func (action *Action) Delete(r *ghttp.Request) {
+	id := r.GetInt64("id")
+
+	form := base.NewForm(g.Map{"parentId": id})
+	childModel, err := menu.GetOne(&form)
+	if err != nil {
+		base.Fail(r, err.Error())
+	} else if childModel != nil && childModel.Id > 0 {
+		base.Fail(r, "请先删除子菜单")
+	}
+
+	_, err1 := menu.Delete(id, base.GetUser(r).Id)
+	if err1 != nil {
+		base.Fail(r, err1.Error())
+	}
+
+	base.Succ(r, "")
+}
+
+// path: /save
+func (action *Action) Save(r *ghttp.Request) {
+	request := new(menu.Request)
+	err := gconv.Struct(r.GetMap(), request)
+	if err != nil {
+		glog.Error("save struct error", err)
+		base.Error(r, "save error")
+	}
+
+	request.UserId = base.GetUser(r).Id
+	_, err = menu.Save(request)
+	if err != nil {
+		base.Fail(r, "保存失败")
+	}
+
+	base.Succ(r, "")
+}
+
+// path: /tree
+func (action *Action) Tree(r *ghttp.Request) {
+	action.List(r)
+}
+
+// path: /list
+func (action *Action) List(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+
+	list, err := menu.List(&form)
+	if err != nil {
+		glog.Error("page error", err)
+		base.Error(r, err.Error())
+	}
+
+	base.Succ(r, list)
+}
+
+// path: /page
+func (action *Action) Page(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	page, err := menu.Page(&form)
+	if err != nil {
+		glog.Error("page error", err)
+		base.Error(r, err.Error())
+	}
+
+	base.Succ(r,
+		g.Map{
+			"page":    form.Page,
+			"rows":    page,
+			"total":   form.TotalPage,
+			"records": form.TotalSize,
+		})
+}
+
+// path: /jqgrid
+func (action *Action) Jqgrid(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	page, err := menu.Page(&form)
+	if err != nil {
+		glog.Error("jqgrid error", err)
+		base.Error(r, err.Error())
+	}
+
+	r.Response.WriteJson(g.Map{
+		"page":    form.Page,
+		"rows":    page,
+		"total":   form.TotalPage,
+		"records": form.TotalSize,
+	})
+}

+ 169 - 0
app/api/role/roleAction.go

@@ -0,0 +1,169 @@
+
+package role
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/os/glog"
+	"github.com/gogf/gf/os/gtime"
+	"github.com/gogf/gf/util/gconv"
+	"gmanager/app/service/role"
+	"gmanager/library/base"
+)
+
+type Action struct {
+	base.BaseRouter
+}
+
+// path: /index
+func (action *Action) Index(r *ghttp.Request) {
+	tplFile := "pages/system/role_index.html"
+	err := r.Response.WriteTpl(tplFile, g.Map{
+		"now": gtime.Datetime(),
+	})
+
+	if err != nil {
+		glog.Error(err)
+	}
+}
+
+// path: /get/{id}
+func (action *Action) Get(r *ghttp.Request) {
+	id := r.GetInt64("id")
+	model, err := role.GetById(id)
+	if err != nil {
+		base.Fail(r, err.Error())
+	}
+
+	base.Succ(r, model)
+}
+
+// path: /delete/{id}
+func (action *Action) Delete(r *ghttp.Request) {
+	id := r.GetInt64("id")
+	_, err := role.Delete(id, base.GetUser(r).Id)
+	if err != nil {
+		base.Fail(r, err.Error())
+	}
+
+	base.Succ(r, "")
+}
+
+// path: /save
+func (action *Action) Save(r *ghttp.Request) {
+	request := new(role.Request)
+	err := gconv.Struct(r.GetMap(), request)
+	if err != nil {
+		glog.Error("save struct error", err)
+		base.Error(r, "save error")
+	}
+
+	menus := r.GetString("menus")
+
+	request.UserId = base.GetUser(r).Id
+	_, err = role.Save(request)
+	if err != nil {
+		base.Fail(r, "保存失败")
+	}
+
+	// 保存菜单信息
+	role.SaveRoleMenu(request.Id, menus)
+
+	base.Succ(r, "")
+}
+
+// path: /list
+func (action *Action) List(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+
+	list, err := role.List(&form)
+	if err != nil {
+		glog.Error("page error", err)
+		base.Error(r, err.Error())
+	}
+
+	base.Succ(r, list)
+}
+
+// path: /page
+func (action *Action) Page(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	page, err := role.Page(&form)
+	if err != nil {
+		glog.Error("page error", err)
+		base.Error(r, err.Error())
+	}
+
+	base.Succ(r,
+		g.Map{
+			"page":    form.Page,
+			"rows":    page,
+			"total":   form.TotalPage,
+			"records": form.TotalSize,
+		})
+}
+
+// path: /jqgrid
+func (action *Action) Jqgrid(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	page, err := role.Page(&form)
+	if err != nil {
+		glog.Error("jqgrid error", err)
+		base.Error(r, err.Error())
+	}
+
+	r.Response.WriteJson(g.Map{
+		"page":    form.Page,
+		"rows":    page,
+		"total":   form.TotalPage,
+		"records": form.TotalSize,
+	})
+}
+
+// 角色绑定菜单信息
+func (action *Action) Info(r *ghttp.Request) {
+	roleId := r.GetInt("roleId")
+	if roleId == 0 {
+		base.Fail(r, "参数错误")
+	}
+	form := base.NewForm(r.GetMap())
+	form.SetParam("roleId", gconv.String(roleId))
+
+	// 选择的列表
+	roleMenuList, err := role.ListRoleMenu(&form)
+	if err != nil {
+		glog.Error("info error", err)
+		base.Error(r, err.Error())
+	}
+
+	menuSlice := g.SliceStr{}
+	for _, roleMenu := range roleMenuList {
+		// 如果是父级菜单不加入集合。防止在未全选子菜单的时候,选择父级菜单导致前端页面子集菜单全选的情况
+		count, _ := g.DB("default").GetCount("SELECT * FROM sys_menu WHERE parent_id = ?", roleMenu.MenuId)
+		if count == 0 {
+			menuSlice = append(menuSlice, gconv.String(roleMenu.MenuId))
+		}
+	}
+
+	base.Succ(r, g.Map{
+		"roleId": roleId,
+		"menus":  menuSlice,
+	})
+}
+
+// 角色绑定菜单
+func (action *Action) MenuSave(r *ghttp.Request) {
+	roleId := r.GetInt("roleId")
+	menuIds := r.GetString("menuIds")
+	if roleId == 0 || menuIds == "" {
+		base.Fail(r, "参数错误")
+	}
+
+	err := role.SaveRoleMenu(roleId, menuIds)
+	if err != nil {
+		glog.Error("MenuSave error", err)
+		base.Error(r, err.Error())
+	}
+
+	base.Succ(r, "")
+}

+ 252 - 0
app/api/user/userAction.go

@@ -0,0 +1,252 @@
+package user
+
+import (
+	"github.com/gogf/gf/crypto/gmd5"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/os/glog"
+	"github.com/gogf/gf/os/gtime"
+	"github.com/gogf/gf/text/gstr"
+	"github.com/gogf/gf/util/gconv"
+	"gmanager/app/service/menu"
+	"gmanager/app/service/role"
+	"gmanager/app/service/user"
+	"gmanager/library"
+	"gmanager/library/base"
+)
+
+type Action struct {
+	base.BaseRouter
+}
+
+// path: /index
+func (action *Action) Index(r *ghttp.Request) {
+	tplFile := "pages/system/user_index.html"
+	err := r.Response.WriteTpl(tplFile, g.Map{
+		"now": gtime.Datetime(),
+	})
+
+	if err != nil {
+		glog.Error(err)
+	}
+}
+
+// path: /get/{id}
+func (action *Action) Get(r *ghttp.Request) {
+	id := r.GetInt64("id")
+	model, err := user.GetById(id)
+	if err != nil {
+		base.Fail(r, err.Error())
+	}
+
+	base.Succ(r, model)
+}
+
+// path: /delete/{id}
+func (action *Action) Delete(r *ghttp.Request) {
+	id := r.GetInt64("id")
+	_, err := user.Delete(id, base.GetUser(r).Id)
+	if err != nil {
+		base.Fail(r, err.Error())
+	}
+
+	base.Succ(r, "")
+}
+
+// path: /save
+func (action *Action) Save(r *ghttp.Request) {
+	request := new(user.Request)
+	err := gconv.Struct(r.GetMap(), request)
+	if err != nil {
+		glog.Error("save struct error", err)
+		base.Error(r, "save error")
+	}
+
+	request.UserId = base.GetUser(r).Id
+	_, err = user.Save(request)
+	if err != nil {
+		base.Fail(r, "保存失败")
+	}
+
+	base.Succ(r, "")
+}
+
+// path: /list
+func (action *Action) List(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+
+	list, err := user.List(&form)
+	if err != nil {
+		glog.Error("page error", err)
+		base.Error(r, err.Error())
+	}
+
+	base.Succ(r, list)
+}
+
+// path: /page
+func (action *Action) Page(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	page, err := user.Page(&form)
+	if err != nil {
+		glog.Error("page error", err)
+		base.Error(r, err.Error())
+	}
+
+	base.Succ(r,
+		g.Map{
+			"page":    form.Page,
+			"rows":    page,
+			"total":   form.TotalPage,
+			"records": form.TotalSize,
+		})
+}
+
+// path: /jqgrid
+func (action *Action) Jqgrid(r *ghttp.Request) {
+	form := base.NewForm(r.GetMap())
+	page, err := user.Page(&form)
+	if err != nil {
+		glog.Error("jqgrid error", err)
+		base.Error(r, err.Error())
+	}
+
+	r.Response.WriteJson(g.Map{
+		"page":    form.Page,
+		"rows":    page,
+		"total":   form.TotalPage,
+		"records": form.TotalSize,
+	})
+}
+
+// 获取用户角色信息
+func (action *Action) RoleInfo(r *ghttp.Request) {
+	userId := r.GetInt("userId")
+	if userId == 0 {
+		base.Fail(r, "参数错误")
+	}
+	form := base.NewForm(r.GetMap())
+	form.SetParam("userId", gconv.String(userId))
+
+	// 角色列表
+	roleList, err := role.List(&form)
+	if err != nil {
+		glog.Error("RoleInfo error", err)
+		base.Error(r, err.Error())
+	}
+
+	// 选择的列表
+	userRoleList, err := user.ListUserRole(&form)
+	if err != nil {
+		glog.Error("RoleInfo error", err)
+		base.Error(r, err.Error())
+	}
+
+	roleSlice := g.SliceStr{}
+	for _, userRole := range userRoleList {
+		roleSlice = append(roleSlice, gconv.String(userRole.RoleId))
+	}
+	roleIds := gstr.Join(roleSlice, ",")
+
+	base.Succ(r, g.Map{
+		"userId":  userId,
+		"roleIds": roleIds,
+		"list":    roleList,
+	})
+}
+
+// 用户绑定角色
+func (action *Action) RoleSave(r *ghttp.Request) {
+	userId := r.GetInt("userid")
+	roleIds := r.GetString("roleids")
+	if userId == 0 {
+		base.Fail(r, "参数错误")
+	}
+
+	// 保存角色信息
+	user.SaveUserRole(userId, roleIds)
+
+	base.Succ(r, "")
+}
+
+// 修改当前用户密码
+func (action *Action) Password(r *ghttp.Request) {
+	userId := base.GetUser(r).Id
+	model, err := user.GetById(gconv.Int64(userId))
+	if err != nil {
+		glog.Error(" Menu error", err)
+		base.Error(r, "登录信息获取异常")
+	} else if model.Id <= 0 {
+		base.Fail(r, "登录异常")
+	}
+
+	password := r.GetString("password")
+	newPassword := r.GetString("newPassword")
+	if password == "" || newPassword == "" {
+		base.Fail(r, "参数错误")
+	}
+
+	reqPassword, err := gmd5.Encrypt(password + model.Salt)
+	if err != nil {
+		glog.Error(" Password error", err)
+		base.Error(r, "密码错误.")
+	}
+
+	if reqPassword != model.Password {
+		base.Fail(r, "原密码错误")
+	}
+
+	model.UpdateId = userId
+	model.UpdateTime = library.GetNow()
+	model.Password, err = gmd5.Encrypt(newPassword + model.Salt)
+	if err != nil {
+		glog.Error(" Password error", err)
+		base.Error(r, "密码错误!")
+	}
+
+	//_, err = model.Update()
+	_, err = g.DB("default").Update("sys_user", gdb.Map{"password": model.Password, "update_time": model.UpdateTime, "update_id": model.UpdateId}, "id=?", model.Id)
+	if err != nil {
+		glog.Error(" Password error", err)
+		base.Error(r, "密码错误.")
+	}
+
+	base.Succ(r, "")
+}
+
+// 获取当前用户信息
+func (action *Action) Info(r *ghttp.Request) {
+	userId := base.GetUser(r).Id
+	model, err := user.GetById(gconv.Int64(userId))
+	if err != nil {
+		glog.Error(" Menu error", err)
+		base.Error(r, "登录信息获取异常")
+	} else if model.Id <= 0 {
+		base.Fail(r, "登录异常")
+	}
+
+	model.Password = ""
+	model.Salt = ""
+	base.Succ(r, model)
+}
+
+// 获取当前用户信息
+func (action *Action) Menu(r *ghttp.Request) {
+	userId := base.GetUser(r).Id
+	model, err := user.GetById(gconv.Int64(userId))
+	if err != nil {
+		glog.Error(" Menu error", err)
+		base.Error(r, "登录信息获取异常")
+	} else if model.Id <= 0 {
+		base.Fail(r, "登录异常")
+	}
+
+	list, err := menu.ListUser(model.Id, model.UserType)
+	if err != nil {
+		glog.Error(" Menu error", err)
+		base.Error(r, "数据获取异常")
+	}
+
+	base.Succ(r, list)
+}

+ 75 - 0
app/component/middle/MiddlewareLog.go

@@ -0,0 +1,75 @@
+package middle
+
+import (
+	"fmt"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/os/glog"
+	"github.com/gogf/gf/os/gtime"
+	"github.com/gogf/gf/text/gstr"
+	"github.com/gogf/gf/util/gconv"
+	"gmanager/app/constants"
+	"gmanager/library/base"
+)
+
+func MiddlewareLog(r *ghttp.Request) {
+	var beforeTime int64
+	var params map[string]interface{}
+	var no string
+
+	if constants.DEBUG {
+		beforeTime = gtime.TimestampMilli()
+
+		if r.IsFileRequest() {
+			return
+		}
+
+		if r.Method == "GET" {
+			params = r.GetMap()
+		} else if r.Method == "POST" {
+			params = r.GetMap()
+		} else {
+			base.Error(r, "Request Method is ERROR! ")
+			return
+		}
+
+		no = gconv.String(params["no"])
+		if no == "" {
+			no = gconv.String(beforeTime)
+		}
+
+		glog.Info(fmt.Sprintf("[REQUEST_%s][url:%s][params:%s]",
+			no, r.URL.Path, params))
+	}
+
+	r.Middleware.Next()
+
+	// 青牛完成
+	if constants.DEBUG {
+		data := string(r.Response.Buffer())
+		if r.URL.Path == "" || r.URL.Path == "/" || gstr.Contains(
+			r.URL.Path, "index") || gstr.Contains(
+			r.URL.Path, "html") || gstr.Contains(
+			r.URL.Path, "login") {
+			data = ""
+		}
+
+		afterTime := gtime.TimestampMilli()
+
+		if r.IsFileRequest() {
+			glog.Info(fmt.Sprintf("[FILE_%s][diff:%d][url:%s][params:%s]",
+				no, afterTime-beforeTime, r.URL.Path, params))
+		} else if afterTime-beforeTime > 1000 {
+			glog.Warning(fmt.Sprintf("[RESPONSE_%s][diff:%d][url:%s][params:%s][data:%s]",
+				no, afterTime-beforeTime, r.URL.Path, params, data))
+		} else {
+			glog.Info(fmt.Sprintf("[RESPONSE_%s][diff:%d][url:%s][params:%s][data:%s]",
+				no, afterTime-beforeTime, r.URL.Path, params, data))
+		}
+	}
+}
+
+func MiddlewareCommon(r *ghttp.Request) {
+	r.SetParam("BASE_PATH", "")
+
+	r.Middleware.Next()
+}

+ 34 - 0
app/component/started/gStart.go

@@ -0,0 +1,34 @@
+package started
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/os/glog"
+	"github.com/gogf/gf/text/gstr"
+	"github.com/gogf/gf/util/gconv"
+)
+
+var TableInfo g.MapStrStr
+
+func StartLog() {
+	var dbName = "gmanager"
+	link := g.Config().GetString("database.link")
+	if link != "" {
+		dbName = gstr.Split(link, "/")[1]
+	}
+	//r, err := g.DB().Table(" `INFORMATION_SCHEMA`.`TABLES` ").Fields(
+	//	"table_name as name,table_comment as comment").Where(
+	//	"table_schema = ?", dbName).All()
+
+	r, err := g.DB().GetAll("SELECT table_name as name,table_comment as comment "+
+		"FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = ?", dbName)
+	if err != nil {
+		glog.Error("gstart tables error", err)
+	} else {
+		TableInfo = g.MapStrStr{}
+		list := r.List()
+		for _, value := range list {
+			TableInfo[gconv.String(value["name"])] = gconv.String(value["comment"])
+		}
+		glog.Info("gstart table info finish", TableInfo)
+	}
+}

+ 10 - 0
app/constants/constant.go

@@ -0,0 +1,10 @@
+package constants
+
+// 调试日志配置
+var DEBUG = true
+
+const (
+	CacheUserTokenPre = "API353_USER_TOKEN_"
+	EnableYes         = 1
+	UserTypeAdmin     = 1
+)

+ 11 - 0
app/constants/log_constant.go

@@ -0,0 +1,11 @@
+package constants
+
+const (
+	LOGIN      = "登录"
+	LOGOUT     = "登出"
+	INSERT     = "插入"
+	UPDATE     = "更新"
+	DELETE     = "删除"
+	TypeEdit   = 2
+	TypeSystem = 1
+)

+ 18 - 0
app/model/config/config.go

@@ -0,0 +1,18 @@
+package config
+
+import "github.com/gogf/gf/util/gconv"
+
+// Fill with you ideas below.
+
+func (r *Entity) PkVal() int {
+	return gconv.Int(r.Id)
+}
+
+func (r *Entity) TableName() string {
+	return Table
+}
+
+func (m *arModel) Columns() string {
+	sqlColumns := "t.id,t.name,t.key,t.value,t.code,t.data_type as dataType,t.parent_id as parentId,t.parent_key as parentKey,t.sort,t.project_id as projectId,t.copy_status as copyStatus,t.change_status as changeStatus,t.enable,t.update_time as updateTime,t.update_id as updateId,t.create_time as createTime,t.create_id as createId"
+	return sqlColumns
+}

+ 71 - 0
app/model/config/config_entity.go

@@ -0,0 +1,71 @@
+// ==========================================================================
+// This is auto-generated by gf cli tool. You may not really want to edit it.
+// ==========================================================================
+
+package config
+
+import (
+	"database/sql"
+	"github.com/gogf/gf/database/gdb"
+)
+
+// Entity is the golang structure for table sys_config.
+type Entity struct {
+	Id           int    `orm:"id,primary"    json:"id"`           // 主键
+	Name         string `orm:"name"          json:"name"`         // 名称
+	Key          string `orm:"key"           json:"key"`          // 键
+	Value        string `orm:"value"         json:"value"`        // 值
+	Code         string `orm:"code"          json:"code"`         // 编码
+	DataType     int    `orm:"data_type"     json:"dataType"`     // 数据类型//radio/1,KV,2,字典,3,数组
+	ParentId     int    `orm:"parent_id"     json:"parentId"`     // 类型
+	ParentKey    string `orm:"parent_key"    json:"parentKey"`    //
+	Sort         int    `orm:"sort"          json:"sort"`         // 排序号
+	ProjectId    int    `orm:"project_id"    json:"projectId"`    // 项目ID
+	CopyStatus   int    `orm:"copy_status"   json:"copyStatus"`   // 拷贝状态 1 拷贝  2  不拷贝
+	ChangeStatus int    `orm:"change_status" json:"changeStatus"` // 1 不可更改 2 可以更改
+	Enable       int    `orm:"enable"        json:"enable"`       // 是否启用//radio/1,启用,2,禁用
+	UpdateTime   string `orm:"update_time" json:"updateTime"`     // 更新时间
+	UpdateId     int    `orm:"update_id"   json:"updateId"`       // 更新人
+	CreateTime   string `orm:"create_time" json:"createTime"`     // 创建时间
+	CreateId     int    `orm:"create_id"   json:"createId"`       // 创建者
+
+	UpdateName string `json:"updateName,omitempty" gconv:"updateName,omitempty"`
+	CreateName string `json:"createName,omitempty" gconv:"createName,omitempty"`
+}
+
+// OmitEmpty sets OPTION_OMITEMPTY option for the model, which automatically filers
+// the data and where attributes for empty values.
+func (r *Entity) OmitEmpty() *arModel {
+	return Model.Data(r).OmitEmpty()
+}
+
+// Inserts does "INSERT...INTO..." statement for inserting current object into table.
+func (r *Entity) Insert() (result sql.Result, err error) {
+	return Model.Data(r).Insert()
+}
+
+// Replace does "REPLACE...INTO..." statement for inserting current object into table.
+// If there's already another same record in the table (it checks using primary key or unique index),
+// it deletes it and insert this one.
+func (r *Entity) Replace() (result sql.Result, err error) {
+	return Model.Data(r).Replace()
+}
+
+// Save does "INSERT...INTO..." statement for inserting/updating current object into table.
+// It updates the record if there's already another same record in the table
+// (it checks using primary key or unique index).
+func (r *Entity) Save() (result sql.Result, err error) {
+	return Model.Data(r).Save()
+}
+
+// Update does "UPDATE...WHERE..." statement for updating current object from table.
+// It updates the record if there's already another same record in the table
+// (it checks using primary key or unique index).
+func (r *Entity) Update() (result sql.Result, err error) {
+	return Model.Data(r).Where(gdb.GetWhereConditionOfStruct(r)).Update()
+}
+
+// Delete does "DELETE FROM...WHERE..." statement for deleting current object from table.
+func (r *Entity) Delete() (result sql.Result, err error) {
+	return Model.Where(gdb.GetWhereConditionOfStruct(r)).Delete()
+}

+ 367 - 0
app/model/config/config_model.go

@@ -0,0 +1,367 @@
+// ==========================================================================
+// This is auto-generated by gf cli tool. You may not really want to edit it.
+// ==========================================================================
+
+package config
+
+import (
+	"database/sql"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+	"time"
+)
+
+// arModel is a active record design model for table sys_config operations.
+type arModel struct {
+	M *gdb.Model
+}
+
+var (
+	// Table is the table name of sys_config.
+	Table = "sys_config"
+	// Model is the model object of sys_config.
+	Model = &arModel{g.DB("default").Table(Table).Safe()}
+)
+
+// FindOne is a convenience method for Model.FindOne.
+// See Model.FindOne.
+func FindOne(where ...interface{}) (*Entity, error) {
+	return Model.FindOne(where...)
+}
+
+// FindAll is a convenience method for Model.FindAll.
+// See Model.FindAll.
+func FindAll(where ...interface{}) ([]*Entity, error) {
+	return Model.FindAll(where...)
+}
+
+// FindValue is a convenience method for Model.FindValue.
+// See Model.FindValue.
+func FindValue(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return Model.FindValue(fieldsAndWhere...)
+}
+
+// FindCount is a convenience method for Model.FindCount.
+// See Model.FindCount.
+func FindCount(where ...interface{}) (int, error) {
+	return Model.FindCount(where...)
+}
+
+// Insert is a convenience method for Model.Insert.
+func Insert(data ...interface{}) (result sql.Result, err error) {
+	return Model.Insert(data...)
+}
+
+// Replace is a convenience method for Model.Replace.
+func Replace(data ...interface{}) (result sql.Result, err error) {
+	return Model.Replace(data...)
+}
+
+// Save is a convenience method for Model.Save.
+func Save(data ...interface{}) (result sql.Result, err error) {
+	return Model.Save(data...)
+}
+
+// Update is a convenience method for Model.Update.
+func Update(dataAndWhere ...interface{}) (result sql.Result, err error) {
+	return Model.Update(dataAndWhere...)
+}
+
+// Delete is a convenience method for Model.Delete.
+func Delete(where ...interface{}) (result sql.Result, err error) {
+	return Model.Delete(where...)
+}
+
+// As sets an alias name for current table.
+func (m *arModel) As(as string) *arModel {
+	return &arModel{m.M.As(as)}
+}
+
+// TX sets the transaction for current operation.
+func (m *arModel) TX(tx *gdb.TX) *arModel {
+	return &arModel{m.M.TX(tx)}
+}
+
+// Master marks the following operation on master node.
+func (m *arModel) Master() *arModel {
+	return &arModel{m.M.Master()}
+}
+
+// Slave marks the following operation on slave node.
+// Note that it makes sense only if there's any slave node configured.
+func (m *arModel) Slave() *arModel {
+	return &arModel{m.M.Slave()}
+}
+
+// LeftJoin does "LEFT JOIN ... ON ..." statement on the model.
+func (m *arModel) LeftJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.LeftJoin(joinTable, on)}
+}
+
+// RightJoin does "RIGHT JOIN ... ON ..." statement on the model.
+func (m *arModel) RightJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.RightJoin(joinTable, on)}
+}
+
+// InnerJoin does "INNER JOIN ... ON ..." statement on the model.
+func (m *arModel) InnerJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.InnerJoin(joinTable, on)}
+}
+
+// Fields sets the operation fields of the model, multiple fields joined using char ','.
+func (m *arModel) Fields(fields string) *arModel {
+	return &arModel{m.M.Fields(fields)}
+}
+
+// FieldsEx sets the excluded operation fields of the model, multiple fields joined using char ','.
+func (m *arModel) FieldsEx(fields string) *arModel {
+	return &arModel{m.M.FieldsEx(fields)}
+}
+
+// Option sets the extra operation option for the model.
+func (m *arModel) Option(option int) *arModel {
+	return &arModel{m.M.Option(option)}
+}
+
+// OmitEmpty sets OPTION_OMITEMPTY option for the model, which automatically filers
+// the data and where attributes for empty values.
+func (m *arModel) OmitEmpty() *arModel {
+	return &arModel{m.M.OmitEmpty()}
+}
+
+// Filter marks filtering the fields which does not exist in the fields of the operated table.
+func (m *arModel) Filter() *arModel {
+	return &arModel{m.M.Filter()}
+}
+
+// Where sets the condition statement for the model. The parameter <where> can be type of
+// string/map/gmap/slice/struct/*struct, etc. Note that, if it's called more than one times,
+// multiple conditions will be joined into where statement using "AND".
+// Eg:
+// Where("uid=10000")
+// Where("uid", 10000)
+// Where("money>? AND name like ?", 99999, "vip_%")
+// Where("uid", 1).Where("name", "john")
+// Where("status IN (?)", g.Slice{1,2,3})
+// Where("age IN(?,?)", 18, 50)
+// Where(User{ Id : 1, UserName : "john"})
+func (m *arModel) Where(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.Where(where, args...)}
+}
+
+// And adds "AND" condition to the where statement.
+func (m *arModel) And(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.And(where, args...)}
+}
+
+// Or adds "OR" condition to the where statement.
+func (m *arModel) Or(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.Or(where, args...)}
+}
+
+// Group sets the "GROUP BY" statement for the model.
+func (m *arModel) Group(groupBy string) *arModel {
+	return &arModel{m.M.Group(groupBy)}
+}
+
+// Order sets the "ORDER BY" statement for the model.
+func (m *arModel) Order(orderBy string) *arModel {
+	return &arModel{m.M.Order(orderBy)}
+}
+
+// Limit sets the "LIMIT" statement for the model.
+// The parameter <limit> can be either one or two number, if passed two number is passed,
+// it then sets "LIMIT limit[0],limit[1]" statement for the model, or else it sets "LIMIT limit[0]"
+// statement.
+func (m *arModel) Limit(limit ...int) *arModel {
+	return &arModel{m.M.Limit(limit...)}
+}
+
+// Offset sets the "OFFSET" statement for the model.
+// It only makes sense for some databases like SQLServer, PostgreSQL, etc.
+func (m *arModel) Offset(offset int) *arModel {
+	return &arModel{m.M.Offset(offset)}
+}
+
+// Page sets the paging number for the model.
+// The parameter <page> is started from 1 for paging.
+// Note that, it differs that the Limit function start from 0 for "LIMIT" statement.
+func (m *arModel) Page(page, limit int) *arModel {
+	return &arModel{m.M.Page(page, limit)}
+}
+
+// Batch sets the batch operation number for the model.
+func (m *arModel) Batch(batch int) *arModel {
+	return &arModel{m.M.Batch(batch)}
+}
+
+// Cache sets the cache feature for the model. It caches the result of the sql, which means
+// if there's another same sql request, it just reads and returns the result from cache, it
+// but not committed and executed into the database.
+//
+// If the parameter <duration> < 0, which means it clear the cache with given <name>.
+// If the parameter <duration> = 0, which means it never expires.
+// If the parameter <duration> > 0, which means it expires after <duration>.
+//
+// The optional parameter <name> is used to bind a name to the cache, which means you can later
+// control the cache like changing the <duration> or clearing the cache with specified <name>.
+//
+// Note that, the cache feature is disabled if the model is operating on a transaction.
+func (m *arModel) Cache(expire time.Duration, name ...string) *arModel {
+	return &arModel{m.M.Cache(expire, name...)}
+}
+
+// Data sets the operation data for the model.
+// The parameter <data> can be type of string/map/gmap/slice/struct/*struct, etc.
+// Eg:
+// Data("uid=10000")
+// Data("uid", 10000)
+// Data(g.Map{"uid": 10000, "name":"john"})
+// Data(g.Slice{g.Map{"uid": 10000, "name":"john"}, g.Map{"uid": 20000, "name":"smith"})
+func (m *arModel) Data(data ...interface{}) *arModel {
+	return &arModel{m.M.Data(data...)}
+}
+
+// Insert does "INSERT INTO ..." statement for the model.
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Insert(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Insert(data...)
+}
+
+// Replace does "REPLACE INTO ..." statement for the model.
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Replace(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Replace(data...)
+}
+
+// Save does "INSERT INTO ... ON DUPLICATE KEY UPDATE..." statement for the model.
+// It updates the record if there's primary or unique index in the saving data,
+// or else it inserts a new record into the table.
+//
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Save(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Save(data...)
+}
+
+// Update does "UPDATE ... " statement for the model.
+//
+// If the optional parameter <dataAndWhere> is given, the dataAndWhere[0] is the updated
+// data field, and dataAndWhere[1:] is treated as where condition fields.
+// Also see Model.Data and Model.Where functions.
+func (m *arModel) Update(dataAndWhere ...interface{}) (result sql.Result, err error) {
+	return m.M.Update(dataAndWhere...)
+}
+
+// Delete does "DELETE FROM ... " statement for the model.
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) Delete(where ...interface{}) (result sql.Result, err error) {
+	return m.M.Delete(where...)
+}
+
+// Count does "SELECT COUNT(x) FROM ..." statement for the model.
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) Count(where ...interface{}) (int, error) {
+	return m.M.Count(where...)
+}
+
+// All does "SELECT FROM ..." statement for the model.
+// It retrieves the records from table and returns the result as []*Entity.
+// It returns nil if there's no record retrieved with the given conditions from table.
+//
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) All(where ...interface{}) ([]*Entity, error) {
+	all, err := m.M.All(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entities []*Entity
+	if err = all.Structs(&entities); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entities, nil
+}
+
+// One retrieves one record from table and returns the result as *Entity.
+// It returns nil if there's no record retrieved with the given conditions from table.
+//
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) One(where ...interface{}) (*Entity, error) {
+	one, err := m.M.One(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entity *Entity
+	if err = one.Struct(&entity); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entity, nil
+}
+
+// Value retrieves a specified record value from table and returns the result as interface type.
+// It returns nil if there's no record found with the given conditions from table.
+//
+// If the optional parameter <fieldsAndWhere> is given, the fieldsAndWhere[0] is the selected fields
+// and fieldsAndWhere[1:] is treated as where condition fields.
+// Also see Model.Fields and Model.Where functions.
+func (m *arModel) Value(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return m.M.Value(fieldsAndWhere...)
+}
+
+// FindOne retrieves and returns a single Record by Model.WherePri and Model.One.
+// Also see Model.WherePri and Model.One.
+func (m *arModel) FindOne(where ...interface{}) (*Entity, error) {
+	one, err := m.M.FindOne(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entity *Entity
+	if err = one.Struct(&entity); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entity, nil
+}
+
+// FindAll retrieves and returns Result by by Model.WherePri and Model.All.
+// Also see Model.WherePri and Model.All.
+func (m *arModel) FindAll(where ...interface{}) ([]*Entity, error) {
+	all, err := m.M.FindAll(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entities []*Entity
+	if err = all.Structs(&entities); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entities, nil
+}
+
+// FindValue retrieves and returns single field value by Model.WherePri and Model.Value.
+// Also see Model.WherePri and Model.Value.
+func (m *arModel) FindValue(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return m.M.FindValue(fieldsAndWhere...)
+}
+
+// FindCount retrieves and returns the record number by Model.WherePri and Model.Count.
+// Also see Model.WherePri and Model.Count.
+func (m *arModel) FindCount(where ...interface{}) (int, error) {
+	return m.M.FindCount(where...)
+}
+
+// Chunk iterates the table with given size and callback function.
+func (m *arModel) Chunk(limit int, callback func(entities []*Entity, err error) bool) {
+	m.M.Chunk(limit, func(result gdb.Result, err error) bool {
+		var entities []*Entity
+		err = result.Structs(&entities)
+		if err == sql.ErrNoRows {
+			return false
+		}
+		return callback(entities, err)
+	})
+}

+ 18 - 0
app/model/department/department.go

@@ -0,0 +1,18 @@
+package department
+
+import "github.com/gogf/gf/util/gconv"
+
+// Fill with you ideas below.
+
+func (r *Entity) PkVal() int {
+	return gconv.Int(r.Id)
+}
+
+func (r *Entity) TableName() string {
+	return Table
+}
+
+func (m *arModel) Columns() string {
+	sqlColumns := "t.id,t.parent_id as parentId,t.name,t.code,t.sort,t.linkman,t.linkman_no as linkmanNo,t.remark,t.enable,t.update_time as updateTime,t.update_id as updateId,t.create_time as createTime,t.create_id as createId"
+	return sqlColumns
+}

+ 68 - 0
app/model/department/department_entity.go

@@ -0,0 +1,68 @@
+// ==========================================================================
+// This is auto-generated by gf cli tool. You may not really want to edit it.
+// ==========================================================================
+
+package department
+
+import (
+	"database/sql"
+	"github.com/gogf/gf/database/gdb"
+)
+
+// Entity is the golang structure for table sys_department.
+type Entity struct {
+	Id         int    `orm:"id,primary"  json:"id"`         // 主键
+	ParentId   int    `orm:"parent_id"   json:"parentId"`   // 上级机构
+	Name       string `orm:"name,unique" json:"name"`       // 部门/11111
+	Code       string `orm:"code"        json:"code"`       // 机构编码
+	Sort       int    `orm:"sort"        json:"sort"`       // 序号
+	Linkman    string `orm:"linkman"     json:"linkman"`    // 联系人
+	LinkmanNo  string `orm:"linkman_no"   json:"linkmanNo"` // 联系人电话
+	Remark     string `orm:"remark"      json:"remark"`     // 机构描述
+	Enable     int    `orm:"enable"      json:"enable"`     // 是否启用//radio/1,启用,2,禁用
+	UpdateTime string `orm:"update_time" json:"updateTime"` // 更新时间
+	UpdateId   int    `orm:"update_id"   json:"updateId"`   // 更新人
+	CreateTime string `orm:"create_time" json:"createTime"` // 创建时间
+	CreateId   int    `orm:"create_id"   json:"createId"`   // 创建者
+
+	ParentName string `json:"parentName" gconv:"parentName,omitempty"` // 父节点名称
+	UpdateName string `json:"updateName,omitempty" gconv:"updateName,omitempty"`
+	CreateName string `json:"createName,omitempty" gconv:"createName,omitempty"`
+}
+
+// OmitEmpty sets OPTION_OMITEMPTY option for the model, which automatically filers
+// the data and where attributes for empty values.
+func (r *Entity) OmitEmpty() *arModel {
+	return Model.Data(r).OmitEmpty()
+}
+
+// Inserts does "INSERT...INTO..." statement for inserting current object into table.
+func (r *Entity) Insert() (result sql.Result, err error) {
+	return Model.Data(r).Insert()
+}
+
+// Replace does "REPLACE...INTO..." statement for inserting current object into table.
+// If there's already another same record in the table (it checks using primary key or unique index),
+// it deletes it and insert this one.
+func (r *Entity) Replace() (result sql.Result, err error) {
+	return Model.Data(r).Replace()
+}
+
+// Save does "INSERT...INTO..." statement for inserting/updating current object into table.
+// It updates the record if there's already another same record in the table
+// (it checks using primary key or unique index).
+func (r *Entity) Save() (result sql.Result, err error) {
+	return Model.Data(r).Save()
+}
+
+// Update does "UPDATE...WHERE..." statement for updating current object from table.
+// It updates the record if there's already another same record in the table
+// (it checks using primary key or unique index).
+func (r *Entity) Update() (result sql.Result, err error) {
+	return Model.Data(r).Where(gdb.GetWhereConditionOfStruct(r)).Update()
+}
+
+// Delete does "DELETE FROM...WHERE..." statement for deleting current object from table.
+func (r *Entity) Delete() (result sql.Result, err error) {
+	return Model.Where(gdb.GetWhereConditionOfStruct(r)).Delete()
+}

+ 367 - 0
app/model/department/department_model.go

@@ -0,0 +1,367 @@
+// ==========================================================================
+// This is auto-generated by gf cli tool. You may not really want to edit it.
+// ==========================================================================
+
+package department
+
+import (
+	"database/sql"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+	"time"
+)
+
+// arModel is a active record design model for table sys_department operations.
+type arModel struct {
+	M *gdb.Model
+}
+
+var (
+	// Table is the table name of sys_department.
+	Table = "sys_department"
+	// Model is the model object of sys_department.
+	Model = &arModel{g.DB("default").Table(Table).Safe()}
+)
+
+// FindOne is a convenience method for Model.FindOne.
+// See Model.FindOne.
+func FindOne(where ...interface{}) (*Entity, error) {
+	return Model.FindOne(where...)
+}
+
+// FindAll is a convenience method for Model.FindAll.
+// See Model.FindAll.
+func FindAll(where ...interface{}) ([]*Entity, error) {
+	return Model.FindAll(where...)
+}
+
+// FindValue is a convenience method for Model.FindValue.
+// See Model.FindValue.
+func FindValue(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return Model.FindValue(fieldsAndWhere...)
+}
+
+// FindCount is a convenience method for Model.FindCount.
+// See Model.FindCount.
+func FindCount(where ...interface{}) (int, error) {
+	return Model.FindCount(where...)
+}
+
+// Insert is a convenience method for Model.Insert.
+func Insert(data ...interface{}) (result sql.Result, err error) {
+	return Model.Insert(data...)
+}
+
+// Replace is a convenience method for Model.Replace.
+func Replace(data ...interface{}) (result sql.Result, err error) {
+	return Model.Replace(data...)
+}
+
+// Save is a convenience method for Model.Save.
+func Save(data ...interface{}) (result sql.Result, err error) {
+	return Model.Save(data...)
+}
+
+// Update is a convenience method for Model.Update.
+func Update(dataAndWhere ...interface{}) (result sql.Result, err error) {
+	return Model.Update(dataAndWhere...)
+}
+
+// Delete is a convenience method for Model.Delete.
+func Delete(where ...interface{}) (result sql.Result, err error) {
+	return Model.Delete(where...)
+}
+
+// As sets an alias name for current table.
+func (m *arModel) As(as string) *arModel {
+	return &arModel{m.M.As(as)}
+}
+
+// TX sets the transaction for current operation.
+func (m *arModel) TX(tx *gdb.TX) *arModel {
+	return &arModel{m.M.TX(tx)}
+}
+
+// Master marks the following operation on master node.
+func (m *arModel) Master() *arModel {
+	return &arModel{m.M.Master()}
+}
+
+// Slave marks the following operation on slave node.
+// Note that it makes sense only if there's any slave node configured.
+func (m *arModel) Slave() *arModel {
+	return &arModel{m.M.Slave()}
+}
+
+// LeftJoin does "LEFT JOIN ... ON ..." statement on the model.
+func (m *arModel) LeftJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.LeftJoin(joinTable, on)}
+}
+
+// RightJoin does "RIGHT JOIN ... ON ..." statement on the model.
+func (m *arModel) RightJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.RightJoin(joinTable, on)}
+}
+
+// InnerJoin does "INNER JOIN ... ON ..." statement on the model.
+func (m *arModel) InnerJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.InnerJoin(joinTable, on)}
+}
+
+// Fields sets the operation fields of the model, multiple fields joined using char ','.
+func (m *arModel) Fields(fields string) *arModel {
+	return &arModel{m.M.Fields(fields)}
+}
+
+// FieldsEx sets the excluded operation fields of the model, multiple fields joined using char ','.
+func (m *arModel) FieldsEx(fields string) *arModel {
+	return &arModel{m.M.FieldsEx(fields)}
+}
+
+// Option sets the extra operation option for the model.
+func (m *arModel) Option(option int) *arModel {
+	return &arModel{m.M.Option(option)}
+}
+
+// OmitEmpty sets OPTION_OMITEMPTY option for the model, which automatically filers
+// the data and where attributes for empty values.
+func (m *arModel) OmitEmpty() *arModel {
+	return &arModel{m.M.OmitEmpty()}
+}
+
+// Filter marks filtering the fields which does not exist in the fields of the operated table.
+func (m *arModel) Filter() *arModel {
+	return &arModel{m.M.Filter()}
+}
+
+// Where sets the condition statement for the model. The parameter <where> can be type of
+// string/map/gmap/slice/struct/*struct, etc. Note that, if it's called more than one times,
+// multiple conditions will be joined into where statement using "AND".
+// Eg:
+// Where("uid=10000")
+// Where("uid", 10000)
+// Where("money>? AND name like ?", 99999, "vip_%")
+// Where("uid", 1).Where("name", "john")
+// Where("status IN (?)", g.Slice{1,2,3})
+// Where("age IN(?,?)", 18, 50)
+// Where(User{ Id : 1, UserName : "john"})
+func (m *arModel) Where(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.Where(where, args...)}
+}
+
+// And adds "AND" condition to the where statement.
+func (m *arModel) And(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.And(where, args...)}
+}
+
+// Or adds "OR" condition to the where statement.
+func (m *arModel) Or(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.Or(where, args...)}
+}
+
+// Group sets the "GROUP BY" statement for the model.
+func (m *arModel) Group(groupBy string) *arModel {
+	return &arModel{m.M.Group(groupBy)}
+}
+
+// Order sets the "ORDER BY" statement for the model.
+func (m *arModel) Order(orderBy string) *arModel {
+	return &arModel{m.M.Order(orderBy)}
+}
+
+// Limit sets the "LIMIT" statement for the model.
+// The parameter <limit> can be either one or two number, if passed two number is passed,
+// it then sets "LIMIT limit[0],limit[1]" statement for the model, or else it sets "LIMIT limit[0]"
+// statement.
+func (m *arModel) Limit(limit ...int) *arModel {
+	return &arModel{m.M.Limit(limit...)}
+}
+
+// Offset sets the "OFFSET" statement for the model.
+// It only makes sense for some databases like SQLServer, PostgreSQL, etc.
+func (m *arModel) Offset(offset int) *arModel {
+	return &arModel{m.M.Offset(offset)}
+}
+
+// Page sets the paging number for the model.
+// The parameter <page> is started from 1 for paging.
+// Note that, it differs that the Limit function start from 0 for "LIMIT" statement.
+func (m *arModel) Page(page, limit int) *arModel {
+	return &arModel{m.M.Page(page, limit)}
+}
+
+// Batch sets the batch operation number for the model.
+func (m *arModel) Batch(batch int) *arModel {
+	return &arModel{m.M.Batch(batch)}
+}
+
+// Cache sets the cache feature for the model. It caches the result of the sql, which means
+// if there's another same sql request, it just reads and returns the result from cache, it
+// but not committed and executed into the database.
+//
+// If the parameter <duration> < 0, which means it clear the cache with given <name>.
+// If the parameter <duration> = 0, which means it never expires.
+// If the parameter <duration> > 0, which means it expires after <duration>.
+//
+// The optional parameter <name> is used to bind a name to the cache, which means you can later
+// control the cache like changing the <duration> or clearing the cache with specified <name>.
+//
+// Note that, the cache feature is disabled if the model is operating on a transaction.
+func (m *arModel) Cache(expire time.Duration, name ...string) *arModel {
+	return &arModel{m.M.Cache(expire, name...)}
+}
+
+// Data sets the operation data for the model.
+// The parameter <data> can be type of string/map/gmap/slice/struct/*struct, etc.
+// Eg:
+// Data("uid=10000")
+// Data("uid", 10000)
+// Data(g.Map{"uid": 10000, "name":"john"})
+// Data(g.Slice{g.Map{"uid": 10000, "name":"john"}, g.Map{"uid": 20000, "name":"smith"})
+func (m *arModel) Data(data ...interface{}) *arModel {
+	return &arModel{m.M.Data(data...)}
+}
+
+// Insert does "INSERT INTO ..." statement for the model.
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Insert(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Insert(data...)
+}
+
+// Replace does "REPLACE INTO ..." statement for the model.
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Replace(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Replace(data...)
+}
+
+// Save does "INSERT INTO ... ON DUPLICATE KEY UPDATE..." statement for the model.
+// It updates the record if there's primary or unique index in the saving data,
+// or else it inserts a new record into the table.
+//
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Save(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Save(data...)
+}
+
+// Update does "UPDATE ... " statement for the model.
+//
+// If the optional parameter <dataAndWhere> is given, the dataAndWhere[0] is the updated
+// data field, and dataAndWhere[1:] is treated as where condition fields.
+// Also see Model.Data and Model.Where functions.
+func (m *arModel) Update(dataAndWhere ...interface{}) (result sql.Result, err error) {
+	return m.M.Update(dataAndWhere...)
+}
+
+// Delete does "DELETE FROM ... " statement for the model.
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) Delete(where ...interface{}) (result sql.Result, err error) {
+	return m.M.Delete(where...)
+}
+
+// Count does "SELECT COUNT(x) FROM ..." statement for the model.
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) Count(where ...interface{}) (int, error) {
+	return m.M.Count(where...)
+}
+
+// All does "SELECT FROM ..." statement for the model.
+// It retrieves the records from table and returns the result as []*Entity.
+// It returns nil if there's no record retrieved with the given conditions from table.
+//
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) All(where ...interface{}) ([]*Entity, error) {
+	all, err := m.M.All(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entities []*Entity
+	if err = all.Structs(&entities); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entities, nil
+}
+
+// One retrieves one record from table and returns the result as *Entity.
+// It returns nil if there's no record retrieved with the given conditions from table.
+//
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) One(where ...interface{}) (*Entity, error) {
+	one, err := m.M.One(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entity *Entity
+	if err = one.Struct(&entity); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entity, nil
+}
+
+// Value retrieves a specified record value from table and returns the result as interface type.
+// It returns nil if there's no record found with the given conditions from table.
+//
+// If the optional parameter <fieldsAndWhere> is given, the fieldsAndWhere[0] is the selected fields
+// and fieldsAndWhere[1:] is treated as where condition fields.
+// Also see Model.Fields and Model.Where functions.
+func (m *arModel) Value(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return m.M.Value(fieldsAndWhere...)
+}
+
+// FindOne retrieves and returns a single Record by Model.WherePri and Model.One.
+// Also see Model.WherePri and Model.One.
+func (m *arModel) FindOne(where ...interface{}) (*Entity, error) {
+	one, err := m.M.FindOne(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entity *Entity
+	if err = one.Struct(&entity); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entity, nil
+}
+
+// FindAll retrieves and returns Result by by Model.WherePri and Model.All.
+// Also see Model.WherePri and Model.All.
+func (m *arModel) FindAll(where ...interface{}) ([]*Entity, error) {
+	all, err := m.M.FindAll(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entities []*Entity
+	if err = all.Structs(&entities); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entities, nil
+}
+
+// FindValue retrieves and returns single field value by Model.WherePri and Model.Value.
+// Also see Model.WherePri and Model.Value.
+func (m *arModel) FindValue(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return m.M.FindValue(fieldsAndWhere...)
+}
+
+// FindCount retrieves and returns the record number by Model.WherePri and Model.Count.
+// Also see Model.WherePri and Model.Count.
+func (m *arModel) FindCount(where ...interface{}) (int, error) {
+	return m.M.FindCount(where...)
+}
+
+// Chunk iterates the table with given size and callback function.
+func (m *arModel) Chunk(limit int, callback func(entities []*Entity, err error) bool) {
+	m.M.Chunk(limit, func(result gdb.Result, err error) bool {
+		var entities []*Entity
+		err = result.Structs(&entities)
+		if err == sql.ErrNoRows {
+			return false
+		}
+		return callback(entities, err)
+	})
+}

+ 20 - 0
app/model/log/log.go

@@ -0,0 +1,20 @@
+package log
+
+import (
+	"github.com/gogf/gf/util/gconv"
+)
+
+// Fill with you ideas below.
+
+func (r *Entity) PkVal() int {
+	return gconv.Int(r.Id)
+}
+
+func (r *Entity) TableName() string {
+	return Table
+}
+
+func (m *arModel) Columns() string {
+	sqlColumns := "t.id,t.log_type as logType,t.oper_object as operObject,t.oper_table as operTable,t.oper_id as operId,t.oper_type as operType,t.oper_remark as operRemark,t.enable,t.update_time as updateTime,t.update_id as updateId,t.create_time as createTime,t.create_id as createId"
+	return sqlColumns
+}

+ 66 - 0
app/model/log/log_entity.go

@@ -0,0 +1,66 @@
+// ==========================================================================
+// This is auto-generated by gf cli tool. You may not really want to edit it.
+// ==========================================================================
+
+package log
+
+import (
+	"database/sql"
+	"github.com/gogf/gf/database/gdb"
+)
+
+// Entity is the golang structure for table sys_log.
+type Entity struct {
+	Id         int    `orm:"id,primary"  json:"id"`         // 主键
+	LogType    int    `orm:"log_type"    json:"logType"`    // 类型
+	OperObject string `orm:"oper_object" json:"operObject"` // 操作对象
+	OperTable  string `orm:"oper_table"  json:"operTable"`  // 操作表
+	OperId     int    `orm:"oper_id"     json:"operId"`     // 操作主键
+	OperType   string `orm:"oper_type"   json:"operType"`   // 操作类型
+	OperRemark string `orm:"oper_remark" json:"operRemark"` // 操作备注
+	Enable     int    `orm:"enable"      json:"enable"`     // 是否启用//radio/1,启用,2,禁用
+	UpdateTime string `orm:"update_time" json:"updateTime"` // 更新时间
+	UpdateId   int    `orm:"update_id"   json:"updateId"`   // 更新人
+	CreateTime string `orm:"create_time" json:"createTime"` // 创建时间
+	CreateId   int    `orm:"create_id"   json:"createId"`   // 创建者
+
+	UpdateName string `json:"updateName,omitempty" gconv:"updateName,omitempty"`
+	CreateName string `json:"createName,omitempty" gconv:"createName,omitempty"`
+}
+
+// OmitEmpty sets OPTION_OMITEMPTY option for the model, which automatically filers
+// the data and where attributes for empty values.
+func (r *Entity) OmitEmpty() *arModel {
+	return Model.Data(r).OmitEmpty()
+}
+
+// Inserts does "INSERT...INTO..." statement for inserting current object into table.
+func (r *Entity) Insert() (result sql.Result, err error) {
+	return Model.Data(r).Insert()
+}
+
+// Replace does "REPLACE...INTO..." statement for inserting current object into table.
+// If there's already another same record in the table (it checks using primary key or unique index),
+// it deletes it and insert this one.
+func (r *Entity) Replace() (result sql.Result, err error) {
+	return Model.Data(r).Replace()
+}
+
+// Save does "INSERT...INTO..." statement for inserting/updating current object into table.
+// It updates the record if there's already another same record in the table
+// (it checks using primary key or unique index).
+func (r *Entity) Save() (result sql.Result, err error) {
+	return Model.Data(r).Save()
+}
+
+// Update does "UPDATE...WHERE..." statement for updating current object from table.
+// It updates the record if there's already another same record in the table
+// (it checks using primary key or unique index).
+func (r *Entity) Update() (result sql.Result, err error) {
+	return Model.Data(r).Where(gdb.GetWhereConditionOfStruct(r)).Update()
+}
+
+// Delete does "DELETE FROM...WHERE..." statement for deleting current object from table.
+func (r *Entity) Delete() (result sql.Result, err error) {
+	return Model.Where(gdb.GetWhereConditionOfStruct(r)).Delete()
+}

+ 367 - 0
app/model/log/log_model.go

@@ -0,0 +1,367 @@
+// ==========================================================================
+// This is auto-generated by gf cli tool. You may not really want to edit it.
+// ==========================================================================
+
+package log
+
+import (
+	"database/sql"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+	"time"
+)
+
+// arModel is a active record design model for table sys_log operations.
+type arModel struct {
+	M *gdb.Model
+}
+
+var (
+	// Table is the table name of sys_log.
+	Table = "sys_log"
+	// Model is the model object of sys_log.
+	Model = &arModel{g.DB("default").Table(Table).Safe()}
+)
+
+// FindOne is a convenience method for Model.FindOne.
+// See Model.FindOne.
+func FindOne(where ...interface{}) (*Entity, error) {
+	return Model.FindOne(where...)
+}
+
+// FindAll is a convenience method for Model.FindAll.
+// See Model.FindAll.
+func FindAll(where ...interface{}) ([]*Entity, error) {
+	return Model.FindAll(where...)
+}
+
+// FindValue is a convenience method for Model.FindValue.
+// See Model.FindValue.
+func FindValue(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return Model.FindValue(fieldsAndWhere...)
+}
+
+// FindCount is a convenience method for Model.FindCount.
+// See Model.FindCount.
+func FindCount(where ...interface{}) (int, error) {
+	return Model.FindCount(where...)
+}
+
+// Insert is a convenience method for Model.Insert.
+func Insert(data ...interface{}) (result sql.Result, err error) {
+	return Model.Insert(data...)
+}
+
+// Replace is a convenience method for Model.Replace.
+func Replace(data ...interface{}) (result sql.Result, err error) {
+	return Model.Replace(data...)
+}
+
+// Save is a convenience method for Model.Save.
+func Save(data ...interface{}) (result sql.Result, err error) {
+	return Model.Save(data...)
+}
+
+// Update is a convenience method for Model.Update.
+func Update(dataAndWhere ...interface{}) (result sql.Result, err error) {
+	return Model.Update(dataAndWhere...)
+}
+
+// Delete is a convenience method for Model.Delete.
+func Delete(where ...interface{}) (result sql.Result, err error) {
+	return Model.Delete(where...)
+}
+
+// As sets an alias name for current table.
+func (m *arModel) As(as string) *arModel {
+	return &arModel{m.M.As(as)}
+}
+
+// TX sets the transaction for current operation.
+func (m *arModel) TX(tx *gdb.TX) *arModel {
+	return &arModel{m.M.TX(tx)}
+}
+
+// Master marks the following operation on master node.
+func (m *arModel) Master() *arModel {
+	return &arModel{m.M.Master()}
+}
+
+// Slave marks the following operation on slave node.
+// Note that it makes sense only if there's any slave node configured.
+func (m *arModel) Slave() *arModel {
+	return &arModel{m.M.Slave()}
+}
+
+// LeftJoin does "LEFT JOIN ... ON ..." statement on the model.
+func (m *arModel) LeftJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.LeftJoin(joinTable, on)}
+}
+
+// RightJoin does "RIGHT JOIN ... ON ..." statement on the model.
+func (m *arModel) RightJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.RightJoin(joinTable, on)}
+}
+
+// InnerJoin does "INNER JOIN ... ON ..." statement on the model.
+func (m *arModel) InnerJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.InnerJoin(joinTable, on)}
+}
+
+// Fields sets the operation fields of the model, multiple fields joined using char ','.
+func (m *arModel) Fields(fields string) *arModel {
+	return &arModel{m.M.Fields(fields)}
+}
+
+// FieldsEx sets the excluded operation fields of the model, multiple fields joined using char ','.
+func (m *arModel) FieldsEx(fields string) *arModel {
+	return &arModel{m.M.FieldsEx(fields)}
+}
+
+// Option sets the extra operation option for the model.
+func (m *arModel) Option(option int) *arModel {
+	return &arModel{m.M.Option(option)}
+}
+
+// OmitEmpty sets OPTION_OMITEMPTY option for the model, which automatically filers
+// the data and where attributes for empty values.
+func (m *arModel) OmitEmpty() *arModel {
+	return &arModel{m.M.OmitEmpty()}
+}
+
+// Filter marks filtering the fields which does not exist in the fields of the operated table.
+func (m *arModel) Filter() *arModel {
+	return &arModel{m.M.Filter()}
+}
+
+// Where sets the condition statement for the model. The parameter <where> can be type of
+// string/map/gmap/slice/struct/*struct, etc. Note that, if it's called more than one times,
+// multiple conditions will be joined into where statement using "AND".
+// Eg:
+// Where("uid=10000")
+// Where("uid", 10000)
+// Where("money>? AND name like ?", 99999, "vip_%")
+// Where("uid", 1).Where("name", "john")
+// Where("status IN (?)", g.Slice{1,2,3})
+// Where("age IN(?,?)", 18, 50)
+// Where(User{ Id : 1, UserName : "john"})
+func (m *arModel) Where(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.Where(where, args...)}
+}
+
+// And adds "AND" condition to the where statement.
+func (m *arModel) And(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.And(where, args...)}
+}
+
+// Or adds "OR" condition to the where statement.
+func (m *arModel) Or(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.Or(where, args...)}
+}
+
+// Group sets the "GROUP BY" statement for the model.
+func (m *arModel) Group(groupBy string) *arModel {
+	return &arModel{m.M.Group(groupBy)}
+}
+
+// Order sets the "ORDER BY" statement for the model.
+func (m *arModel) Order(orderBy string) *arModel {
+	return &arModel{m.M.Order(orderBy)}
+}
+
+// Limit sets the "LIMIT" statement for the model.
+// The parameter <limit> can be either one or two number, if passed two number is passed,
+// it then sets "LIMIT limit[0],limit[1]" statement for the model, or else it sets "LIMIT limit[0]"
+// statement.
+func (m *arModel) Limit(limit ...int) *arModel {
+	return &arModel{m.M.Limit(limit...)}
+}
+
+// Offset sets the "OFFSET" statement for the model.
+// It only makes sense for some databases like SQLServer, PostgreSQL, etc.
+func (m *arModel) Offset(offset int) *arModel {
+	return &arModel{m.M.Offset(offset)}
+}
+
+// Page sets the paging number for the model.
+// The parameter <page> is started from 1 for paging.
+// Note that, it differs that the Limit function start from 0 for "LIMIT" statement.
+func (m *arModel) Page(page, limit int) *arModel {
+	return &arModel{m.M.Page(page, limit)}
+}
+
+// Batch sets the batch operation number for the model.
+func (m *arModel) Batch(batch int) *arModel {
+	return &arModel{m.M.Batch(batch)}
+}
+
+// Cache sets the cache feature for the model. It caches the result of the sql, which means
+// if there's another same sql request, it just reads and returns the result from cache, it
+// but not committed and executed into the database.
+//
+// If the parameter <duration> < 0, which means it clear the cache with given <name>.
+// If the parameter <duration> = 0, which means it never expires.
+// If the parameter <duration> > 0, which means it expires after <duration>.
+//
+// The optional parameter <name> is used to bind a name to the cache, which means you can later
+// control the cache like changing the <duration> or clearing the cache with specified <name>.
+//
+// Note that, the cache feature is disabled if the model is operating on a transaction.
+func (m *arModel) Cache(expire time.Duration, name ...string) *arModel {
+	return &arModel{m.M.Cache(expire, name...)}
+}
+
+// Data sets the operation data for the model.
+// The parameter <data> can be type of string/map/gmap/slice/struct/*struct, etc.
+// Eg:
+// Data("uid=10000")
+// Data("uid", 10000)
+// Data(g.Map{"uid": 10000, "name":"john"})
+// Data(g.Slice{g.Map{"uid": 10000, "name":"john"}, g.Map{"uid": 20000, "name":"smith"})
+func (m *arModel) Data(data ...interface{}) *arModel {
+	return &arModel{m.M.Data(data...)}
+}
+
+// Insert does "INSERT INTO ..." statement for the model.
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Insert(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Insert(data...)
+}
+
+// Replace does "REPLACE INTO ..." statement for the model.
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Replace(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Replace(data...)
+}
+
+// Save does "INSERT INTO ... ON DUPLICATE KEY UPDATE..." statement for the model.
+// It updates the record if there's primary or unique index in the saving data,
+// or else it inserts a new record into the table.
+//
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Save(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Save(data...)
+}
+
+// Update does "UPDATE ... " statement for the model.
+//
+// If the optional parameter <dataAndWhere> is given, the dataAndWhere[0] is the updated
+// data field, and dataAndWhere[1:] is treated as where condition fields.
+// Also see Model.Data and Model.Where functions.
+func (m *arModel) Update(dataAndWhere ...interface{}) (result sql.Result, err error) {
+	return m.M.Update(dataAndWhere...)
+}
+
+// Delete does "DELETE FROM ... " statement for the model.
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) Delete(where ...interface{}) (result sql.Result, err error) {
+	return m.M.Delete(where...)
+}
+
+// Count does "SELECT COUNT(x) FROM ..." statement for the model.
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) Count(where ...interface{}) (int, error) {
+	return m.M.Count(where...)
+}
+
+// All does "SELECT FROM ..." statement for the model.
+// It retrieves the records from table and returns the result as []*Entity.
+// It returns nil if there's no record retrieved with the given conditions from table.
+//
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) All(where ...interface{}) ([]*Entity, error) {
+	all, err := m.M.All(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entities []*Entity
+	if err = all.Structs(&entities); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entities, nil
+}
+
+// One retrieves one record from table and returns the result as *Entity.
+// It returns nil if there's no record retrieved with the given conditions from table.
+//
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) One(where ...interface{}) (*Entity, error) {
+	one, err := m.M.One(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entity *Entity
+	if err = one.Struct(&entity); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entity, nil
+}
+
+// Value retrieves a specified record value from table and returns the result as interface type.
+// It returns nil if there's no record found with the given conditions from table.
+//
+// If the optional parameter <fieldsAndWhere> is given, the fieldsAndWhere[0] is the selected fields
+// and fieldsAndWhere[1:] is treated as where condition fields.
+// Also see Model.Fields and Model.Where functions.
+func (m *arModel) Value(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return m.M.Value(fieldsAndWhere...)
+}
+
+// FindOne retrieves and returns a single Record by Model.WherePri and Model.One.
+// Also see Model.WherePri and Model.One.
+func (m *arModel) FindOne(where ...interface{}) (*Entity, error) {
+	one, err := m.M.FindOne(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entity *Entity
+	if err = one.Struct(&entity); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entity, nil
+}
+
+// FindAll retrieves and returns Result by by Model.WherePri and Model.All.
+// Also see Model.WherePri and Model.All.
+func (m *arModel) FindAll(where ...interface{}) ([]*Entity, error) {
+	all, err := m.M.FindAll(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entities []*Entity
+	if err = all.Structs(&entities); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entities, nil
+}
+
+// FindValue retrieves and returns single field value by Model.WherePri and Model.Value.
+// Also see Model.WherePri and Model.Value.
+func (m *arModel) FindValue(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return m.M.FindValue(fieldsAndWhere...)
+}
+
+// FindCount retrieves and returns the record number by Model.WherePri and Model.Count.
+// Also see Model.WherePri and Model.Count.
+func (m *arModel) FindCount(where ...interface{}) (int, error) {
+	return m.M.FindCount(where...)
+}
+
+// Chunk iterates the table with given size and callback function.
+func (m *arModel) Chunk(limit int, callback func(entities []*Entity, err error) bool) {
+	m.M.Chunk(limit, func(result gdb.Result, err error) bool {
+		var entities []*Entity
+		err = result.Structs(&entities)
+		if err == sql.ErrNoRows {
+			return false
+		}
+		return callback(entities, err)
+	})
+}

+ 18 - 0
app/model/menu/menu.go

@@ -0,0 +1,18 @@
+package menu
+
+import "github.com/gogf/gf/util/gconv"
+
+// Fill with you ideas below.
+
+func (r *Entity) PkVal() int {
+	return gconv.Int(r.Id)
+}
+
+func (r *Entity) TableName() string {
+	return Table
+}
+
+func (m *arModel) Columns() string {
+	sqlColumns := "t.id,t.parent_id as parentId,t.name,t.icon,t.urlkey,t.url,t.perms,t.status,t.type,t.sort,t.level,t.enable,t.update_time as updateTime,t.update_id as updateId,t.create_time as createTime,t.create_id as createId"
+	return sqlColumns
+}

+ 70 - 0
app/model/menu/menu_entity.go

@@ -0,0 +1,70 @@
+// ==========================================================================
+// This is auto-generated by gf cli tool. You may not really want to edit it.
+// ==========================================================================
+
+package menu
+
+import (
+	"database/sql"
+	"github.com/gogf/gf/database/gdb"
+)
+
+// Entity is the golang structure for table sys_menu.
+type Entity struct {
+	Id         int    `orm:"id,primary"  json:"id"`         // 主键
+	ParentId   int    `orm:"parent_id"   json:"parentId"`   // 父id
+	Name       string `orm:"name"        json:"name"`       // 名称/11111
+	Icon       string `orm:"icon"        json:"icon"`       // 菜单图标
+	Urlkey     string `orm:"urlkey"      json:"urlkey"`     // 菜单key
+	Url        string `orm:"url"         json:"url"`        // 链接地址
+	Perms      string `orm:"perms"       json:"perms"`      // 授权(多个用逗号分隔,如:user:list,user:create)
+	Status     int    `orm:"status"      json:"status"`     // 状态//radio/2,隐藏,1,显示
+	Type       int    `orm:"type"        json:"type"`       // 类型//select/1,目录,2,菜单,3,按钮
+	Sort       int    `orm:"sort"        json:"sort"`       // 排序
+	Level      int    `orm:"level"       json:"level"`      // 级别
+	Enable     int    `orm:"enable"      json:"enable"`     // 是否启用//radio/1,启用,2,禁用
+	UpdateTime string `orm:"update_time" json:"updateTime"` // 更新时间
+	UpdateId   int    `orm:"update_id"   json:"updateId"`   // 更新人
+	CreateTime string `orm:"create_time" json:"createTime"` // 创建时间
+	CreateId   int    `orm:"create_id"   json:"createId"`   // 创建者
+
+	UpdateName string `json:"updateName,omitempty" gconv:"updateName,omitempty"`
+	CreateName string `json:"createName,omitempty" gconv:"createName,omitempty"`
+}
+
+// OmitEmpty sets OPTION_OMITEMPTY option for the model, which automatically filers
+// the data and where attributes for empty values.
+func (r *Entity) OmitEmpty() *arModel {
+	return Model.Data(r).OmitEmpty()
+}
+
+// Inserts does "INSERT...INTO..." statement for inserting current object into table.
+func (r *Entity) Insert() (result sql.Result, err error) {
+	return Model.Data(r).Insert()
+}
+
+// Replace does "REPLACE...INTO..." statement for inserting current object into table.
+// If there's already another same record in the table (it checks using primary key or unique index),
+// it deletes it and insert this one.
+func (r *Entity) Replace() (result sql.Result, err error) {
+	return Model.Data(r).Replace()
+}
+
+// Save does "INSERT...INTO..." statement for inserting/updating current object into table.
+// It updates the record if there's already another same record in the table
+// (it checks using primary key or unique index).
+func (r *Entity) Save() (result sql.Result, err error) {
+	return Model.Data(r).Save()
+}
+
+// Update does "UPDATE...WHERE..." statement for updating current object from table.
+// It updates the record if there's already another same record in the table
+// (it checks using primary key or unique index).
+func (r *Entity) Update() (result sql.Result, err error) {
+	return Model.Data(r).Where(gdb.GetWhereConditionOfStruct(r)).Update()
+}
+
+// Delete does "DELETE FROM...WHERE..." statement for deleting current object from table.
+func (r *Entity) Delete() (result sql.Result, err error) {
+	return Model.Where(gdb.GetWhereConditionOfStruct(r)).Delete()
+}

+ 367 - 0
app/model/menu/menu_model.go

@@ -0,0 +1,367 @@
+// ==========================================================================
+// This is auto-generated by gf cli tool. You may not really want to edit it.
+// ==========================================================================
+
+package menu
+
+import (
+	"database/sql"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+	"time"
+)
+
+// arModel is a active record design model for table sys_menu operations.
+type arModel struct {
+	M *gdb.Model
+}
+
+var (
+	// Table is the table name of sys_menu.
+	Table = "sys_menu"
+	// Model is the model object of sys_menu.
+	Model = &arModel{g.DB("default").Table(Table).Safe()}
+)
+
+// FindOne is a convenience method for Model.FindOne.
+// See Model.FindOne.
+func FindOne(where ...interface{}) (*Entity, error) {
+	return Model.FindOne(where...)
+}
+
+// FindAll is a convenience method for Model.FindAll.
+// See Model.FindAll.
+func FindAll(where ...interface{}) ([]*Entity, error) {
+	return Model.FindAll(where...)
+}
+
+// FindValue is a convenience method for Model.FindValue.
+// See Model.FindValue.
+func FindValue(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return Model.FindValue(fieldsAndWhere...)
+}
+
+// FindCount is a convenience method for Model.FindCount.
+// See Model.FindCount.
+func FindCount(where ...interface{}) (int, error) {
+	return Model.FindCount(where...)
+}
+
+// Insert is a convenience method for Model.Insert.
+func Insert(data ...interface{}) (result sql.Result, err error) {
+	return Model.Insert(data...)
+}
+
+// Replace is a convenience method for Model.Replace.
+func Replace(data ...interface{}) (result sql.Result, err error) {
+	return Model.Replace(data...)
+}
+
+// Save is a convenience method for Model.Save.
+func Save(data ...interface{}) (result sql.Result, err error) {
+	return Model.Save(data...)
+}
+
+// Update is a convenience method for Model.Update.
+func Update(dataAndWhere ...interface{}) (result sql.Result, err error) {
+	return Model.Update(dataAndWhere...)
+}
+
+// Delete is a convenience method for Model.Delete.
+func Delete(where ...interface{}) (result sql.Result, err error) {
+	return Model.Delete(where...)
+}
+
+// As sets an alias name for current table.
+func (m *arModel) As(as string) *arModel {
+	return &arModel{m.M.As(as)}
+}
+
+// TX sets the transaction for current operation.
+func (m *arModel) TX(tx *gdb.TX) *arModel {
+	return &arModel{m.M.TX(tx)}
+}
+
+// Master marks the following operation on master node.
+func (m *arModel) Master() *arModel {
+	return &arModel{m.M.Master()}
+}
+
+// Slave marks the following operation on slave node.
+// Note that it makes sense only if there's any slave node configured.
+func (m *arModel) Slave() *arModel {
+	return &arModel{m.M.Slave()}
+}
+
+// LeftJoin does "LEFT JOIN ... ON ..." statement on the model.
+func (m *arModel) LeftJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.LeftJoin(joinTable, on)}
+}
+
+// RightJoin does "RIGHT JOIN ... ON ..." statement on the model.
+func (m *arModel) RightJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.RightJoin(joinTable, on)}
+}
+
+// InnerJoin does "INNER JOIN ... ON ..." statement on the model.
+func (m *arModel) InnerJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.InnerJoin(joinTable, on)}
+}
+
+// Fields sets the operation fields of the model, multiple fields joined using char ','.
+func (m *arModel) Fields(fields string) *arModel {
+	return &arModel{m.M.Fields(fields)}
+}
+
+// FieldsEx sets the excluded operation fields of the model, multiple fields joined using char ','.
+func (m *arModel) FieldsEx(fields string) *arModel {
+	return &arModel{m.M.FieldsEx(fields)}
+}
+
+// Option sets the extra operation option for the model.
+func (m *arModel) Option(option int) *arModel {
+	return &arModel{m.M.Option(option)}
+}
+
+// OmitEmpty sets OPTION_OMITEMPTY option for the model, which automatically filers
+// the data and where attributes for empty values.
+func (m *arModel) OmitEmpty() *arModel {
+	return &arModel{m.M.OmitEmpty()}
+}
+
+// Filter marks filtering the fields which does not exist in the fields of the operated table.
+func (m *arModel) Filter() *arModel {
+	return &arModel{m.M.Filter()}
+}
+
+// Where sets the condition statement for the model. The parameter <where> can be type of
+// string/map/gmap/slice/struct/*struct, etc. Note that, if it's called more than one times,
+// multiple conditions will be joined into where statement using "AND".
+// Eg:
+// Where("uid=10000")
+// Where("uid", 10000)
+// Where("money>? AND name like ?", 99999, "vip_%")
+// Where("uid", 1).Where("name", "john")
+// Where("status IN (?)", g.Slice{1,2,3})
+// Where("age IN(?,?)", 18, 50)
+// Where(User{ Id : 1, UserName : "john"})
+func (m *arModel) Where(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.Where(where, args...)}
+}
+
+// And adds "AND" condition to the where statement.
+func (m *arModel) And(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.And(where, args...)}
+}
+
+// Or adds "OR" condition to the where statement.
+func (m *arModel) Or(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.Or(where, args...)}
+}
+
+// Group sets the "GROUP BY" statement for the model.
+func (m *arModel) Group(groupBy string) *arModel {
+	return &arModel{m.M.Group(groupBy)}
+}
+
+// Order sets the "ORDER BY" statement for the model.
+func (m *arModel) Order(orderBy string) *arModel {
+	return &arModel{m.M.Order(orderBy)}
+}
+
+// Limit sets the "LIMIT" statement for the model.
+// The parameter <limit> can be either one or two number, if passed two number is passed,
+// it then sets "LIMIT limit[0],limit[1]" statement for the model, or else it sets "LIMIT limit[0]"
+// statement.
+func (m *arModel) Limit(limit ...int) *arModel {
+	return &arModel{m.M.Limit(limit...)}
+}
+
+// Offset sets the "OFFSET" statement for the model.
+// It only makes sense for some databases like SQLServer, PostgreSQL, etc.
+func (m *arModel) Offset(offset int) *arModel {
+	return &arModel{m.M.Offset(offset)}
+}
+
+// Page sets the paging number for the model.
+// The parameter <page> is started from 1 for paging.
+// Note that, it differs that the Limit function start from 0 for "LIMIT" statement.
+func (m *arModel) Page(page, limit int) *arModel {
+	return &arModel{m.M.Page(page, limit)}
+}
+
+// Batch sets the batch operation number for the model.
+func (m *arModel) Batch(batch int) *arModel {
+	return &arModel{m.M.Batch(batch)}
+}
+
+// Cache sets the cache feature for the model. It caches the result of the sql, which means
+// if there's another same sql request, it just reads and returns the result from cache, it
+// but not committed and executed into the database.
+//
+// If the parameter <duration> < 0, which means it clear the cache with given <name>.
+// If the parameter <duration> = 0, which means it never expires.
+// If the parameter <duration> > 0, which means it expires after <duration>.
+//
+// The optional parameter <name> is used to bind a name to the cache, which means you can later
+// control the cache like changing the <duration> or clearing the cache with specified <name>.
+//
+// Note that, the cache feature is disabled if the model is operating on a transaction.
+func (m *arModel) Cache(expire time.Duration, name ...string) *arModel {
+	return &arModel{m.M.Cache(expire, name...)}
+}
+
+// Data sets the operation data for the model.
+// The parameter <data> can be type of string/map/gmap/slice/struct/*struct, etc.
+// Eg:
+// Data("uid=10000")
+// Data("uid", 10000)
+// Data(g.Map{"uid": 10000, "name":"john"})
+// Data(g.Slice{g.Map{"uid": 10000, "name":"john"}, g.Map{"uid": 20000, "name":"smith"})
+func (m *arModel) Data(data ...interface{}) *arModel {
+	return &arModel{m.M.Data(data...)}
+}
+
+// Insert does "INSERT INTO ..." statement for the model.
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Insert(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Insert(data...)
+}
+
+// Replace does "REPLACE INTO ..." statement for the model.
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Replace(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Replace(data...)
+}
+
+// Save does "INSERT INTO ... ON DUPLICATE KEY UPDATE..." statement for the model.
+// It updates the record if there's primary or unique index in the saving data,
+// or else it inserts a new record into the table.
+//
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Save(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Save(data...)
+}
+
+// Update does "UPDATE ... " statement for the model.
+//
+// If the optional parameter <dataAndWhere> is given, the dataAndWhere[0] is the updated
+// data field, and dataAndWhere[1:] is treated as where condition fields.
+// Also see Model.Data and Model.Where functions.
+func (m *arModel) Update(dataAndWhere ...interface{}) (result sql.Result, err error) {
+	return m.M.Update(dataAndWhere...)
+}
+
+// Delete does "DELETE FROM ... " statement for the model.
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) Delete(where ...interface{}) (result sql.Result, err error) {
+	return m.M.Delete(where...)
+}
+
+// Count does "SELECT COUNT(x) FROM ..." statement for the model.
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) Count(where ...interface{}) (int, error) {
+	return m.M.Count(where...)
+}
+
+// All does "SELECT FROM ..." statement for the model.
+// It retrieves the records from table and returns the result as []*Entity.
+// It returns nil if there's no record retrieved with the given conditions from table.
+//
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) All(where ...interface{}) ([]*Entity, error) {
+	all, err := m.M.All(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entities []*Entity
+	if err = all.Structs(&entities); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entities, nil
+}
+
+// One retrieves one record from table and returns the result as *Entity.
+// It returns nil if there's no record retrieved with the given conditions from table.
+//
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) One(where ...interface{}) (*Entity, error) {
+	one, err := m.M.One(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entity *Entity
+	if err = one.Struct(&entity); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entity, nil
+}
+
+// Value retrieves a specified record value from table and returns the result as interface type.
+// It returns nil if there's no record found with the given conditions from table.
+//
+// If the optional parameter <fieldsAndWhere> is given, the fieldsAndWhere[0] is the selected fields
+// and fieldsAndWhere[1:] is treated as where condition fields.
+// Also see Model.Fields and Model.Where functions.
+func (m *arModel) Value(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return m.M.Value(fieldsAndWhere...)
+}
+
+// FindOne retrieves and returns a single Record by Model.WherePri and Model.One.
+// Also see Model.WherePri and Model.One.
+func (m *arModel) FindOne(where ...interface{}) (*Entity, error) {
+	one, err := m.M.FindOne(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entity *Entity
+	if err = one.Struct(&entity); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entity, nil
+}
+
+// FindAll retrieves and returns Result by by Model.WherePri and Model.All.
+// Also see Model.WherePri and Model.All.
+func (m *arModel) FindAll(where ...interface{}) ([]*Entity, error) {
+	all, err := m.M.FindAll(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entities []*Entity
+	if err = all.Structs(&entities); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entities, nil
+}
+
+// FindValue retrieves and returns single field value by Model.WherePri and Model.Value.
+// Also see Model.WherePri and Model.Value.
+func (m *arModel) FindValue(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return m.M.FindValue(fieldsAndWhere...)
+}
+
+// FindCount retrieves and returns the record number by Model.WherePri and Model.Count.
+// Also see Model.WherePri and Model.Count.
+func (m *arModel) FindCount(where ...interface{}) (int, error) {
+	return m.M.FindCount(where...)
+}
+
+// Chunk iterates the table with given size and callback function.
+func (m *arModel) Chunk(limit int, callback func(entities []*Entity, err error) bool) {
+	m.M.Chunk(limit, func(result gdb.Result, err error) bool {
+		var entities []*Entity
+		err = result.Structs(&entities)
+		if err == sql.ErrNoRows {
+			return false
+		}
+		return callback(entities, err)
+	})
+}

+ 18 - 0
app/model/role/role.go

@@ -0,0 +1,18 @@
+package role
+
+import "github.com/gogf/gf/util/gconv"
+
+// Fill with you ideas below.
+
+func (r *Entity) PkVal() int {
+	return gconv.Int(r.Id)
+}
+
+func (r *Entity) TableName() string {
+	return Table
+}
+
+func (m *arModel) Columns() string {
+	sqlColumns := "t.id,t.name,t.status,t.sort,t.remark,t.enable,t.update_time as updateTime,t.update_id as updateId,t.create_time as createTime,t.create_id as createId"
+	return sqlColumns
+}

+ 64 - 0
app/model/role/role_entity.go

@@ -0,0 +1,64 @@
+// ==========================================================================
+// This is auto-generated by gf cli tool. You may not really want to edit it.
+// ==========================================================================
+
+package role
+
+import (
+	"database/sql"
+	"github.com/gogf/gf/database/gdb"
+)
+
+// Entity is the golang structure for table sys_role.
+type Entity struct {
+	Id         int    `orm:"id,primary"  json:"id"`         // 主键
+	Name       string `orm:"name"        json:"name"`       // 名称/11111/
+	Status     int    `orm:"status"      json:"status"`     // 状态//radio/2,隐藏,1,显示
+	Sort       int    `orm:"sort"        json:"sort"`       // 排序
+	Remark     string `orm:"remark"      json:"remark"`     // 说明//textarea
+	Enable     int    `orm:"enable"      json:"enable"`     // 是否启用//radio/1,启用,2,禁用
+	UpdateTime string `orm:"update_time" json:"updateTime"` // 更新时间
+	UpdateId   int    `orm:"update_id"   json:"updateId"`   // 更新人
+	CreateTime string `orm:"create_time" json:"createTime"` // 创建时间
+	CreateId   int    `orm:"create_id"   json:"createId"`   // 创建者
+
+	UpdateName string `json:"updateName,omitempty" gconv:"updateName,omitempty"`
+	CreateName string `json:"createName,omitempty" gconv:"createName,omitempty"`
+}
+
+// OmitEmpty sets OPTION_OMITEMPTY option for the model, which automatically filers
+// the data and where attributes for empty values.
+func (r *Entity) OmitEmpty() *arModel {
+	return Model.Data(r).OmitEmpty()
+}
+
+// Inserts does "INSERT...INTO..." statement for inserting current object into table.
+func (r *Entity) Insert() (result sql.Result, err error) {
+	return Model.Data(r).Insert()
+}
+
+// Replace does "REPLACE...INTO..." statement for inserting current object into table.
+// If there's already another same record in the table (it checks using primary key or unique index),
+// it deletes it and insert this one.
+func (r *Entity) Replace() (result sql.Result, err error) {
+	return Model.Data(r).Replace()
+}
+
+// Save does "INSERT...INTO..." statement for inserting/updating current object into table.
+// It updates the record if there's already another same record in the table
+// (it checks using primary key or unique index).
+func (r *Entity) Save() (result sql.Result, err error) {
+	return Model.Data(r).Save()
+}
+
+// Update does "UPDATE...WHERE..." statement for updating current object from table.
+// It updates the record if there's already another same record in the table
+// (it checks using primary key or unique index).
+func (r *Entity) Update() (result sql.Result, err error) {
+	return Model.Data(r).Where(gdb.GetWhereConditionOfStruct(r)).Update()
+}
+
+// Delete does "DELETE FROM...WHERE..." statement for deleting current object from table.
+func (r *Entity) Delete() (result sql.Result, err error) {
+	return Model.Where(gdb.GetWhereConditionOfStruct(r)).Delete()
+}

+ 367 - 0
app/model/role/role_model.go

@@ -0,0 +1,367 @@
+// ==========================================================================
+// This is auto-generated by gf cli tool. You may not really want to edit it.
+// ==========================================================================
+
+package role
+
+import (
+	"database/sql"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+	"time"
+)
+
+// arModel is a active record design model for table sys_role operations.
+type arModel struct {
+	M *gdb.Model
+}
+
+var (
+	// Table is the table name of sys_role.
+	Table = "sys_role"
+	// Model is the model object of sys_role.
+	Model = &arModel{g.DB("default").Table(Table).Safe()}
+)
+
+// FindOne is a convenience method for Model.FindOne.
+// See Model.FindOne.
+func FindOne(where ...interface{}) (*Entity, error) {
+	return Model.FindOne(where...)
+}
+
+// FindAll is a convenience method for Model.FindAll.
+// See Model.FindAll.
+func FindAll(where ...interface{}) ([]*Entity, error) {
+	return Model.FindAll(where...)
+}
+
+// FindValue is a convenience method for Model.FindValue.
+// See Model.FindValue.
+func FindValue(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return Model.FindValue(fieldsAndWhere...)
+}
+
+// FindCount is a convenience method for Model.FindCount.
+// See Model.FindCount.
+func FindCount(where ...interface{}) (int, error) {
+	return Model.FindCount(where...)
+}
+
+// Insert is a convenience method for Model.Insert.
+func Insert(data ...interface{}) (result sql.Result, err error) {
+	return Model.Insert(data...)
+}
+
+// Replace is a convenience method for Model.Replace.
+func Replace(data ...interface{}) (result sql.Result, err error) {
+	return Model.Replace(data...)
+}
+
+// Save is a convenience method for Model.Save.
+func Save(data ...interface{}) (result sql.Result, err error) {
+	return Model.Save(data...)
+}
+
+// Update is a convenience method for Model.Update.
+func Update(dataAndWhere ...interface{}) (result sql.Result, err error) {
+	return Model.Update(dataAndWhere...)
+}
+
+// Delete is a convenience method for Model.Delete.
+func Delete(where ...interface{}) (result sql.Result, err error) {
+	return Model.Delete(where...)
+}
+
+// As sets an alias name for current table.
+func (m *arModel) As(as string) *arModel {
+	return &arModel{m.M.As(as)}
+}
+
+// TX sets the transaction for current operation.
+func (m *arModel) TX(tx *gdb.TX) *arModel {
+	return &arModel{m.M.TX(tx)}
+}
+
+// Master marks the following operation on master node.
+func (m *arModel) Master() *arModel {
+	return &arModel{m.M.Master()}
+}
+
+// Slave marks the following operation on slave node.
+// Note that it makes sense only if there's any slave node configured.
+func (m *arModel) Slave() *arModel {
+	return &arModel{m.M.Slave()}
+}
+
+// LeftJoin does "LEFT JOIN ... ON ..." statement on the model.
+func (m *arModel) LeftJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.LeftJoin(joinTable, on)}
+}
+
+// RightJoin does "RIGHT JOIN ... ON ..." statement on the model.
+func (m *arModel) RightJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.RightJoin(joinTable, on)}
+}
+
+// InnerJoin does "INNER JOIN ... ON ..." statement on the model.
+func (m *arModel) InnerJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.InnerJoin(joinTable, on)}
+}
+
+// Fields sets the operation fields of the model, multiple fields joined using char ','.
+func (m *arModel) Fields(fields string) *arModel {
+	return &arModel{m.M.Fields(fields)}
+}
+
+// FieldsEx sets the excluded operation fields of the model, multiple fields joined using char ','.
+func (m *arModel) FieldsEx(fields string) *arModel {
+	return &arModel{m.M.FieldsEx(fields)}
+}
+
+// Option sets the extra operation option for the model.
+func (m *arModel) Option(option int) *arModel {
+	return &arModel{m.M.Option(option)}
+}
+
+// OmitEmpty sets OPTION_OMITEMPTY option for the model, which automatically filers
+// the data and where attributes for empty values.
+func (m *arModel) OmitEmpty() *arModel {
+	return &arModel{m.M.OmitEmpty()}
+}
+
+// Filter marks filtering the fields which does not exist in the fields of the operated table.
+func (m *arModel) Filter() *arModel {
+	return &arModel{m.M.Filter()}
+}
+
+// Where sets the condition statement for the model. The parameter <where> can be type of
+// string/map/gmap/slice/struct/*struct, etc. Note that, if it's called more than one times,
+// multiple conditions will be joined into where statement using "AND".
+// Eg:
+// Where("uid=10000")
+// Where("uid", 10000)
+// Where("money>? AND name like ?", 99999, "vip_%")
+// Where("uid", 1).Where("name", "john")
+// Where("status IN (?)", g.Slice{1,2,3})
+// Where("age IN(?,?)", 18, 50)
+// Where(User{ Id : 1, UserName : "john"})
+func (m *arModel) Where(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.Where(where, args...)}
+}
+
+// And adds "AND" condition to the where statement.
+func (m *arModel) And(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.And(where, args...)}
+}
+
+// Or adds "OR" condition to the where statement.
+func (m *arModel) Or(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.Or(where, args...)}
+}
+
+// Group sets the "GROUP BY" statement for the model.
+func (m *arModel) Group(groupBy string) *arModel {
+	return &arModel{m.M.Group(groupBy)}
+}
+
+// Order sets the "ORDER BY" statement for the model.
+func (m *arModel) Order(orderBy string) *arModel {
+	return &arModel{m.M.Order(orderBy)}
+}
+
+// Limit sets the "LIMIT" statement for the model.
+// The parameter <limit> can be either one or two number, if passed two number is passed,
+// it then sets "LIMIT limit[0],limit[1]" statement for the model, or else it sets "LIMIT limit[0]"
+// statement.
+func (m *arModel) Limit(limit ...int) *arModel {
+	return &arModel{m.M.Limit(limit...)}
+}
+
+// Offset sets the "OFFSET" statement for the model.
+// It only makes sense for some databases like SQLServer, PostgreSQL, etc.
+func (m *arModel) Offset(offset int) *arModel {
+	return &arModel{m.M.Offset(offset)}
+}
+
+// Page sets the paging number for the model.
+// The parameter <page> is started from 1 for paging.
+// Note that, it differs that the Limit function start from 0 for "LIMIT" statement.
+func (m *arModel) Page(page, limit int) *arModel {
+	return &arModel{m.M.Page(page, limit)}
+}
+
+// Batch sets the batch operation number for the model.
+func (m *arModel) Batch(batch int) *arModel {
+	return &arModel{m.M.Batch(batch)}
+}
+
+// Cache sets the cache feature for the model. It caches the result of the sql, which means
+// if there's another same sql request, it just reads and returns the result from cache, it
+// but not committed and executed into the database.
+//
+// If the parameter <duration> < 0, which means it clear the cache with given <name>.
+// If the parameter <duration> = 0, which means it never expires.
+// If the parameter <duration> > 0, which means it expires after <duration>.
+//
+// The optional parameter <name> is used to bind a name to the cache, which means you can later
+// control the cache like changing the <duration> or clearing the cache with specified <name>.
+//
+// Note that, the cache feature is disabled if the model is operating on a transaction.
+func (m *arModel) Cache(expire time.Duration, name ...string) *arModel {
+	return &arModel{m.M.Cache(expire, name...)}
+}
+
+// Data sets the operation data for the model.
+// The parameter <data> can be type of string/map/gmap/slice/struct/*struct, etc.
+// Eg:
+// Data("uid=10000")
+// Data("uid", 10000)
+// Data(g.Map{"uid": 10000, "name":"john"})
+// Data(g.Slice{g.Map{"uid": 10000, "name":"john"}, g.Map{"uid": 20000, "name":"smith"})
+func (m *arModel) Data(data ...interface{}) *arModel {
+	return &arModel{m.M.Data(data...)}
+}
+
+// Insert does "INSERT INTO ..." statement for the model.
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Insert(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Insert(data...)
+}
+
+// Replace does "REPLACE INTO ..." statement for the model.
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Replace(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Replace(data...)
+}
+
+// Save does "INSERT INTO ... ON DUPLICATE KEY UPDATE..." statement for the model.
+// It updates the record if there's primary or unique index in the saving data,
+// or else it inserts a new record into the table.
+//
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Save(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Save(data...)
+}
+
+// Update does "UPDATE ... " statement for the model.
+//
+// If the optional parameter <dataAndWhere> is given, the dataAndWhere[0] is the updated
+// data field, and dataAndWhere[1:] is treated as where condition fields.
+// Also see Model.Data and Model.Where functions.
+func (m *arModel) Update(dataAndWhere ...interface{}) (result sql.Result, err error) {
+	return m.M.Update(dataAndWhere...)
+}
+
+// Delete does "DELETE FROM ... " statement for the model.
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) Delete(where ...interface{}) (result sql.Result, err error) {
+	return m.M.Delete(where...)
+}
+
+// Count does "SELECT COUNT(x) FROM ..." statement for the model.
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) Count(where ...interface{}) (int, error) {
+	return m.M.Count(where...)
+}
+
+// All does "SELECT FROM ..." statement for the model.
+// It retrieves the records from table and returns the result as []*Entity.
+// It returns nil if there's no record retrieved with the given conditions from table.
+//
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) All(where ...interface{}) ([]*Entity, error) {
+	all, err := m.M.All(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entities []*Entity
+	if err = all.Structs(&entities); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entities, nil
+}
+
+// One retrieves one record from table and returns the result as *Entity.
+// It returns nil if there's no record retrieved with the given conditions from table.
+//
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) One(where ...interface{}) (*Entity, error) {
+	one, err := m.M.One(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entity *Entity
+	if err = one.Struct(&entity); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entity, nil
+}
+
+// Value retrieves a specified record value from table and returns the result as interface type.
+// It returns nil if there's no record found with the given conditions from table.
+//
+// If the optional parameter <fieldsAndWhere> is given, the fieldsAndWhere[0] is the selected fields
+// and fieldsAndWhere[1:] is treated as where condition fields.
+// Also see Model.Fields and Model.Where functions.
+func (m *arModel) Value(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return m.M.Value(fieldsAndWhere...)
+}
+
+// FindOne retrieves and returns a single Record by Model.WherePri and Model.One.
+// Also see Model.WherePri and Model.One.
+func (m *arModel) FindOne(where ...interface{}) (*Entity, error) {
+	one, err := m.M.FindOne(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entity *Entity
+	if err = one.Struct(&entity); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entity, nil
+}
+
+// FindAll retrieves and returns Result by by Model.WherePri and Model.All.
+// Also see Model.WherePri and Model.All.
+func (m *arModel) FindAll(where ...interface{}) ([]*Entity, error) {
+	all, err := m.M.FindAll(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entities []*Entity
+	if err = all.Structs(&entities); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entities, nil
+}
+
+// FindValue retrieves and returns single field value by Model.WherePri and Model.Value.
+// Also see Model.WherePri and Model.Value.
+func (m *arModel) FindValue(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return m.M.FindValue(fieldsAndWhere...)
+}
+
+// FindCount retrieves and returns the record number by Model.WherePri and Model.Count.
+// Also see Model.WherePri and Model.Count.
+func (m *arModel) FindCount(where ...interface{}) (int, error) {
+	return m.M.FindCount(where...)
+}
+
+// Chunk iterates the table with given size and callback function.
+func (m *arModel) Chunk(limit int, callback func(entities []*Entity, err error) bool) {
+	m.M.Chunk(limit, func(result gdb.Result, err error) bool {
+		var entities []*Entity
+		err = result.Structs(&entities)
+		if err == sql.ErrNoRows {
+			return false
+		}
+		return callback(entities, err)
+	})
+}

+ 18 - 0
app/model/role_menu/role_menu.go

@@ -0,0 +1,18 @@
+package role_menu
+
+import "github.com/gogf/gf/util/gconv"
+
+// Fill with you ideas below.
+
+func (r *Entity) PkVal() int {
+	return gconv.Int(r.Id)
+}
+
+func (r *Entity) TableName() string {
+	return Table
+}
+
+func (m *arModel) Columns() string {
+	sqlColumns := "t.id,t.role_id as roleId,t.menu_id as menuId"
+	return sqlColumns
+}

+ 54 - 0
app/model/role_menu/role_menu_entity.go

@@ -0,0 +1,54 @@
+// ==========================================================================
+// This is auto-generated by gf cli tool. You may not really want to edit it.
+// ==========================================================================
+
+package role_menu
+
+import (
+	"database/sql"
+	"github.com/gogf/gf/database/gdb"
+)
+
+// Entity is the golang structure for table sys_role_menu.
+type Entity struct {
+	Id     int `orm:"id,primary" json:"id"`     // 主键
+	RoleId int `orm:"role_id"    json:"roleId"` // 角色id
+	MenuId int `orm:"menu_id"    json:"menuId"` // 菜单id
+}
+
+// OmitEmpty sets OPTION_OMITEMPTY option for the model, which automatically filers
+// the data and where attributes for empty values.
+func (r *Entity) OmitEmpty() *arModel {
+	return Model.Data(r).OmitEmpty()
+}
+
+// Inserts does "INSERT...INTO..." statement for inserting current object into table.
+func (r *Entity) Insert() (result sql.Result, err error) {
+	return Model.Data(r).Insert()
+}
+
+// Replace does "REPLACE...INTO..." statement for inserting current object into table.
+// If there's already another same record in the table (it checks using primary key or unique index),
+// it deletes it and insert this one.
+func (r *Entity) Replace() (result sql.Result, err error) {
+	return Model.Data(r).Replace()
+}
+
+// Save does "INSERT...INTO..." statement for inserting/updating current object into table.
+// It updates the record if there's already another same record in the table
+// (it checks using primary key or unique index).
+func (r *Entity) Save() (result sql.Result, err error) {
+	return Model.Data(r).Save()
+}
+
+// Update does "UPDATE...WHERE..." statement for updating current object from table.
+// It updates the record if there's already another same record in the table
+// (it checks using primary key or unique index).
+func (r *Entity) Update() (result sql.Result, err error) {
+	return Model.Data(r).Where(gdb.GetWhereConditionOfStruct(r)).Update()
+}
+
+// Delete does "DELETE FROM...WHERE..." statement for deleting current object from table.
+func (r *Entity) Delete() (result sql.Result, err error) {
+	return Model.Where(gdb.GetWhereConditionOfStruct(r)).Delete()
+}

+ 367 - 0
app/model/role_menu/role_menu_model.go

@@ -0,0 +1,367 @@
+// ==========================================================================
+// This is auto-generated by gf cli tool. You may not really want to edit it.
+// ==========================================================================
+
+package role_menu
+
+import (
+	"database/sql"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+	"time"
+)
+
+// arModel is a active record design model for table sys_role_menu operations.
+type arModel struct {
+	M *gdb.Model
+}
+
+var (
+	// Table is the table name of sys_role_menu.
+	Table = "sys_role_menu"
+	// Model is the model object of sys_role_menu.
+	Model = &arModel{g.DB("default").Table(Table).Safe()}
+)
+
+// FindOne is a convenience method for Model.FindOne.
+// See Model.FindOne.
+func FindOne(where ...interface{}) (*Entity, error) {
+	return Model.FindOne(where...)
+}
+
+// FindAll is a convenience method for Model.FindAll.
+// See Model.FindAll.
+func FindAll(where ...interface{}) ([]*Entity, error) {
+	return Model.FindAll(where...)
+}
+
+// FindValue is a convenience method for Model.FindValue.
+// See Model.FindValue.
+func FindValue(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return Model.FindValue(fieldsAndWhere...)
+}
+
+// FindCount is a convenience method for Model.FindCount.
+// See Model.FindCount.
+func FindCount(where ...interface{}) (int, error) {
+	return Model.FindCount(where...)
+}
+
+// Insert is a convenience method for Model.Insert.
+func Insert(data ...interface{}) (result sql.Result, err error) {
+	return Model.Insert(data...)
+}
+
+// Replace is a convenience method for Model.Replace.
+func Replace(data ...interface{}) (result sql.Result, err error) {
+	return Model.Replace(data...)
+}
+
+// Save is a convenience method for Model.Save.
+func Save(data ...interface{}) (result sql.Result, err error) {
+	return Model.Save(data...)
+}
+
+// Update is a convenience method for Model.Update.
+func Update(dataAndWhere ...interface{}) (result sql.Result, err error) {
+	return Model.Update(dataAndWhere...)
+}
+
+// Delete is a convenience method for Model.Delete.
+func Delete(where ...interface{}) (result sql.Result, err error) {
+	return Model.Delete(where...)
+}
+
+// As sets an alias name for current table.
+func (m *arModel) As(as string) *arModel {
+	return &arModel{m.M.As(as)}
+}
+
+// TX sets the transaction for current operation.
+func (m *arModel) TX(tx *gdb.TX) *arModel {
+	return &arModel{m.M.TX(tx)}
+}
+
+// Master marks the following operation on master node.
+func (m *arModel) Master() *arModel {
+	return &arModel{m.M.Master()}
+}
+
+// Slave marks the following operation on slave node.
+// Note that it makes sense only if there's any slave node configured.
+func (m *arModel) Slave() *arModel {
+	return &arModel{m.M.Slave()}
+}
+
+// LeftJoin does "LEFT JOIN ... ON ..." statement on the model.
+func (m *arModel) LeftJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.LeftJoin(joinTable, on)}
+}
+
+// RightJoin does "RIGHT JOIN ... ON ..." statement on the model.
+func (m *arModel) RightJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.RightJoin(joinTable, on)}
+}
+
+// InnerJoin does "INNER JOIN ... ON ..." statement on the model.
+func (m *arModel) InnerJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.InnerJoin(joinTable, on)}
+}
+
+// Fields sets the operation fields of the model, multiple fields joined using char ','.
+func (m *arModel) Fields(fields string) *arModel {
+	return &arModel{m.M.Fields(fields)}
+}
+
+// FieldsEx sets the excluded operation fields of the model, multiple fields joined using char ','.
+func (m *arModel) FieldsEx(fields string) *arModel {
+	return &arModel{m.M.FieldsEx(fields)}
+}
+
+// Option sets the extra operation option for the model.
+func (m *arModel) Option(option int) *arModel {
+	return &arModel{m.M.Option(option)}
+}
+
+// OmitEmpty sets OPTION_OMITEMPTY option for the model, which automatically filers
+// the data and where attributes for empty values.
+func (m *arModel) OmitEmpty() *arModel {
+	return &arModel{m.M.OmitEmpty()}
+}
+
+// Filter marks filtering the fields which does not exist in the fields of the operated table.
+func (m *arModel) Filter() *arModel {
+	return &arModel{m.M.Filter()}
+}
+
+// Where sets the condition statement for the model. The parameter <where> can be type of
+// string/map/gmap/slice/struct/*struct, etc. Note that, if it's called more than one times,
+// multiple conditions will be joined into where statement using "AND".
+// Eg:
+// Where("uid=10000")
+// Where("uid", 10000)
+// Where("money>? AND name like ?", 99999, "vip_%")
+// Where("uid", 1).Where("name", "john")
+// Where("status IN (?)", g.Slice{1,2,3})
+// Where("age IN(?,?)", 18, 50)
+// Where(User{ Id : 1, UserName : "john"})
+func (m *arModel) Where(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.Where(where, args...)}
+}
+
+// And adds "AND" condition to the where statement.
+func (m *arModel) And(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.And(where, args...)}
+}
+
+// Or adds "OR" condition to the where statement.
+func (m *arModel) Or(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.Or(where, args...)}
+}
+
+// Group sets the "GROUP BY" statement for the model.
+func (m *arModel) Group(groupBy string) *arModel {
+	return &arModel{m.M.Group(groupBy)}
+}
+
+// Order sets the "ORDER BY" statement for the model.
+func (m *arModel) Order(orderBy string) *arModel {
+	return &arModel{m.M.Order(orderBy)}
+}
+
+// Limit sets the "LIMIT" statement for the model.
+// The parameter <limit> can be either one or two number, if passed two number is passed,
+// it then sets "LIMIT limit[0],limit[1]" statement for the model, or else it sets "LIMIT limit[0]"
+// statement.
+func (m *arModel) Limit(limit ...int) *arModel {
+	return &arModel{m.M.Limit(limit...)}
+}
+
+// Offset sets the "OFFSET" statement for the model.
+// It only makes sense for some databases like SQLServer, PostgreSQL, etc.
+func (m *arModel) Offset(offset int) *arModel {
+	return &arModel{m.M.Offset(offset)}
+}
+
+// Page sets the paging number for the model.
+// The parameter <page> is started from 1 for paging.
+// Note that, it differs that the Limit function start from 0 for "LIMIT" statement.
+func (m *arModel) Page(page, limit int) *arModel {
+	return &arModel{m.M.Page(page, limit)}
+}
+
+// Batch sets the batch operation number for the model.
+func (m *arModel) Batch(batch int) *arModel {
+	return &arModel{m.M.Batch(batch)}
+}
+
+// Cache sets the cache feature for the model. It caches the result of the sql, which means
+// if there's another same sql request, it just reads and returns the result from cache, it
+// but not committed and executed into the database.
+//
+// If the parameter <duration> < 0, which means it clear the cache with given <name>.
+// If the parameter <duration> = 0, which means it never expires.
+// If the parameter <duration> > 0, which means it expires after <duration>.
+//
+// The optional parameter <name> is used to bind a name to the cache, which means you can later
+// control the cache like changing the <duration> or clearing the cache with specified <name>.
+//
+// Note that, the cache feature is disabled if the model is operating on a transaction.
+func (m *arModel) Cache(expire time.Duration, name ...string) *arModel {
+	return &arModel{m.M.Cache(expire, name...)}
+}
+
+// Data sets the operation data for the model.
+// The parameter <data> can be type of string/map/gmap/slice/struct/*struct, etc.
+// Eg:
+// Data("uid=10000")
+// Data("uid", 10000)
+// Data(g.Map{"uid": 10000, "name":"john"})
+// Data(g.Slice{g.Map{"uid": 10000, "name":"john"}, g.Map{"uid": 20000, "name":"smith"})
+func (m *arModel) Data(data ...interface{}) *arModel {
+	return &arModel{m.M.Data(data...)}
+}
+
+// Insert does "INSERT INTO ..." statement for the model.
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Insert(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Insert(data...)
+}
+
+// Replace does "REPLACE INTO ..." statement for the model.
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Replace(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Replace(data...)
+}
+
+// Save does "INSERT INTO ... ON DUPLICATE KEY UPDATE..." statement for the model.
+// It updates the record if there's primary or unique index in the saving data,
+// or else it inserts a new record into the table.
+//
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Save(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Save(data...)
+}
+
+// Update does "UPDATE ... " statement for the model.
+//
+// If the optional parameter <dataAndWhere> is given, the dataAndWhere[0] is the updated
+// data field, and dataAndWhere[1:] is treated as where condition fields.
+// Also see Model.Data and Model.Where functions.
+func (m *arModel) Update(dataAndWhere ...interface{}) (result sql.Result, err error) {
+	return m.M.Update(dataAndWhere...)
+}
+
+// Delete does "DELETE FROM ... " statement for the model.
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) Delete(where ...interface{}) (result sql.Result, err error) {
+	return m.M.Delete(where...)
+}
+
+// Count does "SELECT COUNT(x) FROM ..." statement for the model.
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) Count(where ...interface{}) (int, error) {
+	return m.M.Count(where...)
+}
+
+// All does "SELECT FROM ..." statement for the model.
+// It retrieves the records from table and returns the result as []*Entity.
+// It returns nil if there's no record retrieved with the given conditions from table.
+//
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) All(where ...interface{}) ([]*Entity, error) {
+	all, err := m.M.All(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entities []*Entity
+	if err = all.Structs(&entities); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entities, nil
+}
+
+// One retrieves one record from table and returns the result as *Entity.
+// It returns nil if there's no record retrieved with the given conditions from table.
+//
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) One(where ...interface{}) (*Entity, error) {
+	one, err := m.M.One(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entity *Entity
+	if err = one.Struct(&entity); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entity, nil
+}
+
+// Value retrieves a specified record value from table and returns the result as interface type.
+// It returns nil if there's no record found with the given conditions from table.
+//
+// If the optional parameter <fieldsAndWhere> is given, the fieldsAndWhere[0] is the selected fields
+// and fieldsAndWhere[1:] is treated as where condition fields.
+// Also see Model.Fields and Model.Where functions.
+func (m *arModel) Value(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return m.M.Value(fieldsAndWhere...)
+}
+
+// FindOne retrieves and returns a single Record by Model.WherePri and Model.One.
+// Also see Model.WherePri and Model.One.
+func (m *arModel) FindOne(where ...interface{}) (*Entity, error) {
+	one, err := m.M.FindOne(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entity *Entity
+	if err = one.Struct(&entity); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entity, nil
+}
+
+// FindAll retrieves and returns Result by by Model.WherePri and Model.All.
+// Also see Model.WherePri and Model.All.
+func (m *arModel) FindAll(where ...interface{}) ([]*Entity, error) {
+	all, err := m.M.FindAll(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entities []*Entity
+	if err = all.Structs(&entities); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entities, nil
+}
+
+// FindValue retrieves and returns single field value by Model.WherePri and Model.Value.
+// Also see Model.WherePri and Model.Value.
+func (m *arModel) FindValue(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return m.M.FindValue(fieldsAndWhere...)
+}
+
+// FindCount retrieves and returns the record number by Model.WherePri and Model.Count.
+// Also see Model.WherePri and Model.Count.
+func (m *arModel) FindCount(where ...interface{}) (int, error) {
+	return m.M.FindCount(where...)
+}
+
+// Chunk iterates the table with given size and callback function.
+func (m *arModel) Chunk(limit int, callback func(entities []*Entity, err error) bool) {
+	m.M.Chunk(limit, func(result gdb.Result, err error) bool {
+		var entities []*Entity
+		err = result.Structs(&entities)
+		if err == sql.ErrNoRows {
+			return false
+		}
+		return callback(entities, err)
+	})
+}

+ 18 - 0
app/model/user/user.go

@@ -0,0 +1,18 @@
+package user
+
+import "github.com/gogf/gf/util/gconv"
+
+// Fill with you ideas below.
+
+func (r *Entity) PkVal() int {
+	return gconv.Int(r.Id)
+}
+
+func (r *Entity) TableName() string {
+	return Table
+}
+
+func (m *arModel) Columns() string {
+	sqlColumns := "t.id,t.uuid,t.username,t.password,t.salt,t.real_name as realName,t.depart_id as departId,t.user_type as userType,t.status,t.thirdid,t.endtime,t.email,t.tel,t.address,t.title_url as titleUrl,t.remark,t.theme,t.back_site_id as backSiteId,t.create_site_id as createSiteId,t.project_id as projectId,t.project_name as projectName,t.enable,t.update_time as updateTime,t.update_id as updateId,t.create_time as createTime,t.create_id as createId"
+	return sqlColumns
+}

+ 81 - 0
app/model/user/user_entity.go

@@ -0,0 +1,81 @@
+// ==========================================================================
+// This is auto-generated by gf cli tool. You may not really want to edit it.
+// ==========================================================================
+
+package user
+
+import (
+	"database/sql"
+	"github.com/gogf/gf/database/gdb"
+)
+
+// Entity is the golang structure for table sys_user.
+type Entity struct {
+	Id           int    `orm:"id,primary"      json:"id"`           // 主键
+	Uuid         string `orm:"uuid"            json:"uuid"`         // UUID
+	Username     string `orm:"username,unique" json:"username"`     // 登录名/11111
+	Password     string `orm:"password"        json:"password"`     // 密码
+	Salt         string `orm:"salt"            json:"salt"`         // 密码盐
+	RealName     string `orm:"real_name"       json:"realName"`     // 真实姓名
+	DepartId     int    `orm:"depart_id"       json:"departId"`     // 部门/11111/dict
+	UserType     int    `orm:"user_type"       json:"userType"`     // 类型//select/1,管理员,2,普通用户,3,前台用户,4,第三方用户,5,API用户
+	Status       int    `orm:"status"          json:"status"`       // 状态
+	Thirdid      string `orm:"thirdid"         json:"thirdid"`      // 第三方ID
+	Endtime      string `orm:"endtime"         json:"endtime"`      // 结束时间
+	Email        string `orm:"email"           json:"email"`        // email
+	Tel          string `orm:"tel"             json:"tel"`          // 手机号
+	Address      string `orm:"address"         json:"address"`      // 地址
+	TitleUrl     string `orm:"title_url"       json:"titleUrl"`     // 头像地址
+	Remark       string `orm:"remark"          json:"remark"`       // 说明
+	Theme        string `orm:"theme"           json:"theme"`        // 主题
+	BackSiteId   int    `orm:"back_site_id"    json:"backSiteId"`   // 后台选择站点ID
+	CreateSiteId int    `orm:"create_site_id"  json:"createSiteId"` // 创建站点ID
+	ProjectId    int    `orm:"project_id"      json:"projectId"`    // 项目ID
+	ProjectName  string `orm:"project_name"    json:"projectName"`  // 项目名称
+	Enable       int    `orm:"enable"          json:"enable"`       // 是否启用//radio/1,启用,2,禁用
+	UpdateTime   string `orm:"update_time" json:"updateTime"`       // 更新时间
+	UpdateId     int    `orm:"update_id"   json:"updateId"`         // 更新人
+	CreateTime   string `orm:"create_time" json:"createTime"`       // 创建时间
+	CreateId     int    `orm:"create_id"   json:"createId"`         // 创建者
+
+	DepartName string `json:"departName" gconv:"departName,omitempty"` // 项目名称
+	UpdateName string `json:"updateName,omitempty" gconv:"updateName,omitempty"`
+	CreateName string `json:"createName,omitempty" gconv:"createName,omitempty"`
+}
+
+// OmitEmpty sets OPTION_OMITEMPTY option for the model, which automatically filers
+// the data and where attributes for empty values.
+func (r *Entity) OmitEmpty() *arModel {
+	return Model.Data(r).OmitEmpty()
+}
+
+// Inserts does "INSERT...INTO..." statement for inserting current object into table.
+func (r *Entity) Insert() (result sql.Result, err error) {
+	return Model.Data(r).Insert()
+}
+
+// Replace does "REPLACE...INTO..." statement for inserting current object into table.
+// If there's already another same record in the table (it checks using primary key or unique index),
+// it deletes it and insert this one.
+func (r *Entity) Replace() (result sql.Result, err error) {
+	return Model.Data(r).Replace()
+}
+
+// Save does "INSERT...INTO..." statement for inserting/updating current object into table.
+// It updates the record if there's already another same record in the table
+// (it checks using primary key or unique index).
+func (r *Entity) Save() (result sql.Result, err error) {
+	return Model.Data(r).Save()
+}
+
+// Update does "UPDATE...WHERE..." statement for updating current object from table.
+// It updates the record if there's already another same record in the table
+// (it checks using primary key or unique index).
+func (r *Entity) Update() (result sql.Result, err error) {
+	return Model.Data(r).Where(gdb.GetWhereConditionOfStruct(r)).Update()
+}
+
+// Delete does "DELETE FROM...WHERE..." statement for deleting current object from table.
+func (r *Entity) Delete() (result sql.Result, err error) {
+	return Model.Where(gdb.GetWhereConditionOfStruct(r)).Delete()
+}

+ 367 - 0
app/model/user/user_model.go

@@ -0,0 +1,367 @@
+// ==========================================================================
+// This is auto-generated by gf cli tool. You may not really want to edit it.
+// ==========================================================================
+
+package user
+
+import (
+	"database/sql"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+	"time"
+)
+
+// arModel is a active record design model for table sys_user operations.
+type arModel struct {
+	M *gdb.Model
+}
+
+var (
+	// Table is the table name of sys_user.
+	Table = "sys_user"
+	// Model is the model object of sys_user.
+	Model = &arModel{g.DB("default").Table(Table).Safe()}
+)
+
+// FindOne is a convenience method for Model.FindOne.
+// See Model.FindOne.
+func FindOne(where ...interface{}) (*Entity, error) {
+	return Model.FindOne(where...)
+}
+
+// FindAll is a convenience method for Model.FindAll.
+// See Model.FindAll.
+func FindAll(where ...interface{}) ([]*Entity, error) {
+	return Model.FindAll(where...)
+}
+
+// FindValue is a convenience method for Model.FindValue.
+// See Model.FindValue.
+func FindValue(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return Model.FindValue(fieldsAndWhere...)
+}
+
+// FindCount is a convenience method for Model.FindCount.
+// See Model.FindCount.
+func FindCount(where ...interface{}) (int, error) {
+	return Model.FindCount(where...)
+}
+
+// Insert is a convenience method for Model.Insert.
+func Insert(data ...interface{}) (result sql.Result, err error) {
+	return Model.Insert(data...)
+}
+
+// Replace is a convenience method for Model.Replace.
+func Replace(data ...interface{}) (result sql.Result, err error) {
+	return Model.Replace(data...)
+}
+
+// Save is a convenience method for Model.Save.
+func Save(data ...interface{}) (result sql.Result, err error) {
+	return Model.Save(data...)
+}
+
+// Update is a convenience method for Model.Update.
+func Update(dataAndWhere ...interface{}) (result sql.Result, err error) {
+	return Model.Update(dataAndWhere...)
+}
+
+// Delete is a convenience method for Model.Delete.
+func Delete(where ...interface{}) (result sql.Result, err error) {
+	return Model.Delete(where...)
+}
+
+// As sets an alias name for current table.
+func (m *arModel) As(as string) *arModel {
+	return &arModel{m.M.As(as)}
+}
+
+// TX sets the transaction for current operation.
+func (m *arModel) TX(tx *gdb.TX) *arModel {
+	return &arModel{m.M.TX(tx)}
+}
+
+// Master marks the following operation on master node.
+func (m *arModel) Master() *arModel {
+	return &arModel{m.M.Master()}
+}
+
+// Slave marks the following operation on slave node.
+// Note that it makes sense only if there's any slave node configured.
+func (m *arModel) Slave() *arModel {
+	return &arModel{m.M.Slave()}
+}
+
+// LeftJoin does "LEFT JOIN ... ON ..." statement on the model.
+func (m *arModel) LeftJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.LeftJoin(joinTable, on)}
+}
+
+// RightJoin does "RIGHT JOIN ... ON ..." statement on the model.
+func (m *arModel) RightJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.RightJoin(joinTable, on)}
+}
+
+// InnerJoin does "INNER JOIN ... ON ..." statement on the model.
+func (m *arModel) InnerJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.InnerJoin(joinTable, on)}
+}
+
+// Fields sets the operation fields of the model, multiple fields joined using char ','.
+func (m *arModel) Fields(fields string) *arModel {
+	return &arModel{m.M.Fields(fields)}
+}
+
+// FieldsEx sets the excluded operation fields of the model, multiple fields joined using char ','.
+func (m *arModel) FieldsEx(fields string) *arModel {
+	return &arModel{m.M.FieldsEx(fields)}
+}
+
+// Option sets the extra operation option for the model.
+func (m *arModel) Option(option int) *arModel {
+	return &arModel{m.M.Option(option)}
+}
+
+// OmitEmpty sets OPTION_OMITEMPTY option for the model, which automatically filers
+// the data and where attributes for empty values.
+func (m *arModel) OmitEmpty() *arModel {
+	return &arModel{m.M.OmitEmpty()}
+}
+
+// Filter marks filtering the fields which does not exist in the fields of the operated table.
+func (m *arModel) Filter() *arModel {
+	return &arModel{m.M.Filter()}
+}
+
+// Where sets the condition statement for the model. The parameter <where> can be type of
+// string/map/gmap/slice/struct/*struct, etc. Note that, if it's called more than one times,
+// multiple conditions will be joined into where statement using "AND".
+// Eg:
+// Where("uid=10000")
+// Where("uid", 10000)
+// Where("money>? AND name like ?", 99999, "vip_%")
+// Where("uid", 1).Where("name", "john")
+// Where("status IN (?)", g.Slice{1,2,3})
+// Where("age IN(?,?)", 18, 50)
+// Where(User{ Id : 1, UserName : "john"})
+func (m *arModel) Where(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.Where(where, args...)}
+}
+
+// And adds "AND" condition to the where statement.
+func (m *arModel) And(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.And(where, args...)}
+}
+
+// Or adds "OR" condition to the where statement.
+func (m *arModel) Or(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.Or(where, args...)}
+}
+
+// Group sets the "GROUP BY" statement for the model.
+func (m *arModel) Group(groupBy string) *arModel {
+	return &arModel{m.M.Group(groupBy)}
+}
+
+// Order sets the "ORDER BY" statement for the model.
+func (m *arModel) Order(orderBy string) *arModel {
+	return &arModel{m.M.Order(orderBy)}
+}
+
+// Limit sets the "LIMIT" statement for the model.
+// The parameter <limit> can be either one or two number, if passed two number is passed,
+// it then sets "LIMIT limit[0],limit[1]" statement for the model, or else it sets "LIMIT limit[0]"
+// statement.
+func (m *arModel) Limit(limit ...int) *arModel {
+	return &arModel{m.M.Limit(limit...)}
+}
+
+// Offset sets the "OFFSET" statement for the model.
+// It only makes sense for some databases like SQLServer, PostgreSQL, etc.
+func (m *arModel) Offset(offset int) *arModel {
+	return &arModel{m.M.Offset(offset)}
+}
+
+// Page sets the paging number for the model.
+// The parameter <page> is started from 1 for paging.
+// Note that, it differs that the Limit function start from 0 for "LIMIT" statement.
+func (m *arModel) Page(page, limit int) *arModel {
+	return &arModel{m.M.Page(page, limit)}
+}
+
+// Batch sets the batch operation number for the model.
+func (m *arModel) Batch(batch int) *arModel {
+	return &arModel{m.M.Batch(batch)}
+}
+
+// Cache sets the cache feature for the model. It caches the result of the sql, which means
+// if there's another same sql request, it just reads and returns the result from cache, it
+// but not committed and executed into the database.
+//
+// If the parameter <duration> < 0, which means it clear the cache with given <name>.
+// If the parameter <duration> = 0, which means it never expires.
+// If the parameter <duration> > 0, which means it expires after <duration>.
+//
+// The optional parameter <name> is used to bind a name to the cache, which means you can later
+// control the cache like changing the <duration> or clearing the cache with specified <name>.
+//
+// Note that, the cache feature is disabled if the model is operating on a transaction.
+func (m *arModel) Cache(expire time.Duration, name ...string) *arModel {
+	return &arModel{m.M.Cache(expire, name...)}
+}
+
+// Data sets the operation data for the model.
+// The parameter <data> can be type of string/map/gmap/slice/struct/*struct, etc.
+// Eg:
+// Data("uid=10000")
+// Data("uid", 10000)
+// Data(g.Map{"uid": 10000, "name":"john"})
+// Data(g.Slice{g.Map{"uid": 10000, "name":"john"}, g.Map{"uid": 20000, "name":"smith"})
+func (m *arModel) Data(data ...interface{}) *arModel {
+	return &arModel{m.M.Data(data...)}
+}
+
+// Insert does "INSERT INTO ..." statement for the model.
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Insert(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Insert(data...)
+}
+
+// Replace does "REPLACE INTO ..." statement for the model.
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Replace(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Replace(data...)
+}
+
+// Save does "INSERT INTO ... ON DUPLICATE KEY UPDATE..." statement for the model.
+// It updates the record if there's primary or unique index in the saving data,
+// or else it inserts a new record into the table.
+//
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Save(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Save(data...)
+}
+
+// Update does "UPDATE ... " statement for the model.
+//
+// If the optional parameter <dataAndWhere> is given, the dataAndWhere[0] is the updated
+// data field, and dataAndWhere[1:] is treated as where condition fields.
+// Also see Model.Data and Model.Where functions.
+func (m *arModel) Update(dataAndWhere ...interface{}) (result sql.Result, err error) {
+	return m.M.Update(dataAndWhere...)
+}
+
+// Delete does "DELETE FROM ... " statement for the model.
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) Delete(where ...interface{}) (result sql.Result, err error) {
+	return m.M.Delete(where...)
+}
+
+// Count does "SELECT COUNT(x) FROM ..." statement for the model.
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) Count(where ...interface{}) (int, error) {
+	return m.M.Count(where...)
+}
+
+// All does "SELECT FROM ..." statement for the model.
+// It retrieves the records from table and returns the result as []*Entity.
+// It returns nil if there's no record retrieved with the given conditions from table.
+//
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) All(where ...interface{}) ([]*Entity, error) {
+	all, err := m.M.All(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entities []*Entity
+	if err = all.Structs(&entities); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entities, nil
+}
+
+// One retrieves one record from table and returns the result as *Entity.
+// It returns nil if there's no record retrieved with the given conditions from table.
+//
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) One(where ...interface{}) (*Entity, error) {
+	one, err := m.M.One(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entity *Entity
+	if err = one.Struct(&entity); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entity, nil
+}
+
+// Value retrieves a specified record value from table and returns the result as interface type.
+// It returns nil if there's no record found with the given conditions from table.
+//
+// If the optional parameter <fieldsAndWhere> is given, the fieldsAndWhere[0] is the selected fields
+// and fieldsAndWhere[1:] is treated as where condition fields.
+// Also see Model.Fields and Model.Where functions.
+func (m *arModel) Value(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return m.M.Value(fieldsAndWhere...)
+}
+
+// FindOne retrieves and returns a single Record by Model.WherePri and Model.One.
+// Also see Model.WherePri and Model.One.
+func (m *arModel) FindOne(where ...interface{}) (*Entity, error) {
+	one, err := m.M.FindOne(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entity *Entity
+	if err = one.Struct(&entity); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entity, nil
+}
+
+// FindAll retrieves and returns Result by by Model.WherePri and Model.All.
+// Also see Model.WherePri and Model.All.
+func (m *arModel) FindAll(where ...interface{}) ([]*Entity, error) {
+	all, err := m.M.FindAll(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entities []*Entity
+	if err = all.Structs(&entities); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entities, nil
+}
+
+// FindValue retrieves and returns single field value by Model.WherePri and Model.Value.
+// Also see Model.WherePri and Model.Value.
+func (m *arModel) FindValue(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return m.M.FindValue(fieldsAndWhere...)
+}
+
+// FindCount retrieves and returns the record number by Model.WherePri and Model.Count.
+// Also see Model.WherePri and Model.Count.
+func (m *arModel) FindCount(where ...interface{}) (int, error) {
+	return m.M.FindCount(where...)
+}
+
+// Chunk iterates the table with given size and callback function.
+func (m *arModel) Chunk(limit int, callback func(entities []*Entity, err error) bool) {
+	m.M.Chunk(limit, func(result gdb.Result, err error) bool {
+		var entities []*Entity
+		err = result.Structs(&entities)
+		if err == sql.ErrNoRows {
+			return false
+		}
+		return callback(entities, err)
+	})
+}

+ 18 - 0
app/model/user_role/user_role.go

@@ -0,0 +1,18 @@
+package user_role
+
+import "github.com/gogf/gf/util/gconv"
+
+// Fill with you ideas below.
+
+func (r *Entity) PkVal() int {
+	return gconv.Int(r.Id)
+}
+
+func (r *Entity) TableName() string {
+	return Table
+}
+
+func (m *arModel) Columns() string {
+	sqlColumns := "t.id,t.user_id as userId,t.role_id as roleId"
+	return sqlColumns
+}

+ 54 - 0
app/model/user_role/user_role_entity.go

@@ -0,0 +1,54 @@
+// ==========================================================================
+// This is auto-generated by gf cli tool. You may not really want to edit it.
+// ==========================================================================
+
+package user_role
+
+import (
+	"database/sql"
+	"github.com/gogf/gf/database/gdb"
+)
+
+// Entity is the golang structure for table sys_user_role.
+type Entity struct {
+	Id     int `orm:"id,primary" json:"id"`     // 主键
+	UserId int `orm:"user_id"    json:"userId"` // 用户id
+	RoleId int `orm:"role_id"    json:"roleId"` // 角色id
+}
+
+// OmitEmpty sets OPTION_OMITEMPTY option for the model, which automatically filers
+// the data and where attributes for empty values.
+func (r *Entity) OmitEmpty() *arModel {
+	return Model.Data(r).OmitEmpty()
+}
+
+// Inserts does "INSERT...INTO..." statement for inserting current object into table.
+func (r *Entity) Insert() (result sql.Result, err error) {
+	return Model.Data(r).Insert()
+}
+
+// Replace does "REPLACE...INTO..." statement for inserting current object into table.
+// If there's already another same record in the table (it checks using primary key or unique index),
+// it deletes it and insert this one.
+func (r *Entity) Replace() (result sql.Result, err error) {
+	return Model.Data(r).Replace()
+}
+
+// Save does "INSERT...INTO..." statement for inserting/updating current object into table.
+// It updates the record if there's already another same record in the table
+// (it checks using primary key or unique index).
+func (r *Entity) Save() (result sql.Result, err error) {
+	return Model.Data(r).Save()
+}
+
+// Update does "UPDATE...WHERE..." statement for updating current object from table.
+// It updates the record if there's already another same record in the table
+// (it checks using primary key or unique index).
+func (r *Entity) Update() (result sql.Result, err error) {
+	return Model.Data(r).Where(gdb.GetWhereConditionOfStruct(r)).Update()
+}
+
+// Delete does "DELETE FROM...WHERE..." statement for deleting current object from table.
+func (r *Entity) Delete() (result sql.Result, err error) {
+	return Model.Where(gdb.GetWhereConditionOfStruct(r)).Delete()
+}

+ 367 - 0
app/model/user_role/user_role_model.go

@@ -0,0 +1,367 @@
+// ==========================================================================
+// This is auto-generated by gf cli tool. You may not really want to edit it.
+// ==========================================================================
+
+package user_role
+
+import (
+	"database/sql"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+	"time"
+)
+
+// arModel is a active record design model for table sys_user_role operations.
+type arModel struct {
+	M *gdb.Model
+}
+
+var (
+	// Table is the table name of sys_user_role.
+	Table = "sys_user_role"
+	// Model is the model object of sys_user_role.
+	Model = &arModel{g.DB("default").Table(Table).Safe()}
+)
+
+// FindOne is a convenience method for Model.FindOne.
+// See Model.FindOne.
+func FindOne(where ...interface{}) (*Entity, error) {
+	return Model.FindOne(where...)
+}
+
+// FindAll is a convenience method for Model.FindAll.
+// See Model.FindAll.
+func FindAll(where ...interface{}) ([]*Entity, error) {
+	return Model.FindAll(where...)
+}
+
+// FindValue is a convenience method for Model.FindValue.
+// See Model.FindValue.
+func FindValue(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return Model.FindValue(fieldsAndWhere...)
+}
+
+// FindCount is a convenience method for Model.FindCount.
+// See Model.FindCount.
+func FindCount(where ...interface{}) (int, error) {
+	return Model.FindCount(where...)
+}
+
+// Insert is a convenience method for Model.Insert.
+func Insert(data ...interface{}) (result sql.Result, err error) {
+	return Model.Insert(data...)
+}
+
+// Replace is a convenience method for Model.Replace.
+func Replace(data ...interface{}) (result sql.Result, err error) {
+	return Model.Replace(data...)
+}
+
+// Save is a convenience method for Model.Save.
+func Save(data ...interface{}) (result sql.Result, err error) {
+	return Model.Save(data...)
+}
+
+// Update is a convenience method for Model.Update.
+func Update(dataAndWhere ...interface{}) (result sql.Result, err error) {
+	return Model.Update(dataAndWhere...)
+}
+
+// Delete is a convenience method for Model.Delete.
+func Delete(where ...interface{}) (result sql.Result, err error) {
+	return Model.Delete(where...)
+}
+
+// As sets an alias name for current table.
+func (m *arModel) As(as string) *arModel {
+	return &arModel{m.M.As(as)}
+}
+
+// TX sets the transaction for current operation.
+func (m *arModel) TX(tx *gdb.TX) *arModel {
+	return &arModel{m.M.TX(tx)}
+}
+
+// Master marks the following operation on master node.
+func (m *arModel) Master() *arModel {
+	return &arModel{m.M.Master()}
+}
+
+// Slave marks the following operation on slave node.
+// Note that it makes sense only if there's any slave node configured.
+func (m *arModel) Slave() *arModel {
+	return &arModel{m.M.Slave()}
+}
+
+// LeftJoin does "LEFT JOIN ... ON ..." statement on the model.
+func (m *arModel) LeftJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.LeftJoin(joinTable, on)}
+}
+
+// RightJoin does "RIGHT JOIN ... ON ..." statement on the model.
+func (m *arModel) RightJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.RightJoin(joinTable, on)}
+}
+
+// InnerJoin does "INNER JOIN ... ON ..." statement on the model.
+func (m *arModel) InnerJoin(joinTable string, on string) *arModel {
+	return &arModel{m.M.InnerJoin(joinTable, on)}
+}
+
+// Fields sets the operation fields of the model, multiple fields joined using char ','.
+func (m *arModel) Fields(fields string) *arModel {
+	return &arModel{m.M.Fields(fields)}
+}
+
+// FieldsEx sets the excluded operation fields of the model, multiple fields joined using char ','.
+func (m *arModel) FieldsEx(fields string) *arModel {
+	return &arModel{m.M.FieldsEx(fields)}
+}
+
+// Option sets the extra operation option for the model.
+func (m *arModel) Option(option int) *arModel {
+	return &arModel{m.M.Option(option)}
+}
+
+// OmitEmpty sets OPTION_OMITEMPTY option for the model, which automatically filers
+// the data and where attributes for empty values.
+func (m *arModel) OmitEmpty() *arModel {
+	return &arModel{m.M.OmitEmpty()}
+}
+
+// Filter marks filtering the fields which does not exist in the fields of the operated table.
+func (m *arModel) Filter() *arModel {
+	return &arModel{m.M.Filter()}
+}
+
+// Where sets the condition statement for the model. The parameter <where> can be type of
+// string/map/gmap/slice/struct/*struct, etc. Note that, if it's called more than one times,
+// multiple conditions will be joined into where statement using "AND".
+// Eg:
+// Where("uid=10000")
+// Where("uid", 10000)
+// Where("money>? AND name like ?", 99999, "vip_%")
+// Where("uid", 1).Where("name", "john")
+// Where("status IN (?)", g.Slice{1,2,3})
+// Where("age IN(?,?)", 18, 50)
+// Where(User{ Id : 1, UserName : "john"})
+func (m *arModel) Where(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.Where(where, args...)}
+}
+
+// And adds "AND" condition to the where statement.
+func (m *arModel) And(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.And(where, args...)}
+}
+
+// Or adds "OR" condition to the where statement.
+func (m *arModel) Or(where interface{}, args ...interface{}) *arModel {
+	return &arModel{m.M.Or(where, args...)}
+}
+
+// Group sets the "GROUP BY" statement for the model.
+func (m *arModel) Group(groupBy string) *arModel {
+	return &arModel{m.M.Group(groupBy)}
+}
+
+// Order sets the "ORDER BY" statement for the model.
+func (m *arModel) Order(orderBy string) *arModel {
+	return &arModel{m.M.Order(orderBy)}
+}
+
+// Limit sets the "LIMIT" statement for the model.
+// The parameter <limit> can be either one or two number, if passed two number is passed,
+// it then sets "LIMIT limit[0],limit[1]" statement for the model, or else it sets "LIMIT limit[0]"
+// statement.
+func (m *arModel) Limit(limit ...int) *arModel {
+	return &arModel{m.M.Limit(limit...)}
+}
+
+// Offset sets the "OFFSET" statement for the model.
+// It only makes sense for some databases like SQLServer, PostgreSQL, etc.
+func (m *arModel) Offset(offset int) *arModel {
+	return &arModel{m.M.Offset(offset)}
+}
+
+// Page sets the paging number for the model.
+// The parameter <page> is started from 1 for paging.
+// Note that, it differs that the Limit function start from 0 for "LIMIT" statement.
+func (m *arModel) Page(page, limit int) *arModel {
+	return &arModel{m.M.Page(page, limit)}
+}
+
+// Batch sets the batch operation number for the model.
+func (m *arModel) Batch(batch int) *arModel {
+	return &arModel{m.M.Batch(batch)}
+}
+
+// Cache sets the cache feature for the model. It caches the result of the sql, which means
+// if there's another same sql request, it just reads and returns the result from cache, it
+// but not committed and executed into the database.
+//
+// If the parameter <duration> < 0, which means it clear the cache with given <name>.
+// If the parameter <duration> = 0, which means it never expires.
+// If the parameter <duration> > 0, which means it expires after <duration>.
+//
+// The optional parameter <name> is used to bind a name to the cache, which means you can later
+// control the cache like changing the <duration> or clearing the cache with specified <name>.
+//
+// Note that, the cache feature is disabled if the model is operating on a transaction.
+func (m *arModel) Cache(expire time.Duration, name ...string) *arModel {
+	return &arModel{m.M.Cache(expire, name...)}
+}
+
+// Data sets the operation data for the model.
+// The parameter <data> can be type of string/map/gmap/slice/struct/*struct, etc.
+// Eg:
+// Data("uid=10000")
+// Data("uid", 10000)
+// Data(g.Map{"uid": 10000, "name":"john"})
+// Data(g.Slice{g.Map{"uid": 10000, "name":"john"}, g.Map{"uid": 20000, "name":"smith"})
+func (m *arModel) Data(data ...interface{}) *arModel {
+	return &arModel{m.M.Data(data...)}
+}
+
+// Insert does "INSERT INTO ..." statement for the model.
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Insert(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Insert(data...)
+}
+
+// Replace does "REPLACE INTO ..." statement for the model.
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Replace(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Replace(data...)
+}
+
+// Save does "INSERT INTO ... ON DUPLICATE KEY UPDATE..." statement for the model.
+// It updates the record if there's primary or unique index in the saving data,
+// or else it inserts a new record into the table.
+//
+// The optional parameter <data> is the same as the parameter of Model.Data function,
+// see Model.Data.
+func (m *arModel) Save(data ...interface{}) (result sql.Result, err error) {
+	return m.M.Save(data...)
+}
+
+// Update does "UPDATE ... " statement for the model.
+//
+// If the optional parameter <dataAndWhere> is given, the dataAndWhere[0] is the updated
+// data field, and dataAndWhere[1:] is treated as where condition fields.
+// Also see Model.Data and Model.Where functions.
+func (m *arModel) Update(dataAndWhere ...interface{}) (result sql.Result, err error) {
+	return m.M.Update(dataAndWhere...)
+}
+
+// Delete does "DELETE FROM ... " statement for the model.
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) Delete(where ...interface{}) (result sql.Result, err error) {
+	return m.M.Delete(where...)
+}
+
+// Count does "SELECT COUNT(x) FROM ..." statement for the model.
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) Count(where ...interface{}) (int, error) {
+	return m.M.Count(where...)
+}
+
+// All does "SELECT FROM ..." statement for the model.
+// It retrieves the records from table and returns the result as []*Entity.
+// It returns nil if there's no record retrieved with the given conditions from table.
+//
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) All(where ...interface{}) ([]*Entity, error) {
+	all, err := m.M.All(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entities []*Entity
+	if err = all.Structs(&entities); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entities, nil
+}
+
+// One retrieves one record from table and returns the result as *Entity.
+// It returns nil if there's no record retrieved with the given conditions from table.
+//
+// The optional parameter <where> is the same as the parameter of Model.Where function,
+// see Model.Where.
+func (m *arModel) One(where ...interface{}) (*Entity, error) {
+	one, err := m.M.One(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entity *Entity
+	if err = one.Struct(&entity); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entity, nil
+}
+
+// Value retrieves a specified record value from table and returns the result as interface type.
+// It returns nil if there's no record found with the given conditions from table.
+//
+// If the optional parameter <fieldsAndWhere> is given, the fieldsAndWhere[0] is the selected fields
+// and fieldsAndWhere[1:] is treated as where condition fields.
+// Also see Model.Fields and Model.Where functions.
+func (m *arModel) Value(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return m.M.Value(fieldsAndWhere...)
+}
+
+// FindOne retrieves and returns a single Record by Model.WherePri and Model.One.
+// Also see Model.WherePri and Model.One.
+func (m *arModel) FindOne(where ...interface{}) (*Entity, error) {
+	one, err := m.M.FindOne(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entity *Entity
+	if err = one.Struct(&entity); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entity, nil
+}
+
+// FindAll retrieves and returns Result by by Model.WherePri and Model.All.
+// Also see Model.WherePri and Model.All.
+func (m *arModel) FindAll(where ...interface{}) ([]*Entity, error) {
+	all, err := m.M.FindAll(where...)
+	if err != nil {
+		return nil, err
+	}
+	var entities []*Entity
+	if err = all.Structs(&entities); err != nil && err != sql.ErrNoRows {
+		return nil, err
+	}
+	return entities, nil
+}
+
+// FindValue retrieves and returns single field value by Model.WherePri and Model.Value.
+// Also see Model.WherePri and Model.Value.
+func (m *arModel) FindValue(fieldsAndWhere ...interface{}) (gdb.Value, error) {
+	return m.M.FindValue(fieldsAndWhere...)
+}
+
+// FindCount retrieves and returns the record number by Model.WherePri and Model.Count.
+// Also see Model.WherePri and Model.Count.
+func (m *arModel) FindCount(where ...interface{}) (int, error) {
+	return m.M.FindCount(where...)
+}
+
+// Chunk iterates the table with given size and callback function.
+func (m *arModel) Chunk(limit int, callback func(entities []*Entity, err error) bool) {
+	m.M.Chunk(limit, func(result gdb.Result, err error) bool {
+		var entities []*Entity
+		err = result.Structs(&entities)
+		if err == sql.ErrNoRows {
+			return false
+		}
+		return callback(entities, err)
+	})
+}

+ 173 - 0
app/service/config/configSvc.go

@@ -0,0 +1,173 @@
+package config
+
+import (
+	"errors"
+	"github.com/gogf/gf/os/glog"
+	"github.com/gogf/gf/util/gconv"
+	"gmanager/app/constants"
+	"gmanager/app/model/config"
+	"gmanager/app/service/log"
+	"gmanager/library"
+	"gmanager/library/base"
+)
+
+// 请求参数
+type Request struct {
+	config.Entity
+	UserId int `form:"userId" json:"userId"`
+}
+
+// 通过id获取实体
+func GetById(id int64) (*config.Entity, error) {
+	if id <= 0 {
+		glog.Error(" get id error")
+		return new(config.Entity), errors.New("参数不合法")
+	}
+
+	return config.Model.FindOne(" id = ?", id)
+}
+
+// 根据条件获取实体
+func GetOne(form *base.BaseForm) (*config.Entity, error) {
+	where := " 1 = 1 "
+	var params []interface{}
+	if form.Params != nil && form.Params["id"] != "" {
+		where += " and id = ? "
+		params = append(params, gconv.Int(form.Params["id"]))
+	}
+
+	return config.Model.FindOne(where, params)
+}
+
+// 删除实体
+func Delete(id int64, userId int) (int64, error) {
+	if id <= 0 {
+		glog.Error("delete id error")
+		return 0, errors.New("参数不合法")
+	}
+
+	// 获取删除对象
+	entity, err := GetById(id)
+	if err != nil {
+		return 0, err
+	}
+	entity.UpdateId = userId
+	entity.UpdateTime = library.GetNow()
+
+	r, err1 := config.Model.Delete(" id = ?", id)
+	if err1 != nil {
+		return 0, err1
+	}
+
+	log.SaveLog(entity, constants.DELETE)
+	return r.RowsAffected()
+}
+
+// 保存实体
+func Save(request *Request) (int64, error) {
+	entity := (*config.Entity)(nil)
+	err := gconv.Struct(request.Entity, &entity)
+	if err != nil {
+		return 0, errors.New("数据错误")
+	}
+
+	entity.UpdateId = request.UserId
+	entity.UpdateTime = library.GetNow()
+
+	// 判断新增还是修改
+	if entity.Id <= 0 {
+		entity.CreateId = request.UserId
+		entity.CreateTime = library.GetNow()
+
+		r, err := config.Model.Insert(entity)
+		if err != nil {
+			return 0, err
+		}
+		// 回写主键
+		lastId, err := r.LastInsertId()
+		if err != nil {
+			return 0, err
+		}
+		entity.Id = gconv.Int(lastId)
+
+		log.SaveLog(entity, constants.INSERT)
+		return r.RowsAffected()
+	} else {
+		r, err := config.Model.OmitEmpty().Where(" id = ?", entity.Id).Update(entity)
+		if err != nil {
+			return 0, err
+		}
+
+		log.SaveLog(entity, constants.UPDATE)
+		return r.RowsAffected()
+	}
+}
+
+// 列表数据查询
+func List(form *base.BaseForm) ([]*config.Entity, error) {
+	where := " 1 = 1 "
+	var params []interface{}
+	if form.Params != nil && form.Params["name"] != "" {
+		where += " and name like ? "
+		params = append(params, "%"+form.Params["name"]+"%")
+	}
+	if form.Params != nil && form.Params["parentId"] != "" {
+		where += " and parent_id = ? "
+		params = append(params, gconv.Int(form.Params["parentId"]))
+	}
+
+	return config.Model.Order(form.OrderBy).FindAll(where, params)
+}
+
+// 分页查询
+func Page(form *base.BaseForm) ([]config.Entity, error) {
+	if form.Page <= 0 || form.Rows <= 0 {
+		glog.Error("page param error", form.Page, form.Rows)
+		return []config.Entity{}, nil
+	}
+
+	where := " 1 = 1 "
+	var params []interface{}
+	if form.Params != nil {
+		if form.Params["name"] != "" {
+			where += " and t.name like ? "
+			params = append(params, "%"+form.Params["name"]+"%")
+		}
+		if form.Params["key"] != "" {
+			where += " and t.key like ? "
+			params = append(params, "%"+form.Params["key"]+"%")
+		}
+		if gconv.Int(form.Params["parentId"]) > 0 {
+			where += " and t.parent_id = ? "
+			params = append(params, gconv.Int(form.Params["parentId"]))
+		}
+	}
+
+	num, err := config.Model.As("t").FindCount(where, params)
+	form.TotalSize = num
+	form.TotalPage = num / form.Rows
+
+	if err != nil {
+		glog.Error("page count error", err)
+		return []config.Entity{}, err
+	}
+
+	// 没有数据直接返回
+	if num == 0 {
+		form.TotalPage = 0
+		form.TotalSize = 0
+		return []config.Entity{}, err
+	}
+
+	var resData []config.Entity
+	dbModel := config.Model.As("t").Fields(config.Model.Columns() + ",su1.real_name as updateName,su2.real_name as createName")
+	dbModel = dbModel.LeftJoin("sys_user su1", " t.update_id = su1.id ")
+	dbModel = dbModel.LeftJoin("sys_user su2", " t.update_id = su2.id ")
+	err = dbModel.Where(where, params).Order(form.OrderBy).Page(form.Page, form.Rows).M.Structs(&resData)
+	if err != nil {
+		glog.Error("page list error", err)
+		return []config.Entity{}, err
+	}
+
+	return resData, nil
+}

+ 164 - 0
app/service/department/departmentSvc.go

@@ -0,0 +1,164 @@
+package department
+
+import (
+	"errors"
+	"github.com/gogf/gf/os/glog"
+	"github.com/gogf/gf/util/gconv"
+	"gmanager/app/constants"
+	"gmanager/app/model/department"
+	"gmanager/app/service/log"
+	"gmanager/library"
+	"gmanager/library/base"
+)
+
+// 请求参数
+type Request struct {
+	department.Entity
+	UserId int `form:"userId" json:"userId"`
+}
+
+// 通过id获取实体
+func GetById(id int64) (*department.Entity, error) {
+	if id <= 0 {
+		glog.Error(" get id error")
+		return new(department.Entity), errors.New("参数不合法")
+	}
+
+	return department.Model.FindOne(" id = ?", id)
+}
+
+// 根据条件获取实体
+func GetOne(form *base.BaseForm) (*department.Entity, error) {
+	where := " 1 = 1 "
+	var params []interface{}
+	if form.Params != nil && form.Params["id"] != "" {
+		where += " and id = ? "
+		params = append(params, gconv.Int(form.Params["id"]))
+	}
+	if form.Params != nil && form.Params["parentId"] != "" {
+		where += " and parent_id = ? "
+		params = append(params, gconv.Int(form.Params["parentId"]))
+	}
+
+	return department.Model.FindOne(where, params)
+}
+
+// 删除实体
+func Delete(id int64, userId int) (int64, error) {
+	if id <= 0 {
+		glog.Error("delete id error")
+		return 0, errors.New("参数不合法")
+	}
+
+	// 获取删除对象
+	entity, err := GetById(id)
+	if err != nil {
+		return 0, err
+	}
+	entity.UpdateId = userId
+	entity.UpdateTime = library.GetNow()
+
+	r, err1 := department.Model.Delete(" id = ?", id)
+	if err1 != nil {
+		return 0, err1
+	}
+
+	log.SaveLog(entity, constants.DELETE)
+	return r.RowsAffected()
+}
+
+// 保存实体
+func Save(request *Request) (int64, error) {
+	entity := (*department.Entity)(nil)
+	err := gconv.Struct(request.Entity, &entity)
+	if err != nil {
+		return 0, errors.New("数据错误")
+	}
+
+	entity.UpdateId = request.UserId
+	entity.UpdateTime = library.GetNow()
+
+	// 判断新增还是修改
+	if entity.Id <= 0 {
+		entity.CreateId = request.UserId
+		entity.CreateTime = library.GetNow()
+
+		r, err := department.Model.Insert(entity)
+		if err != nil {
+			return 0, err
+		}
+		// 回写主键
+		lastId, err := r.LastInsertId()
+		if err != nil {
+			return 0, err
+		}
+		entity.Id = gconv.Int(lastId)
+
+		log.SaveLog(entity, constants.INSERT)
+		return r.RowsAffected()
+	} else {
+		r, err := department.Model.OmitEmpty().Where(" id = ?", entity.Id).Update(entity)
+		if err != nil {
+			return 0, err
+		}
+
+		log.SaveLog(entity, constants.UPDATE)
+		return r.RowsAffected()
+	}
+}
+
+// 列表数据查询
+func List(form *base.BaseForm) ([]*department.Entity, error) {
+	where := " 1 = 1 "
+	var params []interface{}
+	if form.Params != nil && form.Params["name"] != "" {
+		where += " and name like ? "
+		params = append(params, "%"+form.Params["name"]+"%")
+	}
+
+	return department.Model.Order(form.OrderBy).FindAll(where, params)
+}
+
+// 分页查询
+func Page(form *base.BaseForm) ([]department.Entity, error) {
+	if form.Page <= 0 || form.Rows <= 0 {
+		glog.Error("page param error", form.Page, form.Rows)
+		return []department.Entity{}, nil
+	}
+
+	where := " 1 = 1 "
+	var params []interface{}
+	if form.Params != nil && form.Params["name"] != "" {
+		where += " and t.name like ? "
+		params = append(params, "%"+form.Params["name"]+"%")
+	}
+
+	num, err := department.Model.As("t").FindCount(where, params)
+	form.TotalSize = num
+	form.TotalPage = num / form.Rows
+
+	if err != nil {
+		glog.Error("page count error", err)
+		return []department.Entity{}, err
+	}
+
+	// 没有数据直接返回
+	if num == 0 {
+		form.TotalPage = 0
+		form.TotalSize = 0
+		return []department.Entity{}, err
+	}
+
+	var resData []department.Entity
+	dbModel := department.Model.As("t").Fields(department.Model.Columns() + ",sdp.name parentName,su1.real_name as updateName,su2.real_name as createName")
+	dbModel = dbModel.LeftJoin("sys_user su1", " t.update_id = su1.id ")
+	dbModel = dbModel.LeftJoin("sys_user su2", " t.update_id = su2.id ")
+	dbModel = dbModel.LeftJoin("sys_department sdp", " sdp.id = t.parent_id ")
+	err = dbModel.Where(where, params).Order(form.OrderBy).Page(form.Page, form.Rows).M.Structs(&resData)
+	if err != nil {
+		glog.Error("page list error", err)
+		return []department.Entity{}, err
+	}
+
+	return resData, nil
+}

+ 209 - 0
app/service/log/logSvc.go

@@ -0,0 +1,209 @@
+package log
+
+import (
+	"errors"
+	"github.com/gogf/gf/os/glog"
+	"github.com/gogf/gf/util/gconv"
+	"gmanager/app/component/started"
+	"gmanager/app/constants"
+	"gmanager/app/model/log"
+	"gmanager/library"
+	"gmanager/library/base"
+	"reflect"
+)
+
+// 请求参数
+type Request struct {
+	log.Entity
+	UserId int `form:"userId" json:"userId"`
+}
+
+// 通过id获取实体
+func GetById(id int64) (*log.Entity, error) {
+	if id <= 0 {
+		glog.Error(" get id error")
+		return new(log.Entity), errors.New("参数不合法")
+	}
+
+	return log.Model.FindOne(" id = ?", id)
+}
+
+// 根据条件获取实体
+func GetOne(form *base.BaseForm) (*log.Entity, error) {
+	where := " 1 = 1 "
+	var params []interface{}
+	if form.Params != nil && form.Params["id"] != "" {
+		where += " and id = ? "
+		params = append(params, gconv.Int(form.Params["id"]))
+	}
+
+	return log.Model.FindOne(where, params)
+}
+
+// 删除实体
+func Delete(id int64, userId int) (int64, error) {
+	if id <= 0 {
+		glog.Error("delete id error")
+		return 0, errors.New("参数不合法")
+	}
+
+	r, err1 := log.Model.Delete(" id = ?", id)
+	if err1 != nil {
+		return 0, err1
+	}
+
+	return r.RowsAffected()
+}
+
+// 保存实体
+func Save(request *Request) (int64, error) {
+	entity := (*log.Entity)(nil)
+	err := gconv.Struct(request.Entity, &entity)
+	if err != nil {
+		return 0, errors.New("数据错误")
+	}
+
+	entity.UpdateId = request.UserId
+	entity.UpdateTime = library.GetNow()
+
+	// 判断新增还是修改
+	if entity.Id <= 0 {
+		entity.CreateId = request.UserId
+		entity.CreateTime = library.GetNow()
+
+		r, err := log.Model.Insert(entity)
+		if err != nil {
+			return 0, err
+		}
+		// 回写主键
+		lastId, err := r.LastInsertId()
+		if err != nil {
+			return 0, err
+		}
+		entity.Id = gconv.Int(lastId)
+
+		return r.RowsAffected()
+	} else {
+		r, err := log.Model.OmitEmpty().Where(" id = ?", entity.Id).Update(entity)
+		if err != nil {
+			return 0, err
+		}
+
+		return r.RowsAffected()
+	}
+}
+
+// 列表数据查询
+func List(form *base.BaseForm) ([]*log.Entity, error) {
+	where := " 1 = 1 "
+	var params []interface{}
+	if form.Params != nil && form.Params["name"] != "" {
+		where += " and name like ? "
+		params = append(params, "%"+form.Params["name"]+"%")
+	}
+
+	return log.Model.Order(form.OrderBy).FindAll(where, params)
+}
+
+// 分页查询
+func Page(form *base.BaseForm) ([]log.Entity, error) {
+	if form.Page <= 0 || form.Rows <= 0 {
+		glog.Error("page param error", form.Page, form.Rows)
+		return []log.Entity{}, nil
+	}
+
+	where := " 1 = 1 "
+	var params []interface{}
+	if form.Params != nil && form.Params["operObject"] != "" {
+		where += " and oper_object like ? "
+		params = append(params, "%"+form.Params["operObject"]+"%")
+	}
+	if form.Params != nil && form.Params["operTable"] != "" {
+		where += " and oper_table like ? "
+		params = append(params, "%"+form.Params["operTable"]+"%")
+	}
+	if form.Params != nil && gconv.Int(form.Params["logType"]) > 0 {
+		where += " and log_type = ? "
+		params = append(params, gconv.Int(form.Params["logType"]))
+	}
+	if form.Params != nil && gconv.Int(form.Params["operType"]) > 0 {
+		where += " and oper_type = ? "
+		params = append(params, gconv.Int(form.Params["operType"]))
+	}
+
+	num, err := log.Model.As("t").FindCount(where, params)
+	form.TotalSize = num
+	form.TotalPage = num / form.Rows
+
+	if err != nil {
+		glog.Error("page count error", err)
+		return []log.Entity{}, err
+	}
+
+	// 没有数据直接返回
+	if num == 0 {
+		form.TotalPage = 0
+		form.TotalSize = 0
+		return []log.Entity{}, err
+	}
+
+	var resData []log.Entity
+	dbModel := log.Model.As("t").Fields(log.Model.Columns() + ",su1.real_name as updateName,su2.real_name as createName")
+	dbModel = dbModel.LeftJoin("sys_user su1", " t.update_id = su1.id ")
+	dbModel = dbModel.LeftJoin("sys_user su2", " t.update_id = su2.id ")
+	err = dbModel.Where(where, params).Order(form.OrderBy).Page(form.Page, form.Rows).M.Structs(&resData)
+	if err != nil {
+		glog.Error("page list error", err)
+		return []log.Entity{}, err
+	}
+
+	return resData, nil
+}
+
+// 日志保存
+func SaveLog(model interface{}, operType string) (int64, error) {
+	iModel, ok := model.(base.IModel)
+	if !ok {
+		glog.Error("transfer error", model)
+		return 0, errors.New("transfer error")
+	}
+
+	var updateId int
+	var updateTime string
+	baseModel := reflect.ValueOf(model)
+	if kind := baseModel.Kind(); kind == reflect.Ptr {
+		updateId = gconv.Int(baseModel.Elem().FieldByName("UpdateId").Interface())
+		updateTime = baseModel.Elem().FieldByName("UpdateTime").String()
+	} else {
+		updateId = gconv.Int(baseModel.FieldByName("UpdateId").Interface())
+		updateTime = baseModel.FieldByName("UpdateTime").String()
+	}
+
+	logType := constants.TypeEdit
+	// SELECT table_name,table_comment FROM information_schema.TABLES where table_SCHEMA='gmanager'
+	operRemark := ""
+	operObject := started.TableInfo[iModel.TableName()]
+	if operType == constants.LOGIN || operType == constants.LOGOUT {
+		logType = constants.TypeSystem
+	} else {
+		operRemark = gconv.String(model)
+	}
+
+	entity := log.Entity{
+		LogType:    logType,
+		OperType:   operType,
+		OperId:     iModel.PkVal(),
+		OperTable:  iModel.TableName(),
+		OperObject: operObject,
+		OperRemark: operRemark,
+		UpdateId:   updateId,
+		UpdateTime: updateTime,
+		CreateId:   updateId,
+		CreateTime: updateTime,
+	}
+	result, err := log.Insert(entity)
+	if err != nil {
+		return 0, err
+	}
+	return result.RowsAffected()
+}

+ 196 - 0
app/service/menu/menuSvc.go

@@ -0,0 +1,196 @@
+package menu
+
+import (
+	"errors"
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/os/glog"
+	"github.com/gogf/gf/text/gstr"
+	"github.com/gogf/gf/util/gconv"
+	"gmanager/app/constants"
+	"gmanager/app/model/menu"
+	"gmanager/app/service/log"
+	"gmanager/library"
+	"gmanager/library/base"
+)
+
+// 请求参数
+type Request struct {
+	menu.Entity
+	UserId int `form:"userId" json:"userId"`
+}
+
+// 通过id获取实体
+func GetById(id int64) (*menu.Entity, error) {
+	if id <= 0 {
+		glog.Error(" get id error")
+		return new(menu.Entity), errors.New("参数不合法")
+	}
+
+	return menu.Model.FindOne(" id = ?", id)
+}
+
+// 根据条件获取实体
+func GetOne(form *base.BaseForm) (*menu.Entity, error) {
+	where := " 1 = 1 "
+	var params []interface{}
+	if form.Params != nil && form.Params["id"] != "" {
+		where += " and id = ? "
+		params = append(params, gconv.Int(form.Params["id"]))
+	}
+	if form.Params != nil && form.Params["parentId"] != "" {
+		where += " and parent_id = ? "
+		params = append(params, gconv.Int(form.Params["parentId"]))
+	}
+
+	return menu.Model.FindOne(where, params)
+}
+
+// 删除实体
+func Delete(id int64, userId int) (int64, error) {
+	if id <= 0 {
+		glog.Error("delete id error")
+		return 0, errors.New("参数不合法")
+	}
+
+	// 获取删除对象
+	entity, err := GetById(id)
+	if err != nil {
+		return 0, err
+	}
+	entity.UpdateId = userId
+	entity.UpdateTime = library.GetNow()
+
+	r, err1 := menu.Model.Delete(" id = ?", id)
+	if err1 != nil {
+		return 0, err1
+	}
+
+	log.SaveLog(entity, constants.DELETE)
+	return r.RowsAffected()
+}
+
+// 保存实体
+func Save(request *Request) (int64, error) {
+	entity := (*menu.Entity)(nil)
+	err := gconv.Struct(request.Entity, &entity)
+	if err != nil {
+		return 0, errors.New("数据错误")
+	}
+
+	entity.UpdateId = request.UserId
+	entity.UpdateTime = library.GetNow()
+
+	// 根目录级别为1,其他为父节点 + 1
+	parentId := entity.ParentId
+	if parentId == 0 {
+		entity.Level = 1
+	} else {
+		form := base.NewForm(g.Map{"id": parentId})
+		parentModel, err := GetOne(&form)
+		if err != nil {
+			return 0, err
+		}
+		entity.Level = parentModel.Level + 1
+	}
+
+	// 判断新增还是修改
+	if entity.Id <= 0 {
+		entity.CreateId = request.UserId
+		entity.CreateTime = library.GetNow()
+
+		r, err := menu.Model.Insert(entity)
+		if err != nil {
+			return 0, err
+		}
+		// 回写主键
+		lastId, err := r.LastInsertId()
+		if err != nil {
+			return 0, err
+		}
+		entity.Id = gconv.Int(lastId)
+
+		log.SaveLog(entity, constants.INSERT)
+		return r.RowsAffected()
+	} else {
+		r, err := menu.Model.OmitEmpty().Where(" id = ?", entity.Id).Update(entity)
+		if err != nil {
+			return 0, err
+		}
+
+		log.SaveLog(entity, constants.UPDATE)
+		return r.RowsAffected()
+	}
+}
+
+func ListUser(userId int, userType int) ([]*menu.Entity, error) {
+	if userType == constants.UserTypeAdmin {
+		return List(&base.BaseForm{})
+	}
+
+	return menu.Model.As("t").Fields(menu.Model.Columns()).LeftJoin(
+		"sys_role_menu rm", "rm.menu_id = t.id ").LeftJoin(
+		"sys_user_role ur", "ur.role_id = rm.role_id ").Where(
+		"ur.user_id = ? ", userId).FindAll()
+}
+
+// 列表数据查询
+func List(form *base.BaseForm) ([]*menu.Entity, error) {
+	where := " 1 = 1 "
+	var params []interface{}
+	if form.Params != nil && form.Params["name"] != "" {
+		where += " and name like ? "
+		params = append(params, "%"+form.Params["name"]+"%")
+	}
+	if form.Params != nil && form.Params["level"] != "" {
+		where += " and level in (?) "
+		params = append(params, gstr.Split(form.Params["level"], ","))
+	}
+	if gstr.Trim(form.OrderBy) == "" {
+		form.OrderBy = " sort,id desc"
+	}
+
+	return menu.Model.Order(form.OrderBy).FindAll(where, params)
+}
+
+// 分页查询
+func Page(form *base.BaseForm) ([]menu.Entity, error) {
+	if form.Page <= 0 || form.Rows <= 0 {
+		glog.Error("page param error", form.Page, form.Rows)
+		return []menu.Entity{}, nil
+	}
+
+	where := " 1 = 1 "
+	var params []interface{}
+	if form.Params != nil && form.Params["name"] != "" {
+		where += " and name like ? "
+		params = append(params, "%"+form.Params["name"]+"%")
+	}
+
+	num, err := menu.Model.As("t").FindCount(where, params)
+	form.TotalSize = num
+	form.TotalPage = num / form.Rows
+
+	if err != nil {
+		glog.Error("page count error", err)
+		return []menu.Entity{}, err
+	}
+
+	// 没有数据直接返回
+	if num == 0 {
+		form.TotalPage = 0
+		form.TotalSize = 0
+		return []menu.Entity{}, err
+	}
+
+	var resData []menu.Entity
+	dbModel := menu.Model.As("t").Fields(menu.Model.Columns() + ",su1.real_name as updateName,su2.real_name as createName")
+	dbModel = dbModel.LeftJoin("sys_user su1", " t.update_id = su1.id ")
+	dbModel = dbModel.LeftJoin("sys_user su2", " t.update_id = su2.id ")
+	err = dbModel.Where(where, params).Order(form.OrderBy).Page(form.Page, form.Rows).M.Structs(&resData)
+	if err != nil {
+		glog.Error("page list error", err)
+		return []menu.Entity{}, err
+	}
+
+	return resData, nil
+}

+ 193 - 0
app/service/role/roleSvc.go

@@ -0,0 +1,193 @@
+package role
+
+import (
+	"errors"
+	"github.com/gogf/gf/os/glog"
+	"github.com/gogf/gf/text/gstr"
+	"github.com/gogf/gf/util/gconv"
+	"gmanager/app/constants"
+	"gmanager/app/model/role"
+	"gmanager/app/model/role_menu"
+	"gmanager/app/service/log"
+	"gmanager/library"
+	"gmanager/library/base"
+)
+
+// 请求参数
+type Request struct {
+	role.Entity
+	UserId int `form:"userId" json:"userId"`
+}
+
+// 通过id获取实体
+func GetById(id int64) (*role.Entity, error) {
+	if id <= 0 {
+		glog.Error(" get id error")
+		return new(role.Entity), errors.New("参数不合法")
+	}
+
+	return role.Model.FindOne(" id = ?", id)
+}
+
+// 根据条件获取实体
+func GetOne(form *base.BaseForm) (*role.Entity, error) {
+	where := " 1 = 1 "
+	var params []interface{}
+	if form.Params != nil && form.Params["id"] != "" {
+		where += " and id = ? "
+		params = append(params, gconv.Int(form.Params["id"]))
+	}
+
+	return role.Model.FindOne(where, params)
+}
+
+// 删除实体
+func Delete(id int64, userId int) (int64, error) {
+	if id <= 0 {
+		glog.Error("delete id error")
+		return 0, errors.New("参数不合法")
+	}
+
+	// 获取删除对象
+	entity, err := GetById(id)
+	if err != nil {
+		return 0, err
+	}
+	entity.UpdateId = userId
+	entity.UpdateTime = library.GetNow()
+
+	r, err1 := role.Model.Delete(" id = ?", id)
+	if err1 != nil {
+		return 0, err1
+	}
+
+	log.SaveLog(entity, constants.DELETE)
+	return r.RowsAffected()
+}
+
+// 保存实体
+func Save(request *Request) (int64, error) {
+	entity := (*role.Entity)(nil)
+	err := gconv.Struct(request.Entity, &entity)
+	if err != nil {
+		return 0, errors.New("数据错误")
+	}
+
+	entity.UpdateId = request.UserId
+	entity.UpdateTime = library.GetNow()
+
+	// 判断新增还是修改
+	if entity.Id <= 0 {
+		entity.CreateId = request.UserId
+		entity.CreateTime = library.GetNow()
+
+		r, err := role.Model.Insert(entity)
+		if err != nil {
+			return 0, err
+		}
+		// 回写主键
+		lastId, err := r.LastInsertId()
+		if err != nil {
+			return 0, err
+		}
+		entity.Id = gconv.Int(lastId)
+		request.Id = gconv.Int(lastId)
+
+		log.SaveLog(entity, constants.INSERT)
+		return r.RowsAffected()
+	} else {
+		r, err := role.Model.OmitEmpty().Where(" id = ?", entity.Id).Update(entity)
+		if err != nil {
+			return 0, err
+		}
+
+		log.SaveLog(entity, constants.UPDATE)
+		return r.RowsAffected()
+	}
+}
+
+// 列表数据查询
+func List(form *base.BaseForm) ([]*role.Entity, error) {
+	where := " 1 = 1 "
+	var params []interface{}
+	if form.Params != nil && form.Params["name"] != "" {
+		where += " and name like ? "
+		params = append(params, "%"+form.Params["name"]+"%")
+	}
+
+	return role.Model.Order(form.OrderBy).FindAll(where, params)
+}
+
+// 角色菜单列表数据查询
+func ListRoleMenu(form *base.BaseForm) ([]*role_menu.Entity, error) {
+	where := " 1 = 1 "
+	var params []interface{}
+	if form.Params != nil && gconv.Int(form.Params["roleId"]) > 0 {
+		where += " and role_id = ? "
+		params = append(params, gconv.Int(form.Params["roleId"]))
+	}
+
+	return role_menu.Model.Order(form.OrderBy).FindAll(where, params)
+}
+
+// 分页查询
+func Page(form *base.BaseForm) ([]*role.Entity, error) {
+	if form.Page <= 0 || form.Rows <= 0 {
+		glog.Error("page param error", form.Page, form.Rows)
+		return []*role.Entity{}, nil
+	}
+
+	where := " 1 = 1 "
+	var params []interface{}
+	if form.Params != nil && form.Params["name"] != "" {
+		where += " and name like ? "
+		params = append(params, "%"+form.Params["name"]+"%")
+	}
+
+	num, err := role.Model.As("t").FindCount(where, params)
+	form.TotalSize = num
+	form.TotalPage = num / form.Rows
+
+	if err != nil {
+		glog.Error("page count error", err)
+		return []*role.Entity{}, err
+	}
+
+	// 没有数据直接返回
+	if num == 0 {
+		form.TotalPage = 0
+		form.TotalSize = 0
+		return []*role.Entity{}, err
+	}
+
+	dbModel := role.Model.As("t").Fields(role.Model.Columns() + ",su1.real_name as updateName,su2.real_name as createName")
+	dbModel = dbModel.LeftJoin("sys_user su1", " t.update_id = su1.id ")
+	dbModel = dbModel.LeftJoin("sys_user su2", " t.update_id = su2.id ")
+	return dbModel.Where(where, params).Order(form.OrderBy).Page(form.Page, form.Rows).FindAll(where, params)
+}
+
+// 保存角色和菜单
+func SaveRoleMenu(roleId int, menuIds string) error {
+	if roleId <= 0 {
+		return errors.New("参数错误")
+	}
+
+	_, err := role_menu.Model.Delete(" role_id = ?", roleId)
+	if err != nil {
+		return err
+	}
+
+	if menuIds == "" {
+		return nil
+	}
+	menuIdArray := gstr.Split(menuIds, ",")
+	for _, menuId := range menuIdArray {
+		roleMenu := role_menu.Entity{RoleId: roleId, MenuId: gconv.Int(menuId)}
+		_, err := roleMenu.Insert()
+		if err != nil {
+			return err
+		}
+	}
+
+	return nil
+}

+ 225 - 0
app/service/user/userSvc.go

@@ -0,0 +1,225 @@
+package user
+
+import (
+	"errors"
+	"github.com/gogf/gf/os/glog"
+	"github.com/gogf/gf/text/gstr"
+	"github.com/gogf/gf/util/gconv"
+	"gmanager/app/constants"
+	"gmanager/app/model/user"
+	"gmanager/app/model/user_role"
+	"gmanager/app/service/log"
+	"gmanager/library"
+	"gmanager/library/base"
+)
+
+// 请求参数
+type Request struct {
+	user.Entity
+	UserId int `form:"userId" json:"userId"`
+}
+
+// 通过id获取实体
+func GetById(id int64) (*user.Entity, error) {
+	if id <= 0 {
+		glog.Error(" get id error")
+		return new(user.Entity), errors.New("参数不合法")
+	}
+
+	return user.Model.FindOne(" id = ?", id)
+}
+
+// 根据条件获取实体
+func GetOne(form *base.BaseForm) (*user.Entity, error) {
+	where := " 1 = 1 "
+	var params []interface{}
+	if form.Params != nil && form.Params["id"] != "" {
+		where += " and id = ? "
+		params = append(params, gconv.Int(form.Params["id"]))
+	}
+
+	return user.Model.FindOne(where, params)
+}
+
+// 根据用户名获取实体
+func GetByUsername(username string) (*user.Entity, error) {
+	if username == "" {
+		glog.Error(" getByUsername username error")
+		return new(user.Entity), nil
+	}
+
+	return user.Model.FindOne("username = ?", username)
+}
+
+// 删除实体
+func Delete(id int64, userId int) (int64, error) {
+	if id <= 0 {
+		glog.Error("delete id error")
+		return 0, errors.New("参数不合法")
+	}
+
+	// 获取删除对象
+	entity, err := GetById(id)
+	if err != nil {
+		return 0, err
+	}
+	entity.UpdateId = userId
+	entity.UpdateTime = library.GetNow()
+
+	r, err1 := user.Model.Delete(" id = ?", id)
+	if err1 != nil {
+		return 0, err1
+	}
+
+	log.SaveLog(entity, constants.DELETE)
+	return r.RowsAffected()
+}
+
+// 保存实体
+func Save(request *Request) (int64, error) {
+	entity := (*user.Entity)(nil)
+	err := gconv.Struct(request.Entity, &entity)
+	if err != nil {
+		return 0, errors.New("数据错误")
+	}
+
+	entity.UpdateId = request.UserId
+	entity.UpdateTime = library.GetNow()
+
+	// 判断新增还是修改
+	if entity.Id <= 0 {
+		entity.CreateId = request.UserId
+		entity.CreateTime = library.GetNow()
+
+		r, err := user.Model.Insert(entity)
+		if err != nil {
+			return 0, err
+		}
+		// 回写主键
+		lastId, err := r.LastInsertId()
+		if err != nil {
+			return 0, err
+		}
+		entity.Id = gconv.Int(lastId)
+
+		log.SaveLog(entity, constants.INSERT)
+		return r.RowsAffected()
+	} else {
+		r, err := user.Model.OmitEmpty().Where(" id = ?", entity.Id).Update(entity)
+		if err != nil {
+			return 0, err
+		}
+
+		log.SaveLog(entity, constants.UPDATE)
+		return r.RowsAffected()
+	}
+}
+
+// 列表数据查询
+func List(form *base.BaseForm) ([]*user.Entity, error) {
+	where := " 1 = 1 "
+	var params []interface{}
+	if form.Params != nil && form.Params["name"] != "" {
+		where += " and name like ? "
+		params = append(params, "%"+form.Params["name"]+"%")
+	}
+
+	return user.Model.Order(form.OrderBy).FindAll(where, params)
+}
+
+// 用户角色列表数据查询
+func ListUserRole(form *base.BaseForm) ([]*user_role.Entity, error) {
+	where := " 1 = 1 "
+	var params []interface{}
+	if form.Params != nil && gconv.Int(form.Params["userId"]) > 0 {
+		where += " and user_id = ? "
+		params = append(params, gconv.Int(form.Params["userId"]))
+	}
+
+	return user_role.Model.Order(form.OrderBy).FindAll(where, params)
+}
+
+// 分页查询
+func Page(form *base.BaseForm) ([]user.Entity, error) {
+	if form.Page <= 0 || form.Rows <= 0 {
+		glog.Error("page param error", form.Page, form.Rows)
+		return []user.Entity{}, nil
+	}
+
+	where := " 1 = 1 "
+	var params []interface{}
+	if form.Params != nil {
+		if form.Params["username"] != "" {
+			where += " and t.username like ? "
+			params = append(params, "%"+form.Params["username"]+"%")
+		}
+		if form.Params["realName"] != "" {
+			where += " and t.real_name like ? "
+			params = append(params, "%"+form.Params["realName"]+"%")
+		}
+		if gconv.Int(form.Params["userType"]) > 0 {
+			where += " and t.user_type = ? "
+			params = append(params, gconv.Int(form.Params["userType"]))
+		}
+		if gconv.Int(form.Params["departId"]) > 0 {
+			where += " and t.depart_id = ? "
+			params = append(params, gconv.Int(form.Params["departId"]))
+		}
+	}
+
+	num, err := user.Model.As("t").FindCount(where, params)
+	form.TotalSize = num
+	form.TotalPage = num / form.Rows
+
+	if err != nil {
+		glog.Error("page count error", err)
+		return []user.Entity{}, err
+	}
+
+	// 没有数据直接返回
+	if num == 0 {
+		form.TotalPage = 0
+		form.TotalSize = 0
+		return []user.Entity{}, err
+	}
+
+	var resData []user.Entity
+	dbModel := user.Model.As("t").Fields(user.Model.Columns() +
+		",depart.name as departName,su1.real_name as updateName,su2.real_name as createName")
+	dbModel = dbModel.LeftJoin("sys_department depart", "t.depart_id = depart.id ")
+	dbModel = dbModel.LeftJoin("sys_user su1", " t.update_id = su1.id ")
+	dbModel = dbModel.LeftJoin("sys_user su2", " t.update_id = su2.id ")
+	err = dbModel.Where(where, params).Order(form.OrderBy).Page(form.Page, form.Rows).M.Structs(&resData)
+	if err != nil {
+		glog.Error("page list error", err)
+		return []user.Entity{}, err
+	}
+
+	return resData, nil
+}
+
+// 保存用户和角色
+func SaveUserRole(userId int, roleIds string) error {
+	if userId <= 0 {
+		return errors.New("参数错误")
+	}
+
+	_, err := user_role.Model.Delete(" user_id = ?", userId)
+	if err != nil {
+		return err
+	}
+
+	if roleIds == "" {
+		return nil
+	}
+	roleIdArray := gstr.Split(roleIds, ",")
+	for _, roleId := range roleIdArray {
+		userRole := user_role.Entity{UserId: userId, RoleId: gconv.Int(roleId)}
+		_, err := userRole.Insert()
+		if err != nil {
+			return err
+		}
+	}
+
+	return nil
+}

+ 25 - 0
boot/boot.go

@@ -0,0 +1,25 @@
+package boot
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/os/glog"
+)
+
+// 用于配置初始化.
+func init() {
+	glog.Info("########service start...")
+
+	v := g.View()
+	c := g.Config()
+	s := g.Server()
+
+	// 配置对象及视图对象配置
+	c.AddPath("config")
+
+	v.AddPath("template")
+	glog.SetStdoutPrint(true)
+	s.SetNameToUriType(ghttp.URI_TYPE_ALLLOWER)
+
+	glog.Info("########service finish.")
+}

+ 4 - 0
build.bat

@@ -0,0 +1,4 @@
+go build
+set GOARCH=amd64
+set GOOS=linux
+go build

+ 18 - 0
common/constants.go

@@ -0,0 +1,18 @@
+// Autogenerated by Thrift Compiler (0.9.2)
+// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+
+package common
+
+import (
+	"bytes"
+	"fmt"
+	"gmanager/library/thrift"
+)
+
+// (needed to ensure safety because of naive import list construction.)
+var _ = thrift.ZERO
+var _ = fmt.Printf
+var _ = bytes.Equal
+
+func init() {
+}

+ 486 - 0
common/rpcrequestgmiface.go

@@ -0,0 +1,486 @@
+// Autogenerated by Thrift Compiler (0.9.2)
+// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+
+package common
+
+import (
+	"bytes"
+	"fmt"
+	"gmanager/library/thrift"
+)
+
+// (needed to ensure safety because of naive import list construction.)
+var _ = thrift.ZERO
+var _ = fmt.Printf
+var _ = bytes.Equal
+
+type RPCRequestGMIFace interface {
+	// Parameters:
+	//  - Reserved
+	//  - Cmd
+	IdipGm(reserved string, cmd string) (r *Result_, err error)
+}
+
+type RPCRequestGMIFaceClient struct {
+	Transport       thrift.TTransport
+	ProtocolFactory thrift.TProtocolFactory
+	InputProtocol   thrift.TProtocol
+	OutputProtocol  thrift.TProtocol
+	SeqId           int32
+}
+
+func NewRPCRequestGMIFaceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *RPCRequestGMIFaceClient {
+	return &RPCRequestGMIFaceClient{Transport: t,
+		ProtocolFactory: f,
+		InputProtocol:   f.GetProtocol(t),
+		OutputProtocol:  f.GetProtocol(t),
+		SeqId:           0,
+	}
+}
+
+func NewRPCRequestGMIFaceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *RPCRequestGMIFaceClient {
+	return &RPCRequestGMIFaceClient{Transport: t,
+		ProtocolFactory: nil,
+		InputProtocol:   iprot,
+		OutputProtocol:  oprot,
+		SeqId:           0,
+	}
+}
+
+// Parameters:
+//  - Reserved
+//  - Cmd
+func (p *RPCRequestGMIFaceClient) IdipGm(reserved string, cmd string) (r *Result_, err error) {
+	if err = p.sendIdipGm(reserved, cmd); err != nil {
+		return
+	}
+	return p.recvIdipGm()
+}
+
+func (p *RPCRequestGMIFaceClient) sendIdipGm(reserved string, cmd string) (err error) {
+	oprot := p.OutputProtocol
+	if oprot == nil {
+		oprot = p.ProtocolFactory.GetProtocol(p.Transport)
+		p.OutputProtocol = oprot
+	}
+	p.SeqId++
+	if err = oprot.WriteMessageBegin("idipGm", thrift.CALL, p.SeqId); err != nil {
+		return
+	}
+	args := IdipGmArgs{
+		Reserved: reserved,
+		Cmd:      cmd,
+	}
+	if err = args.Write(oprot); err != nil {
+		return
+	}
+	if err = oprot.WriteMessageEnd(); err != nil {
+		return
+	}
+	return oprot.Flush()
+}
+
+func (p *RPCRequestGMIFaceClient) recvIdipGm() (value *Result_, err error) {
+	iprot := p.InputProtocol
+	if iprot == nil {
+		iprot = p.ProtocolFactory.GetProtocol(p.Transport)
+		p.InputProtocol = iprot
+	}
+	_, mTypeId, seqId, err := iprot.ReadMessageBegin()
+	if err != nil {
+		return
+	}
+	if mTypeId == thrift.EXCEPTION {
+		error0 := thrift.NewTApplicationException(thrift.UNKNOWN_APPLICATION_EXCEPTION, "Unknown Exception")
+		var error1 error
+		error1, err = error0.Read(iprot)
+		if err != nil {
+			return
+		}
+		if err = iprot.ReadMessageEnd(); err != nil {
+			return
+		}
+		err = error1
+		return
+	}
+	if p.SeqId != seqId {
+		err = thrift.NewTApplicationException(thrift.BAD_SEQUENCE_ID, "idipGm failed: out of sequence response")
+		return
+	}
+	result := IdipGmResult{}
+	if err = result.Read(iprot); err != nil {
+		return
+	}
+	if err = iprot.ReadMessageEnd(); err != nil {
+		return
+	}
+	if result.Ouch != nil {
+		err = result.Ouch
+		return
+	}
+	value = result.GetSuccess()
+	return
+}
+
+type RPCRequestGMIFaceProcessor struct {
+	processorMap map[string]thrift.TProcessorFunction
+	handler      RPCRequestGMIFace
+}
+
+func (p *RPCRequestGMIFaceProcessor) AddToProcessorMap(key string, processor thrift.TProcessorFunction) {
+	p.processorMap[key] = processor
+}
+
+func (p *RPCRequestGMIFaceProcessor) GetProcessorFunction(key string) (processor thrift.TProcessorFunction, ok bool) {
+	processor, ok = p.processorMap[key]
+	return processor, ok
+}
+
+func (p *RPCRequestGMIFaceProcessor) ProcessorMap() map[string]thrift.TProcessorFunction {
+	return p.processorMap
+}
+
+func NewRPCRequestGMIFaceProcessor(handler RPCRequestGMIFace) *RPCRequestGMIFaceProcessor {
+
+	self2 := &RPCRequestGMIFaceProcessor{handler: handler, processorMap: make(map[string]thrift.TProcessorFunction)}
+	self2.processorMap["idipGm"] = &rPCRequestGMIFaceProcessorIdipGm{handler: handler}
+	return self2
+}
+
+func (p *RPCRequestGMIFaceProcessor) Process(iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
+	name, _, seqId, err := iprot.ReadMessageBegin()
+	if err != nil {
+		return false, err
+	}
+	if processor, ok := p.GetProcessorFunction(name); ok {
+		return processor.Process(seqId, iprot, oprot)
+	}
+	iprot.Skip(thrift.STRUCT)
+	iprot.ReadMessageEnd()
+	x3 := thrift.NewTApplicationException(thrift.UNKNOWN_METHOD, "Unknown function "+name)
+	oprot.WriteMessageBegin(name, thrift.EXCEPTION, seqId)
+	x3.Write(oprot)
+	oprot.WriteMessageEnd()
+	oprot.Flush()
+	return false, x3
+
+}
+
+type rPCRequestGMIFaceProcessorIdipGm struct {
+	handler RPCRequestGMIFace
+}
+
+func (p *rPCRequestGMIFaceProcessorIdipGm) Process(seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
+	args := IdipGmArgs{}
+	if err = args.Read(iprot); err != nil {
+		iprot.ReadMessageEnd()
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
+		oprot.WriteMessageBegin("idipGm", thrift.EXCEPTION, seqId)
+		x.Write(oprot)
+		oprot.WriteMessageEnd()
+		oprot.Flush()
+		return false, err
+	}
+
+	iprot.ReadMessageEnd()
+	result := IdipGmResult{}
+	var retval *Result_
+	var err2 error
+	if retval, err2 = p.handler.IdipGm(args.Reserved, args.Cmd); err2 != nil {
+		switch v := err2.(type) {
+		case *InvalidOperException:
+			result.Ouch = v
+		default:
+			x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing idipGm: "+err2.Error())
+			oprot.WriteMessageBegin("idipGm", thrift.EXCEPTION, seqId)
+			x.Write(oprot)
+			oprot.WriteMessageEnd()
+			oprot.Flush()
+			return true, err2
+		}
+	} else {
+		result.Success = retval
+	}
+	if err2 = oprot.WriteMessageBegin("idipGm", thrift.REPLY, seqId); err2 != nil {
+		err = err2
+	}
+	if err2 = result.Write(oprot); err == nil && err2 != nil {
+		err = err2
+	}
+	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
+		err = err2
+	}
+	if err2 = oprot.Flush(); err == nil && err2 != nil {
+		err = err2
+	}
+	if err != nil {
+		return
+	}
+	return true, err
+}
+
+// HELPER FUNCTIONS AND STRUCTURES
+
+type IdipGmArgs struct {
+	Reserved string `thrift:"reserved,1" json:"reserved"`
+	Cmd      string `thrift:"cmd,2" json:"cmd"`
+}
+
+func NewIdipGmArgs() *IdipGmArgs {
+	return &IdipGmArgs{}
+}
+
+func (p *IdipGmArgs) GetReserved() string {
+	return p.Reserved
+}
+
+func (p *IdipGmArgs) GetCmd() string {
+	return p.Cmd
+}
+func (p *IdipGmArgs) Read(iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(); err != nil {
+		return fmt.Errorf("%T read error: %s", p, err)
+	}
+	for {
+		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		if err != nil {
+			return fmt.Errorf("%T field %d read error: %s", p, fieldId, err)
+		}
+		if fieldTypeId == thrift.STOP {
+			break
+		}
+		switch fieldId {
+		case 1:
+			if err := p.ReadField1(iprot); err != nil {
+				return err
+			}
+		case 2:
+			if err := p.ReadField2(iprot); err != nil {
+				return err
+			}
+		default:
+			if err := iprot.Skip(fieldTypeId); err != nil {
+				return err
+			}
+		}
+		if err := iprot.ReadFieldEnd(); err != nil {
+			return err
+		}
+	}
+	if err := iprot.ReadStructEnd(); err != nil {
+		return fmt.Errorf("%T read struct end error: %s", p, err)
+	}
+	return nil
+}
+
+func (p *IdipGmArgs) ReadField1(iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadString(); err != nil {
+		return fmt.Errorf("error reading field 1: %s", err)
+	} else {
+		p.Reserved = v
+	}
+	return nil
+}
+
+func (p *IdipGmArgs) ReadField2(iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadString(); err != nil {
+		return fmt.Errorf("error reading field 2: %s", err)
+	} else {
+		p.Cmd = v
+	}
+	return nil
+}
+
+func (p *IdipGmArgs) Write(oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin("idipGm_args"); err != nil {
+		return fmt.Errorf("%T write struct begin error: %s", p, err)
+	}
+	if err := p.writeField1(oprot); err != nil {
+		return err
+	}
+	if err := p.writeField2(oprot); err != nil {
+		return err
+	}
+	if err := oprot.WriteFieldStop(); err != nil {
+		return fmt.Errorf("write field stop error: %s", err)
+	}
+	if err := oprot.WriteStructEnd(); err != nil {
+		return fmt.Errorf("write struct stop error: %s", err)
+	}
+	return nil
+}
+
+func (p *IdipGmArgs) writeField1(oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin("reserved", thrift.STRING, 1); err != nil {
+		return fmt.Errorf("%T write field begin error 1:reserved: %s", p, err)
+	}
+	if err := oprot.WriteString(string(p.Reserved)); err != nil {
+		return fmt.Errorf("%T.reserved (1) field write error: %s", p, err)
+	}
+	if err := oprot.WriteFieldEnd(); err != nil {
+		return fmt.Errorf("%T write field end error 1:reserved: %s", p, err)
+	}
+	return err
+}
+
+func (p *IdipGmArgs) writeField2(oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin("cmd", thrift.STRING, 2); err != nil {
+		return fmt.Errorf("%T write field begin error 2:cmd: %s", p, err)
+	}
+	if err := oprot.WriteString(string(p.Cmd)); err != nil {
+		return fmt.Errorf("%T.cmd (2) field write error: %s", p, err)
+	}
+	if err := oprot.WriteFieldEnd(); err != nil {
+		return fmt.Errorf("%T write field end error 2:cmd: %s", p, err)
+	}
+	return err
+}
+
+func (p *IdipGmArgs) String() string {
+	if p == nil {
+		return "<nil>"
+	}
+	return fmt.Sprintf("IdipGmArgs(%+v)", *p)
+}
+
+type IdipGmResult struct {
+	Success *Result_              `thrift:"success,0" json:"success"`
+	Ouch    *InvalidOperException `thrift:"ouch,1" json:"ouch"`
+}
+
+func NewIdipGmResult() *IdipGmResult {
+	return &IdipGmResult{}
+}
+
+var IdipGmResult_Success_DEFAULT *Result_
+
+func (p *IdipGmResult) GetSuccess() *Result_ {
+	if !p.IsSetSuccess() {
+		return IdipGmResult_Success_DEFAULT
+	}
+	return p.Success
+}
+
+var IdipGmResult_Ouch_DEFAULT *InvalidOperException
+
+func (p *IdipGmResult) GetOuch() *InvalidOperException {
+	if !p.IsSetOuch() {
+		return IdipGmResult_Ouch_DEFAULT
+	}
+	return p.Ouch
+}
+func (p *IdipGmResult) IsSetSuccess() bool {
+	return p.Success != nil
+}
+
+func (p *IdipGmResult) IsSetOuch() bool {
+	return p.Ouch != nil
+}
+
+func (p *IdipGmResult) Read(iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(); err != nil {
+		return fmt.Errorf("%T read error: %s", p, err)
+	}
+	for {
+		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		if err != nil {
+			return fmt.Errorf("%T field %d read error: %s", p, fieldId, err)
+		}
+		if fieldTypeId == thrift.STOP {
+			break
+		}
+		switch fieldId {
+		case 0:
+			if err := p.ReadField0(iprot); err != nil {
+				return err
+			}
+		case 1:
+			if err := p.ReadField1(iprot); err != nil {
+				return err
+			}
+		default:
+			if err := iprot.Skip(fieldTypeId); err != nil {
+				return err
+			}
+		}
+		if err := iprot.ReadFieldEnd(); err != nil {
+			return err
+		}
+	}
+	if err := iprot.ReadStructEnd(); err != nil {
+		return fmt.Errorf("%T read struct end error: %s", p, err)
+	}
+	return nil
+}
+
+func (p *IdipGmResult) ReadField0(iprot thrift.TProtocol) error {
+	p.Success = &Result_{}
+	if err := p.Success.Read(iprot); err != nil {
+		return fmt.Errorf("%T error reading struct: %s", p.Success, err)
+	}
+	return nil
+}
+
+func (p *IdipGmResult) ReadField1(iprot thrift.TProtocol) error {
+	p.Ouch = &InvalidOperException{}
+	if err := p.Ouch.Read(iprot); err != nil {
+		return fmt.Errorf("%T error reading struct: %s", p.Ouch, err)
+	}
+	return nil
+}
+
+func (p *IdipGmResult) Write(oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin("idipGm_result"); err != nil {
+		return fmt.Errorf("%T write struct begin error: %s", p, err)
+	}
+	if err := p.writeField0(oprot); err != nil {
+		return err
+	}
+	if err := p.writeField1(oprot); err != nil {
+		return err
+	}
+	if err := oprot.WriteFieldStop(); err != nil {
+		return fmt.Errorf("write field stop error: %s", err)
+	}
+	if err := oprot.WriteStructEnd(); err != nil {
+		return fmt.Errorf("write struct stop error: %s", err)
+	}
+	return nil
+}
+
+func (p *IdipGmResult) writeField0(oprot thrift.TProtocol) (err error) {
+	if p.IsSetSuccess() {
+		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
+			return fmt.Errorf("%T write field begin error 0:success: %s", p, err)
+		}
+		if err := p.Success.Write(oprot); err != nil {
+			return fmt.Errorf("%T error writing struct: %s", p.Success, err)
+		}
+		if err := oprot.WriteFieldEnd(); err != nil {
+			return fmt.Errorf("%T write field end error 0:success: %s", p, err)
+		}
+	}
+	return err
+}
+
+func (p *IdipGmResult) writeField1(oprot thrift.TProtocol) (err error) {
+	if p.IsSetOuch() {
+		if err := oprot.WriteFieldBegin("ouch", thrift.STRUCT, 1); err != nil {
+			return fmt.Errorf("%T write field begin error 1:ouch: %s", p, err)
+		}
+		if err := p.Ouch.Write(oprot); err != nil {
+			return fmt.Errorf("%T error writing struct: %s", p.Ouch, err)
+		}
+		if err := oprot.WriteFieldEnd(); err != nil {
+			return fmt.Errorf("%T write field end error 1:ouch: %s", p, err)
+		}
+	}
+	return err
+}
+
+func (p *IdipGmResult) String() string {
+	if p == nil {
+		return "<nil>"
+	}
+	return fmt.Sprintf("IdipGmResult(%+v)", *p)
+}

+ 287 - 0
common/ttypes.go

@@ -0,0 +1,287 @@
+// Autogenerated by Thrift Compiler (0.9.2)
+// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+
+package common
+
+import (
+	"bytes"
+	"fmt"
+	"gmanager/library/thrift"
+)
+
+// (needed to ensure safety because of naive import list construction.)
+var _ = thrift.ZERO
+var _ = fmt.Printf
+var _ = bytes.Equal
+
+var GoUnusedProtection__ int
+
+type InvalidOperException struct {
+	ErrorCode    int32  `thrift:"errorCode,1" json:"errorCode"`
+	ErrorMessage string `thrift:"errorMessage,2" json:"errorMessage"`
+}
+
+func NewInvalidOperException() *InvalidOperException {
+	return &InvalidOperException{}
+}
+
+func (p *InvalidOperException) GetErrorCode() int32 {
+	return p.ErrorCode
+}
+
+func (p *InvalidOperException) GetErrorMessage() string {
+	return p.ErrorMessage
+}
+func (p *InvalidOperException) Read(iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(); err != nil {
+		return fmt.Errorf("%T read error: %s", p, err)
+	}
+	for {
+		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		if err != nil {
+			return fmt.Errorf("%T field %d read error: %s", p, fieldId, err)
+		}
+		if fieldTypeId == thrift.STOP {
+			break
+		}
+		switch fieldId {
+		case 1:
+			if err := p.ReadField1(iprot); err != nil {
+				return err
+			}
+		case 2:
+			if err := p.ReadField2(iprot); err != nil {
+				return err
+			}
+		default:
+			if err := iprot.Skip(fieldTypeId); err != nil {
+				return err
+			}
+		}
+		if err := iprot.ReadFieldEnd(); err != nil {
+			return err
+		}
+	}
+	if err := iprot.ReadStructEnd(); err != nil {
+		return fmt.Errorf("%T read struct end error: %s", p, err)
+	}
+	return nil
+}
+
+func (p *InvalidOperException) ReadField1(iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadI32(); err != nil {
+		return fmt.Errorf("error reading field 1: %s", err)
+	} else {
+		p.ErrorCode = v
+	}
+	return nil
+}
+
+func (p *InvalidOperException) ReadField2(iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadString(); err != nil {
+		return fmt.Errorf("error reading field 2: %s", err)
+	} else {
+		p.ErrorMessage = v
+	}
+	return nil
+}
+
+func (p *InvalidOperException) Write(oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin("InvalidOperException"); err != nil {
+		return fmt.Errorf("%T write struct begin error: %s", p, err)
+	}
+	if err := p.writeField1(oprot); err != nil {
+		return err
+	}
+	if err := p.writeField2(oprot); err != nil {
+		return err
+	}
+	if err := oprot.WriteFieldStop(); err != nil {
+		return fmt.Errorf("write field stop error: %s", err)
+	}
+	if err := oprot.WriteStructEnd(); err != nil {
+		return fmt.Errorf("write struct stop error: %s", err)
+	}
+	return nil
+}
+
+func (p *InvalidOperException) writeField1(oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin("errorCode", thrift.I32, 1); err != nil {
+		return fmt.Errorf("%T write field begin error 1:errorCode: %s", p, err)
+	}
+	if err := oprot.WriteI32(int32(p.ErrorCode)); err != nil {
+		return fmt.Errorf("%T.errorCode (1) field write error: %s", p, err)
+	}
+	if err := oprot.WriteFieldEnd(); err != nil {
+		return fmt.Errorf("%T write field end error 1:errorCode: %s", p, err)
+	}
+	return err
+}
+
+func (p *InvalidOperException) writeField2(oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin("errorMessage", thrift.STRING, 2); err != nil {
+		return fmt.Errorf("%T write field begin error 2:errorMessage: %s", p, err)
+	}
+	if err := oprot.WriteString(string(p.ErrorMessage)); err != nil {
+		return fmt.Errorf("%T.errorMessage (2) field write error: %s", p, err)
+	}
+	if err := oprot.WriteFieldEnd(); err != nil {
+		return fmt.Errorf("%T write field end error 2:errorMessage: %s", p, err)
+	}
+	return err
+}
+
+func (p *InvalidOperException) String() string {
+	if p == nil {
+		return "<nil>"
+	}
+	return fmt.Sprintf("InvalidOperException(%+v)", *p)
+}
+
+func (p *InvalidOperException) Error() string {
+	return p.String()
+}
+
+type Result_ struct {
+	ResultCode *int32  `thrift:"resultCode,1" json:"resultCode"`
+	ResultMsg  *string `thrift:"resultMsg,2" json:"resultMsg"`
+}
+
+func NewResult_() *Result_ {
+	return &Result_{}
+}
+
+var Result__ResultCode_DEFAULT int32
+
+func (p *Result_) GetResultCode() int32 {
+	if !p.IsSetResultCode() {
+		return Result__ResultCode_DEFAULT
+	}
+	return *p.ResultCode
+}
+
+var Result__ResultMsg_DEFAULT string
+
+func (p *Result_) GetResultMsg() string {
+	if !p.IsSetResultMsg() {
+		return Result__ResultMsg_DEFAULT
+	}
+	return *p.ResultMsg
+}
+func (p *Result_) IsSetResultCode() bool {
+	return p.ResultCode != nil
+}
+
+func (p *Result_) IsSetResultMsg() bool {
+	return p.ResultMsg != nil
+}
+
+func (p *Result_) Read(iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(); err != nil {
+		return fmt.Errorf("%T read error: %s", p, err)
+	}
+	for {
+		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		if err != nil {
+			return fmt.Errorf("%T field %d read error: %s", p, fieldId, err)
+		}
+		if fieldTypeId == thrift.STOP {
+			break
+		}
+		switch fieldId {
+		case 1:
+			if err := p.ReadField1(iprot); err != nil {
+				return err
+			}
+		case 2:
+			if err := p.ReadField2(iprot); err != nil {
+				return err
+			}
+		default:
+			if err := iprot.Skip(fieldTypeId); err != nil {
+				return err
+			}
+		}
+		if err := iprot.ReadFieldEnd(); err != nil {
+			return err
+		}
+	}
+	if err := iprot.ReadStructEnd(); err != nil {
+		return fmt.Errorf("%T read struct end error: %s", p, err)
+	}
+	return nil
+}
+
+func (p *Result_) ReadField1(iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadI32(); err != nil {
+		return fmt.Errorf("error reading field 1: %s", err)
+	} else {
+		p.ResultCode = &v
+	}
+	return nil
+}
+
+func (p *Result_) ReadField2(iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadString(); err != nil {
+		return fmt.Errorf("error reading field 2: %s", err)
+	} else {
+		p.ResultMsg = &v
+	}
+	return nil
+}
+
+func (p *Result_) Write(oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin("Result"); err != nil {
+		return fmt.Errorf("%T write struct begin error: %s", p, err)
+	}
+	if err := p.writeField1(oprot); err != nil {
+		return err
+	}
+	if err := p.writeField2(oprot); err != nil {
+		return err
+	}
+	if err := oprot.WriteFieldStop(); err != nil {
+		return fmt.Errorf("write field stop error: %s", err)
+	}
+	if err := oprot.WriteStructEnd(); err != nil {
+		return fmt.Errorf("write struct stop error: %s", err)
+	}
+	return nil
+}
+
+func (p *Result_) writeField1(oprot thrift.TProtocol) (err error) {
+	if p.IsSetResultCode() {
+		if err := oprot.WriteFieldBegin("resultCode", thrift.I32, 1); err != nil {
+			return fmt.Errorf("%T write field begin error 1:resultCode: %s", p, err)
+		}
+		if err := oprot.WriteI32(int32(*p.ResultCode)); err != nil {
+			return fmt.Errorf("%T.resultCode (1) field write error: %s", p, err)
+		}
+		if err := oprot.WriteFieldEnd(); err != nil {
+			return fmt.Errorf("%T write field end error 1:resultCode: %s", p, err)
+		}
+	}
+	return err
+}
+
+func (p *Result_) writeField2(oprot thrift.TProtocol) (err error) {
+	if p.IsSetResultMsg() {
+		if err := oprot.WriteFieldBegin("resultMsg", thrift.STRING, 2); err != nil {
+			return fmt.Errorf("%T write field begin error 2:resultMsg: %s", p, err)
+		}
+		if err := oprot.WriteString(string(*p.ResultMsg)); err != nil {
+			return fmt.Errorf("%T.resultMsg (2) field write error: %s", p, err)
+		}
+		if err := oprot.WriteFieldEnd(); err != nil {
+			return fmt.Errorf("%T write field end error 2:resultMsg: %s", p, err)
+		}
+	}
+	return err
+}
+
+func (p *Result_) String() string {
+	if p == nil {
+		return "<nil>"
+	}
+	return fmt.Sprintf("Result_(%+v)", *p)
+}

+ 213 - 0
config/config.toml

@@ -0,0 +1,213 @@
+# log-path = "./logs"
+# http-port = 80
+url-path = ""
+startday= "2022-02-22"
+# 发送全服邮件中使用的uid
+userId = "10000006"
+# mongo 默认服务器端口
+mongo-port = "20001"
+
+# gtoken配置文件
+[gtoken]
+    # 缓存模式 1 gcache 2 gredis
+    cache-mode = 1
+    # 是否支持多端登录
+    multi-login = true
+
+[server]
+    Address          = ":8083"
+    ServerRoot       = "public"
+    LogPath          = "./logs"
+#    IndexFiles       = ["index.php", "main.php"]
+    AccessLogEnabled = false
+    ErrorLogEnabled  = true
+    PProfEnabled     = true
+#    SessionIdName    = "MySessionId"
+#    SessionPath      = "/tmp/MySessionStoragePath"
+#    SessionMaxAge    = "24h"
+#    DumpRouterMap    = false
+
+# 全局日志配置
+[logger]
+    Path   = "./logs"
+    Level  = "all"
+    Stdout = true
+
+# 模板引擎配置
+[viewer]
+#    Path        = "./template"
+    DefaultFile = "index.html"
+    Delimiters  =  ["${", "}"]
+
+# title设置
+[setting]
+    title = "配置管理中心"
+
+# WebServer管理
+[admin]
+    user = "admin"
+    pass = "admin"
+
+
+#------X1韩国-正式服------
+# [database]  #数据库配置
+#     link = "mysql:gmadmin:n4sbKk6trTBNPhCb@tcp(127.0.0.1:3306)/gm"
+# [mongo]
+#     default = "mongodb://ilodadmin:dlffhem!0929#$@bahl6.vpc.mg.naverncp.com:17017"
+# [redis]    #Redis数据库配置
+#     default = "192.168.1.10:6080,0,kjm20220829@WH_redis"
+#     cache   = "192.168.1.10:6080,1,kjm20220829@WH_redis?idleTimeout=600"
+# [db]    # X1韩国正式
+#      itemlog = "x1_ilod_login"
+#      login = "x1_ilod_login"
+#      core = "x1_ilod_login"
+#      prefix = "x1_ilod_game_"
+
+#------韩国测试服 新------
+# [database]  #数据库配置
+#     link = "mysql:gmadmin:6NTkMYDeawWWXji5@tcp(127.0.0.1:3306)/gm"
+# [mongo]
+#     default = "mongodb://root:kjm2022&WH5b1Ae9@127.0.0.1:27020"
+# [redis]    #Redis数据库配置
+#     default = "127.0.0.1:6080,0,kjm2022@WH_redis"
+#     cache   = "127.0.0.1:6080,1,kjm2022@WH_redis?idleTimeout=600"
+# [db]    # X1韩国测试
+#      itemlog = "x1_korea_test_login"
+#      login = "x1_korea_test_login"
+#      core = "x1_korea_test_login"
+#      prefix = "x1_korea_game_"
+
+#------QA测试服------
+# [database]  #数据库配置
+#     link = "mysql:root:Aa_123456@tcp(127.0.0.1:3306)/gm"
+# [mongo]
+#     default = "mongodb://admin:123456@120.92.119.145:27020"
+# [redis]    #Redis数据库配置
+#     default = "120.92.119.145:6080,0,@emiplay_m5fangzhi_redis"
+#     cache   = "120.92.119.145:6080,1,@emiplay_m5fangzhi_redis?idleTimeout=600"
+# [db]    # X1韩国测试
+#      itemlog = "m5_x1_login"
+#      login = "m5_x1_login"
+#      core = "m5_x1_login"
+#      prefix = "m5_x1_game_"
+
+#------国内quick正式服------
+# [database]  #数据库配置
+#     link = "mysql:root:Aa_123$%^@tcp(127.0.0.1:3306)/gm"
+# [mongo]
+#     default = "mongodb://ilodadmin:VV20221116#WH_db@10.206.0.3:27017"
+# [redis]    #Redis数据库配置
+#     default = "1.13.164.95:6379,0,kjm20220829@WH_redis"
+#     cache   = "1.13.164.95:6379,1,kjm20220829@WH_redis?idleTimeout=600"
+# [db]    # X1韩国测试
+#      itemlog = "x1_test_login"
+#      login = "x1_test_login"
+#      core = "x1_test_login"
+#      prefix = "x1_test_game_"
+
+#------国内九九正式服------
+[database]  #数据库配置
+    link = "mysql:gm:k6GKdx24#zpAC3GJp@tcp(127.0.0.1:3306)/gm"
+[mongo]
+    default = "mongodb://lodadmin:dlffhem!0929#@172.17.12.69:27017"
+[redis]    #Redis数据库配置
+    default = "172.17.12.142:6379,0,VV20221116@WH_redis"
+    cache   = "172.17.12.142:6379,1,VV20221116@WH_redis?idleTimeout=600"
+[db]    # X1韩国测试
+     itemlog = "x1_jj_login"
+     login = "x1_jj_login"
+     core = "x1_jj_login"
+     prefix = "x1_jj_game_"
+
+#------韩国测试服 老------
+# [database]  #数据库配置
+#     link = "mysql:gmadmin:6NTkMYDeawWWXji5@tcp(127.0.0.1:3306)/gm"
+# [mongo]
+#     default = "mongodb://root:kjm2022&WH5b1Ae9@127.0.0.1:27020"
+# [redis]    #Redis数据库配置
+#     default = "127.0.0.1:6080,0,kjm2022@WH_redis"
+#     cache   = "127.0.0.1:6080,1,kjm2022@WH_redis?idleTimeout=600"
+# [db]    # X1赤兔正式
+#      itemlog = "x1_korea_test_login"
+#      login = "x1_korea_test_login"
+#      core = "x1_korea_test_login"
+#      prefix = "x1_korea_game_"
+
+
+# #------赤兔测试服------
+# [database]  #数据库配置
+#     link = "mysql:gm:k6GKdx24zpAC3GJp@tcp(10.0.0.92:3306)/gm"           #赤兔测试服
+# [mongo]
+#     default = "mongodb://root:kjm2022&WH@10.0.0.92:27020"               #赤兔测试服
+# [redis]    #Redis数据库配置
+#     default = "127.0.0.1:6080,0,kjm2022@WH_redis"
+#     cache   = "127.0.0.1:6080,1,kjm2022@WH_redis?idleTimeout=600"
+# [db]    #赤兔测试服
+#    itemlog = "x1_cn_test_login"
+#    login = "x1_cn_test_login"
+#    core = "x1_cn_test_login"
+#    prefix = "x1_cn_test_game_"
+
+# #------赤兔正式服------
+# [database]  #数据库配置
+#     link = "mysql:gmadmin:7h64j5pJdMn86YpP@tcp(127.0.0.1:3306)/gm"       #赤兔正式服
+# [mongo]
+#     default = "mongodb://mongouser:vuvEUUp8x2SFq@192.168.7.12:27017"         #赤兔正式服
+# [redis]    #Redis数据库配置
+#     default = "192.168.7.5:6080,0,kjm20220804@WH_redis"
+#     cache   = "192.168.7.5:6080,1,kjm20220804@WH_redis?idleTimeout=600"
+# [db]    # X1赤兔正式
+#      itemlog = "x1_cn_chitu_login"
+#      login = "x1_cn_chitu_login"
+#      core = "x1_cn_chitu_login"
+#      prefix = "x1_cn_chitu_game_"
+
+# 数据库配置
+#[database]
+    #link = "mysql:root:6ce975d0f2af0ce0@tcp(10.0.0.118:3306)/gm"
+    #link = "mysql:admin:Lwmfwje88DCWZFme@tcp(127.0.0.1:3306)/gm"
+    #link = "mysql:gm:k6GKdx24zpAC3GJp@tcp(10.0.0.92:3306)/gm"       #测试服
+    #link = "mysql:gmadmin:7h64j5pJdMn86YpP@tcp(127.0.0.1:3306)/gm"       #赤兔正式服
+#[mongo]
+    #default = "mongodb://admin:123456@120.92.119.145:27020"
+    #default = "mongodb://127.0.0.1:27017"
+    #default = "mongodb://root:kejm&2580WH@10.0.1.131:27017"
+    #default = "mongodb://root:kjm2022&WH@10.0.0.92:27020"           #测试服
+    #default = "mongodb://mongouser:vuvEUUp8x2SFq@192.168.7.12:27017"         #赤兔正式服
+
+# Redis数据库配置
+#[redis]
+    #default = "127.0.0.1:6379,0"
+    #cache   = "127.0.0.1:6379,1,123456?idleTimeout=600"
+    ##default = "192.168.7.5:6080,0,kjm20220804@WH_redis"
+    #cache   = "192.168.7.5:6080,1,kjm20220804@WH_redis?idleTimeout=600"
+
+#[db]
+# X1赤兔正式
+     #itemlog = "x1_cn_chitu_login"
+     #login = "x1_cn_chitu_login"
+     #core = "x1_cn_chitu_login"
+     #prefix = "x1_cn_chitu_game_"
+# # X1国内正式服
+#      itemlog = "x1_cn_login"
+#      login = "x1_cn_login"
+#      core = "x1_cn_login"
+#      prefix = "x1_cn_game_"
+
+# X1国内测试服
+#    itemlog = "x1_cn_test_login"
+#    login = "x1_cn_test_login"
+#    core = "x1_cn_test_login"
+#    prefix = "x1_cn_test_game_"
+
+# 本地服
+#     itemlog = "m5_x1_login"
+#     login = "m5_x1_login"
+#     core = "m5_x1_login"
+#     prefix = "m5_x1_game_"
+
+# 游戏名字(百度-计收独代数据用)
+[game]
+    name = "errorcity"
+    # 是否需要导出    0:不导出; 1:导出
+    export = "1"

+ 29 - 0
config/config_pro.toml

@@ -0,0 +1,29 @@
+log-path = "./logs"
+http-port = 80
+url-path = ""
+
+# title设置
+[setting]
+    title = "配置管理中心"
+
+# WebServer管理
+[admin]
+    user = "admin"
+    pass = "admin"
+
+# 数据库配置
+[database]
+    link = "mysql:root:root@tcp(127.0.0.1:3306)/gmanager"
+
+# gtoken配置文件
+[gtoken]
+    # 缓存模式 1 gcache 2 gredis
+    cache-mode = 1
+    # 是否支持多端登录
+    multi-login = true
+
+
+# Redis数据库配置
+[redis]
+    default = "127.0.0.1:6379,0"
+    cache   = "127.0.0.1:6379,1,123456?idleTimeout=600"

+ 3305 - 0
config/server/Item.csv

@@ -0,0 +1,3305 @@
+Id,Name,BackpackOrNot,ResourceID,ItemType,ItemBaseType,ItemDescribe,PropertyName,Quantity,Isopen,IfResolve,ResolveReward,UseType,RewardGroup,UsePerCount,Jump,UseJump,IsSave,IsShow,HeroStar,Ifopen,ItemNumlimit,RingLevel,ExtraReward,SelfSelectTab,ItemTypeDes,Note
+1,1010003,FALSE,10001,0,,1020003,,1,,0,100001,,,,,,,,,1,999999999,,,,1030003,废弃
+3,1010004,FALSE,10003,0,,1020004,,4,,0,100001,,,,26081#7801#8401#1011#36008,22001,1,,,1,999999999,,,,1030003,英雄经验
+4,1010005,TRUE,10004,0,2,1020005,,5,,0,100001,,,,67001#7801#8401#77004,22001,,,,1,999999999,,,,1030003,进化药剂
+5,1010003,TRUE,10005,0,2,1020003,,5,,0,100001,,,,,,,,,1,999999999,,,,1030003,废弃
+6,1010003,TRUE,10006,0,2,1020003,,5,,0,100001,,,,,,,,,1,999999999,,,,1030003,废弃
+7,1010008,FALSE,209255,0,,1020008,,4,,0,,,,,,,,,,1,999999999,,,,1030008,轮盘积分
+8,1010009,FALSE,209252,0,,1020009,,4,,0,,,,,8101,,,,,1,999999999,,,,1030008,遗忘积分
+14,1010010,FALSE,10014,0,,1020010,,4,,0,100001,,,,26081#30002#67001#8401#1011#8101,,1,,,1,999999999,,,,1030010,金钱
+15,1010003,FALSE,10015,0,,1020003,,5,,0,100001,,,,,,,,,1,999999999,,,,1030010,废弃
+16,1010012,FALSE,10016,0,,1020012,,5,,0,100001,,,,26082#27001#1004#60001#36002,,,,,1,999999999,,,,1030010,钻石
+17,1010013,FALSE,12036,0,,1020013,,4,,0,100001,,,,26081#68001,,,,,1,999999999,,,,1030013,经验
+18,1010014,FALSE,10018,0,,1020014,,3,,0,100001,,,,,,,,,1,999999999,,,,1030013,特权经验
+19,1010015,TRUE,209228,0,2,1020015,,5,,0,100001,,,,60001#7801#36008#77004#36001,1023,,,,1,999999999,,,,1030003,紫晶卡
+20,1010016,TRUE,10020,0,2,1020016,,6,,0,100001,,,,8001#20002#60001#1028#36001,1002,,,,1,999999999,,,,1030003,会员招募卡
+21,1010003,TRUE,11508,0,2,1020003,,5,,0,,,,,,,,,,1,999999999,,,,1030003,废弃
+22,1010003,TRUE,11509,0,2,1020003,,5,,0,,,,,,,,,,1,999999999,,,,1030003,废弃
+23,1010019,TRUE,11510,0,2,1020019,,4,,0,,,,,60001#7801#1027#1022,8002,,,,1,999999999,,,,1030003,参赛券
+24,1010020,TRUE,11511,0,2,1020020,,4,,0,,,,,8001,20010,,,,1,999999999,,,,1030008,竞技点
+26,1010021,TRUE,11513,0,2,1020021,,4,,0,,,,,80009#24001,20004,,,,1,999999999,,,,1030003,万能碎片
+27,1010003,FALSE,11514,0,,1020003,,5,,0,,,,,,,,,,1,999999999,,,,1030003,废弃
+28,1010003,FALSE,11515,0,,1020003,,5,,0,,,,,,,,,,1,999999999,,,,1030003,废弃
+29,1010003,FALSE,12042,0,,1020003,,5,,0,,,,,,,,,,1,999999999,,,,1030003,废弃
+30,1010025,FALSE,209253,0,,1020025,,4,,0,,,,,1004,,,,,1,999999999,,,,1030008,活跃度
+31,1010026,FALSE,209230,0,,1020026,,5,,0,,,,,,,,,,1,999999999,,,,1030003,医疗药剂
+32,1010003,TRUE,10005,0,2,1020003,,4,,0,,,,,,22001,,,,1,999999999,,,,1030003,废弃
+33,1010028,FALSE,12042,0,,1020028,,5,,,,,,,,,,,,1,999999999,,,,1030008,公会活跃
+43,1010029,FALSE,209229,0,,1020029,,5,,0,,,,,,,0,,,1,999999999,,,,1030003,小型核弹
+44,1010003,FALSE,12024,0,,1020003,,5,,0,,,,,,,,,,1,999999999,,,,1030003,废弃
+45,1010003,FALSE,12026,0,,1020003,,4,,0,,,,,,,0,,,1,999999999,,,,1030003,废弃
+46,1010003,TRUE,12027,0,2,1020003,,5,,0,,,,,,,,,,1,999999999,,,,1030003,废弃
+47,1010003,TRUE,12028,0,2,1020003,,5,,0,,,,,,,,,,1,999999999,,,,1030003,废弃
+48,1010003,TRUE,12028,0,2,1020003,,5,,0,,,,,,,,,,1,999999999,,,,1030003,废弃
+53,1010003,FALSE,12025,0,,1020003,,5,,0,,,,,,,,,,1,999999999,,,,1030003,废弃
+54,1010003,FALSE,11502,0,,1020003,,5,,0,,,,,,,,,,1,999999999,,,,1030003,废弃
+55,1010003,FALSE,12022,0,,1020003,,5,,0,,,,,,,,,,1,999999999,,,,1030003,废弃
+56,1010003,FALSE,12036,0,,1020003,,5,,0,,,,,,,,,,1,999999999,,,,1030003,废弃
+60,1010039,TRUE,12033,0,2,1020039,,4,,0,100001,,,,1004#60001#7801#36008,1027,,,,1,999999999,,,,1030003,幸运币
+61,1010040,TRUE,12034,0,2,1020040,,5,,0,100001,,,,8001#60001#36001,1028,,,,1,999999999,,,,1030003,高级幸运币
+62,1010041,FALSE,11502,0,,1020041,,4,,0,,,,,,,,,,1,1,,,,1030041,幸运轮盘刷新次数
+63,1010042,FALSE,11502,0,,1020042,,5,,0,,,,,,,,,,1,1,,,,1030041,高级轮盘刷新次数
+64,1010043,TRUE,12032,12,2,1020043,,5,,0,,,,,,,,,,1,999999999,,,,1030003,改名卡
+65,1010044,TRUE,11507,0,2,1020044,,4,,0,,,,,1004#80009,20007,,,,1,999999999,,,,1030008,公会贡献
+66,1010003,TRUE,12029,0,2,1020003,,4,,0,,,,,,,,,,1,999999999,,,,1030003,废弃
+67,1010046,TRUE,12035,0,2,1020046,,4,,0,,,,,,1029,,,,1,999999999,,,,1030003,腐化结晶
+68,1010047,FALSE,11501,0,,1020047,,4,,0,,,,,,,,,,1,999999999,,,,1030008,成长值
+69,1010048,FALSE,10002,0,,1020048,,4,,0,100001,,,,1004,,,,,1,999999999,,,,1030003,友情点
+70,1010003,TRUE,12037,0,2,1020003,,5,,0,,,,,,22001,,,,1,999999999,,,,1030003,废弃
+71,1010050,FALSE,12044,0,,1020050,,6,,0,,,,,,,,,,1,999999999,,,,1030041,腐化之战次数
+72,1010051,FALSE,12044,0,,1020051,,6,,0,,,,,,,,,,1,999999999,,,,1030041,公会BOSS挑战次数
+73,1010003,FALSE,10019,0,,1020003,,5,,0,,,,,,,0,,,1,1,,,,1030041,废弃
+74,1010053,TRUE,12038,0,2,1020053,,4,,0,,,,,1002,20008,,,,1,999999999,,,,1030008,俱乐部积分
+77,1010054,FALSE,11006,0,,1020054,,4,,0,,,,,,,,,,1,999999999,,,,1030003,竞猜币
+78,1010003,FALSE,11502,0,,1020003,,5,,0,,,,,,,,,,1,999999999,,,,1030041,废弃
+79,1010056,FALSE,12039,0,,1020056,,4,,0,,,,,26081,60001,,,,1,999999999,,,,1030003,情报
+80,1010057,FALSE,11506,0,,1020057,,4,,0,,,,,1004#8001#1027#36008,60001,,,,1,999999999,,,,1030003,情报线索
+81,1010058,FALSE,12040,0,,1020058,,5,,0,,,,,36006,,,,,1,1,,,,1030041,探索特权
+82,1010059,FALSE,12041,0,,1020059,,6,,0,,,,,36006,,,,,1,1,,,,1030041,高阶探索特权
+83,1010060,FALSE,11506,0,,1020060,,4,,0,,,,,,,,,,1,2,,,,1030041,探索免费刷新次数
+86,1010061,TRUE,11517,0,2,1020061,,5,,0,,,,,,20010,,,,1,999999999,,,,1030008,锦标赛点数
+87,1010062,TRUE,11003,0,2,1020062,,5,,0,,,,,,,,,,1,999999999,,,,1030003,限时招募卡
+88,1010063,FALSE,12043,0,,1020063,,5,,0,,,,,36006,,,,,1,1,,,,1030041,快速训练特权
+89,1010003,FALSE,12044,0,,1020003,,6,,0,,,,,,,,,,1,1,,,,1030041,废弃
+90,1010003,FALSE,12044,0,,1020003,,6,,0,,,,,,,,,,1,999999999,,,,1030041,废弃
+91,1010066,TRUE,12048,0,2,1020066,,4,,0,,,,,1004#60001#7801#1027#20007,1023,,,,,999999999,,,,1030003,墨翠卡
+92,1010067,FALSE,12042,0,,1020067,,5,,0,,,,,20002#60001#1027,1002,,,,,999999999,,,,1030003,会员名片
+93,1010068,FALSE,12049,0,,1020068,,4,,0,,,,,,,,,,,999999999,,,,1030008,战功
+94,1010069,FALSE,12036,0,,1020069,,5,,0,,,,,1002,,,,,1,999999999,,,,1030008,招募积分
+95,1010070,TRUE,209231,10,2,1020070,,4,,0,,1,51414,1,,,0,0,,1,999999999,,,,1030003,xxx
+96,1010071,FALSE,209250,0,,1020071,,5,,0,,,,,36008,,,,,,999999999,,,,1030008,降临积分
+97,1010072,FALSE,209251,0,,1020072,,4,,0,,,,,,,,,,,999999999,,,,1030008,名称待定
+98,1010072,FALSE,209251,0,,1020072,,4,,0,,,,,,,,,,,999999999,,,,1030008,名称待定
+99,1010074,FALSE,12044,0,,1020074,,6,,0,,,,,,,,,,1,999999999,,,,1030041,迷雾之战挑战次数
+100,1010072,FALSE,12040,0,,1020072,,5,,0,,,,,36006,,,,,1,1,,,,1030041,名称待定
+101,1010076,FALSE,12039,0,,1020076,,5,,0,,,,,,,,,,1,999999999,,,,1030041,背包格数
+102,1010072,FALSE,12044,0,,1020072,,6,,0,,,,,,,,,,1,999999999,,,,1030041,名称待定
+103,1010072,FALSE,209251,0,,1020072,,4,,0,,,,,,,,,,1,999999999,,,,1030008,名称待定
+1001,1010003,TRUE,12023,8,2,1020003,,1,,0,,,,,,,,,,1,999999999,,,,1030003,废弃
+1002,1010080,TRUE,60410,0,2,1020080,,5,,0,,,,,,,,,,1,999999999,,,,1030003,盲盒秘钥
+1003,1010081,FALSE,60411,0,,1020081,,4,,0,,,,,,,,,,1,999999999,,,,1030008,盲盒积分
+1004,1010082,TRUE,11518,0,2,1020082,,5,,0,,,,,,,,,,,999999999,,,,1030003,愿望十字
+1005,1010072,TRUE,13339,0,2,1020083,,4,,0,,,,,,,,,,1,999999999,,,,1030003,名称待定
+1006,1010072,FALSE,10006,0,2,1020083,,5,,0,,,,,,,,,,1,1,,,,1030003,名称待定
+1007,1010072,TRUE,12072,0,2,1020083,,4,,0,,,,,,,,,,1,999999999,,,,1030003,名称待定
+1201,1010003,TRUE,12031,0,2,1020003,,1,,0,,,,,,,1,1,,1,999999999,,,,1030003,废弃
+1300,1010087,FALSE,209265,0,2,1020087,,4,,0,,,,,,,,,,1,999999999,,,,1030008,突破值
+1508,1010003,TRUE,1510,0,2,1020003,,2,,0,,,,,,,,1,,1,999999999,,,,1030088,废弃
+1509,1010003,TRUE,1511,0,2,1020003,,3,,0,,,,,,,,1,,1,999999999,,,,1030088,废弃
+1510,1010003,TRUE,1512,0,2,1020003,,4,,0,,,,,,,,1,,1,999999999,,,,1030088,废弃
+1511,1010003,TRUE,1513,0,2,1020003,,5,,0,,,,,,,,1,,1,999999999,,,,1030088,废弃
+1512,1010003,TRUE,1513,0,2,1020003,,6,,0,,,,,,,,1,,1,999999999,,,,1030088,废弃
+1518,1010003,FALSE,11015,10,,1020003,,5,,0,,1,481,1,,,0,0,,1,999999999,,,,1030088,废弃
+1519,1010003,FALSE,11015,10,,1020003,,5,,0,,1,482,1,,,0,0,,1,999999999,,,,1030088,废弃
+1520,1010003,TRUE,1534,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1521,1010003,TRUE,1536,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1522,1010003,TRUE,1533,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1523,1010003,TRUE,1532,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1524,1010003,TRUE,1536,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1525,1010003,TRUE,1535,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1526,1010003,TRUE,1537,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1527,1010003,TRUE,1538,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1528,1010003,TRUE,1539,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1529,1010003,TRUE,1540,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1530,1010003,TRUE,1530,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1531,1010003,TRUE,1531,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1532,1010003,TRUE,1546,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1533,1010003,TRUE,1531,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1534,1010003,TRUE,1536,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1535,1010003,TRUE,1546,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1536,1010003,TRUE,1547,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1537,1010003,TRUE,1533,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1538,1010003,TRUE,1541,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1539,1010003,TRUE,1542,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1540,1010003,TRUE,1543,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1541,1010003,TRUE,1544,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1542,1010003,TRUE,1548,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1543,1010003,TRUE,1549,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1544,1010003,TRUE,1550,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1545,1010003,TRUE,1546,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1546,1010003,TRUE,1531,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1547,1010003,TRUE,1551,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1548,1010003,TRUE,1531,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1549,1010003,TRUE,1529,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1550,1010003,TRUE,1551,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1551,1010003,TRUE,1551,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1552,1010003,TRUE,1531,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1553,1010003,TRUE,1529,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1554,1010003,TRUE,1551,0,2,1020003,,1,,0,,,,,,,0,,,1,999999999,,,,1030088,废弃
+1557,1010003,TRUE,1551,0,2,1020003,,1,,0,,,,,,,1,,,1,999999999,,,,1030088,废弃
+1558,1010003,TRUE,1551,0,2,1020003,,1,,0,,,,,,,1,,,1,999999999,,,,1030088,废弃
+1559,1010003,TRUE,1551,0,2,1020003,,1,,0,,,,,,,1,,,1,999999999,,,,1030088,废弃
+1560,1010003,TRUE,1551,0,2,1020003,,1,,0,,,,,,,1,,,1,999999999,,,,1030088,废弃
+1561,1010003,TRUE,1551,0,2,1020003,,1,,0,,,,,,,1,,,1,999999999,,,,1030088,废弃
+1562,1010003,TRUE,1551,0,2,1020003,,1,,0,,,,,,,1,1,,1,999999999,,,,1030088,废弃
+6001,1010003,TRUE,16010,4,2,1020003,,6,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6002,1010003,TRUE,16011,4,2,1020003,,6,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6003,1010003,TRUE,16012,4,2,1020003,,6,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6004,1010003,TRUE,16001,4,2,1020003,,6,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6005,1010003,TRUE,16002,4,2,1020003,,6,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6006,1010003,TRUE,16003,4,2,1020003,,6,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6007,1010003,TRUE,16004,4,2,1020003,,6,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6008,1010003,TRUE,16005,4,2,1020003,,6,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6009,1010003,TRUE,16006,4,2,1020003,,6,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6010,1010003,TRUE,16007,4,2,1020003,,6,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6011,1010003,TRUE,16008,4,2,1020003,,6,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6012,1010003,TRUE,16009,4,2,1020003,,6,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6013,1010003,TRUE,16021,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6014,1010003,TRUE,16022,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6015,1010003,TRUE,16023,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6016,1010003,TRUE,16024,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6017,1010003,TRUE,16033,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6018,1010003,TRUE,16034,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6019,1010003,TRUE,16035,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6020,1010003,TRUE,16036,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6021,1010003,TRUE,16017,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6022,1010003,TRUE,16018,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6023,1010003,TRUE,16019,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6024,1010003,TRUE,16020,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6025,1010003,TRUE,16025,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6026,1010003,TRUE,16026,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6027,1010003,TRUE,16027,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6028,1010003,TRUE,16028,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6029,1010003,TRUE,16029,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6030,1010003,TRUE,16030,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6031,1010003,TRUE,16031,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6032,1010003,TRUE,16032,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6033,1010003,TRUE,16013,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6034,1010003,TRUE,16014,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6035,1010003,TRUE,16015,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+6036,1010003,TRUE,16016,4,2,1020003,,7,,0,100001,,,,,,,,,1,999999999,,,,1030088,废弃
+10001,1010172,FALSE,3001,1,,,,5,,1,56001,,,,,,,,10001#5,1,9999999,,0|71001#1,,1030172,莫扎特
+10002,1010173,FALSE,3002,1,,,,5,,1,56001,,,,,,,,10002#5,1,9999999,,0|71002#1,,1030172,西蒙海耶
+10003,1010174,FALSE,3003,1,,,,5,,1,56001,,,,,,,,10003#5,1,9999999,,0|71003#1,,1030172,巴顿
+10004,1010175,FALSE,3004,1,,,,5,,1,56001,,,,,,,,10004#5,1,9999999,,0|71004#1,,1030172,爱迪生
+10005,1010176,FALSE,3005,1,,,,5,,1,56001,,,,,,,,10005#5,1,9999999,,0|71005#1,,1030172,德雷克
+10006,1010177,FALSE,3006,1,,,,5,,1,56001,,,,,,,,10006#5,1,9999999,,0|71006#1,,1030172,特斯拉
+10007,1010178,FALSE,3007,1,,,,5,,1,56001,,,,,,,,10007#5,1,9999999,,0|71007#1,,1030172,瓦特
+10008,1010179,FALSE,3008,1,,,,5,,1,56001,,,,,,,,10008#5,1,9999999,,0|71008#1,,1030172,爱因斯坦
+10009,1010180,FALSE,3009,1,,,,5,,1,56001,,,,,,,,10009#5,1,9999999,,0|71009#1,,1030172,诺贝尔
+10010,1010181,FALSE,3010,1,,,,5,,1,56001,,,,,,,,10010#5,1,9999999,,0|71010#1,,1030172,丹妮莉丝
+10011,1010182,FALSE,3011,1,,,,4,,1,56002,,,,,,,,10011#4,1,9999999,,0|71011#1,,1030172,居里夫人
+10012,1010183,FALSE,3012,1,,,,4,,1,56002,,,,,,,,10012#4,1,9999999,,0|71012#1,,1030172,俾斯麦
+10013,1010184,FALSE,3013,1,,,,4,,1,56002,,,,,,,,10013#4,1,9999999,,0|71013#1,,1030172,弗兰肯斯坦
+10014,1010185,FALSE,3014,1,,,,4,,1,56002,,,,,,,,10014#4,1,9999999,,0|71014#1,,1030172,亚森罗宾
+10015,1010186,FALSE,3015,1,,,,4,,1,56002,,,,,,,,10015#4,1,9999999,,0|71015#1,,1030172,乔
+10016,1010187,FALSE,3016,1,,,,3,,1,56003,,,,,,,,10016#3,1,9999999,,0|71016#1,,1030172,胡克
+10017,1010188,FALSE,3017,1,,,,2,,1,56004,,,,,,,,10017#2,1,9999999,,0|71017#1,,1030172,嘻哈青年
+10018,1010189,FALSE,3018,1,,,,1,,1,56005,,,,,,,,10018#1,1,9999999,,0|71018#1,,1030172,伐木工
+10019,1010190,FALSE,3019,1,,,,5,,1,56001,,,,,,,,10019#5,1,9999999,,0|71019#1,,1030172,真田幸村
+10020,1010191,FALSE,3020,1,,,,5,,1,56001,,,,,,,,10020#5,1,9999999,,0|71020#1,,1030172,关羽
+10021,1010192,FALSE,3021,1,,,,5,,1,56001,,,,,,,,10021#5,1,9999999,,0|71021#1,,1030172,亚历山大
+10022,1010193,FALSE,3022,1,,,,5,,1,56001,,,,,,,,10022#5,1,9999999,,0|71022#1,,1030172,李舜臣
+10023,1010194,FALSE,3023,1,,,,5,,1,56001,,,,,,,,10023#5,1,9999999,,0|71023#1,,1030172,服部半藏
+10024,1010195,FALSE,3024,1,,,,5,,1,56001,,,,,,,,10024#5,1,9999999,,0|71024#1,,1030172,韩信
+10025,1010196,FALSE,3025,1,,,,5,,1,56001,,,,,,,,10025#5,1,9999999,,0|71025#1,,1030172,李白
+10026,1010197,FALSE,3026,1,,,,5,,1,56001,,,,,,,,10026#5,1,9999999,,0|71026#1,,1030172,阿喀琉斯
+10027,1010198,FALSE,3027,1,,,,5,,1,56001,,,,,,,,10027#5,1,9999999,,0|71027#1,,1030172,成吉思汗
+10028,1010199,FALSE,3028,1,,,,4,,1,56002,,,,,,,,10028#4,1,9999999,,0|71028#1,,1030172,威廉基德
+10029,1010200,FALSE,3029,1,,,,4,,1,56002,,,,,,,,10029#4,1,9999999,,0|71029#1,,1030172,佐罗
+10030,1010201,FALSE,3030,1,,,,4,,1,56002,,,,,,,,10030#4,1,9999999,,0|71030#1,,1030172,斯巴达
+10031,1010202,FALSE,3031,1,,,,4,,1,56002,,,,,,,,10031#4,1,9999999,,0|71031#1,,1030172,土方岁三
+10032,1010203,FALSE,3032,1,,,,4,,1,56002,,,,,,,,10032#4,1,9999999,,0|71032#1,,1030172,花木兰
+10033,1010204,FALSE,3033,1,,,,3,,1,56003,,,,,,,,10033#3,1,9999999,,0|71033#1,,1030172,齐格飞
+10034,1010205,FALSE,3034,1,,,,2,,1,56004,,,,,,,,10034#2,1,9999999,,0|71034#1,,1030172,运动员
+10035,1010206,FALSE,3035,1,,,,1,,1,56005,,,,,,,,10035#1,1,9999999,,0|71035#1,,1030172,农夫
+10036,1010207,FALSE,3036,1,,,,5,,1,56001,,,,,,,,10036#5,1,9999999,,0|71036#1,,1030172,示巴女王
+10037,1010208,FALSE,3037,1,,,,5,,1,56001,,,,,,,,10037#5,1,9999999,,0|71037#1,,1030172,克娄帕特拉
+10038,1010209,FALSE,3038,1,,,,5,,1,56001,,,,,,,,10038#5,1,9999999,,0|71038#1,,1030172,贝奥武夫
+10039,1010210,FALSE,3039,1,,,,5,,1,56001,,,,,,,,10039#5,1,9999999,,0|71039#1,,1030172,荷马
+10040,1010211,FALSE,3040,1,,,,5,,1,56001,,,,,,,,10040#5,1,9999999,,0|71040#1,,1030172,拉斐尔
+10041,1010212,FALSE,3041,1,,,,5,,1,56001,,,,,,,,10041#5,1,9999999,,0|71041#1,,1030172,赫拉克勒斯
+10042,1010213,FALSE,3042,1,,,,5,,1,56001,,,,,,,,10042#5,1,9999999,,0|71042#1,,1030172,但丁
+10043,1010214,FALSE,3043,1,,,,5,,1,56001,,,,,,,,10043#5,1,9999999,,0|71043#1,,1030172,亚瑟
+10044,1010215,FALSE,3044,1,,,,5,,1,56001,,,,,,,,10044#5,1,9999999,,0|71044#1,,1030172,薛定谔
+10045,1010216,FALSE,3045,1,,,,5,,1,56001,,,,,,,,10045#5,1,9999999,,0|71045#1,,1030172,格林
+10046,1010217,FALSE,3046,1,,,,5,,1,56001,,,,,,,,10046#5,1,9999999,,0|71046#1,,1030172,茜茜公主
+10047,1010218,FALSE,3047,1,,,,4,,1,56002,,,,,,,,10047#4,1,9999999,,0|71047#1,,1030172,弗洛伊德
+10048,1010219,FALSE,3048,1,,,,4,,1,56002,,,,,,,,10048#4,1,9999999,,0|71048#1,,1030172,雨果
+10049,1010220,FALSE,3049,1,,,,4,,1,56002,,,,,,,,10049#4,1,9999999,,0|71049#1,,1030172,肖邦
+10050,1010221,FALSE,3050,1,,,,4,,1,56002,,,,,,,,10050#4,1,9999999,,0|71050#1,,1030172,玛利亚
+10051,1010222,FALSE,3051,1,,,,4,,1,56002,,,,,,,,10051#4,1,9999999,,0|71051#1,,1030172,唐吉坷德
+10052,1010223,FALSE,3052,1,,,,3,,1,56003,,,,,,,,10052#3,1,9999999,,0|71052#1,,1030172,海明威
+10053,1010224,FALSE,3053,1,,,,2,,1,56004,,,,,,,,10053#2,1,9999999,,0|71053#1,,1030172,服务员
+10054,1010225,FALSE,3054,1,,,,1,,1,56005,,,,,,,,10054#1,1,9999999,,0|71054#1,,1030172,护士
+10057,1010226,FALSE,3055,1,,,,5,,1,56001,,,,,,,,10057#5,1,9999999,,0|71057#1,,1030172,赵云
+10058,1010227,FALSE,3056,1,,,,5,,1,56001,,,,,,,,10058#5,1,9999999,,0|71058#1,,1030172,布伦谢尔德
+10059,1010228,FALSE,3057,1,,,,5,,1,56001,,,,,,,,10059#5,1,9999999,,0|71059#1,,1030172,海伦
+10060,1010229,FALSE,3058,1,,,,5,,1,56001,,,,,,,,10060#5,1,9999999,,0|71060#1,,1030172,南丁格尔
+10061,1010230,FALSE,3059,1,,,,5,,1,56001,,,,,,,,10061#5,1,9999999,,0|71061#1,,1030172,凯撒
+10062,1010231,FALSE,3060,1,,,,5,,1,56001,,,,,,,,10062#5,1,9999999,,0|71062#1,,1030172,赫克托耳
+10063,1010232,FALSE,3061,1,,,,5,,1,56001,,,,,,,,10063#5,1,9999999,,0|71063#1,,1030172,雅典娜
+10064,1010233,FALSE,3062,1,,,,5,,1,56001,,,,,,,,10064#5,1,9999999,,0|71064#1,,1030172,德川家康
+10065,1010234,FALSE,3063,1,,,,5,,1,56001,,,,,,,,10065#5,1,9999999,,0|71065#1,,1030172,贞德
+10066,1010235,FALSE,3064,1,,,,5,,1,56001,,,,,,,,10066#5,1,9999999,,0|71066#1,,1030172,瓦尔基里
+10067,1010236,FALSE,3065,1,,,,4,,1,56002,,,,,,,,10067#4,1,9999999,,0|71067#1,,1030172,帕里斯
+10068,1010237,FALSE,3066,1,,,,4,,1,56002,,,,,,,,10068#4,1,9999999,,0|71068#1,,1030172,拿破仑
+10069,1010238,FALSE,3067,1,,,,4,,1,56002,,,,,,,,10069#4,1,9999999,,0|71069#1,,1030172,哥白尼
+10070,1010239,FALSE,3068,1,,,,4,,1,56002,,,,,,,,10070#4,1,9999999,,0|71070#1,,1030172,毕达哥拉斯
+10071,1010240,FALSE,3069,1,,,,3,,1,56003,,,,,,,,10071#3,1,9999999,,0|71071#1,,1030172,罗宾汉
+10072,1010241,FALSE,3070,1,,,,5,,1,56001,,,,,,,,10072#5,1,9999999,,0|71072#1,,1030172,织田信长
+10073,1010242,FALSE,3071,1,,,,5,,1,56001,,,,,,,,10073#5,1,9999999,,0|71073#1,,1030172,哈桑
+10074,1010243,FALSE,3072,1,,,,5,,1,56001,,,,,,,,10074#5,1,9999999,,0|71074#1,,1030172,布鲁图斯
+10075,1010244,FALSE,3073,1,,,,5,,1,56001,,,,,,,,10075#5,1,9999999,,0|71075#1,,1030172,所罗门
+10076,1010241,FALSE,3074,1,,,,5,,1,56001,,,,,,,,10076#5,1,9999999,,0|71076#1,,1030172,织田信长
+10079,1010246,FALSE,3075,1,,,,5,,1,56001,,,,,,,,10079#5,1,9999999,,0|71079#1,,1030172,卑弥呼
+10080,1010247,FALSE,3076,1,,,,5,,1,56001,,,,,,,,10080#5,1,9999999,,0|71080#1,,1030172,白起
+10081,1010248,FALSE,3077,1,,,,5,,1,56001,,,,,,,,10081#5,1,9999999,,0|71081#1,,1030172,弗拉德
+10082,1010249,FALSE,3078,1,,,,5,,1,56001,,,,,,,,10082#5,1,9999999,,0|71082#1,,1030172,明智光秀
+10085,1010250,FALSE,3079,1,,,,5,,1,56001,,,,,,,,10085#5,1,9999999,,0|71085#1,,1030172,伊丽莎白
+10086,1010251,FALSE,3080,1,,,,4,,1,56002,,,,,,,,10086#4,1,9999999,,0|71086#1,,1030172,血腥玛丽
+10087,1010252,FALSE,3081,1,,,,4,,1,56002,,,,,,,,10087#4,1,9999999,,0|71087#1,,1030172,弑君者詹姆
+10088,1010253,FALSE,3082,1,,,,4,,1,56002,,,,,,,,10088#4,1,9999999,,0|71088#1,,1030172,开膛手杰克
+10089,1010254,FALSE,3083,1,,,,4,,1,56002,,,,,,,,10089#4,1,9999999,,0|71089#1,,1030172,尼禄
+10090,1010255,FALSE,3084,1,,,,3,,1,56003,,,,,,,,10090#3,1,9999999,,0|71090#1,,1030172,霍恩海姆
+10421,1010072,TRUE,60300,0,2,1020083,,3,,0,,1,,,,,,,,1,9999,,,,1030003,名称待定
+10422,1010072,TRUE,60301,0,2,1020083,,4,,0,,1,,,,,,,,1,9999,,,,1030003,名称待定
+10423,1010072,TRUE,60302,0,2,1020083,,5,,0,,1,,,36001#36006,,,,,1,9999,,,,1030003,名称待定
+10424,1010072,TRUE,60303,0,2,1020083,,5,,0,,0,,,,,,,,1,9999,,,,1030003,名称待定
+10425,1010072,TRUE,60304,0,2,1020083,,4,,0,,0,,,36001,,,,,1,9999,,,,1030003,名称待定
+10426,1010072,FALSE,60305,0,,1020083,,3,,0,,0,,,,,,,,1,9999,,,,1030003,名称待定
+10427,1010072,FALSE,60306,0,,1020083,,4,,0,,0,,,,,,,,1,9999,,,,1030003,名称待定
+10428,1010072,FALSE,60307,0,,1020083,,5,,0,,0,,,36006,,,,,1,9999,,,,1030003,名称待定
+10441,1010264,TRUE,60506,0,2,1020264,,4,,0,,0,,,36001,,,,,1,99999,,,,1030003,芯片进阶仪
+10442,1010265,TRUE,60507,0,2,1020265,,5,,0,,0,,,36001,,,,,1,99999,,,,1030003,芯片核心
+10443,1010266,TRUE,60508,0,2,1020266,,4,,0,,0,,,,,,,,1,99999,,,,1030003,芯片激活程序
+10444,1010267,TRUE,60509,0,2,1020267,,5,,0,,0,,,,,,,,0,99999,,,,1030008,芯片积分
+11001,1010003,TRUE,3001,0,3,1020003,1,1,,0,100001,1,701,10,,,,,,0,9999999,,,,1030088,废弃
+11002,1010003,TRUE,3002,0,3,1020003,1,2,,0,100001,1,702,10,,,,,,0,9999999,,,,1030088,废弃
+11003,1010003,TRUE,3003,0,3,1020003,1,3,,0,100001,1,703,20,,,,,,0,9999999,,,,1030088,废弃
+11004,1010003,TRUE,3004,0,3,1020003,1,4,,0,100001,1,704,30,,,,,,0,9999999,,,,1030088,废弃
+11005,1010003,TRUE,3005,0,3,1020003,1,4,,0,100001,1,705,30,,,,,,0,9999999,,,,1030088,废弃
+11006,1010003,TRUE,3006,0,3,1020003,1,4,,0,100001,1,706,30,,,,,,0,9999999,,,,1030088,废弃
+11007,1010003,TRUE,3007,0,3,1020003,1,4,,0,100001,1,707,30,,,,,,0,9999999,,,,1030088,废弃
+11008,1010003,TRUE,3008,0,3,1020003,1,4,,0,100001,1,708,30,,,,,,0,9999999,,,,1030088,废弃
+11009,1010003,TRUE,3009,0,3,1020003,1,5,,0,100001,1,709,50,,,,,,0,9999999,,,,1030088,废弃
+11010,1010003,TRUE,3010,0,3,1020003,1,5,,0,100001,1,710,50,,,,,,0,9999999,,,,1030088,废弃
+11011,1010003,TRUE,3011,0,3,1020003,1,5,,0,100001,1,711,50,,,,,,0,9999999,,,,1030088,废弃
+11012,1010003,TRUE,3012,0,3,1020003,1,5,,0,100001,1,712,50,,,,,,0,9999999,,,,1030088,废弃
+11013,1010003,TRUE,3013,0,3,1020003,1,5,,0,100001,1,713,50,,,,,,0,9999999,,,,1030088,废弃
+11014,1010003,TRUE,3014,0,3,1020003,1,5,,0,100001,1,714,50,,,,,,0,9999999,,,,1030088,废弃
+11015,1010003,TRUE,3015,0,3,1020003,1,5,,0,100001,1,715,50,,,,,,0,9999999,,,,1030088,废弃
+11016,1010003,TRUE,3016,0,3,1020003,1,5,,0,100001,1,716,50,,,,,,0,9999999,,,,1030088,废弃
+11017,1010003,TRUE,3017,0,3,1020003,1,5,,0,100001,1,717,50,,,,,,0,9999999,,,,1030088,废弃
+11018,1010003,TRUE,3018,0,3,1020003,1,5,,0,100001,1,718,50,,,,,,0,9999999,,,,1030088,废弃
+11019,1010003,TRUE,3019,0,3,1020003,1,5,,0,100001,1,719,50,,,,,,0,9999999,,,,1030088,废弃
+11020,1010003,TRUE,3020,0,3,1020003,2,1,,0,100001,1,720,10,,,,,,0,9999999,,,,1030088,废弃
+11021,1010003,TRUE,3021,0,3,1020003,2,2,,0,100001,1,721,10,,,,,,0,9999999,,,,1030088,废弃
+11022,1010003,TRUE,3022,0,3,1020003,2,3,,0,100001,1,722,20,,,,,,0,9999999,,,,1030088,废弃
+11023,1010003,TRUE,3023,0,3,1020003,2,4,,0,100001,1,723,30,,,,,,0,9999999,,,,1030088,废弃
+11024,1010003,TRUE,3024,0,3,1020003,2,4,,0,100001,1,724,30,,,,,,0,9999999,,,,1030088,废弃
+11025,1010003,TRUE,3025,0,3,1020003,2,4,,0,100001,1,725,30,,,,,,0,9999999,,,,1030088,废弃
+11026,1010003,TRUE,3026,0,3,1020003,2,4,,0,100001,1,726,30,,,,,,0,9999999,,,,1030088,废弃
+11027,1010003,TRUE,3027,0,3,1020003,2,4,,0,100001,1,727,30,,,,,,0,9999999,,,,1030088,废弃
+11028,1010003,TRUE,3028,0,3,1020003,2,5,,0,100001,1,728,50,,,,,,0,9999999,,,,1030088,废弃
+11029,1010003,TRUE,3029,0,3,1020003,2,5,,0,100001,1,729,50,,,,,,0,9999999,,,,1030088,废弃
+11030,1010003,TRUE,3030,0,3,1020003,2,5,,0,100001,1,730,50,,,,,,0,9999999,,,,1030088,废弃
+11031,1010003,TRUE,3031,0,3,1020003,2,5,,0,100001,1,731,50,,,,,,0,9999999,,,,1030088,废弃
+11032,1010003,TRUE,3032,0,3,1020003,2,5,,0,100001,1,732,50,,,,,,0,9999999,,,,1030088,废弃
+11033,1010003,TRUE,3033,0,3,1020003,2,5,,0,100001,1,733,50,,,,,,0,9999999,,,,1030088,废弃
+11034,1010003,TRUE,3034,0,3,1020003,2,5,,0,100001,1,734,50,,,,,,0,9999999,,,,1030088,废弃
+11035,1010003,TRUE,3035,0,3,1020003,2,5,,0,100001,1,735,50,,,,,,0,9999999,,,,1030088,废弃
+11036,1010003,TRUE,3036,0,3,1020003,2,5,,0,100001,1,736,50,,,,,,0,9999999,,,,1030088,废弃
+11037,1010003,TRUE,3037,0,3,1020003,2,5,,0,100001,1,737,50,,,,,,0,9999999,,,,1030088,废弃
+11038,1010003,TRUE,3038,0,3,1020003,3,1,,0,100001,1,738,10,,,,,,0,9999999,,,,1030088,废弃
+11039,1010003,TRUE,3039,0,3,1020003,3,2,,0,100001,1,739,10,,,,,,0,9999999,,,,1030088,废弃
+11040,1010003,TRUE,3040,0,3,1020003,3,3,,0,100001,1,740,20,,,,,,0,9999999,,,,1030088,废弃
+11041,1010003,TRUE,3041,0,3,1020003,3,4,,0,100001,1,741,30,,,,,,0,9999999,,,,1030088,废弃
+11042,1010003,TRUE,3042,0,3,1020003,3,4,,0,100001,1,742,30,,,,,,0,9999999,,,,1030088,废弃
+11043,1010003,TRUE,3043,0,3,1020003,3,4,,0,100001,1,743,30,,,,,,0,9999999,,,,1030088,废弃
+11044,1010003,TRUE,3044,0,3,1020003,3,4,,0,100001,1,744,30,,,,,,0,9999999,,,,1030088,废弃
+11045,1010003,TRUE,3045,0,3,1020003,3,4,,0,100001,1,745,30,,,,,,0,9999999,,,,1030088,废弃
+11046,1010003,TRUE,3046,0,3,1020003,3,5,,0,100001,1,746,50,,,,,,0,9999999,,,,1030088,废弃
+11047,1010003,TRUE,3047,0,3,1020003,3,5,,0,100001,1,747,50,,,,,,0,9999999,,,,1030088,废弃
+11048,1010003,TRUE,3048,0,3,1020003,3,5,,0,100001,1,748,50,,,,,,0,9999999,,,,1030088,废弃
+11049,1010003,TRUE,3049,0,3,1020003,3,5,,0,100001,1,749,50,,,,,,0,9999999,,,,1030088,废弃
+11050,1010003,TRUE,3050,0,3,1020003,3,5,,0,100001,1,750,50,,,,,,0,9999999,,,,1030088,废弃
+11051,1010003,TRUE,3051,0,3,1020003,3,5,,0,100001,1,751,50,,,,,,0,9999999,,,,1030088,废弃
+11052,1010003,TRUE,3052,0,3,1020003,3,5,,0,100001,1,752,50,,,,,,0,9999999,,,,1030088,废弃
+11053,1010003,TRUE,3053,0,3,1020003,3,5,,0,100001,1,753,50,,,,,,0,9999999,,,,1030088,废弃
+11054,1010003,TRUE,3054,0,3,1020003,3,5,,0,100001,1,754,50,,,,,,0,9999999,,,,1030088,废弃
+11055,1010003,TRUE,3055,0,3,1020003,4,3,,0,100001,1,755,20,,,,,,0,9999999,,,,1030088,废弃
+11056,1010003,TRUE,3056,0,3,1020003,4,4,,0,100001,1,756,30,,,,,,0,9999999,,,,1030088,废弃
+11057,1010003,TRUE,3057,0,3,1020003,4,4,,0,100001,1,757,30,,,,,,0,9999999,,,,1030088,废弃
+11058,1010003,TRUE,3058,0,3,1020003,4,4,,0,100001,1,758,30,,,,,,0,9999999,,,,1030088,废弃
+11059,1010003,TRUE,3059,0,3,1020003,4,4,,0,100001,1,759,30,,,,,,0,9999999,,,,1030088,废弃
+11060,1010003,TRUE,3060,0,3,1020003,4,5,,0,100001,1,760,50,,,,,,0,9999999,,,,1030088,废弃
+11061,1010003,TRUE,3061,0,3,1020003,4,5,,0,100001,1,761,50,,,,,,0,9999999,,,,1030088,废弃
+11062,1010003,TRUE,3062,0,3,1020003,4,5,,0,100001,1,762,50,,,,,,0,9999999,,,,1030088,废弃
+11063,1010003,TRUE,3063,0,3,1020003,4,5,,0,100001,1,763,50,,,,,,0,9999999,,,,1030088,废弃
+11064,1010003,TRUE,3064,0,3,1020003,4,5,,0,100001,1,764,50,,,,,,0,9999999,,,,1030088,废弃
+11065,1010003,TRUE,3065,0,3,1020003,4,5,,0,100001,1,765,50,,,,,,0,9999999,,,,1030088,废弃
+11066,1010003,TRUE,3066,0,3,1020003,4,5,,0,100001,1,766,50,,,,,,0,9999999,,,,1030088,废弃
+11067,1010003,TRUE,3067,0,3,1020003,4,5,,0,100001,1,767,50,,,,,,0,9999999,,,,1030088,废弃
+11068,1010003,TRUE,3068,0,3,1020003,4,5,,0,100001,1,768,50,,,,,,0,9999999,,,,1030088,废弃
+11069,1010003,TRUE,3069,0,3,1020003,4,5,,0,100001,1,769,50,,,,,,0,9999999,,,,1030088,废弃
+11070,1010003,TRUE,3070,0,3,1020003,5,3,,0,100001,1,770,20,,,,,,0,9999999,,,,1030088,废弃
+11071,1010003,TRUE,3071,0,3,1020003,5,4,,0,100001,1,771,30,,,,,,0,9999999,,,,1030088,废弃
+11072,1010003,TRUE,3072,0,3,1020003,5,4,,0,100001,1,772,30,,,,,,0,9999999,,,,1030088,废弃
+11073,1010003,TRUE,3073,0,3,1020003,5,4,,0,100001,1,773,30,,,,,,0,9999999,,,,1030088,废弃
+11074,1010003,TRUE,3074,0,3,1020003,5,4,,0,100001,1,774,30,,,,,,0,9999999,,,,1030088,废弃
+11075,1010003,TRUE,3075,0,3,1020003,5,5,,0,100001,1,775,50,,,,,,0,9999999,,,,1030088,废弃
+11076,1010003,TRUE,3076,0,3,1020003,5,5,,0,100001,1,776,50,,,,,,0,9999999,,,,1030088,废弃
+11077,1010003,TRUE,3077,0,3,1020003,5,5,,0,100001,1,777,50,,,,,,0,9999999,,,,1030088,废弃
+11078,1010003,TRUE,3078,0,3,1020003,5,5,,0,100001,1,778,50,,,,,,0,9999999,,,,1030088,废弃
+12001,1010003,TRUE,12004,0,3,1020003,,3,,0,100001,1,501,20,,,,,,0,9999999,,,,1030088,废弃
+12002,1010003,TRUE,12004,0,3,1020003,3,4,,0,100001,1,503,30,,,,,,0,9999999,,,,1030088,废弃
+12003,1010003,TRUE,12004,0,3,1020003,1,4,,0,100001,1,502,30,,,,,,0,9999999,,,,1030088,废弃
+12004,1010003,TRUE,12004,0,3,1020003,4,4,,0,100001,1,504,30,,,,,,0,9999999,,,,1030088,废弃
+12005,1010003,TRUE,12004,0,3,1020003,2,4,,0,100001,1,505,30,,,,,,0,9999999,,,,1030088,废弃
+12006,1010003,TRUE,12004,0,3,1020003,5,4,,0,100001,1,506,30,,,,,,0,9999999,,,,1030088,废弃
+12007,1010003,TRUE,12004,0,3,1020003,6,4,,0,100001,1,507,30,,,,,,0,9999999,,,,1030088,废弃
+12008,1010003,TRUE,12004,0,3,1020003,3,5,,0,100001,1,509,50,,,,,,0,9999999,,,,1030088,废弃
+12009,1010003,TRUE,12004,0,3,1020003,1,5,,0,100001,1,508,50,,,,,,0,9999999,,,,1030088,废弃
+12010,1010003,TRUE,12004,0,3,1020003,4,5,,0,100001,1,510,50,,,,,,0,9999999,,,,1030088,废弃
+12011,1010003,TRUE,12004,0,3,1020003,2,5,,0,100001,1,511,50,,,,,,0,9999999,,,,1030088,废弃
+12012,1010003,TRUE,12004,0,3,1020003,,4,,0,100001,1,512,30,,,,,,0,9999999,,,,1030088,废弃
+12013,1010003,TRUE,12004,0,3,1020003,,5,,0,100001,1,513,50,,,,,,0,9999999,,,,1030088,废弃
+12014,1010003,TRUE,12004,0,3,1020003,,5,,0,100001,1,513,50,,,,,,0,9999999,,,,1030088,废弃
+12015,1010003,TRUE,12004,0,3,1020003,,5,,0,100001,1,513,50,,,,,,0,9999999,,,,1030088,废弃
+12016,1010003,TRUE,12004,0,3,1020003,,5,,0,100001,1,513,50,,,,,,0,9999999,,,,1030088,废弃
+12017,1010003,TRUE,12004,0,3,1020003,,5,,0,100001,1,513,50,,,,,,0,9999999,,,,1030088,废弃
+12018,1010003,TRUE,12004,0,3,1020003,,5,,0,100001,1,513,50,,,,,,0,9999999,,,,1030088,废弃
+12019,1010003,TRUE,12004,0,3,1020003,5,5,,0,100001,1,521,50,,,,,,0,9999999,,,,1030088,废弃
+12020,1010003,TRUE,12004,0,3,1020003,5,5,,0,100001,1,522,50,,,,,,0,9999999,,,,1030088,废弃
+12021,1010003,TRUE,12004,0,3,1020003,,4,,0,100001,1,523,30,,,,,,0,9999999,,,,1030088,废弃
+12022,1010003,TRUE,12004,0,3,1020003,,4,,0,100001,1,524,30,,,,,,0,9999999,,,,1030088,废弃
+12023,1010003,TRUE,12004,0,3,1020003,5,5,,0,100001,1,525,50,,,,,,0,9999999,,,,1030088,废弃
+12024,1010003,TRUE,12004,0,3,1020003,6,5,,0,100001,1,526,50,,,,,,0,9999999,,,,1030088,废弃
+12025,1010003,TRUE,12004,0,3,1020003,,5,,0,100001,1,513,50,,,,,,0,9999999,,,,1030088,废弃
+14024,1010003,TRUE,3024,0,3,1020003,5,5,,0,100001,1,601,50,,,,,,0,9999999,,,,1030088,废弃
+14025,1010003,TRUE,3056,0,3,1020003,5,5,,0,100001,1,602,50,,,,,,0,9999999,,,,1030088,废弃
+14026,1010003,TRUE,3002,0,3,1020003,5,5,,0,100001,1,603,50,,,,,,0,9999999,,,,1030088,废弃
+14027,1010003,TRUE,3055,0,3,1020003,5,5,,0,100001,1,604,50,,,,,,0,9999999,,,,1030088,废弃
+14028,1010003,TRUE,3016,0,3,1020003,5,5,,0,100001,1,605,50,,,,,,0,9999999,,,,1030088,废弃
+14029,1010003,TRUE,3044,0,3,1020003,5,5,,0,100001,1,606,50,,,,,,0,9999999,,,,1030088,废弃
+14030,1010003,TRUE,3029,0,3,1020003,2,5,,0,100001,1,607,50,,,,,,0,9999999,,,,1030088,废弃
+14031,1010003,TRUE,3040,0,3,1020003,4,5,,0,100001,1,608,50,,,,,,0,9999999,,,,1030088,废弃
+14032,1010003,TRUE,3026,0,3,1020003,4,5,,0,100001,1,609,50,,,,,,0,9999999,,,,1030088,废弃
+14033,1010003,TRUE,3053,0,3,1020003,2,5,,0,100001,1,610,50,,,,,,0,9999999,,,,1030088,废弃
+14034,1010003,TRUE,3017,0,3,1020003,6,5,,0,100001,1,611,50,,,,,,0,9999999,,,,1030088,废弃
+14035,1010003,TRUE,3033,0,3,1020003,6,5,,0,100001,1,612,50,,,,,,0,9999999,,,,1030088,废弃
+14036,1010003,TRUE,3021,0,3,1020003,3,5,,0,100001,1,613,50,,,,,,0,9999999,,,,1030088,废弃
+14037,1010003,TRUE,3037,0,3,1020003,3,5,,0,100001,1,614,50,,,,,,0,9999999,,,,1030088,废弃
+14038,1010003,TRUE,3034,0,3,1020003,1,5,,0,100001,1,615,50,,,,,,0,9999999,,,,1030088,废弃
+14039,1010003,TRUE,3039,0,3,1020003,3,5,,0,100001,1,616,50,,,,,,0,9999999,,,,1030088,废弃
+14040,1010003,TRUE,3031,0,3,1020003,1,5,,0,100001,1,617,50,,,,,,0,9999999,,,,1030088,废弃
+14041,1010003,TRUE,3041,0,3,1020003,1,5,,0,100001,1,618,50,,,,,,0,9999999,,,,1030088,废弃
+14042,1010003,TRUE,3054,0,3,1020003,2,5,,0,100001,1,619,50,,,,,,0,9999999,,,,1030088,废弃
+14043,1010003,TRUE,3028,0,3,1020003,3,5,,0,100001,1,620,50,,,,,,0,9999999,,,,1030088,废弃
+14044,1010003,TRUE,3007,0,3,1020003,6,5,,0,100001,1,621,50,,,,,,0,9999999,,,,1030088,废弃
+14045,1010003,TRUE,3062,0,3,1020003,4,5,,0,100001,1,622,50,,,,,,0,9999999,,,,1030088,废弃
+14046,1010003,TRUE,3046,0,3,1020003,5,5,,0,100001,1,623,50,,,,,,0,9999999,,,,1030088,废弃
+16024,1010003,FALSE,3024,0,,1020003,,5,,1,56002,,,,,,,,10024#8,1,9999999,,,,1030088,废弃
+16025,1010003,FALSE,3056,0,,1020003,,5,,1,56002,,,,,,,,10025#8,1,9999999,,,,1030088,废弃
+16026,1010003,FALSE,3002,0,,1020003,,5,,1,56002,,,,,,,,10026#8,1,9999999,,,,1030088,废弃
+16027,1010003,FALSE,3055,0,,1020003,,5,,1,56002,,,,,,,,10027#8,1,9999999,,,,1030088,废弃
+16028,1010003,FALSE,3016,0,,1020003,,5,,1,56002,,,,,,,,10028#8,1,9999999,,,,1030088,废弃
+16029,1010003,FALSE,3044,0,,1020003,,5,,1,56002,,,,,,,,10029#8,1,9999999,,,,1030088,废弃
+16030,1010003,FALSE,3029,0,,1020003,,5,,1,56002,,,,,,,,10030#8,1,9999999,,,,1030088,废弃
+16031,1010003,FALSE,3040,0,,1020003,,5,,1,56002,,,,,,,,10031#8,1,9999999,,,,1030088,废弃
+16032,1010003,FALSE,3026,0,,1020003,,5,,1,56002,,,,,,,,10032#8,1,9999999,,,,1030088,废弃
+16033,1010003,FALSE,3053,0,,1020003,,5,,1,56002,,,,,,,,10033#8,1,9999999,,,,1030088,废弃
+16034,1010003,FALSE,3017,0,,1020003,,5,,1,56002,,,,,,,,10034#8,1,9999999,,,,1030088,废弃
+16035,1010003,FALSE,3033,0,,1020003,,5,,1,56002,,,,,,,,10035#8,1,9999999,,,,1030088,废弃
+16036,1010003,FALSE,3021,0,,1020003,,5,,1,56002,,,,,,,,10036#8,1,9999999,,,,1030088,废弃
+16037,1010003,FALSE,3037,0,,1020003,,5,,1,56002,,,,,,,,10037#8,1,9999999,,,,1030088,废弃
+16038,1010003,FALSE,3034,0,,1020003,,5,,1,56002,,,,,,,,10038#8,1,9999999,,,,1030088,废弃
+16039,1010003,FALSE,3039,0,,1020003,,5,,1,56002,,,,,,,,10039#8,1,9999999,,,,1030088,废弃
+16040,1010003,FALSE,3031,0,,1020003,,5,,1,56002,,,,,,,,10040#8,1,9999999,,,,1030088,废弃
+16041,1010003,FALSE,3041,0,,1020003,,5,,1,56002,,,,,,,,10041#8,1,9999999,,,,1030088,废弃
+16042,1010003,FALSE,3054,0,,1020003,,5,,1,56002,,,,,,,,10042#8,1,9999999,,,,1030088,废弃
+16043,1010003,FALSE,3028,0,,1020003,,5,,1,56002,,,,,,,,10043#8,1,9999999,,,,1030088,废弃
+16044,1010003,FALSE,3007,0,,1020003,,5,,1,56002,,,,,,,,10044#8,1,9999999,,,,1030088,废弃
+16045,1010003,FALSE,3062,0,,1020003,,5,,1,56002,,,,,,,,10045#8,1,9999999,,,,1030088,废弃
+16046,1010003,FALSE,3046,0,,1020003,,5,,1,56002,,,,,,,,10046#8,1,9999999,,,,1030088,废弃
+16047,1010003,FALSE,3047,0,,1020003,,3,,1,56002,,,,,,,,10047#8,1,9999999,,,,1030088,废弃
+16048,1010003,FALSE,3048,0,,1020003,,3,,1,56002,,,,,,,,10048#8,1,9999999,,,,1030088,废弃
+16049,1010003,FALSE,3049,0,,1020003,,3,,1,56002,,,,,,,,10049#8,1,9999999,,,,1030088,废弃
+16050,1010003,FALSE,3050,0,,1020003,,3,,1,56002,,,,,,,,10050#8,1,9999999,,,,1030088,废弃
+16051,1010003,FALSE,3051,0,,1020003,,3,,1,56002,,,,,,,,10051#8,1,9999999,,,,1030088,废弃
+16052,1010003,FALSE,3052,0,,1020003,,3,,1,56002,,,,,,,,10052#8,1,9999999,,,,1030088,废弃
+16053,1010003,FALSE,3053,0,,1020003,,3,,1,56002,,,,,,,,10053#8,1,9999999,,,,1030088,废弃
+16054,1010003,FALSE,3054,0,,1020003,,3,,1,56002,,,,,,,,10054#8,1,9999999,,,,1030088,废弃
+16055,1010003,FALSE,3055,0,,1020003,,3,,1,56002,,,,,,,,10055#8,1,9999999,,,,1030088,废弃
+16056,1010003,FALSE,3056,0,,1020003,,3,,1,56002,,,,,,,,10056#8,1,9999999,,,,1030088,废弃
+16057,1010003,FALSE,3057,0,,1020003,,4,,1,56002,,,,,,,,10057#8,1,9999999,,,,1030088,废弃
+16058,1010003,FALSE,3058,0,,1020003,,4,,1,56002,,,,,,,,10058#8,1,9999999,,,,1030088,废弃
+16059,1010003,FALSE,3059,0,,1020003,,4,,1,56002,,,,,,,,10059#8,1,9999999,,,,1030088,废弃
+16060,1010003,FALSE,3060,0,,1020003,,4,,1,56002,,,,,,,,10060#8,1,9999999,,,,1030088,废弃
+16061,1010003,FALSE,3061,0,,1020003,,4,,1,56002,,,,,,,,10061#8,1,9999999,,,,1030088,废弃
+16062,1010003,FALSE,3062,0,,1020003,,4,,1,56002,,,,,,,,10062#8,1,9999999,,,,1030088,废弃
+16063,1010003,FALSE,3063,0,,1020003,,4,,1,56002,,,,,,,,10063#8,1,9999999,,,,1030088,废弃
+16064,1010003,FALSE,3064,0,,1020003,,4,,1,56002,,,,,,,,10064#8,1,9999999,,,,1030088,废弃
+16065,1010003,FALSE,3065,0,,1020003,,4,,1,56002,,,,,,,,10065#8,1,9999999,,,,1030088,废弃
+16066,1010003,FALSE,3066,0,,1020003,,4,,1,56002,,,,,,,,10066#8,1,9999999,,,,1030088,废弃
+16067,1010003,FALSE,3067,0,,1020003,,4,,1,56002,,,,,,,,10067#8,1,9999999,,,,1030088,废弃
+16068,1010003,FALSE,3068,0,,1020003,,4,,1,56002,,,,,,,,10068#8,1,9999999,,,,1030088,废弃
+16069,1010003,FALSE,3069,0,,1020003,,4,,1,56002,,,,,,,,10069#8,1,9999999,,,,1030088,废弃
+16070,1010003,FALSE,3070,0,,1020003,,4,,1,56002,,,,,,,,10070#8,1,9999999,,,,1030088,废弃
+16071,1010003,FALSE,3071,0,,1020003,,4,,1,56002,,,,,,,,10071#8,1,9999999,,,,1030088,废弃
+16072,1010003,FALSE,3072,0,,1020003,,4,,1,56002,,,,,,,,10072#8,1,9999999,,,,1030088,废弃
+16073,1010003,FALSE,3073,0,,1020003,,2,,1,56002,,,,,,,,10073#8,1,9999999,,,,1030088,废弃
+16074,1010003,FALSE,3074,0,,1020003,,2,,1,56002,,,,,,,,10074#8,1,9999999,,,,1030088,废弃
+16075,1010003,FALSE,3075,0,,1020003,,2,,1,56002,,,,,,,,10075#8,1,9999999,,,,1030088,废弃
+16076,1010003,FALSE,3076,0,,1020003,,2,,1,56002,,,,,,,,10076#8,1,9999999,,,,1030088,废弃
+16077,1010003,FALSE,3077,0,,1020003,,2,,1,56002,,,,,,,,10077#8,1,9999999,,,,1030088,废弃
+16078,1010003,FALSE,3078,0,,1020003,,2,,1,56002,,,,,,,,10078#8,1,9999999,,,,1030088,废弃
+16079,1010003,FALSE,3079,0,,1020003,,1,,1,56002,,,,,,,,10079#8,1,9999999,,,,1030088,废弃
+16080,1010003,FALSE,3080,0,,1020003,,1,,1,56002,,,,,,,,10080#8,1,9999999,,,,1030088,废弃
+16081,1010003,FALSE,3081,0,,1020003,,1,,1,56002,,,,,,,,10081#8,1,9999999,,,,1030088,废弃
+16082,1010003,FALSE,3082,0,,1020003,,1,,1,56002,,,,,,,,10082#8,1,9999999,,,,1030088,废弃
+16083,1010003,FALSE,3083,0,,1020003,,1,,1,56002,,,,,,,,10083#8,1,9999999,,,,1030088,废弃
+16084,1010003,FALSE,3084,0,,1020003,,1,,1,56002,,,,,,,,10084#8,1,9999999,,,,1030088,废弃
+17001,1010455,TRUE,209101,0,2,1020455,,4,,0,,0,,,,,,,,1,99999,,,,1030003,魔法契约
+17002,1010456,TRUE,209102,0,2,1020456,,4,,0,,0,,,,,,,,1,99999,,,,1030003,机械契约
+17003,1010457,TRUE,209103,0,2,1020457,,4,,0,,0,,,,,,,,1,99999,,,,1030003,体术契约
+17004,1010458,TRUE,209104,0,2,1020458,,4,,0,,0,,,,,,,,1,99999,,,,1030003,秩序契约
+17005,1010459,TRUE,209105,0,2,1020459,,4,,0,,0,,,,,,,,1,99999,,,,1030003,混沌契约
+17009,1010460,TRUE,209106,20,2,1020460,,5,,0,,2,51404,0,36001,,1,0,0,1,99999,,,,1030460,自选契约箱
+17011,1010461,TRUE,209107,0,2,1020461,,4,,0,,0,,,,,,,,1,99999,,,,1030003,契约圣典
+17012,1010462,TRUE,209001,0,2,1020462,,5,,0,,0,,,,,,,,1,99999,,,,1030003,契约之魂
+17013,1010463,TRUE,209240,0,2,1020463,,4,,0,,0,,,,,,,,1,99999,,,,1030003,装备进阶碎片
+17014,1010464,TRUE,209241,0,2,1020464,,5,,0,,0,,,,,,,,1,99999,,,,1030003,装备精华
+18001,1010465,TRUE,209002,0,2,1020465,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,敏捷催化剂
+18002,1010466,TRUE,209003,0,2,1020466,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,物连催化剂
+18003,1010467,TRUE,209004,0,2,1020467,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,法连催化剂
+18004,1010468,TRUE,209005,0,2,1020468,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,魔神催化剂
+18005,1010469,TRUE,209006,0,2,1020469,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,武神催化剂
+18006,1010470,TRUE,209007,0,2,1020470,,4,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,追击催化剂
+18007,1010471,TRUE,209008,0,2,1020471,,4,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,暴追催化剂
+18008,1010472,TRUE,209009,0,2,1020472,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,致命催化剂
+18009,1010473,TRUE,209010,0,2,1020473,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,必杀催化剂
+18010,1010474,TRUE,209011,0,2,1020474,,4,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,激昂催化剂
+18011,1010475,TRUE,209012,0,2,1020475,,4,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,隐遁催化剂
+18012,1010476,TRUE,209013,0,2,1020476,,4,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,复仇催化剂
+18013,1010477,TRUE,209014,0,2,1020477,,4,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,降辽催化剂
+18014,1010478,TRUE,209015,0,2,1020478,,4,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,灭杀催化剂
+18015,1010479,TRUE,209016,0,2,1020479,,4,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,驱散催化剂
+18016,1010480,TRUE,209017,0,2,1020480,,4,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,强袭催化剂
+18017,1010481,TRUE,209018,0,2,1020481,,4,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,挑衅催化剂
+18018,1010482,TRUE,209019,0,2,1020482,,4,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,冰冻催化剂
+18019,1010483,TRUE,209020,0,2,1020483,,4,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,热血催化剂
+18020,1010484,TRUE,209021,0,2,1020484,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,躲避催化剂
+18021,1010485,TRUE,209022,0,2,1020485,,4,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,压制催化剂
+18022,1010486,TRUE,209023,0,2,1020486,,4,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,精准催化剂
+18023,1010487,TRUE,209024,0,2,1020487,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,神迹催化剂
+18024,1010488,TRUE,209025,0,2,1020488,,4,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,坚韧催化剂
+18025,1010489,TRUE,209026,0,2,1020489,,4,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,回春催化剂
+18026,1010490,TRUE,209027,0,2,1020490,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,还魂催化剂
+18027,1010491,TRUE,209028,0,2,1020491,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,复活催化剂
+18028,1010492,TRUE,209029,0,2,1020492,,4,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,不屈催化剂
+18029,1010493,TRUE,209030,0,2,1020493,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,魔抗催化剂
+18030,1010494,TRUE,209031,0,2,1020494,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,铁壁催化剂
+18031,1010495,TRUE,209032,0,2,1020495,,4,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,医术催化剂
+18032,1010496,TRUE,209033,0,2,1020496,,4,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,稳重催化剂
+18033,1010497,TRUE,209034,0,2,1020497,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,破甲催化剂
+18034,1010498,TRUE,209035,0,2,1020498,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,掌控催化剂
+18035,1010499,TRUE,209036,0,2,1020499,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,霸体催化剂
+18036,1010500,TRUE,209037,0,2,1020500,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,嗜血催化剂
+18037,1010501,TRUE,209038,0,2,1020501,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,金刚催化剂
+18038,1010502,TRUE,209039,0,2,1020502,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,守护催化剂
+18039,1010503,TRUE,209040,0,2,1020503,,4,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,净化催化剂
+18040,1010504,TRUE,209041,0,2,1020504,,4,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,反震催化剂
+18041,1010505,TRUE,209042,0,2,1020505,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,急袭催化剂
+18042,1010506,TRUE,209043,0,2,1020506,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,急智催化剂
+18043,1010507,TRUE,209044,0,2,1020507,,5,,0,,0,,,20015#30001,,,,,1,99999,,,,1030465,吸取催化剂
+18101,1010508,TRUE,209242,0,2,1020508,,5,,0,,0,,,,,,,,1,999999,,,,1030003,回溯密钥
+18102,1010509,TRUE,209243,0,2,1020509,,6,,0,,0,,,,,,,,1,999999,,,,1030003,回溯核心
+20000,1010510,FALSE,3085,1,,,,5,,0,,,,,,,,,20000#9,1,9999999,,,,1030172,超能DNA
+20001,1010511,FALSE,900001,29,,1020511,,6,,0,,0,,0,,,1,0,0,1,999999,,,,1030511,天皇巨星
+20002,1010512,FALSE,900002,29,,1020512,,5,,0,,0,,0,,,1,0,0,1,999999,,,,1030511,赛场主宰
+20003,1010513,FALSE,900003,29,,1020513,,4,,0,,0,,0,,,1,0,0,1,999999,,,,1030511,声名鹊起
+20004,1010514,FALSE,900004,29,,1020514,,6,,0,,0,,0,,,1,0,0,1,999999,,,,1030511,苍穹神座
+20005,1010515,FALSE,900005,29,,1020515,,5,,0,,0,,0,,,1,0,0,1,999999,,,,1030511,血界王座
+20006,1010516,FALSE,900006,29,,1020516,,4,,0,,0,,0,,,1,0,0,1,999999,,,,1030511,命座挑战者
+20007,1010517,FALSE,900007,29,,1020517,,5,,0,,0,,0,,,1,0,0,1,999999,,,,1030511,神眷者
+38043,1010518,TRUE,60409,10,2,1020518,,5,,0,,1,51405,0,,,1,0,0,1,9999,,,,1030518,守护礼包
+38091,1010519,TRUE,209269,10,2,1020519,,5,,0,,1,38091,0,,,1,0,0,1,9999,,,,1030518,征服装备箱
+39010,1010520,TRUE,209106,10,2,1020520,,5,,0,,1,51401,0,,,1,0,0,1,9999,,,,1030518,随机契约包
+50000,1010521,TRUE,60510,0,2,1020521,,3,,0,,,,,,,,,,1,999999999,,,,1030003,阿尔法粒子
+50001,1010522,TRUE,60511,0,2,1020522,,4,,0,,,,,,,,,,1,999999999,,,,1030003,贝塔能源
+50002,1010523,TRUE,60512,0,2,1020523,,5,,0,,,,,,,,,,1,999999999,,,,1030003,伽马原石
+50003,1010524,FALSE,60513,0,2,1020524,,5,,0,,,,,,,,,,,999999999,,,,1030003,神秘晶矿
+50801,1010072,FALSE,60013,29,,1020083,,6,,0,,0,,0,,,1,0,0,1,999999,,,,1030511,名称待定
+50802,1010072,FALSE,60014,29,,1020083,,5,,0,,0,,0,,,1,0,0,1,999999,,,,1030511,名称待定
+50803,1010072,FALSE,60015,29,,1020083,,4,,0,,0,,0,,,1,0,0,1,999999,,,,1030511,名称待定
+60001,1010528,TRUE,260001,3,1,1020528,,2,,1,15001,0,0,0,26081#19001,22001,1,0,0,1,999,,,,1030528,护卫之锤
+60002,1010529,TRUE,260002,3,1,1020529,,2,,1,15002,0,0,0,26081#19001#7801,22001,1,0,0,1,999,,,,1030528,战术之剑
+60016,1010530,TRUE,260016,3,1,1020530,,2,,1,15001,0,0,0,26081#19001,22001,1,0,0,1,999,,,,1030528,护卫手套
+60017,1010531,TRUE,260017,3,1,1020531,,2,,1,15002,0,0,0,26081#19001#7801,22001,1,0,0,1,999,,,,1030528,战术手套
+60022,1010532,TRUE,260022,3,1,1020532,,2,,1,15001,0,0,0,26081#19001,22001,1,0,0,1,999,,,,1030528,护卫战甲
+60023,1010533,TRUE,260023,3,1,1020533,,2,,1,15002,0,0,0,26081#19001#7801,22001,1,0,0,1,999,,,,1030528,战术战甲
+60025,1010534,TRUE,260025,3,1,1020534,,2,,1,15001,0,0,0,26081#19001,22001,1,0,0,1,999,,,,1030528,护卫战靴
+60026,1010535,TRUE,260026,3,1,1020535,,2,,1,15002,0,0,0,26081#19001#7801,22001,1,0,0,1,999,,,,1030528,战术战靴
+60034,1010536,TRUE,260034,3,1,1020536,,3,,1,15003,0,0,0,26081#19001#7801,22001,1,0,0,1,999,,,,1030528,死斗之刃
+60035,1010537,TRUE,260035,3,1,1020537,,3,,1,15004,0,0,0,26081#19001#7801,22001,1,0,0,1,999,,,,1030528,充能之杖
+60049,1010538,TRUE,260049,3,1,1020538,,3,,1,15003,0,0,0,26081#19001#7801,22001,1,0,0,1,999,,,,1030528,死斗手套
+60050,1010539,TRUE,260050,3,1,1020539,,3,,1,15004,0,0,0,26081#19001#7801,22001,1,0,0,1,999,,,,1030528,充能手套
+60055,1010540,TRUE,260055,3,1,1020540,,3,,1,15003,0,0,0,26081#19001#7801,22001,1,0,0,1,999,,,,1030528,死斗战甲
+60056,1010541,TRUE,260056,3,1,1020541,,3,,1,15004,0,0,0,26081#19001#7801,22001,1,0,0,1,999,,,,1030528,充能战甲
+60058,1010542,TRUE,260058,3,1,1020542,,3,,1,15003,0,0,0,26081#19001#7801,22001,1,0,0,1,999,,,,1030528,死斗战靴
+60059,1010543,TRUE,260059,3,1,1020543,,3,,1,15004,0,0,0,26081#19001#7801,22001,1,0,0,1,999,,,,1030528,充能战靴
+60067,1010544,TRUE,260067,3,1,1020544,,4,,1,15005,0,0,0,26081#19001#7801#1027,22001,1,0,0,1,999,,,,1030528,微光之杖
+60068,1010545,TRUE,260068,3,1,1020545,,4,,1,15011,0,0,0,26081#19001#7801#1027,22001,1,0,0,1,999,,,,1030528,异星之枪
+60069,1010546,TRUE,260069,3,1,1020546,,4,,1,15012,0,0,0,26081#19001#7801#1027,22001,1,0,0,1,999,,,,1030528,冲锋双刃
+60082,1010547,TRUE,260082,3,1,1020547,,4,,1,15005,0,0,0,26081#19001#7801#1027,22001,1,0,0,1,999,,,,1030528,微光手套
+60083,1010548,TRUE,260083,3,1,1020548,,4,,1,15011,0,0,0,26081#19001#7801#1027,22001,1,0,0,1,999,,,,1030528,异星手套
+60084,1010549,TRUE,260084,3,1,1020549,,4,,1,15012,0,0,0,26081#19001#7801#1027,22001,1,0,0,1,999,,,,1030528,冲锋手套
+60088,1010550,TRUE,260088,3,1,1020550,,4,,1,15005,0,0,0,26081#19001#7801#1027,22001,1,0,0,1,999,,,,1030528,微光战甲
+60089,1010551,TRUE,260089,3,1,1020551,,4,,1,15011,0,0,0,26081#19001#7801#1027,22001,1,0,0,1,999,,,,1030528,异星战甲
+60090,1010552,TRUE,260090,3,1,1020552,,4,,1,15012,0,0,0,26081#19001#7801#1027,22001,1,0,0,1,999,,,,1030528,冲锋战甲
+60091,1010553,TRUE,260091,3,1,1020553,,4,,1,15005,0,0,0,26081#19001#7801#1027,22001,1,0,0,1,999,,,,1030528,微光战靴
+60092,1010554,TRUE,260092,3,1,1020554,,4,,1,15011,0,0,0,26081#19001#7801#1027,22001,1,0,0,1,999,,,,1030528,异星战靴
+60093,1010555,TRUE,260093,3,1,1020555,,4,,1,15012,0,0,0,26081#19001#7801#1027,22001,1,0,0,1,999,,,,1030528,冲锋战靴
+60100,1010556,TRUE,260100,3,1,1020556,,5,,1,15013,0,0,0,19001#7801#1027#1028#36002,22001,1,0,0,1,999,,,,1030528,无畏之杖
+60101,1010557,TRUE,260101,3,1,1020557,,5,,1,15014,0,0,0,26081#19001#7801#1028,22001,1,0,0,1,999,,,,1030528,追魂之枪
+60102,1010558,TRUE,260102,3,1,1020558,,5,,1,15015,0,0,0,26081#19001#7801#1028,22001,1,0,0,1,999,,,,1030528,征服之弓
+60103,1010559,TRUE,260103,3,1,1020559,,5,,1,15016,0,0,0,26081#19001#7801#1028,22001,1,0,0,1,999,,,,1030528,命运之杖
+60125,1010560,TRUE,260125,3,1,1020560,,5,,1,15013,0,0,0,19001#7801#1027#1028#36002,22001,1,0,0,1,999,,,,1030528,无畏手套
+60126,1010561,TRUE,260126,3,1,1020561,,5,,1,15014,0,0,0,26081#19001#7801#1028,22001,1,0,0,1,999,,,,1030528,追魂手套
+60127,1010562,TRUE,260127,3,1,1020562,,5,,1,15015,0,0,0,26081#19001#7801#1028,22001,1,0,0,1,999,,,,1030528,征服手套
+60128,1010563,TRUE,260128,3,1,1020563,,5,,1,15016,0,0,0,26081#19001#7801#1028,22001,1,0,0,1,999,,,,1030528,命运手套
+60135,1010564,TRUE,260135,3,1,1020564,,5,,1,15013,0,0,0,19001#7801#1027#1028#36002,22001,1,0,0,1,999,,,,1030528,无畏战甲
+60136,1010565,TRUE,260136,3,1,1020565,,5,,1,15014,0,0,0,26081#19001#7801#1028,22001,1,0,0,1,999,,,,1030528,追魂战甲
+60137,1010566,TRUE,260137,3,1,1020566,,5,,1,15015,0,0,0,26081#19001#7801#1028,22001,1,0,0,1,999,,,,1030528,征服战甲
+60138,1010567,TRUE,260138,3,1,1020567,,5,,1,15016,0,0,0,26081#19001#7801#1028,22001,1,0,0,1,999,,,,1030528,命运战甲
+60140,1010568,TRUE,260140,3,1,1020568,,5,,1,15013,0,0,0,19001#7801#1027#1028#36002,22001,1,0,0,1,999,,,,1030528,无畏战靴
+60141,1010569,TRUE,260141,3,1,1020569,,5,,1,15014,0,0,0,26081#19001#7801#1028,22001,1,0,0,1,999,,,,1030528,追魂战靴
+60142,1010570,TRUE,260142,3,1,1020570,,5,,1,15015,0,0,0,26081#19001#7801#1028,22001,1,0,0,1,999,,,,1030528,征服战靴
+60144,1010571,TRUE,260144,3,1,1020571,,5,,1,15016,0,0,0,26081#19001#7801#1028,22001,1,0,0,1,999,,,,1030528,命运战靴
+60155,1010572,TRUE,260155,3,1,1020572,,6,,1,15017,0,0,0,19001#1028,22001,1,0,0,1,999,,,,1030528,光辉之剑
+60156,1010573,TRUE,260156,3,1,1020573,,6,,1,15018,0,0,0,19001,22001,1,0,0,1,999,,,,1030528,奇迹之锤
+60157,1010574,TRUE,260157,3,1,1020574,,6,,1,15019,0,0,0,20007,22001,1,0,0,1,999,,,,1030528,风暴之剑
+60158,1010575,TRUE,260158,3,1,1020575,,6,,1,15020,0,0,0,80009,22001,1,0,0,1,999,,,,1030528,异界之刃
+60159,1010576,TRUE,260159,3,1,1020576,,6,,1,15027,0,0,0,77001,22001,1,0,0,1,999,,,,1030528,冥海之刃
+60160,1010577,TRUE,260160,3,1,1020577,,6,,1,15028,0,0,0,77001,22001,1,0,0,1,999,,,,1030528,死神之刃
+60180,1010578,TRUE,260180,3,1,1020578,,6,,1,15017,0,0,0,19001#1028,22001,1,0,0,1,999,,,,1030528,光辉手套
+60181,1010579,TRUE,260181,3,1,1020579,,6,,1,15018,0,0,0,19001,22001,1,0,0,1,999,,,,1030528,奇迹手套
+60182,1010580,TRUE,260182,3,1,1020580,,6,,1,15019,0,0,0,20007,22001,1,0,0,1,999,,,,1030528,风暴手套
+60183,1010581,TRUE,260183,3,1,1020581,,6,,1,15020,0,0,0,80009,22001,1,0,0,1,999,,,,1030528,异界手套
+60184,1010582,TRUE,260184,3,1,1020582,,6,,1,15027,0,0,0,77001,22001,1,0,0,1,999,,,,1030528,冥海手套
+60185,1010583,TRUE,260185,3,1,1020583,,6,,1,15028,0,0,0,77001,22001,1,0,0,1,999,,,,1030528,死神手套
+60190,1010584,TRUE,260190,3,1,1020584,,6,,1,15017,0,0,0,19001#1028,22001,1,0,0,1,999,,,,1030528,光辉战甲
+60191,1010585,TRUE,260191,3,1,1020585,,6,,1,15018,0,0,0,19001,22001,1,0,0,1,999,,,,1030528,奇迹战甲
+60192,1010586,TRUE,260192,3,1,1020586,,6,,1,15019,0,0,0,20007,22001,1,0,0,1,999,,,,1030528,风暴战甲
+60193,1010587,TRUE,260193,3,1,1020587,,6,,1,15020,0,0,0,80009,22001,1,0,0,1,999,,,,1030528,异界战甲
+60194,1010588,TRUE,260194,3,1,1020588,,6,,1,15027,0,0,0,77001,22001,1,0,0,1,999,,,,1030528,冥海战甲
+60195,1010589,TRUE,260195,3,1,1020589,,6,,1,15028,0,0,0,19001#1028,22001,1,0,0,1,999,,,,1030528,光辉战靴
+60196,1010590,TRUE,260196,3,1,1020590,,6,,1,15017,0,0,0,19001,22001,1,0,0,1,999,,,,1030528,奇迹战靴
+60197,1010591,TRUE,260197,3,1,1020591,,6,,1,15018,0,0,0,20007,22001,1,0,0,1,999,,,,1030528,风暴战靴
+60198,1010592,TRUE,260198,3,1,1020592,,6,,1,15019,0,0,0,80009,22001,1,0,0,1,999,,,,1030528,异界战靴
+60199,1010593,TRUE,260199,3,1,1020593,,6,,1,15020,0,0,0,77001,22001,1,0,0,1,999,,,,1030528,冥海战靴
+60200,1010594,TRUE,260200,3,1,1020594,,6,,1,15027,0,0,0,77001,22001,1,0,0,1,999,,,,1030528,死神战甲
+60201,1010595,TRUE,260201,3,1,1020595,,6,,1,15028,0,0,0,77001,22001,1,0,0,1,999,,,,1030528,死神战靴
+60202,1010072,TRUE,3084,26,2,1020083,,3,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60203,1010072,TRUE,3084,26,2,1020083,,3,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60204,1010072,TRUE,3084,26,2,1020083,,3,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60205,1010072,TRUE,3084,26,2,1020083,,3,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60206,1010072,TRUE,3084,26,2,1020083,,3,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60207,1010072,TRUE,3084,26,2,1020083,,3,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60208,1010072,TRUE,3084,26,2,1020083,,3,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60209,1010072,TRUE,3084,26,2,1020083,,3,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60210,1010072,TRUE,3084,26,2,1020083,,3,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60211,1010072,TRUE,3084,26,2,1020083,,3,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60212,1010072,TRUE,3084,26,2,1020083,,4,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60213,1010072,TRUE,3084,26,2,1020083,,4,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60214,1010072,TRUE,3084,26,2,1020083,,4,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60215,1010072,TRUE,3084,26,2,1020083,,4,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60216,1010072,TRUE,3084,26,2,1020083,,4,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60217,1010072,TRUE,3084,26,2,1020083,,4,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60218,1010072,TRUE,3084,26,2,1020083,,4,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60219,1010072,TRUE,3084,26,2,1020083,,4,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60220,1010072,TRUE,3084,26,2,1020083,,4,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60221,1010072,TRUE,3084,26,2,1020083,,4,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60222,1010072,TRUE,3084,26,2,1020083,,5,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60223,1010072,TRUE,3084,26,2,1020083,,5,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60224,1010072,TRUE,3084,26,2,1020083,,5,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60225,1010072,TRUE,3084,26,2,1020083,,5,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60226,1010072,TRUE,3084,26,2,1020083,,5,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60227,1010072,TRUE,3084,26,2,1020083,,5,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60228,1010072,TRUE,3084,26,2,1020083,,5,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60229,1010072,TRUE,3084,26,2,1020083,,5,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60230,1010072,TRUE,3084,26,2,1020083,,5,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60231,1010072,TRUE,3084,26,2,1020083,,5,,0,,0,,,,,,,,1,99999,,,,1030596,名称待定
+60402,1010626,TRUE,60408,20,2,1020626,,5,,0,,2,60402,0,36001,,1,0,0,1,99999,,,,1030460,稀有材料自选箱
+60403,1010627,TRUE,209212,20,2,1020627,,6,,0,,2,60403,0,36001,,1,0,0,1,99999,,,,1030460,珍稀材料自选箱
+60404,1010628,TRUE,209224,20,2,1020628,,5,,0,,2,60404,0,77004,,1,0,0,1,99999,,,,1030460,珍贵材料自选箱
+60405,1010629,TRUE,209274,20,2,1020629,,5,,0,,2,60405,0,,,1,0,0,0,99999,,,,1030460,超值首充自选箱
+60406,1010072,TRUE,209211,20,2,1020083,,5,,0,,2,60406,0,,,1,0,0,0,99999,,,,1030460,名称待定
+60407,1010631,TRUE,60401,20,2,1020631,,6,,0,,1,60407#61407,0,36001,,1,0,0,1,9999,,,1030631,1030460,混沌秩序英雄自选
+60408,1010632,TRUE,209285,20,2,1020632,,6,,0,,1,60408,0,,,1,0,0,1,9999,,,,1030460,风暴自选箱
+60409,1010633,TRUE,209278,20,2,1020633,,5,,0,,1,60409,0,36008,,1,0,0,1,9999,,,,1030460,初阶材料箱
+60410,1010634,TRUE,209279,20,2,1020634,,5,,0,,1,60410,0,36008,,1,0,0,1,9999,,,,1030460,中阶材料箱
+70034,1010635,TRUE,209269,10,2,1020635,,5,,0,15014,1,70014,1,,,1,0,0,1,9999,,,,1030518,无畏套装箱
+70035,1010636,TRUE,209266,10,2,1020636,,2,,0,15014,1,70015,1,,,1,0,0,1,9999,,,,1030518,战术套装箱
+70036,1010637,TRUE,209267,10,2,1020637,,3,,0,15014,1,70016,1,,,1,0,0,1,9999,,,,1030518,死斗套装箱
+70037,1010638,TRUE,209268,10,2,1020638,,4,,0,15014,1,70017,1,,,1,0,0,1,9999,,,,1030518,微光套装箱
+70999,1010639,FALSE,3092,15,,1020639,,,,0,,,,,,,0,0,,1,1,,,,1030639,默认头像
+71000,1010639,FALSE,3091,15,,1020639,,,,0,,,,,,,0,0,,1,1,,,,1030639,默认头像
+71001,1010172,FALSE,3001,15,,1020641,,,,0,,,,,,,0,0,,1,1,,,,1030639,莫扎特
+71002,1010173,FALSE,3002,15,,1020642,,,,0,,,,,,,0,0,,1,1,,,,1030639,西蒙海耶
+71003,1010174,FALSE,3003,0,,1020643,,,,0,,,,,,,0,0,,1,1,,,,1030639,巴顿
+71004,1010175,FALSE,3004,15,,1020644,,,,0,,,,,,,0,0,,1,1,,,,1030639,爱迪生
+71005,1010176,FALSE,3005,0,,1020645,,,,0,,,,,,,0,0,,1,1,,,,1030639,德雷克
+71006,1010177,FALSE,3006,15,,1020646,,,,0,,,,,,,0,0,,1,1,,,,1030639,特斯拉
+71007,1010178,FALSE,3007,15,,1020647,,,,0,,,,,,,0,0,,1,1,,,,1030639,瓦特
+71008,1010179,FALSE,3008,15,,1020648,,,,0,,,,,,,0,0,,1,1,,,,1030639,爱因斯坦
+71009,1010180,FALSE,3009,15,,1020649,,,,0,,,,,,,0,0,,1,1,,,,1030639,诺贝尔
+71010,1010181,FALSE,3010,0,,1020650,,,,0,,,,,,,0,0,,1,1,,,,1030639,丹妮莉丝
+71011,1010182,FALSE,3011,15,,1020651,,,,0,,,,,,,0,0,,1,1,,,,1030639,居里夫人
+71012,1010183,FALSE,3012,0,,1020652,,,,0,,,,,,,0,0,,1,1,,,,1030639,俾斯麦
+71013,1010184,FALSE,3013,15,,1020653,,,,0,,,,,,,0,0,,1,1,,,,1030639,弗兰肯斯坦
+71014,1010185,FALSE,3014,15,,1020654,,,,0,,,,,,,0,0,,1,1,,,,1030639,亚森罗宾
+71015,1010186,FALSE,3015,0,,1020655,,,,0,,,,,,,0,0,,1,1,,,,1030639,乔
+71016,1010187,FALSE,3016,15,,1020656,,,,0,,,,,,,0,0,,1,1,,,,1030639,胡克
+71017,1010188,FALSE,3017,15,,1020657,,,,0,,,,,,,0,0,,1,1,,,,1030639,嘻哈青年
+71018,1010189,FALSE,3018,15,,1020658,,,,0,,,,,,,0,0,,1,1,,,,1030639,伐木工
+71019,1010190,FALSE,3019,0,,1020659,,,,0,,,,,,,0,0,,1,1,,,,1030639,真田幸村
+71020,1010191,FALSE,3020,15,,1020660,,,,0,,,,,,,0,0,,1,1,,,,1030639,关羽
+71021,1010192,FALSE,3021,15,,1020661,,,,0,,,,,,,0,0,,1,1,,,,1030639,亚历山大
+71022,1010193,FALSE,3022,15,,1020662,,,,0,,,,,,,0,0,,1,1,,,,1030639,李舜臣
+71023,1010194,FALSE,3023,15,,1020663,,,,0,,,,,,,0,0,,1,1,,,,1030639,服部半藏
+71024,1010195,FALSE,3024,0,,1020664,,,,0,,,,,,,0,0,,1,1,,,,1030639,韩信
+71025,1010196,FALSE,3025,15,,1020665,,,,0,,,,,,,0,0,,1,1,,,,1030639,李白
+71026,1010197,FALSE,3026,15,,1020666,,,,0,,,,,,,0,0,,1,1,,,,1030639,阿喀琉斯
+71027,1010198,FALSE,3027,15,,1020667,,,,0,,,,,,,0,0,,1,1,,,,1030639,成吉思汗
+71028,1010199,FALSE,3028,0,,1020668,,,,0,,,,,,,0,0,,1,1,,,,1030639,威廉基德
+71029,1010200,FALSE,3029,15,,1020669,,,,0,,,,,,,0,0,,1,1,,,,1030639,佐罗
+71030,1010201,FALSE,3030,15,,1020670,,,,0,,,,,,,0,0,,1,1,,,,1030639,斯巴达
+71031,1010202,FALSE,3031,15,,1020671,,,,0,,,,,,,0,0,,1,1,,,,1030639,土方岁三
+71032,1010203,FALSE,3032,0,,1020672,,,,0,,,,,,,0,0,,1,1,,,,1030639,花木兰
+71033,1010204,FALSE,3033,15,,1020673,,,,0,,,,,,,0,0,,1,1,,,,1030639,齐格飞
+71034,1010205,FALSE,3034,15,,1020674,,,,0,,,,,,,0,0,,1,1,,,,1030639,运动员
+71035,1010206,FALSE,3035,15,,1020675,,,,0,,,,,,,0,0,,1,1,,,,1030639,农夫
+71036,1010207,FALSE,3036,15,,1020676,,,,0,,,,,,,0,0,,1,1,,,,1030639,示巴女王
+71037,1010208,FALSE,3037,15,,1020677,,,,0,,,,,,,0,0,,1,1,,,,1030639,克娄帕特拉
+71038,1010209,FALSE,3038,15,,1020678,,,,0,,,,,,,0,0,,1,1,,,,1030639,贝奥武夫
+71039,1010210,FALSE,3039,15,,1020679,,,,0,,,,,,,0,0,,1,1,,,,1030639,荷马
+71040,1010211,FALSE,3040,0,,1020680,,,,0,,,,,,,0,0,,1,1,,,,1030639,拉斐尔
+71041,1010212,FALSE,3041,15,,1020681,,,,0,,,,,,,0,0,,1,1,,,,1030639,赫拉克勒斯
+71042,1010213,FALSE,3042,0,,1020682,,,,0,,,,,,,0,0,,1,1,,,,1030639,但丁
+71043,1010214,FALSE,3043,15,,1020683,,,,0,,,,,,,0,0,,1,1,,,,1030639,亚瑟
+71044,1010215,FALSE,3044,15,,1020684,,,,0,,,,,,,0,0,,1,1,,,,1030639,薛定谔
+71045,1010216,FALSE,3045,15,,1020685,,,,0,,,,,,,0,0,,1,1,,,,1030639,格林
+71046,1010217,FALSE,3046,15,,1020686,,,,0,,,,,,,0,0,,1,1,,,,1030639,茜茜公主
+71047,1010218,FALSE,3047,15,,1020687,,,,0,,,,,,,0,0,,1,1,,,,1030639,弗洛伊德
+71048,1010219,FALSE,3048,15,,1020688,,,,0,,,,,,,0,0,,1,1,,,,1030639,雨果
+71049,1010220,FALSE,3049,15,,1020689,,,,0,,,,,,,0,0,,1,1,,,,1030639,肖邦
+71050,1010221,FALSE,3050,0,,1020690,,,,0,,,,,,,0,0,,1,1,,,,1030639,玛利亚
+71051,1010222,FALSE,3051,15,,1020691,,,,0,,,,,,,0,0,,1,1,,,,1030639,唐吉坷德
+71052,1010223,FALSE,3052,15,,1020692,,,,0,,,,,,,0,0,,1,1,,,,1030639,海明威
+71053,1010224,FALSE,3053,15,,1020693,,,,0,,,,,,,0,0,,1,1,,,,1030639,服务员
+71054,1010225,FALSE,3054,15,,1020694,,,,0,,,,,,,0,0,,1,1,,,,1030639,护士
+71057,1010226,FALSE,3055,15,,1020695,,,,0,,,,,,,0,0,,1,1,,,,1030639,赵云
+71058,1010227,FALSE,3056,0,,1020696,,,,0,,,,,,,0,0,,1,1,,,,1030639,布伦谢尔德
+71059,1010228,FALSE,3057,15,,1020697,,,,0,,,,,,,0,0,,1,1,,,,1030639,海伦
+71060,1010229,FALSE,3058,15,,1020698,,,,0,,,,,,,0,0,,1,1,,,,1030639,南丁格尔
+71061,1010230,FALSE,3059,0,,1020699,,,,0,,,,,,,0,0,,1,1,,,,1030639,凯撒
+71062,1010231,FALSE,3060,15,,1020700,,,,0,,,,,,,0,0,,1,1,,,,1030639,赫克托耳
+71063,1010232,FALSE,3061,15,,1020701,,,,0,,,,,,,0,0,,1,1,,,,1030639,雅典娜
+71064,1010233,FALSE,3062,0,,1020702,,,,0,,,,,,,0,0,,1,1,,,,1030639,德川家康
+71065,1010234,FALSE,3063,15,,1020703,,,,0,,,,,,,0,0,,1,1,,,,1030639,贞德
+71066,1010235,FALSE,3064,0,,1020704,,,,0,,,,,,,0,0,,1,1,,,,1030639,瓦尔基里
+71067,1010236,FALSE,3065,15,,1020705,,,,0,,,,,,,0,0,,1,1,,,,1030639,帕里斯
+71068,1010237,FALSE,3066,0,,1020706,,,,0,,,,,,,0,0,,1,1,,,,1030639,拿破仑
+71069,1010238,FALSE,3067,15,,1020707,,,,0,,,,,,,0,0,,1,1,,,,1030639,哥白尼
+71070,1010239,FALSE,3068,0,,1020708,,,,0,,,,,,,0,0,,1,1,,,,1030639,毕达哥拉斯
+71071,1010240,FALSE,3069,15,,1020709,,,,0,,,,,,,0,0,,1,1,,,,1030639,罗宾汉
+71072,1010241,FALSE,3070,0,,1020710,,,,0,,,,,,,0,0,,1,1,,,,1030639,织田信长
+71073,1010242,FALSE,3071,15,,1020711,,,,0,,,,,,,0,0,,1,1,,,,1030639,哈桑
+71074,1010243,FALSE,3072,15,,1020712,,,,0,,,,,,,0,0,,1,1,,,,1030639,布鲁图斯
+71075,1010244,FALSE,3073,15,,1020713,,,,0,,,,,,,0,0,,1,1,,,,1030639,所罗门
+71076,1010714,FALSE,3074,0,,1020714,,,,0,,,,,,,0,0,,1,1,,,,1030639,嬴政
+71079,1010246,FALSE,3075,0,,1020715,,,,0,,,,,,,0,0,,1,1,,,,1030639,卑弥呼
+71080,1010247,FALSE,3076,0,,1020716,,,,0,,,,,,,0,0,,1,1,,,,1030639,白起
+71081,1010248,FALSE,3077,15,,1020717,,,,0,,,,,,,0,0,,1,1,,,,1030639,弗拉德
+71082,1010249,FALSE,3078,15,,1020718,,,,0,,,,,,,0,0,,1,1,,,,1030639,明智光秀
+71085,1010250,FALSE,3079,15,,1020719,,,,0,,,,,,,0,0,,1,1,,,,1030639,伊丽莎白
+71086,1010251,FALSE,3080,0,,1020720,,,,0,,,,,,,0,0,,1,1,,,,1030639,血腥玛丽
+71087,1010252,FALSE,3081,15,,1020721,,,,0,,,,,,,0,0,,1,1,,,,1030639,弑君者詹姆
+71088,1010253,FALSE,3082,15,,1020722,,,,0,,,,,,,0,0,,1,1,,,,1030639,开膛手杰克
+71089,1010254,FALSE,3083,15,,1020723,,,,0,,,,,,,0,0,,1,1,,,,1030639,尼禄
+71090,1010255,FALSE,3084,15,,1020724,,,,0,,,,,,,0,0,,1,1,,,,1030639,霍恩海姆
+72001,1010725,TRUE,209244,0,2,1020725,,4,,0,,0,,,80009#1027#70001#36001,,,,,1,99999,,,,1030003,超强合金
+72002,1010726,TRUE,209245,0,2,1020726,,4,,0,,0,,,80009#1028,,,,,1,99999,,,,1030003,守护能量
+72003,1010727,TRUE,209246,0,2,1020727,,4,,0,,0,,,1028#77004,,,,,1,99999,,,,1030003,超频矩阵
+72004,1010728,TRUE,209247,0,2,1020728,,4,,0,,0,,,,,,,,1,99999,,,,1030003,守护引擎
+72005,1010729,TRUE,209248,0,2,1020729,,5,,0,,0,,,,,,,,1,99999,,,,1030003,守护合金
+72006,1010730,TRUE,209249,0,2,1020730,,5,,0,,0,,,,,,,,1,99999,,,,1030008,研发值
+80000,1010731,FALSE,300000,11,,1020731,,,,0,,,,,,,0,0,,1,1,,,,1030041,默认
+80001,1010732,FALSE,300001,11,,1020732,,,,0,,,,,36004,,0,0,,1,1,,,,1030041,新月之痕
+80002,1010733,FALSE,300002,11,,1020733,,,,0,,,,,36005,,0,0,,1,1,,,,1030041,晓月涟漪
+80003,1010734,FALSE,300007,11,,1020734,,6,,0,,,,,,,0,0,,1,1,,,,1030734,锦标冠军
+80004,1010003,FALSE,300003,0,,1020003,,,,0,,,,,,,0,0,,1,1,,,,1030734,废弃
+80005,1010003,FALSE,300004,0,,1020003,,,,0,,,,,,,0,0,,1,1,,,,1030734,废弃
+80006,1010003,FALSE,300005,0,,1020003,,,,0,,,,,,,0,0,,1,1,,,,1030734,废弃
+80007,1010003,FALSE,300006,0,,1020003,,,,0,,,,,,,0,0,,1,1,,,,1030734,废弃
+81001,1010739,TRUE,209268,10,2,1020739,,4,,0,,1,71001,1,,,0,0,,1,9999,,,,1030518,冲锋装备箱
+81002,1010740,TRUE,209269,10,2,1020740,,5,,0,,1,20023,1,,,0,0,,1,9999,,,,1030518,无畏装备箱
+81003,1010741,TRUE,209269,10,2,1020741,,5,,0,,1,20024,1,,,0,0,,1,9999,,,,1030518,追魂装备箱
+81004,1010742,TRUE,209270,10,2,1020742,,6,,0,,1,20027,1,36001,,0,0,,1,9999,,,,1030518,光辉装备箱
+81104,1010003,TRUE,11015,10,2,1020003,,3,,0,,1,20038,1,,,0,0,,1,9999,,,,1030518,废弃
+81105,1010003,TRUE,11015,10,2,1020003,,4,,0,,1,20039,1,,,0,0,,1,9999,,,,1030518,废弃
+81106,1010003,TRUE,11016,10,2,1020003,,5,,0,,1,20040,1,,,0,0,,1,9999,,,,1030518,废弃
+81107,1010746,TRUE,209215,10,2,1020746,,4,,0,,1,483,1,,,0,0,,1,9999,,,,1030518,幸运轮盘礼包
+81108,1010747,TRUE,209211,10,2,1020747,,5,,0,,1,484,1,,,0,0,,1,9999,,,,1030518,豪华轮盘礼包
+81109,1010003,TRUE,11015,10,2,1020003,,4,,0,,1,70018,1,,,0,0,,1,9999,,,,1030518,废弃
+81110,1010003,TRUE,11015,10,2,1020003,,4,,0,,1,70019,1,,,0,0,,1,9999,,,,1030518,废弃
+81111,1010003,TRUE,11015,10,2,1020003,,4,,0,,1,70020,1,,,0,0,,1,9999,,,,1030518,废弃
+81112,1010751,TRUE,209278,10,2,1020751,,5,,0,,1,20034,1,,,0,0,,1,9999,,,,1030518,招募礼盒
+81113,1010752,TRUE,209279,10,2,1020752,,5,,0,,1,20035,1,,,0,0,,1,9999,,,,1030518,高级招募礼盒
+81114,1010753,TRUE,209269,10,2,1020753,,5,,0,,1,20026,1,,,0,0,,1,9999,,,,1030518,命运装备箱
+81115,1010754,TRUE,209270,10,2,1020754,,6,,0,,1,20027,1,,,0,0,,1,9999,,,,1030518,一星红装礼包
+81116,1010755,TRUE,60404,20,2,1020755,,5,,0,,2,51416,0,,,1,0,0,1,9999,,,,1030518,随机碎片自选箱
+81117,1010756,TRUE,209276,10,2,1020756,,2,,0,,1,20042,0,,,1,0,0,0,9999,,,,1030518,绿色芯片随机箱
+81118,1010757,TRUE,209277,10,2,1020757,,3,,0,,1,101,0,,,1,0,0,0,9999,,,,1030518,蓝色芯片随机箱
+81119,1010758,TRUE,209278,10,2,1020758,,4,,0,,1,102,0,,,1,0,0,0,9999,,,,1030518,紫色芯片随机箱
+81120,1010759,TRUE,209279,10,2,1020759,,5,,0,,1,20047,0,,,1,0,0,0,9999,,,,1030518,橙色芯片随机箱
+81121,1010760,TRUE,209280,10,2,1020760,,6,,0,,1,104,0,,,1,0,0,0,9999,,,,1030518,红色芯片随机箱
+81122,1010761,TRUE,209281,20,2,1020761,,2,,0,,2,100,0,,,1,0,0,0,9999,,,,1030460,绿色芯片自选箱
+81123,1010762,TRUE,209282,20,2,1020761,,3,,0,,2,101,0,,,1,0,0,0,9999,,,,1030460,蓝色芯片自选箱
+81124,1010763,TRUE,209283,20,2,1020761,,4,,0,,2,102,0,,,1,0,0,0,9999,,,,1030460,紫色芯片自选箱
+81125,1010764,TRUE,209284,20,2,1020761,,5,,0,,2,20048#20049#20050#20051,0,,,1,0,0,0,9999,,,,1030460,橙色芯片自选箱
+81126,1010765,TRUE,209285,20,2,1020761,,6,,0,,2,20052#20053#20054#20055,0,,,1,0,0,0,9999,,,,1030460,红色芯片自选箱
+81127,1010766,TRUE,209270,10,2,1020766,,6,,0,,1,20028,0,,,1,0,0,1,9999,,,,1030518,奇迹装备箱
+81128,1010767,TRUE,60403,20,2,1020767,,5,,0,,2,51415,0,,,1,0,0,1,9999,,,,1030460,全系碎片自选箱
+81129,1010003,TRUE,209214,20,2,1020003,,6,,0,,2,20040,0,,,1,0,0,1,9999,,,,1030460,废弃
+81130,1010003,TRUE,209215,20,2,1020003,,6,,0,,2,20056#20057#20058#20059,0,,,1,0,0,1,9999,,,,1030518,废弃
+81131,1010770,TRUE,209269,10,2,1020770,,5,,0,,1,20023,0,,,1,0,0,1,9999,,,,1030518,随机1星金装礼包
+81132,1010771,TRUE,209217,10,2,1020771,,5,,0,,1,20060,0,,,1,0,0,1,9999,,,,1030518,幸运币抽奖箱
+81133,1010003,TRUE,209218,10,2,1020003,,5,,0,,1,20061,0,,,1,0,0,1,9999,,,,1030518,废弃
+81134,1010003,TRUE,209219,10,2,1020003,,5,,0,,1,20062,0,,,1,0,0,1,9999,,,,1030518,废弃
+81135,1010003,TRUE,209220,10,2,1020003,,5,,0,,1,20063,0,,,1,0,0,1,9999,,,,1030518,废弃
+81136,1010003,TRUE,209221,20,2,1020003,,5,,0,,2,20064,0,,,1,0,0,1,9999,,,,1030460,废弃
+81137,1010003,TRUE,209222,10,2,1020003,,6,,0,,1,20065,0,,,1,0,0,1,9999,,,,1030518,废弃
+81138,1010003,TRUE,209223,10,2,1020003,,6,,0,,1,20066,0,,,1,0,0,1,9999,,,,1030518,废弃
+81139,1010003,TRUE,209224,10,2,1020003,,5,,0,,1,20067,0,,,1,0,0,1,9999,,,,1030518,废弃
+81140,1010003,TRUE,209225,10,2,1020003,,4,,0,,1,20068,0,,,1,0,0,1,9999,,,,1030518,废弃
+81141,1010780,TRUE,209226,10,2,1020780,,5,,0,,1,834,0,,,1,0,0,1,9999,,,,1030518,BUG礼包
+81142,1010781,TRUE,209227,10,2,1020781,,5,,0,,1,835,0,,,1,0,0,1,9999,,,,1030518,入群礼包
+81143,1010072,TRUE,3084,20,2,1020083,,3,,0,,2,113,0,,,1,0,0,1,9999,,,,1030460,名称待定
+81144,1010072,TRUE,3084,20,2,1020083,,4,,0,,2,114,0,,,1,0,0,1,9999,,,,1030460,名称待定
+81145,1010072,TRUE,3084,20,2,1020083,,5,,0,,2,115,0,,,1,0,0,1,9999,,,,1030460,名称待定
+81146,1010785,TRUE,209222,10,2,1020785,,4,,0,,1,81146,0,,,1,0,0,1,9999,,,,1030518,英雄经验箱
+81147,1010786,TRUE,209222,10,2,1020786,,5,,0,,1,81147,0,,,1,0,0,1,9999,,,,1030518,超级经验箱
+81148,1010787,TRUE,60412,2,3,1020787,,5,,1,100005,1,81148,50,,,,,,1,99999,,,,1030787,5星精英英雄碎片
+81149,1010788,TRUE,60400,10,2,1020788,,5,,0,,1,81149,0,,,1,0,0,1,9999,,,,1030518,成长嘉奖箱
+82001,1010789,FALSE,209260,0,,1020789,,5,,0,,0,,0,36006,,1,0,0,1,9999,,,,1030041,腐化之战特权
+90001,1010003,TRUE,90001,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90002,1010003,TRUE,90002,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90003,1010003,TRUE,90003,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90004,1010003,TRUE,90004,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90005,1010003,TRUE,90005,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90006,1010003,TRUE,90006,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90007,1010003,TRUE,90007,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90008,1010003,TRUE,90008,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90009,1010003,TRUE,90009,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90010,1010003,TRUE,90010,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90011,1010003,TRUE,90011,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90012,1010003,TRUE,90012,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90013,1010003,TRUE,90013,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90014,1010003,TRUE,90014,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90015,1010003,TRUE,90015,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90016,1010003,TRUE,90016,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90017,1010003,TRUE,90017,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90018,1010003,TRUE,90018,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90019,1010003,TRUE,90019,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90020,1010003,TRUE,90020,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90021,1010003,TRUE,90021,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90022,1010003,TRUE,90022,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90023,1010003,TRUE,90023,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90024,1010003,TRUE,90024,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90025,1010003,TRUE,90025,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90026,1010003,TRUE,90026,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90027,1010003,TRUE,90027,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90028,1010003,TRUE,90028,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90029,1010003,TRUE,90029,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90030,1010003,TRUE,90030,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90031,1010003,TRUE,90031,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90032,1010003,TRUE,90032,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90033,1010003,TRUE,90033,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90034,1010003,TRUE,90034,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90035,1010003,TRUE,90035,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90036,1010003,TRUE,90036,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90037,1010003,TRUE,90037,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90038,1010003,TRUE,90038,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90039,1010003,TRUE,90039,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90040,1010003,TRUE,90040,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90041,1010003,TRUE,90041,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90042,1010003,TRUE,90042,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90043,1010003,TRUE,90043,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90044,1010003,TRUE,90044,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90045,1010003,TRUE,90045,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90046,1010003,TRUE,90046,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90047,1010003,TRUE,90047,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90048,1010003,TRUE,90048,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90049,1010003,TRUE,90049,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90050,1010003,TRUE,90050,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90051,1010003,TRUE,90051,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90052,1010003,TRUE,90052,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+90053,1010003,TRUE,90052,14,2,1020003,,5,,1,15011,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+99000,1010843,TRUE,209285,20,2,1020843,,5,,0,,2,99000,0,,,1,0,0,1,99999,,,,1030460,1星传说芯片自选箱
+99001,1010844,TRUE,209285,20,2,1020844,,5,,0,,2,99001,0,,,1,0,0,1,99999,,,,1030460,2星传说芯片自选箱
+99002,1010845,TRUE,209285,20,2,1020845,,5,,0,,2,99002,0,,,1,0,0,1,99999,,,,1030460,3星传说芯片自选箱
+99003,1010846,TRUE,209211,10,2,1020846,,5,,0,,1,99003,0,,,1,0,0,1,99999,,,,1030518,传说芯片随机箱
+99004,1010847,TRUE,209284,20,2,1020847,,5,,0,,2,51406#51407#51408,0,,,1,0,0,1,9999,,,1030847,1030460,3系自选碎片箱
+99005,1010848,TRUE,209286,20,2,1020848,,5,,0,,2,99025#99026#99027,0,20014,,1,0,0,1,9999,,,1030847,1030460,3系升星自选箱
+99011,1010849,TRUE,209216,10,2,1020849,,5,,0,,1,99011,0,,,1,0,0,1,9999,,,,1030518,乔升星箱
+99012,1010850,TRUE,209216,10,2,1020850,,5,,0,,1,99012,0,,,1,0,0,1,9999,,,,1030518,亚森罗宾升星箱
+99013,1010851,TRUE,209216,10,2,1020851,,5,,0,,1,99013,0,,,1,0,0,1,9999,,,,1030518,弗兰肯斯坦升星箱
+99014,1010852,TRUE,209216,10,2,1020852,,5,,0,,1,99014,0,,,1,0,0,1,9999,,,,1030518,俾斯麦升星箱
+99015,1010853,TRUE,209216,10,2,1020853,,5,,0,,1,99015,0,,,1,0,0,1,9999,,,,1030518,居里夫人升星箱
+99016,1010854,TRUE,209216,10,2,1020854,,5,,0,,1,99016,0,,,1,0,0,1,9999,,,,1030518,花木兰升星箱
+99017,1010855,TRUE,209216,10,2,1020855,,5,,0,,1,99017,0,,,1,0,0,1,9999,,,,1030518,斯巴达升星箱
+99018,1010856,TRUE,209216,10,2,1020856,,5,,0,,1,99018,0,,,1,0,0,1,9999,,,,1030518,佐罗升星箱
+99019,1010857,TRUE,209216,10,2,1020857,,5,,0,,1,99019,0,,,1,0,0,1,9999,,,,1030518,威廉基德升星箱
+99020,1010858,TRUE,209216,10,2,1020858,,5,,0,,1,99020,0,,,1,0,0,1,9999,,,,1030518,唐吉坷德升星箱
+99021,1010859,TRUE,209216,10,2,1020859,,5,,0,,1,99021,0,,,1,0,0,1,9999,,,,1030518,玛利亚升星箱
+99022,1010860,TRUE,209216,10,2,1020860,,5,,0,,1,99022,0,,,1,0,0,1,9999,,,,1030518,肖邦升星箱
+99023,1010861,TRUE,209216,10,2,1020861,,5,,0,,1,99023,0,,,1,0,0,1,9999,,,,1030518,雨果升星箱
+99024,1010862,TRUE,209216,10,2,1020862,,5,,0,,1,99024,0,,,1,0,0,1,9999,,,,1030518,弗洛伊德升星箱
+100001,1010003,TRUE,90001,19,2,1020003,1,2,,1,15021,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100002,1010003,TRUE,90001,19,2,1020003,1,3,,1,15022,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100003,1010003,TRUE,90001,19,2,1020003,1,4,,1,15023,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100004,1010003,TRUE,90001,19,2,1020003,1,5,,1,15024,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100005,1010003,TRUE,90001,19,2,1020003,1,6,,1,15025,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100006,1010003,TRUE,90005,19,2,1020003,1,2,,1,15021,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100007,1010003,TRUE,90005,19,2,1020003,1,3,,1,15022,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100008,1010003,TRUE,90005,19,2,1020003,1,4,,1,15023,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100009,1010003,TRUE,90005,19,2,1020003,1,5,,1,15024,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100010,1010003,TRUE,90005,19,2,1020003,1,6,,1,15025,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100011,1010003,TRUE,90002,19,2,1020003,2,2,,1,15021,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100012,1010003,TRUE,90002,19,2,1020003,2,3,,1,15022,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100013,1010003,TRUE,90002,19,2,1020003,2,4,,1,15023,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100014,1010003,TRUE,90002,19,2,1020003,2,5,,1,15024,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100015,1010003,TRUE,90002,19,2,1020003,2,6,,1,15025,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100016,1010003,TRUE,90006,19,2,1020003,2,2,,1,15021,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100017,1010003,TRUE,90006,19,2,1020003,2,3,,1,15022,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100018,1010003,TRUE,90006,19,2,1020003,2,4,,1,15023,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100019,1010003,TRUE,90006,19,2,1020003,2,5,,1,15024,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100020,1010003,TRUE,90006,19,2,1020003,2,6,,1,15025,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100021,1010003,TRUE,90003,19,2,1020003,3,2,,1,15021,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100022,1010003,TRUE,90003,19,2,1020003,3,3,,1,15022,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100023,1010003,TRUE,90003,19,2,1020003,3,4,,1,15023,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100024,1010003,TRUE,90003,19,2,1020003,3,5,,1,15024,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100025,1010003,TRUE,90003,19,2,1020003,3,6,,1,15025,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100026,1010003,TRUE,90007,19,2,1020003,3,2,,1,15021,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100027,1010003,TRUE,90007,19,2,1020003,3,3,,1,15022,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100028,1010003,TRUE,90007,19,2,1020003,3,4,,1,15023,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100029,1010003,TRUE,90007,19,2,1020003,3,5,,1,15024,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100030,1010003,TRUE,90007,19,2,1020003,3,6,,1,15025,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100031,1010003,TRUE,90004,19,2,1020003,4,2,,1,15021,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100032,1010003,TRUE,90004,19,2,1020003,4,3,,1,15022,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100033,1010003,TRUE,90004,19,2,1020003,4,4,,1,15023,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100034,1010003,TRUE,90004,19,2,1020003,4,5,,1,15024,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100035,1010003,TRUE,90004,19,2,1020003,4,6,,1,15025,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100036,1010003,TRUE,90008,19,2,1020003,4,2,,1,15021,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100037,1010003,TRUE,90008,19,2,1020003,4,3,,1,15022,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100038,1010003,TRUE,90008,19,2,1020003,4,4,,1,15023,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100039,1010003,TRUE,90008,19,2,1020003,4,5,,1,15024,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+100040,1010003,TRUE,90008,19,2,1020003,4,6,,1,15025,0,0,0,,,1,0,0,1,9999,,,,1030088,废弃
+101010,1010072,TRUE,2110,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+117191,1010904,TRUE,3104,10,2,1020904,,4,,0,,1,117191,,,,1,0,0,1,99999,,,,1030518,防御芯片宝箱
+117192,1010905,TRUE,3104,10,2,1020905,,4,,0,,1,117192,,,,1,0,0,1,99999,,,,1030518,暴击芯片宝箱
+117193,1010906,TRUE,3104,10,2,1020906,,4,,0,,1,117193,,,,1,0,0,1,99999,,,,1030518,攻击芯片宝箱
+120000,1010907,TRUE,3084,28,2,1020907,,5,,0,,0,,,,,,,,1,99999,,,,1030907,女娲
+120001,1010908,FALSE,4104,28,2,1020908,,5,,0,,0,,,,,,,,1,99999,,,,1030907,奥丁
+200010,1010909,TRUE,50111,0,2,1020909,,5,,0,,,,,,80011,,,,1,999999999,,,,1030003,科技立方
+200011,1010910,FALSE,12050,0,,1020910,,5,,0,,,,,,,,,,1,1,,,,1030041,能量亲和
+201001,1010072,FALSE,4105,30,,,,,,,,,,,,,,,,1,1,,,,1030903,名称待定
+201002,1010072,FALSE,4106,30,,,,,,,,,,,,,,,,1,1,,,,1030903,名称待定
+201003,1010072,FALSE,4107,30,,,,,,,,,,,,,,,,1,1,,,,1030903,名称待定
+201004,1010072,FALSE,4108,30,,,,,,,,,,,,,,,,1,1,,,,1030903,名称待定
+201005,1010072,FALSE,4109,30,,,,,,,,,,,,,,,,1,1,,,,1030903,名称待定
+201006,1010072,FALSE,4110,30,,,,,,,,,,,,,,,,1,1,,,,1030903,名称待定
+300001,1010917,TRUE,280001,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(防御)
+300002,1010918,TRUE,280002,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(防御)
+300003,1010919,TRUE,280003,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(防御)
+300004,1010920,TRUE,280004,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(防御)
+300101,1010921,TRUE,280049,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(防御)
+300102,1010922,TRUE,280050,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(防御)
+300103,1010923,TRUE,280051,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(防御)
+300104,1010924,TRUE,280052,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(防御)
+300201,1010925,TRUE,280097,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(防御)
+300202,1010926,TRUE,280098,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(防御)
+300203,1010927,TRUE,280099,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(防御)
+300204,1010928,TRUE,280100,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(防御)
+301001,1010917,TRUE,280001,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(防御)
+301002,1010918,TRUE,280002,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(防御)
+301003,1010919,TRUE,280003,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(防御)
+301004,1010920,TRUE,280004,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(防御)
+301101,1010921,TRUE,280049,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(防御)
+301102,1010922,TRUE,280050,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(防御)
+301103,1010923,TRUE,280051,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(防御)
+301104,1010924,TRUE,280052,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(防御)
+301201,1010925,TRUE,280097,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(防御)
+301202,1010926,TRUE,280098,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(防御)
+301203,1010927,TRUE,280099,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(防御)
+301204,1010928,TRUE,280100,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(防御)
+302001,1010917,TRUE,280001,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(防御)
+302002,1010918,TRUE,280002,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(防御)
+302003,1010919,TRUE,280003,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(防御)
+302004,1010920,TRUE,280004,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(防御)
+302101,1010921,TRUE,280049,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(防御)
+302102,1010922,TRUE,280050,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(防御)
+302103,1010923,TRUE,280051,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(防御)
+302104,1010924,TRUE,280052,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(防御)
+302201,1010925,TRUE,280097,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(防御)
+302202,1010926,TRUE,280098,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(防御)
+302203,1010927,TRUE,280099,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(防御)
+302204,1010928,TRUE,280100,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(防御)
+303001,1010917,TRUE,280001,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(防御)
+303002,1010918,TRUE,280002,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(防御)
+303003,1010919,TRUE,280003,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(防御)
+303004,1010920,TRUE,280004,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(防御)
+303101,1010921,TRUE,280049,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(防御)
+303102,1010922,TRUE,280050,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(防御)
+303103,1010923,TRUE,280051,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(防御)
+303104,1010924,TRUE,280052,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(防御)
+303201,1010925,TRUE,280097,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(防御)
+303202,1010926,TRUE,280098,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(防御)
+303203,1010927,TRUE,280099,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(防御)
+303204,1010928,TRUE,280100,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(防御)
+304001,1010917,TRUE,280001,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(防御)
+304002,1010918,TRUE,280002,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(防御)
+304003,1010919,TRUE,280003,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(防御)
+304004,1010920,TRUE,280004,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(防御)
+304101,1010921,TRUE,280049,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(防御)
+304102,1010922,TRUE,280050,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(防御)
+304103,1010923,TRUE,280051,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(防御)
+304104,1010924,TRUE,280052,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(防御)
+304201,1010925,TRUE,280097,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(防御)
+304202,1010926,TRUE,280098,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(防御)
+304203,1010927,TRUE,280099,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(防御)
+304204,1010928,TRUE,280100,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(防御)
+305001,1010917,TRUE,280001,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(防御)
+305002,1010918,TRUE,280002,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(防御)
+305003,1010919,TRUE,280003,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(防御)
+305004,1010920,TRUE,280004,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(防御)
+305101,1010921,TRUE,280049,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(防御)
+305102,1010922,TRUE,280050,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(防御)
+305103,1010923,TRUE,280051,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(防御)
+305104,1010924,TRUE,280052,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(防御)
+305201,1010925,TRUE,280097,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(防御)
+305202,1010926,TRUE,280098,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(防御)
+305203,1010927,TRUE,280099,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(防御)
+305204,1010928,TRUE,280100,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(防御)
+306001,1010917,TRUE,280001,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(防御)
+306002,1010918,TRUE,280002,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(防御)
+306003,1010919,TRUE,280003,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(防御)
+306004,1010920,TRUE,280004,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(防御)
+306101,1010921,TRUE,280049,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(防御)
+306102,1010922,TRUE,280050,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(防御)
+306103,1010923,TRUE,280051,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(防御)
+306104,1010924,TRUE,280052,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(防御)
+306201,1010925,TRUE,280097,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(防御)
+306202,1010926,TRUE,280098,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(防御)
+306203,1010927,TRUE,280099,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(防御)
+306204,1010928,TRUE,280100,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(防御)
+307001,1010917,TRUE,280001,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(防御)
+307002,1010918,TRUE,280002,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(防御)
+307003,1010919,TRUE,280003,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(防御)
+307004,1010920,TRUE,280004,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(防御)
+307101,1010921,TRUE,280049,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(防御)
+307102,1010922,TRUE,280050,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(防御)
+307103,1010923,TRUE,280051,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(防御)
+307104,1010924,TRUE,280052,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(防御)
+307201,1010925,TRUE,280097,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(防御)
+307202,1010926,TRUE,280098,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(防御)
+307203,1010927,TRUE,280099,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(防御)
+307204,1010928,TRUE,280100,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(防御)
+308001,1010917,TRUE,280001,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(防御)
+308002,1010918,TRUE,280002,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(防御)
+308003,1010919,TRUE,280003,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(防御)
+308004,1010920,TRUE,280004,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(防御)
+308101,1010921,TRUE,280049,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(防御)
+308102,1010922,TRUE,280050,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(防御)
+308103,1010923,TRUE,280051,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(防御)
+308104,1010924,TRUE,280052,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(防御)
+308201,1010925,TRUE,280097,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(防御)
+308202,1010926,TRUE,280098,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(防御)
+308203,1010927,TRUE,280099,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(防御)
+308204,1010928,TRUE,280100,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(防御)
+309001,1010917,TRUE,280001,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(防御)
+309002,1010918,TRUE,280002,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(防御)
+309003,1010919,TRUE,280003,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(防御)
+309004,1010920,TRUE,280004,22,5,1020917,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(防御)
+309101,1010921,TRUE,280049,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(防御)
+309102,1010922,TRUE,280050,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(防御)
+309103,1010923,TRUE,280051,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(防御)
+309104,1010924,TRUE,280052,22,5,1020917,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(防御)
+309201,1010925,TRUE,280097,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(防御)
+309202,1010926,TRUE,280098,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(防御)
+309203,1010927,TRUE,280099,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(防御)
+309204,1010928,TRUE,280100,22,5,1020917,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(防御)
+310001,1011037,TRUE,280005,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(暴击)
+310002,1011038,TRUE,280006,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(暴击)
+310003,1011039,TRUE,280007,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(暴击)
+310004,1011040,TRUE,280008,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(暴击)
+310101,1011041,TRUE,280053,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(暴击)
+310102,1011042,TRUE,280054,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(暴击)
+310103,1011043,TRUE,280055,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(暴击)
+310104,1011044,TRUE,280056,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(暴击)
+310201,1011045,TRUE,280101,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(暴击)
+310202,1011046,TRUE,280102,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(暴击)
+310203,1011047,TRUE,280103,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(暴击)
+310204,1011048,TRUE,280104,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(暴击)
+311001,1011037,TRUE,280005,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(暴击)
+311002,1011038,TRUE,280006,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(暴击)
+311003,1011039,TRUE,280007,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(暴击)
+311004,1011040,TRUE,280008,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(暴击)
+311101,1011041,TRUE,280053,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(暴击)
+311102,1011042,TRUE,280054,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(暴击)
+311103,1011043,TRUE,280055,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(暴击)
+311104,1011044,TRUE,280056,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(暴击)
+311201,1011045,TRUE,280101,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(暴击)
+311202,1011046,TRUE,280102,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(暴击)
+311203,1011047,TRUE,280103,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(暴击)
+311204,1011048,TRUE,280104,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(暴击)
+312001,1011037,TRUE,280005,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(暴击)
+312002,1011038,TRUE,280006,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(暴击)
+312003,1011039,TRUE,280007,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(暴击)
+312004,1011040,TRUE,280008,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(暴击)
+312101,1011041,TRUE,280053,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(暴击)
+312102,1011042,TRUE,280054,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(暴击)
+312103,1011043,TRUE,280055,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(暴击)
+312104,1011044,TRUE,280056,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(暴击)
+312201,1011045,TRUE,280101,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(暴击)
+312202,1011046,TRUE,280102,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(暴击)
+312203,1011047,TRUE,280103,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(暴击)
+312204,1011048,TRUE,280104,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(暴击)
+313001,1011037,TRUE,280005,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(暴击)
+313002,1011038,TRUE,280006,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(暴击)
+313003,1011039,TRUE,280007,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(暴击)
+313004,1011040,TRUE,280008,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(暴击)
+313101,1011041,TRUE,280053,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(暴击)
+313102,1011042,TRUE,280054,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(暴击)
+313103,1011043,TRUE,280055,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(暴击)
+313104,1011044,TRUE,280056,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(暴击)
+313201,1011045,TRUE,280101,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(暴击)
+313202,1011046,TRUE,280102,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(暴击)
+313203,1011047,TRUE,280103,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(暴击)
+313204,1011048,TRUE,280104,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(暴击)
+314001,1011037,TRUE,280005,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(暴击)
+314002,1011038,TRUE,280006,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(暴击)
+314003,1011039,TRUE,280007,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(暴击)
+314004,1011040,TRUE,280008,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(暴击)
+314101,1011041,TRUE,280053,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(暴击)
+314102,1011042,TRUE,280054,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(暴击)
+314103,1011043,TRUE,280055,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(暴击)
+314104,1011044,TRUE,280056,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(暴击)
+314201,1011045,TRUE,280101,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(暴击)
+314202,1011046,TRUE,280102,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(暴击)
+314203,1011047,TRUE,280103,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(暴击)
+314204,1011048,TRUE,280104,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(暴击)
+315001,1011037,TRUE,280005,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(暴击)
+315002,1011038,TRUE,280006,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(暴击)
+315003,1011039,TRUE,280007,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(暴击)
+315004,1011040,TRUE,280008,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(暴击)
+315101,1011041,TRUE,280053,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(暴击)
+315102,1011042,TRUE,280054,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(暴击)
+315103,1011043,TRUE,280055,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(暴击)
+315104,1011044,TRUE,280056,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(暴击)
+315201,1011045,TRUE,280101,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(暴击)
+315202,1011046,TRUE,280102,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(暴击)
+315203,1011047,TRUE,280103,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(暴击)
+315204,1011048,TRUE,280104,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(暴击)
+316001,1011037,TRUE,280005,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(暴击)
+316002,1011038,TRUE,280006,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(暴击)
+316003,1011039,TRUE,280007,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(暴击)
+316004,1011040,TRUE,280008,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(暴击)
+316101,1011041,TRUE,280053,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(暴击)
+316102,1011042,TRUE,280054,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(暴击)
+316103,1011043,TRUE,280055,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(暴击)
+316104,1011044,TRUE,280056,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(暴击)
+316201,1011045,TRUE,280101,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(暴击)
+316202,1011046,TRUE,280102,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(暴击)
+316203,1011047,TRUE,280103,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(暴击)
+316204,1011048,TRUE,280104,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(暴击)
+317001,1011037,TRUE,280005,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(暴击)
+317002,1011038,TRUE,280006,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(暴击)
+317003,1011039,TRUE,280007,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(暴击)
+317004,1011040,TRUE,280008,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(暴击)
+317101,1011041,TRUE,280053,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(暴击)
+317102,1011042,TRUE,280054,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(暴击)
+317103,1011043,TRUE,280055,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(暴击)
+317104,1011044,TRUE,280056,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(暴击)
+317201,1011045,TRUE,280101,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(暴击)
+317202,1011046,TRUE,280102,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(暴击)
+317203,1011047,TRUE,280103,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(暴击)
+317204,1011048,TRUE,280104,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(暴击)
+318001,1011037,TRUE,280005,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(暴击)
+318002,1011038,TRUE,280006,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(暴击)
+318003,1011039,TRUE,280007,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(暴击)
+318004,1011040,TRUE,280008,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(暴击)
+318101,1011041,TRUE,280053,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(暴击)
+318102,1011042,TRUE,280054,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(暴击)
+318103,1011043,TRUE,280055,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(暴击)
+318104,1011044,TRUE,280056,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(暴击)
+318201,1011045,TRUE,280101,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(暴击)
+318202,1011046,TRUE,280102,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(暴击)
+318203,1011047,TRUE,280103,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(暴击)
+318204,1011048,TRUE,280104,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(暴击)
+319001,1011037,TRUE,280005,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(暴击)
+319002,1011038,TRUE,280006,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(暴击)
+319003,1011039,TRUE,280007,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(暴击)
+319004,1011040,TRUE,280008,22,5,1021037,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(暴击)
+319101,1011041,TRUE,280053,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(暴击)
+319102,1011042,TRUE,280054,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(暴击)
+319103,1011043,TRUE,280055,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(暴击)
+319104,1011044,TRUE,280056,22,5,1021037,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(暴击)
+319201,1011045,TRUE,280101,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(暴击)
+319202,1011046,TRUE,280102,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(暴击)
+319203,1011047,TRUE,280103,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(暴击)
+319204,1011048,TRUE,280104,22,5,1021037,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(暴击)
+320001,1011157,TRUE,280009,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(攻击)
+320002,1011158,TRUE,280010,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(攻击)
+320003,1011159,TRUE,280011,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(攻击)
+320004,1011160,TRUE,280012,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(攻击)
+320101,1011161,TRUE,280057,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(攻击)
+320102,1011162,TRUE,280058,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(攻击)
+320103,1011163,TRUE,280059,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(攻击)
+320104,1011164,TRUE,280060,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(攻击)
+320201,1011165,TRUE,280105,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(攻击)
+320202,1011166,TRUE,280106,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(攻击)
+320203,1011167,TRUE,280107,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(攻击)
+320204,1011168,TRUE,280108,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(攻击)
+321001,1011157,TRUE,280009,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(攻击)
+321002,1011158,TRUE,280010,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(攻击)
+321003,1011159,TRUE,280011,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(攻击)
+321004,1011160,TRUE,280012,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(攻击)
+321101,1011161,TRUE,280057,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(攻击)
+321102,1011162,TRUE,280058,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(攻击)
+321103,1011163,TRUE,280059,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(攻击)
+321104,1011164,TRUE,280060,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(攻击)
+321201,1011165,TRUE,280105,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(攻击)
+321202,1011166,TRUE,280106,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(攻击)
+321203,1011167,TRUE,280107,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(攻击)
+321204,1011168,TRUE,280108,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(攻击)
+322001,1011157,TRUE,280009,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(攻击)
+322002,1011158,TRUE,280010,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(攻击)
+322003,1011159,TRUE,280011,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(攻击)
+322004,1011160,TRUE,280012,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(攻击)
+322101,1011161,TRUE,280057,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(攻击)
+322102,1011162,TRUE,280058,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(攻击)
+322103,1011163,TRUE,280059,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(攻击)
+322104,1011164,TRUE,280060,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(攻击)
+322201,1011165,TRUE,280105,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(攻击)
+322202,1011166,TRUE,280106,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(攻击)
+322203,1011167,TRUE,280107,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(攻击)
+322204,1011168,TRUE,280108,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(攻击)
+323001,1011157,TRUE,280009,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(攻击)
+323002,1011158,TRUE,280010,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(攻击)
+323003,1011159,TRUE,280011,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(攻击)
+323004,1011160,TRUE,280012,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(攻击)
+323101,1011161,TRUE,280057,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(攻击)
+323102,1011162,TRUE,280058,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(攻击)
+323103,1011163,TRUE,280059,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(攻击)
+323104,1011164,TRUE,280060,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(攻击)
+323201,1011165,TRUE,280105,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(攻击)
+323202,1011166,TRUE,280106,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(攻击)
+323203,1011167,TRUE,280107,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(攻击)
+323204,1011168,TRUE,280108,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(攻击)
+324001,1011157,TRUE,280009,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(攻击)
+324002,1011158,TRUE,280010,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(攻击)
+324003,1011159,TRUE,280011,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(攻击)
+324004,1011160,TRUE,280012,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(攻击)
+324101,1011161,TRUE,280057,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(攻击)
+324102,1011162,TRUE,280058,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(攻击)
+324103,1011163,TRUE,280059,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(攻击)
+324104,1011164,TRUE,280060,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(攻击)
+324201,1011165,TRUE,280105,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(攻击)
+324202,1011166,TRUE,280106,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(攻击)
+324203,1011167,TRUE,280107,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(攻击)
+324204,1011168,TRUE,280108,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(攻击)
+325001,1011157,TRUE,280009,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(攻击)
+325002,1011158,TRUE,280010,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(攻击)
+325003,1011159,TRUE,280011,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(攻击)
+325004,1011160,TRUE,280012,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(攻击)
+325101,1011161,TRUE,280057,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(攻击)
+325102,1011162,TRUE,280058,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(攻击)
+325103,1011163,TRUE,280059,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(攻击)
+325104,1011164,TRUE,280060,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(攻击)
+325201,1011165,TRUE,280105,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(攻击)
+325202,1011166,TRUE,280106,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(攻击)
+325203,1011167,TRUE,280107,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(攻击)
+325204,1011168,TRUE,280108,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(攻击)
+326001,1011157,TRUE,280009,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(攻击)
+326002,1011158,TRUE,280010,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(攻击)
+326003,1011159,TRUE,280011,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(攻击)
+326004,1011160,TRUE,280012,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(攻击)
+326101,1011161,TRUE,280057,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(攻击)
+326102,1011162,TRUE,280058,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(攻击)
+326103,1011163,TRUE,280059,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(攻击)
+326104,1011164,TRUE,280060,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(攻击)
+326201,1011165,TRUE,280105,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(攻击)
+326202,1011166,TRUE,280106,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(攻击)
+326203,1011167,TRUE,280107,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(攻击)
+326204,1011168,TRUE,280108,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(攻击)
+327001,1011157,TRUE,280009,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(攻击)
+327002,1011158,TRUE,280010,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(攻击)
+327003,1011159,TRUE,280011,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(攻击)
+327004,1011160,TRUE,280012,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(攻击)
+327101,1011161,TRUE,280057,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(攻击)
+327102,1011162,TRUE,280058,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(攻击)
+327103,1011163,TRUE,280059,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(攻击)
+327104,1011164,TRUE,280060,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(攻击)
+327201,1011165,TRUE,280105,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(攻击)
+327202,1011166,TRUE,280106,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(攻击)
+327203,1011167,TRUE,280107,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(攻击)
+327204,1011168,TRUE,280108,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(攻击)
+328001,1011157,TRUE,280009,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(攻击)
+328002,1011158,TRUE,280010,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(攻击)
+328003,1011159,TRUE,280011,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(攻击)
+328004,1011160,TRUE,280012,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(攻击)
+328101,1011161,TRUE,280057,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(攻击)
+328102,1011162,TRUE,280058,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(攻击)
+328103,1011163,TRUE,280059,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(攻击)
+328104,1011164,TRUE,280060,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(攻击)
+328201,1011165,TRUE,280105,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(攻击)
+328202,1011166,TRUE,280106,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(攻击)
+328203,1011167,TRUE,280107,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(攻击)
+328204,1011168,TRUE,280108,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(攻击)
+329001,1011157,TRUE,280009,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(攻击)
+329002,1011158,TRUE,280010,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(攻击)
+329003,1011159,TRUE,280011,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(攻击)
+329004,1011160,TRUE,280012,22,5,1021157,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(攻击)
+329101,1011161,TRUE,280057,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(攻击)
+329102,1011162,TRUE,280058,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(攻击)
+329103,1011163,TRUE,280059,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(攻击)
+329104,1011164,TRUE,280060,22,5,1021157,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(攻击)
+329201,1011165,TRUE,280105,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(攻击)
+329202,1011166,TRUE,280106,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(攻击)
+329203,1011167,TRUE,280107,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(攻击)
+329204,1011168,TRUE,280108,22,5,1021157,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(攻击)
+330001,1011277,TRUE,280013,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(治疗)
+330002,1011278,TRUE,280014,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(治疗)
+330003,1011279,TRUE,280015,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(治疗)
+330004,1011280,TRUE,280016,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(治疗)
+330101,1011281,TRUE,280061,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(治疗)
+330102,1011282,TRUE,280062,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(治疗)
+330103,1011283,TRUE,280063,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(治疗)
+330104,1011284,TRUE,280064,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(治疗)
+330201,1011285,TRUE,280109,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(治疗)
+330202,1011286,TRUE,280110,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(治疗)
+330203,1011287,TRUE,280111,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(治疗)
+330204,1011288,TRUE,280112,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(治疗)
+331001,1011277,TRUE,280013,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(治疗)
+331002,1011278,TRUE,280014,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(治疗)
+331003,1011279,TRUE,280015,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(治疗)
+331004,1011280,TRUE,280016,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(治疗)
+331101,1011281,TRUE,280061,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(治疗)
+331102,1011282,TRUE,280062,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(治疗)
+331103,1011283,TRUE,280063,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(治疗)
+331104,1011284,TRUE,280064,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(治疗)
+331201,1011285,TRUE,280109,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(治疗)
+331202,1011286,TRUE,280110,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(治疗)
+331203,1011287,TRUE,280111,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(治疗)
+331204,1011288,TRUE,280112,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(治疗)
+332001,1011277,TRUE,280013,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(治疗)
+332002,1011278,TRUE,280014,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(治疗)
+332003,1011279,TRUE,280015,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(治疗)
+332004,1011280,TRUE,280016,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(治疗)
+332101,1011281,TRUE,280061,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(治疗)
+332102,1011282,TRUE,280062,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(治疗)
+332103,1011283,TRUE,280063,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(治疗)
+332104,1011284,TRUE,280064,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(治疗)
+332201,1011285,TRUE,280109,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(治疗)
+332202,1011286,TRUE,280110,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(治疗)
+332203,1011287,TRUE,280111,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(治疗)
+332204,1011288,TRUE,280112,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(治疗)
+333001,1011277,TRUE,280013,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(治疗)
+333002,1011278,TRUE,280014,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(治疗)
+333003,1011279,TRUE,280015,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(治疗)
+333004,1011280,TRUE,280016,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(治疗)
+333101,1011281,TRUE,280061,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(治疗)
+333102,1011282,TRUE,280062,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(治疗)
+333103,1011283,TRUE,280063,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(治疗)
+333104,1011284,TRUE,280064,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(治疗)
+333201,1011285,TRUE,280109,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(治疗)
+333202,1011286,TRUE,280110,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(治疗)
+333203,1011287,TRUE,280111,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(治疗)
+333204,1011288,TRUE,280112,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(治疗)
+334001,1011277,TRUE,280013,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(治疗)
+334002,1011278,TRUE,280014,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(治疗)
+334003,1011279,TRUE,280015,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(治疗)
+334004,1011280,TRUE,280016,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(治疗)
+334101,1011281,TRUE,280061,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(治疗)
+334102,1011282,TRUE,280062,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(治疗)
+334103,1011283,TRUE,280063,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(治疗)
+334104,1011284,TRUE,280064,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(治疗)
+334201,1011285,TRUE,280109,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(治疗)
+334202,1011286,TRUE,280110,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(治疗)
+334203,1011287,TRUE,280111,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(治疗)
+334204,1011288,TRUE,280112,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(治疗)
+335001,1011277,TRUE,280013,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(治疗)
+335002,1011278,TRUE,280014,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(治疗)
+335003,1011279,TRUE,280015,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(治疗)
+335004,1011280,TRUE,280016,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(治疗)
+335101,1011281,TRUE,280061,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(治疗)
+335102,1011282,TRUE,280062,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(治疗)
+335103,1011283,TRUE,280063,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(治疗)
+335104,1011284,TRUE,280064,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(治疗)
+335201,1011285,TRUE,280109,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(治疗)
+335202,1011286,TRUE,280110,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(治疗)
+335203,1011287,TRUE,280111,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(治疗)
+335204,1011288,TRUE,280112,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(治疗)
+336001,1011277,TRUE,280013,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(治疗)
+336002,1011278,TRUE,280014,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(治疗)
+336003,1011279,TRUE,280015,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(治疗)
+336004,1011280,TRUE,280016,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(治疗)
+336101,1011281,TRUE,280061,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(治疗)
+336102,1011282,TRUE,280062,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(治疗)
+336103,1011283,TRUE,280063,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(治疗)
+336104,1011284,TRUE,280064,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(治疗)
+336201,1011285,TRUE,280109,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(治疗)
+336202,1011286,TRUE,280110,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(治疗)
+336203,1011287,TRUE,280111,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(治疗)
+336204,1011288,TRUE,280112,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(治疗)
+337001,1011277,TRUE,280013,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(治疗)
+337002,1011278,TRUE,280014,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(治疗)
+337003,1011279,TRUE,280015,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(治疗)
+337004,1011280,TRUE,280016,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(治疗)
+337101,1011281,TRUE,280061,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(治疗)
+337102,1011282,TRUE,280062,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(治疗)
+337103,1011283,TRUE,280063,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(治疗)
+337104,1011284,TRUE,280064,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(治疗)
+337201,1011285,TRUE,280109,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(治疗)
+337202,1011286,TRUE,280110,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(治疗)
+337203,1011287,TRUE,280111,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(治疗)
+337204,1011288,TRUE,280112,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(治疗)
+338001,1011277,TRUE,280013,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(治疗)
+338002,1011278,TRUE,280014,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(治疗)
+338003,1011279,TRUE,280015,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(治疗)
+338004,1011280,TRUE,280016,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(治疗)
+338101,1011281,TRUE,280061,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(治疗)
+338102,1011282,TRUE,280062,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(治疗)
+338103,1011283,TRUE,280063,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(治疗)
+338104,1011284,TRUE,280064,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(治疗)
+338201,1011285,TRUE,280109,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(治疗)
+338202,1011286,TRUE,280110,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(治疗)
+338203,1011287,TRUE,280111,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(治疗)
+338204,1011288,TRUE,280112,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(治疗)
+339001,1011277,TRUE,280013,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(治疗)
+339002,1011278,TRUE,280014,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(治疗)
+339003,1011279,TRUE,280015,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(治疗)
+339004,1011280,TRUE,280016,22,5,1021277,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(治疗)
+339101,1011281,TRUE,280061,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(治疗)
+339102,1011282,TRUE,280062,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(治疗)
+339103,1011283,TRUE,280063,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(治疗)
+339104,1011284,TRUE,280064,22,5,1021277,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(治疗)
+339201,1011285,TRUE,280109,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(治疗)
+339202,1011286,TRUE,280110,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(治疗)
+339203,1011287,TRUE,280111,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(治疗)
+339204,1011288,TRUE,280112,22,5,1021277,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(治疗)
+340001,1011397,TRUE,280017,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(破防)
+340002,1011398,TRUE,280018,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(破防)
+340003,1011399,TRUE,280019,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(破防)
+340004,1011400,TRUE,280020,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(破防)
+340101,1011401,TRUE,280065,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(破防)
+340102,1011402,TRUE,280066,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(破防)
+340103,1011403,TRUE,280067,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(破防)
+340104,1011404,TRUE,280068,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(破防)
+340201,1011405,TRUE,280113,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(破防)
+340202,1011406,TRUE,280114,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(破防)
+340203,1011407,TRUE,280115,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(破防)
+340204,1011408,TRUE,280116,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(破防)
+341001,1011397,TRUE,280017,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(破防)
+341002,1011398,TRUE,280018,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(破防)
+341003,1011399,TRUE,280019,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(破防)
+341004,1011400,TRUE,280020,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(破防)
+341101,1011401,TRUE,280065,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(破防)
+341102,1011402,TRUE,280066,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(破防)
+341103,1011403,TRUE,280067,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(破防)
+341104,1011404,TRUE,280068,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(破防)
+341201,1011405,TRUE,280113,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(破防)
+341202,1011406,TRUE,280114,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(破防)
+341203,1011407,TRUE,280115,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(破防)
+341204,1011408,TRUE,280116,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(破防)
+342001,1011397,TRUE,280017,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(破防)
+342002,1011398,TRUE,280018,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(破防)
+342003,1011399,TRUE,280019,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(破防)
+342004,1011400,TRUE,280020,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(破防)
+342101,1011401,TRUE,280065,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(破防)
+342102,1011402,TRUE,280066,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(破防)
+342103,1011403,TRUE,280067,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(破防)
+342104,1011404,TRUE,280068,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(破防)
+342201,1011405,TRUE,280113,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(破防)
+342202,1011406,TRUE,280114,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(破防)
+342203,1011407,TRUE,280115,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(破防)
+342204,1011408,TRUE,280116,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(破防)
+343001,1011397,TRUE,280017,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(破防)
+343002,1011398,TRUE,280018,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(破防)
+343003,1011399,TRUE,280019,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(破防)
+343004,1011400,TRUE,280020,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(破防)
+343101,1011401,TRUE,280065,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(破防)
+343102,1011402,TRUE,280066,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(破防)
+343103,1011403,TRUE,280067,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(破防)
+343104,1011404,TRUE,280068,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(破防)
+343201,1011405,TRUE,280113,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(破防)
+343202,1011406,TRUE,280114,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(破防)
+343203,1011407,TRUE,280115,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(破防)
+343204,1011408,TRUE,280116,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(破防)
+344001,1011397,TRUE,280017,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(破防)
+344002,1011398,TRUE,280018,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(破防)
+344003,1011399,TRUE,280019,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(破防)
+344004,1011400,TRUE,280020,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(破防)
+344101,1011401,TRUE,280065,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(破防)
+344102,1011402,TRUE,280066,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(破防)
+344103,1011403,TRUE,280067,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(破防)
+344104,1011404,TRUE,280068,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(破防)
+344201,1011405,TRUE,280113,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(破防)
+344202,1011406,TRUE,280114,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(破防)
+344203,1011407,TRUE,280115,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(破防)
+344204,1011408,TRUE,280116,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(破防)
+345001,1011397,TRUE,280017,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(破防)
+345002,1011398,TRUE,280018,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(破防)
+345003,1011399,TRUE,280019,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(破防)
+345004,1011400,TRUE,280020,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(破防)
+345101,1011401,TRUE,280065,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(破防)
+345102,1011402,TRUE,280066,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(破防)
+345103,1011403,TRUE,280067,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(破防)
+345104,1011404,TRUE,280068,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(破防)
+345201,1011405,TRUE,280113,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(破防)
+345202,1011406,TRUE,280114,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(破防)
+345203,1011407,TRUE,280115,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(破防)
+345204,1011408,TRUE,280116,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(破防)
+346001,1011397,TRUE,280017,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(破防)
+346002,1011398,TRUE,280018,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(破防)
+346003,1011399,TRUE,280019,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(破防)
+346004,1011400,TRUE,280020,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(破防)
+346101,1011401,TRUE,280065,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(破防)
+346102,1011402,TRUE,280066,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(破防)
+346103,1011403,TRUE,280067,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(破防)
+346104,1011404,TRUE,280068,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(破防)
+346201,1011405,TRUE,280113,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(破防)
+346202,1011406,TRUE,280114,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(破防)
+346203,1011407,TRUE,280115,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(破防)
+346204,1011408,TRUE,280116,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(破防)
+347001,1011397,TRUE,280017,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(破防)
+347002,1011398,TRUE,280018,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(破防)
+347003,1011399,TRUE,280019,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(破防)
+347004,1011400,TRUE,280020,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(破防)
+347101,1011401,TRUE,280065,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(破防)
+347102,1011402,TRUE,280066,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(破防)
+347103,1011403,TRUE,280067,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(破防)
+347104,1011404,TRUE,280068,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(破防)
+347201,1011405,TRUE,280113,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(破防)
+347202,1011406,TRUE,280114,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(破防)
+347203,1011407,TRUE,280115,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(破防)
+347204,1011408,TRUE,280116,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(破防)
+348001,1011397,TRUE,280017,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(破防)
+348002,1011398,TRUE,280018,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(破防)
+348003,1011399,TRUE,280019,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(破防)
+348004,1011400,TRUE,280020,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(破防)
+348101,1011401,TRUE,280065,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(破防)
+348102,1011402,TRUE,280066,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(破防)
+348103,1011403,TRUE,280067,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(破防)
+348104,1011404,TRUE,280068,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(破防)
+348201,1011405,TRUE,280113,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(破防)
+348202,1011406,TRUE,280114,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(破防)
+348203,1011407,TRUE,280115,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(破防)
+348204,1011408,TRUE,280116,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(破防)
+349001,1011397,TRUE,280017,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(破防)
+349002,1011398,TRUE,280018,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(破防)
+349003,1011399,TRUE,280019,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(破防)
+349004,1011400,TRUE,280020,22,5,1021397,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(破防)
+349101,1011401,TRUE,280065,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(破防)
+349102,1011402,TRUE,280066,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(破防)
+349103,1011403,TRUE,280067,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(破防)
+349104,1011404,TRUE,280068,22,5,1021397,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(破防)
+349201,1011405,TRUE,280113,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(破防)
+349202,1011406,TRUE,280114,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(破防)
+349203,1011407,TRUE,280115,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(破防)
+349204,1011408,TRUE,280116,22,5,1021397,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(破防)
+350001,1011517,TRUE,280021,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(破魔)
+350002,1011518,TRUE,280022,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(破魔)
+350003,1011519,TRUE,280023,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(破魔)
+350004,1011520,TRUE,280024,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(破魔)
+350101,1011521,TRUE,280069,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(破魔)
+350102,1011522,TRUE,280070,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(破魔)
+350103,1011523,TRUE,280071,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(破魔)
+350104,1011524,TRUE,280072,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(破魔)
+350201,1011525,TRUE,280117,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(破魔)
+350202,1011526,TRUE,280118,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(破魔)
+350203,1011527,TRUE,280119,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(破魔)
+350204,1011528,TRUE,280120,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(破魔)
+351001,1011517,TRUE,280021,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(破魔)
+351002,1011518,TRUE,280022,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(破魔)
+351003,1011519,TRUE,280023,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(破魔)
+351004,1011520,TRUE,280024,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(破魔)
+351101,1011521,TRUE,280069,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(破魔)
+351102,1011522,TRUE,280070,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(破魔)
+351103,1011523,TRUE,280071,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(破魔)
+351104,1011524,TRUE,280072,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(破魔)
+351201,1011525,TRUE,280117,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(破魔)
+351202,1011526,TRUE,280118,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(破魔)
+351203,1011527,TRUE,280119,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(破魔)
+351204,1011528,TRUE,280120,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(破魔)
+352001,1011517,TRUE,280021,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(破魔)
+352002,1011518,TRUE,280022,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(破魔)
+352003,1011519,TRUE,280023,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(破魔)
+352004,1011520,TRUE,280024,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(破魔)
+352101,1011521,TRUE,280069,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(破魔)
+352102,1011522,TRUE,280070,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(破魔)
+352103,1011523,TRUE,280071,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(破魔)
+352104,1011524,TRUE,280072,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(破魔)
+352201,1011525,TRUE,280117,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(破魔)
+352202,1011526,TRUE,280118,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(破魔)
+352203,1011527,TRUE,280119,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(破魔)
+352204,1011528,TRUE,280120,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(破魔)
+353001,1011517,TRUE,280021,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(破魔)
+353002,1011518,TRUE,280022,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(破魔)
+353003,1011519,TRUE,280023,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(破魔)
+353004,1011520,TRUE,280024,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(破魔)
+353101,1011521,TRUE,280069,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(破魔)
+353102,1011522,TRUE,280070,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(破魔)
+353103,1011523,TRUE,280071,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(破魔)
+353104,1011524,TRUE,280072,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(破魔)
+353201,1011525,TRUE,280117,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(破魔)
+353202,1011526,TRUE,280118,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(破魔)
+353203,1011527,TRUE,280119,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(破魔)
+353204,1011528,TRUE,280120,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(破魔)
+354001,1011517,TRUE,280021,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(破魔)
+354002,1011518,TRUE,280022,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(破魔)
+354003,1011519,TRUE,280023,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(破魔)
+354004,1011520,TRUE,280024,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(破魔)
+354101,1011521,TRUE,280069,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(破魔)
+354102,1011522,TRUE,280070,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(破魔)
+354103,1011523,TRUE,280071,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(破魔)
+354104,1011524,TRUE,280072,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(破魔)
+354201,1011525,TRUE,280117,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(破魔)
+354202,1011526,TRUE,280118,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(破魔)
+354203,1011527,TRUE,280119,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(破魔)
+354204,1011528,TRUE,280120,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(破魔)
+355001,1011517,TRUE,280021,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(破魔)
+355002,1011518,TRUE,280022,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(破魔)
+355003,1011519,TRUE,280023,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(破魔)
+355004,1011520,TRUE,280024,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(破魔)
+355101,1011521,TRUE,280069,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(破魔)
+355102,1011522,TRUE,280070,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(破魔)
+355103,1011523,TRUE,280071,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(破魔)
+355104,1011524,TRUE,280072,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(破魔)
+355201,1011525,TRUE,280117,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(破魔)
+355202,1011526,TRUE,280118,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(破魔)
+355203,1011527,TRUE,280119,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(破魔)
+355204,1011528,TRUE,280120,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(破魔)
+356001,1011517,TRUE,280021,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(破魔)
+356002,1011518,TRUE,280022,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(破魔)
+356003,1011519,TRUE,280023,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(破魔)
+356004,1011520,TRUE,280024,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(破魔)
+356101,1011521,TRUE,280069,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(破魔)
+356102,1011522,TRUE,280070,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(破魔)
+356103,1011523,TRUE,280071,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(破魔)
+356104,1011524,TRUE,280072,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(破魔)
+356201,1011525,TRUE,280117,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(破魔)
+356202,1011526,TRUE,280118,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(破魔)
+356203,1011527,TRUE,280119,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(破魔)
+356204,1011528,TRUE,280120,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(破魔)
+357001,1011517,TRUE,280021,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(破魔)
+357002,1011518,TRUE,280022,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(破魔)
+357003,1011519,TRUE,280023,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(破魔)
+357004,1011520,TRUE,280024,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(破魔)
+357101,1011521,TRUE,280069,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(破魔)
+357102,1011522,TRUE,280070,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(破魔)
+357103,1011523,TRUE,280071,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(破魔)
+357104,1011524,TRUE,280072,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(破魔)
+357201,1011525,TRUE,280117,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(破魔)
+357202,1011526,TRUE,280118,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(破魔)
+357203,1011527,TRUE,280119,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(破魔)
+357204,1011528,TRUE,280120,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(破魔)
+358001,1011517,TRUE,280021,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(破魔)
+358002,1011518,TRUE,280022,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(破魔)
+358003,1011519,TRUE,280023,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(破魔)
+358004,1011520,TRUE,280024,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(破魔)
+358101,1011521,TRUE,280069,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(破魔)
+358102,1011522,TRUE,280070,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(破魔)
+358103,1011523,TRUE,280071,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(破魔)
+358104,1011524,TRUE,280072,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(破魔)
+358201,1011525,TRUE,280117,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(破魔)
+358202,1011526,TRUE,280118,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(破魔)
+358203,1011527,TRUE,280119,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(破魔)
+358204,1011528,TRUE,280120,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(破魔)
+359001,1011517,TRUE,280021,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(破魔)
+359002,1011518,TRUE,280022,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(破魔)
+359003,1011519,TRUE,280023,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(破魔)
+359004,1011520,TRUE,280024,22,5,1021517,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(破魔)
+359101,1011521,TRUE,280069,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(破魔)
+359102,1011522,TRUE,280070,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(破魔)
+359103,1011523,TRUE,280071,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(破魔)
+359104,1011524,TRUE,280072,22,5,1021517,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(破魔)
+359201,1011525,TRUE,280117,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(破魔)
+359202,1011526,TRUE,280118,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(破魔)
+359203,1011527,TRUE,280119,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(破魔)
+359204,1011528,TRUE,280120,22,5,1021517,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(破魔)
+360001,1011637,TRUE,280025,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(斗将)
+360002,1011638,TRUE,280026,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(斗将)
+360003,1011639,TRUE,280027,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(斗将)
+360004,1011640,TRUE,280028,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(斗将)
+360101,1011641,TRUE,280073,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(斗将)
+360102,1011642,TRUE,280074,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(斗将)
+360103,1011643,TRUE,280075,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(斗将)
+360104,1011644,TRUE,280076,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(斗将)
+360201,1011645,TRUE,280121,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(斗将)
+360202,1011646,TRUE,280122,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(斗将)
+360203,1011647,TRUE,280123,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(斗将)
+360204,1011648,TRUE,280124,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(斗将)
+361001,1011637,TRUE,280025,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(斗将)
+361002,1011638,TRUE,280026,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(斗将)
+361003,1011639,TRUE,280027,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(斗将)
+361004,1011640,TRUE,280028,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(斗将)
+361101,1011641,TRUE,280073,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(斗将)
+361102,1011642,TRUE,280074,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(斗将)
+361103,1011643,TRUE,280075,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(斗将)
+361104,1011644,TRUE,280076,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(斗将)
+361201,1011645,TRUE,280121,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(斗将)
+361202,1011646,TRUE,280122,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(斗将)
+361203,1011647,TRUE,280123,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(斗将)
+361204,1011648,TRUE,280124,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(斗将)
+362001,1011637,TRUE,280025,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(斗将)
+362002,1011638,TRUE,280026,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(斗将)
+362003,1011639,TRUE,280027,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(斗将)
+362004,1011640,TRUE,280028,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(斗将)
+362101,1011641,TRUE,280073,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(斗将)
+362102,1011642,TRUE,280074,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(斗将)
+362103,1011643,TRUE,280075,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(斗将)
+362104,1011644,TRUE,280076,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(斗将)
+362201,1011645,TRUE,280121,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(斗将)
+362202,1011646,TRUE,280122,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(斗将)
+362203,1011647,TRUE,280123,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(斗将)
+362204,1011648,TRUE,280124,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(斗将)
+363001,1011637,TRUE,280025,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(斗将)
+363002,1011638,TRUE,280026,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(斗将)
+363003,1011639,TRUE,280027,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(斗将)
+363004,1011640,TRUE,280028,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(斗将)
+363101,1011641,TRUE,280073,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(斗将)
+363102,1011642,TRUE,280074,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(斗将)
+363103,1011643,TRUE,280075,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(斗将)
+363104,1011644,TRUE,280076,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(斗将)
+363201,1011645,TRUE,280121,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(斗将)
+363202,1011646,TRUE,280122,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(斗将)
+363203,1011647,TRUE,280123,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(斗将)
+363204,1011648,TRUE,280124,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(斗将)
+364001,1011637,TRUE,280025,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(斗将)
+364002,1011638,TRUE,280026,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(斗将)
+364003,1011639,TRUE,280027,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(斗将)
+364004,1011640,TRUE,280028,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(斗将)
+364101,1011641,TRUE,280073,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(斗将)
+364102,1011642,TRUE,280074,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(斗将)
+364103,1011643,TRUE,280075,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(斗将)
+364104,1011644,TRUE,280076,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(斗将)
+364201,1011645,TRUE,280121,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(斗将)
+364202,1011646,TRUE,280122,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(斗将)
+364203,1011647,TRUE,280123,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(斗将)
+364204,1011648,TRUE,280124,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(斗将)
+365001,1011637,TRUE,280025,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(斗将)
+365002,1011638,TRUE,280026,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(斗将)
+365003,1011639,TRUE,280027,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(斗将)
+365004,1011640,TRUE,280028,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(斗将)
+365101,1011641,TRUE,280073,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(斗将)
+365102,1011642,TRUE,280074,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(斗将)
+365103,1011643,TRUE,280075,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(斗将)
+365104,1011644,TRUE,280076,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(斗将)
+365201,1011645,TRUE,280121,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(斗将)
+365202,1011646,TRUE,280122,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(斗将)
+365203,1011647,TRUE,280123,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(斗将)
+365204,1011648,TRUE,280124,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(斗将)
+366001,1011637,TRUE,280025,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(斗将)
+366002,1011638,TRUE,280026,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(斗将)
+366003,1011639,TRUE,280027,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(斗将)
+366004,1011640,TRUE,280028,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(斗将)
+366101,1011641,TRUE,280073,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(斗将)
+366102,1011642,TRUE,280074,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(斗将)
+366103,1011643,TRUE,280075,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(斗将)
+366104,1011644,TRUE,280076,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(斗将)
+366201,1011645,TRUE,280121,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(斗将)
+366202,1011646,TRUE,280122,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(斗将)
+366203,1011647,TRUE,280123,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(斗将)
+366204,1011648,TRUE,280124,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(斗将)
+367001,1011637,TRUE,280025,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(斗将)
+367002,1011638,TRUE,280026,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(斗将)
+367003,1011639,TRUE,280027,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(斗将)
+367004,1011640,TRUE,280028,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(斗将)
+367101,1011641,TRUE,280073,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(斗将)
+367102,1011642,TRUE,280074,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(斗将)
+367103,1011643,TRUE,280075,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(斗将)
+367104,1011644,TRUE,280076,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(斗将)
+367201,1011645,TRUE,280121,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(斗将)
+367202,1011646,TRUE,280122,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(斗将)
+367203,1011647,TRUE,280123,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(斗将)
+367204,1011648,TRUE,280124,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(斗将)
+368001,1011637,TRUE,280025,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(斗将)
+368002,1011638,TRUE,280026,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(斗将)
+368003,1011639,TRUE,280027,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(斗将)
+368004,1011640,TRUE,280028,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(斗将)
+368101,1011641,TRUE,280073,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(斗将)
+368102,1011642,TRUE,280074,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(斗将)
+368103,1011643,TRUE,280075,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(斗将)
+368104,1011644,TRUE,280076,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(斗将)
+368201,1011645,TRUE,280121,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(斗将)
+368202,1011646,TRUE,280122,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(斗将)
+368203,1011647,TRUE,280123,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(斗将)
+368204,1011648,TRUE,280124,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(斗将)
+369001,1011637,TRUE,280025,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(斗将)
+369002,1011638,TRUE,280026,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(斗将)
+369003,1011639,TRUE,280027,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(斗将)
+369004,1011640,TRUE,280028,22,5,1021637,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(斗将)
+369101,1011641,TRUE,280073,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(斗将)
+369102,1011642,TRUE,280074,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(斗将)
+369103,1011643,TRUE,280075,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(斗将)
+369104,1011644,TRUE,280076,22,5,1021637,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(斗将)
+369201,1011645,TRUE,280121,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(斗将)
+369202,1011646,TRUE,280122,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(斗将)
+369203,1011647,TRUE,280123,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(斗将)
+369204,1011648,TRUE,280124,22,5,1021637,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(斗将)
+370001,1011757,TRUE,280029,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(克辅)
+370002,1011758,TRUE,280030,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(克辅)
+370003,1011759,TRUE,280031,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(克辅)
+370004,1011760,TRUE,280032,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(克辅)
+370101,1011761,TRUE,280077,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(克辅)
+370102,1011762,TRUE,280078,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(克辅)
+370103,1011763,TRUE,280079,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(克辅)
+370104,1011764,TRUE,280080,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(克辅)
+370201,1011765,TRUE,280125,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(克辅)
+370202,1011766,TRUE,280126,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(克辅)
+370203,1011767,TRUE,280127,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(克辅)
+370204,1011768,TRUE,280128,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(克辅)
+371001,1011757,TRUE,280029,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(克辅)
+371002,1011758,TRUE,280030,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(克辅)
+371003,1011759,TRUE,280031,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(克辅)
+371004,1011760,TRUE,280032,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(克辅)
+371101,1011761,TRUE,280077,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(克辅)
+371102,1011762,TRUE,280078,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(克辅)
+371103,1011763,TRUE,280079,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(克辅)
+371104,1011764,TRUE,280080,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(克辅)
+371201,1011765,TRUE,280125,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(克辅)
+371202,1011766,TRUE,280126,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(克辅)
+371203,1011767,TRUE,280127,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(克辅)
+371204,1011768,TRUE,280128,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(克辅)
+372001,1011757,TRUE,280029,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(克辅)
+372002,1011758,TRUE,280030,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(克辅)
+372003,1011759,TRUE,280031,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(克辅)
+372004,1011760,TRUE,280032,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(克辅)
+372101,1011761,TRUE,280077,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(克辅)
+372102,1011762,TRUE,280078,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(克辅)
+372103,1011763,TRUE,280079,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(克辅)
+372104,1011764,TRUE,280080,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(克辅)
+372201,1011765,TRUE,280125,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(克辅)
+372202,1011766,TRUE,280126,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(克辅)
+372203,1011767,TRUE,280127,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(克辅)
+372204,1011768,TRUE,280128,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(克辅)
+373001,1011757,TRUE,280029,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(克辅)
+373002,1011758,TRUE,280030,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(克辅)
+373003,1011759,TRUE,280031,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(克辅)
+373004,1011760,TRUE,280032,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(克辅)
+373101,1011761,TRUE,280077,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(克辅)
+373102,1011762,TRUE,280078,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(克辅)
+373103,1011763,TRUE,280079,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(克辅)
+373104,1011764,TRUE,280080,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(克辅)
+373201,1011765,TRUE,280125,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(克辅)
+373202,1011766,TRUE,280126,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(克辅)
+373203,1011767,TRUE,280127,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(克辅)
+373204,1011768,TRUE,280128,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(克辅)
+374001,1011757,TRUE,280029,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(克辅)
+374002,1011758,TRUE,280030,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(克辅)
+374003,1011759,TRUE,280031,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(克辅)
+374004,1011760,TRUE,280032,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(克辅)
+374101,1011761,TRUE,280077,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(克辅)
+374102,1011762,TRUE,280078,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(克辅)
+374103,1011763,TRUE,280079,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(克辅)
+374104,1011764,TRUE,280080,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(克辅)
+374201,1011765,TRUE,280125,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(克辅)
+374202,1011766,TRUE,280126,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(克辅)
+374203,1011767,TRUE,280127,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(克辅)
+374204,1011768,TRUE,280128,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(克辅)
+375001,1011757,TRUE,280029,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(克辅)
+375002,1011758,TRUE,280030,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(克辅)
+375003,1011759,TRUE,280031,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(克辅)
+375004,1011760,TRUE,280032,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(克辅)
+375101,1011761,TRUE,280077,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(克辅)
+375102,1011762,TRUE,280078,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(克辅)
+375103,1011763,TRUE,280079,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(克辅)
+375104,1011764,TRUE,280080,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(克辅)
+375201,1011765,TRUE,280125,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(克辅)
+375202,1011766,TRUE,280126,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(克辅)
+375203,1011767,TRUE,280127,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(克辅)
+375204,1011768,TRUE,280128,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(克辅)
+376001,1011757,TRUE,280029,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(克辅)
+376002,1011758,TRUE,280030,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(克辅)
+376003,1011759,TRUE,280031,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(克辅)
+376004,1011760,TRUE,280032,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(克辅)
+376101,1011761,TRUE,280077,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(克辅)
+376102,1011762,TRUE,280078,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(克辅)
+376103,1011763,TRUE,280079,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(克辅)
+376104,1011764,TRUE,280080,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(克辅)
+376201,1011765,TRUE,280125,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(克辅)
+376202,1011766,TRUE,280126,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(克辅)
+376203,1011767,TRUE,280127,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(克辅)
+376204,1011768,TRUE,280128,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(克辅)
+377001,1011757,TRUE,280029,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(克辅)
+377002,1011758,TRUE,280030,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(克辅)
+377003,1011759,TRUE,280031,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(克辅)
+377004,1011760,TRUE,280032,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(克辅)
+377101,1011761,TRUE,280077,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(克辅)
+377102,1011762,TRUE,280078,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(克辅)
+377103,1011763,TRUE,280079,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(克辅)
+377104,1011764,TRUE,280080,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(克辅)
+377201,1011765,TRUE,280125,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(克辅)
+377202,1011766,TRUE,280126,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(克辅)
+377203,1011767,TRUE,280127,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(克辅)
+377204,1011768,TRUE,280128,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(克辅)
+378001,1011757,TRUE,280029,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(克辅)
+378002,1011758,TRUE,280030,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(克辅)
+378003,1011759,TRUE,280031,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(克辅)
+378004,1011760,TRUE,280032,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(克辅)
+378101,1011761,TRUE,280077,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(克辅)
+378102,1011762,TRUE,280078,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(克辅)
+378103,1011763,TRUE,280079,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(克辅)
+378104,1011764,TRUE,280080,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(克辅)
+378201,1011765,TRUE,280125,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(克辅)
+378202,1011766,TRUE,280126,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(克辅)
+378203,1011767,TRUE,280127,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(克辅)
+378204,1011768,TRUE,280128,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(克辅)
+379001,1011757,TRUE,280029,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(克辅)
+379002,1011758,TRUE,280030,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(克辅)
+379003,1011759,TRUE,280031,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(克辅)
+379004,1011760,TRUE,280032,22,5,1021757,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(克辅)
+379101,1011761,TRUE,280077,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(克辅)
+379102,1011762,TRUE,280078,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(克辅)
+379103,1011763,TRUE,280079,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(克辅)
+379104,1011764,TRUE,280080,22,5,1021757,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(克辅)
+379201,1011765,TRUE,280125,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(克辅)
+379202,1011766,TRUE,280126,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(克辅)
+379203,1011767,TRUE,280127,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(克辅)
+379204,1011768,TRUE,280128,22,5,1021757,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(克辅)
+380001,1011877,TRUE,280033,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(反伤)
+380002,1011878,TRUE,280034,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(反伤)
+380003,1011879,TRUE,280035,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(反伤)
+380004,1011880,TRUE,280036,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(反伤)
+380101,1011881,TRUE,280081,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(反伤)
+380102,1011882,TRUE,280082,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(反伤)
+380103,1011883,TRUE,280083,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(反伤)
+380104,1011884,TRUE,280084,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(反伤)
+380201,1011885,TRUE,280129,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(反伤)
+380202,1011886,TRUE,280130,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(反伤)
+380203,1011887,TRUE,280131,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(反伤)
+380204,1011888,TRUE,280132,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(反伤)
+381001,1011877,TRUE,280033,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(反伤)
+381002,1011878,TRUE,280034,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(反伤)
+381003,1011879,TRUE,280035,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(反伤)
+381004,1011880,TRUE,280036,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(反伤)
+381101,1011881,TRUE,280081,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(反伤)
+381102,1011882,TRUE,280082,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(反伤)
+381103,1011883,TRUE,280083,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(反伤)
+381104,1011884,TRUE,280084,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(反伤)
+381201,1011885,TRUE,280129,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(反伤)
+381202,1011886,TRUE,280130,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(反伤)
+381203,1011887,TRUE,280131,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(反伤)
+381204,1011888,TRUE,280132,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(反伤)
+382001,1011877,TRUE,280033,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(反伤)
+382002,1011878,TRUE,280034,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(反伤)
+382003,1011879,TRUE,280035,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(反伤)
+382004,1011880,TRUE,280036,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(反伤)
+382101,1011881,TRUE,280081,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(反伤)
+382102,1011882,TRUE,280082,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(反伤)
+382103,1011883,TRUE,280083,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(反伤)
+382104,1011884,TRUE,280084,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(反伤)
+382201,1011885,TRUE,280129,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(反伤)
+382202,1011886,TRUE,280130,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(反伤)
+382203,1011887,TRUE,280131,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(反伤)
+382204,1011888,TRUE,280132,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(反伤)
+383001,1011877,TRUE,280033,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(反伤)
+383002,1011878,TRUE,280034,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(反伤)
+383003,1011879,TRUE,280035,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(反伤)
+383004,1011880,TRUE,280036,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(反伤)
+383101,1011881,TRUE,280081,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(反伤)
+383102,1011882,TRUE,280082,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(反伤)
+383103,1011883,TRUE,280083,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(反伤)
+383104,1011884,TRUE,280084,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(反伤)
+383201,1011885,TRUE,280129,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(反伤)
+383202,1011886,TRUE,280130,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(反伤)
+383203,1011887,TRUE,280131,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(反伤)
+383204,1011888,TRUE,280132,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(反伤)
+384001,1011877,TRUE,280033,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(反伤)
+384002,1011878,TRUE,280034,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(反伤)
+384003,1011879,TRUE,280035,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(反伤)
+384004,1011880,TRUE,280036,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(反伤)
+384101,1011881,TRUE,280081,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(反伤)
+384102,1011882,TRUE,280082,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(反伤)
+384103,1011883,TRUE,280083,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(反伤)
+384104,1011884,TRUE,280084,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(反伤)
+384201,1011885,TRUE,280129,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(反伤)
+384202,1011886,TRUE,280130,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(反伤)
+384203,1011887,TRUE,280131,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(反伤)
+384204,1011888,TRUE,280132,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(反伤)
+385001,1011877,TRUE,280033,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(反伤)
+385002,1011878,TRUE,280034,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(反伤)
+385003,1011879,TRUE,280035,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(反伤)
+385004,1011880,TRUE,280036,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(反伤)
+385101,1011881,TRUE,280081,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(反伤)
+385102,1011882,TRUE,280082,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(反伤)
+385103,1011883,TRUE,280083,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(反伤)
+385104,1011884,TRUE,280084,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(反伤)
+385201,1011885,TRUE,280129,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(反伤)
+385202,1011886,TRUE,280130,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(反伤)
+385203,1011887,TRUE,280131,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(反伤)
+385204,1011888,TRUE,280132,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(反伤)
+386001,1011877,TRUE,280033,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(反伤)
+386002,1011878,TRUE,280034,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(反伤)
+386003,1011879,TRUE,280035,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(反伤)
+386004,1011880,TRUE,280036,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(反伤)
+386101,1011881,TRUE,280081,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(反伤)
+386102,1011882,TRUE,280082,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(反伤)
+386103,1011883,TRUE,280083,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(反伤)
+386104,1011884,TRUE,280084,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(反伤)
+386201,1011885,TRUE,280129,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(反伤)
+386202,1011886,TRUE,280130,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(反伤)
+386203,1011887,TRUE,280131,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(反伤)
+386204,1011888,TRUE,280132,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(反伤)
+387001,1011877,TRUE,280033,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(反伤)
+387002,1011878,TRUE,280034,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(反伤)
+387003,1011879,TRUE,280035,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(反伤)
+387004,1011880,TRUE,280036,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(反伤)
+387101,1011881,TRUE,280081,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(反伤)
+387102,1011882,TRUE,280082,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(反伤)
+387103,1011883,TRUE,280083,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(反伤)
+387104,1011884,TRUE,280084,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(反伤)
+387201,1011885,TRUE,280129,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(反伤)
+387202,1011886,TRUE,280130,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(反伤)
+387203,1011887,TRUE,280131,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(反伤)
+387204,1011888,TRUE,280132,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(反伤)
+388001,1011877,TRUE,280033,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(反伤)
+388002,1011878,TRUE,280034,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(反伤)
+388003,1011879,TRUE,280035,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(反伤)
+388004,1011880,TRUE,280036,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(反伤)
+388101,1011881,TRUE,280081,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(反伤)
+388102,1011882,TRUE,280082,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(反伤)
+388103,1011883,TRUE,280083,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(反伤)
+388104,1011884,TRUE,280084,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(反伤)
+388201,1011885,TRUE,280129,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(反伤)
+388202,1011886,TRUE,280130,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(反伤)
+388203,1011887,TRUE,280131,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(反伤)
+388204,1011888,TRUE,280132,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(反伤)
+389001,1011877,TRUE,280033,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(反伤)
+389002,1011878,TRUE,280034,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(反伤)
+389003,1011879,TRUE,280035,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(反伤)
+389004,1011880,TRUE,280036,22,5,1021877,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(反伤)
+389101,1011881,TRUE,280081,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(反伤)
+389102,1011882,TRUE,280082,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(反伤)
+389103,1011883,TRUE,280083,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(反伤)
+389104,1011884,TRUE,280084,22,5,1021877,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(反伤)
+389201,1011885,TRUE,280129,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(反伤)
+389202,1011886,TRUE,280130,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(反伤)
+389203,1011887,TRUE,280131,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(反伤)
+389204,1011888,TRUE,280132,22,5,1021877,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(反伤)
+390001,1011997,TRUE,280037,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(神勇)
+390002,1011998,TRUE,280038,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(神勇)
+390003,1011999,TRUE,280039,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(神勇)
+390004,1012000,TRUE,280040,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(神勇)
+390101,1012001,TRUE,280085,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(神勇)
+390102,1012002,TRUE,280086,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(神勇)
+390103,1012003,TRUE,280087,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(神勇)
+390104,1012004,TRUE,280088,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(神勇)
+390201,1012005,TRUE,280133,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(神勇)
+390202,1012006,TRUE,280134,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(神勇)
+390203,1012007,TRUE,280135,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(神勇)
+390204,1012008,TRUE,280136,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(神勇)
+391001,1011997,TRUE,280037,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(神勇)
+391002,1011998,TRUE,280038,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(神勇)
+391003,1011999,TRUE,280039,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(神勇)
+391004,1012000,TRUE,280040,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(神勇)
+391101,1012001,TRUE,280085,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(神勇)
+391102,1012002,TRUE,280086,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(神勇)
+391103,1012003,TRUE,280087,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(神勇)
+391104,1012004,TRUE,280088,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(神勇)
+391201,1012005,TRUE,280133,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(神勇)
+391202,1012006,TRUE,280134,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(神勇)
+391203,1012007,TRUE,280135,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(神勇)
+391204,1012008,TRUE,280136,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(神勇)
+392001,1011997,TRUE,280037,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(神勇)
+392002,1011998,TRUE,280038,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(神勇)
+392003,1011999,TRUE,280039,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(神勇)
+392004,1012000,TRUE,280040,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(神勇)
+392101,1012001,TRUE,280085,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(神勇)
+392102,1012002,TRUE,280086,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(神勇)
+392103,1012003,TRUE,280087,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(神勇)
+392104,1012004,TRUE,280088,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(神勇)
+392201,1012005,TRUE,280133,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(神勇)
+392202,1012006,TRUE,280134,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(神勇)
+392203,1012007,TRUE,280135,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(神勇)
+392204,1012008,TRUE,280136,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(神勇)
+393001,1011997,TRUE,280037,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(神勇)
+393002,1011998,TRUE,280038,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(神勇)
+393003,1011999,TRUE,280039,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(神勇)
+393004,1012000,TRUE,280040,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(神勇)
+393101,1012001,TRUE,280085,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(神勇)
+393102,1012002,TRUE,280086,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(神勇)
+393103,1012003,TRUE,280087,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(神勇)
+393104,1012004,TRUE,280088,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(神勇)
+393201,1012005,TRUE,280133,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(神勇)
+393202,1012006,TRUE,280134,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(神勇)
+393203,1012007,TRUE,280135,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(神勇)
+393204,1012008,TRUE,280136,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(神勇)
+394001,1011997,TRUE,280037,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(神勇)
+394002,1011998,TRUE,280038,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(神勇)
+394003,1011999,TRUE,280039,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(神勇)
+394004,1012000,TRUE,280040,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(神勇)
+394101,1012001,TRUE,280085,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(神勇)
+394102,1012002,TRUE,280086,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(神勇)
+394103,1012003,TRUE,280087,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(神勇)
+394104,1012004,TRUE,280088,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(神勇)
+394201,1012005,TRUE,280133,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(神勇)
+394202,1012006,TRUE,280134,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(神勇)
+394203,1012007,TRUE,280135,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(神勇)
+394204,1012008,TRUE,280136,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(神勇)
+395001,1011997,TRUE,280037,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(神勇)
+395002,1011998,TRUE,280038,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(神勇)
+395003,1011999,TRUE,280039,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(神勇)
+395004,1012000,TRUE,280040,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(神勇)
+395101,1012001,TRUE,280085,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(神勇)
+395102,1012002,TRUE,280086,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(神勇)
+395103,1012003,TRUE,280087,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(神勇)
+395104,1012004,TRUE,280088,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(神勇)
+395201,1012005,TRUE,280133,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(神勇)
+395202,1012006,TRUE,280134,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(神勇)
+395203,1012007,TRUE,280135,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(神勇)
+395204,1012008,TRUE,280136,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(神勇)
+396001,1011997,TRUE,280037,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(神勇)
+396002,1011998,TRUE,280038,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(神勇)
+396003,1011999,TRUE,280039,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(神勇)
+396004,1012000,TRUE,280040,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(神勇)
+396101,1012001,TRUE,280085,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(神勇)
+396102,1012002,TRUE,280086,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(神勇)
+396103,1012003,TRUE,280087,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(神勇)
+396104,1012004,TRUE,280088,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(神勇)
+396201,1012005,TRUE,280133,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(神勇)
+396202,1012006,TRUE,280134,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(神勇)
+396203,1012007,TRUE,280135,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(神勇)
+396204,1012008,TRUE,280136,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(神勇)
+397001,1011997,TRUE,280037,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(神勇)
+397002,1011998,TRUE,280038,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(神勇)
+397003,1011999,TRUE,280039,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(神勇)
+397004,1012000,TRUE,280040,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(神勇)
+397101,1012001,TRUE,280085,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(神勇)
+397102,1012002,TRUE,280086,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(神勇)
+397103,1012003,TRUE,280087,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(神勇)
+397104,1012004,TRUE,280088,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(神勇)
+397201,1012005,TRUE,280133,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(神勇)
+397202,1012006,TRUE,280134,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(神勇)
+397203,1012007,TRUE,280135,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(神勇)
+397204,1012008,TRUE,280136,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(神勇)
+398001,1011997,TRUE,280037,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(神勇)
+398002,1011998,TRUE,280038,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(神勇)
+398003,1011999,TRUE,280039,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(神勇)
+398004,1012000,TRUE,280040,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(神勇)
+398101,1012001,TRUE,280085,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(神勇)
+398102,1012002,TRUE,280086,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(神勇)
+398103,1012003,TRUE,280087,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(神勇)
+398104,1012004,TRUE,280088,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(神勇)
+398201,1012005,TRUE,280133,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(神勇)
+398202,1012006,TRUE,280134,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(神勇)
+398203,1012007,TRUE,280135,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(神勇)
+398204,1012008,TRUE,280136,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(神勇)
+399001,1011997,TRUE,280037,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(神勇)
+399002,1011998,TRUE,280038,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(神勇)
+399003,1011999,TRUE,280039,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(神勇)
+399004,1012000,TRUE,280040,22,5,1021997,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(神勇)
+399101,1012001,TRUE,280085,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(神勇)
+399102,1012002,TRUE,280086,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(神勇)
+399103,1012003,TRUE,280087,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(神勇)
+399104,1012004,TRUE,280088,22,5,1021997,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(神勇)
+399201,1012005,TRUE,280133,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(神勇)
+399202,1012006,TRUE,280134,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(神勇)
+399203,1012007,TRUE,280135,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(神勇)
+399204,1012008,TRUE,280136,22,5,1021997,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(神勇)
+400001,1012117,TRUE,280041,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(怒意)
+400002,1012118,TRUE,280042,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(怒意)
+400003,1012119,TRUE,280043,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(怒意)
+400004,1012120,TRUE,280044,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(怒意)
+400101,1012121,TRUE,280089,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(怒意)
+400102,1012122,TRUE,280090,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(怒意)
+400103,1012123,TRUE,280091,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(怒意)
+400104,1012124,TRUE,280092,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(怒意)
+400201,1012125,TRUE,280137,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(怒意)
+400202,1012126,TRUE,280138,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(怒意)
+400203,1012127,TRUE,280139,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(怒意)
+400204,1012128,TRUE,280140,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(怒意)
+401001,1012117,TRUE,280041,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(怒意)
+401002,1012118,TRUE,280042,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(怒意)
+401003,1012119,TRUE,280043,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(怒意)
+401004,1012120,TRUE,280044,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(怒意)
+401101,1012121,TRUE,280089,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(怒意)
+401102,1012122,TRUE,280090,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(怒意)
+401103,1012123,TRUE,280091,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(怒意)
+401104,1012124,TRUE,280092,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(怒意)
+401201,1012125,TRUE,280137,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(怒意)
+401202,1012126,TRUE,280138,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(怒意)
+401203,1012127,TRUE,280139,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(怒意)
+401204,1012128,TRUE,280140,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(怒意)
+402001,1012117,TRUE,280041,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(怒意)
+402002,1012118,TRUE,280042,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(怒意)
+402003,1012119,TRUE,280043,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(怒意)
+402004,1012120,TRUE,280044,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(怒意)
+402101,1012121,TRUE,280089,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(怒意)
+402102,1012122,TRUE,280090,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(怒意)
+402103,1012123,TRUE,280091,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(怒意)
+402104,1012124,TRUE,280092,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(怒意)
+402201,1012125,TRUE,280137,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(怒意)
+402202,1012126,TRUE,280138,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(怒意)
+402203,1012127,TRUE,280139,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(怒意)
+402204,1012128,TRUE,280140,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(怒意)
+403001,1012117,TRUE,280041,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(怒意)
+403002,1012118,TRUE,280042,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(怒意)
+403003,1012119,TRUE,280043,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(怒意)
+403004,1012120,TRUE,280044,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(怒意)
+403101,1012121,TRUE,280089,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(怒意)
+403102,1012122,TRUE,280090,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(怒意)
+403103,1012123,TRUE,280091,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(怒意)
+403104,1012124,TRUE,280092,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(怒意)
+403201,1012125,TRUE,280137,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(怒意)
+403202,1012126,TRUE,280138,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(怒意)
+403203,1012127,TRUE,280139,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(怒意)
+403204,1012128,TRUE,280140,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(怒意)
+404001,1012117,TRUE,280041,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(怒意)
+404002,1012118,TRUE,280042,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(怒意)
+404003,1012119,TRUE,280043,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(怒意)
+404004,1012120,TRUE,280044,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(怒意)
+404101,1012121,TRUE,280089,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(怒意)
+404102,1012122,TRUE,280090,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(怒意)
+404103,1012123,TRUE,280091,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(怒意)
+404104,1012124,TRUE,280092,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(怒意)
+404201,1012125,TRUE,280137,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(怒意)
+404202,1012126,TRUE,280138,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(怒意)
+404203,1012127,TRUE,280139,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(怒意)
+404204,1012128,TRUE,280140,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(怒意)
+405001,1012117,TRUE,280041,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(怒意)
+405002,1012118,TRUE,280042,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(怒意)
+405003,1012119,TRUE,280043,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(怒意)
+405004,1012120,TRUE,280044,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(怒意)
+405101,1012121,TRUE,280089,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(怒意)
+405102,1012122,TRUE,280090,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(怒意)
+405103,1012123,TRUE,280091,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(怒意)
+405104,1012124,TRUE,280092,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(怒意)
+405201,1012125,TRUE,280137,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(怒意)
+405202,1012126,TRUE,280138,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(怒意)
+405203,1012127,TRUE,280139,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(怒意)
+405204,1012128,TRUE,280140,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(怒意)
+406001,1012117,TRUE,280041,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(怒意)
+406002,1012118,TRUE,280042,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(怒意)
+406003,1012119,TRUE,280043,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(怒意)
+406004,1012120,TRUE,280044,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(怒意)
+406101,1012121,TRUE,280089,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(怒意)
+406102,1012122,TRUE,280090,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(怒意)
+406103,1012123,TRUE,280091,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(怒意)
+406104,1012124,TRUE,280092,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(怒意)
+406201,1012125,TRUE,280137,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(怒意)
+406202,1012126,TRUE,280138,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(怒意)
+406203,1012127,TRUE,280139,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(怒意)
+406204,1012128,TRUE,280140,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(怒意)
+407001,1012117,TRUE,280041,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(怒意)
+407002,1012118,TRUE,280042,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(怒意)
+407003,1012119,TRUE,280043,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(怒意)
+407004,1012120,TRUE,280044,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(怒意)
+407101,1012121,TRUE,280089,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(怒意)
+407102,1012122,TRUE,280090,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(怒意)
+407103,1012123,TRUE,280091,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(怒意)
+407104,1012124,TRUE,280092,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(怒意)
+407201,1012125,TRUE,280137,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(怒意)
+407202,1012126,TRUE,280138,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(怒意)
+407203,1012127,TRUE,280139,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(怒意)
+407204,1012128,TRUE,280140,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(怒意)
+408001,1012117,TRUE,280041,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(怒意)
+408002,1012118,TRUE,280042,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(怒意)
+408003,1012119,TRUE,280043,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(怒意)
+408004,1012120,TRUE,280044,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(怒意)
+408101,1012121,TRUE,280089,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(怒意)
+408102,1012122,TRUE,280090,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(怒意)
+408103,1012123,TRUE,280091,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(怒意)
+408104,1012124,TRUE,280092,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(怒意)
+408201,1012125,TRUE,280137,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(怒意)
+408202,1012126,TRUE,280138,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(怒意)
+408203,1012127,TRUE,280139,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(怒意)
+408204,1012128,TRUE,280140,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(怒意)
+409001,1012117,TRUE,280041,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(怒意)
+409002,1012118,TRUE,280042,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(怒意)
+409003,1012119,TRUE,280043,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(怒意)
+409004,1012120,TRUE,280044,22,5,1022117,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(怒意)
+409101,1012121,TRUE,280089,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(怒意)
+409102,1012122,TRUE,280090,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(怒意)
+409103,1012123,TRUE,280091,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(怒意)
+409104,1012124,TRUE,280092,22,5,1022117,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(怒意)
+409201,1012125,TRUE,280137,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(怒意)
+409202,1012126,TRUE,280138,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(怒意)
+409203,1012127,TRUE,280139,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(怒意)
+409204,1012128,TRUE,280140,22,5,1022117,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(怒意)
+410001,1012237,TRUE,280045,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(护盾)
+410002,1012238,TRUE,280046,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(护盾)
+410003,1012239,TRUE,280047,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(护盾)
+410004,1012240,TRUE,280048,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(护盾)
+410101,1012241,TRUE,280093,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(护盾)
+410102,1012242,TRUE,280094,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(护盾)
+410103,1012243,TRUE,280095,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(护盾)
+410104,1012244,TRUE,280096,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(护盾)
+410201,1012245,TRUE,280141,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(护盾)
+410202,1012246,TRUE,280142,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(护盾)
+410203,1012247,TRUE,280143,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(护盾)
+410204,1012248,TRUE,280144,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(护盾)
+411001,1012237,TRUE,280045,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(护盾)
+411002,1012238,TRUE,280046,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(护盾)
+411003,1012239,TRUE,280047,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(护盾)
+411004,1012240,TRUE,280048,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(护盾)
+411101,1012241,TRUE,280093,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(护盾)
+411102,1012242,TRUE,280094,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(护盾)
+411103,1012243,TRUE,280095,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(护盾)
+411104,1012244,TRUE,280096,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(护盾)
+411201,1012245,TRUE,280141,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(护盾)
+411202,1012246,TRUE,280142,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(护盾)
+411203,1012247,TRUE,280143,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(护盾)
+411204,1012248,TRUE,280144,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(护盾)
+412001,1012237,TRUE,280045,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(护盾)
+412002,1012238,TRUE,280046,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(护盾)
+412003,1012239,TRUE,280047,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(护盾)
+412004,1012240,TRUE,280048,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(护盾)
+412101,1012241,TRUE,280093,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(护盾)
+412102,1012242,TRUE,280094,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(护盾)
+412103,1012243,TRUE,280095,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(护盾)
+412104,1012244,TRUE,280096,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(护盾)
+412201,1012245,TRUE,280141,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(护盾)
+412202,1012246,TRUE,280142,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(护盾)
+412203,1012247,TRUE,280143,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(护盾)
+412204,1012248,TRUE,280144,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(护盾)
+413001,1012237,TRUE,280045,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(护盾)
+413002,1012238,TRUE,280046,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(护盾)
+413003,1012239,TRUE,280047,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(护盾)
+413004,1012240,TRUE,280048,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(护盾)
+413101,1012241,TRUE,280093,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(护盾)
+413102,1012242,TRUE,280094,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(护盾)
+413103,1012243,TRUE,280095,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(护盾)
+413104,1012244,TRUE,280096,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(护盾)
+413201,1012245,TRUE,280141,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(护盾)
+413202,1012246,TRUE,280142,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(护盾)
+413203,1012247,TRUE,280143,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(护盾)
+413204,1012248,TRUE,280144,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(护盾)
+414001,1012237,TRUE,280045,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(护盾)
+414002,1012238,TRUE,280046,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(护盾)
+414003,1012239,TRUE,280047,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(护盾)
+414004,1012240,TRUE,280048,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(护盾)
+414101,1012241,TRUE,280093,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(护盾)
+414102,1012242,TRUE,280094,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(护盾)
+414103,1012243,TRUE,280095,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(护盾)
+414104,1012244,TRUE,280096,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(护盾)
+414201,1012245,TRUE,280141,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(护盾)
+414202,1012246,TRUE,280142,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(护盾)
+414203,1012247,TRUE,280143,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(护盾)
+414204,1012248,TRUE,280144,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(护盾)
+415001,1012237,TRUE,280045,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(护盾)
+415002,1012238,TRUE,280046,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(护盾)
+415003,1012239,TRUE,280047,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(护盾)
+415004,1012240,TRUE,280048,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(护盾)
+415101,1012241,TRUE,280093,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(护盾)
+415102,1012242,TRUE,280094,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(护盾)
+415103,1012243,TRUE,280095,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(护盾)
+415104,1012244,TRUE,280096,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(护盾)
+415201,1012245,TRUE,280141,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(护盾)
+415202,1012246,TRUE,280142,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(护盾)
+415203,1012247,TRUE,280143,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(护盾)
+415204,1012248,TRUE,280144,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(护盾)
+416001,1012237,TRUE,280045,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(护盾)
+416002,1012238,TRUE,280046,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(护盾)
+416003,1012239,TRUE,280047,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(护盾)
+416004,1012240,TRUE,280048,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(护盾)
+416101,1012241,TRUE,280093,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(护盾)
+416102,1012242,TRUE,280094,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(护盾)
+416103,1012243,TRUE,280095,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(护盾)
+416104,1012244,TRUE,280096,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(护盾)
+416201,1012245,TRUE,280141,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(护盾)
+416202,1012246,TRUE,280142,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(护盾)
+416203,1012247,TRUE,280143,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(护盾)
+416204,1012248,TRUE,280144,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(护盾)
+417001,1012237,TRUE,280045,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(护盾)
+417002,1012238,TRUE,280046,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(护盾)
+417003,1012239,TRUE,280047,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(护盾)
+417004,1012240,TRUE,280048,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(护盾)
+417101,1012241,TRUE,280093,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(护盾)
+417102,1012242,TRUE,280094,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(护盾)
+417103,1012243,TRUE,280095,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(护盾)
+417104,1012244,TRUE,280096,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(护盾)
+417201,1012245,TRUE,280141,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(护盾)
+417202,1012246,TRUE,280142,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(护盾)
+417203,1012247,TRUE,280143,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(护盾)
+417204,1012248,TRUE,280144,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(护盾)
+418001,1012237,TRUE,280045,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(护盾)
+418002,1012238,TRUE,280046,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(护盾)
+418003,1012239,TRUE,280047,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(护盾)
+418004,1012240,TRUE,280048,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(护盾)
+418101,1012241,TRUE,280093,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(护盾)
+418102,1012242,TRUE,280094,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(护盾)
+418103,1012243,TRUE,280095,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(护盾)
+418104,1012244,TRUE,280096,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(护盾)
+418201,1012245,TRUE,280141,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(护盾)
+418202,1012246,TRUE,280142,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(护盾)
+418203,1012247,TRUE,280143,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(护盾)
+418204,1012248,TRUE,280144,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(护盾)
+419001,1012237,TRUE,280045,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,战斗芯片(护盾)
+419002,1012238,TRUE,280046,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,生存芯片(护盾)
+419003,1012239,TRUE,280047,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,格斗芯片(护盾)
+419004,1012240,TRUE,280048,22,5,1022237,,3,,0,,0,,,,,,,,0,99999,,,,1030917,合作芯片(护盾)
+419101,1012241,TRUE,280093,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有战斗芯片(护盾)
+419102,1012242,TRUE,280094,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有生存芯片(护盾)
+419103,1012243,TRUE,280095,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有格斗芯片(护盾)
+419104,1012244,TRUE,280096,22,5,1022237,,4,,0,,0,,,,,,,,0,99999,,,,1030917,稀有合作芯片(护盾)
+419201,1012245,TRUE,280141,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说战斗芯片(护盾)
+419202,1012246,TRUE,280142,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说生存芯片(护盾)
+419203,1012247,TRUE,280143,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说格斗芯片(护盾)
+419204,1012248,TRUE,280144,22,5,1022237,,5,,0,,0,,,,,,,,0,99999,,,,1030917,传说合作芯片(护盾)
+429001,1012357,TRUE,280001,10,2,1022357,,5,TRUE,0,,1,429001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(防御)
+429002,1012358,TRUE,280002,10,2,1022357,,5,TRUE,0,,1,429002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(防御)
+429003,1012359,TRUE,280003,10,2,1022357,,5,TRUE,0,,1,429003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(防御)
+429004,1012360,TRUE,280004,10,2,1022357,,5,TRUE,0,,1,429004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(防御)
+429101,1012357,TRUE,280001,10,2,1022361,,5,TRUE,0,,1,429101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(防御)
+429102,1012358,TRUE,280002,10,2,1022361,,5,TRUE,0,,1,429102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(防御)
+429103,1012359,TRUE,280003,10,2,1022361,,5,TRUE,0,,1,429103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(防御)
+429104,1012360,TRUE,280004,10,2,1022361,,5,TRUE,0,,1,429104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(防御)
+429201,1012357,TRUE,280001,10,2,1022365,,5,TRUE,0,,1,429201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(防御)
+429202,1012358,TRUE,280002,10,2,1022365,,5,TRUE,0,,1,429202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(防御)
+429203,1012359,TRUE,280003,10,2,1022365,,5,TRUE,0,,1,429203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(防御)
+429204,1012360,TRUE,280004,10,2,1022365,,5,TRUE,0,,1,429204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(防御)
+439001,1012357,TRUE,280001,10,2,1022369,,5,TRUE,0,,1,439001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(防御)
+439002,1012358,TRUE,280002,10,2,1022369,,5,TRUE,0,,1,439002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(防御)
+439003,1012359,TRUE,280003,10,2,1022369,,5,TRUE,0,,1,439003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(防御)
+439004,1012360,TRUE,280004,10,2,1022369,,5,TRUE,0,,1,439004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(防御)
+439101,1012357,TRUE,280001,10,2,1022373,,5,TRUE,0,,1,439101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(防御)
+439102,1012358,TRUE,280002,10,2,1022373,,5,TRUE,0,,1,439102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(防御)
+439103,1012359,TRUE,280003,10,2,1022373,,5,TRUE,0,,1,439103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(防御)
+439104,1012360,TRUE,280004,10,2,1022373,,5,TRUE,0,,1,439104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(防御)
+439201,1012357,TRUE,280001,10,2,1022377,,5,TRUE,0,,1,439201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(防御)
+439202,1012358,TRUE,280002,10,2,1022377,,5,TRUE,0,,1,439202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(防御)
+439203,1012359,TRUE,280003,10,2,1022377,,5,TRUE,0,,1,439203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(防御)
+439204,1012360,TRUE,280004,10,2,1022377,,5,TRUE,0,,1,439204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(防御)
+449001,1012357,TRUE,280001,10,2,1022381,,5,TRUE,0,,1,449001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(防御)
+449002,1012358,TRUE,280002,10,2,1022381,,5,TRUE,0,,1,449002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(防御)
+449003,1012359,TRUE,280003,10,2,1022381,,5,TRUE,0,,1,449003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(防御)
+449004,1012360,TRUE,280004,10,2,1022381,,5,TRUE,0,,1,449004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(防御)
+449101,1012357,TRUE,280001,10,2,1022385,,5,TRUE,0,,1,449101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(防御)
+449102,1012358,TRUE,280002,10,2,1022385,,5,TRUE,0,,1,449102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(防御)
+449103,1012359,TRUE,280003,10,2,1022385,,5,TRUE,0,,1,449103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(防御)
+449104,1012360,TRUE,280004,10,2,1022385,,5,TRUE,0,,1,449104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(防御)
+449201,1012357,TRUE,280001,10,2,1022389,,5,TRUE,0,,1,449201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(防御)
+449202,1012358,TRUE,280002,10,2,1022389,,5,TRUE,0,,1,449202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(防御)
+449203,1012359,TRUE,280003,10,2,1022389,,5,TRUE,0,,1,449203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(防御)
+449204,1012360,TRUE,280004,10,2,1022389,,5,TRUE,0,,1,449204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(防御)
+459001,1012357,TRUE,280001,10,2,1022393,,5,TRUE,0,,1,459001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(防御)
+459002,1012358,TRUE,280002,10,2,1022393,,5,TRUE,0,,1,459002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(防御)
+459003,1012359,TRUE,280003,10,2,1022393,,5,TRUE,0,,1,459003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(防御)
+459004,1012360,TRUE,280004,10,2,1022393,,5,TRUE,0,,1,459004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(防御)
+459101,1012397,TRUE,280005,10,2,1022397,,5,TRUE,0,,1,459101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(暴击)
+459102,1012398,TRUE,280006,10,2,1022397,,5,TRUE,0,,1,459102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(暴击)
+459103,1012399,TRUE,280007,10,2,1022397,,5,TRUE,0,,1,459103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(暴击)
+459104,1012400,TRUE,280008,10,2,1022397,,5,TRUE,0,,1,459104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(暴击)
+459201,1012397,TRUE,280005,10,2,1022401,,5,TRUE,0,,1,459201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(暴击)
+459202,1012398,TRUE,280006,10,2,1022401,,5,TRUE,0,,1,459202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(暴击)
+459203,1012399,TRUE,280007,10,2,1022401,,5,TRUE,0,,1,459203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(暴击)
+459204,1012400,TRUE,280008,10,2,1022401,,5,TRUE,0,,1,459204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(暴击)
+469001,1012397,TRUE,280005,10,2,1022405,,5,TRUE,0,,1,469001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(暴击)
+469002,1012398,TRUE,280006,10,2,1022405,,5,TRUE,0,,1,469002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(暴击)
+469003,1012399,TRUE,280007,10,2,1022405,,5,TRUE,0,,1,469003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(暴击)
+469004,1012400,TRUE,280008,10,2,1022405,,5,TRUE,0,,1,469004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(暴击)
+469101,1012397,TRUE,280005,10,2,1022409,,5,TRUE,0,,1,469101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(暴击)
+469102,1012398,TRUE,280006,10,2,1022409,,5,TRUE,0,,1,469102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(暴击)
+469103,1012399,TRUE,280007,10,2,1022409,,5,TRUE,0,,1,469103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(暴击)
+469104,1012400,TRUE,280008,10,2,1022409,,5,TRUE,0,,1,469104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(暴击)
+469201,1012397,TRUE,280005,10,2,1022413,,5,TRUE,0,,1,469201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(暴击)
+469202,1012398,TRUE,280006,10,2,1022413,,5,TRUE,0,,1,469202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(暴击)
+469203,1012399,TRUE,280007,10,2,1022413,,5,TRUE,0,,1,469203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(暴击)
+469204,1012400,TRUE,280008,10,2,1022413,,5,TRUE,0,,1,469204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(暴击)
+479001,1012397,TRUE,280005,10,2,1022417,,5,TRUE,0,,1,479001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(暴击)
+479002,1012398,TRUE,280006,10,2,1022417,,5,TRUE,0,,1,479002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(暴击)
+479003,1012399,TRUE,280007,10,2,1022417,,5,TRUE,0,,1,479003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(暴击)
+479004,1012400,TRUE,280008,10,2,1022417,,5,TRUE,0,,1,479004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(暴击)
+479101,1012397,TRUE,280005,10,2,1022421,,5,TRUE,0,,1,479101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(暴击)
+479102,1012398,TRUE,280006,10,2,1022421,,5,TRUE,0,,1,479102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(暴击)
+479103,1012399,TRUE,280007,10,2,1022421,,5,TRUE,0,,1,479103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(暴击)
+479104,1012400,TRUE,280008,10,2,1022421,,5,TRUE,0,,1,479104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(暴击)
+479201,1012397,TRUE,280005,10,2,1022425,,5,TRUE,0,,1,479201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(暴击)
+479202,1012398,TRUE,280006,10,2,1022425,,5,TRUE,0,,1,479202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(暴击)
+479203,1012399,TRUE,280007,10,2,1022425,,5,TRUE,0,,1,479203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(暴击)
+479204,1012400,TRUE,280008,10,2,1022425,,5,TRUE,0,,1,479204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(暴击)
+489001,1012397,TRUE,280005,10,2,1022429,,5,TRUE,0,,1,489001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(暴击)
+489002,1012398,TRUE,280006,10,2,1022429,,5,TRUE,0,,1,489002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(暴击)
+489003,1012399,TRUE,280007,10,2,1022429,,5,TRUE,0,,1,489003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(暴击)
+489004,1012400,TRUE,280008,10,2,1022429,,5,TRUE,0,,1,489004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(暴击)
+489101,1012397,TRUE,280005,10,2,1022433,,5,TRUE,0,,1,489101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(暴击)
+489102,1012398,TRUE,280006,10,2,1022433,,5,TRUE,0,,1,489102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(暴击)
+489103,1012399,TRUE,280007,10,2,1022433,,5,TRUE,0,,1,489103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(暴击)
+489104,1012400,TRUE,280008,10,2,1022433,,5,TRUE,0,,1,489104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(暴击)
+489201,1012437,TRUE,280009,10,2,1022437,,5,TRUE,0,,1,489201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(攻击)
+489202,1012438,TRUE,280010,10,2,1022437,,5,TRUE,0,,1,489202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(攻击)
+489203,1012439,TRUE,280011,10,2,1022437,,5,TRUE,0,,1,489203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(攻击)
+489204,1012440,TRUE,280012,10,2,1022437,,5,TRUE,0,,1,489204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(攻击)
+499001,1012437,TRUE,280009,10,2,1022441,,5,TRUE,0,,1,499001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(攻击)
+499002,1012438,TRUE,280010,10,2,1022441,,5,TRUE,0,,1,499002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(攻击)
+499003,1012439,TRUE,280011,10,2,1022441,,5,TRUE,0,,1,499003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(攻击)
+499004,1012440,TRUE,280012,10,2,1022441,,5,TRUE,0,,1,499004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(攻击)
+499101,1012437,TRUE,280009,10,2,1022445,,5,TRUE,0,,1,499101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(攻击)
+499102,1012438,TRUE,280010,10,2,1022445,,5,TRUE,0,,1,499102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(攻击)
+499103,1012439,TRUE,280011,10,2,1022445,,5,TRUE,0,,1,499103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(攻击)
+499104,1012440,TRUE,280012,10,2,1022445,,5,TRUE,0,,1,499104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(攻击)
+499201,1012437,TRUE,280009,10,2,1022449,,5,TRUE,0,,1,499201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(攻击)
+499202,1012438,TRUE,280010,10,2,1022449,,5,TRUE,0,,1,499202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(攻击)
+499203,1012439,TRUE,280011,10,2,1022449,,5,TRUE,0,,1,499203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(攻击)
+499204,1012440,TRUE,280012,10,2,1022449,,5,TRUE,0,,1,499204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(攻击)
+509001,1012437,TRUE,280009,10,2,1022453,,5,TRUE,0,,1,509001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(攻击)
+509002,1012438,TRUE,280010,10,2,1022453,,5,TRUE,0,,1,509002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(攻击)
+509003,1012439,TRUE,280011,10,2,1022453,,5,TRUE,0,,1,509003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(攻击)
+509004,1012440,TRUE,280012,10,2,1022453,,5,TRUE,0,,1,509004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(攻击)
+509101,1012437,TRUE,280009,10,2,1022457,,5,TRUE,0,,1,509101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(攻击)
+509102,1012438,TRUE,280010,10,2,1022457,,5,TRUE,0,,1,509102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(攻击)
+509103,1012439,TRUE,280011,10,2,1022457,,5,TRUE,0,,1,509103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(攻击)
+509104,1012440,TRUE,280012,10,2,1022457,,5,TRUE,0,,1,509104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(攻击)
+509201,1012437,TRUE,280009,10,2,1022461,,5,TRUE,0,,1,509201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(攻击)
+509202,1012438,TRUE,280010,10,2,1022461,,5,TRUE,0,,1,509202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(攻击)
+509203,1012439,TRUE,280011,10,2,1022461,,5,TRUE,0,,1,509203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(攻击)
+509204,1012440,TRUE,280012,10,2,1022461,,5,TRUE,0,,1,509204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(攻击)
+519001,1012437,TRUE,280009,10,2,1022465,,5,TRUE,0,,1,519001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(攻击)
+519002,1012438,TRUE,280010,10,2,1022465,,5,TRUE,0,,1,519002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(攻击)
+519003,1012439,TRUE,280011,10,2,1022465,,5,TRUE,0,,1,519003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(攻击)
+519004,1012440,TRUE,280012,10,2,1022465,,5,TRUE,0,,1,519004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(攻击)
+519101,1012437,TRUE,280009,10,2,1022469,,5,TRUE,0,,1,519101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(攻击)
+519102,1012438,TRUE,280010,10,2,1022469,,5,TRUE,0,,1,519102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(攻击)
+519103,1012439,TRUE,280011,10,2,1022469,,5,TRUE,0,,1,519103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(攻击)
+519104,1012440,TRUE,280012,10,2,1022469,,5,TRUE,0,,1,519104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(攻击)
+519201,1012437,TRUE,280009,10,2,1022473,,5,TRUE,0,,1,519201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(攻击)
+519202,1012438,TRUE,280010,10,2,1022473,,5,TRUE,0,,1,519202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(攻击)
+519203,1012439,TRUE,280011,10,2,1022473,,5,TRUE,0,,1,519203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(攻击)
+519204,1012440,TRUE,280012,10,2,1022473,,5,TRUE,0,,1,519204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(攻击)
+529001,1012477,TRUE,280013,10,2,1022477,,5,TRUE,0,,1,529001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(治疗)
+529002,1012478,TRUE,280014,10,2,1022477,,5,TRUE,0,,1,529002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(治疗)
+529003,1012479,TRUE,280015,10,2,1022477,,5,TRUE,0,,1,529003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(治疗)
+529004,1012480,TRUE,280016,10,2,1022477,,5,TRUE,0,,1,529004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(治疗)
+529101,1012477,TRUE,280013,10,2,1022481,,5,TRUE,0,,1,529101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(治疗)
+529102,1012478,TRUE,280014,10,2,1022481,,5,TRUE,0,,1,529102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(治疗)
+529103,1012479,TRUE,280015,10,2,1022481,,5,TRUE,0,,1,529103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(治疗)
+529104,1012480,TRUE,280016,10,2,1022481,,5,TRUE,0,,1,529104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(治疗)
+529201,1012477,TRUE,280013,10,2,1022485,,5,TRUE,0,,1,529201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(治疗)
+529202,1012478,TRUE,280014,10,2,1022485,,5,TRUE,0,,1,529202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(治疗)
+529203,1012479,TRUE,280015,10,2,1022485,,5,TRUE,0,,1,529203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(治疗)
+529204,1012480,TRUE,280016,10,2,1022485,,5,TRUE,0,,1,529204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(治疗)
+539001,1012477,TRUE,280013,10,2,1022489,,5,TRUE,0,,1,539001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(治疗)
+539002,1012478,TRUE,280014,10,2,1022489,,5,TRUE,0,,1,539002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(治疗)
+539003,1012479,TRUE,280015,10,2,1022489,,5,TRUE,0,,1,539003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(治疗)
+539004,1012480,TRUE,280016,10,2,1022489,,5,TRUE,0,,1,539004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(治疗)
+539101,1012477,TRUE,280013,10,2,1022493,,5,TRUE,0,,1,539101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(治疗)
+539102,1012478,TRUE,280014,10,2,1022493,,5,TRUE,0,,1,539102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(治疗)
+539103,1012479,TRUE,280015,10,2,1022493,,5,TRUE,0,,1,539103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(治疗)
+539104,1012480,TRUE,280016,10,2,1022493,,5,TRUE,0,,1,539104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(治疗)
+539201,1012477,TRUE,280013,10,2,1022497,,5,TRUE,0,,1,539201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(治疗)
+539202,1012478,TRUE,280014,10,2,1022497,,5,TRUE,0,,1,539202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(治疗)
+539203,1012479,TRUE,280015,10,2,1022497,,5,TRUE,0,,1,539203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(治疗)
+539204,1012480,TRUE,280016,10,2,1022497,,5,TRUE,0,,1,539204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(治疗)
+549001,1012477,TRUE,280013,10,2,1022501,,5,TRUE,0,,1,549001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(治疗)
+549002,1012478,TRUE,280014,10,2,1022501,,5,TRUE,0,,1,549002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(治疗)
+549003,1012479,TRUE,280015,10,2,1022501,,5,TRUE,0,,1,549003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(治疗)
+549004,1012480,TRUE,280016,10,2,1022501,,5,TRUE,0,,1,549004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(治疗)
+549101,1012477,TRUE,280013,10,2,1022505,,5,TRUE,0,,1,549101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(治疗)
+549102,1012478,TRUE,280014,10,2,1022505,,5,TRUE,0,,1,549102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(治疗)
+549103,1012479,TRUE,280015,10,2,1022505,,5,TRUE,0,,1,549103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(治疗)
+549104,1012480,TRUE,280016,10,2,1022505,,5,TRUE,0,,1,549104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(治疗)
+549201,1012477,TRUE,280013,10,2,1022509,,5,TRUE,0,,1,549201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(治疗)
+549202,1012478,TRUE,280014,10,2,1022509,,5,TRUE,0,,1,549202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(治疗)
+549203,1012479,TRUE,280015,10,2,1022509,,5,TRUE,0,,1,549203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(治疗)
+549204,1012480,TRUE,280016,10,2,1022509,,5,TRUE,0,,1,549204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(治疗)
+559001,1012477,TRUE,280013,10,2,1022513,,5,TRUE,0,,1,559001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(治疗)
+559002,1012478,TRUE,280014,10,2,1022513,,5,TRUE,0,,1,559002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(治疗)
+559003,1012479,TRUE,280015,10,2,1022513,,5,TRUE,0,,1,559003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(治疗)
+559004,1012480,TRUE,280016,10,2,1022513,,5,TRUE,0,,1,559004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(治疗)
+559101,1012517,TRUE,280017,10,2,1022517,,5,TRUE,0,,1,559101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(破防)
+559102,1012518,TRUE,280018,10,2,1022517,,5,TRUE,0,,1,559102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(破防)
+559103,1012519,TRUE,280019,10,2,1022517,,5,TRUE,0,,1,559103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(破防)
+559104,1012520,TRUE,280020,10,2,1022517,,5,TRUE,0,,1,559104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(破防)
+559201,1012517,TRUE,280017,10,2,1022521,,5,TRUE,0,,1,559201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(破防)
+559202,1012518,TRUE,280018,10,2,1022521,,5,TRUE,0,,1,559202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(破防)
+559203,1012519,TRUE,280019,10,2,1022521,,5,TRUE,0,,1,559203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(破防)
+559204,1012520,TRUE,280020,10,2,1022521,,5,TRUE,0,,1,559204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(破防)
+569001,1012517,TRUE,280017,10,2,1022525,,5,TRUE,0,,1,569001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(破防)
+569002,1012518,TRUE,280018,10,2,1022525,,5,TRUE,0,,1,569002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(破防)
+569003,1012519,TRUE,280019,10,2,1022525,,5,TRUE,0,,1,569003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(破防)
+569004,1012520,TRUE,280020,10,2,1022525,,5,TRUE,0,,1,569004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(破防)
+569101,1012517,TRUE,280017,10,2,1022529,,5,TRUE,0,,1,569101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(破防)
+569102,1012518,TRUE,280018,10,2,1022529,,5,TRUE,0,,1,569102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(破防)
+569103,1012519,TRUE,280019,10,2,1022529,,5,TRUE,0,,1,569103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(破防)
+569104,1012520,TRUE,280020,10,2,1022529,,5,TRUE,0,,1,569104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(破防)
+569201,1012517,TRUE,280017,10,2,1022533,,5,TRUE,0,,1,569201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(破防)
+569202,1012518,TRUE,280018,10,2,1022533,,5,TRUE,0,,1,569202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(破防)
+569203,1012519,TRUE,280019,10,2,1022533,,5,TRUE,0,,1,569203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(破防)
+569204,1012520,TRUE,280020,10,2,1022533,,5,TRUE,0,,1,569204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(破防)
+579001,1012517,TRUE,280017,10,2,1022537,,5,TRUE,0,,1,579001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(破防)
+579002,1012518,TRUE,280018,10,2,1022537,,5,TRUE,0,,1,579002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(破防)
+579003,1012519,TRUE,280019,10,2,1022537,,5,TRUE,0,,1,579003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(破防)
+579004,1012520,TRUE,280020,10,2,1022537,,5,TRUE,0,,1,579004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(破防)
+579101,1012517,TRUE,280017,10,2,1022541,,5,TRUE,0,,1,579101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(破防)
+579102,1012518,TRUE,280018,10,2,1022541,,5,TRUE,0,,1,579102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(破防)
+579103,1012519,TRUE,280019,10,2,1022541,,5,TRUE,0,,1,579103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(破防)
+579104,1012520,TRUE,280020,10,2,1022541,,5,TRUE,0,,1,579104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(破防)
+579201,1012517,TRUE,280017,10,2,1022545,,5,TRUE,0,,1,579201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(破防)
+579202,1012518,TRUE,280018,10,2,1022545,,5,TRUE,0,,1,579202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(破防)
+579203,1012519,TRUE,280019,10,2,1022545,,5,TRUE,0,,1,579203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(破防)
+579204,1012520,TRUE,280020,10,2,1022545,,5,TRUE,0,,1,579204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(破防)
+589001,1012517,TRUE,280017,10,2,1022549,,5,TRUE,0,,1,589001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(破防)
+589002,1012518,TRUE,280018,10,2,1022549,,5,TRUE,0,,1,589002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(破防)
+589003,1012519,TRUE,280019,10,2,1022549,,5,TRUE,0,,1,589003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(破防)
+589004,1012520,TRUE,280020,10,2,1022549,,5,TRUE,0,,1,589004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(破防)
+589101,1012517,TRUE,280017,10,2,1022553,,5,TRUE,0,,1,589101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(破防)
+589102,1012518,TRUE,280018,10,2,1022553,,5,TRUE,0,,1,589102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(破防)
+589103,1012519,TRUE,280019,10,2,1022553,,5,TRUE,0,,1,589103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(破防)
+589104,1012520,TRUE,280020,10,2,1022553,,5,TRUE,0,,1,589104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(破防)
+589201,1012557,TRUE,280021,10,2,1022557,,5,TRUE,0,,1,589201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(破魔)
+589202,1012558,TRUE,280022,10,2,1022557,,5,TRUE,0,,1,589202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(破魔)
+589203,1012559,TRUE,280023,10,2,1022557,,5,TRUE,0,,1,589203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(破魔)
+589204,1012560,TRUE,280024,10,2,1022557,,5,TRUE,0,,1,589204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(破魔)
+599001,1012557,TRUE,280021,10,2,1022561,,5,TRUE,0,,1,599001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(破魔)
+599002,1012558,TRUE,280022,10,2,1022561,,5,TRUE,0,,1,599002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(破魔)
+599003,1012559,TRUE,280023,10,2,1022561,,5,TRUE,0,,1,599003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(破魔)
+599004,1012560,TRUE,280024,10,2,1022561,,5,TRUE,0,,1,599004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(破魔)
+599101,1012557,TRUE,280021,10,2,1022565,,5,TRUE,0,,1,599101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(破魔)
+599102,1012558,TRUE,280022,10,2,1022565,,5,TRUE,0,,1,599102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(破魔)
+599103,1012559,TRUE,280023,10,2,1022565,,5,TRUE,0,,1,599103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(破魔)
+599104,1012560,TRUE,280024,10,2,1022565,,5,TRUE,0,,1,599104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(破魔)
+599201,1012557,TRUE,280021,10,2,1022569,,5,TRUE,0,,1,599201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(破魔)
+599202,1012558,TRUE,280022,10,2,1022569,,5,TRUE,0,,1,599202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(破魔)
+599203,1012559,TRUE,280023,10,2,1022569,,5,TRUE,0,,1,599203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(破魔)
+599204,1012560,TRUE,280024,10,2,1022569,,5,TRUE,0,,1,599204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(破魔)
+609001,1012557,TRUE,280021,10,2,1022573,,5,TRUE,0,,1,609001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(破魔)
+609002,1012558,TRUE,280022,10,2,1022573,,5,TRUE,0,,1,609002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(破魔)
+609003,1012559,TRUE,280023,10,2,1022573,,5,TRUE,0,,1,609003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(破魔)
+609004,1012560,TRUE,280024,10,2,1022573,,5,TRUE,0,,1,609004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(破魔)
+609101,1012557,TRUE,280021,10,2,1022577,,5,TRUE,0,,1,609101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(破魔)
+609102,1012558,TRUE,280022,10,2,1022577,,5,TRUE,0,,1,609102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(破魔)
+609103,1012559,TRUE,280023,10,2,1022577,,5,TRUE,0,,1,609103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(破魔)
+609104,1012560,TRUE,280024,10,2,1022577,,5,TRUE,0,,1,609104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(破魔)
+609201,1012557,TRUE,280021,10,2,1022581,,5,TRUE,0,,1,609201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(破魔)
+609202,1012558,TRUE,280022,10,2,1022581,,5,TRUE,0,,1,609202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(破魔)
+609203,1012559,TRUE,280023,10,2,1022581,,5,TRUE,0,,1,609203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(破魔)
+609204,1012560,TRUE,280024,10,2,1022581,,5,TRUE,0,,1,609204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(破魔)
+619001,1012557,TRUE,280021,10,2,1022585,,5,TRUE,0,,1,619001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(破魔)
+619002,1012558,TRUE,280022,10,2,1022585,,5,TRUE,0,,1,619002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(破魔)
+619003,1012559,TRUE,280023,10,2,1022585,,5,TRUE,0,,1,619003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(破魔)
+619004,1012560,TRUE,280024,10,2,1022585,,5,TRUE,0,,1,619004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(破魔)
+619101,1012557,TRUE,280021,10,2,1022589,,5,TRUE,0,,1,619101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(破魔)
+619102,1012558,TRUE,280022,10,2,1022589,,5,TRUE,0,,1,619102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(破魔)
+619103,1012559,TRUE,280023,10,2,1022589,,5,TRUE,0,,1,619103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(破魔)
+619104,1012560,TRUE,280024,10,2,1022589,,5,TRUE,0,,1,619104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(破魔)
+619201,1012557,TRUE,280021,10,2,1022593,,5,TRUE,0,,1,619201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(破魔)
+619202,1012558,TRUE,280022,10,2,1022593,,5,TRUE,0,,1,619202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(破魔)
+619203,1012559,TRUE,280023,10,2,1022593,,5,TRUE,0,,1,619203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(破魔)
+619204,1012560,TRUE,280024,10,2,1022593,,5,TRUE,0,,1,619204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(破魔)
+629001,1012597,TRUE,280025,10,2,1022597,,5,TRUE,0,,1,629001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(斗将)
+629002,1012598,TRUE,280026,10,2,1022597,,5,TRUE,0,,1,629002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(斗将)
+629003,1012599,TRUE,280027,10,2,1022597,,5,TRUE,0,,1,629003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(斗将)
+629004,1012600,TRUE,280028,10,2,1022597,,5,TRUE,0,,1,629004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(斗将)
+629101,1012597,TRUE,280025,10,2,1022601,,5,TRUE,0,,1,629101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(斗将)
+629102,1012598,TRUE,280026,10,2,1022601,,5,TRUE,0,,1,629102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(斗将)
+629103,1012599,TRUE,280027,10,2,1022601,,5,TRUE,0,,1,629103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(斗将)
+629104,1012600,TRUE,280028,10,2,1022601,,5,TRUE,0,,1,629104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(斗将)
+629201,1012597,TRUE,280025,10,2,1022605,,5,TRUE,0,,1,629201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(斗将)
+629202,1012598,TRUE,280026,10,2,1022605,,5,TRUE,0,,1,629202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(斗将)
+629203,1012599,TRUE,280027,10,2,1022605,,5,TRUE,0,,1,629203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(斗将)
+629204,1012600,TRUE,280028,10,2,1022605,,5,TRUE,0,,1,629204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(斗将)
+639001,1012597,TRUE,280025,10,2,1022609,,5,TRUE,0,,1,639001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(斗将)
+639002,1012598,TRUE,280026,10,2,1022609,,5,TRUE,0,,1,639002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(斗将)
+639003,1012599,TRUE,280027,10,2,1022609,,5,TRUE,0,,1,639003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(斗将)
+639004,1012600,TRUE,280028,10,2,1022609,,5,TRUE,0,,1,639004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(斗将)
+639101,1012597,TRUE,280025,10,2,1022613,,5,TRUE,0,,1,639101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(斗将)
+639102,1012598,TRUE,280026,10,2,1022613,,5,TRUE,0,,1,639102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(斗将)
+639103,1012599,TRUE,280027,10,2,1022613,,5,TRUE,0,,1,639103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(斗将)
+639104,1012600,TRUE,280028,10,2,1022613,,5,TRUE,0,,1,639104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(斗将)
+639201,1012597,TRUE,280025,10,2,1022617,,5,TRUE,0,,1,639201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(斗将)
+639202,1012598,TRUE,280026,10,2,1022617,,5,TRUE,0,,1,639202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(斗将)
+639203,1012599,TRUE,280027,10,2,1022617,,5,TRUE,0,,1,639203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(斗将)
+639204,1012600,TRUE,280028,10,2,1022617,,5,TRUE,0,,1,639204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(斗将)
+649001,1012597,TRUE,280025,10,2,1022621,,5,TRUE,0,,1,649001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(斗将)
+649002,1012598,TRUE,280026,10,2,1022621,,5,TRUE,0,,1,649002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(斗将)
+649003,1012599,TRUE,280027,10,2,1022621,,5,TRUE,0,,1,649003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(斗将)
+649004,1012600,TRUE,280028,10,2,1022621,,5,TRUE,0,,1,649004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(斗将)
+649101,1012597,TRUE,280025,10,2,1022625,,5,TRUE,0,,1,649101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(斗将)
+649102,1012598,TRUE,280026,10,2,1022625,,5,TRUE,0,,1,649102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(斗将)
+649103,1012599,TRUE,280027,10,2,1022625,,5,TRUE,0,,1,649103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(斗将)
+649104,1012600,TRUE,280028,10,2,1022625,,5,TRUE,0,,1,649104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(斗将)
+649201,1012597,TRUE,280025,10,2,1022629,,5,TRUE,0,,1,649201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(斗将)
+649202,1012598,TRUE,280026,10,2,1022629,,5,TRUE,0,,1,649202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(斗将)
+649203,1012599,TRUE,280027,10,2,1022629,,5,TRUE,0,,1,649203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(斗将)
+649204,1012600,TRUE,280028,10,2,1022629,,5,TRUE,0,,1,649204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(斗将)
+659001,1012597,TRUE,280025,10,2,1022633,,5,TRUE,0,,1,659001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(斗将)
+659002,1012598,TRUE,280026,10,2,1022633,,5,TRUE,0,,1,659002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(斗将)
+659003,1012599,TRUE,280027,10,2,1022633,,5,TRUE,0,,1,659003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(斗将)
+659004,1012600,TRUE,280028,10,2,1022633,,5,TRUE,0,,1,659004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(斗将)
+659101,1012637,TRUE,280029,10,2,1022637,,5,TRUE,0,,1,659101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(克辅)
+659102,1012638,TRUE,280030,10,2,1022637,,5,TRUE,0,,1,659102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(克辅)
+659103,1012639,TRUE,280031,10,2,1022637,,5,TRUE,0,,1,659103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(克辅)
+659104,1012640,TRUE,280032,10,2,1022637,,5,TRUE,0,,1,659104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(克辅)
+659201,1012637,TRUE,280029,10,2,1022641,,5,TRUE,0,,1,659201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(克辅)
+659202,1012638,TRUE,280030,10,2,1022641,,5,TRUE,0,,1,659202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(克辅)
+659203,1012639,TRUE,280031,10,2,1022641,,5,TRUE,0,,1,659203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(克辅)
+659204,1012640,TRUE,280032,10,2,1022641,,5,TRUE,0,,1,659204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(克辅)
+669001,1012637,TRUE,280029,10,2,1022645,,5,TRUE,0,,1,669001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(克辅)
+669002,1012638,TRUE,280030,10,2,1022645,,5,TRUE,0,,1,669002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(克辅)
+669003,1012639,TRUE,280031,10,2,1022645,,5,TRUE,0,,1,669003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(克辅)
+669004,1012640,TRUE,280032,10,2,1022645,,5,TRUE,0,,1,669004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(克辅)
+669101,1012637,TRUE,280029,10,2,1022649,,5,TRUE,0,,1,669101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(克辅)
+669102,1012638,TRUE,280030,10,2,1022649,,5,TRUE,0,,1,669102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(克辅)
+669103,1012639,TRUE,280031,10,2,1022649,,5,TRUE,0,,1,669103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(克辅)
+669104,1012640,TRUE,280032,10,2,1022649,,5,TRUE,0,,1,669104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(克辅)
+669201,1012637,TRUE,280029,10,2,1022653,,5,TRUE,0,,1,669201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(克辅)
+669202,1012638,TRUE,280030,10,2,1022653,,5,TRUE,0,,1,669202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(克辅)
+669203,1012639,TRUE,280031,10,2,1022653,,5,TRUE,0,,1,669203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(克辅)
+669204,1012640,TRUE,280032,10,2,1022653,,5,TRUE,0,,1,669204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(克辅)
+679001,1012637,TRUE,280029,10,2,1022657,,5,TRUE,0,,1,679001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(克辅)
+679002,1012638,TRUE,280030,10,2,1022657,,5,TRUE,0,,1,679002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(克辅)
+679003,1012639,TRUE,280031,10,2,1022657,,5,TRUE,0,,1,679003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(克辅)
+679004,1012640,TRUE,280032,10,2,1022657,,5,TRUE,0,,1,679004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(克辅)
+679101,1012637,TRUE,280029,10,2,1022661,,5,TRUE,0,,1,679101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(克辅)
+679102,1012638,TRUE,280030,10,2,1022661,,5,TRUE,0,,1,679102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(克辅)
+679103,1012639,TRUE,280031,10,2,1022661,,5,TRUE,0,,1,679103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(克辅)
+679104,1012640,TRUE,280032,10,2,1022661,,5,TRUE,0,,1,679104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(克辅)
+679201,1012637,TRUE,280029,10,2,1022665,,5,TRUE,0,,1,679201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(克辅)
+679202,1012638,TRUE,280030,10,2,1022665,,5,TRUE,0,,1,679202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(克辅)
+679203,1012639,TRUE,280031,10,2,1022665,,5,TRUE,0,,1,679203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(克辅)
+679204,1012640,TRUE,280032,10,2,1022665,,5,TRUE,0,,1,679204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(克辅)
+689001,1012637,TRUE,280029,10,2,1022669,,5,TRUE,0,,1,689001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(克辅)
+689002,1012638,TRUE,280030,10,2,1022669,,5,TRUE,0,,1,689002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(克辅)
+689003,1012639,TRUE,280031,10,2,1022669,,5,TRUE,0,,1,689003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(克辅)
+689004,1012640,TRUE,280032,10,2,1022669,,5,TRUE,0,,1,689004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(克辅)
+689101,1012637,TRUE,280029,10,2,1022673,,5,TRUE,0,,1,689101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(克辅)
+689102,1012638,TRUE,280030,10,2,1022673,,5,TRUE,0,,1,689102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(克辅)
+689103,1012639,TRUE,280031,10,2,1022673,,5,TRUE,0,,1,689103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(克辅)
+689104,1012640,TRUE,280032,10,2,1022673,,5,TRUE,0,,1,689104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(克辅)
+689201,1012677,TRUE,280033,10,2,1022677,,5,TRUE,0,,1,689201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(反伤)
+689202,1012678,TRUE,280034,10,2,1022677,,5,TRUE,0,,1,689202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(反伤)
+689203,1012679,TRUE,280035,10,2,1022677,,5,TRUE,0,,1,689203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(反伤)
+689204,1012680,TRUE,280036,10,2,1022677,,5,TRUE,0,,1,689204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(反伤)
+699001,1012677,TRUE,280033,10,2,1022681,,5,TRUE,0,,1,699001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(反伤)
+699002,1012678,TRUE,280034,10,2,1022681,,5,TRUE,0,,1,699002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(反伤)
+699003,1012679,TRUE,280035,10,2,1022681,,5,TRUE,0,,1,699003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(反伤)
+699004,1012680,TRUE,280036,10,2,1022681,,5,TRUE,0,,1,699004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(反伤)
+699101,1012677,TRUE,280033,10,2,1022685,,5,TRUE,0,,1,699101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(反伤)
+699102,1012678,TRUE,280034,10,2,1022685,,5,TRUE,0,,1,699102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(反伤)
+699103,1012679,TRUE,280035,10,2,1022685,,5,TRUE,0,,1,699103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(反伤)
+699104,1012680,TRUE,280036,10,2,1022685,,5,TRUE,0,,1,699104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(反伤)
+699201,1012677,TRUE,280033,10,2,1022689,,5,TRUE,0,,1,699201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(反伤)
+699202,1012678,TRUE,280034,10,2,1022689,,5,TRUE,0,,1,699202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(反伤)
+699203,1012679,TRUE,280035,10,2,1022689,,5,TRUE,0,,1,699203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(反伤)
+699204,1012680,TRUE,280036,10,2,1022689,,5,TRUE,0,,1,699204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(反伤)
+709001,1012677,TRUE,280033,10,2,1022693,,5,TRUE,0,,1,709001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(反伤)
+709002,1012678,TRUE,280034,10,2,1022693,,5,TRUE,0,,1,709002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(反伤)
+709003,1012679,TRUE,280035,10,2,1022693,,5,TRUE,0,,1,709003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(反伤)
+709004,1012680,TRUE,280036,10,2,1022693,,5,TRUE,0,,1,709004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(反伤)
+709101,1012677,TRUE,280033,10,2,1022697,,5,TRUE,0,,1,709101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(反伤)
+709102,1012678,TRUE,280034,10,2,1022697,,5,TRUE,0,,1,709102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(反伤)
+709103,1012679,TRUE,280035,10,2,1022697,,5,TRUE,0,,1,709103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(反伤)
+709104,1012680,TRUE,280036,10,2,1022697,,5,TRUE,0,,1,709104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(反伤)
+709201,1012677,TRUE,280033,10,2,1022701,,5,TRUE,0,,1,709201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(反伤)
+709202,1012678,TRUE,280034,10,2,1022701,,5,TRUE,0,,1,709202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(反伤)
+709203,1012679,TRUE,280035,10,2,1022701,,5,TRUE,0,,1,709203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(反伤)
+709204,1012680,TRUE,280036,10,2,1022701,,5,TRUE,0,,1,709204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(反伤)
+719001,1012677,TRUE,280033,10,2,1022705,,5,TRUE,0,,1,719001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(反伤)
+719002,1012678,TRUE,280034,10,2,1022705,,5,TRUE,0,,1,719002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(反伤)
+719003,1012679,TRUE,280035,10,2,1022705,,5,TRUE,0,,1,719003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(反伤)
+719004,1012680,TRUE,280036,10,2,1022705,,5,TRUE,0,,1,719004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(反伤)
+719101,1012677,TRUE,280033,10,2,1022709,,5,TRUE,0,,1,719101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(反伤)
+719102,1012678,TRUE,280034,10,2,1022709,,5,TRUE,0,,1,719102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(反伤)
+719103,1012679,TRUE,280035,10,2,1022709,,5,TRUE,0,,1,719103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(反伤)
+719104,1012680,TRUE,280036,10,2,1022709,,5,TRUE,0,,1,719104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(反伤)
+719201,1012677,TRUE,280033,10,2,1022713,,5,TRUE,0,,1,719201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(反伤)
+719202,1012678,TRUE,280034,10,2,1022713,,5,TRUE,0,,1,719202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(反伤)
+719203,1012679,TRUE,280035,10,2,1022713,,5,TRUE,0,,1,719203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(反伤)
+719204,1012680,TRUE,280036,10,2,1022713,,5,TRUE,0,,1,719204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(反伤)
+729001,1012717,TRUE,280037,10,2,1022717,,5,TRUE,0,,1,729001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(神勇)
+729002,1012718,TRUE,280038,10,2,1022717,,5,TRUE,0,,1,729002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(神勇)
+729003,1012719,TRUE,280039,10,2,1022717,,5,TRUE,0,,1,729003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(神勇)
+729004,1012720,TRUE,280040,10,2,1022717,,5,TRUE,0,,1,729004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(神勇)
+729101,1012717,TRUE,280037,10,2,1022721,,5,TRUE,0,,1,729101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(神勇)
+729102,1012718,TRUE,280038,10,2,1022721,,5,TRUE,0,,1,729102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(神勇)
+729103,1012719,TRUE,280039,10,2,1022721,,5,TRUE,0,,1,729103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(神勇)
+729104,1012720,TRUE,280040,10,2,1022721,,5,TRUE,0,,1,729104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(神勇)
+729201,1012717,TRUE,280037,10,2,1022725,,5,TRUE,0,,1,729201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(神勇)
+729202,1012718,TRUE,280038,10,2,1022725,,5,TRUE,0,,1,729202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(神勇)
+729203,1012719,TRUE,280039,10,2,1022725,,5,TRUE,0,,1,729203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(神勇)
+729204,1012720,TRUE,280040,10,2,1022725,,5,TRUE,0,,1,729204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(神勇)
+739001,1012717,TRUE,280037,10,2,1022729,,5,TRUE,0,,1,739001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(神勇)
+739002,1012718,TRUE,280038,10,2,1022729,,5,TRUE,0,,1,739002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(神勇)
+739003,1012719,TRUE,280039,10,2,1022729,,5,TRUE,0,,1,739003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(神勇)
+739004,1012720,TRUE,280040,10,2,1022729,,5,TRUE,0,,1,739004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(神勇)
+739101,1012717,TRUE,280037,10,2,1022733,,5,TRUE,0,,1,739101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(神勇)
+739102,1012718,TRUE,280038,10,2,1022733,,5,TRUE,0,,1,739102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(神勇)
+739103,1012719,TRUE,280039,10,2,1022733,,5,TRUE,0,,1,739103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(神勇)
+739104,1012720,TRUE,280040,10,2,1022733,,5,TRUE,0,,1,739104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(神勇)
+739201,1012717,TRUE,280037,10,2,1022737,,5,TRUE,0,,1,739201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(神勇)
+739202,1012718,TRUE,280038,10,2,1022737,,5,TRUE,0,,1,739202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(神勇)
+739203,1012719,TRUE,280039,10,2,1022737,,5,TRUE,0,,1,739203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(神勇)
+739204,1012720,TRUE,280040,10,2,1022737,,5,TRUE,0,,1,739204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(神勇)
+749001,1012717,TRUE,280037,10,2,1022741,,5,TRUE,0,,1,749001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(神勇)
+749002,1012718,TRUE,280038,10,2,1022741,,5,TRUE,0,,1,749002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(神勇)
+749003,1012719,TRUE,280039,10,2,1022741,,5,TRUE,0,,1,749003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(神勇)
+749004,1012720,TRUE,280040,10,2,1022741,,5,TRUE,0,,1,749004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(神勇)
+749101,1012717,TRUE,280037,10,2,1022745,,5,TRUE,0,,1,749101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(神勇)
+749102,1012718,TRUE,280038,10,2,1022745,,5,TRUE,0,,1,749102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(神勇)
+749103,1012719,TRUE,280039,10,2,1022745,,5,TRUE,0,,1,749103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(神勇)
+749104,1012720,TRUE,280040,10,2,1022745,,5,TRUE,0,,1,749104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(神勇)
+749201,1012717,TRUE,280037,10,2,1022749,,5,TRUE,0,,1,749201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(神勇)
+749202,1012718,TRUE,280038,10,2,1022749,,5,TRUE,0,,1,749202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(神勇)
+749203,1012719,TRUE,280039,10,2,1022749,,5,TRUE,0,,1,749203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(神勇)
+749204,1012720,TRUE,280040,10,2,1022749,,5,TRUE,0,,1,749204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(神勇)
+759001,1012717,TRUE,280037,10,2,1022753,,5,TRUE,0,,1,759001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(神勇)
+759002,1012718,TRUE,280038,10,2,1022753,,5,TRUE,0,,1,759002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(神勇)
+759003,1012719,TRUE,280039,10,2,1022753,,5,TRUE,0,,1,759003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(神勇)
+759004,1012720,TRUE,280040,10,2,1022753,,5,TRUE,0,,1,759004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(神勇)
+759101,1012757,TRUE,280041,10,2,1022757,,5,TRUE,0,,1,759101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(怒意)
+759102,1012758,TRUE,280042,10,2,1022757,,5,TRUE,0,,1,759102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(怒意)
+759103,1012759,TRUE,280043,10,2,1022757,,5,TRUE,0,,1,759103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(怒意)
+759104,1012760,TRUE,280044,10,2,1022757,,5,TRUE,0,,1,759104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(怒意)
+759201,1012757,TRUE,280041,10,2,1022761,,5,TRUE,0,,1,759201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(怒意)
+759202,1012758,TRUE,280042,10,2,1022761,,5,TRUE,0,,1,759202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(怒意)
+759203,1012759,TRUE,280043,10,2,1022761,,5,TRUE,0,,1,759203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(怒意)
+759204,1012760,TRUE,280044,10,2,1022761,,5,TRUE,0,,1,759204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(怒意)
+769001,1012757,TRUE,280041,10,2,1022765,,5,TRUE,0,,1,769001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(怒意)
+769002,1012758,TRUE,280042,10,2,1022765,,5,TRUE,0,,1,769002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(怒意)
+769003,1012759,TRUE,280043,10,2,1022765,,5,TRUE,0,,1,769003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(怒意)
+769004,1012760,TRUE,280044,10,2,1022765,,5,TRUE,0,,1,769004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(怒意)
+769101,1012757,TRUE,280041,10,2,1022769,,5,TRUE,0,,1,769101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(怒意)
+769102,1012758,TRUE,280042,10,2,1022769,,5,TRUE,0,,1,769102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(怒意)
+769103,1012759,TRUE,280043,10,2,1022769,,5,TRUE,0,,1,769103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(怒意)
+769104,1012760,TRUE,280044,10,2,1022769,,5,TRUE,0,,1,769104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(怒意)
+769201,1012757,TRUE,280041,10,2,1022773,,5,TRUE,0,,1,769201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(怒意)
+769202,1012758,TRUE,280042,10,2,1022773,,5,TRUE,0,,1,769202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(怒意)
+769203,1012759,TRUE,280043,10,2,1022773,,5,TRUE,0,,1,769203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(怒意)
+769204,1012760,TRUE,280044,10,2,1022773,,5,TRUE,0,,1,769204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(怒意)
+779001,1012757,TRUE,280041,10,2,1022777,,5,TRUE,0,,1,779001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(怒意)
+779002,1012758,TRUE,280042,10,2,1022777,,5,TRUE,0,,1,779002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(怒意)
+779003,1012759,TRUE,280043,10,2,1022777,,5,TRUE,0,,1,779003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(怒意)
+779004,1012760,TRUE,280044,10,2,1022777,,5,TRUE,0,,1,779004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(怒意)
+779101,1012757,TRUE,280041,10,2,1022781,,5,TRUE,0,,1,779101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(怒意)
+779102,1012758,TRUE,280042,10,2,1022781,,5,TRUE,0,,1,779102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(怒意)
+779103,1012759,TRUE,280043,10,2,1022781,,5,TRUE,0,,1,779103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(怒意)
+779104,1012760,TRUE,280044,10,2,1022781,,5,TRUE,0,,1,779104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(怒意)
+779201,1012757,TRUE,280041,10,2,1022785,,5,TRUE,0,,1,779201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(怒意)
+779202,1012758,TRUE,280042,10,2,1022785,,5,TRUE,0,,1,779202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(怒意)
+779203,1012759,TRUE,280043,10,2,1022785,,5,TRUE,0,,1,779203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(怒意)
+779204,1012760,TRUE,280044,10,2,1022785,,5,TRUE,0,,1,779204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(怒意)
+789001,1012757,TRUE,280041,10,2,1022789,,5,TRUE,0,,1,789001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(怒意)
+789002,1012758,TRUE,280042,10,2,1022789,,5,TRUE,0,,1,789002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(怒意)
+789003,1012759,TRUE,280043,10,2,1022789,,5,TRUE,0,,1,789003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(怒意)
+789004,1012760,TRUE,280044,10,2,1022789,,5,TRUE,0,,1,789004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(怒意)
+789101,1012757,TRUE,280041,10,2,1022793,,5,TRUE,0,,1,789101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(怒意)
+789102,1012758,TRUE,280042,10,2,1022793,,5,TRUE,0,,1,789102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(怒意)
+789103,1012759,TRUE,280043,10,2,1022793,,5,TRUE,0,,1,789103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(怒意)
+789104,1012760,TRUE,280044,10,2,1022793,,5,TRUE,0,,1,789104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(怒意)
+789201,1012797,TRUE,280045,10,2,1022797,,5,TRUE,0,,1,789201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(护盾)
+789202,1012798,TRUE,280046,10,2,1022797,,5,TRUE,0,,1,789202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(护盾)
+789203,1012799,TRUE,280047,10,2,1022797,,5,TRUE,0,,1,789203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(护盾)
+789204,1012800,TRUE,280048,10,2,1022797,,5,TRUE,0,,1,789204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(护盾)
+799001,1012797,TRUE,280045,10,2,1022801,,5,TRUE,0,,1,799001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(护盾)
+799002,1012798,TRUE,280046,10,2,1022801,,5,TRUE,0,,1,799002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(护盾)
+799003,1012799,TRUE,280047,10,2,1022801,,5,TRUE,0,,1,799003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(护盾)
+799004,1012800,TRUE,280048,10,2,1022801,,5,TRUE,0,,1,799004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(护盾)
+799101,1012797,TRUE,280045,10,2,1022805,,5,TRUE,0,,1,799101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(护盾)
+799102,1012798,TRUE,280046,10,2,1022805,,5,TRUE,0,,1,799102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(护盾)
+799103,1012799,TRUE,280047,10,2,1022805,,5,TRUE,0,,1,799103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(护盾)
+799104,1012800,TRUE,280048,10,2,1022805,,5,TRUE,0,,1,799104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(护盾)
+799201,1012797,TRUE,280045,10,2,1022809,,5,TRUE,0,,1,799201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(护盾)
+799202,1012798,TRUE,280046,10,2,1022809,,5,TRUE,0,,1,799202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(护盾)
+799203,1012799,TRUE,280047,10,2,1022809,,5,TRUE,0,,1,799203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(护盾)
+799204,1012800,TRUE,280048,10,2,1022809,,5,TRUE,0,,1,799204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(护盾)
+809001,1012797,TRUE,280045,10,2,1022813,,5,TRUE,0,,1,809001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(护盾)
+809002,1012798,TRUE,280046,10,2,1022813,,5,TRUE,0,,1,809002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(护盾)
+809003,1012799,TRUE,280047,10,2,1022813,,5,TRUE,0,,1,809003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(护盾)
+809004,1012800,TRUE,280048,10,2,1022813,,5,TRUE,0,,1,809004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(护盾)
+809101,1012797,TRUE,280045,10,2,1022817,,5,TRUE,0,,1,809101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(护盾)
+809102,1012798,TRUE,280046,10,2,1022817,,5,TRUE,0,,1,809102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(护盾)
+809103,1012799,TRUE,280047,10,2,1022817,,5,TRUE,0,,1,809103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(护盾)
+809104,1012800,TRUE,280048,10,2,1022817,,5,TRUE,0,,1,809104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(护盾)
+809201,1012797,TRUE,280045,10,2,1022821,,5,TRUE,0,,1,809201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(护盾)
+809202,1012798,TRUE,280046,10,2,1022821,,5,TRUE,0,,1,809202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(护盾)
+809203,1012799,TRUE,280047,10,2,1022821,,5,TRUE,0,,1,809203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(护盾)
+809204,1012800,TRUE,280048,10,2,1022821,,5,TRUE,0,,1,809204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(护盾)
+819001,1012797,TRUE,280045,10,2,1022825,,5,TRUE,0,,1,819001,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(护盾)
+819002,1012798,TRUE,280046,10,2,1022825,,5,TRUE,0,,1,819002,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(护盾)
+819003,1012799,TRUE,280047,10,2,1022825,,5,TRUE,0,,1,819003,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(护盾)
+819004,1012800,TRUE,280048,10,2,1022825,,5,TRUE,0,,1,819004,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(护盾)
+819101,1012797,TRUE,280045,10,2,1022829,,5,TRUE,0,,1,819101,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(护盾)
+819102,1012798,TRUE,280046,10,2,1022829,,5,TRUE,0,,1,819102,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(护盾)
+819103,1012799,TRUE,280047,10,2,1022829,,5,TRUE,0,,1,819103,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(护盾)
+819104,1012800,TRUE,280048,10,2,1022829,,5,TRUE,0,,1,819104,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(护盾)
+819201,1012797,TRUE,280045,10,2,1022833,,5,TRUE,0,,1,819201,,,,1,0,0,1,99999,,,,1032357,神秘战斗芯片(护盾)
+819202,1012798,TRUE,280046,10,2,1022833,,5,TRUE,0,,1,819202,,,,1,0,0,1,99999,,,,1032357,神秘生存芯片(护盾)
+819203,1012799,TRUE,280047,10,2,1022833,,5,TRUE,0,,1,819203,,,,1,0,0,1,99999,,,,1032357,神秘格斗芯片(护盾)
+819204,1012800,TRUE,280048,10,2,1022833,,5,TRUE,0,,1,819204,,,,1,0,0,1,99999,,,,1032357,神秘合作芯片(护盾)
+5000001,1010003,TRUE,5000001,13,2,1020003,,4,,1,14997,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000002,1010003,TRUE,5000002,13,2,1020003,,4,,1,14997,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000003,1010003,TRUE,5000003,13,2,1020003,,4,,1,14997,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000004,1010003,TRUE,5000004,13,2,1020003,,4,,1,14997,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000005,1010003,TRUE,5000005,13,2,1020003,,4,,1,14997,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000006,1010003,TRUE,5000006,13,2,1020003,,4,,1,14997,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000007,1010003,TRUE,5000007,13,2,1020003,,4,,1,14997,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000008,1010003,TRUE,5000008,13,2,1020003,,4,,1,14997,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000009,1010003,TRUE,5000009,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000010,1010003,TRUE,5000010,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000011,1010003,TRUE,5000011,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000012,1010003,TRUE,5000012,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000013,1010003,TRUE,5000013,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000014,1010003,TRUE,5000014,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000015,1010003,TRUE,5000015,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000016,1010003,TRUE,5000016,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000017,1010003,TRUE,5000017,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000018,1010003,TRUE,5000018,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000019,1010003,TRUE,5000019,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000020,1010003,TRUE,5000020,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000021,1010003,TRUE,5000021,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000022,1010003,TRUE,5000022,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000023,1010003,TRUE,5000023,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000024,1010003,TRUE,5000024,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000025,1010003,TRUE,5000025,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000026,1010003,TRUE,5000026,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000027,1010003,TRUE,5000027,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000028,1010003,TRUE,5000028,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000029,1010003,TRUE,5000029,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000030,1010003,TRUE,5000030,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000031,1010003,TRUE,5000031,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000032,1010003,TRUE,5000032,13,2,1020003,,5,,1,14998,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000033,1010003,TRUE,5000033,13,2,1020003,,6,,1,14999,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000034,1010003,TRUE,5000034,13,2,1020003,,6,,1,14999,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000035,1010003,TRUE,5000035,13,2,1020003,,6,,1,14999,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000036,1010003,TRUE,5000036,13,2,1020003,,6,,1,14999,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000037,1010003,TRUE,5000037,13,2,1020003,,6,,1,14999,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000038,1010003,TRUE,5000038,13,2,1020003,,6,,1,14999,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000039,1010003,TRUE,5000039,13,2,1020003,,6,,1,14999,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000040,1010003,TRUE,5000040,13,2,1020003,,6,,1,14999,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000041,1010003,TRUE,5000041,13,2,1020003,,6,,1,14999,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000042,1010003,TRUE,5000042,13,2,1020003,,6,,1,14999,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000043,1010003,TRUE,5000043,13,2,1020003,,6,,1,14999,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000044,1010003,TRUE,5000044,13,2,1020003,,6,,1,14999,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000045,1010003,TRUE,5000045,13,2,1020003,,6,,1,14999,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000046,1010003,TRUE,5000046,13,2,1020003,,6,,1,14999,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000047,1010003,TRUE,5000047,13,2,1020003,,6,,1,14999,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000048,1010003,TRUE,5000048,13,2,1020003,,7,,1,15000,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000049,1010003,TRUE,5000049,13,2,1020003,,7,,1,15000,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000050,1010003,TRUE,5000050,13,2,1020003,,7,,1,15000,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000051,1010003,TRUE,5000051,13,2,1020003,,7,,1,15000,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000052,1010003,TRUE,5000052,13,2,1020003,,7,,1,15000,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000053,1010003,TRUE,5000053,13,2,1020003,,7,,1,15000,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000054,1010003,TRUE,5000054,13,2,1020003,,7,,1,15000,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000055,1010003,TRUE,5000055,13,2,1020003,,7,,1,15000,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000056,1010003,TRUE,5000056,13,2,1020003,,7,,1,15000,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000057,1010003,TRUE,5000057,13,2,1020003,,7,,1,15000,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000058,1010003,TRUE,5000058,13,2,1020003,,7,,1,15000,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+5000059,1010003,TRUE,5000059,13,2,1020003,,7,,1,15000,0,0,0,,22001,1,0,0,1,9999,,,,1030088,废弃
+6000001,1012896,TRUE,3001,2,3,1022896,1,5,,1,100005,1,200029,50,1002#20008,,,,,1,99999,,,,1030787,莫扎特碎片
+6000002,1012897,TRUE,3002,2,3,1022897,1,5,,1,100005,1,200030,50,1002#20008,,,,,1,99999,,,,1030787,西蒙海耶碎片
+6000003,1012898,TRUE,3003,2,3,1022898,1,5,,1,100005,1,200031,50,20014#1002#20008,,,,,1,99999,,,,1030787,巴顿碎片
+6000004,1012899,TRUE,3004,2,3,1022899,1,5,,1,100005,1,200032,50,20014#1002#20008,,,,,1,99999,,,,1030787,爱迪生碎片
+6000005,1012900,TRUE,3005,2,3,1022900,1,5,,1,100005,1,200033,50,1002#20008,,,,,1,99999,,,,1030787,德雷克碎片
+6000006,1012901,TRUE,3006,2,3,1022901,1,5,,1,100005,1,200034,50,20007#1002#20008,,,,,1,99999,,,,1030787,特斯拉碎片
+6000007,1012902,TRUE,3007,2,3,1022902,1,5,,1,100005,1,200035,50,20014#1028#1002#20008,,,,,1,99999,,,,1030787,瓦特碎片
+6000008,1012903,TRUE,3008,2,3,1022903,1,5,,1,100005,1,200036,50,1027#1002#20008,,,,,1,99999,,,,1030787,爱因斯坦碎片
+6000009,1012904,TRUE,3009,2,3,1022904,1,5,,1,100005,1,200037,50,1028#1002#20008,,,,,1,99999,,,,1030787,诺贝尔碎片
+6000010,1012905,TRUE,3010,2,3,1022905,1,5,,1,100005,1,200038,50,1002#20008,,,,,1,99999,,,,1030787,丹妮莉丝碎片
+6000011,1012906,TRUE,3011,2,3,1022906,1,4,,1,100004,1,200006,30,7801#20007#1002,,,,,1,99999,,,,1030787,居里夫人碎片
+6000012,1012907,TRUE,3012,2,3,1022907,1,4,,1,100004,1,200007,30,7801#1002,,,,,1,99999,,,,1030787,俾斯麦碎片
+6000013,1012908,TRUE,3013,2,3,1022908,1,4,,1,100004,1,200008,30,7801#1002,,,,,1,99999,,,,1030787,弗兰肯斯坦碎片
+6000014,1012909,TRUE,3014,2,3,1022909,1,4,,1,100004,1,200009,30,7801#1002,,,,,1,99999,,,,1030787,亚森罗宾碎片
+6000015,1012910,TRUE,3015,2,3,1022910,1,4,,1,100004,1,200010,30,7801#1002,,,,,1,99999,,,,1030787,乔碎片
+6000016,1012911,TRUE,3016,2,3,1022911,1,3,,1,100003,1,200001,20,7801,,,,,1,99999,,,,1030787,胡克碎片
+6000017,1012912,TRUE,3017,2,3,1022912,1,2,,1,100001,1,200079,10,,,,,,1,99999,,,,1030787,嘻哈青年碎片
+6000018,1012913,TRUE,3018,2,3,1022913,1,1,,1,100001,1,200080,10,,,,,,1,99999,,,,1030787,伐木工碎片
+6000019,1012914,TRUE,3019,2,3,1022914,2,5,,1,100005,1,200039,50,1002#20008,,,,,1,99999,,,,1030787,真田幸村碎片
+6000020,1012915,TRUE,3020,2,3,1022915,2,5,,1,100005,1,200040,50,20014#1002#20008,,,,,1,99999,,,,1030787,关羽碎片
+6000021,1012916,TRUE,3021,2,3,1022916,2,5,,1,100005,1,200041,50,20014#1002#20008,,,,,1,99999,,,,1030787,亚历山大碎片
+6000022,1012917,TRUE,3022,2,3,1022917,2,5,,1,100005,1,200042,50,1028#1002#20008,,,,,1,99999,,,,1030787,李舜臣碎片
+6000023,1012918,TRUE,3023,2,3,1022918,2,5,,1,100005,1,200043,50,1027#20007#1002#20008,,,,,1,99999,,,,1030787,服部半藏碎片
+6000024,1012919,TRUE,3024,2,3,1022919,2,5,,1,100005,1,200044,50,1002#20008,,,,,1,99999,,,,1030787,韩信碎片
+6000025,1012920,TRUE,3025,2,3,1022920,2,5,,1,100005,1,200045,50,1002#20008,,,,,1,99999,,,,1030787,李白碎片
+6000026,1012921,TRUE,3026,2,3,1022921,2,5,,1,100005,1,200046,50,20014#1002#20008,,,,,1,99999,,,,1030787,阿喀琉斯碎片
+6000027,1012922,TRUE,3027,2,3,1022922,2,5,,1,100005,1,200047,50,1028#1002#20008,,,,,1,99999,,,,1030787,成吉思汗碎片
+6000028,1012923,TRUE,3028,2,3,1022923,2,4,,1,100004,1,200011,30,7801#1002,,,,,1,99999,,,,1030787,威廉基德碎片
+6000029,1012924,TRUE,3029,2,3,1022924,2,4,,1,100004,1,200012,30,7801#1002,,,,,1,99999,,,,1030787,佐罗碎片
+6000030,1012925,TRUE,3030,2,3,1022925,2,4,,1,100004,1,200013,30,19001#7801#1002,,,,,1,99999,,,,1030787,斯巴达碎片
+6000031,1012926,TRUE,3031,2,3,1022926,2,4,,1,100004,1,200014,30,7801#20007#1002,,,,,1,99999,,,,1030787,土方岁三碎片
+6000032,1012927,TRUE,3032,2,3,1022927,2,4,,1,100004,1,200015,30,7801#1002,,,,,1,99999,,,,1030787,花木兰碎片
+6000033,1012928,TRUE,3033,2,3,1022928,2,3,,1,100003,1,200002,20,19001#7801,,,,,1,99999,,,,1030787,齐格飞碎片
+6000034,1012929,TRUE,3034,2,3,1022929,2,2,,1,100001,1,200081,10,,,,,,1,99999,,,,1030787,运动员碎片
+6000035,1012930,TRUE,3035,2,3,1022930,2,1,,1,100001,1,200082,10,,,,,,1,99999,,,,1030787,农夫碎片
+6000036,1012931,TRUE,3036,2,3,1022931,3,5,,1,100005,1,200048,50,1002#20008,,,,,1,99999,,,,1030787,示巴女王碎片
+6000037,1012932,TRUE,3037,2,3,1022932,3,5,,1,100005,1,200049,50,20014#1002#20008,,,,,1,99999,,,,1030787,克娄帕特拉碎片
+6000038,1012933,TRUE,3038,2,3,1022933,3,5,,1,100005,1,200050,50,1027#1002#20008,,,,,1,99999,,,,1030787,贝奥武夫碎片
+6000039,1012934,TRUE,3039,2,3,1022934,3,5,,1,100005,1,200051,50,1002#20008,,,,,1,99999,,,,1030787,荷马碎片
+6000040,1012935,TRUE,3040,2,3,1022935,3,5,,1,100005,1,200052,50,1002#20008,,,,,1,99999,,,,1030787,拉斐尔碎片
+6000041,1012936,TRUE,3041,2,3,1022936,3,5,,1,100005,1,200053,50,1002#20008,,,,,1,99999,,,,1030787,赫拉克勒斯碎片
+6000042,1012937,TRUE,3042,2,3,1022937,3,5,,1,100005,1,200054,50,20007#1002#20008,,,,,1,99999,,,,1030787,但丁碎片
+6000043,1012938,TRUE,3043,2,3,1022938,3,5,,1,100005,1,200055,50,1028#1002#20008,,,,,1,99999,,,,1030787,亚瑟碎片
+6000044,1012939,TRUE,3044,2,3,1022939,3,5,,1,100005,1,200056,50,1028#1002#20008,,,,,1,99999,,,,1030787,薛定谔碎片
+6000045,1012940,TRUE,3045,2,3,1022940,3,5,,1,100005,1,200057,50,20014#1002#20008,,,,,1,99999,,,,1030787,格林碎片
+6000046,1012941,TRUE,3046,2,3,1022941,3,5,,1,100005,1,200058,50,20014#1002#20008,,,,,1,99999,,,,1030787,茜茜公主碎片
+6000047,1012942,TRUE,3047,2,3,1022942,3,4,,1,100004,1,200016,30,7801#1002,,,,,1,99999,,,,1030787,弗洛伊德碎片
+6000048,1012943,TRUE,3048,2,3,1022943,3,4,,1,100004,1,200017,30,7801#1002,,,,,1,99999,,,,1030787,雨果碎片
+6000049,1012944,TRUE,3049,2,3,1022944,3,4,,1,100004,1,200018,30,7801#20007#1002,,,,,1,99999,,,,1030787,肖邦碎片
+6000050,1012945,TRUE,3050,2,3,1022945,3,4,,1,100004,1,200019,30,7801#1002,,,,,1,99999,,,,1030787,玛利亚碎片
+6000051,1012946,TRUE,3051,2,3,1022946,3,4,,1,100004,1,200020,30,7801#1002,,,,,1,99999,,,,1030787,唐吉坷德碎片
+6000052,1012947,TRUE,3052,2,3,1022947,3,3,,1,100003,1,200003,20,7801,,,,,1,99999,,,,1030787,海明威碎片
+6000053,1012948,TRUE,3053,2,3,1022948,3,2,,1,100001,1,200083,10,,,,,,1,99999,,,,1030787,服务员碎片
+6000054,1012949,TRUE,3054,2,3,1022949,3,1,,1,100001,1,200084,10,,,,,,1,99999,,,,1030787,护士碎片
+6000055,1012950,TRUE,3055,2,3,1022950,4,5,,1,100005,1,200059,50,1002#20008,,,,,1,99999,,,,1030787,赵云碎片
+6000056,1012951,TRUE,3056,2,3,1022951,4,5,,1,100005,1,200060,50,1002#20008,,,,,1,99999,,,,1030787,布伦谢尔德碎片
+6000057,1012952,TRUE,3057,2,3,1022952,4,5,,1,100005,1,200061,50,1002#20008,,,,,1,99999,,,,1030787,海伦碎片
+6000058,1012953,TRUE,3058,2,3,1022953,4,5,,1,100005,1,200062,50,1002#20008,,,,,1,99999,,,,1030787,南丁格尔碎片
+6000059,1012954,TRUE,3059,2,3,1022954,4,5,,1,100005,1,200063,50,20014#1002#20008,,,,,1,99999,,,,1030787,凯撒碎片
+6000060,1012955,TRUE,3060,2,3,1022955,4,5,,1,100005,1,200064,50,1028#1002#20008,,,,,1,99999,,,,1030787,赫克托耳碎片
+6000061,1012956,TRUE,3061,2,3,1022956,4,5,,1,100005,1,200065,50,20002#1002#20008,,,,,1,99999,,,,1030787,雅典娜碎片
+6000062,1012957,TRUE,3062,2,3,1022957,4,5,,1,100005,1,200066,50,1002#20008,,,,,1,99999,,,,1030787,德川家康碎片
+6000063,1012958,TRUE,3063,2,3,1022958,4,5,,1,100005,1,200067,50,1002#20008,,,,,1,99999,,,,1030787,贞德碎片
+6000064,1012959,TRUE,3064,2,3,1022959,4,5,,1,100005,1,200068,50,1002#20008,,,,,1,99999,,,,1030787,瓦尔基里碎片
+6000065,1012960,TRUE,3065,2,3,1022960,4,4,,1,100004,1,200021,30,1002,,,,,1,99999,,,,1030787,帕里斯碎片
+6000066,1012961,TRUE,3066,2,3,1022961,4,4,,1,100004,1,200022,30,1002,,,,,1,99999,,,,1030787,拿破仑碎片
+6000067,1012962,TRUE,3067,2,3,1022962,4,4,,1,100004,1,200023,30,1002,,,,,1,99999,,,,1030787,哥白尼碎片
+6000068,1012963,TRUE,3068,2,3,1022963,4,4,,1,100004,1,200024,30,20007#1002,,,,,1,99999,,,,1030787,毕达哥拉斯碎片
+6000069,1012964,TRUE,3069,2,3,1022964,4,3,,1,100003,1,200004,20,,,,,,1,99999,,,,1030787,罗宾汉碎片
+6000070,1012965,TRUE,3070,2,3,1022965,5,5,,1,100005,1,200069,50,1002#20008,,,,,1,99999,,,,1030787,织田信长碎片
+6000071,1012966,TRUE,3071,2,3,1022966,5,5,,1,100005,1,200070,50,1002#20008,,,,,1,99999,,,,1030787,哈桑碎片
+6000072,1012967,TRUE,3072,2,3,1022967,5,5,,1,100005,1,200071,50,1002#20008,,,,,1,99999,,,,1030787,布鲁图斯碎片
+6000073,1012968,TRUE,3073,2,3,1022968,5,5,,1,100005,1,200072,50,20002#1002#20008,,,,,1,99999,,,,1030787,所罗门碎片
+6000074,1012969,TRUE,3074,2,3,1022969,5,5,,1,100005,1,200073,50,1002#20008,,,,,1,99999,,,,1030787,嬴政碎片
+6000075,1012970,TRUE,3075,2,3,1022970,5,5,,1,100005,1,200074,50,1002#20008,,,,,1,99999,,,,1030787,卑弥呼碎片
+6000076,1012971,TRUE,3076,2,3,1022971,5,5,,1,100005,1,200075,50,1002#20008,,,,,1,99999,,,,1030787,白起碎片
+6000077,1012972,TRUE,3077,2,3,1022972,5,5,,1,100005,1,200076,50,1002#20008,,,,,1,99999,,,,1030787,弗拉德碎片
+6000078,1012973,TRUE,3078,2,3,1022973,5,5,,1,100005,1,200077,50,20014#1002#20008,,,,,1,99999,,,,1030787,明智光秀碎片
+6000079,1012974,TRUE,3079,2,3,1022974,5,5,,1,100005,1,200078,50,1028#1002#20008,,,,,1,99999,,,,1030787,伊丽莎白碎片
+6000080,1012975,TRUE,3080,2,3,1022975,5,4,,1,100004,1,200025,30,1002,,,,,1,99999,,,,1030787,血腥玛丽碎片
+6000081,1012976,TRUE,3081,2,3,1022976,5,4,,1,100004,1,200026,30,1002,,,,,1,99999,,,,1030787,弑君者詹姆碎片
+6000082,1012977,TRUE,3082,2,3,1022977,5,4,,1,100004,1,200027,30,20007#1002,,,,,1,99999,,,,1030787,开膛手杰克碎片
+6000083,1012978,TRUE,3083,2,3,1022978,5,4,,1,100004,1,200028,30,1002,,,,,1,99999,,,,1030787,尼禄碎片
+6000084,1012979,TRUE,3084,2,3,1022979,5,3,,1,100003,1,200005,20,,,,,,1,99999,,,,1030787,霍恩海姆碎片
+6000085,1012980,TRUE,209210,0,2,1022980,,6,,0,,0,,,26081,22001,,,,1,99999,,,,1030003,特级进化药剂
+6000086,1012981,FALSE,209232,21,4,1022981,,2,,0,,0,,,1027#20007,,,,,1,99999,,,,1032981,普通戒指
+6000087,1012982,FALSE,209233,21,4,1022982,,3,,0,,0,,,60001#1028#20007,,,,,1,99999,,,,1032981,精英戒指
+6000088,1012983,FALSE,209234,21,4,1022983,,4,,0,,0,,,60001,,,,,1,99999,,,,1032981,卓越戒指
+6000089,1012984,FALSE,209235,21,4,1022984,,5,,0,,0,,,36001,,,,,1,99999,,,,1032981,超绝戒指
+6000090,1012985,FALSE,209236,21,4,1022985,,6,,0,,0,,,,,,,,1,99999,,,,1032981,史诗戒指
+6000091,1012986,FALSE,209237,21,4,1022986,,6,,0,,0,,,,,,,,1,99999,,,,1032981,传奇戒指
+6000092,1012987,TRUE,209201,0,2,1022987,,4,,0,,0,,,,,,,,1,99999,,,,1030003,意志力碎片
+6000093,1010003,TRUE,209202,0,2,1020003,,3,,0,,0,,,,,,,,1,99999,,,,1030518,废弃
+6000094,1012989,TRUE,209203,0,2,1022989,,5,,0,,0,,,26081,,,,,1,99999,,,,1030003,通灵宝物
+6000095,1012990,TRUE,209204,0,2,1022990,,5,,0,,0,,,36001,,,,,1,99999,,,,1030003,美酒
+6000096,1012991,TRUE,209205,0,2,1022990,,5,,0,,0,,,,,,,,1,99999,,,,1030003,佳肴
+6000097,1012992,TRUE,209206,0,2,1022992,,5,,0,,0,,,,,,,,1,99999,,,,1030003,同步许可
+6000098,1012993,TRUE,209207,0,2,1022992,,4,,0,,0,,,,,,,,1,99999,,,,1030003,同步资料
+6000099,1010072,TRUE,4112,0,2,1020083,,4,,0,,0,,,,,,,,1,99999,,,,1030003,名称待定
+6000100,1010072,TRUE,4111,0,2,1020083,,5,,0,,0,,,,,,,,1,99999,,,,1030003,名称待定
+6000101,1010072,TRUE,3084,0,2,1020083,,4,,0,,0,,,,,,,,1,99999,,,,1030003,名称待定
+6000102,1010072,TRUE,3084,0,2,1020083,,5,,0,,0,,,,,,,,1,99999,,,,1030003,名称待定
+6000103,1010072,TRUE,3084,0,2,1020083,,4,,0,,0,,,,,,,,1,99999,,,,1030003,名称待定
+6000104,1012999,TRUE,4401,0,2,1022999,,5,,0,,0,,,,,,,,1,99999,,,,1030003,遗迹地图
+6000105,1010072,TRUE,3084,0,2,1020083,,4,,0,,0,,,,,,,,1,99999,,,,1030003,名称待定
+6000106,1010072,TRUE,3084,0,2,1020083,,4,,0,,0,,,,,,,,1,99999,,,,1030003,名称待定
+6000107,1010072,TRUE,3084,0,2,1020083,,4,,0,,0,,,,,,,,1,99999,,,,1030003,名称待定
+6000108,1010072,TRUE,3084,0,2,1020083,,4,,0,,0,,,,,,,,1,99999,,,,1030003,名称待定
+6000109,1010072,TRUE,3084,0,2,1020083,,4,,0,,0,,,,,,,,1,99999,,,,1030003,名称待定
+6000110,1013005,TRUE,209257,0,2,1023005,,5,,0,,0,,,1027#1028#1011#71001#77004,,,,,1,99999999,,,,1030003,戒圈
+6000111,1013006,TRUE,209258,0,2,1023006,,6,,0,,0,,,36001,,,,,1,99999,,,,1030003,戒指模组
+6000112,1013007,TRUE,209259,0,2,1023006,,5,,0,,0,,,36001,,,,,1,99999,,,,1030003,戒指精炼石
+6000113,1013008,FALSE,12036,0,,1023008,,5,,0,,0,,,,,,,,1,99999999,,,,1030003,魂力值
+6000114,1013009,FALSE,11503,0,2,1023009,,5,,0,,0,,,1004,,,,,1,99999,,,,1030010,先驱徽记
+6000115,1010072,TRUE,4102,0,2,1020083,,5,,0,,0,,,,,,,,1,99999,,,,1030003,名称待定
+6001000,1013011,TRUE,209261,2,3,1023011,,3,,1,100003,1,100010,20,60001#69001,,,,,1,99999,,,,1030787,3星英雄碎片
+6001010,1013012,TRUE,209262,2,3,1023012,,4,,1,100004,1,100020,30,19001#60001#1027#69001,,,,,1,99999,,,,1030787,4星英雄碎片
+6001011,1013013,TRUE,209262,2,3,1023013,1,4,,1,100004,1,100021,30,60001#1027,,,,,1,99999,,,,1030787,4星机械碎片
+6001012,1013014,TRUE,209262,2,3,1023014,2,4,,1,100004,1,100022,30,60001#1027,,,,,1,99999,,,,1030787,4星体术碎片
+6001013,1013015,TRUE,209262,2,3,1023015,3,4,,1,100004,1,100023,30,60001#1027,,,,,1,99999,,,,1030787,4星魔法碎片
+6001014,1013016,TRUE,209262,2,3,1023016,4,4,,1,100004,1,100024,30,20002#60001#1027#1028,,,,,1,99999,,,,1030787,4星秩序碎片
+6001015,1013017,TRUE,209262,2,3,1023017,5,4,,1,100004,1,100025,30,20002#60001#1027#1028,,,,,1,99999,,,,1030787,4星混沌碎片
+6001020,1013018,TRUE,209263,2,3,1023018,,5,,1,100005,1,100030,50,19001#20002#60001#69001#1002,,,,,1,99999,,,,1030787,5星英雄碎片
+6001021,1013019,TRUE,209263,2,3,1023019,1,5,,1,100005,1,100031,50,20002#60001#1028#1002,,,,,1,99999,,,,1030787,5星机械碎片
+6001022,1013020,TRUE,209263,2,3,1023020,2,5,,1,100005,1,100032,50,20002#60001#1028#1002,,,,,1,99999,,,,1030787,5星体术碎片
+6001023,1013021,TRUE,209263,2,3,1023021,3,5,,1,100005,1,100033,50,20002#60001#1028#1002,,,,,1,99999,,,,1030787,5星魔法碎片
+6001024,1013022,TRUE,209263,2,3,1023022,4,5,,1,100005,1,100034,50,60001#1028#1002,,,,,1,99999,,,,1030787,5星秩序碎片
+6001025,1013023,TRUE,209263,2,3,1023023,5,5,,1,100005,1,100035,50,60001#1028#1002,,,,,1,99999,,,,1030787,5星混沌碎片
+6001026,1013024,TRUE,209263,2,3,1023024,6,5,,1,100005,1,100036,50,26081#1002#36001,,,,,1,99999,,,,1030787,5星混沌秩序碎片
+101001,1010072,TRUE,2101,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+101002,1010072,TRUE,2102,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+101003,1010072,TRUE,2103,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+101004,1010072,TRUE,2104,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+101005,1010072,TRUE,2105,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+101006,1010072,TRUE,2106,24,6,1020083,,4,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+101007,1010072,TRUE,2107,24,6,1020083,,4,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+101008,1010072,TRUE,2108,24,6,1020083,,4,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+101009,1010072,TRUE,2109,24,6,1020083,,4,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+101011,1010072,TRUE,2111,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+101012,1010072,TRUE,2112,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+101013,1010072,TRUE,2113,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+101014,1010072,TRUE,2114,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+101015,1010072,TRUE,2115,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+101016,1010072,TRUE,2116,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+102001,1010072,TRUE,2101,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+102002,1010072,TRUE,2102,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+102003,1010072,TRUE,2103,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+102004,1010072,TRUE,2104,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+102005,1010072,TRUE,2105,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+102006,1010072,TRUE,2106,24,6,1020083,,4,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+102007,1010072,TRUE,2107,24,6,1020083,,4,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+102008,1010072,TRUE,2108,24,6,1020083,,4,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+102009,1010072,TRUE,2109,24,6,1020083,,4,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+102010,1010072,TRUE,2110,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+102011,1010072,TRUE,2111,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+102012,1010072,TRUE,2112,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+102013,1010072,TRUE,2113,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+102014,1010072,TRUE,2114,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+102015,1010072,TRUE,2115,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+102016,1010072,TRUE,2116,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+103001,1010072,TRUE,2101,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+103002,1010072,TRUE,2102,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+103003,1010072,TRUE,2103,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+103004,1010072,TRUE,2104,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+103005,1010072,TRUE,2105,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+103006,1010072,TRUE,2106,24,6,1020083,,4,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+103007,1010072,TRUE,2107,24,6,1020083,,4,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+103008,1010072,TRUE,2108,24,6,1020083,,4,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+103009,1010072,TRUE,2109,24,6,1020083,,4,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+103010,1010072,TRUE,2110,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+103011,1010072,TRUE,2111,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+103012,1010072,TRUE,2112,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+103013,1010072,TRUE,2113,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+103014,1010072,TRUE,2114,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+103015,1010072,TRUE,2115,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+103016,1010072,TRUE,2116,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+104001,1010072,TRUE,2101,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+104002,1010072,TRUE,2102,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+104003,1010072,TRUE,2103,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+104004,1010072,TRUE,2104,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+104005,1010072,TRUE,2105,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+104006,1010072,TRUE,2106,24,6,1020083,,4,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+104007,1010072,TRUE,2107,24,6,1020083,,4,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+104008,1010072,TRUE,2108,24,6,1020083,,4,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+104009,1010072,TRUE,2109,24,6,1020083,,4,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+104010,1010072,TRUE,2110,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+104011,1010072,TRUE,2111,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+104012,1010072,TRUE,2112,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+104013,1010072,TRUE,2113,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+104014,1010072,TRUE,2114,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+104015,1010072,TRUE,2115,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+104016,1010072,TRUE,2116,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105001,1010072,TRUE,2101,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105002,1010072,TRUE,2102,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105003,1010072,TRUE,2103,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105004,1010072,TRUE,2104,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105005,1010072,TRUE,2105,24,6,1020083,,3,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105006,1010072,TRUE,2106,24,6,1020083,,4,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105007,1010072,TRUE,2107,24,6,1020083,,4,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105008,1010072,TRUE,2108,24,6,1020083,,4,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105009,1010072,TRUE,2109,24,6,1020083,,4,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105010,1010072,TRUE,2110,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105011,1010072,TRUE,2111,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105012,1010072,TRUE,2112,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105013,1010072,TRUE,2113,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105014,1010072,TRUE,2114,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105015,1010072,TRUE,2115,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105016,1010072,TRUE,2116,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105110,1010072,,2110,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105111,1010072,,2111,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105112,1010072,,2112,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105113,1010072,,2113,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105114,1010072,,2114,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105115,1010072,,2115,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+105116,1010072,,2116,24,6,1020083,,5,,1,,0,,,,,,,,1,9999,,,,1030903,名称待定
+60411,1013111,TRUE,3102,20,2,1023111,,5,,0,,2,60411,0,,,1,0,0,1,9999,,,,1030460,稀有成长自选包
+60412,1013112,TRUE,3103,20,2,1023112,,6,,0,,2,60412,0,,,1,0,0,1,9999,,,,1030460,珍稀成长自选包
+60413,1013113,TRUE,60406,20,2,1023113,,6,,0,,2,60413#61413#62413,0,36002,,1,0,0,1,9999,,,1030847,1030460,3系英雄自选
+60414,1013114,TRUE,60402,20,2,1023114,,6,,0,,2,60414,0,,,1,0,0,1,9999,,,,1030460,首充英雄自选
+20008,1013115,FALSE,900011,29,,1023115,,5,,0,,0,,0,,,1,0,0,1,999999,,,,1030511,荣耀队长
+80008,1013115,FALSE,300008,11,,1023116,,5,,0,,,,,,,0,0,,1,1,,,,1030734,荣耀队长
+99025,1013117,TRUE,60505,10,2,1023117,,5,,0,,1,99125,,,,1,0,0,1,99999,,,,1030518,帕里斯升星箱
+99026,1013118,TRUE,60505,10,2,1023118,,5,,0,,1,99126,,,,1,0,0,1,99999,,,,1030518,拿破仑升星箱
+99027,1013119,TRUE,60505,10,2,1023119,,5,,0,,1,99127,,,,1,0,0,1,99999,,,,1030518,哥白尼升星箱
+99028,1013120,TRUE,60505,10,2,1023120,,5,,0,,1,99028,,,,1,0,0,1,99999,,,,1030518,毕达哥拉斯升星箱
+99029,1013121,TRUE,60505,10,2,1023121,,5,,0,,1,99029,,,,1,0,0,1,99999,,,,1030518,血腥玛丽升星箱
+99030,1013122,TRUE,60505,10,2,1023122,,5,,0,,1,99030,,,,1,0,0,1,99999,,,,1030518,开膛手杰克升星箱
+99031,1013123,TRUE,60505,10,2,1023123,,5,,0,,1,99031,,,,1,0,0,1,99999,,,,1030518,弑君者詹姆升星箱
+99032,1013124,TRUE,60505,10,2,1023124,,5,,0,,1,99032,,,,1,0,0,1,99999,,,,1030518,尼禄升星箱
+99006,1013125,TRUE,209273,20,2,1023125,,5,,0,,2,99006,0,,,1,0,0,1,9999,,,,1030460,秩序自选升星英雄
+99007,1013126,TRUE,209274,20,2,1023126,,5,,0,,2,99007,0,,,1,0,0,1,9999,,,,1030460,混沌自选升星英雄
+99008,1013127,TRUE,209275,20,2,1023127,,5,,0,,2,99006#99007,0,,,1,0,0,1,9999,,,1030631,1030460,混沌秩序升星英雄
+60415,1013128,TRUE,209285,20,2,1023128,,6,,0,,2,60415,0,,,1,0,0,1,9999,,,,1030460,光辉自选箱
+60416,1013129,TRUE,209285,20,2,1023129,,6,,0,,2,60416,0,,,1,0,0,1,9999,,,,1030460,奇迹自选箱
+801000,1010072,TRUE,3084,0,2,1020083,,5,,0,,0,,,,,1,0,0,1,999999999,,,,1030903,名称待定
+801001,1010072,TRUE,3084,25,7,,,2,,1,801000#2,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+801002,1010072,TRUE,3084,25,7,,,3,,1,801000#6,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+801003,1010072,TRUE,3084,25,7,,,4,,1,801000#18,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+801004,1010072,TRUE,3084,25,7,,,5,,1,801003#1|801000#36,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+801005,1010072,TRUE,3084,25,7,,,5,,1,801004#1|801000#36,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+801006,1010072,TRUE,3084,25,7,,,5,,1,801004#1|801000#90,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+801007,1010072,TRUE,3084,25,7,,,5,,1,801004#2|801000#108,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+801008,1010072,TRUE,3084,25,7,,,5,,1,801004#3|801000#144,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+801009,1010072,TRUE,3084,25,7,,,5,,1,801004#4|801000#198,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+801010,1010072,TRUE,3084,25,7,,,5,,1,801004#6|801000#216,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+801011,1010072,TRUE,3084,25,7,,,5,,1,801004#8|801000#252,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+801012,1010072,TRUE,3084,25,7,,,5,,1,801004#10|801000#306,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+801013,1010072,TRUE,3084,25,7,,,5,,1,801004#13|801000#324,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+801014,1010072,TRUE,3084,25,7,,,5,,1,801004#17|801000#342,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+802001,1010072,TRUE,3084,25,7,,,2,,1,801000#2,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+802002,1010072,TRUE,3084,25,7,,,3,,1,801000#6,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+802003,1010072,TRUE,3084,25,7,,,4,,1,801000#18,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+802004,1010072,TRUE,3084,25,7,,,5,,1,802003#1|801000#36,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+802005,1010072,TRUE,3084,25,7,,,5,,1,802004#1|801000#36,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+802006,1010072,TRUE,3084,25,7,,,5,,1,802004#1|801000#90,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+802007,1010072,TRUE,3084,25,7,,,5,,1,802004#2|801000#108,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+802008,1010072,TRUE,3084,25,7,,,5,,1,802004#3|801000#144,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+802009,1010072,TRUE,3084,25,7,,,5,,1,802004#4|801000#198,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+802010,1010072,TRUE,3084,25,7,,,5,,1,802004#6|801000#216,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+802011,1010072,TRUE,3084,25,7,,,5,,1,802004#8|801000#252,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+802012,1010072,TRUE,3084,25,7,,,5,,1,802004#10|801000#306,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+802013,1010072,TRUE,3084,25,7,,,5,,1,802004#13|801000#324,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+802014,1010072,TRUE,3084,25,7,,,5,,1,802004#17|801000#342,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+803001,1010072,TRUE,3084,25,7,,,2,,1,801000#2,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+803002,1010072,TRUE,3084,25,7,,,3,,1,801000#6,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+803003,1010072,TRUE,3084,25,7,,,4,,1,801000#18,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+803004,1010072,TRUE,3084,25,7,,,5,,1,803003#1|801000#36,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+803005,1010072,TRUE,3084,25,7,,,5,,1,803004#1|801000#36,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+803006,1010072,TRUE,3084,25,7,,,5,,1,803004#1|801000#90,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+803007,1010072,TRUE,3084,25,7,,,5,,1,803004#2|801000#108,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+803008,1010072,TRUE,3084,25,7,,,5,,1,803004#3|801000#144,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+803009,1010072,TRUE,3084,25,7,,,5,,1,803004#4|801000#198,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+803010,1010072,TRUE,3084,25,7,,,5,,1,803004#6|801000#216,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+803011,1010072,TRUE,3084,25,7,,,5,,1,803004#8|801000#252,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+803012,1010072,TRUE,3084,25,7,,,5,,1,803004#10|801000#306,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+803013,1010072,TRUE,3084,25,7,,,5,,1,803004#13|801000#324,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+803014,1010072,TRUE,3084,25,7,,,5,,1,803004#17|801000#342,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+804001,1010072,TRUE,3084,25,7,,,2,,1,801000#2,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+804002,1010072,TRUE,3084,25,7,,,3,,1,801000#6,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+804003,1010072,TRUE,3084,25,7,,,4,,1,801000#18,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+804004,1010072,TRUE,3084,25,7,,,5,,1,804003#1|801000#36,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+804005,1010072,TRUE,3084,25,7,,,5,,1,804004#1|801000#36,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+804006,1010072,TRUE,3084,25,7,,,5,,1,804004#1|801000#90,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+804007,1010072,TRUE,3084,25,7,,,5,,1,804004#2|801000#108,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+804008,1010072,TRUE,3084,25,7,,,5,,1,804004#3|801000#144,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+804009,1010072,TRUE,3084,25,7,,,5,,1,804004#4|801000#198,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+804010,1010072,TRUE,3084,25,7,,,5,,1,804004#6|801000#216,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+804011,1010072,TRUE,3084,25,7,,,5,,1,804004#8|801000#252,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+804012,1010072,TRUE,3084,25,7,,,5,,1,804004#10|801000#306,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+804013,1010072,TRUE,3084,25,7,,,5,,1,804004#13|801000#324,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+804014,1010072,TRUE,3084,25,7,,,5,,1,804004#17|801000#342,0,,,,,1,0,0,1,9999,,,,1030903,名称待定
+6000116,1010072,FALSE,4101,0,2,1020083,,5,,0,,0,,,,,0,,,1,99999,,,,1030003,名称待定
+6000117,1010072,FALSE,4400,0,2,1020083,,5,,0,,0,,,,,1,,,1,99999,,,,1030003,名称待定
+1008,1010072,TRUE,4103,0,2,1020083,,4,,0,,0,,,,,0,,,1,99999,,,,1030003,名称待定
+1000106,1010172,FALSE,3001,1,,,,5,,1,,0,,,,,1,,10001#6,1,9999999,,,,1030172,莫扎特
+1000206,1010173,FALSE,3002,1,,,,5,,1,,0,,,,,1,,10002#6,1,9999999,,,,1030172,西蒙海耶
+1000306,1010174,FALSE,3003,1,,,,5,,1,,0,,,,,1,,10003#6,1,9999999,,,,1030172,巴顿
+1000406,1010175,FALSE,3004,1,,,,5,,1,,0,,,,,1,,10004#6,1,9999999,,,,1030172,爱迪生
+1000506,1010176,FALSE,3005,1,,,,5,,1,,0,,,,,1,,10005#6,1,9999999,,,,1030172,德雷克
+1000606,1010177,FALSE,3006,1,,,,5,,1,,0,,,,,1,,10006#6,1,9999999,,,,1030172,特斯拉
+1000706,1010178,FALSE,3007,1,,,,5,,1,,0,,,,,1,,10007#6,1,9999999,,,,1030172,瓦特
+1000806,1010179,FALSE,3008,1,,,,5,,1,,0,,,,,1,,10008#6,1,9999999,,,,1030172,爱因斯坦
+1000906,1010180,FALSE,3009,1,,,,5,,1,,0,,,,,1,,10009#6,1,9999999,,,,1030172,诺贝尔
+1001006,1010181,FALSE,3010,1,,,,5,,1,,0,,,,,1,,10010#6,1,9999999,,,,1030172,丹妮莉丝
+1001906,1010190,FALSE,3019,1,,,,5,,1,,0,,,,,1,,10019#6,1,9999999,,,,1030172,真田幸村
+1002006,1010191,FALSE,3020,1,,,,5,,1,,0,,,,,1,,10020#6,1,9999999,,,,1030172,关羽
+1002106,1010192,FALSE,3021,1,,,,5,,1,,0,,,,,1,,10021#6,1,9999999,,,,1030172,亚历山大
+1002206,1010193,FALSE,3022,1,,,,5,,1,,0,,,,,1,,10022#6,1,9999999,,,,1030172,李舜臣
+1002306,1010194,FALSE,3023,1,,,,5,,1,,0,,,,,1,,10023#6,1,9999999,,,,1030172,服部半藏
+1002406,1010195,FALSE,3024,1,,,,5,,1,,0,,,,,1,,10024#6,1,9999999,,,,1030172,韩信
+1002506,1010196,FALSE,3025,1,,,,5,,1,,0,,,,,1,,10025#6,1,9999999,,,,1030172,李白
+1002606,1010197,FALSE,3026,1,,,,5,,1,,0,,,,,1,,10026#6,1,9999999,,,,1030172,阿喀琉斯
+1002706,1010198,FALSE,3027,1,,,,5,,1,,0,,,,,1,,10027#6,1,9999999,,,,1030172,成吉思汗
+1003606,1010207,FALSE,3036,1,,,,5,,1,,0,,,,,1,,10036#6,1,9999999,,,,1030172,示巴女王
+1003706,1010208,FALSE,3037,1,,,,5,,1,,0,,,,,1,,10037#6,1,9999999,,,,1030172,克娄帕特拉
+1003806,1010209,FALSE,3038,1,,,,5,,1,,0,,,,,1,,10038#6,1,9999999,,,,1030172,贝奥武夫
+1003906,1010210,FALSE,3039,1,,,,5,,1,,0,,,,,1,,10039#6,1,9999999,,,,1030172,荷马
+1004006,1010211,FALSE,3040,1,,,,5,,1,,0,,,,,1,,10040#6,1,9999999,,,,1030172,拉斐尔
+1004106,1010212,FALSE,3041,1,,,,5,,1,,0,,,,,1,,10041#6,1,9999999,,,,1030172,赫拉克勒斯
+1004206,1010213,FALSE,3042,1,,,,5,,1,,0,,,,,1,,10042#6,1,9999999,,,,1030172,但丁
+1004306,1010214,FALSE,3043,1,,,,5,,1,,0,,,,,1,,10043#6,1,9999999,,,,1030172,亚瑟
+1004406,1010215,FALSE,3044,1,,,,5,,1,,0,,,,,1,,10044#6,1,9999999,,,,1030172,薛定谔
+1004506,1010216,FALSE,3045,1,,,,5,,1,,0,,,,,1,,10045#6,1,9999999,,,,1030172,格林
+1004606,1010217,FALSE,3046,1,,,,5,,1,,0,,,,,1,,10046#6,1,9999999,,,,1030172,茜茜公主
+1005706,1010226,FALSE,3055,1,,,,5,,1,,0,,,,,1,,10057#6,1,9999999,,,,1030172,赵云
+1005806,1010227,FALSE,3056,1,,,,5,,1,,0,,,,,1,,10058#6,1,9999999,,,,1030172,布伦谢尔德
+1005906,1010228,FALSE,3057,1,,,,5,,1,,0,,,,,1,,10059#6,1,9999999,,,,1030172,海伦
+1006006,1010229,FALSE,3058,1,,,,5,,1,,0,,,,,1,,10060#6,1,9999999,,,,1030172,南丁格尔
+1006106,1010230,FALSE,3059,1,,,,5,,1,,0,,,,,1,,10061#6,1,9999999,,,,1030172,凯撒
+1006206,1010231,FALSE,3060,1,,,,5,,1,,0,,,,,1,,10062#6,1,9999999,,,,1030172,赫克托耳
+1006306,1010232,FALSE,3061,1,,,,5,,1,,0,,,,,1,,10063#6,1,9999999,,,,1030172,雅典娜
+1006406,1010233,FALSE,3062,1,,,,5,,1,,0,,,,,1,,10064#6,1,9999999,,,,1030172,德川家康
+1006506,1010234,FALSE,3063,1,,,,5,,1,,0,,,,,1,,10065#6,1,9999999,,,,1030172,贞德
+1006606,1010235,FALSE,3064,1,,,,5,,1,,0,,,,,1,,10066#6,1,9999999,,,,1030172,瓦尔基里
+1007206,1010241,FALSE,3070,1,,,,5,,1,,0,,,,,1,,10072#6,1,9999999,,,,1030172,织田信长
+1007306,1010242,FALSE,3071,1,,,,5,,1,,0,,,,,1,,10073#6,1,9999999,,,,1030172,哈桑
+1007406,1010243,FALSE,3072,1,,,,5,,1,,0,,,,,1,,10074#6,1,9999999,,,,1030172,布鲁图斯
+1007506,1010244,FALSE,3073,1,,,,5,,1,,0,,,,,1,,10075#6,1,9999999,,,,1030172,所罗门
+1007606,1010714,FALSE,3074,1,,,,5,,1,,0,,,,,1,,10076#6,1,9999999,,,,1030172,嬴政
+1007906,1010246,FALSE,3075,1,,,,5,,1,,0,,,,,1,,10079#6,1,9999999,,,,1030172,卑弥呼
+1008006,1010247,FALSE,3076,1,,,,5,,1,,0,,,,,1,,10080#6,1,9999999,,,,1030172,白起
+1008106,1010248,FALSE,3077,1,,,,5,,1,,0,,,,,1,,10081#6,1,9999999,,,,1030172,弗拉德
+1008206,1010249,FALSE,3078,1,,,,5,,1,,0,,,,,1,,10082#6,1,9999999,,,,1030172,明智光秀
+1008506,1010250,FALSE,3079,1,,,,5,,1,,0,,,,,1,,10085#6,1,9999999,,,,1030172,伊丽莎白
+1001105,1010182,FALSE,3011,1,,,,5,,1,,0,,,,,1,,10011#5,1,9999999,,,,1030172,居里夫人
+1001205,1010183,FALSE,3012,1,,,,5,,1,,0,,,,,1,,10012#5,1,9999999,,,,1030172,俾斯麦
+1001305,1010184,FALSE,3013,1,,,,5,,1,,0,,,,,1,,10013#5,1,9999999,,,,1030172,弗兰肯斯坦
+1001405,1010185,FALSE,3014,1,,,,5,,1,,0,,,,,1,,10014#5,1,9999999,,,,1030172,亚森罗宾
+1001505,1010186,FALSE,3015,1,,,,5,,1,,0,,,,,1,,10015#5,1,9999999,,,,1030172,乔
+1002805,1010199,FALSE,3028,1,,,,5,,1,,0,,,,,1,,10028#5,1,9999999,,,,1030172,威廉基德
+1002905,1010200,FALSE,3029,1,,,,5,,1,,0,,,,,1,,10029#5,1,9999999,,,,1030172,佐罗
+1003005,1010201,FALSE,3030,1,,,,5,,1,,0,,,,,1,,10030#5,1,9999999,,,,1030172,斯巴达
+1003105,1010202,FALSE,3031,1,,,,5,,1,,0,,,,,1,,10031#5,1,9999999,,,,1030172,土方岁三
+1003205,1010203,FALSE,3032,1,,,,5,,1,,0,,,,,1,,10032#5,1,9999999,,,,1030172,花木兰
+1004705,1010218,FALSE,3047,1,,,,5,,1,,0,,,,,1,,10047#5,1,9999999,,,,1030172,弗洛伊德
+1004805,1010219,FALSE,3048,1,,,,5,,1,,0,,,,,1,,10048#5,1,9999999,,,,1030172,雨果
+1004905,1010220,FALSE,3049,1,,,,5,,1,,0,,,,,1,,10049#5,1,9999999,,,,1030172,肖邦
+1005005,1010221,FALSE,3050,1,,,,5,,1,,0,,,,,1,,10050#5,1,9999999,,,,1030172,玛利亚
+1005105,1010222,FALSE,3051,1,,,,5,,1,,0,,,,,1,,10051#5,1,9999999,,,,1030172,唐吉坷德
+1006705,1010236,FALSE,3065,1,,,,5,,1,,0,,,,,1,,10067#5,1,9999999,,,,1030172,帕里斯
+1006805,1010237,FALSE,3066,1,,,,5,,1,,0,,,,,1,,10068#5,1,9999999,,,,1030172,拿破仑
+1006905,1010238,FALSE,3067,1,,,,5,,1,,0,,,,,1,,10069#5,1,9999999,,,,1030172,哥白尼
+1007005,1010239,FALSE,3068,1,,,,5,,1,,0,,,,,1,,10070#5,1,9999999,,,,1030172,毕达哥拉斯
+1008605,1010251,FALSE,3080,1,,,,5,,1,,0,,,,,1,,10086#5,1,9999999,,,,1030172,血腥玛丽
+1008705,1010252,FALSE,3081,1,,,,5,,1,,0,,,,,1,,10087#5,1,9999999,,,,1030172,弑君者詹姆
+1008805,1010253,FALSE,3082,1,,,,5,,1,,0,,,,,1,,10088#5,1,9999999,,,,1030172,开膛手杰克
+1008905,1010254,FALSE,3083,1,,,,5,,1,,0,,,,,1,,10089#5,1,9999999,,,,1030172,尼禄
+60417,1013263,TRUE,209214,20,2,1023263,,6,,0,,2,99025#99026#99027#99006#99007,0,,,1,0,0,1,9999,,,1033263,1030460,全系升星自选箱
+60418,1013264,TRUE,209280,20,2,1023264,,5,,0,,2,60418,0,,,1,0,0,1,9999,,,,1030460,高阶材料箱
+20009,1010072,FALSE,60010,29,,1020083,,5,,0,,0,,0,,,1,0,0,1,999999,,,,1030511,名称待定
+6000124,1013266,FALSE,209264,0,,1023266,,2,,0,,,,,36008#36001#36006,,,,,,999999999,,,,1030008,GP
+6000127,1013267,TRUE,4311,2,3,1023267,7,5,,1,100008,1,6000127,10,,,,,,1,99999,,,,1030787,攻击催化精粹
+6000128,1013268,TRUE,4312,2,3,1023268,7,5,,1,100008,1,6000128,10,,,,,,1,99999,,,,1030787,增益催化精粹
+6000129,1013269,TRUE,4313,2,3,1023269,7,5,,1,100008,1,6000129,10,,,,,,1,99999,,,,1030787,防守催化精粹
+6000130,1013270,TRUE,4314,2,3,1023270,7,5,,1,100008,1,6000130,10,,,,,,1,99999,,,,1030787,辅助催化精粹
+20010,1013271,FALSE,900012,29,,1023271,,5,,0,,0,,0,,,1,0,0,1,999999,,,,1030511,燃星者
+20011,1013272,FALSE,900013,29,,1023272,,2,,0,,0,,0,,,1,0,0,1,999999,,,,1030511,循道者
+20012,1013273,FALSE,900014,29,,1023272,,3,,0,,0,,0,,,1,0,0,1,999999,,,,1030511,神侍
+20013,1013274,FALSE,900015,29,,1023272,,4,,0,,0,,0,,,1,0,0,1,999999,,,,1030511,代行者
+20014,1013275,FALSE,900016,29,,1023272,,5,,0,,0,,0,,,1,0,0,1,999999,,,,1030511,在神之侧
+6000131,1013276,TRUE,3037,2,3,1023276,3,6,,1,100007,1,6000131,50,,,,,,1,99999,,,,1030787,6星克娄帕特拉碎片
+6000132,1013277,TRUE,3025,2,3,1023277,2,6,,1,100007,1,6000132,50,,,,,,1,99999,,,,1030787,6星李白碎片
+6000133,1013278,TRUE,3046,2,3,1023278,3,6,,1,100007,1,6000133,50,,,,,,1,99999,,,,1030787,6星茜茜公主碎片
+6000134,1013279,TRUE,3006,2,3,1023279,1,6,,1,100007,1,6000134,50,,,,,,1,99999,,,,1030787,6星特斯拉碎片
+6000135,1013280,TRUE,3026,2,3,1023280,2,6,,1,100007,1,6000135,50,,,,,,1,99999,,,,1030787,6星阿喀琉斯碎片
+6000136,1013281,TRUE,3001,2,3,1023281,1,6,,1,100007,1,6000136,50,,,,,,1,99999,,,,1030787,6星莫扎特碎片
+6000137,1013282,TRUE,3020,2,3,1023282,2,6,,1,100007,1,6000137,50,,,,,,1,99999,,,,1030787,6星关羽碎片
+6000138,1013283,TRUE,3036,2,3,1023283,3,6,,1,100007,1,6000138,50,,,,,,1,99999,,,,1030787,6星示巴女王碎片
+6000139,1013284,TRUE,3078,2,3,1023284,5,6,,1,100007,1,6000139,50,,,,,,1,99999,,,,1030787,6星明智光秀碎片
+6000140,1013285,TRUE,3004,2,3,1023285,1,6,,1,100007,1,6000140,50,,,,,,1,99999,,,,1030787,6星爱迪生碎片
+6000141,1013286,TRUE,3063,2,3,1023286,4,6,,1,100007,1,6000141,50,,,,,,1,99999,,,,1030787,6星贞德碎片
+6000142,1013287,TRUE,3073,2,3,1023287,5,6,,1,100007,1,6000142,50,,,,,,1,99999,,,,1030787,6星所罗门碎片
+6000143,1013288,TRUE,3058,2,3,1023288,4,6,,1,100007,1,6000143,50,,,,,,1,99999,,,,1030787,6星南丁格尔碎片
+6000144,1013289,TRUE,3002,2,3,1023289,1,6,,1,100007,1,6000144,50,,,,,,1,99999,,,,1030787,6星西蒙海耶碎片
+6000145,1013290,TRUE,3021,2,3,1023290,2,6,,1,100007,1,6000145,50,,,,,,1,99999,,,,1030787,6星亚历山大碎片
+6000146,1013291,TRUE,3077,2,3,1023291,5,6,,1,100007,1,6000146,50,,,,,,1,99999,,,,1030787,6星弗拉德碎片
+6000147,1013292,TRUE,3072,2,3,1023292,5,6,,1,100007,1,6000147,50,,,,,,1,99999,,,,1030787,6星布鲁图斯碎片
+6000148,1013293,TRUE,3055,2,3,1023293,4,6,,1,100007,1,6000148,50,,,,,,1,99999,,,,1030787,6星赵云碎片
+6000149,1013294,TRUE,3057,2,3,1023294,4,6,,1,100007,1,6000149,50,,,,,,1,99999,,,,1030787,6星海伦碎片
+6000150,1013295,TRUE,3071,2,3,1023295,5,6,,1,100007,1,6000150,50,,,,,,1,99999,,,,1030787,6星哈桑碎片
+1000809,1010179,FALSE,3008,1,,,,5,,1,,0,,,,,1,,10008#9,1,9999999,,,,1030172,爱因斯坦
+1002309,1010194,FALSE,3023,1,,,,5,,1,,0,,,,,1,,10023#9,1,9999999,,,,1030172,服部半藏
+1003909,1010210,FALSE,3039,1,,,,5,,1,,0,,,,,1,,10039#9,1,9999999,,,,1030172,荷马
+1006209,1010231,FALSE,3060,1,,,,5,,1,,0,,,,,1,,10062#9,1,9999999,,,,1030172,赫克托耳
+1008509,1010250,FALSE,3079,1,,,,5,,1,,0,,,,,1,,10085#9,1,9999999,,,,1030172,伊丽莎白
+60419,1013301,TRUE,60419,20,2,1023301,,6,,0,,2,60419,0,,,1,0,0,1,9999,,,,1030460,3系辅助英雄自选
+60420,1013302,TRUE,60420,20,2,1023302,,6,,0,,2,60420,0,,,1,0,0,1,9999,,,,1030460,全系输出英雄自选
+60421,1013303,TRUE,60421,20,2,1023303,,6,,0,,2,60421,0,,,1,0,0,1,9999,,,,1030460,混沌秩序输出自选
+60422,1013304,TRUE,60422,20,2,1023304,,6,,0,,2,60422,0,,,1,0,0,1,9999,,,,1030460,混沌秩序辅助自选
+60423,1013305,TRUE,60423,20,2,1023305,,6,,0,,2,60423,0,,,1,0,0,1,9999,,,,1030460,混沌秩序核心自选
+81150,1013306,TRUE,60424,10,2,1023306,,5,,0,,1,81150,,36008,,1,0,0,1,99999,,,,1030518,降临宝箱

+ 268 - 0
config/server/Reason.csv

@@ -0,0 +1,268 @@
+Name,Id,Notes
+ADVENTURE_BASE_REWARD,1,探险基础收益
+ADVENTURE_RANDOM_REWARDD,2,探险随机收益
+DECOMPOS_ITEM_REWARD,3,分解道具奖励
+DECOMPOS_EQUIP_REWARD,4,分解道具奖励
+DECOMPOS_HERO_REWARD,5,卡牌遣散产出
+COMPOS_HERO_REWARD,6,合成妖灵师
+HERO_RANDOM,7,抽卡
+WORKSHOP_CREATEMATERIAL,8,基础打造
+WORKSHOP_CREATEQUIP,9,装备打造
+WORKSHOP_MAKEFOOD,10,装备打造
+TAKE_MISSION_REWARD,11,领取任务奖励
+TAKE_ACTIVITY_REWARD,12,领取活动奖励
+TAKE_SECRET_REWARD,13,秘盒奖励
+TAKE_SECRET_EXTRA_REWARD,14,秘盒额外奖励
+USER_BORN_REWARD,15,角色出生奖励
+TAKE_MAIL_REWARD,16,邮件奖励
+TAKE_VIP_LEVEL_REWARD,17,领取vip等级礼包奖励
+TAKE_VIP_DAILY_REWARD,18,领取vip日常奖励
+STORE_BUY_ITEM,19,商店购买
+MAP_EVENET_REWARD,20,地图事件点奖励
+MAP_GENERAL_FIGHT_REWARD,21,地图战斗
+MAP_FAST_FIGHT_REWARD,22,地图快速战斗
+MAP_MISSION_REWARD,23,地图任务奖励
+MAP_SWEEP_REWARD,24,扫荡地图副本
+LEVELDIFFICULTY_FIGHT_REWARD,25,关卡奖励
+LEVELDIFFICULTY_SWEEP_REWARD,26,关卡扫荡奖励
+USER_LEVELUPSTAMINA_REWARD,27,玩家升级加经验
+GM_REWARD,28,gm加成
+VIP_DAY_REWARD,29,VIP每日赠送
+TAKE_COPY_REWARD,30,领取副本功绩奖励
+TREASURE_SCORE,31,孙龙宝藏获得积分
+FRIEND_GIVE,32,好友赠送
+BOMB_REWARD,33,炸弹掉落
+TOWER_SWEEP_REWARD,34,爬塔扫荡奖励
+WORK_SHOP_TECHNOGY_RESET_DROP,35,工坊科技重置返回奖励
+TAKE_STAR_REWARD,36,领取星级奖励
+TOWER_FLOOR_REWARD,37,领取试炼层级奖励
+MONTH_CARD_REWARD,38,月卡奖励
+BLESS_REWARD,39,云梦抽取奖励
+SEVEN_SCORE_REWARD,40,领取七日狂欢奖励
+TIME_REWARD,41,道具按时回复
+TEMPORARY_REWARD,42,临时背包到背包
+SUDDENLY_REWARD,43,精英怪奖励
+MONSTERATTACK_REWARD,44,妖兽来袭奖励
+MONSTERATTACK_BACK,45,妖兽来袭预扣归还
+FIRST_ADVENTURE_REWARD,46,秘境首次奖励外敌挑战券
+UPHERO_DECOMPOS_HERO_REWARD,47,升星卡牌材料返还
+GM_CHANGENAME,48,gm改名赠送
+BIND_PHONE,49,修改手机号
+ENDLESS_REASON_CHANGE,50,无尽副本赛季更换
+RANDOM_SOULEQUIP,51,占星
+DIRECT_BUY,52,直购
+MAIN_LEVEL_STATE_REWARD,53,关卡挂机奖励
+LUCK_WHEEl_REWARD,54,幸运转盘
+LUCK_WHEEl_ADVANCE_REWARD,55,高级幸运转盘
+SYSTERM_OPEN_REWARD,56,系统开放奖励
+HERO_BACK_REWARD,57,英雄养成返还
+EXTRA_DROP_REWARD,58,额外赠送
+VIP_LEVEL_REWARD,59,VIP等級提升补发道具
+CHAMPIION_BET_REWARD,60,巅峰赛竞猜系统赠送
+CHAMPIION_BET_WIN_REWARD,601,巅峰赛竞猜赢取
+GUILD_BOSS_FIGHT_BASE_REWARD,61,工会boss基础奖励
+GUILD_BOSS_FIGHT_RANDOM_REWARD,611,工会boss随机奖励
+CHAMPIONM_EXCHANGE_REWARD,62,巅峰赛兑换奖励
+SEND_LIKE_REWARD,63,红包榜点赞奖励
+RED_PACKAGE_REWARD,64,抢红包奖励
+EXPEDITION_BOX_REWARD,65,猎妖之路宝箱奖励
+EXPEDITION_DROP_REWARD,66,猎妖之路奖励
+UNLOAD_SOUL_REWARD,67,脱下魂印
+ARENA_BOX_REWARD,681,竞技场宝箱奖励
+COMPLEX_EQUIP,68,合成装备产出
+REPLACE_SOUL_REWARD,69,替换魂印
+JEWEL_DECOMPOSE,70,分解宝器
+RESET_GUILD_SKILL,71,重置工会技能
+DEATH_PATH_CHALLENGE,72,十绝阵挑战奖励
+FETE_REWARD,73,祭祀掉落
+DEATH_PAHT_RANDOM_REWARD,74,十绝阵翻牌奖励
+GUILDHELP_REWARD,75,公会援助宝盒
+GUILDHELP_GIVE,76,公会援助给与
+EXCEPTION_TREASURE_REWARD,77,天空密境积分奖励
+PROUD_REWARD,78,膜拜获得金币奖励
+EQUIP_UNLOAD_REWARD,79,卸下装备
+ESPECIAL_BACK,80,法宝归元获得
+SITUATION_CHALLENGE_REWARD,81,轩辕宝镜获得
+HERO_CHANGE,82,抽卡
+JOURNEY_COMMON_REWARD,83,逍遥游基础奖励
+JOURNEY_FIGHT_REWARD,84,逍遥游击杀boss奖励
+JOURNEY_RANDOM_REWARD,85,逍遥游转盘奖励
+JOURNEY_FIGHT_CONSUME,86,逍遥游攻击boss消耗
+JOURNEY_DO_CONSUME,87,逍遥游摇骰子消耗
+JOURNEY_INIT_REWARD,88,逍遥游第1次进场最大限量数
+ARENA_WIN_REWARD,92,竞技场胜利奖励
+ARENA_LOSE_REWARD,93,竞技场失败奖励
+WORLD_CHANGE_DROP,94,跨服天梯
+WORLD_PRO_DROP,95,跨服天梯膜拜
+ENDLESS_TREASURE_REWARD,100,无尽秘宝获得
+ADVENTURE_UPLEVEL_CONSUME,1000,秘境升级
+SECRETBOX_CONSUME,1001,秘盒抽卡
+DECOMPOSE_ITEM_CONSUME,1002,分解道具消耗
+UP_HEROSTAR_CONSUME,1003,升星道具消耗
+WORKSHOP_REBUILD_EQUIP_CONSUME,1004,工坊重铸装备消耗
+WORKSHOP_CREATEMATERIAL_CONSUME,1005,工坊基础打造
+WORKSHOP_EQUIP_CONSUME,1006,工坊装备打造
+WORKSHOP_TECHNOLOGY_CONSUME,1007,工坊科技树科技消耗
+ACTIVE_BLUE_CONSUME,1008,激活蓝图消耗
+STORE_HAND_REFRESH,1009,手动刷新商店
+USER_ITEM,1010,使用道具
+RANDOM_HERO_CONSUME,1011,招募消耗
+UP_HERO_LEVEL_CONSUME,1012,卡牌升级消耗
+START_DIFFICULT,1013,关卡开始战斗消耗
+END_DIFFICULT,10131,关卡结束战斗消耗
+COMPOS_HERO_CONSUME,1014,合成英雄消耗
+POKEMON_LOAD_CONSUME,1015,放置异妖组件消耗
+POKEMON_ADVANCE_CONSUME,1016,异妖进阶消耗
+POKEMON_UPLEVEL_CONSUME,1017,异妖升级消耗
+BUY_GOODS_CONSUME,1018,购买商品消耗
+SWEEP_FIGHT_CONSUME,1019,扫荡消耗
+MAP_ENTER_CONSUME,1020,进入滴入消耗
+MAP_EVENT_CONSUME,1021,地图事件点消耗
+ARENA_CHALLENGE_CONSUME,1022,竞技场挑战消耗
+RINGFIRE_LOAD_CONSUME,1023,放置天赋异妖
+BOMB_CONSUME,1024,使用次元炸弹
+CHALLENGE_INVASIONBOSS_CONSUME,1025,挑战秘境外敌boss消耗
+MAP_CONSUME,1026,地图行为消耗
+BLESS_CHOOSE_CONSUME,1027,云梦抽取
+BUY_TREASURE_CONSUME,1028,购买孙龙的宝藏消耗
+LUCKYCAT_CONSUME,1029,招财猫消耗
+CREATE_GUILD_CONSUME,1030,创建宗门消耗
+ENDLESS_CONSUME_EXECUTION,1031,无尽副本消耗行动力
+ADVENTURE_CALL_BOSS_CONSUME,1032,召唤外敌消耗
+MONSTERATTACK_CONSUME,1033,妖兽来袭开启战斗消耗
+CHANGE_NAME,1034,改名消耗
+ESPECIAL_EQUIP_UP_LEVEL_CONSUME,1035,法宝进阶消耗
+RANDOM_SOULEQUIP_CONSUME,1036,占星
+FAMILY_SET_ICON,1037,工会修改图腾
+EXCHANGE_ACTIVITY_CLOSE,1038,限时兑换删除道具
+LUCK_WHEEL,1039,幸运转盘消耗
+LUCK_WHEEL_ADVANCE,1040,高级幸运转盘消耗
+HERO_BACK_CONSUME,1041,英雄重置消耗
+TREASURE_LEVEL_UP_CONSUME,1042,孙龙宝藏等级提升消耗
+TREASURE_BUY_LEVEL_CONSUME,1043,孙龙宝藏等级快速购买
+TREASURE_RESET_CONSUME,1044,孙龙宝藏重置删除积分
+RIDE_LEVEL_UP_CONSUME,10441,坐骑升级消耗
+FAMILY_RENAME,1045,公会改名
+CHAMPIION_BET_CONSUME,1046,巅峰赛竞猜消耗
+MISSING_ROOM_REFRESH_CONSUME,1047,迷宫寻宝刷新消耗
+MISSING_ROOM_SEND_CONSUME,1048,迷宫寻宝派遣消耗
+MISSING_ROOM_ACCELERATE_CONSUME,1049,迷宫寻宝加速消耗
+CHAMPIONM_EXCHANGE_CONSUME,1050,巅峰赛兑换
+COMPLEX_EQUIP_CONSUME,1051,合成装备消耗
+SOUL_EQUIP_WEAR_CONSUME,1052,穿魂印消耗
+SOUL_EQUIP_MERGE_CONSUME,1054,合成魂印消耗
+JEWEL_BUILD_OR_UP_CONSUME,1055,宝器升级或精炼消耗
+GUILD_SKILL_LEVEL_UP_CONSUME,1056,工会技能升级消耗
+FETE_CONSUME,1057,祭祀消耗
+COMPLEX_JEVEL_EQUIP_CONSUME,1058,合成宝器
+GUILD_HELP_CONSUME,1059,公会援助
+RANDOM_COST_BOX_CONSUME,1060,抽取宝箱奖励消耗
+ECPEDITION_RELIVE_CONSUME,1061,大闹天宫消耗
+TRIAL_ADD_HP_CONSUME,1062,试炼回春散消耗
+DAILY_SCORE_CONSUME,1063,删除日常任务积分
+EQUIP_WEAR_CONSUME,1064,佩戴装备
+GUILD_CHALLENGE_BUFF_BUY_CONSUME,1065,公会副本购买buff
+SUPPORT_SKILL_LEVEL_UP_CONSUME,1066,支援技能升级消耗
+SUPPORT_REFINE_LEVEL_UP_CONSUME,10661,守护改造升级消耗
+SUPPORT_ACTIVE_CONSUME,1067,支援激活消耗
+SUPPORT_SOUL_UP_CONSUME,1068,支援改良消耗
+SUPPORT_LEVEL_UP_CONSUME,1069,支援升级消耗
+HERO_PICTURE_REWARD,1070,英雄图鉴奖励
+ADJUTANT_UNLOCK,1071,副官解锁
+ADJUTANT_CHAT,1072,副官沟通
+ADJUTANT_HANDSEL,1073,副官送礼
+ADJUTANT_SKILL,1074,副官技能
+ADJUTANT_TEACH,1075,副官训练
+GENERAL_ACTIVE,1076,名将激活
+GENERAL_LEVEL_UP,1077,契约升级
+COMBAT_PLAN_LEVEL_UP,1078,战法升级
+COMBAT_PLAN_FORGET_REWAED,1079,战法遗忘奖励
+COMBAT_PLAN_FORGET_COST,1080,战法遗忘消耗
+COMBAT_PLAN_MERGE_FAIL_REWAED,1081,作战方案合成失败奖励
+COMBAT_PLAN_MERGE_COST,1082,作战方案合成消耗
+GUILD_ACTIVE_LEVEL_UP_REWARD,1083,联盟活跃度升级奖励
+HERO_STAR_BACK_REWARD,1084,改装厂回溯奖励
+ARENA_SEND_LIKE_REWARD,1085,红包榜点赞奖励
+CHAMPIN_SEND_LIKE_REWARD,1086,巅峰赛红包榜点赞奖励
+MINSK_BATTLE_COUNT,1087,明斯克挑战购买次数
+MINSK_BATTLE_FIGHT_REWARD,1088,明斯克奖励
+COMBAT_PLAN_REBUILD_COST,1089,戒指重铸消耗
+COMBAT_PLAN_EXCHANGE_COST,1090,作战方案自动兑换消耗
+MEDAL_REFINE_COST,1091,芯片重写
+WORLD_ARENA,1092,跨服竞技场
+MOTHERSHIP_UPSTAR,1093,战机升级消耗
+MOTHERSHIP_STARTBLUEPRINT,1094,重工场开始
+MOTHERSHIP_SPEEDUP,1095,重工场加速
+TITLE_REWARD,1096,称号奖励
+TITLE_WEAR_CONSUME,1097,称号消耗
+PROSPECT_REWARD,1098,文明遗迹产出
+PROSPECT_COST,1099,文明遗迹消耗
+SHEJI_CONSUME,1100,社稷大典贡献
+SHEJI_ACTIVITY,1101,社稷大典
+GOOD_LUCK_CONSUME,1102,扭转乾坤消耗
+GOOD_LUCK_DROP,1103,扭转乾坤获得
+SUB_ACTIVITY_CONSUME,1104,易经宝库
+SUB_ACTIVITY_CONSUME_FINISH,1105,易经宝库活动结束补发消耗
+COMBAT_PLAN_UPGRADE,1106,戒指精炼消耗
+ADJUST_LEVEL_UP_CONSUME,1107,铸魂升级消耗
+ADJUST_RESET_CONSUME,1108,部件调校(铸魂)重置消耗
+ADJUST_RESET_REWARD,1109,部件调校(铸魂)重置返还
+TOTEM_LEVEL_CONSUME,1110,图腾升级消耗
+TOTEM_RESET_REWARD,1111,图腾重置返还
+ONE_KEY_SWEEP_CONSUME,1112,一键扫荡消耗
+HONGMENG_UPGRIDE,1113,鸿蒙碑升级消耗
+OPEN_HONGMENG_GRAID,1114,开鸿蒙阵格子消耗
+CLEAR_HONGMENG_GRAID,1115,清鸿蒙阵格子cd
+ADJUTANT_LAYER_COST,1116,消耗
+ADJUTANT_LAYER_REWARD,1117,奖励
+ADJUTANT_RECRUIT_COST,1118,副官招募
+CROSSSERVERHORN_TALK,1119,副官招募
+MEADEL_REBUILD_MERGE,1120,芯片合成产出
+MEADEL_REBUILD_CHANGE,1121,芯片转化
+BATTLE_PASS_REWARD,1122,副官招募
+BATTLE_PASS_VIP_REWARD,1123,副官招募
+JUNBEITIAOPEI_CONSUME,1124,军备调配消耗
+WORDEXCHANGEBOMBARD_CONSUME,1125,炮击演练消耗
+WORDEXCHANGEBOMBARD_REWARD,1126,炮击演练奖励
+THOUSAND_DRAW_REWARD,1127,千抽
+COLLECT_HERO_REWARD,1128,收集英雄奖励
+WORLD_ARENA_SEND_LIKE_REWARD,1129,跨服竞技场点赞奖励
+BOX_POOL_RANDOM_COST,1130,BOX扭蛋抽取消耗
+BOX_POOL_RANDOM_REWARD,11301,BOX扭蛋抽取奖励
+BOX_POOL_MANUAL_RESET,1131,BOX扭蛋手动重置
+RANKING_REWARD,1132,全服排行奖励
+FOREVER_MEMBER_BUG,1133,终身会员购买+激活奖励
+HERO_TRIAL_CHALLENGE_COST,1134,英雄试炼挑战消耗
+HERO_TRIAL_CHALLENGE_REWARD,1135,英雄试炼挑战奖励
+CARD_SUBJECT_HERO_GET_COST,1136,卡牌主题:英雄驾到消耗
+CARD_SUBJECT_HERO_GET_REWARD,1137,卡牌主题:英雄驾到奖励
+CARD_SUBJECT_WISH_POOL_CHANGE_COST,1138,卡牌主题:英雄驾到切换心愿池消耗
+CARD_SUBJECT_HERO_LUXURY_GET_FREE_REWARD,1139,卡牌主题:英雄豪礼-免费领取
+DEATH_PAHT_BUY_CHALLENGE_COUNT_COST,1140,购买十绝阵挑战次数消耗
+GM_ADD_ITEM,1141,GM后台系统加道具
+GM_REDUCE_ITEM,1142,GM后台系统扣道具
+MEADEL_REBUILD_COST,1143,芯片合成消耗
+HERO_EXCHANGE_REWARD,2011,卡牌交换获得
+HERO_EXCHANGE_CONSUME,2012,卡牌交换消耗
+UP_HEROSTAR_HERO_LOG,2021,升星卡牌获得
+UP_HEROSTAR_HERO_CONSUME,2022,升星卡牌消耗
+COMBAT_PLAN_MERGE_MATERIAL_COST,2042,戒指合成材料消耗
+COMBAT_PLAN_SELL_REWARD,2051,戒指分解获得
+COMBAT_PLAN_SELL_CONSUME,2052,戒指分解消耗
+COMBAT_PLAN_EXCHANGE_REWARD,2061,魂力值满获得
+COMBAT_PLAN_UPGRADE_DONE_REWARD,2071,戒指精炼完成获得
+COMBAT_PLAN_UPGRADE_DONE_CONSUME,2072,戒指精炼完成消耗
+WAR_WAY_LEVEL_UP,2082,能力领悟和升级消耗
+MEDAL_SELL_REWARD,2091,芯片出售获得
+MEDAL_SELL_CONSUME,2092,芯片出售消耗
+PROSPECT_BOX_REWARD,2101,文明遗迹宝箱产出
+MEADEL_PLAN_COST,2112,芯片方案解锁消耗
+ADJUST_UNLOCK_CONSUME,2122,铸神解锁消耗
+DECOMPOS_HERO_CONSUME,2132,卡牌遣散消耗
+HERO_BACK_HERO_REWARD,2141,医院回溯卡牌获得
+HERO_STAR_BACK_ITEM_CONSUME,2142,医院回溯道具消耗
+HERO_STAR_BACK_HERO_CONSUME,2143,医院回溯卡牌消耗
+HERO_REBUILD_HERO_REWARD,2151,医院重组卡牌获得
+HERO_REBUILD_ITEM_CONSUME,2152,医院重组道具消耗
+HERO_REBUILD_HERO_CONSUME,2153,医院重组卡牌消耗
+GENERAL_UNLOCK_CONSUME,2162,契约解锁消耗

+ 635 - 0
config/server/RechargeCommodityConfig.csv

@@ -0,0 +1,635 @@
+Id,RechargeId,Name,Desc,Tip,Resources,Type,ShowType,Price,FirstMultiple,BaseReward,RewardShow,ContiueDays,PlayerLevel,ExtraReward,OpenPrivilege,Limit,LimitShow,FirstInvest,IsDiscount,DiscountType,Order,AccumulativeRecharge,Time,StartTime,Endtime,DailyUpdate,Rebate,PassiveSkill,Sequence,LevelLinit,RechargeId2,RechargeId3,Quality,Otype,Mail,OnSaleRule,PosterUiId,PriceWeight
+304,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+305,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+306,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+318,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+319,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+320,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+332,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+333,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+334,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+346,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+347,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+348,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+360,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+361,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+362,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+374,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+375,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+376,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+388,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+389,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+390,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+504,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+505,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+506,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+515,,34010003,34020003,34030003,,5,22,198,,16#1980,16#1980,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+516,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+517,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+518,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+519,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+520,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+521,,34010003,34020003,34030003,,5,23,6,,16#120,16#120,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+522,,34010003,34020003,34030003,,5,23,30,,16#360,16#360,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+523,,34010003,34020003,34030003,,5,23,68,,16#680,16#680,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+524,,34010003,34020003,34030003,,5,23,128,,16#1280,16#1280,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+525,,34010003,34020003,34030003,,5,23,198,,16#1980,16#1980,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+526,,34010003,34020003,34030003,,5,23,328,,16#3280,16#3280,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+527,,34010003,34020003,34030003,,5,23,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+532,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+533,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+534,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+535,,34010003,34020003,34030003,,5,23,6,,16#60,16#60,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+536,,34010003,34020003,34030003,,5,23,30,,16#300,16#300,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+537,,34010003,34020003,34030003,,5,23,68,,16#680,16#680,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+538,,34010003,34020003,34030003,,5,23,128,,16#1280,16#1280,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+539,,34010003,34020003,34030003,,5,23,198,,16#1980,16#1980,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+540,,34010003,34020003,34030003,,5,23,328,,16#3280,16#3280,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+541,,34010003,34020003,34030003,,5,23,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+546,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+547,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+548,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+555,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+556,,34010003,34020003,34030003,,5,22,198,,16#1980,16#1980,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+557,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+558,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+559,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+560,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+561,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+569,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+570,,34010003,34020003,34030003,,5,22,198,,16#1980,16#1980,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+571,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+572,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+573,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+574,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+575,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+576,,34010003,34020003,34030003,,5,23,6,,16#60,16#60,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+577,,34010003,34020003,34030003,,5,23,30,,16#300,16#300,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+578,,34010003,34020003,34030003,,5,23,68,,16#680,16#680,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+579,,34010003,34020003,34030003,,5,23,128,,16#1280,16#1280,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+580,,34010003,34020003,34030003,,5,23,198,,16#1980,16#1980,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+581,,34010003,34020003,34030003,,5,23,328,,16#3280,16#3280,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+582,,34010003,34020003,34030003,,5,23,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+583,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+584,,34010003,34020003,34030003,,5,22,198,,16#1980,16#1980,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+585,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+586,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+587,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+588,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+589,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+596,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+597,,34010003,34020003,34030003,,5,22,198,,16#1980,16#1980,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+598,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+599,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+600,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+601,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+602,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+603,,34010003,34020003,34030003,,5,23,6,,16#120,16#120,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+604,,34010003,34020003,34030003,,5,23,30,,16#300,16#300,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+605,,34010003,34020003,34030003,,5,23,68,,16#680,16#680,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+606,,34010003,34020003,34030003,,5,23,128,,16#1280,16#1280,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+608,,34010003,34020003,34030003,,5,23,328,,16#3280,16#3280,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+609,,34010003,34020003,34030003,,5,23,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+614,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+615,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+616,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+617,,34010003,34020003,34030003,,5,23,6,,16#120,16#120,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+618,,34010003,34020003,34030003,,5,23,30,,16#360,16#360,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+619,,34010003,34020003,34030003,,5,23,68,,16#680,16#680,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+620,,34010003,34020003,34030003,,5,23,128,,16#1280,16#1280,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+621,,34010003,34020003,34030003,,5,23,198,,16#1980,16#1980,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+622,,34010003,34020003,34030003,,5,23,328,,16#3280,16#3280,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+623,,34010003,34020003,34030003,,5,23,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+624,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+625,,34010003,34020003,34030003,,5,22,198,,16#1980,16#1980,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+626,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+627,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+628,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+629,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+630,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+631,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+632,,34010003,34020003,34030003,,5,22,198,,16#1980,16#1980,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+633,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+634,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+635,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+636,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+637,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+638,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+639,,34010003,34020003,34030003,,5,22,198,,16#1980,16#1980,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+640,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+641,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+642,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+643,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+644,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+645,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+646,,34010003,34020003,34030003,,5,22,198,,16#1980,16#1980,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+647,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+648,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+649,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+650,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+651,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+652,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+653,,34010003,34020003,34030003,,5,22,198,,16#1980,16#1980,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+654,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+655,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+656,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+657,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+658,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+659,,34010003,34020003,34030003,,5,23,6,,16#60,16#60,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+660,,34010003,34020003,34030003,,5,23,30,,16#300,16#300,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+661,,34010003,34020003,34030003,,5,23,68,,16#680,16#680,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+662,,34010003,34020003,34030003,,5,23,128,,16#1280,16#1280,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+663,,34010003,34020003,34030003,,5,23,198,,16#1980,16#1980,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+664,,34010003,34020003,34030003,,5,23,328,,16#3280,16#3280,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+665,,34010003,34020003,34030003,,5,23,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+666,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+667,,34010003,34020003,34030003,,5,22,198,,16#1980,16#1980,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+668,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+669,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+670,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+671,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+672,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+673,,34010003,34020003,34030003,,5,23,6,,16#60,16#60,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+674,,34010003,34020003,34030003,,5,23,30,,16#360,16#360,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+675,,34010003,34020003,34030003,,5,23,68,,16#680,16#680,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+676,,34010003,34020003,34030003,,5,23,128,,16#1280,16#1280,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+677,,34010003,34020003,34030003,,5,23,328,,16#3280,16#3280,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+678,,34010003,34020003,34030003,,5,23,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+679,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+680,,34010003,34020003,34030003,,5,22,198,,16#1980,16#1980,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+681,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+682,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+683,,34010003,34020003,34030003,,5,22,128,,16#1280,16#1280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+684,,34010003,34020003,34030003,,5,22,328,,16#3280,16#3280,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+685,,34010003,34020003,34030003,,5,22,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,1#999#999|4#0#0,,100
+33,,34010003,34020003,34030003,,5,12,128,,16#1888|20#1|87#18|61#1,16#1888|20#1|87#18|61#1,,,,1006,1,1,1,4,,,1,3,0,431999,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+34,,34010003,34020003,34030003,,5,13,6,,16#18|87#1|61#1,16#18|87#1|61#1,,,,1006,1,1,1,1,,,1,3,0,431999,1,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100
+35,,34010003,34020003,34030003,,5,13,6,,16#88|87#2|61#1,16#88|87#2|61#1,,,,1006,1,1,1,1,,,1,3,0,431999,1,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100
+36,,34010003,34020003,34030003,,5,13,30,,16#488|87#5|61#1,16#488|87#5|61#1,,,,1006,1,1,1,1,,,1,3,0,431999,1,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100
+37,,34010003,34020003,34030003,,5,11,198,,16#1980|20#2|87#22|14#500000,16#1980|20#2|87#22|14#500000,,,,1006,1,1,1,0,,,1,2,0,431999,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+38,,34010003,34020003,34030003,,5,11,128,,16#1280|81001#2|87#12|14#300000,16#1280|81001#2|87#12|14#300000,,,,1006,6,1,1,0,,,1,3,0,431999,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+39,,34010003,34020003,34030003,,5,11,328,,16#3280|21#3|87#25|3#50000,16#3280|21#3|87#25|3#50000,,,,1006,6,1,1,0,,,1,3,0,431999,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+40,,34010003,34020003,34030003,,5,11,648,,16#6480|4#1000|87#36|11012#25,16#6480|4#1000|87#36|11012#25,,,,1006,2,1,1,0,,,1,3,0,431999,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+42,,34010174,34020174,34030174,,10,5,12,,6000124#120|16#120|4#100,6000124#120|16#120|4#100,,,,1006,10,1,1,0,,,1,1,20191228 000000,20300115 235959,1,,,,1#999,,,,1,,1#1#999|4#0#0,,100#100#100
+43,,34010175,34020175,34030174,,10,5,128,,6000124#1280|16#1280|4#500|65#1500,6000124#1280|16#1280|4#500|65#1500,,,,1006,5,1,1,0,,,1,1,20191228 000000,20300115 235959,1,,,,1#999,,,,1,,1#1#999|4#0#0,,100#100#100#100
+44,,34010176,34020176,34030174,,10,5,648,,6000124#6480|16#6480|19#10|65#8000,6000124#6480|16#6480|19#10|65#8000,,,,1006,3,1,1,0,,,1,1,20191228 000000,20300115 235959,1,,,,1#999,,,,1,,1#1#999|4#0#0,,100#100#100#100
+46,,34010003,34020003,34030003,,5,12,128,,16#1888|20#1|87#18|61#1,16#1888|20#1|87#18|61#1,,,,1006,1,1,1,4,,,1,3,604800,1036799,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+47,,34010003,34020003,34030003,,5,13,6,,16#18|87#1|61#1,16#18|87#1|61#1,,,,1006,1,1,1,1,,,1,3,604800,1036799,1,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100
+48,,34010003,34020003,34030003,,5,13,6,,16#88|87#2|61#1,16#88|87#2|61#1,,,,1006,1,1,1,1,,,1,3,604800,1036799,1,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100
+49,,34010003,34020003,34030003,,5,13,30,,16#488|87#5|61#1,16#488|87#5|61#1,,,,1006,1,1,1,1,,,1,3,604800,1036799,1,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100
+50,,34010003,34020003,34030003,,5,11,198,,16#1980|20#2|87#22|14#500000,16#1980|20#2|87#22|14#500000,,,,1006,1,1,1,0,,,1,3,604800,1036799,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+51,,34010003,34020003,34030003,,5,11,128,,16#1280|81001#2|87#12|14#300000,16#1280|81001#2|87#12|14#300000,,,,1006,6,1,1,0,,,1,3,604800,1036799,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+52,,34010003,34020003,34030003,,5,11,328,,16#3280|21#3|87#25|3#50000,16#3280|21#3|87#25|3#50000,,,,1006,6,1,1,0,,,1,3,604800,1036799,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+53,,34010003,34020003,34030003,,5,11,648,,16#6480|4#1000|87#36|11010#25,16#6480|4#1000|87#36|11010#25,,,,1006,2,1,1,0,,,1,3,604800,1036799,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+54,,34010003,34020003,34030003,,5,12,128,,16#1888|20#1|87#18|61#1,16#1888|20#1|87#18|61#1,,,,1006,1,1,1,4,,,1,3,1209600,1641599,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+55,,34010003,34020003,34030003,,5,13,6,,16#18|87#1|61#1,16#18|87#1|61#1,,,,1006,1,1,1,1,,,1,3,1209601,1641599,1,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100
+56,,34010003,34020003,34030003,,5,13,6,,16#88|87#2|61#1,16#88|87#2|61#1,,,,1006,1,1,1,1,,,1,3,1209602,1641599,1,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100
+57,,34010003,34020003,34030003,,5,13,30,,16#488|87#5|61#1,16#488|87#5|61#1,,,,1006,1,1,1,1,,,1,3,1209603,1641599,1,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100
+58,,34010003,34020003,34030003,,5,11,198,,16#1980|20#2|87#22|14#500000,16#1980|20#2|87#22|14#500000,,,,1006,1,1,1,0,,,1,3,1209604,1641599,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+59,,34010003,34020003,34030003,,5,11,128,,16#1280|81001#2|87#12|14#300000,16#1280|81001#2|87#12|14#300000,,,,1006,6,1,1,0,,,1,3,1209605,1641599,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+60,,34010003,34020003,34030003,,5,11,328,,16#3280|21#3|87#25|3#50000,16#3280|21#3|87#25|3#50000,,,,1006,6,1,1,0,,,1,3,1209606,1641599,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+61,,34010003,34020003,34030003,,5,11,648,,16#6480|4#1000|87#36|11012#25,16#6480|4#1000|87#36|11012#25,,,,1006,2,1,1,0,,,1,3,1209607,1641599,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+62,,34010003,34020003,34030003,,5,12,128,,16#1888|20#1|87#18|61#1,16#1888|20#1|87#18|61#1,,,,1006,1,1,1,4,,,1,3,1814400,2246399,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+63,,34010003,34020003,34030003,,5,13,6,,16#18|87#1|61#1,16#18|87#1|61#1,,,,1006,1,1,1,1,,,1,3,1814400,2246399,1,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100
+64,,34010003,34020003,34030003,,5,13,6,,16#88|87#2|61#1,16#88|87#2|61#1,,,,1006,1,1,1,1,,,1,3,1814400,2246399,1,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100
+65,,34010003,34020003,34030003,,5,13,30,,16#488|87#5|61#1,16#488|87#5|61#1,,,,1006,1,1,1,1,,,1,3,1814400,2246399,1,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100
+66,,34010003,34020003,34030003,,5,11,198,,16#1980|20#2|87#22|14#500000,16#1980|20#2|87#22|14#500000,,,,1006,1,1,1,0,,,1,3,1814400,2246399,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+67,,34010003,34020003,34030003,,5,11,128,,16#1280|81001#2|87#12|14#300000,16#1280|81001#2|87#12|14#300000,,,,1006,6,1,1,0,,,1,3,1814400,2246399,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+68,,34010003,34020003,34030003,,5,11,328,,16#3280|21#3|87#25|3#50000,16#3280|21#3|87#25|3#50000,,,,1006,6,1,1,0,,,1,3,1814400,2246399,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+69,,34010003,34020003,34030003,,5,11,648,,16#6480|4#1000|87#36|11010#25,16#6480|4#1000|87#36|11010#25,,,,1006,2,1,1,0,,,1,3,1814400,2246399,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+70,,34010003,34020003,34030003,,5,12,128,,16#1888|20#1|87#18|61#1,16#1888|20#1|87#18|61#1,,,,1006,1,1,1,4,,,1,3,2419200,2851199,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+71,,34010003,34020003,34030003,,5,13,6,,16#18|87#1|61#1,16#18|87#1|61#1,,,,1006,1,1,1,1,,,1,3,2419200,2851199,1,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100
+72,,34010003,34020003,34030003,,5,13,6,,16#88|87#2|61#1,16#88|87#2|61#1,,,,1006,1,1,1,1,,,1,3,2419200,2851199,1,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100
+73,,34010003,34020003,34030003,,5,13,30,,16#488|87#5|61#1,16#488|87#5|61#1,,,,1006,1,1,1,1,,,1,3,2419200,2851199,1,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100
+74,,34010003,34020003,34030003,,5,11,198,,16#1980|20#2|87#22|14#500000,16#1980|20#2|87#22|14#500000,,,,1006,1,1,1,0,,,1,3,2419200,2851199,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+75,,34010003,34020003,34030003,,5,11,128,,16#1280|81001#2|87#12|14#300000,16#1280|81001#2|87#12|14#300000,,,,1006,6,1,1,0,,,1,3,2419200,2851199,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+76,,34010003,34020003,34030003,,5,11,328,,16#3280|21#3|87#25|3#50000,16#3280|21#3|87#25|3#50000,,,,1006,6,1,1,0,,,1,3,2419200,2851199,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+77,,34010003,34020003,34030003,,5,11,648,,16#6480|4#1000|87#36|11012#25,16#6480|4#1000|87#36|11012#25,,,,1006,2,1,1,0,,,1,3,2419200,2851199,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+13,,34010003,34020003,34030003,,5,5,198,,52#1|16#1980|6#3|5#500,6029#1|6030#1|6031#1|6032#1|16#1980|6#3|5#500,,,,1006,1,1,1,0,,,1,3,99999999999,99999999999,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+14,,34010003,34020003,34030003,,5,5,198,,51#1|16#1980|6#3|5#500,6013#1|6014#1|6015#1|6016#1|16#1980|6#3|5#500,,,,1006,1,1,1,0,,,1,3,99999999999,99999999999,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+15,,34010003,34020003,34030003,,5,5,198,,57#1|16#1980|6#3|5#500,6025#1|6026#1|6027#1|6028#1|16#1980|6#3|5#500,,,,1006,1,1,1,0,,,1,3,99999999999,99999999999,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+16,,34010003,34020003,34030003,,5,5,198,,59#1|16#1980|6#3|5#500,6021#1|6022#1|6023#1|6024#1|16#1980|6#3|5#500,,,,1006,1,1,1,0,,,1,3,99999999999,99999999999,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+17,,34010003,34020003,34030003,,5,5,198,,52#1|16#1980|6#3|5#500,6029#1|6030#1|6031#1|6032#1|16#1980|6#3|5#500,,,,1006,1,1,1,0,,,1,3,99999999999,99999999999,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+18,,34010003,34020003,34030003,,5,5,198,,51#1|16#1980|6#3|5#500,6013#1|6014#1|6015#1|6016#1|16#1980|6#3|5#500,,,,1006,1,1,1,0,,,1,3,99999999999,99999999999,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+19,,34010003,34020003,34030003,,5,5,198,,57#1|16#1980|6#3|5#500,6025#1|6026#1|6027#1|6028#1|16#1980|6#3|5#500,,,,1006,1,1,1,0,,,1,3,99999999999,99999999999,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+20,,34010003,34020003,34030003,,5,5,198,,59#1|16#1980|6#3|5#500,6021#1|6022#1|6023#1|6024#1|16#1980|6#3|5#500,,,,1006,1,1,1,0,,,1,3,99999999999,99999999999,,,,,1#999,,,,2,,1#999#999|4#0#0,,100#100#100#100
+251,,34010003,34020003,34030003,,5,21,68,,16#680|20#2|19#6|72001#100|60#12,16#680|20#2|19#6|72001#100|60#12,,,,1006,0,0,1,0,3#0#30#4,,1,3,0,0,,,,,999#999,,,,4,,1#999#999|4#0#0,,100#100#100#100#100
+252,,34010003,34020003,34030003,,5,21,128,,16#1280|20#4|19#15|72001#150|14#15000000,16#1280|20#4|19#15|72001#150|14#15000000,,,,1006,0,0,1,0,3#31#77#4,,1,3,0,0,,,,,999#999,,,,4,,1#999#999|4#0#0,,100#100#100#100#100
+253,,34010003,34020003,34030003,,5,21,328,,16#3280|20#6|19#25|72001#200|66#3000,16#3280|20#6|19#25|72001#200|66#3000,,,,1006,0,0,1,0,3#78#120#4,,1,3,0,0,,,,,999#999,,,,4,,1#999#999|4#0#0,,100#100#100#100#100
+254,,34010003,34020003,34030003,,5,21,448,,16#4480|20#10|19#32|72001#200|14#30000000,16#4480|20#10|19#32|72001#200|14#30000000,,,,1006,0,0,1,0,3#121#150#4,,1,3,0,0,,,,,999#999,,,,4,,1#999#999|4#0#0,,100#100#100#100#100
+255,,34010003,34020003,34030003,,5,21,648,,16#6480|20#16|19#40|99001#1|99002#1,16#6480|20#16|19#40|99001#1|99002#1,,,,1006,0,0,1,0,3#151#9999999#4,,1,3,0,0,,,,,999#999,,,,4,,1#999#999|4#0#0,,100#100#100#100#100
+21,,34010003,34020003,34030003,,5,8,30,,16#300|14#1800000|3#1080000|4#360,16#300|14#1800000|3#1080000|4#360,,,,1006,0,0,1,0,4#0#30#2,,1,3,0,0,7,,,,999#999,,,,4,,1#999#999|4#0#14400,,100#100#100#100
+400,,34010003,34020003,34030003,,5,8,68,,16#680|14#3400000|3#2040000|4#680,16#680|14#3400000|3#2040000|4#680,,,,1006,0,0,1,0,4#31#47#2,,1,3,0,0,7,,,,999#999,,,,4,,1#999#999|4#0#14400,,100#100#100#100
+401,,34010003,34020003,34030003,,5,8,128,,16#1280|14#9600000|3#3200000|4#1280,16#1280|14#9600000|3#3200000|4#1280,,,,1006,0,0,1,0,4#48#77#2,,1,3,0,0,7,,,,999#999,,,,4,,1#999#999|4#0#14400,,100#100#100#100
+402,,34010003,34020003,34030003,,5,8,328,,16#3280|14#24600000|3#8200000|4#3280,16#3280|14#24600000|3#8200000|4#3280,,,,1006,0,0,1,0,4#78#9999999#2,,1,3,0,0,7,,,,999#999,,,,4,,1#999#999|4#0#14400,,100#100#100#100
+9,,34010003,34020003,34030003,,1,1,12,,16#300|80001#1,16#300|80001#1,30,1#999,16#100,507#1006,0,,1,4,2#1#24,1,1,4,0,0,,,,,1#999,,,,1,,1#999#999|4#0#0,,100#100
+10,,34010003,34020003,34030003,,1,1,30,,16#300|80001#1,16#300|80001#1,30,1#999,16#100,507#1006,0,,1,0,,2,1,,,,,,,,1#999,,,,1,,1#999#999|4#0#0,,100#100
+11,,34010003,34020003,34030003,,6,6,98,,16#980|80002#1,16#980|80002#1,30,1#45|46#60|61#999,"81109#1|16#300,81110#1|16#300,81111#1|16#300",506#1006,0,,1,0,,,1,,,,,,,,1#999,,,,1,,1#999#999|4#0#0,,100#100
+12,,34010003,34020003,34030003,,7,7,30,,,,7,,2#19#1|2#16#88|1#14#8888,1006,1,1,1,0,0,1,1,1,20291010 100000,20291020 100000,,,,,1#999,,,,1,,1#999#999|4#0#0,,
+24,,34010003,34020003,34030003,,5,8,68,,16#680|4#1000|14#800000|3#30000,16#680|4#1000|14#800000|3#30000,,,,1006,0,0,1,0,4#6#2,,1,1,20210101 000000,20210101 000001,,,,,999#999,,,,4,,1#999#999|4#0#0,,100#100#100#100
+25,,34010003,34020003,34030003,,5,8,128,,16#1280|4#1500|14#1200000|3#50000,16#1280|4#1500|14#1200000|3#50000,,,,1006,0,0,1,0,4#7#2,,1,1,20210101 000000,20210101 000001,,,,,999#999,,,,4,,1#999#999|4#0#0,,100#100#100#100
+26,,34010003,34020003,34030003,,5,8,328,,16#3280|4#3000|14#1800000|3#140000,16#3280|4#3000|14#1800000|3#140000,,,,1006,0,0,1,0,4#8#2,,1,1,20210101 000000,20210101 000001,,,,,999#999,,,,4,,1#999#999|4#0#0,,100#100#100#100
+27,,34010003,34020003,34030003,,5,8,388,,16#3980|4#4000|14#2400000|3#260000,16#3980|4#4000|14#2400000|3#260000,,,,1006,0,0,1,0,4#9#2,,1,1,20210101 000000,20210101 000001,,,,,999#999,,,,4,,1#999#999|4#0#0,,100#100#100#100
+28,,34010003,34020003,34030003,,5,8,448,,16#4480|4#5000|14#3000000|3#350000,16#4480|4#5000|14#3000000|3#350000,,,,1006,0,0,1,0,4#10#2,,1,1,20210101 000000,20210101 000001,,,,,999#999,,,,4,,1#999#999|4#0#0,,100#100#100#100
+29,,34010003,34020003,34030003,,5,8,448,,16#4480|4#5000|14#3000000|3#350000,16#4480|4#5000|14#3000000|3#350000,,,,1006,0,0,1,0,4#11#2,,1,1,20210101 000000,20210101 000001,,,,,999#999,,,,4,,1#999#999|4#0#0,,100#100#100#100
+30,,34010003,34020003,34030003,,5,8,448,,16#4480|4#5000|14#3000000|3#350000,16#4480|4#5000|14#3000000|3#350000,,,,1006,0,0,1,0,4#12#2,,1,1,20210101 000000,20210101 000001,,,,,999#999,,,,4,,1#999#999|4#0#0,,100#100#100#100
+31,,34010003,34020003,34030003,,5,8,648,,16#6480|4#8000|14#5000000|3#800000,16#6480|4#8000|14#5000000|3#800000,,,,1006,0,0,1,0,4#13#2,,1,1,20210101 000000,20210101 000001,,,,,999#999,,,,4,,1#999#999|4#0#0,,100#100#100#100
+32,,34010003,34020003,34030003,,5,8,648,,16#6480|4#8000|14#5000000|3#800000,16#6480|4#8000|14#5000000|3#800000,,,,1006,0,0,1,0,4#14#2,,1,1,20210101 000000,20210101 000001,,,,,999#999,,,,4,,1#999#999|4#0#0,,100#100#100#100
+7000,,34010003,34020003,34030003,,5,25,68,,16#50,16#50,,,,1006,0,0,1,0,3#0#30#4,,1,3,0,0,,,,,999#999,,,,4,,1#999#999|4#0#0,,100
+7001,,34010003,34020003,34030003,,5,25,128,,16#300,16#300,,,,1006,0,0,1,0,3#31#77#4,,1,3,0,0,,,,,999#999,,,,4,,1#999#999|4#0#0,,100
+7002,,34010003,34020003,34030003,,5,25,328,,16#680,16#680,,,,1006,0,0,1,0,3#78#120#4,,1,3,0,0,,,,,999#999,,,,4,,1#999#999|4#0#0,,100
+7003,,34010003,34020003,34030003,,5,25,448,,16#1280,16#1280,,,,1006,0,0,1,0,3#121#150#4,,1,3,0,0,,,,,999#999,,,,4,,1#999#999|4#0#0,,100
+7004,,34010003,34020003,34030003,,5,25,648,,16#3280,16#3280,,,,1006,0,0,1,0,3#151#9999999#4,,1,3,0,0,,,,,999#999,,,,4,,1#999#999|4#0#0,,100
+7100,,34010003,34020003,34030003,,5,26,68,,16#680,16#680,,,,1006,0,0,1,0,3#0#30#4,,1,3,0,0,,,,,999#999,,,,4,,1#999#999|4#0#0,,100
+7101,,34010003,34020003,34030003,,5,26,128,,16#1280,16#1280,,,,1006,0,0,1,0,3#31#77#4,,1,3,0,0,,,,,999#999,,,,4,,1#999#999|4#0#0,,100
+7102,,34010003,34020003,34030003,,5,26,328,,16#3280,16#3280,,,,1006,0,0,1,0,3#78#120#4,,1,3,0,0,,,,,999#999,,,,4,,1#999#999|4#0#0,,100
+7103,,34010003,34020003,34030003,,5,26,448,,16#4480,16#4480,,,,1006,0,0,1,0,3#121#150#4,,1,3,0,0,,,,,999#999,,,,4,,1#999#999|4#0#0,,100
+7104,,34010003,34020003,34030003,,5,26,648,,16#6480,16#6480,,,,1006,0,0,1,0,3#151#9999999#4,,1,3,0,0,,,,,999#999,,,,4,,1#999#999|4#0#0,,100
+8000,,34010003,34020003,34030003,,5,27,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,999#999,,,,4,,1#999#999|4#0#0,,100
+8001,,34010003,34020003,34030003,,5,27,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,999#999,,,,4,,1#999#999|4#0#0,,100
+8003,,34010003,34020003,34030003,,5,27,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,999#999,,,,4,,1#999#999|4#0#0,,100
+9000,,34010003,34020003,34030003,,5,28,328,,16#3280,16#3280,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,999#999,,,,4,,1#999#999|4#0#0,,100
+9001,,34010003,34020003,34030003,,5,28,328,,16#3280,16#3280,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,999#999,,,,4,,1#999#999|4#0#0,,100
+1,,34010254,34020254,34030254,101,3,3,6,16#60,16#60,16#60,,,,1006,0,,1,0,,,1,3,,,,,,,1#999,,,,1,,2#36|4#0#0,,100
+2,,34010255,34020255,34030254,102,3,3,30,16#300,16#300,16#300,,,,1006,0,,1,0,,,1,3,,,,,,,1#999,,,,1,,2#36|4#0#0,,100
+3,,34010256,34020256,34030254,103,3,3,98,16#980,16#980,16#980,,,,1006,0,,1,0,,,1,3,,,,,,,1#999,,,,1,,2#36|4#0#0,,100
+4,,34010257,34020257,34030254,104,3,3,198,16#1980,16#1980,16#1980,,,,1006,0,,1,0,,,1,3,,,,,,,1#999,,,,1,,2#36|4#0#0,,100
+5,,34010258,34020258,34030254,105,3,3,328,16#3280,16#3280,16#3280,,,,1006,0,,1,0,,,1,3,,,,,,,1#999,,,,1,,2#36|4#0#0,,100
+6,,34010259,34020259,34030254,106,3,3,648,16#6480,16#6480,16#6480,,,,1006,0,,1,0,,,1,3,,,,,,,1#999,,,,1,,2#36|4#0#0,,100
+78,,34010260,34020260,34030260,,8,10,128,,16#1280|6000124#1280,16#25600,3650,,,1006,1,1,1,0,,,1,3,0,0,3650,,,,1#79,,,,3,,1#1#79|4#0#0,,100#100
+79,,34010261,34020261,34030260,,9,10,328,,16#3280|6000124#3280,16#65600,3650,,,1006,1,1,1,0,,,1,3,0,0,3650,,,,1#79,,,,3,,1#1#79|4#0#0,,100#100
+7801,,34010260,34020260,34030260,,8,10,128,,16#1280|6000124#1280,16#25600,3650,,,1006,1,1,1,0,,,1,3,0,0,3650,,,,80#104,,,,3,,1#80#104|4#0#0,,100#100
+7901,,34010261,34020261,34030260,,9,10,328,,16#3280|6000124#3280,16#65600,3650,,,1006,1,1,1,0,,,1,3,0,0,3650,,,,80#104,,,,3,,1#80#104|4#0#0,,100#100
+7802,,34010260,34020260,34030260,,8,10,128,,16#1280|6000124#1280,16#25600,3650,,,1006,1,1,1,0,,,1,3,0,0,3650,,,,105#999,,,,3,,1#105#999|4#0#0,,100#100
+7902,,34010261,34020261,34030260,,9,10,328,,16#3280|6000124#3280,16#65600,3650,,,1006,1,1,1,0,,,1,3,0,0,3650,,,,105#999,,,,3,,1#105#999|4#0#0,,100#100
+1001,,34010266,34020266,34030260,,5,14,6,,16#120|6000124#60|19#1|80#2|3#100000,16#60|6000124#60|19#1|80#2|3#100000,,,,1006,1,1,1,0,,,1,3,0,0,1,488,,,1#999,,,,1,,4#0#0,,100#100#100#100#100
+1002,,34010267,34020267,34030260,,5,14,12,,16#240|6000124#120|96#3|19#2|80#3|200010#100,16#120|6000124#120|96#3|19#2|80#3|200010#100,,,,1006,1,1,1,0,,,1,3,0,0,1,1088,,,1#999,,,,1,,4#0#0,,100#100#100#100#100#100
+1003,,34010268,34020268,34030260,,5,14,30,,16#600|6000124#300|96#9|19#3|60#6|200010#250,16#300|6000124#300|96#9|19#3|60#6|200010#250,,,,1006,1,1,1,0,,,1,3,0,0,1,2888,,,1#999,,,,1,,4#0#0,,100#100#100#100#100#100
+1005,,34010269,34020269,34030260,,5,14,68,,16#1360|6000124#680|96#18|19#6|60#12|200010#600,16#680|6000124#680|96#18|19#6|60#12|200010#600,,,,1006,1,1,1,0,,,1,3,0,0,1,5888,,,1#999,,,,1,,4#0#0,,100#100#100#100#100#100
+1004,,34010270,34020270,34030260,,5,999,98,,16#2320|6000124#980|96#30|19#12|200010#950|80#5|60#18|3#100000,16#2320|6000124#980|96#30|19#12|200010#950|80#5|60#18|3#100000,,,,1006,1,1,1,0,,,1,3,0,0,1,118,,,1#999,,,,1,,4#0#0,,
+2000,,34010271,34020271,34030260,,5,15,0,,16#30|6001020#2|4#50|60#1,16#30|6001020#2|4#50|60#1,,,,,1,1,0,0,,,0,7,,,7,,,,1#999,,,,1,,1#1#999,,100#100#100#100
+2001,,34010272,34020272,34030260,,5,15,30,,6000124#300|16#300|60402#1|19#5|6000110#200,6000124#300|16#300|60402#1|19#5|6000110#200,,,,1006,3,1,1,0,,,1,7,,,7,2888,,,1#999,,,,1,,1#1#999,,100#100#100#100#100
+2002,,34010273,34020272,34030260,,5,15,68,,6000124#680|16#680|60403#1|19#8|6000110#500,6000124#680|16#680|60403#1|19#8|6000110#500,,,,1006,3,1,1,0,,,1,7,,,7,5888,,,1#999,,,,1,,1#1#999,,100#100#100#100#100
+2003,,34010274,34020272,34030260,,5,15,98,,6000124#980|16#980|60402#4|19#10|6000110#1000,6000124#980|16#980|60402#4|19#10|6000110#1000,,,,1006,3,1,1,0,,,1,7,,,7,8888,,,1#999,,,,1,,1#1#999,,100#100#100#100#100
+2004,,34010275,34020272,34030260,,5,15,128,,6000124#1280|16#1280|72001#150|19#15|14#5000000,6000124#1280|16#1280|72001#150|19#15|14#5000000,,,,1006,3,1,1,0,,,1,7,,,7,10888,,,1#999,,,,1,,1#1#999,,100#100#100#100#100
+2005,,34010276,34020272,34030260,,5,15,128,,6000124#1280|16#1280|17009#100|19#15|6000110#1500,6000124#1280|16#1280|17009#100|19#15|6000110#1500,,,,1006,3,1,1,0,,,1,7,,,7,10888,,,80#999,,,,1,,1#80#999,,100#100#100#100#100
+2006,,34010277,34020272,34030260,,5,15,128,,6000124#1280|16#1280|6000095#50|19#15|6000110#1500,6000124#1280|16#1280|6000095#50|19#15|6000110#1500,,,,1006,3,1,1,0,,,1,7,,,7,10888,,,90#999,,,,1,,1#90#999,,100#100#100#100#100
+2007,,34010277,34020272,34030260,,5,15,128,,16#1280,16#1280,,,,1006,3,1,1,0,,,1,7,,,7,10888,,,999#999,,,,1,,1#999#999,,100
+2008,,34010279,34020272,34030260,,5,15,198,,6000124#1980|16#1980|60402#10|19#20|6000110#2000,6000124#1980|16#1980|60402#10|19#20|6000110#2000,,,,1006,3,1,1,0,,,1,7,,,7,15888,,,1#999,,,,1,,1#1#999,,100#100#100#100#100
+2009,,34010279,34020272,34030260,,5,15,198,,16#1980,16#1980,,,,1006,3,1,1,0,,,1,7,,,7,15888,,,999#999,,,,1,,1#999#999,,100
+2010,,34010279,34020272,34030260,,5,15,198,,16#1980,16#1980,,,,1006,3,1,1,0,,,1,7,,,7,15888,,,999#999,,,,1,,1#999#999,,100
+2011,,34010282,34020272,34030260,,5,15,198,,6000124#1980|16#1980|60403#5|19#20|6000110#2000,6000124#1980|16#1980|60403#5|19#20|6000110#2000,,,,1006,3,1,1,0,,,1,7,,,7,15888,,,1#999,,,,1,,1#1#999,,100#100#100#100#100
+2012,,34010283,34020272,34030260,,5,15,288,,6000124#2880|16#2880|6001026#50|19#25|6000110#2500,6000124#2880|16#2880|6001026#50|19#25|6000110#2500,,,,1006,3,1,1,0,,,1,7,,,7,23888,,,1#999,,,,1,,1#1#999,,100#100#100#100#100
+2013,,34010284,34020272,34030260,,5,15,328,,6000124#3280|16#3280|81004#1|19#30|6000110#3000,6000124#3280|16#3280|81004#1|19#30|6000110#3000,,,,1006,3,1,1,0,,,1,7,,,7,28888,,,1#999,,,,1,,1#1#999,,100#100#100#100#100
+2014,,34010285,34020272,34030260,,5,15,328,,6000124#3280|16#3280|6000089#1|19#30|6000110#3000,6000124#3280|16#3280|6000089#1|19#30|6000110#3000,,,,1006,3,1,1,0,,,1,7,,,7,28888,,,50#999,,,,1,,1#50#999,,100#100#100#100#100
+2015,,34010285,34020272,34030260,,5,15,488,,6000124#4880|16#4880|10423#10|19#40|10425#500,6000124#4880|16#4880|10423#10|19#40|10425#500,,,,1006,3,1,1,0,,,1,7,,,7,38888,,,999#999,,,,1,,1#999#999,,100#100#100#100#100
+2016,,34010287,34020272,34030260,,5,15,488,,6000124#4880|16#4880|60407#1|19#40|6000110#5000,6000124#4880|16#4880|60407#1|19#40|6000110#5000,,,,1006,1,1,1,0,,,1,7,,,7,38888,,,1#999,,,,1,,1#1#999,,100#100#100#100#100
+2017,,34010288,34020272,34030260,,5,15,648,,6000124#6480|16#6480|20#10|19#50|61#10,6000124#6480|16#6480|20#10|19#50|61#10,,,,1006,1,1,1,0,,,1,7,,,7,48888,,,20#999,,,,1,,1#20#999,,100#100#100#100#100
+3000,,34010289,34020289,34030260,,5,16,0,,16#50|81112#1|6001020#5|4#50,16#50|81112#1|6001020#5|4#50,,,,,1,1,0,0,,,0,8,,,30,,,,1#999,,,,1,,1#1#999,,100#100#100#100
+3001,,34010290,34020290,34030260,,5,16,30,,6000124#300|16#300|81113#3|19#5|4#500,6000124#300|16#300|81113#3|19#5|4#500,,,,1006,1,1,1,0,,,1,8,,,30,3888,,,1#999,,,,1,,1#1#999,,100#100#100#100#100
+3002,,34010291,34020290,34030260,,5,16,68,,6000124#680|16#680|81113#6|19#8|4#1000,6000124#680|16#680|81113#6|19#8|4#1000,,,,1006,3,1,1,0,,,1,8,,,30,6888,,,1#999,,,,1,,1#1#999,,100#100#100#100#100
+3003,,34010292,34020290,34030260,,5,16,128,,6000124#1280|16#1280|20#3|19#10|6000110#2000,6000124#1280|16#1280|20#3|19#10|6000110#2000,,,,1006,3,1,1,0,,,1,8,,,30,12888,,,1#999,,,,1,,1#1#999,,100#100#100#100#100
+3004,,34010293,34020290,34030260,,5,16,198,,6000124#1980|16#1980|20#5|19#15|14#10000000,6000124#1980|16#1980|20#5|19#15|14#10000000,,,,1006,3,1,1,0,,,1,8,,,30,19888,,,1#999,,,,1,,1#1#999,,100#100#100#100#100
+3005,,34010294,34020290,34030260,,5,16,288,,6000124#2880|16#2880|20#8|19#20|14#15000000,6000124#2880|16#2880|20#8|19#20|14#15000000,,,,1006,3,1,1,0,,,1,8,,,30,29888,,,1#999,,,,1,,1#1#999,,100#100#100#100#100
+3006,,34010295,34020290,34030260,,5,16,328,,6000124#3280|16#3280|20#8|19#20|6001024#50,6000124#3280|16#3280|20#8|19#20|6001024#50,,,,1006,2,1,1,0,,,1,8,,,30,32888,,,1#999,,,,1,,1#1#999,,100#100#100#100#100
+3007,,34010296,34020290,34030260,,5,16,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,8,,,30,32888,,,999#999,,,,1,,1#999#999,,100
+3008,,34010297,34020290,34030260,,5,16,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,8,,,30,32888,,,999#999,,,,1,,1#999#999,,100
+3009,,34010298,34020290,34030260,,5,16,648,,16#6480,16#6480,,,,1006,1,1,1,0,,,1,8,,,30,32888,,,999#999,,,,1,,1#999#999,,100
+3010,,34010296,34020290,34030260,,5,16,328,,6000124#3280|16#3280|20#8|19#20|6001025#50,6000124#3280|16#3280|20#8|19#20|6001025#50,,,,1006,1,1,1,0,,,1,8,,,30,32888,,,1#999,,,,1,,1#1#999,,100#100#100#100#100
+4000,,34010300,34020300,34030260,5002,5,17,12,,6000124#120|19#10|4#200|14#50000,6000124#120|19#10|4#200|14#50000,,,,1006,1,1,1,0,,,1,5,0,0,7,2288,,1,1#49,,,1,1,,1#1#49,,100#100#100#100
+4001,,34010301,34020301,34030260,5003,5,17,30,,6000124#300|20#3|16#300|4#500|14#500000,6000124#300|20#3|16#300|4#500|14#500000,,,,1006,1,1,1,0,,,1,5,0,0,7,8888,,2,1#999,,,1,1,,1#1#999,,100#100#100#100#100
+4002,,34010302,34020302,34030260,5004,5,17,68,,6000124#680|88#1|16#680|19#10|4#1000,6000124#680|88#1|16#680|19#10|4#1000,,,,33#34#1006,1,1,1,0,,,1,5,0,0,30,4888,,3,1#999,,,1,1,,1#1#999,,100#100#100#100#100
+4003,,34010303,34020303,34030260,5003,5,17,30,,6000124#300|82001#1|20#2|4#800,6000124#300|82001#1|20#2|4#800,,,,1006#70002,1,1,1,0,,,1,5,0,0,30,5888,,4,80#999,,,1,1,,1#80#999,,100#100#100#100
+4004,,34010304,34020304,34030260,5003,5,17,30,,6000124#300|100#1|10423#2|10428#2,6000124#300|100#1|10423#2|10428#2,,,,1006#60002,1,1,1,0,,,1,5,0,0,30,5888,,5,999#999,,,1,1,,1#999#999,,100#100#100#100
+4005,,34010305,34020305,34030260,5002,5,17,30,,16#300,16#300,,,,1006,1,1,1,0,,,1,5,0,0,30,5888,,6,999#999,,,1,1,,1#999#999,,100
+5001,,34010306,34020306,34030260,,11,18,198,,6000124#1980|16#1980|80008#1|20008#1|4#1980|61#5|68#10000,6000124#1980|16#1980|80008#1|20008#1|4#1980|61#5|68#10000,,,,1006#1007,1,1,1,0,,,1,3,,,28,32888,,,1#79,,,,3,,1#1#79|4#0#0,,100#100#100#100#100#100#100
+5002,,34010306,34020306,34030260,,11,18,198,,6000124#1980|16#1980|80008#1|20008#1|72001#198|61#5|68#10000,6000124#1980|16#1980|80008#1|20008#1|72001#198|61#5|68#10000,,,,1006#1007,1,1,1,0,,,1,3,,,28,32888,,,80#104,,,,3,,1#80#104|4#0#0,,100#100#100#100#100#100#100
+5003,,34010306,34020306,34030260,,11,18,198,,6000124#1980|16#1980|80008#1|20008#1|6000110#1980|61#5|68#10000,6000124#1980|16#1980|80008#1|20008#1|6000110#1980|61#5|68#10000,,,,1006#1007,1,1,1,0,,,1,3,,,28,32888,,,105#999,,,,3,,1#105#999|4#0#0,,100#100#100#100#100#100#100
+101,,34010309,34020309,34030260,,4,4,98,,,,,,,1006,1,1,1,0,,,0,2,,,9999,,,,1#999,,,,2,,3#6|4#0#0,,
+102,,34010310,34020309,34030260,,4,4,98,,,,,,,1006,1,1,1,0,,,0,2,,,9999,,,,1#999,,,,2,,3#601|4#0#0,,
+103,,34010311,34020309,34030260,,4,4,98,,,,,,,1006,1,1,1,0,,,0,2,,,9999,,,,1#999,,,,2,,3#602|4#0#0,,
+104,,34010312,34020309,34030260,,4,4,98,,,,,,,1006,1,1,1,0,,,0,2,,,9999,,,,1#999,,,,2,,3#603|4#0#0,,
+105,,34010313,34020309,34030260,,4,4,98,,,,,,,1006,1,1,1,0,,,0,2,,,9999,,,,1#999,,,,2,,3#604|4#0#0,,
+106,,34010314,34020314,34030260,,12,19,198,,16#1980,,,,,1006,1,1,1,0,,,1,3,,,45,,1000011,1000011,1#999,,,,3,,1#999#999|4#0#0,,100
+201,,34010315,34020315,34030260,,5,20,68,,6000124#680|16#680|19#15|4#1000|3#3000000,6000124#680|16#680|19#15|4#1000|3#3000000,,,,1006,1,1,1,2,2#1#999999,,1,3,0,0,7,,,,1#999,,,,1,,1#1#999|4#0#0,,100#100#100#100#100
+202,,34010316,34020316,34030260,,5,20,30,,6000124#300|16#300|18101#10|4#500|14#1000000,6000124#300|16#300|18101#10|4#500|14#1000000,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,50#999,,,,1,,1#50#999|4#0#0,,100#100#100#100#100
+203,,34010317,34020317,34030260,,5,20,30,,6000124#300|16#300|19#5|60409#2|14#1000000,6000124#300|16#300|19#5|60409#2|14#1000000,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,1#79,,,,1,,1#1#79|4#0#0,,100#100#100#100#100
+204,,34010317,34020317,34030260,,5,20,30,,6000124#300|16#300|19#5|60410#2|14#1000000,6000124#300|16#300|19#5|60410#2|14#1000000,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,80#999,,,,1,,1#80#999|4#0#0,,100#100#100#100#100
+205,,34010317,34020317,34030260,,5,20,30,,6000124#300|16#300|19#5|60418#2|14#1000000,6000124#300|16#300|19#5|60418#2|14#1000000,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,999#999,,,,1,,1#999#999|4#0#0,,100#100#100#100#100
+206,,34010317,34020317,34030260,,5,20,30,,16#300,16#300,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,999#999,,,,1,,1#999#999|4#0#0,,100
+207,,34010317,34020317,34030260,,5,20,68,,6000124#680|16#680|19#8|60409#5|14#3000000,6000124#680|16#680|19#8|60409#5|14#3000000,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,1#79,,,,1,,1#1#79|4#0#0,,100#100#100#100#100
+208,,34010317,34020317,34030260,,5,20,68,,6000124#680|16#680|19#8|60410#5|14#3000000,6000124#680|16#680|19#8|60410#5|14#3000000,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,80#999,,,,1,,1#80#999|4#0#0,,100#100#100#100#100
+209,,34010317,34020317,34030260,,5,20,68,,6000124#680|16#680|19#8|60418#5|14#3000000,6000124#680|16#680|19#8|60418#5|14#3000000,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,999#999,,,,1,,1#999#999|4#0#0,,100#100#100#100#100
+210,,34010317,34020317,34030260,,5,20,68,,16#680,16#680,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,999#999,,,,1,,1#999#999|4#0#0,,100
+211,,34010317,34020317,34030260,,5,20,68,,16#680,16#680,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,999#999,,,,1,,1#999#999|4#0#0,,100
+212,,34010317,34020317,34030260,,5,20,68,,16#680,16#680,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,999#999,,,,1,,1#999#999|4#0#0,,100
+213,,34010327,34020327,34030260,,5,20,98,,6000124#980|16#980|14#30000000|14#20000000|14#10000000,6000124#980|16#980|14#30000000|14#20000000|14#10000000,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,1#999,,,,1,,1#1#999|4#0#0,,100#100#100#100#100
+214,,34010328,34020328,34030260,,5,20,98,,6000124#980|16#980|3#15000000|3#10000000|3#5000000,6000124#980|16#980|3#15000000|3#10000000|3#5000000,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,1#999,,,,1,,1#1#999|4#0#0,,100#100#100#100#100
+215,,34010329,34020304,34030260,,5,20,128,,16#1280,16#1280,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,999#999,,,,1,,1#999#999|4#0#0,,100
+216,,34010330,34020330,34030260,,5,20,128,,6000124#1280|16#1280|72001#300|72002#50|14#8000000,6000124#1280|16#1280|72001#300|72002#50|14#8000000,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,1#999,,,,1,,1#1#999|4#0#0,,100#100#100#100#100
+217,,34010331,34020331,34030260,,5,20,128,,6000124#1280|16#1280|17011#50|17009#300|14#8000000,6000124#1280|16#1280|17011#50|17009#300|14#8000000,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,80#999,,,,1,,1#80#999|4#0#0,,100#100#100#100#100
+218,,34010332,34020332,34030260,,5,20,128,,6000124#1280|16#1280|6000092#150|6000097#15|6000098#30,6000124#1280|16#1280|6000092#150|6000097#15|6000098#30,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,90#999,,,,1,,1#90#999|4#0#0,,100#100#100#100#100
+219,,34010329,34020304,34030260,,5,20,128,,16#1280,16#1280,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,999#999,,,,1,,1#999#999|4#0#0,,100
+220,,34010334,34020334,34030260,,5,20,198,,6000124#1980|16#1980|10422#3|10428#3|10425#300,6000124#1980|16#1980|10422#3|10428#3|10425#300,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,999#999,,,,1,,1#999#999|4#0#0,,100#100#100#100#100
+221,,34010335,34020335,34030260,,5,20,198,,6000124#1980|16#1980|20#10|200010#2000|3#10000000,6000124#1980|16#1980|20#10|200010#2000|3#10000000,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,1#999,,,,1,,1#1#999|4#0#0,,100#100#100#100#100
+222,,34010329,34020304,34030260,,5,20,198,,16#1980,16#1980,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,999#999,,,,1,,1#999#999|4#0#0,,100
+223,,34010329,34020304,34030260,,5,20,328,,16#3280,16#3280,,,,1006,1,1,1,2,2#1#999999,,1,3,0,0,7,,,,999#999,,,,1,,1#999#999|4#0#0,,100
+224,,34010338,34020338,34030260,,5,20,328,,6000124#3280|16#3280|6000110#10000|72001#600|72002#100,6000124#3280|16#3280|6000110#10000|72001#600|72002#100,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,1#999,,,,1,,1#1#999|4#0#0,,100#100#100#100#100
+225,,34010339,34020339,34030260,,5,20,328,,6000124#3280|16#3280|20#10|18102#10|6001020#50,6000124#3280|16#3280|20#10|18102#10|6001020#50,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,50#999,,,,1,,1#50#999|4#0#0,,100#100#100#100#100
+226,,34010340,34020340,34030260,,5,20,648,,6000124#6480|16#6480|20#40|14#20000000|3#10000000,6000124#6480|16#6480|20#40|14#20000000|3#10000000,,,,1006,3,1,1,2,2#1#999999,,1,3,0,0,7,,,,1#999,,,,1,,1#1#999|4#0#0,,100#100#100#100#100
+300,,34010341,34020341,34030260,,5,22,98,,6000124#980|16#980|87#10|20#2|81114#1,6000124#980|16#980|87#10|20#2|81114#1,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#20003,,100#100#100#100#100
+301,,34010342,34020342,34030260,,5,22,198,,6000124#1980|16#1980|87#20|20#4|60415#1,6000124#1980|16#1980|87#20|20#4|60415#1,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#20003,,100#100#100#100#100
+302,,34010343,34020343,34030260,,5,22,328,,6000124#3280|16#3280|87#35|6001026#50|60416#1,6000124#3280|16#3280|87#35|6001026#50|60416#1,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#20003,,100#100#100#100#100
+303,,34010344,34020344,34030260,,5,22,488,,6000124#4880|16#4880|87#50|6000072#50|60408#1,6000124#4880|16#4880|87#50|6000072#50|60408#1,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#20003,,100#100#100#100#100
+314,,34010341,34020341,34030260,,5,22,98,,6000124#980|16#980|87#10|20#2|81114#1,6000124#980|16#980|87#10|20#2|81114#1,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#21003,,100#100#100#100#100
+315,,34010342,34020342,34030260,,5,22,128,,6000124#1280|16#1280|87#15|20#3|60415#1,6000124#1280|16#1280|87#15|20#3|60415#1,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#21003,,100#100#100#100#100
+316,,34010343,34020343,34030260,,5,22,198,,6000124#1980|16#1980|87#20|6001021#50|60416#1,6000124#1980|16#1980|87#20|6001021#50|60416#1,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#21003,,100#100#100#100#100
+317,,34010344,34020344,34030260,,5,22,328,,6000124#3280|16#3280|87#35|6000001#50|60408#1,6000124#3280|16#3280|87#35|6000001#50|60408#1,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#21003,,100#100#100#100#100
+610,,34010341,34020341,34030260,,5,22,98,,6000124#980|16#980|87#10|20#2|81114#1,6000124#980|16#980|87#10|20#2|81114#1,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#22003,,100#100#100#100#100
+611,,34010342,34020342,34030260,,5,22,128,,6000124#1280|16#1280|87#15|20#3|60415#1,6000124#1280|16#1280|87#15|20#3|60415#1,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#22003,,100#100#100#100#100
+612,,34010343,34020343,34030260,,5,22,198,,6000124#1980|16#1980|87#20|6001022#50|60416#1,6000124#1980|16#1980|87#20|6001022#50|60416#1,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#22003,,100#100#100#100#100
+613,,34010344,34020344,34030260,,5,22,328,,6000124#3280|16#3280|87#35|6000021#50|60408#1,6000124#3280|16#3280|87#35|6000021#50|60408#1,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#22003,,100#100#100#100#100
+328,,34010341,34020341,34030260,,5,22,98,,6000124#980|16#980|87#10|20#2|6000110#1500,6000124#980|16#980|87#10|20#2|6000110#1500,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#30003,,100#100#100#100#100
+329,,34010342,34020342,34030260,,5,22,198,,6000124#1980|16#1980|87#20|20#4|6000088#1,6000124#1980|16#1980|87#20|20#4|6000088#1,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#30003,,100#100#100#100#100
+330,,34010343,34020343,34030260,,5,22,328,,6000124#3280|16#3280|87#35|6001026#50|6000110#7500,6000124#3280|16#3280|87#35|6001026#50|6000110#7500,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#30003,,100#100#100#100#100
+331,,34010344,34020344,34030260,,5,22,488,,6000124#4880|16#4880|87#50|6000055#50|6000089#1,6000124#4880|16#4880|87#50|6000055#50|6000089#1,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#30003,,100#100#100#100#100
+342,,34010341,34020341,34030260,,5,22,98,,6000124#980|16#980|87#10|20#2|17009#100,6000124#980|16#980|87#10|20#2|17009#100,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#31003,,100#100#100#100#100
+343,,34010342,34020342,34030260,,5,22,128,,6000124#1280|16#1280|87#15|20#3|17011#80,6000124#1280|16#1280|87#15|20#3|17011#80,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#31003,,100#100#100#100#100
+344,,34010343,34020343,34030260,,5,22,198,,6000124#1980|16#1980|87#20|6001023#50|17012#30,6000124#1980|16#1980|87#20|6001023#50|17012#30,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#31003,,100#100#100#100#100
+345,,34010344,34020344,34030260,,5,22,328,,6000124#3280|16#3280|87#50|6000036#50|6000089#1,6000124#3280|16#3280|87#50|6000036#50|6000089#1,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#31003,,100#100#100#100#100
+356,,34010341,34020341,34030260,,5,22,98,,6000124#980|16#980|87#10|20#2|6000092#150,6000124#980|16#980|87#10|20#2|6000092#150,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#32003,,100#100#100#100#100
+357,,34010342,34020342,34030260,,5,22,198,,6000124#1980|16#1980|87#20|20#4|6000095#100,6000124#1980|16#1980|87#20|20#4|6000095#100,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#32003,,100#100#100#100#100
+358,,34010343,34020343,34030260,,5,22,328,,6000124#3280|16#3280|87#35|6001026#50|6000094#100,6000124#3280|16#3280|87#35|6001026#50|6000094#100,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#32003,,100#100#100#100#100
+359,,34010344,34020344,34030260,,5,22,488,,6000124#4880|16#4880|87#35|6000057#50|17009#500,6000124#4880|16#4880|87#35|6000057#50|17009#500,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#32003,,100#100#100#100#100
+370,,34010341,34020341,34030260,,5,22,98,,6000124#980|16#980|87#10|20#2|10443#50,6000124#980|16#980|87#10|20#2|10443#50,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#33003,,100#100#100#100#100
+371,,34010342,34020342,34030260,,5,22,128,,6000124#1280|16#1280|87#15|20#3|10441#40,6000124#1280|16#1280|87#15|20#3|10441#40,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#33003,,100#100#100#100#100
+372,,34010343,34020343,34030260,,5,22,198,,6000124#1980|16#1980|87#20|6001021#50|10442#25,6000124#1980|16#1980|87#20|6001021#50|10442#25,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#33003,,100#100#100#100#100
+373,,34010344,34020344,34030260,,5,22,328,,6000124#3280|16#3280|87#35|6000002#50|10444#350,6000124#3280|16#3280|87#35|6000002#50|10444#350,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#33003,,100#100#100#100#100
+384,,34010341,34020341,34030260,,5,22,98,,6000124#980|16#980|87#10|20#2|81114#1,6000124#980|16#980|87#10|20#2|81114#1,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#34003,,100#100#100#100#100
+385,,34010342,34020342,34030260,,5,22,128,,6000124#1280|16#1280|87#15|20#3|60415#1,6000124#1280|16#1280|87#15|20#3|60415#1,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#34003,,100#100#100#100#100
+386,,34010343,34020343,34030260,,5,22,198,,6000124#1980|16#1980|87#20|6001022#50|60416#1,6000124#1980|16#1980|87#20|6001022#50|60416#1,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#34003,,100#100#100#100#100
+387,,34010344,34020344,34030260,,5,22,328,,6000124#3280|16#3280|87#35|6000025#50|60408#1,6000124#3280|16#3280|87#35|6000025#50|60408#1,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#34003,,100#100#100#100#100
+500,,34010341,34020341,34030260,,5,22,98,,6000124#980|16#980|87#10|20#2|6000110#1500,6000124#980|16#980|87#10|20#2|6000110#1500,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#35003,,100#100#100#100#100
+501,,34010342,34020342,34030260,,5,22,198,,6000124#1980|16#1980|87#20|20#4|6000088#1,6000124#1980|16#1980|87#20|20#4|6000088#1,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#35003,,100#100#100#100#100
+502,,34010343,34020343,34030260,,5,22,328,,6000124#3280|16#3280|87#35|6001026#50|6000110#7500,6000124#3280|16#3280|87#35|6001026#50|6000110#7500,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#35003,,100#100#100#100#100
+503,,34010344,34020344,34030260,,5,22,488,,6000124#4880|16#4880|87#50|6000073#50|6000089#1,6000124#4880|16#4880|87#50|6000073#50|6000089#1,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#35003,,100#100#100#100#100
+528,,34010341,34020341,34030260,,5,22,98,,6000124#980|16#980|87#10|20#2|17009#100,6000124#980|16#980|87#10|20#2|17009#100,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#36003,,100#100#100#100#100
+529,,34010342,34020342,34030260,,5,22,128,,6000124#1280|16#1280|87#15|20#3|17011#80,6000124#1280|16#1280|87#15|20#3|17011#80,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#36003,,100#100#100#100#100
+530,,34010343,34020343,34030260,,5,22,198,,6000124#1980|16#1980|87#20|6001023#50|17012#30,6000124#1980|16#1980|87#20|6001023#50|17012#30,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#36003,,100#100#100#100#100
+531,,34010344,34020344,34030260,,5,22,328,,6000124#3280|16#3280|87#35|6000046#50|17009#500,6000124#3280|16#3280|87#35|6000046#50|17009#500,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#36003,,100#100#100#100#100
+542,,34010341,34020341,34030260,,5,22,98,,6000124#980|16#980|87#10|20#2|6000092#150,6000124#980|16#980|87#10|20#2|6000092#150,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#37003,,100#100#100#100#100
+543,,34010342,34020342,34030260,,5,22,198,,6000124#1980|16#1980|87#20|20#4|6000095#100,6000124#1980|16#1980|87#20|20#4|6000095#100,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#37003,,100#100#100#100#100
+544,,34010343,34020343,34030260,,5,22,328,,6000124#3280|16#3280|87#35|6001026#50|6000094#100,6000124#3280|16#3280|87#35|6001026#50|6000094#100,,,,1006,6,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#37003,,100#100#100#100#100
+545,,34010344,34020344,34030260,,5,22,488,,6000124#4880|16#4880|87#50|6000071#50|6000092#1500,6000124#4880|16#4880|87#50|6000071#50|6000092#1500,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#37003,,100#100#100#100#100
+507,,34010385,34020385,34030260,,5,23,6,,6000124#60|16#120|1002#1|1004#1,6000124#60|16#120|1002#1|1004#1,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#20005,,100#100#100#100
+508,,34010385,34020385,34030260,,5,23,30,,6000124#300|16#300|1002#5|1004#5,6000124#300|16#300|1002#5|1004#5,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#20005,,100#100#100#100
+509,,34010385,34020385,34030260,,5,23,68,,6000124#680|16#680|1002#8|1004#8|38091#1,6000124#680|16#680|1002#8|1004#8|38091#1,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#20005,,100#100#100#100#100
+510,,34010385,34020385,34030260,,5,23,68,,6000124#680|16#680|1002#8|87#8|38091#1,6000124#680|16#680|1002#8|87#8|38091#1,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#20005,,100#100#100#100#100
+511,,34010385,34020385,34030260,,5,23,128,,6000124#1280|16#1280|1002#20|81004#1|6000110#2000,6000124#1280|16#1280|1002#20|81004#1|6000110#2000,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#20005,,100#100#100#100#100
+512,,34010385,34020385,34030260,,5,23,128,,6000124#1280|16#1280|1002#20|20#2|6000110#2000,6000124#1280|16#1280|1002#20|20#2|6000110#2000,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#20005,,100#100#100#100#100
+513,,34010385,34020385,34030260,,5,23,198,,6000124#1980|16#1980|1002#30|81127#1|6000110#3000,6000124#1980|16#1980|1002#30|81127#1|6000110#3000,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#20005,,100#100#100#100#100
+514,,34010385,34020385,34030260,,5,23,328,,6000124#3280|16#3280|1002#40|20#5|6000110#5000,6000124#3280|16#3280|1002#40|20#5|6000110#5000,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#20005,,100#100#100#100#100
+562,,34010385,34020385,34030260,,5,23,6,,6000124#60|16#60|50002#3|1002#1,6000124#60|16#60|50002#3|1002#1,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#21005,,100#100#100#100
+563,,34010385,34020385,34030260,,5,23,30,,6000124#300|16#300|50002#6|1002#6|87#3,6000124#300|16#300|50002#6|1002#6|87#3,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#21005,,100#100#100#100#100
+564,,34010385,34020385,34030260,,5,23,68,,6000124#680|16#680|50002#12|1002#12|17009#30,6000124#680|16#680|50002#12|1002#12|17009#30,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#21005,,100#100#100#100#100
+565,,34010385,34020385,34030260,,5,23,128,,6000124#1280|16#1280|50002#20|1002#20|17009#80,6000124#1280|16#1280|50002#20|1002#20|17009#80,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#21005,,100#100#100#100#100
+566,,34010385,34020385,34030260,,5,23,198,,6000124#1980|16#1980|50002#30|20#3|17009#100,6000124#1980|16#1980|50002#30|20#3|17009#100,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#21005,,100#100#100#100#100
+567,,34010385,34020385,34030260,,5,23,328,,6000124#3280|16#3280|50002#50|20#5|17011#50,6000124#3280|16#3280|50002#50|20#5|17011#50,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#21005,,100#100#100#100#100
+568,,34010385,34020385,34030260,,5,23,648,,6000124#6480|16#6480|50002#80|20#10|17012#50,6000124#6480|16#6480|50002#80|20#10|17012#50,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#21005,,100#100#100#100#100
+349,,34010385,34020385,34030260,,5,23,6,,6000124#60|16#60|67#20|1002#1|19#1,6000124#60|16#60|67#20|1002#1|19#1,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#22005,,100#100#100#100#100
+350,,34010385,34020385,34030260,,5,23,30,,6000124#300|16#300|67#100|1002#5|19#5,6000124#300|16#300|67#100|1002#5|19#5,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#22005,,100#100#100#100#100
+351,,34010385,34020385,34030260,,5,23,68,,6000124#680|16#680|67#150|1002#10|19#10,6000124#680|16#680|67#150|1002#10|19#10,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#22005,,100#100#100#100#100
+352,,34010385,34020385,34030260,,5,23,128,,6000124#1280|16#1280|67#300|1002#20|19#20,6000124#1280|16#1280|67#300|1002#20|19#20,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#22005,,100#100#100#100#100
+353,,34010385,34020385,34030260,,5,23,198,,6000124#1980|16#1980|67#600|20#3|19#25,6000124#1980|16#1980|67#600|20#3|19#25,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#22005,,100#100#100#100#100
+354,,34010385,34020385,34030260,,5,23,328,,6000124#3280|16#3280|67#800|20#5|19#35,6000124#3280|16#3280|67#800|20#5|19#35,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#22005,,100#100#100#100#100
+355,,34010385,34020385,34030260,,5,23,648,,6000124#6480|16#6480|67#1500|20#10|19#60,6000124#6480|16#6480|67#1500|20#10|19#60,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#22005,,100#100#100#100#100
+363,,34010385,34020385,34030260,,5,23,6,,6000124#60|16#120|1002#1|19#1,6000124#60|16#120|1002#1|19#1,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#30005,,100#100#100#100
+364,,34010385,34020385,34030260,,5,23,30,,6000124#300|16#300|1002#5|19#5,6000124#300|16#300|1002#5|19#5,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#30005,,100#100#100#100
+365,,34010385,34020385,34030260,,5,23,68,,6000124#680|16#680|1002#8|19#8|6000110#1000,6000124#680|16#680|1002#8|19#8|6000110#1000,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#30005,,100#100#100#100#100
+366,,34010385,34020385,34030260,,5,23,68,,6000124#680|16#680|1002#8|87#8|6000110#1000,6000124#680|16#680|1002#8|87#8|6000110#1000,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#30005,,100#100#100#100#100
+367,,34010385,34020385,34030260,,5,23,128,,6000124#1280|16#1280|1002#20|20#2|6000110#2000,6000124#1280|16#1280|1002#20|20#2|6000110#2000,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#30005,,100#100#100#100#100
+368,,34010385,34020385,34030260,,5,23,198,,6000124#1980|16#1980|1002#30|20#3|6000110#3000,6000124#1980|16#1980|1002#30|20#3|6000110#3000,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#30005,,100#100#100#100#100
+369,,34010385,34020385,34030260,,5,23,328,,6000124#3280|16#3280|1002#40|20#5|6000110#5000,6000124#3280|16#3280|1002#40|20#5|6000110#5000,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#30005,,100#100#100#100#100
+549,,34010385,34020385,34030260,,5,23,6,,6000124#60|16#120|1002#1|1004#1,6000124#60|16#120|1002#1|1004#1,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#31005,,100#100#100#100
+550,,34010385,34020385,34030260,,5,23,30,,6000124#300|16#300|1002#5|1004#5,6000124#300|16#300|1002#5|1004#5,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#31005,,100#100#100#100
+551,,34010385,34020385,34030260,,5,23,68,,6000124#680|16#680|1002#8|1004#8|17009#80,6000124#680|16#680|1002#8|1004#8|17009#80,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#31005,,100#100#100#100#100
+552,,34010385,34020385,34030260,,5,23,128,,6000124#1280|16#1280|1002#20|20#2|17009#150,6000124#1280|16#1280|1002#20|20#2|17009#150,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#31005,,100#100#100#100#100
+553,,34010385,34020385,34030260,,5,23,198,,6000124#1980|16#1980|1002#30|20#3|17011#100,6000124#1980|16#1980|1002#30|20#3|17011#100,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#31005,,100#100#100#100#100
+554,,34010385,34020385,34030260,,5,23,328,,6000124#3280|16#3280|1002#40|20#5|17012#40,6000124#3280|16#3280|1002#40|20#5|17012#40,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#31005,,100#100#100#100#100
+377,,34010385,34020385,34030260,,5,23,6,,6000124#60|16#60|50002#3|1002#1,6000124#60|16#60|50002#3|1002#1,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#32005,,100#100#100#100
+378,,34010385,34020385,34030260,,5,23,30,,6000124#300|16#300|50002#6|1002#6|60410#2,6000124#300|16#300|50002#6|1002#6|60410#2,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#32005,,100#100#100#100#100
+379,,34010385,34020385,34030260,,5,23,68,,6000124#680|16#680|50002#12|1002#12|60410#2,6000124#680|16#680|50002#12|1002#12|60410#2,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#32005,,100#100#100#100#100
+380,,34010385,34020385,34030260,,5,23,128,,6000124#1280|16#1280|50002#20|1002#20|60411#2,6000124#1280|16#1280|50002#20|1002#20|60411#2,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#32005,,100#100#100#100#100
+381,,34010385,34020385,34030260,,5,23,198,,6000124#1980|16#1980|50002#30|20#3|60411#3,6000124#1980|16#1980|50002#30|20#3|60411#3,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#32005,,100#100#100#100#100
+382,,34010385,34020385,34030260,,5,23,328,,6000124#3280|16#3280|50002#50|20#5|60412#3,6000124#3280|16#3280|50002#50|20#5|60412#3,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#32005,,100#100#100#100#100
+383,,34010385,34020385,34030260,,5,23,648,,6000124#6480|16#6480|50002#80|20#10|60412#8,6000124#6480|16#6480|50002#80|20#10|60412#8,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#32005,,100#100#100#100#100
+391,,34010385,34020385,34030260,,5,23,6,,6000124#60|16#60|67#20|1002#1|19#1,6000124#60|16#60|67#20|1002#1|19#1,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#33005,,100#100#100#100#100
+392,,34010385,34020385,34030260,,5,23,30,,6000124#300|16#300|67#100|1002#5|19#5,6000124#300|16#300|67#100|1002#5|19#5,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#33005,,100#100#100#100#100
+393,,34010385,34020385,34030260,,5,23,68,,6000124#680|16#680|67#150|1002#10|19#10,6000124#680|16#680|67#150|1002#10|19#10,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#33005,,100#100#100#100#100
+394,,34010385,34020385,34030260,,5,23,128,,6000124#1280|16#1280|67#300|1002#20|19#20,6000124#1280|16#1280|67#300|1002#20|19#20,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#33005,,100#100#100#100#100
+395,,34010385,34020385,34030260,,5,23,198,,6000124#1980|16#1980|67#600|20#3|19#25,6000124#1980|16#1980|67#600|20#3|19#25,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#33005,,100#100#100#100#100
+396,,34010385,34020385,34030260,,5,23,328,,6000124#3280|16#3280|67#800|20#5|19#35,6000124#3280|16#3280|67#800|20#5|19#35,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#33005,,100#100#100#100#100
+397,,34010385,34020385,34030260,,5,23,648,,6000124#6480|16#6480|67#1500|20#10|19#60,6000124#6480|16#6480|67#1500|20#10|19#60,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#33005,,100#100#100#100#100
+307,,34010385,34020385,34030260,,5,23,6,,6000124#60|16#120|1002#1|19#1,6000124#60|16#120|1002#1|19#1,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#34005,,100#100#100#100
+308,,34010385,34020385,34030260,,5,23,30,,6000124#300|16#300|1002#5|19#5,6000124#300|16#300|1002#5|19#5,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#34005,,100#100#100#100
+309,,34010385,34020385,34030260,,5,23,68,,6000124#680|16#680|1002#8|19#8|6000110#1000,6000124#680|16#680|1002#8|19#8|6000110#1000,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#34005,,100#100#100#100#100
+310,,34010385,34020385,34030260,,5,23,68,,6000124#680|16#680|1002#8|87#8|6000110#1000,6000124#680|16#680|1002#8|87#8|6000110#1000,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#34005,,100#100#100#100#100
+311,,34010385,34020385,34030260,,5,23,128,,6000124#1280|16#1280|1002#20|20#2|6000110#2000,6000124#1280|16#1280|1002#20|20#2|6000110#2000,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#34005,,100#100#100#100#100
+312,,34010385,34020385,34030260,,5,23,198,,6000124#1980|16#1980|1002#30|20#3|6000110#3000,6000124#1980|16#1980|1002#30|20#3|6000110#3000,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#34005,,100#100#100#100#100
+313,,34010385,34020385,34030260,,5,23,328,,6000124#3280|16#3280|1002#40|20#5|6000110#5000,6000124#3280|16#3280|1002#40|20#5|6000110#5000,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#34005,,100#100#100#100#100
+590,,34010385,34020385,34030260,,5,23,6,,6000124#60|16#120|1002#1|1004#1,6000124#60|16#120|1002#1|1004#1,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#35005,,100#100#100#100
+591,,34010385,34020385,34030260,,5,23,30,,6000124#300|16#300|1002#5|1004#5,6000124#300|16#300|1002#5|1004#5,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#35005,,100#100#100#100
+592,,34010385,34020385,34030260,,5,23,68,,6000124#680|16#680|1002#8|1004#8|17009#80,6000124#680|16#680|1002#8|1004#8|17009#80,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#35005,,100#100#100#100#100
+593,,34010385,34020385,34030260,,5,23,128,,6000124#1280|16#1280|1002#20|20#2|17009#150,6000124#1280|16#1280|1002#20|20#2|17009#150,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#35005,,100#100#100#100#100
+594,,34010385,34020385,34030260,,5,23,198,,6000124#1980|16#1980|1002#30|20#3|17011#100,6000124#1980|16#1980|1002#30|20#3|17011#100,,,,1006,9,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#35005,,100#100#100#100#100
+595,,34010385,34020385,34030260,,5,23,328,,6000124#3280|16#3280|1002#40|20#5|17012#40,6000124#3280|16#3280|1002#40|20#5|17012#40,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#35005,,100#100#100#100#100
+321,,34010385,34020385,34030260,,5,23,6,,6000124#60|16#60|50002#3|1002#1,6000124#60|16#60|50002#3|1002#1,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#36005,,100#100#100#100
+322,,34010385,34020385,34030260,,5,23,30,,6000124#300|16#300|50002#6|1002#6|19#5,6000124#300|16#300|50002#6|1002#6|19#5,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#36005,,100#100#100#100#100
+323,,34010385,34020385,34030260,,5,23,68,,6000124#680|16#680|50002#12|1002#12|19#10,6000124#680|16#680|50002#12|1002#12|19#10,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#36005,,100#100#100#100#100
+324,,34010385,34020385,34030260,,5,23,128,,6000124#1280|16#1280|50002#20|1002#20|19#20,6000124#1280|16#1280|50002#20|1002#20|19#20,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#36005,,100#100#100#100#100
+325,,34010385,34020385,34030260,,5,23,198,,6000124#1980|16#1980|50002#30|20#3|19#25,6000124#1980|16#1980|50002#30|20#3|19#25,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#36005,,100#100#100#100#100
+326,,34010385,34020385,34030260,,5,23,328,,6000124#3280|16#3280|50002#50|20#5|19#35,6000124#3280|16#3280|50002#50|20#5|19#35,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#36005,,100#100#100#100#100
+327,,34010385,34020385,34030260,,5,23,648,,6000124#6480|16#6480|50002#80|20#10|19#60,6000124#6480|16#6480|50002#80|20#10|19#60,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#36005,,100#100#100#100#100
+335,,34010385,34020385,34030260,,5,23,6,,6000124#60|16#60|67#20|1002#1,6000124#60|16#60|67#20|1002#1,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#37005,,100#100#100#100
+336,,34010385,34020385,34030260,,5,23,30,,6000124#300|16#300|67#100|1002#5|60410#2,6000124#300|16#300|67#100|1002#5|60410#2,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#37005,,100#100#100#100#100
+337,,34010385,34020385,34030260,,5,23,68,,6000124#680|16#680|67#150|1002#10|60410#2,6000124#680|16#680|67#150|1002#10|60410#2,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#37005,,100#100#100#100#100
+338,,34010385,34020385,34030260,,5,23,128,,6000124#1280|16#1280|67#300|1002#20|60411#2,6000124#1280|16#1280|67#300|1002#20|60411#2,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#37005,,100#100#100#100#100
+339,,34010385,34020385,34030260,,5,23,198,,6000124#1980|16#1980|67#600|20#3|60411#3,6000124#1980|16#1980|67#600|20#3|60411#3,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#37005,,100#100#100#100#100
+340,,34010385,34020385,34030260,,5,23,328,,6000124#3280|16#3280|67#800|20#5|60412#3,6000124#3280|16#3280|67#800|20#5|60412#3,,,,1006,5,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#37005,,100#100#100#100#100
+341,,34010385,34020385,34030260,,5,23,648,,6000124#6480|16#6480|67#1500|20#10|60412#8,6000124#6480|16#6480|67#1500|20#10|60412#8,,,,1006,1,1,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#37005,,100#100#100#100#100
+6001,,34010461,34020461,34030260,,5,24,6,,6000124#60|16#60|19#2|4#200,6000124#60|16#60|19#2|4#200,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6000,,100#100#100#100
+6002,,34010462,34020462,34030260,,5,24,12,,6000124#120|16#120|19#3|81002#1,6000124#120|16#120|19#3|81002#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6000,,100#100#100#100
+6003,,34010463,34020463,34030260,,5,24,30,,6000124#300|16#300|19#5|6001020#50,6000124#300|16#300|19#5|6001020#50,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6000,,100#100#100#100
+6004,,34010461,34020461,34030260,,5,24,12,,6000124#120|16#120|19#3|81002#1,6000124#120|16#120|19#3|81002#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6001,,100#100#100#100
+6005,,34010462,34020462,34030260,,5,24,18,,6000124#180|16#180|19#5|67#80,6000124#180|16#180|19#5|67#80,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6001,,100#100#100#100
+6006,,34010463,34020463,34030260,,5,24,30,,6000124#300|16#300|19#5|99005#1,6000124#300|16#300|19#5|99005#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6001,,100#100#100#100
+6007,,34010461,34020461,34030260,,5,24,12,,6000124#120|16#120|19#3|81002#1,6000124#120|16#120|19#3|81002#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6002,,100#100#100#100
+6008,,34010462,34020462,34030260,,5,24,18,,6000124#180|16#180|19#5|67#80,6000124#180|16#180|19#5|67#80,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6002,,100#100#100#100
+6009,,34010463,34020463,34030260,,5,24,30,,6000124#300|16#300|19#5|6001020#50,6000124#300|16#300|19#5|6001020#50,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6002,,100#100#100#100
+6010,,34010461,34020461,34030260,,5,24,12,,6000124#120|16#120|19#3|81002#1,6000124#120|16#120|19#3|81002#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6003,,100#100#100#100
+6011,,34010462,34020462,34030260,,5,24,18,,6000124#180|16#180|19#5|67#80,6000124#180|16#180|19#5|67#80,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6003,,100#100#100#100
+6012,,34010463,34020463,34030260,,5,24,30,,6000124#300|16#300|19#5|99005#1,6000124#300|16#300|19#5|99005#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6003,,100#100#100#100
+6013,,34010461,34020461,34030260,,5,24,12,,6000124#120|16#120|19#3|67#50,6000124#120|16#120|19#3|67#50,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6004,,100#100#100#100
+6014,,34010462,34020462,34030260,,5,24,18,,6000124#180|16#180|19#4|81003#1,6000124#180|16#180|19#4|81003#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6004,,100#100#100#100
+6015,,34010463,34020463,34030260,,5,24,30,,6000124#300|16#300|19#5|6001020#50,6000124#300|16#300|19#5|6001020#50,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6004,,100#100#100#100
+6016,,34010461,34020461,34030260,,5,24,12,,6000124#120|16#120|19#3|67#50,6000124#120|16#120|19#3|67#50,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6005,,100#100#100#100
+6017,,34010462,34020462,34030260,,5,24,18,,6000124#180|16#180|19#4|81003#1,6000124#180|16#180|19#4|81003#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6005,,100#100#100#100
+6018,,34010463,34020463,34030260,,5,24,30,,6000124#300|16#300|19#5|99005#1,6000124#300|16#300|19#5|99005#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6005,,100#100#100#100
+6019,,34010461,34020461,34030260,,5,24,18,,6000124#180|16#180|19#4|67#80,6000124#180|16#180|19#4|67#80,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6006,,100#100#100#100
+6020,,34010462,34020462,34030260,,5,24,60,,6000124#600|16#600|19#8|60417#1,6000124#600|16#600|19#8|60417#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6006,,100#100#100#100
+6021,,34010463,34020463,34030260,,5,24,198,,6000124#1980|16#1980|20#5|10065#1,6000124#1980|16#1980|20#5|10065#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6006,,100#100#100#100
+6101,,34010461,34020461,34030260,,5,24,12,,6000124#120|16#120|1004#2|1002#2,6000124#120|16#120|1004#2|1002#2,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6010,,100#100#100#100
+6102,,34010462,34020462,34030260,,5,24,18,,6000124#180|16#180|1004#3|87#3,6000124#180|16#180|1004#3|87#3,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6010,,100#100#100#100
+6103,,34010463,34020463,34030260,,5,24,30,,6000124#300|16#300|1004#5|20#1,6000124#300|16#300|1004#5|20#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6010,,100#100#100#100
+6201,,34010461,34020461,34030260,,5,24,12,,6000124#120|16#120|50002#3|1002#2,6000124#120|16#120|50002#3|1002#2,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6011,,100#100#100#100
+6202,,34010462,34020462,34030260,,5,24,18,,6000124#180|16#180|50002#5|87#3,6000124#180|16#180|50002#5|87#3,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6011,,100#100#100#100
+6203,,34010463,34020463,34030260,,5,24,30,,6000124#300|16#300|50002#8|20#1,6000124#300|16#300|50002#8|20#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6011,,100#100#100#100
+6301,,34010461,34020461,34030260,,5,24,12,,6000124#120|16#120|67#80|1002#2,6000124#120|16#120|67#80|1002#2,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6012,,100#100#100#100
+6302,,34010462,34020462,34030260,,5,24,18,,6000124#180|16#180|67#120|87#3,6000124#180|16#180|67#120|87#3,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6012,,100#100#100#100
+6303,,34010463,34020463,34030260,,5,24,30,,6000124#300|16#300|67#200|20#1,6000124#300|16#300|67#200|20#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6012,,100#100#100#100
+6401,,34010461,34020461,34030260,,5,24,12,,6000124#120|16#120|19#2|1002#2,6000124#120|16#120|19#2|1002#2,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6013,,100#100#100#100
+6402,,34010462,34020462,34030260,,5,24,18,,6000124#180|16#180|19#3|87#3,6000124#180|16#180|19#3|87#3,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6013,,100#100#100#100
+6403,,34010463,34020463,34030260,,5,24,30,,6000124#300|16#300|19#5|20#1,6000124#300|16#300|19#5|20#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6013,,100#100#100#100
+6501,,34010461,34020461,34030260,,5,24,12,,6000124#120|16#120|1004#2|1002#2,6000124#120|16#120|1004#2|1002#2,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6014,,100#100#100#100
+6502,,34010462,34020462,34030260,,5,24,18,,6000124#180|16#180|1004#3|87#3,6000124#180|16#180|1004#3|87#3,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6014,,100#100#100#100
+6503,,34010463,34020463,34030260,,5,24,30,,6000124#300|16#300|1004#5|20#1,6000124#300|16#300|1004#5|20#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6014,,100#100#100#100
+6601,,34010461,34020461,34030260,,5,24,12,,6000124#120|16#120|50002#3|1002#2,6000124#120|16#120|50002#3|1002#2,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6015,,100#100#100#100
+6602,,34010462,34020462,34030260,,5,24,18,,6000124#180|16#180|50002#5|87#3,6000124#180|16#180|50002#5|87#3,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6015,,100#100#100#100
+6603,,34010463,34020463,34030260,,5,24,30,,6000124#300|16#300|50002#8|20#1,6000124#300|16#300|50002#8|20#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6015,,100#100#100#100
+6701,,34010461,34020461,34030260,,5,24,12,,6000124#120|16#120|67#80|1002#2,6000124#120|16#120|67#80|1002#2,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6016,,100#100#100#100
+6702,,34010462,34020462,34030260,,5,24,18,,6000124#180|16#180|67#120|87#3,6000124#180|16#180|67#120|87#3,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6016,,100#100#100#100
+6703,,34010463,34020463,34030260,,5,24,30,,6000124#300|16#300|67#200|20#1,6000124#300|16#300|67#200|20#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6016,,100#100#100#100
+10001,,34010503,34020503,34030260,101,5,22,648,,6000124#6480|16#6480|20007#1|20#20|6000110#5000,6000124#6480|16#6480|20007#1|20#20|6000110#5000,,,,1006#10001,1,1,1,0,,,1,3,0,0,,,,,1#999,,,,1,,2#85|4#0#0,,100#100#100#100#100
+10002,,34010504,34020504,34030260,101,5,22,648,,6000124#6480|16#6480|20009#1|17014#300|6000110#5000,6000124#6480|16#6480|20009#1|17014#300|6000110#5000,,,,1006#10002,1,1,1,0,,,1,3,0,0,,,,,1#999,,,,1,,2#85|4#0#0,,100#100#100#100#100
+20001,,34010505,34020505,34030260,,5,50,60,,200011#1,200011#1,,,,1006#70001,1,1,1,0,,,1,3,0,0,,,,,1#999,,,,1,,2#91|4#0#0,,100
+30500,,34010506,34020506,34030260,,5,8,30,,6000124#300|16#300|4#1000|14#2000000|3#1000000,6000124#300|16#300|4#1000|14#2000000|3#1000000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,15,100#100#100#100#100
+30501,,34010506,34020506,34030260,,5,8,30,,6000124#300|99005#1|16#300|14#1000000|3#500000,6000124#300|99005#1|16#300|14#1000000|3#500000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,15,100#100#100#100#100
+30502,,34010506,34020506,34030260,,5,8,60,,6000124#600|99005#1|16#600|14#4000000|3#2000000,6000124#600|99005#1|16#600|14#4000000|3#2000000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,15,100#100#100#100#100
+30503,,34010506,34020506,34030260,,5,8,128,,6000124#1280|16#1280|99005#1|3#4000000|4#2000,6000124#1280|16#1280|99005#1|3#4000000|4#2000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,15,100#100#100#100#100
+30504,,34010506,34020506,34030260,,5,8,328,,6000124#3280|16#3280|99005#1|3#10000000|4#5000,6000124#3280|16#3280|99005#1|3#10000000|4#5000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,15,100#100#100#100#100
+30505,,34010506,34020506,34030260,,5,8,648,,6000124#6480|16#6480|99005#1|3#15000000|4#10000,6000124#6480|16#6480|99005#1|3#15000000|4#10000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,15,100#100#100#100#100
+30506,,34010506,34020506,34030260,,5,8,60,,6000124#600|99006#1|16#600|14#2000000|3#1000000,6000124#600|99006#1|16#600|14#2000000|3#1000000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,15,100#100#100#100#100
+30507,,34010506,34020506,34030260,,5,8,128,,6000124#1280|16#1280|99006#1|3#4000000|4#2000,6000124#1280|16#1280|99006#1|3#4000000|4#2000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,15,100#100#100#100#100
+30508,,34010506,34020506,34030260,,5,8,328,,6000124#3280|16#3280|99006#1|3#10000000|4#5000,6000124#3280|16#3280|99006#1|3#10000000|4#5000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,15,100#100#100#100#100
+30509,,34010506,34020506,34030260,,5,8,648,,6000124#6480|16#6480|99006#1|3#15000000|4#10000,6000124#6480|16#6480|99006#1|3#15000000|4#10000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,15,100#100#100#100#100
+30510,,34010506,34020506,34030260,,5,8,60,,6000124#600|99007#1|16#600|14#2000000|3#1000000,6000124#600|99007#1|16#600|14#2000000|3#1000000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,15,100#100#100#100#100
+30511,,34010506,34020506,34030260,,5,8,128,,6000124#1280|16#1280|99007#1|3#4000000|4#2000,6000124#1280|16#1280|99007#1|3#4000000|4#2000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,15,100#100#100#100#100
+30512,,34010506,34020506,34030260,,5,8,328,,6000124#3280|16#3280|99007#1|3#10000000|4#5000,6000124#3280|16#3280|99007#1|3#10000000|4#5000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,15,100#100#100#100#100
+30513,,34010506,34020506,34030260,,5,8,648,,6000124#6480|16#6480|99007#1|3#15000000|4#10000,6000124#6480|16#6480|99007#1|3#15000000|4#10000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,15,100#100#100#100#100
+30600,,34010520,34020520,34030260,,5,8,68,,6000124#680|16#680|4#1500|6000088#1|6000110#1000,6000124#680|16#680|4#1500|6000088#1|6000110#1000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,16,100#100#100#100#100
+30601,,34010520,34020520,34030260,,5,8,68,,6000124#680|16#680|4#1500|72001#150|6000110#1000,6000124#680|16#680|4#1500|72001#150|6000110#1000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,16,100#100#100#100#100
+30602,,34010520,34020520,34030260,,5,8,98,,6000124#980|16#980|4#2000|6000088#1|6000110#2000,6000124#980|16#980|4#2000|6000088#1|6000110#2000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,16,100#100#100#100#100
+30603,,34010520,34020520,34030260,,5,8,128,,6000124#1280|16#1280|4#2500|6000088#1|6000110#3000,6000124#1280|16#1280|4#2500|6000088#1|6000110#3000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,16,100#100#100#100#100
+30604,,34010520,34020520,34030260,,5,8,198,,6000124#1980|16#1980|4#3000|6000110#2000|72001#200,6000124#1980|16#1980|4#3000|6000110#2000|72001#200,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,16,100#100#100#100#100
+30605,,34010520,34020520,34030260,,5,8,328,,6000124#3280|16#3280|4#5000|6000110#3000|72001#250,6000124#3280|16#3280|4#5000|6000110#3000|72001#250,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,16,100#100#100#100#100
+30606,,34010520,34020520,34030260,,5,8,128,,6000124#1280|16#1280|99000#1|4#2500|6000110#3000,6000124#1280|16#1280|99000#1|4#2500|6000110#3000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,16,100#100#100#100#100
+30607,,34010520,34020520,34030260,,5,8,198,,6000124#1980|16#1980|99001#1|4#3000|6000110#4000,6000124#1980|16#1980|99001#1|4#3000|6000110#4000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,16,100#100#100#100#100
+30608,,34010520,34020520,34030260,,5,8,328,,6000124#3280|16#3280|99002#1|4#3000|6000110#4000,6000124#3280|16#3280|99002#1|4#3000|6000110#4000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,16,100#100#100#100#100
+30700,,34010529,34020529,34030260,,5,8,98,,6000124#980|16#980|4#2000|60411#8|60412#2,6000124#980|16#980|4#2000|60411#8|60412#2,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,17,100#100#100#100#100
+30701,,34010529,34020529,34030260,,5,8,68,,6000124#680|16#680|4#1500|60411#4|60412#1,6000124#680|16#680|4#1500|60411#4|60412#1,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,17,100#100#100#100#100
+30702,,34010529,34020529,34030260,,5,8,98,,6000124#980|16#980|4#2000|60411#8|60412#2,6000124#980|16#980|4#2000|60411#8|60412#2,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,17,100#100#100#100#100
+30703,,34010529,34020529,34030260,,5,8,128,,6000124#1280|16#1280|4#2500|60411#10|60412#3,6000124#1280|16#1280|4#2500|60411#10|60412#3,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,17,100#100#100#100#100
+30704,,34010529,34020529,34030260,,5,8,198,,6000124#1980|16#1980|4#3000|60411#12|6000088#1,6000124#1980|16#1980|4#3000|60411#12|6000088#1,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,17,100#100#100#100#100
+30705,,34010529,34020529,34030260,,5,8,328,,6000124#3280|16#3280|4#4000|60411#15|6000088#2,6000124#3280|16#3280|4#4000|60411#15|6000088#2,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,17,100#100#100#100#100
+30706,,34010529,34020529,34030260,,5,8,488,,6000124#4880|16#4880|4#4500|60411#20|6000089#1,6000124#4880|16#4880|4#4500|60411#20|6000089#1,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,17,100#100#100#100#100
+30707,,34010529,34020529,34030260,,5,8,648,,6000124#6480|16#6480|4#5000|60412#3|6000090#1,6000124#6480|16#6480|4#5000|60412#3|6000090#1,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,17,100#100#100#100#100
+30800,,34010537,34020537,34030260,,5,8,128,,6000124#1280|16#1280|72001#200|60411#10|60412#3,6000124#1280|16#1280|72001#200|60411#10|60412#3,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,18,100#100#100#100#100
+30801,,34010537,34020537,34030260,,5,8,68,,6000124#680|16#680|72001#100|60411#5|60412#2,6000124#680|16#680|72001#100|60411#5|60412#2,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,18,100#100#100#100#100
+30802,,34010537,34020537,34030260,,5,8,128,,6000124#1280|16#1280|72001#200|60411#10|60412#3,6000124#1280|16#1280|72001#200|60411#10|60412#3,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,18,100#100#100#100#100
+30803,,34010537,34020537,34030260,,5,8,198,,6000124#1980|16#1980|72001#300|60411#15|60412#4,6000124#1980|16#1980|72001#300|60411#15|60412#4,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,18,100#100#100#100#100
+30804,,34010537,34020537,34030260,,5,8,328,,6000124#3280|16#3280|72001#500|60411#25|60412#6,6000124#3280|16#3280|72001#500|60411#25|60412#6,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,18,100#100#100#100#100
+30805,,34010537,34020537,34030260,,5,8,328,,6000124#3280|16#3280|72001#450|60411#15|60412#4,6000124#3280|16#3280|72001#450|60411#15|60412#4,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,18,100#100#100#100#100
+30806,,34010537,34020537,34030260,,5,8,488,,6000124#4880|16#4880|72001#500|60411#20|60412#5,6000124#4880|16#4880|72001#500|60411#20|60412#5,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,18,100#100#100#100#100
+30807,,34010537,34020537,34030260,,5,8,648,,6000124#6480|16#6480|72001#550|60411#25|60412#5,6000124#6480|16#6480|72001#550|60411#25|60412#5,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,18,100#100#100#100#100
+30900,,34010545,34020545,34030260,,5,8,198,,6000124#1980|16#1980|60417#1|60411#15|60412#4,6000124#1980|16#1980|60417#1|60411#15|60412#4,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,19,100#100#100#100#100
+30901,,34010545,34020545,34030260,,5,8,98,,6000124#980|16#980|6000110#2000|60411#8|60412#2,6000124#980|16#980|6000110#2000|60411#8|60412#2,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,19,100#100#100#100#100
+30902,,34010545,34020545,34030260,,5,8,128,,6000124#1280|16#1280|60417#1|60411#8|60412#2,6000124#1280|16#1280|60417#1|60411#8|60412#2,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,19,100#100#100#100#100
+30903,,34010545,34020545,34030260,,5,8,198,,6000124#1980|16#1980|60417#1|60411#15|60412#4,6000124#1980|16#1980|60417#1|60411#15|60412#4,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,19,100#100#100#100#100
+30904,,34010545,34020545,34030260,,5,8,328,,6000124#3280|16#3280|60417#1|60411#25|60412#6,6000124#3280|16#3280|60417#1|60411#25|60412#6,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,19,100#100#100#100#100
+31000,,34010550,34020550,34030260,,5,8,198,,6000124#1980|16#1980|6000110#4000|60411#15|60412#4,6000124#1980|16#1980|6000110#4000|60411#15|60412#4,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,20,100#100#100#100#100
+31001,,34010550,34020550,34030260,,5,8,98,,6000124#980|16#980|6000110#2000|60411#8|60412#2,6000124#980|16#980|6000110#2000|60411#8|60412#2,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,20,100#100#100#100#100
+31002,,34010550,34020550,34030260,,5,8,198,,6000124#1980|16#1980|6000110#4000|60411#15|60412#4,6000124#1980|16#1980|6000110#4000|60411#15|60412#4,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,20,100#100#100#100#100
+31003,,34010550,34020550,34030260,,5,8,328,,6000124#3280|16#3280|6000110#6000|60411#25|60412#6,6000124#3280|16#3280|6000110#6000|60411#25|60412#6,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,20,100#100#100#100#100
+31004,,34010550,34020550,34030260,,5,8,648,,6000124#6480|16#6480|6000110#6480|60411#30|60412#5,6000124#6480|16#6480|6000110#6480|60411#30|60412#5,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,20,100#100#100#100#100
+32000,,34010555,34020555,34030260,,5,8,98,,6000124#980|16#980|72004#60|72005#15|19#5,6000124#980|16#980|72004#60|72005#15|19#5,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#120|4#0#432000,31,100#100#100#100#100
+32018,,34010556,34020556,34030260,,5,8,30,,6000124#300|16#300|19#10|3#300000,6000124#300|16#300|19#10|3#300000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,31,100#100#100#100
+32001,,34010556,34020556,34030260,,5,8,30,,6000124#300|16#300|20#1|3#300000,6000124#300|16#300|20#1|3#300000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,31,100#100#100#100
+32023,,34010556,34020556,34030260,,5,8,30,,6000124#300|16#300|19#10|4#300,6000124#300|16#300|19#10|4#300,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,31,100#100#100#100
+32028,,34010556,34020556,34030260,,5,8,60,,6000124#600|16#600|60415#1|3#1000000,6000124#600|16#600|60415#1|3#1000000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,31,100#100#100#100
+32033,,34010556,34020556,34030260,,5,8,60,,6000124#600|16#600|60415#1|3#1000000|14#2200000,6000124#600|16#600|60415#1|3#1000000|14#2200000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,31,100#100#100#100#100
+32043,,34010556,34020556,34030260,,5,8,68,,6000124#680|16#680|6001020#50|3#1000000|14#2200000,6000124#680|16#680|6001020#50|3#1000000|14#2200000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,31,100#100#100#100#100
+32048,,34010556,34020556,34030260,,5,8,68,,6000124#680|16#680|20#3|14#2200000,6000124#680|16#680|20#3|14#2200000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,31,100#100#100#100
+32002,,34010563,34020563,34030260,,5,8,98,,6000124#980|16#980|20#3|18102#5|18101#10,6000124#980|16#980|20#3|18102#5|18101#10,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#86400,31,100#100#100#100#100
+32058,,34010556,34020556,34030260,,5,8,98,,6000124#980|16#980|81148#50|3#1000000|14#2200000,6000124#980|16#980|81148#50|3#1000000|14#2200000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,31,100#100#100#100#100
+32063,,34010556,34020556,34030260,,5,8,98,,6000124#980|16#980|19#20|3#1000000|14#2200000,6000124#980|16#980|19#20|3#1000000|14#2200000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,31,100#100#100#100#100
+32068,,34010556,34020556,34030260,,5,8,98,,6000124#980|16#980|20#4|14#4400000,6000124#980|16#980|20#4|14#4400000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,31,100#100#100#100
+32073,,34010556,34020556,34030260,,5,8,128,,6000124#1280|16#1280|60416#1|19#10|3#1000000,6000124#1280|16#1280|60416#1|19#10|3#1000000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#12|4#0#43200,31,100#100#100#100#100
+32078,,34010556,34020556,34030260,,5,8,128,,6000124#1280|16#1280|20#5|6000110#2000,6000124#1280|16#1280|20#5|6000110#2000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#12|4#0#43200,31,100#100#100#100
+32003,,34010569,34020569,34030260,,5,8,128,,6000124#1280|16#1280|17012#30|17011#120|17009#60,6000124#1280|16#1280|17012#30|17011#120|17009#60,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#72|4#0#259200,31,100#100#100#100#100
+32088,,34010556,34020556,34030260,,5,8,128,,6000124#1280|16#1280|19#30|3#2000000|14#4000000,6000124#1280|16#1280|19#30|3#2000000|14#4000000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#12|4#0#43200,31,100#100#100#100#100
+32004,,34010571,34020571,34030260,,5,8,128,,6000124#1280|16#1280|6000097#15|6000098#60|6000092#120,6000124#1280|16#1280|6000097#15|6000098#60|6000092#120,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#72|4#0#259200,31,100#100#100#100#100
+32098,,34010556,34020556,34030260,,5,8,198,,6000124#1980|16#1980|60408#1|19#20|3#2000000,6000124#1980|16#1980|60408#1|19#20|3#2000000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#24|4#0#86400,31,100#100#100#100#100
+32103,,34010556,34020556,34030260,,5,8,198,,6000124#1980|16#1980|20#8|6000110#3000,6000124#1980|16#1980|20#8|6000110#3000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#24|4#0#86400,31,100#100#100#100
+32005,,34010574,34020574,34030260,,5,8,328,,6000124#3280|16#3280|99001#1|10442#25|10441#150,6000124#3280|16#3280|99001#1|10442#25|10441#150,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#72|4#0#259200,31,100#100#100#100#100
+32113,,34010556,34020556,34030260,,5,8,328,,6000124#3280|16#3280|81148#100|60412#10|60412#2,6000124#3280|16#3280|81148#100|60412#10|60412#2,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#24|4#0#86400,31,100#100#100#100#100
+32118,,34010556,34020556,34030260,,5,8,328,,6000124#3280|16#3280|20#12|6000110#3000|14#3000000,6000124#3280|16#3280|20#12|6000110#3000|14#3000000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#24|4#0#86400,31,100#100#100#100#100
+32006,,34010577,34020577,34030260,,5,8,648,,6000124#6480|16#6480|60406#1|10422#3|10425#600,6000124#6480|16#6480|60406#1|10422#3|10425#600,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#72|4#0#259200,31,100#100#100#100#100
+34001,,34010578,34020578,34030260,,5,8,30,,6000124#300|16#300|19#10|4#300|14#1000000,6000124#300|16#300|19#10|4#300|14#1000000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,32,100#100#100#100#100
+34002,,34010578,34020578,34030260,,5,8,68,,6000124#680|16#680|19#15|99005#1|14#2000000,6000124#680|16#680|19#15|99005#1|14#2000000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,32,100#100#100#100#100
+34003,,34010578,34020578,34030260,,5,8,30,,6000124#300|16#300|19#10|14#1000000|3#500000,6000124#300|16#300|19#10|14#1000000|3#500000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,32,100#100#100#100#100
+34004,,34010578,34020578,34030260,,5,8,68,,6000124#680|16#680|19#15|99005#1|14#2000000,6000124#680|16#680|19#15|99005#1|14#2000000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,32,100#100#100#100#100
+34005,,34010578,34020578,34030260,,5,8,98,,6000124#980|16#980|19#15|60417#1|14#3000000,6000124#980|16#980|19#15|60417#1|14#3000000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,32,100#100#100#100#100
+34006,,34010578,34020578,34030260,,5,8,128,,6000124#1280|16#1280|6001020#50|19#30|14#4000000,6000124#1280|16#1280|6001020#50|19#30|14#4000000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,32,100#100#100#100#100
+34007,,34010578,34020578,34030260,,5,8,198,,6000124#1980|16#1980|6001020#50|20#5|14#5000000,6000124#1980|16#1980|6001020#50|20#5|14#5000000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,32,100#100#100#100#100
+34008,,34010578,34020578,34030260,,5,8,328,,6000124#3280|16#3280|81148#50|20#10|14#8000000,6000124#3280|16#3280|81148#50|20#10|14#8000000,,,,1006,0,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,32,100#100#100#100#100
+35001,,34010586,34020586,34030260,,5,8,12,,6000124#120|16#120|60409#2|14#400000|3#200000,6000124#120|16#120|60409#2|14#400000|3#200000,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35002,,34010586,34020586,34030260,,5,8,30,,6000124#300|16#300|60409#5|14#1000000|3#500000,6000124#300|16#300|60409#5|14#1000000|3#500000,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35003,,34010586,34020586,34030260,,5,8,60,,6000124#600|16#600|60409#10|14#2000000|3#1000000,6000124#600|16#600|60409#10|14#2000000|3#1000000,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35004,,34010586,34020586,34030260,,5,8,198,,6000124#1980|16#1980|3#10000000|14#5000000|72001#150,6000124#1980|16#1980|3#10000000|14#5000000|72001#150,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35005,,34010586,34020586,34030260,,5,8,328,,6000124#3280|16#3280|3#15000000|14#8000000|6001020#50,6000124#3280|16#3280|3#15000000|14#8000000|6001020#50,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35006,,34010586,34020586,34030260,,5,8,648,,6000124#6480|16#6480|3#20000000|14#10000000|81148#50,6000124#6480|16#6480|3#20000000|14#10000000|81148#50,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35101,,34010586,34020586,34030260,,5,8,18,,6000124#180|16#180|60411#1|60410#2|14#1000000,6000124#180|16#180|60411#1|60410#2|14#1000000,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35102,,34010586,34020586,34030260,,5,8,30,,6000124#300|16#300|60411#2|60410#3|14#2000000,6000124#300|16#300|60411#2|60410#3|14#2000000,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35103,,34010586,34020586,34030260,,5,8,60,,6000124#600|16#600|60411#4|60410#5|14#5000000,6000124#600|16#600|60411#4|60410#5|14#5000000,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35104,,34010586,34020586,34030260,,5,8,98,,6000124#980|16#980|60412#3|60410#10|14#8000000,6000124#980|16#980|60412#3|60410#10|14#8000000,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35105,,34010586,34020586,34030260,,5,8,328,,6000124#3280|16#3280|3#15000000|14#8000000|60411#5,6000124#3280|16#3280|3#15000000|14#8000000|60411#5,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35106,,34010586,34020586,34030260,,5,8,648,,6000124#6480|16#6480|3#20000000|14#10000000|60412#4,6000124#6480|16#6480|3#20000000|14#10000000|60412#4,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35201,,34010586,34020586,34030260,,5,8,18,,6000124#180|16#180|60411#1|60418#2|14#1000000,6000124#180|16#180|60411#1|60418#2|14#1000000,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35202,,34010586,34020586,34030260,,5,8,30,,6000124#300|16#300|60411#2|60418#3|14#2000000,6000124#300|16#300|60411#2|60418#3|14#2000000,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35203,,34010586,34020586,34030260,,5,8,60,,6000124#600|16#600|60411#4|60418#5|14#5000000,6000124#600|16#600|60411#4|60418#5|14#5000000,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35204,,34010586,34020586,34030260,,5,8,98,,6000124#980|16#980|60412#3|60418#10|14#8000000,6000124#980|16#980|60412#3|60418#10|14#8000000,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35205,,34010586,34020586,34030260,,5,8,128,,6000124#1280|16#1280|60412#5|60418#12|14#10000000,6000124#1280|16#1280|60412#5|60418#12|14#10000000,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35206,,34010586,34020586,34030260,,5,8,648,,6000124#6480|16#6480|3#20000000|6000110#2000|99001#1,6000124#6480|16#6480|3#20000000|6000110#2000|99001#1,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35301,,34010586,34020586,34030260,,5,8,30,,6000124#300|16#300|60412#1|60411#2|14#1000000,6000124#300|16#300|60412#1|60411#2|14#1000000,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35302,,34010586,34020586,34030260,,5,8,60,,6000124#600|16#600|60412#2|60411#4|14#1500000,6000124#600|16#600|60412#2|60411#4|14#1500000,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35303,,34010586,34020586,34030260,,5,8,98,,6000124#980|16#980|60412#3|60411#6|14#2000000,6000124#980|16#980|60412#3|60411#6|14#2000000,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35304,,34010586,34020586,34030260,,5,8,128,,6000124#1280|16#1280|60412#4|60411#8|14#3000000,6000124#1280|16#1280|60412#4|60411#8|14#3000000,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35305,,34010586,34020586,34030260,,5,8,198,,6000124#1980|16#1980|60412#6|60411#12|14#5000000,6000124#1980|16#1980|60412#6|60411#12|14#5000000,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+35306,,34010586,34020586,34030260,,5,8,328,,6000124#3280|16#3280|60412#10|60411#20|14#10000000,6000124#3280|16#3280|60412#10|60411#20|14#10000000,,,,1006,3,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,33,100#100#100#100#100
+36006,,34010610,34020610,34030260,,5,8,6,,6000124#60|16#60|19#2|60#2|80#2,6000124#60|16#60|19#2|60#2|80#2,,,,1006,1,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,34,100#100#100#100#100
+36012,,34010610,34020610,34030260,,5,8,12,,6000124#120|16#120|19#3|60#3|80#3,6000124#120|16#120|19#3|60#3|80#3,,,,1006,1,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,34,100#100#100#100#100
+36018,,34010610,34020610,34030260,,5,8,18,,6000124#180|16#180|19#5|60#5|80#5,6000124#180|16#180|19#5|60#5|80#5,,,,1006,1,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,34,100#100#100#100#100
+36030,,34010610,34020610,34030260,,5,8,30,,6000124#300|16#300|19#8|60#8|23#8,6000124#300|16#300|19#8|60#8|23#8,,,,1006,1,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,34,100#100#100#100#100
+36060,,34010610,34020610,34030260,,5,8,60,,6000124#600|16#600|19#15|61#1|23#10,6000124#600|16#600|19#15|61#1|23#10,,,,1006,1,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,34,100#100#100#100#100
+36098,,34010610,34020610,34030260,,5,8,98,,6000124#980|16#980|19#15|61#2|23#20,6000124#980|16#980|19#15|61#2|23#20,,,,1006,1,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,34,100#100#100#100#100
+36128,,34010610,34020610,34030260,,5,8,128,,6000124#1280|16#1280|19#20|61#3|99005#1,6000124#1280|16#1280|19#20|61#3|99005#1,,,,1006,1,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,34,100#100#100#100#100
+36198,,34010610,34020610,34030260,,5,8,198,,6000124#1980|16#1980|20#3|61#3|60417#1,6000124#1980|16#1980|20#3|61#3|60417#1,,,,1006,1,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,34,100#100#100#100#100
+36328,,34010610,34020610,34030260,,5,8,328,,6000124#3280|16#3280|20#8|61#4|6001020#50,6000124#3280|16#3280|20#8|61#4|6001020#50,,,,1006,1,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,34,100#100#100#100#100
+36488,,34010610,34020610,34030260,,5,8,328,,6000124#3280|16#3280|20#6|61#5|60417#1,6000124#3280|16#3280|20#6|61#5|60417#1,,,,1006,1,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,34,100#100#100#100#100
+36648,,34010610,34020610,34030260,,5,8,648,,6000124#6480|16#6480|20#12|61#6|81148#50,6000124#6480|16#6480|20#12|61#6|81148#50,,,,1006,1,0,1,0,,,1,3,0,0,,,,,1#999,,,,4,,6#4|4#0#14400,34,100#100#100#100#100
+55001,,34010332,34020332,34030260,,5,51,30,,6000124#300|16#300|6000115#10|6000110#500,6000124#300|16#300|6000115#10|6000110#500,,,,1006,1,0,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#50005|4#0#14400,,100#100#100#100
+55002,,34010332,34020332,34030260,,5,51,98,,6000124#980|16#980|6000115#30|19#15,6000124#980|16#980|6000115#30|19#15,,,,1006,1,0,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#50005|4#0#14400,,100#100#100#100
+55003,,34010332,34020332,34030260,,5,51,128,,6000124#1280|16#1280|6000115#40|60402#1|6000110#2000,6000124#1280|16#1280|6000115#40|60402#1|6000110#2000,,,,1006,5,0,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#50005|4#0#14400,,100#100#100#100#100
+55004,,34010332,34020332,34030260,,5,51,128,,6000124#1280|16#1280|6000115#40|60403#1|6000110#2000,6000124#1280|16#1280|6000115#40|60403#1|6000110#2000,,,,1006,5,0,1,0,,,1,3,0,0,7,,,,1#999,,,,2,,3#50005|4#0#14400,,100#100#100#100#100
+6801,,34010461,34020461,34030260,,5,24,12,,6000124#120|16#120|19#2|1002#2,6000124#120|16#120|19#2|1002#2,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6017,,100#100#100#100
+6802,,34010462,34020462,34030260,,5,24,18,,6000124#180|16#180|19#3|87#3,6000124#180|16#180|19#3|87#3,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6017,,100#100#100#100
+6803,,34010463,34020463,34030260,,5,24,30,,6000124#300|16#300|19#5|20#1,6000124#300|16#300|19#5|20#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6017,,100#100#100#100
+6901,,34010461,34020461,34030260,,5,24,12,,6000124#120|16#120|1004#2|1002#2,6000124#120|16#120|1004#2|1002#2,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6018,,100#100#100#100
+6902,,34010462,34020462,34030260,,5,24,18,,6000124#180|16#180|1004#3|87#3,6000124#180|16#180|1004#3|87#3,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6018,,100#100#100#100
+6903,,34010463,34020463,34030260,,5,24,30,,6000124#300|16#300|1004#5|20#1,6000124#300|16#300|1004#5|20#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6018,,100#100#100#100
+7201,,34010461,34020461,34030260,,5,24,12,,6000124#120|16#120|50002#3|1002#2,6000124#120|16#120|50002#3|1002#2,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6019,,100#100#100#100
+7202,,34010462,34020462,34030260,,5,24,18,,6000124#180|16#180|50002#5|87#3,6000124#180|16#180|50002#5|87#3,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6019,,100#100#100#100
+7203,,34010463,34020463,34030260,,5,24,30,,6000124#300|16#300|50002#8|20#1,6000124#300|16#300|50002#8|20#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6019,,100#100#100#100
+7301,,34010461,34020461,34030260,,5,24,12,,6000124#120|16#120|67#80|1002#2,6000124#120|16#120|67#80|1002#2,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6020,,100#100#100#100
+7302,,34010462,34020462,34030260,,5,24,18,,6000124#180|16#180|67#120|87#3,6000124#180|16#180|67#120|87#3,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6020,,100#100#100#100
+7303,,34010463,34020463,34030260,,5,24,30,,6000124#300|16#300|67#200|20#1,6000124#300|16#300|67#200|20#1,,,,1006,1,1,1,0,,,1,3,0,0,1,,,,1#999,,,,2,,3#6020,,100#100#100#100

+ 4 - 0
deploy/Donate.md

@@ -0,0 +1,4 @@
+| 名字 | 渠道 | 金额 | 时间 | 备注 
+|---|---|---| ---| ---
+|[john](https://github.com/gogf)|微信|¥100.00 | 2019.12 | 
+|大哈|支付宝|¥54.00 | 2020.01 | 

+ 46 - 0
deploy/ReadMe.md

@@ -0,0 +1,46 @@
+# gmanager使用说明
+
+## 项目目录结构
+```bash
+gmanager:.
+│  ChangeLog.md                 更新说明
+│  go.mod                       go mod 
+│  LICENSE                      开源协议
+│  main.go                      go入口文件
+│  README.md                    项目介绍
+├─app                           业务代码目录
+│  ├─api                        业务接口
+│  ├─component
+│  │  ├─middle
+│  │  └─     MiddlewareLog.go  访问日志中间件
+│  ├─constants                  常量
+│  ├─model                     实体对象   
+│  └─service                业务层代码
+│      └─user
+│              userSvc.go
+├─boot                      启动类
+│      boot.go
+├─config                    配置文件
+│      config.toml
+├─deploy
+│  │  Donate.md             贡献者记录
+│  │  gmanager-web.sql      初始化脚本(前后端分离)
+│  │  gmanager.sql          初始化脚本
+│  │  ReadMe.md             使用说明
+├─library                   公共方法  
+├─logs                      日志目录  
+├─public                    静态文件
+│  │  favicon.ico
+│  └─component              第三方组件                          
+├─router                    项目路由
+├─template                  模板页面
+└─test                      测试代码
+```
+
+## model生成
+使用gf自动生成model
+
+```bash
+gf gen model -l "mysql:root:123123@tcp(10.130.44.180:3306)/db" -p sys_
+gf gen model -l "mysql:root:A123456@tcp(127.0.0.1:33306)/gmanager" -p sys_
+```

+ 24 - 0
deploy/gmanager-web.sql

@@ -0,0 +1,24 @@
+/** 前后端分离菜单 **/
+DELETE FROM `sys_menu`;
+INSERT INTO `sys_menu` VALUES (1, 20, '系统首页', 'welcome', 'home', '/welcome', '', 1, 2, 10, 2, 1, '2019-12-06 10:37:44', 1, '2015-04-27 17:28:06', 1);
+INSERT INTO `sys_menu` VALUES (2, 0, '系统管理', 'settings', 'system_root', NULL, NULL, 1, 1, 190, 1, 1, '2019-12-04 14:18:23', 1, '2015-04-27 17:28:06', 1);
+INSERT INTO `sys_menu` VALUES (3, 2, '组织机构', 'depart', 'department', '/system/department/index', NULL, 1, 2, 191, 2, 1, '2019-12-04 14:17:51', 1, '2015-04-27 17:28:25', 1);
+INSERT INTO `sys_menu` VALUES (4, 2, '用户管理', 'user_1', 'user', '/system/user/index', NULL, 1, 2, 192, 2, 1, '2019-12-04 14:14:06', 1, '2015-04-27 17:28:46', 1);
+INSERT INTO `sys_menu` VALUES (5, 2, '角色管理', 'role', 'role', '/system/role/index', NULL, 1, 2, 194, 2, 1, '2019-12-04 14:14:12', 1, '2015-04-27 17:29:13', 1);
+INSERT INTO `sys_menu` VALUES (6, 2, '菜单管理', 'menu', 'menu', '/system/menu/index', NULL, 1, 2, 196, 2, 1, '2019-12-04 14:14:33', 1, '2015-04-27 17:29:43', 1);
+INSERT INTO `sys_menu` VALUES (20, 0, '业务处理', 'business', 'home', '', '', 1, 1, 10, 1, 1, '2019-12-04 14:14:55', 1, '2019-02-17 23:24:08', 1);
+INSERT INTO `sys_menu` VALUES (37, 2, '参数配置', 'config', NULL, 'system/config/index', NULL, 1, 2, 198, 2, 1, '2019-12-12 15:31:40', 1, '2019-12-10 14:51:29', 1);
+INSERT INTO `sys_menu` VALUES (38, 2, '日志管理', 'log', 'log', 'system/log/index', NULL, 1, 2, 199, 2, 1, '2019-12-12 15:31:24', 1, '2019-12-10 14:55:22', 1);
+
+/**
+DELETE FROM `sys_menu`;
+INSERT INTO `sys_menu` VALUES (1, 20, '系统首页', 'fa fa-home', 'home', '/admin/welcome.html', '', 1, 2, 10, 2, 1, '2019-02-17 23:24:28', 1, '2015-04-27 17:28:06', 1);
+INSERT INTO `sys_menu` VALUES (2, 0, '系统管理', 'fa fa-institution', 'system_root', NULL, NULL, 1, 1, 190, 1, 1, '2015-04-27 17:28:06', 1, '2015-04-27 17:28:06', 1);
+INSERT INTO `sys_menu` VALUES (3, 2, '组织机构', 'fa fa-users', 'department', '/system/department/index', NULL, 1, 2, 191, 2, 1, '2015-04-27 17:28:06', 1, '2015-04-27 17:28:25', 1);
+INSERT INTO `sys_menu` VALUES (4, 2, '用户管理', 'fa fa-user-o', 'user', '/system/user/index', NULL, 1, 2, 192, 2, 1, '2015-04-27 17:28:06', 1, '2015-04-27 17:28:46', 1);
+INSERT INTO `sys_menu` VALUES (5, 2, '角色管理', 'fa fa-address-book-o', 'role', '/system/role/index', NULL, 1, 2, 194, 2, 1, '2015-04-27 17:28:06', 1, '2015-04-27 17:29:13', 1);
+INSERT INTO `sys_menu` VALUES (6, 2, '菜单管理', 'fa fa-bars', 'menu', '/system/menu/index', NULL, 1, 2, 196, 2, 1, '2015-04-27 17:29:43', 1, '2015-04-27 17:29:43', 1);
+INSERT INTO `sys_menu` VALUES (8, 2, '参数配置', 'fa fa-file-text-o', 'config', '/system/config/index', '', 1, 2, 198, 2, 1, '2017-09-15 14:53:36', 1, '2016-12-17 23:34:13', 1);
+INSERT INTO `sys_menu` VALUES (9, 2, '日志管理', 'fa fa-line-chart', 'log', '/system/log/index', NULL, 1, 2, 199, 2, 1, '2015-04-27 17:28:06', 1, '2016-01-03 18:09:18', 1);
+INSERT INTO `sys_menu` VALUES (20, 0, '业务处理', 'fa fa-home', 'home', '', '', 1, 1, 10, 1, 1, '2019-02-17 23:24:08', 1, '2019-02-17 23:24:08', 1);
+ */

+ 230 - 0
deploy/gmanager.sql

@@ -0,0 +1,230 @@
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for sys_config
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_config`;
+CREATE TABLE `sys_config`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `name` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '名称',
+  `key` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '键',
+  `value` varchar(4000) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '值',
+  `code` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '编码',
+  `data_type` int(2) NULL DEFAULT NULL COMMENT '数据类型//radio/1,KV,2,字典,3,数组',
+  `parent_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '类型',
+  `parent_key` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+  `sort` int(11) NOT NULL DEFAULT 10 COMMENT '排序号',
+  `project_id` bigint(20) NULL DEFAULT 1 COMMENT '项目ID',
+  `copy_status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '拷贝状态 1 拷贝  2  不拷贝',
+  `change_status` tinyint(1) NOT NULL DEFAULT 2 COMMENT '1 不可更改 2 可以更改',
+  `enable` tinyint(1) NULL DEFAULT 1 COMMENT '是否启用//radio/1,启用,2,禁用',
+  `update_time` varchar(24) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新时间',
+  `update_id` bigint(20) NULL DEFAULT 0 COMMENT '更新人',
+  `create_time` varchar(24) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+  `create_id` bigint(20) NULL DEFAULT 0 COMMENT '创建者',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 59 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统配置表' ROW_FORMAT = Compact;
+
+-- ----------------------------
+-- Records of sys_config
+-- ----------------------------
+INSERT INTO `sys_config` VALUES (24, '系统参数', 'system', '', '', NULL, 0, NULL, 15, 1, 1, 2, 1, '2017-09-15 17:02:30', 4, '2017-09-15 16:54:52', 4);
+INSERT INTO `sys_config` VALUES (46, '日志控制配置', 'system.debug', 'false', '', NULL, 24, 'system', 15, 1, 1, 1, 1, '2019-02-24 00:00:08', 0, '2017-09-15 17:06:21', 4);
+INSERT INTO `sys_config` VALUES (47, '短信配置', 'sms', '', '', NULL, 0, '', 15, 1, 1, 2, 1, '2019-02-20 22:45:41', 1, '2017-09-15 17:06:56', 4);
+INSERT INTO `sys_config` VALUES (50, '短信账号', 'sms.username', 'test', '', NULL, 47, 'sms', 10, 1, 1, 2, 1, '2019-02-20 22:26:29', 1, '2019-02-18 01:07:47', 1);
+INSERT INTO `sys_config` VALUES (51, '短信密码', 'sms.passwd', '111111', '', NULL, 47, 'sms', 10, 1, 1, 2, 1, '2019-02-18 01:08:16', 1, '2019-02-18 01:08:16', 1);
+INSERT INTO `sys_config` VALUES (52, '短信类型', 'sms.type', '阿里云', '', NULL, 47, 'sms', 10, 1, 1, 2, 1, '2019-02-20 22:26:21', 1, '2019-02-20 22:26:21', 1);
+INSERT INTO `sys_config` VALUES (53, '性别', 'sex', '', '', NULL, 0, NULL, 90, 1, 1, 2, 1, '2019-02-20 23:35:18', 1, '2019-02-20 23:35:18', 1);
+INSERT INTO `sys_config` VALUES (54, '性别男', 'sex.male', '男', '1', NULL, 53, 'sex', 91, 1, 1, 2, 1, '2019-02-20 23:40:19', 1, '2019-02-20 23:35:45', 1);
+INSERT INTO `sys_config` VALUES (55, '性别女', 'sex.female', '女', '2', NULL, 53, 'sex', 92, 1, 1, 2, 1, '2019-02-20 23:40:24', 1, '2019-02-20 23:36:12', 1);
+INSERT INTO `sys_config` VALUES (56, '性别未知', 'sex.unknown', '未知', '3', NULL, 53, 'sex', 93, 1, 1, 2, 1, '2019-02-20 23:40:29', 1, '2019-02-20 23:36:46', 1);
+
+-- ----------------------------
+-- Table structure for sys_department
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_department`;
+CREATE TABLE `sys_department`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `parent_id` int(11) NULL DEFAULT 0 COMMENT '上级机构',
+  `name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '部门/11111',
+  `code` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '机构编码',
+  `sort` int(11) NULL DEFAULT 0 COMMENT '序号',
+  `linkman` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '联系人',
+  `linkman_no` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '联系人电话',
+  `remark` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '机构描述',
+  `enable` tinyint(1) NULL DEFAULT 1 COMMENT '是否启用//radio/1,启用,2,禁用',
+  `update_time` varchar(24) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新时间',
+  `update_id` bigint(20) NULL DEFAULT 0 COMMENT '更新人',
+  `create_time` varchar(24) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+  `create_id` bigint(20) NULL DEFAULT 0 COMMENT '创建者',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE INDEX `uni_depart_name`(`name`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 10015 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '组织机构' ROW_FORMAT = Compact;
+
+-- ----------------------------
+-- Records of sys_department
+-- ----------------------------
+INSERT INTO `sys_department` VALUES (10001, 0, 'FLY的狐狸', 'ABC000', 100, '', '', '', 1, '2017-04-28 01:16:43', 1, '2016-07-31 18:12:30', 1);
+INSERT INTO `sys_department` VALUES (10002, 10001, '开发组', 'ABC001', 101, NULL, NULL, NULL, 1, '2016-07-31 18:15:29', 1, '2016-07-31 18:15:29', 1);
+INSERT INTO `sys_department` VALUES (10003, 10001, '产品组', 'ABC003', 103, '', '', '', 1, '2017-04-28 00:58:41', 1, '2016-07-31 18:16:06', 1);
+INSERT INTO `sys_department` VALUES (10004, 10001, '运营组', 'ABC004', 104, NULL, NULL, NULL, 1, '2016-07-31 18:16:30', 1, '2016-07-31 18:16:30', 1);
+INSERT INTO `sys_department` VALUES (10005, 10001, '测试组', '12323', 10, '', '', '', 0, '2019-06-30 22:33:44', 1, '2017-10-18 18:13:09', 1);
+
+-- ----------------------------
+-- Table structure for sys_log
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_log`;
+CREATE TABLE `sys_log`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `log_type` int(11) NOT NULL COMMENT '类型',
+  `oper_object` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作对象',
+  `oper_table` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '操作表',
+  `oper_id` int(11) NULL DEFAULT 0 COMMENT '操作主键',
+  `oper_type` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作类型',
+  `oper_remark` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作备注',
+  `enable` tinyint(1) NULL DEFAULT 1 COMMENT '是否启用//radio/1,启用,2,禁用',
+  `update_time` varchar(24) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新时间',
+  `update_id` bigint(20) NULL DEFAULT 0 COMMENT '更新人',
+  `create_time` varchar(24) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+  `create_id` bigint(20) NULL DEFAULT 0 COMMENT '创建者',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 11813 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '日志' ROW_FORMAT = Compact;
+
+-- ----------------------------
+-- Table structure for sys_menu
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_menu`;
+CREATE TABLE `sys_menu`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `parent_id` int(11) NOT NULL DEFAULT 0 COMMENT '父id',
+  `name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '名称/11111',
+  `icon` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '菜单图标',
+  `urlkey` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '菜单key',
+  `url` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '链接地址',
+  `perms` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '授权(多个用逗号分隔,如:user:list,user:create)',
+  `status` int(11) NULL DEFAULT 1 COMMENT '状态//radio/2,隐藏,1,显示',
+  `type` int(11) NULL DEFAULT 1 COMMENT '类型//select/1,目录,2,菜单,3,按钮',
+  `sort` int(11) NULL DEFAULT 1 COMMENT '排序',
+  `level` int(11) NULL DEFAULT 1 COMMENT '级别',
+  `enable` tinyint(1) NULL DEFAULT 1 COMMENT '是否启用//radio/1,启用,2,禁用',
+  `update_time` varchar(24) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新时间',
+  `update_id` bigint(20) NULL DEFAULT 0 COMMENT '更新人',
+  `create_time` varchar(24) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+  `create_id` bigint(20) NULL DEFAULT 0 COMMENT '创建者',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '菜单' ROW_FORMAT = Compact;
+
+-- ----------------------------
+-- Records of sys_menu
+-- ----------------------------
+INSERT INTO `sys_menu` VALUES (1, 20, '系统首页', 'fa fa-home', 'home', '/admin/welcome.html', '', 1, 2, 10, 2, 1, '2019-02-17 23:24:28', 1, '2015-04-27 17:28:06', 1);
+INSERT INTO `sys_menu` VALUES (2, 0, '系统管理', 'fa fa-institution', 'system_root', NULL, NULL, 1, 1, 190, 1, 1, '2015-04-27 17:28:06', 1, '2015-04-27 17:28:06', 1);
+INSERT INTO `sys_menu` VALUES (3, 2, '组织机构', 'fa fa-users', 'department', '/system/department/index', NULL, 1, 2, 191, 2, 1, '2015-04-27 17:28:06', 1, '2015-04-27 17:28:25', 1);
+INSERT INTO `sys_menu` VALUES (4, 2, '用户管理', 'fa fa-user-o', 'user', '/system/user/index', NULL, 1, 2, 192, 2, 1, '2015-04-27 17:28:06', 1, '2015-04-27 17:28:46', 1);
+INSERT INTO `sys_menu` VALUES (5, 2, '角色管理', 'fa fa-address-book-o', 'role', '/system/role/index', NULL, 1, 2, 194, 2, 1, '2015-04-27 17:28:06', 1, '2015-04-27 17:29:13', 1);
+INSERT INTO `sys_menu` VALUES (6, 2, '菜单管理', 'fa fa-bars', 'menu', '/system/menu/index', NULL, 1, 2, 196, 2, 1, '2015-04-27 17:29:43', 1, '2015-04-27 17:29:43', 1);
+INSERT INTO `sys_menu` VALUES (8, 2, '参数配置', 'fa fa-file-text-o', 'config', '/system/config/index', '', 1, 2, 198, 2, 1, '2017-09-15 14:53:36', 1, '2016-12-17 23:34:13', 1);
+INSERT INTO `sys_menu` VALUES (9, 2, '日志管理', 'fa fa-line-chart', 'log', '/system/log/index', NULL, 1, 2, 199, 2, 1, '2015-04-27 17:28:06', 1, '2016-01-03 18:09:18', 1);
+INSERT INTO `sys_menu` VALUES (20, 0, '业务处理', 'fa fa-home', 'home', '', '', 1, 1, 10, 1, 1, '2019-02-17 23:24:08', 1, '2019-02-17 23:24:08', 1);
+
+-- ----------------------------
+-- Table structure for sys_role
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_role`;
+CREATE TABLE `sys_role`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '名称/11111/',
+  `status` int(11) NULL DEFAULT 1 COMMENT '状态//radio/2,隐藏,1,显示',
+  `sort` int(11) NULL DEFAULT 1 COMMENT '排序',
+  `remark` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '说明//textarea',
+  `enable` tinyint(1) NULL DEFAULT 1 COMMENT '是否启用//radio/1,启用,2,禁用',
+  `update_time` varchar(24) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新时间',
+  `update_id` bigint(20) NULL DEFAULT 0 COMMENT '更新人',
+  `create_time` varchar(24) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+  `create_id` bigint(20) NULL DEFAULT 0 COMMENT '创建者',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色' ROW_FORMAT = Compact;
+
+-- ----------------------------
+-- Records of sys_role
+-- ----------------------------
+INSERT INTO `sys_role` VALUES (1, '测试角色', 1, 10, '', 1, '2019-07-03 00:55:45', 1, '2017-09-15 14:54:26', 1);
+
+-- ----------------------------
+-- Table structure for sys_role_menu
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_role_menu`;
+CREATE TABLE `sys_role_menu`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `role_id` bigint(20) NOT NULL COMMENT '角色id',
+  `menu_id` bigint(20) NOT NULL COMMENT '菜单id',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 50 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色和菜单关联' ROW_FORMAT = Compact;
+
+-- ----------------------------
+-- Records of sys_role_menu
+-- ----------------------------
+INSERT INTO `sys_role_menu` VALUES (48, 1, 20);
+INSERT INTO `sys_role_menu` VALUES (49, 1, 1);
+
+-- ----------------------------
+-- Table structure for sys_user
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_user`;
+CREATE TABLE `sys_user`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `uuid` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'UUID',
+  `username` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '登录名/11111',
+  `password` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '密码',
+  `salt` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '1111' COMMENT '密码盐',
+  `real_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '真实姓名',
+  `depart_id` int(11) NULL DEFAULT 0 COMMENT '部门/11111/dict',
+  `user_type` int(11) NULL DEFAULT 2 COMMENT '类型//select/1,管理员,2,普通用户,3,前台用户,4,第三方用户,5,API用户',
+  `status` int(11) NULL DEFAULT 10 COMMENT '状态',
+  `thirdid` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '第三方ID',
+  `endtime` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '结束时间',
+  `email` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'email',
+  `tel` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手机号',
+  `address` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '地址',
+  `title_url` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '头像地址',
+  `remark` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '说明',
+  `theme` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 'default' COMMENT '主题',
+  `back_site_id` int(11) NULL DEFAULT 0 COMMENT '后台选择站点ID',
+  `create_site_id` int(11) NULL DEFAULT 1 COMMENT '创建站点ID',
+  `project_id` bigint(20) NULL DEFAULT 0 COMMENT '项目ID',
+  `project_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '项目名称',
+  `enable` tinyint(1) NULL DEFAULT 1 COMMENT '是否启用//radio/1,启用,2,禁用',
+  `update_time` varchar(24) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新时间',
+  `update_id` bigint(20) NULL DEFAULT 0 COMMENT '更新人',
+  `create_time` varchar(24) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建时间',
+  `create_id` bigint(20) NULL DEFAULT 0 COMMENT '创建者',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE INDEX `uni_user_username`(`username`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户' ROW_FORMAT = Compact;
+
+-- ----------------------------
+-- Records of sys_user
+-- ----------------------------
+INSERT INTO `sys_user` VALUES (1, '94091b1fa6ac4a27a06c0b92155aea6a', 'admin', '9fb3dc842c899aa63d6944a55080b795', '1111', '系统管理员', 10001, 1, 10, '', '', 'zcool321@sina.com', '123', '', '', '时间是最好的老师,但遗憾的是&mdash;&mdash;最后他把所有的学生都弄死了', 'flat', 5, 1, 1, 'test', 1, '2019-07-08 18:12:28', 1, '2017-03-19 20:41:25', 1);
+INSERT INTO `sys_user` VALUES (9, 'xa5450ztN08S37tKj93ujhJ66069q92R', 'test', 'ea8207ee50ccf367e99c8444fda7da32', 'GM26Mq', 'test', 10002, 2, 10, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'default', 0, 1, 0, NULL, 1, '2019-11-12 15:31:31', 1, '2019-07-11 15:49:24', 1);
+INSERT INTO `sys_user` VALUES (12, '8609WdcTI1337Y7e5kQ94v872Z02mh24', 'testLogin', '7f4d0d8db5546f395e87dfd294608b9b', '3n7Ci8', 'testLogin', 10002, 2, 10, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'default', 0, 1, 0, NULL, 1, '2019-11-12 15:31:08', 1, '2019-11-12 15:31:08', 1);
+INSERT INTO `sys_user` VALUES (13, 'PTMB2mcqk87n1x15K84E56T75SY11Q5w', 'testLogout', '961c0645f7ae271d6e1fc1ff01e786d7', '0X6509', 'testLogout', 10002, 2, 10, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'default', 0, 1, 0, NULL, 1, '2019-11-12 15:31:19', 1, '2019-11-12 15:31:19', 1);
+
+-- ----------------------------
+-- Table structure for sys_user_role
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_user_role`;
+CREATE TABLE `sys_user_role`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `user_id` bigint(20) NOT NULL COMMENT '用户id',
+  `role_id` bigint(20) NOT NULL COMMENT '角色id',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户和角色关联' ROW_FORMAT = Compact;
+
+-- ----------------------------
+-- Records of sys_user_role
+-- ----------------------------
+INSERT INTO `sys_user_role` VALUES (1, 1, 1);
+
+SET FOREIGN_KEY_CHECKS = 1;

BIN
deploy/image/1.png


BIN
deploy/image/2.png


BIN
deploy/image/3.png


BIN
deploy/image/4.png


BIN
deploy/image/web1.png


BIN
deploy/image/web2.png


BIN
deploy/image/web3.png


BIN
deploy/image/web4.png


+ 15 - 0
deploy/pkg.sh

@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+
+if [[ ! $2 ]];then
+    echo "do=tidy  or do=vendor"
+    exit 2
+fi
+
+root=$1
+cd ${root}
+
+export GO111MODULE=on
+
+export GOPROXY=https://goproxy.io
+
+go mod $2

BIN
gmanager


+ 12 - 0
go.mod

@@ -0,0 +1,12 @@
+module gmanager
+
+go 1.13
+
+require (
+	github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 // indirect
+	github.com/goflyfox/gtoken v1.4.1
+	github.com/gogf/gf v1.14.5
+	github.com/jsyzchen/pan v0.0.9
+	github.com/jszwec/csvutil v1.6.0
+	go.mongodb.org/mongo-driver v1.3.1
+)

+ 156 - 0
go.sum

@@ -0,0 +1,156 @@
+github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
+github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
+github.com/bitly/go-simplejson v0.5.0 h1:6IH+V8/tVMab511d5bn4M7EwGXZf9Hj6i2xSwkNEM+Y=
+github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA=
+github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY=
+github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4=
+github.com/clbanning/mxj v1.8.5-0.20200714211355-ff02cfb8ea28 h1:LdXxtjzvZYhhUaonAaAKArG3pyC67kGL3YY+6hGG8G4=
+github.com/clbanning/mxj v1.8.5-0.20200714211355-ff02cfb8ea28/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5PVGJng=
+github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
+github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
+github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs=
+github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
+github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
+github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
+github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=
+github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY=
+github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg=
+github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI=
+github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI=
+github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs=
+github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI=
+github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI=
+github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk=
+github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28=
+github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo=
+github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk=
+github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw=
+github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360=
+github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg=
+github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE=
+github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8=
+github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc=
+github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc=
+github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4=
+github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4=
+github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ=
+github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0=
+github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
+github.com/goflyfox/gtoken v1.4.1 h1:mlnu4ZHZVZHvAlUzMNTI3ZO916D1WySvYerimbOOiKY=
+github.com/goflyfox/gtoken v1.4.1/go.mod h1:ylHVvQ4/nTstw81iElcDWFht4LAKL4Pqhw7Ja2UaGAk=
+github.com/gogf/gf v1.14.5 h1:y/4q8rfFtiuIL7PwNUhG8RyBWLlvR1pl44x7/EJeDMI=
+github.com/gogf/gf v1.14.5/go.mod h1:s4b0tkBqHyEWAk/Hwm4hzUCbCbdIPeERxB2wmeBg11g=
+github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4=
+github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
+github.com/gomodule/redigo v2.0.0+incompatible h1:K/R+8tc58AaqLkqG2Ol3Qk+DR/TlNuhuh457pBFPtt0=
+github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4=
+github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ=
+github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
+github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
+github.com/gorilla/websocket v1.4.1 h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM=
+github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
+github.com/grokify/html-strip-tags-go v0.0.0-20190921062105-daaa06bf1aaf h1:wIOAyJMMen0ELGiFzlmqxdcV1yGbkyHBAB6PolcNbLA=
+github.com/grokify/html-strip-tags-go v0.0.0-20190921062105-daaa06bf1aaf/go.mod h1:2Su6romC5/1VXOQMaWL2yb618ARB8iVo6/DR99A6d78=
+github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
+github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
+github.com/json-iterator/go v1.1.10 h1:Kz6Cvnvv2wGdaG/V8yMvfkmNiXq9Ya2KUv4rouJJr68=
+github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
+github.com/jsyzchen/pan v0.0.9 h1:6R4XdueMQ/kC7P7Ja+szkR8PZh2R6i0PuZ7UUFEMrng=
+github.com/jsyzchen/pan v0.0.9/go.mod h1:R/n6SD89FCwMNQLOp29zR7hhCw2Ec30uilSbYiupmgw=
+github.com/jszwec/csvutil v1.6.0 h1:QORXquCT0t8nUKD7utAD4HDmQMgG0Ir9WieZXzpa7ms=
+github.com/jszwec/csvutil v1.6.0/go.mod h1:Rpu7Uu9giO9subDyMCIQfHVDuLrcaC36UA4YcJjGBkg=
+github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4=
+github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
+github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
+github.com/klauspost/compress v1.9.5 h1:U+CaK85mrNNb4k8BNOfgJtJ/gr6kswUCFj6miSzVC6M=
+github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
+github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
+github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
+github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
+github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
+github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
+github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
+github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=
+github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0=
+github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
+github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc=
+github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
+github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 h1:Esafd1046DLDQ0W1YjYsBW+p8U2u7vzgW2SQVmlNazg=
+github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
+github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
+github.com/olekukonko/tablewriter v0.0.1 h1:b3iUnf1v+ppJiOfNX4yxxqfWKMQPZR5yoh8urCTFX88=
+github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
+github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo=
+github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
+github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
+github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
+github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
+github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
+github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
+github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
+github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
+github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
+github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
+github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
+github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
+github.com/syyongx/php2go v0.9.4 h1:qUtETTHzqHzxZK8plkbkb0YawD8bpLpxNsbzHQmb22Y=
+github.com/syyongx/php2go v0.9.4/go.mod h1:meN2eIhhUoxOd2nMxbpe8g6cFPXI5O9/UAAuz7oDdzw=
+github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
+github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
+github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c h1:u40Z8hqBAAQyv+vATcGgV0YCnDjqSL7/q/JyPhhJSPk=
+github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I=
+github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc h1:n+nNi93yXLkJvKwXNP9d55HC7lGK4H/SRcwB5IaUZLo=
+github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y=
+go.mongodb.org/mongo-driver v1.3.1 h1:op56IfTQiaY2679w922KVWa3qcHdml2K/Io8ayAOUEQ=
+go.mongodb.org/mongo-driver v1.3.1/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE=
+golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
+golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5 h1:8dUaAV7K4uHsF56JQWkprecIQKdPHtR9jCHF5nB8uzc=
+golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20200602114024-627f9648deb9 h1:pNX+40auqi2JqRfOP1akLGtYcn15TUbkhwuCO3foqqM=
+golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU=
+golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd h1:xhmwyvizuTgC2qz7ZlMluP20uW+C3Rm0FD/WLDX8884=
+golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
+golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
+gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
+gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
+gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

+ 61 - 0
library/base/baseForm.go

@@ -0,0 +1,61 @@
+package base
+
+import "github.com/gogf/gf/util/gconv"
+
+type BaseForm struct {
+	Page      int    `form:"page",json:"page"`           // 当前页码
+	Rows      int    `form:"rows",json:"rows"`           // 每页多少条
+	TotalPage int    `form:"totalPage",json:"totalPage"` // 总页数
+	TotalSize int    `form:"totalSize",json:"totalSize"` // 总共数据条数
+	OrderBy   string `form:"orderBy",json:"orderBy"`     // 排序
+	Params    map[string]string
+	Object    interface{}
+}
+
+func NewForm(params map[string]interface{}) BaseForm {
+	form := BaseForm{}
+	form.Params = make(map[string]string, 10)
+	// 转换为map[string]string
+	for key, value := range params {
+		form.Params[key] = gconv.String(value)
+	}
+	//  第几页
+	if value, ok := params["page"]; ok {
+		form.Page = gconv.Int(value)
+	}
+	// 页数
+	if value, ok := params["rows"]; ok {
+		form.Rows = gconv.Int(value)
+	}
+	// 排序
+	if value, ok := params["orderBy"]; ok && value != "" {
+		form.OrderBy = gconv.String(value)
+	} else if value2, ok := params["sidx"]; ok && value2 != "" {
+		form.OrderBy = gconv.String(value2)
+		if value3, ok := params["sord"]; ok && value3 != "" {
+			form.OrderBy += " " + gconv.String(value3)
+		}
+	}
+
+	return form
+}
+
+func (form *BaseForm) SetParam(key string, value string) *BaseForm {
+	form.Params[key] = value
+	return form
+}
+
+func (form *BaseForm) SetParams(params map[string]string) *BaseForm {
+	form.Page = gconv.Int(params["page"])
+	form.Rows = gconv.Int(params["rows"])
+	form.OrderBy = gconv.String(params["orderBy"])
+	form.Params = params
+
+	return form
+}
+
+func (form *BaseForm) SetObject(object interface{}) *BaseForm {
+	form.Object = object
+
+	return form
+}

+ 19 - 0
library/base/baseModel.go

@@ -0,0 +1,19 @@
+package base
+
+type BaseModel struct {
+	Enable     int    `json:"enable" gconv:"enable,omitempty"`
+	UpdateTime string `json:"updateTime" gconv:"update_time,omitempty"`
+	UpdateId   int    `json:"updateId" gconv:"update_id,omitempty"`
+	UpdateName string `json:"updateName,omitempty" gconv:"updateName,omitempty"`
+	CreateTime string `json:"createTime" gconv:"create_time,omitempty"`
+	CreateId   int    `json:"createId" gconv:"create_id,omitempty"`
+	CreateName string `json:"createName,omitempty" gconv:"createName,omitempty"`
+}
+
+// 定义model interface
+type IModel interface {
+	// 获取表明
+	TableName() string
+	// 获取主键值
+	PkVal() int
+}

+ 54 - 0
library/base/baseRouter.go

@@ -0,0 +1,54 @@
+package base
+
+import (
+	"github.com/goflyfox/gtoken/gtoken"
+	"github.com/gogf/gf/encoding/gjson"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/os/glog"
+	"gmanager/library/bean"
+	"gmanager/library/resp"
+)
+
+var Token *gtoken.GfToken
+
+// baseRouter implemented global settings for all other routers.
+type BaseRouter struct {
+}
+
+func GetUser(r *ghttp.Request) bean.SessionUser {
+	resp := Token.GetTokenData(r)
+	if !resp.Success() {
+		return bean.SessionUser{}
+	}
+
+	var sessionUser bean.SessionUser
+	err := gjson.DecodeTo(resp.GetString("data"), &sessionUser)
+	if err != nil {
+		glog.Error("get session user error", err)
+	}
+
+	return sessionUser
+}
+
+func Succ(r *ghttp.Request, data interface{}) {
+	r.Response.WriteJson(resp.Succ(data))
+	r.Exit()
+}
+
+func Fail(r *ghttp.Request, msg string) {
+	r.Response.WriteJson(resp.Fail(msg))
+	r.Exit()
+}
+
+func Error(r *ghttp.Request, msg string) {
+	r.Response.WriteJson(resp.Error(msg))
+	r.Exit()
+}
+func Resp(r *ghttp.Request, code int, msg string, data interface{}) {
+	r.Response.WriteJson(resp.Resp{
+		Code: code,
+		Msg:  msg,
+		Data: data,
+	})
+	r.Exit()
+}

+ 8 - 0
library/bean/SessionUser.go

@@ -0,0 +1,8 @@
+package bean
+
+type SessionUser struct {
+	Id       int    `form:"id" json:"id"`               // 主键
+	Uuid     string `form:"uuid" json:"uuid"`           // UUID
+	Username string `form:"username" json:"username"`   // 登录名/11111
+	RealName string `form:"real_name" json:"real_name"` // 真实姓名
+}

+ 85 - 0
library/codeutil/initTable.go

@@ -0,0 +1,85 @@
+package codeutil
+
+import (
+	"fmt"
+	"github.com/gogf/gf/os/gcache"
+	"github.com/gogf/gf/os/gfile"
+	"github.com/gogf/gf/util/gconv"
+	"github.com/jszwec/csvutil"
+	"strings"
+)
+
+// 删除零宽度无分隔符空间
+func DelPrefix(data []byte) []byte {
+	if data == nil || len(data) < 4 {
+		return nil
+	}
+	UTF8_BOM := "\uFEFF"
+	if strings.HasPrefix(string(data), UTF8_BOM) {
+		data = data[3:]
+	}
+	return data
+}
+
+// Item
+func GetItemConfig() *gcache.Cache {
+	var c = gcache.New()
+	csvInput := gfile.GetBytes("./config/server/Item.csv")
+	csvInput = DelPrefix(csvInput)
+	var itemConfigs []ItemConfig
+	if err := csvutil.Unmarshal(csvInput, &itemConfigs); err != nil {
+		fmt.Println("error:", err)
+	}
+	for _, itemConfig := range itemConfigs {
+		c.Set(gconv.String(itemConfig.Id), itemConfig.Note, 0)
+	}
+	return c
+}
+
+// RechargeCommodityConfig
+func GetRechargeCommodityConfig() *gcache.Cache {
+	var c = gcache.New()
+	csvInput := gfile.GetBytes("./config/server/RechargeCommodityConfig.csv")
+	csvInput = DelPrefix(csvInput)
+	var rechargeCommodityConfigs []RechargeCommodityConfig
+	if err := csvutil.Unmarshal(csvInput, &rechargeCommodityConfigs); err != nil {
+		fmt.Println("error:", err)
+	}
+	for _, rechargeCommodityConfig := range rechargeCommodityConfigs {
+		c.Set(gconv.String(rechargeCommodityConfig.Id), rechargeCommodityConfig, 0)
+	}
+	return c
+}
+
+// Reason
+func GetReasonConfig() *gcache.Cache {
+	var c = gcache.New()
+	csvInput := gfile.GetBytes("./config/server/Reason.csv")
+	csvInput = DelPrefix(csvInput)
+	var reasonConfigs []ReasonConfig
+	if err := csvutil.Unmarshal(csvInput, &reasonConfigs); err != nil {
+		fmt.Println("error:", err)
+	}
+	for _, reasonConfig := range reasonConfigs {
+		c.Set(gconv.String(reasonConfig.Id), reasonConfig, 0)
+	}
+	return c
+}
+
+type ReasonConfig struct {
+	Id    string `csv:"Id"`
+	Name  string `csv:"Name"`
+	Notes string `csv:"Notes"`
+}
+
+type RechargeCommodityConfig struct {
+	Id          string `csv:"Id"`
+	Price       string `csv:"Price"`
+	BaseReward  string `csv:"BaseReward"`
+	PriceWeight string `csv:"PriceWeight"`
+}
+
+type ItemConfig struct {
+	Id   string `csv:"Id"`
+	Note string `csv:"Note"`
+}

+ 17 - 0
library/codeutil/uploadUtil.go

@@ -0,0 +1,17 @@
+package codeutil
+
+import (
+	"fmt"
+	"github.com/jsyzchen/pan/file"
+)
+
+// 上传文件到百度网盘
+func UploadBaidu(accessToken string, path string, localFilePath string){
+	fileUploader := file.NewUploader(accessToken, path, localFilePath)
+	res, err := fileUploader.Upload()
+	if err != nil {
+		fmt.Println("err:", err)
+		return
+	}
+	fmt.Println(res)
+}

+ 1070 - 0
library/mongo/gamedao.go

@@ -0,0 +1,1070 @@
+package dao
+
+import (
+	"context"
+	"fmt"
+	"github.com/gogf/gf/container/gmap"
+	"github.com/gogf/gf/frame/g"
+	"gmanager/library/base"
+	"gmanager/library/mongo/util"
+	"log"
+
+	"github.com/gogf/gf/container/garray"
+	"github.com/gogf/gf/os/gtime"
+	"github.com/gogf/gf/util/gconv"
+	"go.mongodb.org/mongo-driver/bson"
+	"go.mongodb.org/mongo-driver/bson/primitive"
+	"go.mongodb.org/mongo-driver/mongo"
+	"go.mongodb.org/mongo-driver/mongo/options"
+)
+
+// 查询多个
+func (m *Mgo) FindAllItemm(form *base.BaseForm) (*mongo.Cursor, int) {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	sid := 0
+	itemType := ""
+	if form.Params["operTable"] != "" {
+		sid = gconv.Int(form.Params["operTable"])
+	}
+
+	filter := bson.D{{"serverid", sid}}
+	SORT := bson.D{{"_id", 1}} //filter := bson.D{{key,value}}
+	Limit := gconv.Int64(form.Rows)
+	Skip := form.Page - 1
+	SkipNum := gconv.Int64(Skip) * Limit
+	groupStage := bson.D{{"$group", bson.D{
+		{"_id", ""},
+		{"sum", bson.D{{"$sum", "$itemNum"}}},
+		{"count", bson.D{{"$sum", 1}}},
+	}}}
+	matchStage := bson.D{{"$match", bson.D{{"serverid", sid}}}}
+	if form.Params["logType"] != "" {
+		itemType = form.Params["logType"]
+		filter = bson.D{{"serverid", sid}, {"type", itemType}}
+		matchStage = bson.D{{"$match", bson.D{{"serverid", sid}, {"type", itemType}}}}
+	}
+	showInfoCursor, err := collection.Aggregate(context.TODO(), mongo.Pipeline{matchStage, groupStage})
+	var showsWithInfo []bson.M
+	if err = showInfoCursor.All(context.TODO(), &showsWithInfo); err != nil {
+		fmt.Println(err)
+	}
+	if showsWithInfo == nil {
+		return nil, 0
+	}
+	datarow := gconv.Int(showsWithInfo[0]["count"])
+	datasum := gconv.Int(showsWithInfo[0]["sum"])
+	form.TotalSize = datarow
+	form.TotalPage = datarow / form.Rows
+	fmt.Println(len(showsWithInfo))
+	findOptions := options.Find().SetSort(SORT).SetLimit(Limit).SetSkip(SkipNum)
+	singleResult, err := collection.Find(context.TODO(), filter, findOptions)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return singleResult, datasum
+}
+
+func (m *Mgo) FindAllTime(form *base.BaseForm) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	//collection.
+	starttime := form.Params["starttime"]
+	if starttime == "" {
+		starttime = gtime.Now().Format("Y-m-d")
+	} else {
+		starttime = gtime.New(gconv.Time(starttime)).Format("Y-m-d")
+	}
+	fmt.Println("--=-" + starttime)
+	filter := bson.D{{"checkTimeday", starttime}}
+	singleResult, _ := collection.Find(context.TODO(), filter)
+	return singleResult
+}
+
+func (m *Mgo) FindDauTime(starttime string) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	filter := bson.D{{"logTime", starttime}}
+	singleResult, _ := collection.Find(context.TODO(), filter)
+	return singleResult
+}
+
+func (m *Mgo) FindDauTimeUser(starttime string, roles interface{}, time string) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection + "_" + starttime).Clone()
+	filter := bson.D{{"userid", bson.M{"$in": roles}}}
+	singleResult, _ := collection.Find(context.TODO(), filter)
+
+	return singleResult
+}
+
+func (m *Mgo) FindDauTimeChannel(starttime string, channel string) int {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection + "_" + starttime).Clone()
+	filter := bson.D{{"channelId", channel}}
+	values, err := collection.Distinct(context.TODO(), "userid", filter)
+	if err != nil {
+		//log.Fatal(err)
+		log.Println(err)
+	}
+	return len(values)
+}
+
+func (m *Mgo) FindRegTime() []bson.M {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	dateBson := bson.M{"$dateToString": bson.M{"format": "%Y-%m-%d", "date": bson.M{"$add": bson.A{gconv.Time(28800), "$register.registerTime"}}}}
+	pipe := []bson.M{
+		{"$project": bson.M{"date": dateBson, "user_id": "$register.openId"}},
+		{"$group": bson.M{"_id": bson.M{"date": "$date", "user": "$user_id"}}},
+		{"$group": bson.M{"_id": "$_id.date", "count": bson.M{"$sum": 1}}},
+		{"$project": bson.M{"date": "$_id", "count": 1, "_id": 0}},
+	}
+	ginfo, err := collection.Aggregate(context.TODO(), pipe)
+	if err != nil {
+		fmt.Println(err)
+	}
+	var showsWithInfo []bson.M
+
+	if err = ginfo.All(context.TODO(), &showsWithInfo); err != nil {
+		fmt.Println(err)
+	}
+	//listMap := gmap.NewListMap(true)
+	//for _, b := range showsWithInfo {
+	//	listMap.Set(b["count"],b["date"])
+	//
+	//}
+	fmt.Println(showsWithInfo)
+	return showsWithInfo
+}
+
+func (m *Mgo) FindDau() []bson.M {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	dateBson := bson.M{"$dateToString": bson.M{"format": "%Y-%m-%d", "date": bson.M{"$add": bson.A{gconv.Time(28800), "$loginTime.loginTime"}}}}
+	pipe := []bson.M{
+		{"$project": bson.M{"date": dateBson, "user_id": "$loginTime.openId"}},
+		{"$group": bson.M{"_id": bson.M{"date": "$date", "user": "$user_id"}}},
+		{"$group": bson.M{"_id": "$_id.date", "count": bson.M{"$sum": 1}}},
+		{"$project": bson.M{"date": "$_id", "count": 1, "_id": 0}},
+	}
+	ginfo, err := collection.Aggregate(context.TODO(), pipe)
+	if err != nil {
+		fmt.Println(err)
+	}
+	var showsWithInfo []bson.M
+
+	if err = ginfo.All(context.TODO(), &showsWithInfo); err != nil {
+		fmt.Println(err)
+	}
+	fmt.Println(showsWithInfo)
+	return showsWithInfo
+}
+
+func (m *Mgo) FindNew(startTime int64, endTime int64) *garray.Array {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	//filter := bson.D{bson.M{"register.registerTime":bson.D{{"$gte",startTime},{"$lte",endTime}}}, "_id": 1}
+	filter := bson.D{{"register.registerTime", bson.D{{"$gte", startTime}, {"$lte", endTime}}}}
+	//oppo:=bson.M{"register.openId": 1}
+	var findoptions *options.FindOptions
+	singleResult, err := collection.Find(context.TODO(), filter, findoptions)
+	if err != nil {
+		fmt.Println(err)
+	}
+	var showsWithInfo []bson.M
+
+	if err = singleResult.All(context.TODO(), &showsWithInfo); err != nil {
+		fmt.Println(err)
+	}
+	list := garray.New(false)
+	for _, b := range showsWithInfo {
+		s2 := b["register"].(primitive.M)
+		list.Append(s2["uid"])
+	}
+	return list
+}
+func (m *Mgo) FindNewByServerId(startTime int64, endTime int64, serverId string) *garray.Array {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	//filter := bson.D{bson.M{"register.registerTime":bson.D{{"$gte",startTime},{"$lte",endTime}}}, "_id": 1}
+	filter := bson.D{{"register.serverId", serverId}, {"register.registerTime", bson.D{{"$gte", startTime}, {"$lte", endTime}}}}
+	//oppo:=bson.M{"register.openId": 1}
+	var findoptions *options.FindOptions
+	singleResult, err := collection.Find(context.TODO(), filter, findoptions)
+	if err != nil {
+		fmt.Println(err)
+	}
+	var showsWithInfo []bson.M
+
+	if err = singleResult.All(context.TODO(), &showsWithInfo); err != nil {
+		fmt.Println(err)
+	}
+	list := garray.New(false)
+	for _, b := range showsWithInfo {
+		s2 := b["register"].(primitive.M)
+		list.Append(s2["uid"])
+	}
+	return list
+}
+
+func (m *Mgo) FindLogin(startTime int64, endTime int64, roles interface{}) int {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	//filter := bson.D{bson.M{"register.registerTime":bson.D{{"$gte",startTime},{"$lte",endTime}}}, "_id": 1}
+	filter := bson.D{
+		{"loginTime.loginTime", bson.D{{"$gte", startTime}, {"$lte", endTime}}},
+		{"loginTime.uid", bson.M{"$in": roles}}}
+	//oppo:=bson.M{"register.openId": 1}
+	var findoptions *options.FindOptions
+	singleResult, err := collection.Find(context.TODO(), filter, findoptions)
+	if err != nil {
+		fmt.Println(err)
+	}
+	var showsWithInfo []bson.M
+
+	if err = singleResult.All(context.TODO(), &showsWithInfo); err != nil {
+		fmt.Println(err)
+	}
+	list := garray.New(false)
+	for _, b := range showsWithInfo {
+		s2 := b["loginTime"].(primitive.M)
+		if list.Contains(s2["uid"]) {
+			continue
+		}
+		list.Append(s2["uid"])
+	}
+	return list.Len()
+}
+
+// 充值过的用户
+func (m *Mgo) FindPay(startTime string, endTime string, roles interface{}, serverId string) int {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	//filter := bson.D{bson.M{"register.registerTime":bson.D{{"$gte",startTime},{"$lte",endTime}}}, "_id": 1}
+	filter := bson.D{}
+	if serverId == "" {
+		filter = bson.D{
+			{"creattime", bson.D{{"$gte", startTime}, {"$lte", endTime}}},
+			{"status", gconv.Int32(1)},
+			{"handlestatus", gconv.Int32(1)},
+			{"uid", bson.M{"$in": roles}}}
+	} else {
+		filter = bson.D{
+			{"creattime", bson.D{{"$gte", startTime}, {"$lte", endTime}}},
+			{"status", gconv.Int32(1)},
+			{"handlestatus", gconv.Int32(1)},
+			{"region", gconv.Int32(serverId)},
+			{"uid", bson.M{"$in": roles}}}
+	}
+	//oppo:=bson.M{"register.openId": 1}
+	var findoptions *options.FindOptions
+	singleResult, err := collection.Find(context.TODO(), filter, findoptions)
+	if err != nil {
+		fmt.Println(err)
+	}
+	var showsWithInfo []bson.M
+
+	if err = singleResult.All(context.TODO(), &showsWithInfo); err != nil {
+		fmt.Println(err)
+	}
+	list := garray.New(false)
+	for _, b := range showsWithInfo {
+		if list.Contains(b["uid"]) {
+			continue
+		}
+		list.Append(b["uid"])
+	}
+	return list.Len()
+}
+
+func (m *Mgo) FindLogin1(startTime int64, endTime int64, roles interface{}, serverId string) int {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	//filter := bson.D{bson.M{"register.registerTime":bson.D{{"$gte",startTime},{"$lte",endTime}}}, "_id": 1}
+	filter := bson.D{
+		{"loginTime.loginTime", bson.D{{"$gte", startTime}, {"$lte", endTime}}},
+		{"loginTime.serverId", serverId},
+		{"loginTime.uid", bson.M{"$in": roles}}}
+	//oppo:=bson.M{"register.openId": 1}
+	var findoptions *options.FindOptions
+	singleResult, err := collection.Find(context.TODO(), filter, findoptions)
+	if err != nil {
+		fmt.Println(err)
+	}
+	var showsWithInfo []bson.M
+
+	if err = singleResult.All(context.TODO(), &showsWithInfo); err != nil {
+		fmt.Println(err)
+	}
+	list := garray.New(false)
+	for _, b := range showsWithInfo {
+		s2 := b["loginTime"].(primitive.M)
+		if list.Contains(s2["uid"]) {
+			continue
+		}
+		list.Append(s2["uid"])
+	}
+	return list.Len()
+}
+
+func (m *Mgo) FindLogin2(startTime int64, endTime int64) int {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	//filter := bson.D{bson.M{"register.registerTime":bson.D{{"$gte",startTime},{"$lte",endTime}}}, "_id": 1}
+	filter := bson.D{
+		{"loginTime.loginTime", bson.D{{"$gte", startTime}, {"$lte", endTime}}}}
+	//oppo:=bson.M{"register.openId": 1}
+	var findoptions *options.FindOptions
+	singleResult, err := collection.Find(context.TODO(), filter, findoptions)
+	if err != nil {
+		fmt.Println(err)
+	}
+	var showsWithInfo []bson.M
+
+	if err = singleResult.All(context.TODO(), &showsWithInfo); err != nil {
+		fmt.Println(err)
+	}
+	list := garray.New(false)
+	for _, b := range showsWithInfo {
+		s2 := b["loginTime"].(primitive.M)
+		if list.Contains(s2["uid"]) {
+			continue
+		}
+		list.Append(s2["uid"])
+	}
+	return list.Len()
+}
+
+//查询各服务器的注册人数
+func (m *Mgo) FindRegisterByServer(startTime int64, endTime int64) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	groupStage := bson.D{{"$group", bson.D{
+		{"_id", "$register.serverId"},
+		{"count", bson.D{{"$sum", 1}}},
+	}}}
+	matchStage := bson.D{{"$match", bson.D{{"register.registerTime", bson.D{{"$gte", startTime}, {"$lte", endTime}}}}}}
+	showInfoCursor, err := collection.Aggregate(context.TODO(), mongo.Pipeline{matchStage, groupStage})
+	if err != nil {
+		fmt.Println(err)
+	}
+	return showInfoCursor
+}
+
+//查询各服务器的登录人数
+func (m *Mgo) FindLoginByServer(startTime int64, endTime int64) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	pipe := []bson.M{
+		{"$match": bson.M{"loginTime.loginTime": bson.M{"$gte": startTime, "$lte": endTime}}},
+		{"$group": bson.M{"_id": bson.M{"serverId": "$loginTime.serverId", "uid": "$loginTime.uid"}, "count": bson.M{"$sum": 1}}},
+		{"$project": bson.M{"serverId": "$_id.serverId", "uid": "$_id.uid", "count": 1}},
+	}
+	showInfoCursor, err := collection.Aggregate(context.TODO(), pipe)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return showInfoCursor
+}
+
+func (m *Mgo) FindLiuCun(filter bson.D, serverId string) *mongo.Cursor {
+	client := DB.Mongo
+	if serverId == "" {
+		collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+		//oppo:=bson.M{"register.openId": 1}
+		singleResult, err := collection.Find(context.TODO(), filter)
+		if err != nil {
+			fmt.Println(err)
+		}
+		return singleResult
+	} else {
+		collection, _ := client.Database(m.database).Collection(m.collection + "_" + serverId).Clone()
+		//oppo:=bson.M{"register.openId": 1}
+		singleResult, err := collection.Find(context.TODO(), filter)
+		if err != nil {
+			fmt.Println(err)
+		}
+		return singleResult
+	}
+
+}
+
+func (m *Mgo) FindHour(filter bson.D, page util.Page) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	SORT := bson.D{{"_id", -1}} //1:升序; -1:降序
+	findOptions := options.Find().SetSort(SORT).SetLimit(page.PageSize).SetSkip(gconv.Int64(page.PageSize * (page.CurrentPage - 1)))
+	singleResult, err := collection.Find(context.TODO(), filter, findOptions)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return singleResult
+}
+func (m *Mgo) GetDataByTimeDesc(filter bson.D, page util.Page) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	SORT := bson.D{{"creatday", -1}} //1:升序; -1:降序
+	findOptions := options.Find().SetSort(SORT).SetLimit(page.PageSize).SetSkip(gconv.Int64(page.PageSize * (page.CurrentPage - 1)))
+	singleResult, err := collection.Find(context.TODO(), filter, findOptions)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return singleResult
+}
+
+func (m *Mgo) GetDataByServerTimeDesc(filter bson.D, page util.Page, serverId string) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection + "_" + serverId).Clone()
+	SORT := bson.D{{"creatday", -1}} //1:升序; -1:降序
+	findOptions := options.Find().SetSort(SORT).SetLimit(page.PageSize).SetSkip(gconv.Int64(page.PageSize * (page.CurrentPage - 1)))
+	singleResult, err := collection.Find(context.TODO(), filter, findOptions)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return singleResult
+}
+func (m *Mgo) GetDataByServerTimeDesc2(filter bson.D, page util.Page, serverId string) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database + serverId).Collection(m.collection).Clone()
+	SORT := bson.D{{"time", -1}} //1:升序; -1:降序
+	findOptions := options.Find().SetSort(SORT).SetLimit(page.PageSize).SetSkip(gconv.Int64(page.PageSize * (page.CurrentPage - 1)))
+	singleResult, err := collection.Find(context.TODO(), filter, findOptions)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return singleResult
+}
+func (m *Mgo) FindHourByServer(filter bson.D, page util.Page, serverId string) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection + "_" + serverId).Clone()
+	SORT := bson.D{{"_id", -1}} //1:升序; -1:降序
+	findOptions := options.Find().SetSort(SORT).SetLimit(page.PageSize).SetSkip(gconv.Int64(page.PageSize * (page.CurrentPage - 1)))
+	singleResult, err := collection.Find(context.TODO(), filter, findOptions)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return singleResult
+}
+
+func (m *Mgo) FindListByServer(filter bson.D, serverId string) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection + "_" + serverId).Clone()
+	singleResult, err := collection.Find(context.TODO(), filter)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return singleResult
+}
+
+func (m *Mgo) FindUser(filter bson.D, serverId string) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database + serverId).Collection(m.collection).Clone()
+	//oppo:=bson.M{"register.openId": 1}
+	singleResult, err := collection.Find(context.TODO(), filter)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return singleResult
+}
+
+func (m *Mgo) FindLV(serverId string) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database + serverId).Collection(m.collection).Clone()
+	pipe := []bson.M{
+		{"$group": bson.M{"_id": "$playerManager.level", "value": bson.M{"$sum": 1}}},
+		{"$sort": bson.M{"_id": 1}},
+	}
+	showInfoCursor, err := collection.Aggregate(context.TODO(), pipe)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return showInfoCursor
+}
+
+func (m *Mgo) FindVIP(serverId string) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database + serverId).Collection(m.collection).Clone()
+	pipe := []bson.M{
+		{"$group": bson.M{"_id": "$playerManager.vipLevel", "value": bson.M{"$sum": 1}}},
+		{"$sort": bson.M{"_id": 1}},
+	}
+	showInfoCursor, err := collection.Aggregate(context.TODO(), pipe)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return showInfoCursor
+}
+
+func (m *Mgo) FindServerInfoList(filter bson.D) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	singleResult, err := collection.Find(context.TODO(), filter)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return singleResult
+}
+
+
+// 新增服务器信息
+func (m *Mgo) AddServer(value interface{}) *mongo.InsertOneResult {
+	client := DB.Mongo
+	collection := client.Database(m.database).Collection(m.collection)
+	insertResult, err := collection.InsertOne(context.TODO(), value)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return insertResult
+}
+
+// 更新服务器信息
+func (m *Mgo) UpdateServer(id int, value interface{}) *mongo.UpdateResult {
+	serverInfo := gconv.Map(value)
+	client := DB.Mongo
+	collection := client.Database(m.database).Collection(m.collection)
+	filter := bson.D{{"_id", id}}
+	update := bson.D{{"$set", bson.D{
+		{"name", gconv.String(serverInfo["Name"])},
+		{"ip", gconv.String(serverInfo["Ip"])},
+		{"port", gconv.String(serverInfo["Port"])},
+		{"plat", gconv.String(serverInfo["Plat"])},
+		{"state", gconv.String(serverInfo["State"])},
+		{"open_time", gconv.String(serverInfo["OpenTime"])},
+		{"open_type", gconv.String(serverInfo["OpenType"])},
+		{"is_banreg", gconv.String(serverInfo["IsBanreg"])},
+		{"is_new", gconv.String(serverInfo["IsNew"])},
+		{"server_version", gconv.String(serverInfo["ServerVersion"])},
+		{"gm_ip", gconv.String(serverInfo["GMIp"])},
+		{"gm_port", gconv.String(serverInfo["GMPort"])},
+		{"isWhite", gconv.String(serverInfo["IsWhite"])},
+		{"currency", gconv.String(serverInfo["Currency"])},
+		{"time_zone", gconv.String(serverInfo["Timezone"])},
+		{"exportdata", gconv.String(serverInfo["Exportdata"])},
+	}}}
+	updateResult, err := collection.UpdateOne(context.TODO(), filter, update)
+	fmt.Println(updateResult)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return updateResult
+}
+
+func (m *Mgo) DelServer(filter bson.D) *mongo.DeleteResult {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	deleteResult, err := collection.DeleteOne(context.TODO(), filter)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return deleteResult
+}
+
+//白名单列表
+func (m *Mgo) FindWhiteList(filter bson.D, page util.Page) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	SORT := bson.D{{"_id", -1}} //1:升序; -1:降序
+	findOptions := options.Find().SetSort(SORT).SetLimit(page.PageSize).SetSkip(gconv.Int64(page.PageSize * (page.CurrentPage - 1)))
+	singleResult, err := collection.Find(context.TODO(), filter, findOptions)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return singleResult
+}
+
+//黑名单列表
+func (m *Mgo) FindBlackList(filter bson.D, page util.Page) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	SORT := bson.D{{"_id", -1}} //1:升序; -1:降序
+	findOptions := options.Find().SetSort(SORT).SetLimit(page.PageSize).SetSkip(gconv.Int64(page.PageSize * (page.CurrentPage - 1)))
+	singleResult, err := collection.Find(context.TODO(), filter, findOptions)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return singleResult
+}
+
+//新增、更新单个
+func (m *Mgo) AddWhiteList(id int, value interface{}) *mongo.UpdateResult {
+	client := DB.Mongo
+	collection := client.Database(m.database).Collection(m.collection)
+	filter := bson.D{{"_id", id}}
+	update := bson.D{{"$set", value}}
+	fmt.Println(value)
+	options1 := options.Update().SetUpsert(true)
+	updateResult, err := collection.UpdateOne(context.TODO(), filter, update, options1)
+	fmt.Println(updateResult)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return updateResult
+}
+
+//新增、更新单个
+func (m *Mgo) AddBlackList(id string, openid string, value interface{}) int {
+	res := 1
+	client := DB.Mongo
+	collection := client.Database(m.database).Collection(m.collection)
+	//如果id为空 添加
+	if id == "" {
+		insertResult, err := collection.InsertOne(context.TODO(), value)
+		fmt.Println(insertResult)
+		if err != nil {
+			res = 0
+			fmt.Println(err)
+		}
+	} else {
+		obj_id, _ := primitive.ObjectIDFromHex(id)
+		filter := bson.D{{"_id", obj_id}}
+		update := bson.D{{"$set", value}}
+		//options1 := options.Update().SetUpsert(true)
+		updateResult, err := collection.UpdateOne(context.TODO(), filter, update)
+		fmt.Println(updateResult)
+		if err != nil {
+			res = 0
+			fmt.Println(err)
+		}
+	}
+	return res
+}
+
+func (m *Mgo) DelWhiteList(filter bson.D) *mongo.DeleteResult {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	deleteResult, err := collection.DeleteOne(context.TODO(), filter)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return deleteResult
+}
+
+func (m *Mgo) DelBlackList(filter bson.D) *mongo.DeleteResult {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	deleteResult, err := collection.DeleteOne(context.TODO(), filter)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return deleteResult
+}
+
+//公告
+func (m *Mgo) FindNoticeInfo(filter bson.D) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	singleResult, err := collection.Find(context.TODO(), filter)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return singleResult
+}
+
+//新增、更新单个
+func (m *Mgo) AddNoticeInfo(id string, value interface{}) *mongo.UpdateResult {
+	client := DB.Mongo
+	collection := client.Database(m.database).Collection(m.collection)
+	filter := bson.D{{"_id", id}}
+	update := bson.D{{"$set", value}}
+	fmt.Println(value)
+	options1 := options.Update().SetUpsert(true)
+	updateResult, err := collection.UpdateOne(context.TODO(), filter, update, options1)
+	fmt.Println(updateResult)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return updateResult
+}
+
+func (m *Mgo) DelNoticeInfo(filter bson.D) *mongo.DeleteResult {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	deleteResult, err := collection.DeleteOne(context.TODO(), filter)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return deleteResult
+}
+
+func (m *Mgo) FindRechargeInfo(filter bson.D, serverId string) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database + serverId).Collection(m.collection).Clone()
+	singleResult, err := collection.Find(context.TODO(), filter)
+	if err != nil {
+		fmt.Println("err==================", err)
+	}
+	return singleResult
+}
+
+//查询一天的注册/登录人数 例:creatDay = "2021-06-08"
+func (m *Mgo) GetOneDayRegister(creatDay string) int {
+	client := DB.Mongo
+	sum := 0
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	matchStage := bson.D{{"$match", bson.D{{"creatday", creatDay}}}}
+	groupStage := bson.D{{"$group", bson.D{
+		{"_id", "$creatday"},
+		{"sum", bson.D{{"$sum", "$newuser"}}},
+	}}}
+	singleResult, err := collection.Aggregate(context.TODO(), mongo.Pipeline{matchStage, groupStage})
+	if err != nil {
+		fmt.Println(err)
+	}
+	var showsWithInfo []bson.M
+	if err = singleResult.All(context.TODO(), &showsWithInfo); err != nil {
+		fmt.Println(err)
+	}
+	for _, b := range showsWithInfo {
+		sum = sum + gconv.Int(b["sum"])
+	}
+	return sum
+}
+func (m *Mgo) GetOneDayRegisterByServer(creatDay string, serverId string) int {
+	client := DB.Mongo
+	sum := 0
+	collection, _ := client.Database(m.database).Collection(m.collection + "_" + serverId).Clone()
+	matchStage := bson.D{{"$match", bson.D{{"creatday", creatDay}}}}
+	groupStage := bson.D{{"$group", bson.D{
+		{"_id", "$creatday"},
+		{"sum", bson.D{{"$sum", "$newuser"}}},
+	}}}
+	singleResult, err := collection.Aggregate(context.TODO(), mongo.Pipeline{matchStage, groupStage})
+	if err != nil {
+		fmt.Println(err)
+	}
+	var showsWithInfo []bson.M
+	if err = singleResult.All(context.TODO(), &showsWithInfo); err != nil {
+		fmt.Println(err)
+	}
+	for _, b := range showsWithInfo {
+		sum = sum + gconv.Int(b["sum"])
+	}
+	return sum
+}
+
+//查询注册账号数
+func (m *Mgo) GetOneDayRegisterAccount(creatDay string, serverId string) int {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	startTime := gtime.NewFromStr(creatDay)
+	//时间范围
+	daystartTime := startTime.Local().TimestampMilli()
+	dayendTime := startTime.Clone().AddDate(0, 0, 1).Local().TimestampMilli() - 1
+	//注册时间条件
+	pipe := []bson.M{}
+	if serverId == "" {
+		pipe = []bson.M{
+			{"$match": bson.M{"register.registerTime": bson.M{"$gte": daystartTime, "$lte": dayendTime}}},
+			{"$group": bson.M{"_id": bson.M{"openId": "$register.openId"}, "count": bson.M{"$sum": 1}}},
+			{"$project": bson.M{"openId": "$_id.openId", "count": 1}},
+		}
+	} else {
+		pipe = []bson.M{
+			{"$match": bson.M{"register.serverId": serverId, "register.registerTime": bson.M{"$gte": daystartTime, "$lte": dayendTime}}},
+			{"$group": bson.M{"_id": bson.M{"openId": "$register.openId"}, "count": bson.M{"$sum": 1}}},
+			{"$project": bson.M{"openId": "$_id.openId", "count": 1}},
+		}
+	}
+	showInfoCursor, err := collection.Aggregate(context.TODO(), pipe)
+	if err != nil {
+		fmt.Println(err)
+	}
+	var showsWithInfo []bson.M
+	if err = showInfoCursor.All(context.TODO(), &showsWithInfo); err != nil {
+		fmt.Println(err)
+	}
+	return len(showsWithInfo)
+}
+
+func (m *Mgo) GetLoginNum(filter bson.D) int {
+	sum := 0
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	singleResult, err := collection.Find(context.TODO(), filter)
+	if err != nil {
+		fmt.Println(err)
+	}
+	var showsWithInfo []bson.M
+	if err = singleResult.All(context.TODO(), &showsWithInfo); err != nil {
+		fmt.Println(err)
+	}
+	for _, b := range showsWithInfo {
+		sum = sum + gconv.Int(b["newuser"])
+	}
+	return sum
+}
+
+//获得当天老用户登录数(当天登录人数-当天注册人数)
+func (m *Mgo) GetOldUserLoginNum(creatDay string) int {
+	client := DB.Mongo
+	startTime := gtime.NewFromStr(creatDay)
+	//时间范围
+	daystartTime := startTime.Local().TimestampMilli()
+	dayendTime := startTime.Clone().AddDate(0, 0, 1).Local().TimestampMilli() - 1
+	//注册时间条件
+	filter := bson.D{{"register.registerTime", bson.D{{"$gte", daystartTime}, {"$lte", dayendTime}}}}
+	var findoptions *options.FindOptions
+	collection, _ := client.Database(g.Config().GetString("db.core")).Collection("logRegister").Clone()
+	singleResult, err := collection.Find(context.TODO(), filter, findoptions)
+	if err != nil {
+		fmt.Println(err)
+	}
+	var showsWithInfo []bson.M
+	if err = singleResult.All(context.TODO(), &showsWithInfo); err != nil {
+		fmt.Println(err)
+	}
+	list := garray.New(false)
+	//遍历加入注册用户集合
+	for _, b := range showsWithInfo {
+		s2 := b["register"].(primitive.M)
+		list.Append(s2["uid"])
+	}
+	//fmt.Println("注册=======================", list)
+	usersList := gconv.SliceAny(list)
+	collection1, _ := client.Database(g.Config().GetString("db.core")).Collection("logLogin").Clone()
+	//查询登录用户条件
+	filter1 := bson.D{
+		{"loginTime.loginTime", bson.D{{"$gte", daystartTime}, {"$lte", dayendTime}}},
+		{"loginTime.uid", bson.M{"$nin": gconv.Ints(usersList)}}}
+	var findoptions1 *options.FindOptions
+	singleResult1, err := collection1.Find(context.TODO(), filter1, findoptions1)
+	if err != nil {
+		fmt.Println(err)
+	}
+	var showsWithInfo1 []bson.M
+
+	if err = singleResult1.All(context.TODO(), &showsWithInfo1); err != nil {
+		fmt.Println(err)
+	}
+	list1 := garray.New(false)
+	for _, b := range showsWithInfo1 {
+		s2 := b["loginTime"].(primitive.M)
+		if list1.Contains(s2["uid"]) {
+			continue
+		}
+		list1.Append(s2["uid"])
+	}
+	//fmt.Println("登录=======================",list1)
+	return list1.Len()
+}
+func (m *Mgo) GetOldUserLoginNumByServer(creatDay string, serverId string) int {
+	client := DB.Mongo
+	startTime := gtime.NewFromStr(creatDay)
+	//时间范围
+	daystartTime := startTime.Local().TimestampMilli()
+	dayendTime := startTime.Clone().AddDate(0, 0, 1).Local().TimestampMilli() - 1
+	//注册时间条件
+	filter := bson.D{
+		{"register.serverId", serverId},
+		{"register.registerTime", bson.D{{"$gte", daystartTime}, {"$lte", dayendTime}}},
+	}
+	var findoptions *options.FindOptions
+	collection, _ := client.Database(g.Config().GetString("db.core")).Collection("logRegister").Clone()
+	singleResult, err := collection.Find(context.TODO(), filter, findoptions)
+	if err != nil {
+		fmt.Println(err)
+	}
+	var showsWithInfo []bson.M
+	if err = singleResult.All(context.TODO(), &showsWithInfo); err != nil {
+		fmt.Println(err)
+	}
+	list := garray.New(false)
+	//遍历加入注册用户集合
+	for _, b := range showsWithInfo {
+		s2 := b["register"].(primitive.M)
+		list.Append(s2["uid"])
+	}
+	//fmt.Println("注册=======================", list)
+	usersList := gconv.SliceAny(list)
+	collection1, _ := client.Database(g.Config().GetString("db.core")).Collection("logLogin").Clone()
+	//查询登录用户条件
+	filter1 := bson.D{
+		{"loginTime.serverId", serverId},
+		{"loginTime.loginTime", bson.D{{"$gte", daystartTime}, {"$lte", dayendTime}}},
+		{"loginTime.uid", bson.M{"$nin": gconv.Ints(usersList)}}}
+	var findoptions1 *options.FindOptions
+	singleResult1, err := collection1.Find(context.TODO(), filter1, findoptions1)
+	if err != nil {
+		fmt.Println(err)
+	}
+	var showsWithInfo1 []bson.M
+
+	if err = singleResult1.All(context.TODO(), &showsWithInfo1); err != nil {
+		fmt.Println(err)
+	}
+	list1 := garray.New(false)
+	for _, b := range showsWithInfo1 {
+		s2 := b["loginTime"].(primitive.M)
+		if list1.Contains(s2["uid"]) {
+			continue
+		}
+		list1.Append(s2["uid"])
+	}
+	//fmt.Println("登录=======================",list1)
+	return list1.Len()
+}
+
+func (m *Mgo) GetPayInfoTask(filter bson.D) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	singleResult, err := collection.Find(context.TODO(), filter)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return singleResult
+}
+
+//插入单个
+func (m *Mgo) InsertOneByServer(value interface{}, serverId string) *mongo.InsertOneResult {
+	client := DB.Mongo
+	collection := client.Database(m.database).Collection(m.collection + "_" + serverId)
+	insertResult, err := collection.InsertOne(context.TODO(), value)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return insertResult
+}
+
+// 添加修改 统计充值汇总
+func (m *Mgo) InsertAndUpdateStatisticalRecharge(id primitive.ObjectID, value interface{}, serverId string) *mongo.UpdateResult {
+	statisticalRecharge := gconv.Map(value)
+	client := DB.Mongo
+	filter := bson.D{{"_id", id}}
+	update := bson.D{{"$set", bson.D{
+		{"creatday", gconv.String(statisticalRecharge["creatday"])},
+		{"new_recharge_num", gconv.Int32(statisticalRecharge["newrechargenum"])},
+		{"new_recharge_amount", gconv.Float64(statisticalRecharge["newrechargeamount"])},
+		{"new_recharge_count", gconv.Int32(statisticalRecharge["newrechargecount"])},
+		{"recharge_num", gconv.Int32(statisticalRecharge["rechargenum"])},
+		{"recharge_amount", gconv.Float64(statisticalRecharge["rechargeamount"])},
+		{"recharge_count", gconv.Int32(statisticalRecharge["rechargecount"])},
+	}}}
+	options := options.Update().SetUpsert(true)
+	if serverId == "" {
+		collection := client.Database(m.database).Collection(m.collection)
+		updateResult, err := collection.UpdateOne(context.TODO(), filter, update, options)
+		if err != nil {
+			fmt.Println(err)
+		}
+		return updateResult
+	} else {
+		collection := client.Database(m.database).Collection(m.collection + "_" + serverId)
+		updateResult, err := collection.UpdateOne(context.TODO(), filter, update, options)
+		if err != nil {
+			fmt.Println(err)
+		}
+		return updateResult
+	}
+}
+
+// pay表 取符合条件的服务器id
+func (m *Mgo) GetPayServerId(filter bson.D) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	pipe := []bson.M{
+		{"$match": filter},
+		{"$group": bson.M{"_id": bson.M{"region": "$region"}}},
+		{"$project": bson.M{"region": "$_id.region"}},
+	}
+	showInfoCursor, err := collection.Aggregate(context.TODO(), pipe)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return showInfoCursor
+}
+
+//查询当日新增玩家累计付费信息
+func (m *Mgo) GetTodayNewCumulativeRecharge(todayUsers []interface{}, creatDay string, serverid string) interface{} {
+	amount, count, num := 0, 0, 0
+	resMap := gmap.New()
+	userList := garray.New(false)
+	todayBs := bson.D{}
+	if serverid == "" {
+		todayBs = bson.D{
+			{"uid", bson.M{"$in": gconv.Ints(todayUsers)}},
+			{"status", gconv.Int32(1)},
+			{"handlestatus", gconv.Int32(1)},
+			{"creattime", bson.D{{"$lte", creatDay + " 23:59:59"}}}}
+	} else {
+		todayBs = bson.D{
+			{"uid", bson.M{"$in": gconv.Ints(todayUsers)}},
+			{"status", gconv.Int32(1)},
+			{"handlestatus", gconv.Int32(1)},
+			{"region", gconv.Int32(serverid)},
+			{"creattime", bson.D{{"$lte", creatDay + " 23:59:59"}}}}
+	}
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	singleResult, err := collection.Find(context.TODO(), todayBs)
+	if err != nil {
+		fmt.Println(err)
+	}
+	var showsWithInfo []bson.M
+	if err = singleResult.All(context.TODO(), &showsWithInfo); err != nil {
+		fmt.Println(err)
+	}
+	for _, v := range showsWithInfo {
+		if !userList.Contains(v["uid"]) {
+			num = num + 1
+		}
+		userList.Append(v["uid"])
+		count = count + 1
+		amount = amount + gconv.Int(v["money"])
+	}
+	resMap.Set("amount", amount)
+	resMap.Set("count", count)
+	resMap.Set("num", num)
+	return resMap
+}
+
+
+func (m *Mgo) GetLtvStatistical(startTime string, endTime string, roles interface{}, serverId string) int64 {
+	var res int64
+	res = 0
+	client := DB.Mongo
+	collection, _ := client.Database(m.database).Collection(m.collection).Clone()
+	filter := bson.D{}
+	if (serverId == "") {
+		filter = bson.D{
+			{"creattime", bson.D{{"$gte", startTime}, {"$lte", endTime}}},
+			{"uid", bson.M{"$in": roles}},
+			{"status", gconv.Int32(1)},
+			{"handlestatus", gconv.Int32(1)},
+		}
+	} else {
+		filter = bson.D{
+			{"creattime", bson.D{{"$gte", startTime}, {"$lte", endTime}}},
+			{"uid", bson.M{"$in": roles}},
+			{"region", gconv.Int32(serverId)},
+			{"status", gconv.Int32(1)},
+			{"handlestatus", gconv.Int32(1)},
+		}
+	}
+	var findoptions *options.FindOptions
+	singleResult, err := collection.Find(context.TODO(), filter, findoptions)
+	if err != nil {
+		fmt.Println(err)
+	}
+	var showsWithInfo []bson.M
+
+	if err = singleResult.All(context.TODO(), &showsWithInfo); err != nil {
+		fmt.Println(err)
+	}
+	for _, b := range showsWithInfo {
+		res = res + (gconv.Int64(b["money"]))
+	}
+	return res
+}
+
+func (m *Mgo) FindUserList(filter bson.M, serverId string, projection bson.M) *mongo.Cursor {
+	client := DB.Mongo
+	collection, _ := client.Database(m.database + serverId).Collection(m.collection).Clone()
+	//oppo:=bson.M{"register.openId": 1}
+	options := options.Find().SetProjection(projection)
+	singleResult, err := collection.Find(context.TODO(), filter,options)
+	if err != nil {
+		fmt.Println(err)
+	}
+	return singleResult
+}

+ 20 - 0
library/mongo/gameinfo/BlackList.go

@@ -0,0 +1,20 @@
+package gameinfo
+
+import (
+	"github.com/gogf/gf/frame/g"
+	dao "gmanager/library/mongo"
+	"go.mongodb.org/mongo-driver/bson/primitive"
+)
+
+type BlackList struct {
+	Id     primitive.ObjectID `bson:"_id"  	 		json:"id"`
+	OpenId string             `bson:"openId"     	json:"openId"`
+}
+
+var (
+	// Table is the table name of account.
+	TableBlackList      = "black_user_list"
+	BlackListTablbeName = g.Config().GetString("db.core")
+	// Model is the model object of account.
+	ModelBlackList = dao.NewMgo(BlackListTablbeName, TableBlackList)
+)

+ 27 - 0
library/mongo/gameinfo/ItemLog.go

@@ -0,0 +1,27 @@
+package gameinfo
+
+import (
+	"github.com/gogf/gf/frame/g"
+	dao "gmanager/library/mongo"
+	"go.mongodb.org/mongo-driver/bson/primitive"
+)
+
+type ItemLog struct {
+	Id           primitive.ObjectID `bson:"_id"  	 		json:"id"`
+	Uid          int32              `bson:"uid"     json:"uid"`
+	Type         int32              `bson:"type"       json:"type"`
+	Level        int32              `bson:"level"       json:"level"`
+	Time         string             `bson:"time"       json:"time"`
+	Reason       int32              `bson:"reason"       json:"reason"`
+	ItemId       int32              `bson:"itemId"       json:"itemId"`
+	ItemNum      int32              `bson:"itemnum"       json:"itemnum"`
+	ItemTotalNum int32              `bson:"itemTotalNum"       json:"itemTotalNum"`
+	ExitInfo     string             `bson:"exitInfo"       json:"exitInfo"`
+}
+
+var (
+	// TableGemlog is the table name of gemlog.
+	TableItemlog = "itemLog"
+	// ModelGemlog is the model object of gemlog.
+	ModelItemlog = dao.NewMgo(g.Config().GetString("db.prefix"), TableItemlog)
+)

+ 25 - 0
library/mongo/gameinfo/LogHour.go

@@ -0,0 +1,25 @@
+package gameinfo
+
+import (
+	"github.com/gogf/gf/frame/g"
+	dao "gmanager/library/mongo"
+
+	"go.mongodb.org/mongo-driver/bson/primitive"
+)
+
+type LogHour struct {
+	Id        primitive.ObjectID `bson:"_id"  	 	json:"id"`
+	CreatDay  string             `bson:"creatday"    json:"creatday"`
+	NewUser   int                `bson:"newuser"     json:"newuser"`
+	Hour      int                `bson:"hour"      	json:"hour"`
+	HourCount int                `bson:"hourcount"   json:"hourcount"`
+	LogTime   string             `bson:"logTime"     json:"logTime"`
+}
+
+var (
+	// Table is the table name of account.
+	TableHour  = "hour"
+	HourTablbeName = g.Config().GetString("db.login")
+	// Model is the model object of account.
+	ModelHour = dao.NewMgo(HourTablbeName, TableHour)
+)

+ 24 - 0
library/mongo/gameinfo/LogHourLogin.go

@@ -0,0 +1,24 @@
+package gameinfo
+
+import (
+	"github.com/gogf/gf/frame/g"
+	dao "gmanager/library/mongo"
+	"go.mongodb.org/mongo-driver/bson/primitive"
+)
+
+type LogHourLogin struct {
+	Id        primitive.ObjectID `bson:"_id"  	 	json:"id"`
+	CreatDay  string             `bson:"creatday"    json:"creatday"`
+	NewUser   int                `bson:"newuser"     json:"newuser"`
+	Hour      int                `bson:"hour"      	json:"hour"`
+	HourCount int                `bson:"hourcount"   json:"hourcount"`
+	LogTime   string             `bson:"logTime"     json:"logTime"`
+}
+
+var (
+	// Table is the table name of account.
+	TableHourLogin      = "hour_login"
+	HourLoginTablbeName = g.Config().GetString("db.login")
+	// Model is the model object of account.
+	ModelHourLogin = dao.NewMgo(HourLoginTablbeName, TableHourLogin)
+)

+ 25 - 0
library/mongo/gameinfo/LogLTV.go

@@ -0,0 +1,25 @@
+package gameinfo
+
+import (
+	"github.com/gogf/gf/frame/g"
+	dao "gmanager/library/mongo"
+
+	"go.mongodb.org/mongo-driver/bson/primitive"
+)
+
+type LogLTV struct {
+	Id        primitive.ObjectID `bson:"_id"  	 	json:"id"`
+	CreatDay  string             `bson:"creatday"      json:"creatday"`   // 统计日期
+	NewUser   int                `bson:"newuser"      json:"newuser"`     // 统计日期当天新增角色数
+	Day       int                `bson:"day"      json:"day"`             // 统计日期的第n天
+	DayAmount int64              `bson:"dayamount"      json:"dayamount"` // 统计日期当天新增角色数的第n天充值的金额
+	LogTime   int64              `bson:"logTime"      json:"logTime"`
+}
+
+var (
+	// Table is the table name of account.
+	TableLtv      = "ltv"
+	LtvTablbeName = g.Config().GetString("db.login")
+	// Model is the model object of account.
+	ModelLtv = dao.NewMgo(LtvTablbeName, TableLtv)
+)

+ 27 - 0
library/mongo/gameinfo/LogLogin.go

@@ -0,0 +1,27 @@
+package gameinfo
+
+import (
+	"github.com/gogf/gf/frame/g"
+	dao "gmanager/library/mongo"
+	"go.mongodb.org/mongo-driver/bson/primitive"
+)
+
+type LogLogin struct {
+	Id    primitive.ObjectID `bson:"_id"  	 		json:"id"`
+	Login LogLoginInfo       `bson:"loginTime"  	 		json:"loginTime"`
+}
+
+type LogLoginInfo struct {
+	OpenId    string `bson:"openId"  	 		json:"openId"`
+	Uid       int    `bson:"uid"  	 		json:"uid"`
+	ServerId  string `bson:"serverId"  	 		json:"serverId"`
+	LoginTime int64  `bson:"loginTime"  	 		json:"loginTime"`
+}
+
+var (
+	// Table is the table name of account.
+	TableLogLogin      = "logLogin"
+	LogLoginTablbeName = g.Config().GetString("db.core")
+	// Model is the model object of account.
+	ModeLogin = dao.NewMgo(LogLoginTablbeName, TableLogLogin)
+)

+ 25 - 0
library/mongo/gameinfo/LogPayLiuCun.go

@@ -0,0 +1,25 @@
+package gameinfo
+
+import (
+	"github.com/gogf/gf/frame/g"
+	dao "gmanager/library/mongo"
+
+	"go.mongodb.org/mongo-driver/bson/primitive"
+)
+
+type LogPayLiucun struct {
+	Id       primitive.ObjectID `bson:"_id"  	 	json:"id"`
+	CreatDay string             `bson:"creatday"      json:"creatday"`
+	NewUser  int                `bson:"newuser"      json:"newuser"`
+	Day      int                `bson:"day"      json:"day"`
+	DayCount int                `bson:"daycount"      json:"daycount"`
+	LogTime  string             `bson:"logTime"      json:"logTime"`
+}
+
+var (
+	// Table is the table name of account.
+	TablePayLiucun = "payluncun"
+	PayLiucunTablbeName = g.Config().GetString("db.login")
+	// Model is the model object of account.
+	ModelPayLiucun = dao.NewMgo(PayLiucunTablbeName, TablePayLiucun)
+)

+ 27 - 0
library/mongo/gameinfo/LogRegister.go

@@ -0,0 +1,27 @@
+package gameinfo
+
+import (
+	"github.com/gogf/gf/frame/g"
+	dao "gmanager/library/mongo"
+	"go.mongodb.org/mongo-driver/bson/primitive"
+)
+
+type LogRegister struct {
+	Id       primitive.ObjectID `bson:"_id"  	 		json:"id"`
+	Register LogRegisterInfo    `bson:"register"  	 		json:"register"`
+}
+
+type LogRegisterInfo struct {
+	OpenId       string `bson:"openId"  	 		json:"openId"`
+	Uid          int    `bson:"uid"  	 		json:"uid"`
+	ServerId     string `bson:"serverId"  	 		json:"serverId"`
+	RegisterTime int64  `bson:"registerTime"  	 		json:"registerTime"`
+}
+
+var (
+	// Table is the table name of account.
+	TableLogRegister      = "logRegister"
+	LogRegisterTablbeName = g.Config().GetString("db.core")
+	// Model is the model object of account.
+	ModelRegister = dao.NewMgo(LogRegisterTablbeName, TableLogRegister)
+)

+ 25 - 0
library/mongo/gameinfo/Logliucun.go

@@ -0,0 +1,25 @@
+package gameinfo
+
+import (
+	"github.com/gogf/gf/frame/g"
+	dao "gmanager/library/mongo"
+
+	"go.mongodb.org/mongo-driver/bson/primitive"
+)
+
+type LogLiucun struct {
+	Id       primitive.ObjectID `bson:"_id"  	 	json:"id"`
+	CreatDay string             `bson:"creatday"      json:"creatday"`
+	NewUser  int                `bson:"newuser"      json:"newuser"`
+	Day      int                `bson:"day"      json:"day"`
+	DayCount int                `bson:"daycount"      json:"daycount"`
+	LogTime  string             `bson:"logTime"      json:"logTime"`
+}
+
+var (
+	// Table is the table name of account.
+	TableLiucun = "luncun"
+	LiucunTablbeName = g.Config().GetString("db.login")
+	// Model is the model object of account.
+	ModelLiucun = dao.NewMgo(LiucunTablbeName, TableLiucun)
+)

+ 24 - 0
library/mongo/gameinfo/M5User.go

@@ -0,0 +1,24 @@
+package gameinfo
+
+import (
+	"github.com/gogf/gf/frame/g"
+	dao "gmanager/library/mongo"
+	"go.mongodb.org/mongo-driver/bson/primitive"
+)
+
+type M5User struct {
+	Id       primitive.ObjectID `bson:"_id"  	 	json:"id"`
+	CreatDay string             `bson:"creatday"      json:"creatday"`
+	NewUser  int                `bson:"newuser"      json:"newuser"`
+	Day      int                `bson:"day"      json:"day"`
+	DayCount int                `bson:"daycount"      json:"daycount"`
+	LogTime  string             `bson:"logTime"      json:"logTime"`
+}
+
+var (
+	// Table is the table name of account.
+	TableM5User = "user"
+	// Model is the model object of account.
+	M5UserTablbeName = g.Config().GetString("db.prefix")
+	ModelM5User= dao.NewMgo(M5UserTablbeName, TableM5User)
+)

+ 28 - 0
library/mongo/gameinfo/NewRechargeInfo.go

@@ -0,0 +1,28 @@
+package gameinfo
+
+import (
+	"github.com/gogf/gf/frame/g"
+	dao "gmanager/library/mongo"
+	"go.mongodb.org/mongo-driver/bson/primitive"
+)
+
+type StatisticalRecharge struct {
+	Id                               primitive.ObjectID `bson:"_id"  	 	json:"id"`
+	CreatDay                         string             `bson:"creatday"    json:"creatday"`
+	NewRechargeNum                   int                `bson:"new_recharge_num"    json:"newrechargenum"`                                       //新增充值人数
+	NewRechargeAmount                float64            `bson:"new_recharge_amount"    json:"newrechargeamount"`                                 //新增充值总额
+	NewRechargeCount                 int                `bson:"new_recharge_count"    json:"newrechargecount"`                                   //新增充值次数
+	RechargeNum                      int                `bson:"recharge_num"    json:"rechargenum"`                                              //充值人数
+	RechargeAmount                   float64            `bson:"recharge_amount"    json:"rechargeamount"`                                        //充值总额
+	RechargeCount                    int                `bson:"recharge_count"    json:"rechargecount"`                                          //充值次数
+	//TodayNewCumulativeRechargeNum    int                `bson:"today_new_cumulative_recharge_num"    json:"todaynewcumulativerechargenum"`       //当日新增玩家累计付费人数
+	//TodayNewCumulativeRechargeAmount float64            `bson:"today_new_cumulative_recharge_amount"    json:"todaynewcumulativerechargeamount"` //当日新增玩家累计付费金额
+	//TodayNewCumulativeRechargeCount  int                `bson:"today_new_cumulative_recharge_count"    json:"todaynewcumulativerechargecount"`   //当日新增玩家累计付费次数
+
+}
+
+var (
+	TableStatisticalRecharge      = "statistical_recharge"
+	StatisticalRechargeTablbeName = g.Config().GetString("db.login")
+	ModelStatisticalRecharge      = dao.NewMgo(StatisticalRechargeTablbeName, TableStatisticalRecharge)
+)

+ 22 - 0
library/mongo/gameinfo/NoticeInfo.go

@@ -0,0 +1,22 @@
+package gameinfo
+
+import (
+	"github.com/gogf/gf/frame/g"
+	dao "gmanager/library/mongo"
+)
+
+type NoticeInfo struct {
+	Id           string   	`bson:"_id"  	 		json:"id"`
+	Title        string  	`bson:"title"     		json:"title"`
+	Content      string  	`bson:"content"     	json:"content"`
+	Grade        string  	`bson:"grade"     		json:"grade"`    	//0:常驻;1:优先级中;2:优先级高
+	PublishTime  int64  	`bson:"publish_time"    json:"publishtime"`
+}
+
+var (
+	// Table is the table name of account.
+	TableNoticeInfo = "notice_info"
+	NoticeInfoTablbeName = g.Config().GetString("db.core")
+	// Model is the model object of account.
+	ModelNoticeInfo = dao.NewMgo(NoticeInfoTablbeName, TableNoticeInfo)
+)

+ 36 - 0
library/mongo/gameinfo/Pay.go

@@ -0,0 +1,36 @@
+package gameinfo
+
+import (
+	"github.com/gogf/gf/frame/g"
+	dao "gmanager/library/mongo"
+	"go.mongodb.org/mongo-driver/bson/primitive"
+)
+
+type Pay struct {
+	Id           primitive.ObjectID `bson:"_id"  	 		json:"id"`
+	Class        string             `bson:"_class"     	json:"class"`
+	OpenId       string             `bson:"openid"     	json:"openid"`
+	Uid          int32              `bson:"uid"     	json:"uid"`
+	Region       int32              `bson:"region"     	json:"region"`
+	Channel      string             `bson:"channel"     	json:"channel"`
+	Status       int32              `bson:"status"     	json:"status"`
+	Handlestatus int32              `bson:"handlestatus"     	json:"handlestatus"`
+	PayItem      string             `bson:"pay_item"     	json:"payItem"`
+	Billno       string             `bson:"billno"     	json:"billno"`
+	Money        int32              `bson:"money"     	json:"money"`
+	CporderId    string             `bson:"cporderId"     	json:"cporderId"`
+	Level        int32              `bson:"level"     	json:"level"`
+	VipLevel     int32              `bson:"vipLevel"     	json:"vipLevel"`
+	Creattime    string             `bson:"creattime"     	json:"creattime"`
+	Callbaktime  string             `bson:"callbaktime"     	json:"callbaktime"`
+	Handletime   string             `bson:"handletime"     	json:"handletime"`
+	PayWay       string             `bson:"payWay"     	json:"payWay"`
+}
+
+var (
+	// Table is the table name of account.
+	TablePay      = "pay"
+	PayTablbeName = g.Config().GetString("db.core")
+	// Model is the model object of account.
+	ModelPay = dao.NewMgo(PayTablbeName, TablePay)
+)

+ 37 - 0
library/mongo/gameinfo/ServerInfo.go

@@ -0,0 +1,37 @@
+package gameinfo
+
+import (
+	"github.com/gogf/gf/frame/g"
+	dao "gmanager/library/mongo"
+)
+
+type ServerInfo struct {
+	Id            int     `bson:"_id"  	 			json:"id"`
+	Name          string  `bson:"name"     			json:"name"`
+	Ip            string  `bson:"ip"      			json:"ip"`
+	Port          string  `bson:"port"      		json:"port"`
+	ServerId      string  `bson:"server_id"      	json:"serverid"`
+	Channel       string  `bson:"channel"      		json:"channel"`
+	SubChannel    string  `bson:"sub_channel"   	json:"subchannel"`
+	State         string  `bson:"state"      		json:"state"`
+	Plat          string  `bson:"plat"      		json:"plat"`
+	OpenTime      string  `bson:"open_time"      	json:"opentime"`
+	OpenType      string  `bson:"open_type"      	json:"opentype"`
+	IsNew         string  `bson:"is_new"      		json:"isnew"`
+	IsBanreg      string  `bson:"is_banreg"      	json:"isbanreg"`
+	IsWhite       string  `bson:"isWhite"      		json:"iswhite"`
+	ServerVersion string `bson:"server_version"	json:"serverversion"`
+	GMIp          string  `bson:"gm_ip"				json:"gmip"`
+	GMPort        string  `bson:"gm_port"			json:"gmport"`
+	Timezone      string  `bson:"time_zone"			json:"timezone"`	// 时区
+	Currency      string  `bson:"currency"			json:"currency"`	// 币种
+	Exportdata    string  `bson:"exportdata"	 	json:"exportdata"`	// 是否导出数据
+}
+
+var (
+	// Table is the table name of account.
+	TableServer = "server_info"
+	ServerTablbeName = g.Config().GetString("db.core")
+	// Model is the model object of account.
+	ModelServer = dao.NewMgo(ServerTablbeName, TableServer)
+)

+ 22 - 0
library/mongo/gameinfo/UserInfo.go

@@ -0,0 +1,22 @@
+package gameinfo
+
+import (
+	"github.com/gogf/gf/frame/g"
+	dao "gmanager/library/mongo"
+)
+
+type UserInfo struct {
+	Id       int32  `bson:"_id"  	 		json:"id"`
+	OpenId   string `bson:"openId"     		json:"openId"`
+	ServerId string `bson:"serverId"     	json:"serverId"`
+	Platform string `bson:"platform"     		json:"platform"`
+	Uid      int32  `bson:"uid"    json:"uid"`
+}
+
+var (
+	// Table is the table name of account.
+	TableUserInfo      = "user_info"
+	UserInfoTablbeName = g.Config().GetString("db.core")
+	// Model is the model object of account.
+	ModelUserInfo = dao.NewMgo(UserInfoTablbeName, TableUserInfo)
+)

Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff