Commit 2987450f4ff08907de636f6f82ab76edb4d819cb

Authored by 潘钊
2 parents f8ed28c6 bb808a9d

Merge branch 'minhang' of

http://222.66.0.204:8090/panzhaov5/bsth_control into minhang

# Conflicts:
#	src/main/resources/application-dev.properties
Showing 34 changed files with 3629 additions and 787 deletions

Too many changes to show.

To preserve performance only 34 of 64 files are displayed.

README.md
1   -公交调度系统BS版 0.1
2   -======
3   -----------
4   -## 目录
5   ----------
6   - * [字典表](#字典表)
7   - * [动态jpa查询实现](#动态jpa查询实现)
8   - * [车载 gps 相关数据](#gps)
9   - * [实时gps数据接口 http](#实时gps接口)
10   - * [进出站数据表结构](#进站数据)
11   - * [异常警报表结构](#异常警报)
12   - * [大间隔](#大间隔)
13   - * [超速](#超速)
14   - * [越界](#越界)
15   - * [越站](#越站)
16   - * [聚集](#聚集)
17   - * [掉线](#掉线)
18   - * [调度消息下发接口HTTP](#调度消息下发接口)
19   - * [调度消息上传接口HTTP](#调度消息上传接口)
20   -
21   -----------
22   -
23   -## 字典表
24   -----------
25   -字典操作全部由前端负责,主要有2种。
26   -
27   -1、转换字典代码。
28   - 当pjax的`pjax:success`事件被触发(片段加载完成)
29   - 扫描容器内所有有 `$(".nt-dictionary")` 元素进行字典转换
30   -``` html
31   ---dom标签为span div p h1 h2 h3 h4 h5 h6 等等文本元素时,如下写法,text为要转换的代码
32   -<span class="nt-dictionary" data-group="ScheduleType">out</span>
33   ---to
34   -<span>出场</span>
35   -
36   -<!- dom标签为input时,如下 data-code为要转换的代码 -->
37   -<input class="nt-dictionary" data-group="ScheduleType" data-code="out">
38   ---to
39   -<input value="出场">
40   -
41   -<!- dom标签为select时 如下 data-code为要选中的项 -->
42   -<select class="nt-dictionary" data-group="ScheduleType" data-code="out"></select>
43   ---to
44   -<select>
45   - <option value="normal">正常班次</option>
46   - <option value="out" selected>出场</option>
47   - <option value="in">进场</option>
48   - <option value="oil">加油</option>
49   - <option value="temp">临加</option>
50   - <option value="region">区间</option>
51   - <option value="venting">放空</option>
52   - <option value="major">放大站</option>
53   -</select>
54   -```
55   -*原标签的class 除nt-dictionary 外,其余均会被保留*
56   -
57   -2、dictionary.js提供如下方法自行使用
58   -| 方法名 | 参数|返回|
59   -| ---- | ---- | ---- | ---- |
60   -| groups (获取所有字典组) | 无| | {LineTrend: 线路走向, ScheduleType: 班次类型} |
61   -| getByGroup (获取字典组下的字典)| (group) |{0: 上行, 1: 下行}|
62   -| transformCode (转换字典代码)| (group, code) | 上行 |
63   -
64   -## 动态jpa查询实现
65   -----------
66   -*参考调度系统枚举com.bsth.entity.search.SearchOperator*
67   -
68   -
69   -## gps
70   -----------
71   -### 实时gps接口
72   -
73   -所有在线GPS: [http://192.168.168.192:8080/transport_server/rtgps](http://192.168.168.192:8080/transport_server/rtgps/)
74   -根据设备号查询:[http://192.168.168.192:8080/transport_server/rtgps/05B01901](http://192.168.168.192:8080/transport_server/rtgps/05B01901)
75   -
76   -<span style="color: red">Response</span>:
77   -```json
78   -{
79   - "data":[
80   - {
81   - "companyCode":5,
82   - "lineId":10329,
83   - "deviceId":"05B01901",
84   - "carparkNo":"00000000",
85   - "stopNo":"7C890002",
86   - "lon":121.549866,
87   - "lat":31.238798,
88   - "timestamp":1397104499000,
89   - "speed":42.0,
90   - "direction":245.9,
91   - "state":0,
92   - "upDown":0
93   - }]
94   -}
95   -```
96   -
97   -| -- | --|--|
98   -| ---- | ---- | ---- |
99   -| companyCode | int | 公司代码 |
100   -| lineId | int | 线路编码 |
101   -| deviceId | String | 设备编号 |
102   -| carparkNo | String | 停车场编码 |
103   -| stopNo | String | 站点编码 |
104   -| lon | float | 经度 |
105   -| lat | float | 纬度 |
106   -| timestamp | long | 时间戳 |
107   -| speed | float | 速度|
108   -| direction | float | 方向(角度) |
109   -| state | int | 营运状态( 0 营运 ,1 非营运, -1 无效) |
110   -| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效)|
111   -
112   -
113   -### 进站数据
114   -----------
115   -表名:
116   -
117   -| .. | .. | .. |
118   -| ---- | ---- | ---- |
119   -| id | int | 主键 |
120   -| deviceId | String | 设备号 |
121   -| lineId | int | 线路编码 |
122   -| stopNo | long | 站点编码 |
123   -| timestamp | long | 时间戳 |
124   -| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
125   -| createDate | Date | 创建时间 |
126   -
127   -
128   -### 异常警报
129   -----------
130   -
131   -### 大间隔
132   -----------
133   -表名:
134   -
135   -| .. | .. | .. |
136   -| ---- | ---- | ---- |
137   -| id | int | 主键 |
138   -| line | int | 线路编码 |
139   -| station | String | 站点编码 |
140   -| cVehicle | String | 当前车辆编码 |
141   -| lastVehicle | String | 上一个车辆编码 |
142   -| interval | long | 间隔时间(秒) |
143   -| timestamp | long | 时间戳 |
144   -| createDate | Date | 创建时间 |
145   -
146   -### 超速
147   -----------
148   -表名:
149   -
150   -| .. | .. | .. |
151   -| ---- | ---- | ---- |
152   -| id | int | 主键 |
153   -| vehicle | String | 车辆编码 |
154   -| line | int | 线路编码 |
155   -| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
156   -| lon | float | 经度 |
157   -| lat | float | 纬度|
158   -| speed | float | 速度 |
159   -| timestamp | long | 时间戳 |
160   -| createDate | Date | 时间 |
161   -
162   -### 越界
163   -----------
164   -表名:
165   -
166   -| .. | .. | .. |
167   -| ---- | ---- | ---- |
168   -| id | int | 主键 |
169   -| vehicle | String | 车辆编码 |
170   -| line | int | 线路编码 |
171   -| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
172   -| lon | float | 经度 |
173   -| lat | float | 纬度|
174   -| location | String | 越界位置(由线调页面进行初始转换)意思是该字段默认为空,页面第一次查看时会写入值|
175   -| timestamp | long | 时间戳 |
176   -| createDate | Date | 时间 |
177   -
178   -
179   -### 越站
180   -----------
181   -表名:
182   -
183   -| .. | .. | .. |
184   -| ---- | ---- | ---- |
185   -| id | int | 主键 |
186   -| line | int | 线路编码 |
187   -| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
188   -| station | String | 站点编码 |
189   -| vehicle | String | 车辆编码 |
190   -| inData | Date | 进站时间 |
191   -| outDate | Date | 出站时间 |
192   -
193   -
194   -### 聚集
195   -----------
196   -表名:
197   -
198   -| .. | .. | .. |
199   -| ---- | ---- | ---- |
200   -| id | int | 主键 |
201   -| line | int | 线路编码 |
202   -| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
203   -| stations | String | 站点(多个用 , 号分隔。应该是连续站点) |
204   -| vehicles | String | 车辆编码(多个用 , 号分隔) |
205   -| timestamp | long | 时间戳 |
206   -| createDate | Date | 时间 |
207   -
208   -
209   -### 掉线
210   -----------
211   -表名:
212   -
213   -| .. | .. | .. |
214   -| ---- | ---- | ---- |
215   -| id | int | 主键 |
216   -| line | int | 线路编码 |
217   -| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
218   -| vehicle | String | 车辆编码 |
219   -| lon | float | 经度 |
220   -| lat | float | 纬度|
221   -| timestamp | long | 时间戳 |
222   -| createDate | Date | 时间 |
223   -
224   -
225   -### 调度消息下发接口
226   -----------
227   -[http://192.168.168.192:8080/transport_server/message](http://192.168.168.192:8080/transport_server/message/)
228   -
229   -<span style="color: red">Request</span>:
230   -```json
231   -{
232   - "deviceId":12345,
233   - "timestamp":44324,
234   - "operCode":0x60,
235   - "data":{
236   - "companyCode":22,
237   - "deviceId":"029L2222",
238   - "timestamp":134326,
239   - "instructType":00,
240   - "dispatchInstruct":0x00,
241   - "msgId":12345,
242   - "alarmTime":201606012000,
243   - "serviceState":00000000,
244   - "txtContent":"你好"
245   - }
246   -}
247   -```
248   -| .. | .. | .. |
249   -| ---- | ---- | ---- |
250   -| deviceId | string | 设备编号 |
251   -| timestamp | long | 时间戳(ms) |
252   -| operCode | short | 一级协议 |
253   -| data.companyCode | short | 公司代码 |
254   -| data.deviceId | string | 设备编号 |
255   -| data.timestamp | long | 时间戳 |
256   -| data.instructType | short | 保留 默认0 |
257   -| data.dispatchInstruct | short | 调度指令 调度指令。0X00表示信息短语,0X01表示取消上次指令+调度指令(闹钟有效),0x02表示为调度指令(闹钟有效); 0x03表示运营状态指令(闹钟无效);0x04表示其他指令。|
258   -| data.msgId | long | 同上 |
259   -| data.alarmTime | long | 闹钟 MMddhhmm|
260   -| data.serviceState | long | 多状态字节   先由车载发起车辆故障、事故报告、扣证、纠纷、加油等审请,经调度确认后,下发调度指令与运营状态。当调度指令为0X00终端需要提示信息。当调度指令为0x01和0x02,终端需要收到后提示信息。并且必须在闹钟结束后进行终端相关状态更新。在闹钟时间前120秒开始提示。当调度指令为0x03,收到后进行终端相关状态更新,终端不需要提示信息。当调度指令为0x04,暂不需要提示信息。|
261   -| data.txtContent | string | 下发的消息文本 |
262   -```json
263   -{
264   - "deviceId":12345,
265   - "timestamp":44324,
266   - "operCode":0x64,
267   - "data":{
268   - "cityCode":22,
269   - "deviceId":"029L2222",
270   - "lineId":"134326"
271   - }
272   -}
273   -```
274   -| .. | .. | .. |
275   -| ---- | ---- | ---- |
276   -| deviceId | string | 设备编号 |
277   -| timestamp | long | 时间戳(ms) |
278   -| operCode | short | 一级协议 |
279   -| data.cityCode | short | 城市区号 |
280   -| data.deviceId | string | 设备编号 |
281   -| data.lineId | string | 线路编号 6位 不足6位前面补0 如编号890 用000890表示 |
282   -
283   -```json
284   -{
285   - "deviceId":12345,
286   - "timestamp":44324,
287   - "operCode":0xC0,
288   - "data":{
289   - "operCode":0x86,
290   - "requestAck":0x06
291   - }
292   -}
293   -```
294   -| .. | .. | .. |
295   -| ---- | ---- | ---- |
296   -| deviceId | string | 设备编号 |
297   -| timestamp | long | 时间戳(ms) |
298   -| operCode | short | 一级协议 |
299   -| data.operCode | short | 二级协议 |
300   -| data.requestAck | short | 请求应答字 0x06同意 0x15不同意|
301   -
302   -<span style="color: red">Response</span>:
303   -```json
304   -{
305   - "errCode":0
306   -}
307   -```
308   -
309   -
310   -### 调度消息上传接口
311   -----------
312   -上行POST地址:[http://192.168.168.120:9088/control/upstream](http://192.168.168.120:9088/control/upstream)
313   -<span style="color: red">Request</span>:
314   -```json
315   -{
316   - "deviceId":12345,
317   - "timestamp":44324,
318   - "status":0,
319   - "operCode":0x80,
320   - "data":{
321   - "operCode":0x26,
322   - "requestCode":22
323   - }
324   -}
325   -```
326   -| .. | .. | .. |
327   -| ---- | ---- | ---- |
328   -| deviceId | string | 设备编号 |
329   -| timestamp | long | 时间戳(ms) |
330   -| status | int | 0x80时无数据 0表示失败 1表示成功或设备确认 2表示驾驶员阅读 |
331   -| operCode | short | 一级协议 消息确认将无数据 |
332   -| data.operCode | short | 二级协议 |
333   -| data.requestCode | short | 请求代码0xa1 恢复运营 0xa2 申请调档 0xa3 出场请求 0xa5 进场请求 0xa7 加油请求 0x50 车辆故障 0x70 路阻报告 0x60 事故报告 0x11 扣证纠纷 0x12 报警 |
334   -<span style="color: red">Response</span>:
335   -```json
336   -{
337   - "errCode":0
338   -}
339   -```
  1 +公交调度系统BS版 0.1
  2 +======
  3 +----------
  4 +## 目录
  5 +---------
  6 + * [字典表](#字典表)
  7 + * [动态jpa查询实现](#动态jpa查询实现)
  8 + * [车载 gps 相关数据](#gps)
  9 + * [实时gps数据接口 http](#实时gps接口)
  10 + * [进出站数据表结构](#进站数据)
  11 + * [异常警报表结构](#异常警报)
  12 + * [大间隔](#大间隔)
  13 + * [超速](#超速)
  14 + * [越界](#越界)
  15 + * [越站](#越站)
  16 + * [聚集](#聚集)
  17 + * [掉线](#掉线)
  18 + * [调度消息下发接口HTTP](#调度消息下发接口)
  19 + * [调度消息上传接口HTTP](#调度消息上传接口)
  20 +
  21 +----------
  22 +
  23 +## 字典表
  24 +----------
  25 +字典操作全部由前端负责,主要有2种。
  26 +
  27 +1、转换字典代码。
  28 + 当pjax的`pjax:success`事件被触发(片段加载完成)
  29 + 扫描容器内所有有 `$(".nt-dictionary")` 元素进行字典转换
  30 +``` html
  31 +--dom标签为span div p h1 h2 h3 h4 h5 h6 等等文本元素时,如下写法,text为要转换的代码
  32 +<span class="nt-dictionary" data-group="ScheduleType">out</span>
  33 +--to
  34 +<span>出场</span>
  35 +
  36 +<!- dom标签为input时,如下 data-code为要转换的代码 -->
  37 +<input class="nt-dictionary" data-group="ScheduleType" data-code="out">
  38 +--to
  39 +<input value="出场">
  40 +
  41 +<!- dom标签为select时 如下 data-code为要选中的项 -->
  42 +<select class="nt-dictionary" data-group="ScheduleType" data-code="out"></select>
  43 +--to
  44 +<select>
  45 + <option value="normal">正常班次</option>
  46 + <option value="out" selected>出场</option>
  47 + <option value="in">进场</option>
  48 + <option value="oil">加油</option>
  49 + <option value="temp">临加</option>
  50 + <option value="region">区间</option>
  51 + <option value="venting">放空</option>
  52 + <option value="major">放大站</option>
  53 +</select>
  54 +```
  55 +*原标签的class 除nt-dictionary 外,其余均会被保留*
  56 +
  57 +2、dictionary.js提供如下方法自行使用
  58 +| 方法名 | 参数|返回|
  59 +| ---- | ---- | ---- | ---- |
  60 +| groups (获取所有字典组) | 无| | {LineTrend: 线路走向, ScheduleType: 班次类型} |
  61 +| getByGroup (获取字典组下的字典)| (group) |{0: 上行, 1: 下行}|
  62 +| transformCode (转换字典代码)| (group, code) | 上行 |
  63 +
  64 +## 动态jpa查询实现
  65 +----------
  66 +*参考调度系统枚举com.bsth.entity.search.SearchOperator*
  67 +
  68 +
  69 +## gps
  70 +----------
  71 +### 实时gps接口
  72 +
  73 +所有在线GPS: [http://192.168.168.192:8080/transport_server/rtgps](http://192.168.168.192:8080/transport_server/rtgps/)
  74 +根据设备号查询:[http://192.168.168.192:8080/transport_server/rtgps/05B01901](http://192.168.168.192:8080/transport_server/rtgps/05B01901)
  75 +
  76 +<span style="color: red">Response</span>:
  77 +```json
  78 +{
  79 + "data":[
  80 + {
  81 + "companyCode":5,
  82 + "lineId":10329,
  83 + "deviceId":"05B01901",
  84 + "carparkNo":"00000000",
  85 + "stopNo":"7C890002",
  86 + "lon":121.549866,
  87 + "lat":31.238798,
  88 + "timestamp":1397104499000,
  89 + "speed":42.0,
  90 + "direction":245.9,
  91 + "state":0,
  92 + "upDown":0
  93 + }]
  94 +}
  95 +```
  96 +
  97 +| -- | --|--|
  98 +| ---- | ---- | ---- |
  99 +| companyCode | int | 公司代码 |
  100 +| lineId | int | 线路编码 |
  101 +| deviceId | String | 设备编号 |
  102 +| carparkNo | String | 停车场编码 |
  103 +| stopNo | String | 站点编码 |
  104 +| lon | float | 经度 |
  105 +| lat | float | 纬度 |
  106 +| timestamp | long | 时间戳 |
  107 +| speed | float | 速度|
  108 +| direction | float | 方向(角度) |
  109 +| state | int | 营运状态( 0 营运 ,1 非营运, -1 无效) |
  110 +| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效)|
  111 +
  112 +
  113 +### 进站数据
  114 +----------
  115 +表名:
  116 +
  117 +| .. | .. | .. |
  118 +| ---- | ---- | ---- |
  119 +| id | int | 主键 |
  120 +| deviceId | String | 设备号 |
  121 +| lineId | int | 线路编码 |
  122 +| stopNo | long | 站点编码 |
  123 +| timestamp | long | 时间戳 |
  124 +| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
  125 +| createDate | Date | 创建时间 |
  126 +
  127 +
  128 +### 异常警报
  129 +----------
  130 +
  131 +### 大间隔
  132 +----------
  133 +表名:
  134 +
  135 +| .. | .. | .. |
  136 +| ---- | ---- | ---- |
  137 +| id | int | 主键 |
  138 +| line | int | 线路编码 |
  139 +| station | String | 站点编码 |
  140 +| cVehicle | String | 当前车辆编码 |
  141 +| lastVehicle | String | 上一个车辆编码 |
  142 +| interval | long | 间隔时间(秒) |
  143 +| timestamp | long | 时间戳 |
  144 +| createDate | Date | 创建时间 |
  145 +
  146 +### 超速
  147 +----------
  148 +表名:
  149 +
  150 +| .. | .. | .. |
  151 +| ---- | ---- | ---- |
  152 +| id | int | 主键 |
  153 +| vehicle | String | 车辆编码 |
  154 +| line | int | 线路编码 |
  155 +| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
  156 +| lon | float | 经度 |
  157 +| lat | float | 纬度|
  158 +| speed | float | 速度 |
  159 +| timestamp | long | 时间戳 |
  160 +| createDate | Date | 时间 |
  161 +
  162 +### 越界
  163 +----------
  164 +表名:
  165 +
  166 +| .. | .. | .. |
  167 +| ---- | ---- | ---- |
  168 +| id | int | 主键 |
  169 +| vehicle | String | 车辆编码 |
  170 +| line | int | 线路编码 |
  171 +| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
  172 +| lon | float | 经度 |
  173 +| lat | float | 纬度|
  174 +| location | String | 越界位置(由线调页面进行初始转换)意思是该字段默认为空,页面第一次查看时会写入值|
  175 +| timestamp | long | 时间戳 |
  176 +| createDate | Date | 时间 |
  177 +
  178 +
  179 +### 越站
  180 +----------
  181 +表名:
  182 +
  183 +| .. | .. | .. |
  184 +| ---- | ---- | ---- |
  185 +| id | int | 主键 |
  186 +| line | int | 线路编码 |
  187 +| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
  188 +| station | String | 站点编码 |
  189 +| vehicle | String | 车辆编码 |
  190 +| inData | Date | 进站时间 |
  191 +| outDate | Date | 出站时间 |
  192 +
  193 +
  194 +### 聚集
  195 +----------
  196 +表名:
  197 +
  198 +| .. | .. | .. |
  199 +| ---- | ---- | ---- |
  200 +| id | int | 主键 |
  201 +| line | int | 线路编码 |
  202 +| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
  203 +| stations | String | 站点(多个用 , 号分隔。应该是连续站点) |
  204 +| vehicles | String | 车辆编码(多个用 , 号分隔) |
  205 +| timestamp | long | 时间戳 |
  206 +| createDate | Date | 时间 |
  207 +
  208 +
  209 +### 掉线
  210 +----------
  211 +表名:
  212 +
  213 +| .. | .. | .. |
  214 +| ---- | ---- | ---- |
  215 +| id | int | 主键 |
  216 +| line | int | 线路编码 |
  217 +| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
  218 +| vehicle | String | 车辆编码 |
  219 +| lon | float | 经度 |
  220 +| lat | float | 纬度|
  221 +| timestamp | long | 时间戳 |
  222 +| createDate | Date | 时间 |
  223 +
  224 +
  225 +### 调度消息下发接口
  226 +----------
  227 +[http://192.168.168.192:8080/transport_server/message](http://192.168.168.192:8080/transport_server/message/)
  228 +
  229 +<span style="color: red">Request</span>:
  230 +```json
  231 +{
  232 + "deviceId":12345,
  233 + "timestamp":44324,
  234 + "operCode":0x60,
  235 + "data":{
  236 + "companyCode":22,
  237 + "deviceId":"029L2222",
  238 + "timestamp":134326,
  239 + "instructType":00,
  240 + "dispatchInstruct":0x00,
  241 + "msgId":12345,
  242 + "alarmTime":201606012000,
  243 + "serviceState":00000000,
  244 + "txtContent":"你好"
  245 + }
  246 +}
  247 +```
  248 +| .. | .. | .. |
  249 +| ---- | ---- | ---- |
  250 +| deviceId | string | 设备编号 |
  251 +| timestamp | long | 时间戳(ms) |
  252 +| operCode | short | 一级协议 |
  253 +| data.companyCode | short | 公司代码 |
  254 +| data.deviceId | string | 设备编号 |
  255 +| data.timestamp | long | 时间戳 |
  256 +| data.instructType | short | 保留 默认0 |
  257 +| data.dispatchInstruct | short | 调度指令 调度指令。0X00表示信息短语,0X01表示取消上次指令+调度指令(闹钟有效),0x02表示为调度指令(闹钟有效); 0x03表示运营状态指令(闹钟无效);0x04表示其他指令。|
  258 +| data.msgId | long | 同上 |
  259 +| data.alarmTime | long | 闹钟 MMddhhmm|
  260 +| data.serviceState | long | 多状态字节   先由车载发起车辆故障、事故报告、扣证、纠纷、加油等审请,经调度确认后,下发调度指令与运营状态。当调度指令为0X00终端需要提示信息。当调度指令为0x01和0x02,终端需要收到后提示信息。并且必须在闹钟结束后进行终端相关状态更新。在闹钟时间前120秒开始提示。当调度指令为0x03,收到后进行终端相关状态更新,终端不需要提示信息。当调度指令为0x04,暂不需要提示信息。|
  261 +| data.txtContent | string | 下发的消息文本 |
  262 +```json
  263 +{
  264 + "deviceId":12345,
  265 + "timestamp":44324,
  266 + "operCode":0x64,
  267 + "data":{
  268 + "cityCode":22,
  269 + "deviceId":"029L2222",
  270 + "lineId":"134326"
  271 + }
  272 +}
  273 +```
  274 +| .. | .. | .. |
  275 +| ---- | ---- | ---- |
  276 +| deviceId | string | 设备编号 |
  277 +| timestamp | long | 时间戳(ms) |
  278 +| operCode | short | 一级协议 |
  279 +| data.cityCode | short | 城市区号 |
  280 +| data.deviceId | string | 设备编号 |
  281 +| data.lineId | string | 线路编号 6位 不足6位前面补0 如编号890 用000890表示 |
  282 +
  283 +```json
  284 +{
  285 + "deviceId":12345,
  286 + "timestamp":44324,
  287 + "operCode":0xC0,
  288 + "data":{
  289 + "operCode":0x86,
  290 + "requestAck":0x06
  291 + }
  292 +}
  293 +```
  294 +| .. | .. | .. |
  295 +| ---- | ---- | ---- |
  296 +| deviceId | string | 设备编号 |
  297 +| timestamp | long | 时间戳(ms) |
  298 +| operCode | short | 一级协议 |
  299 +| data.operCode | short | 二级协议 |
  300 +| data.requestAck | short | 请求应答字 0x06同意 0x15不同意|
  301 +
  302 +<span style="color: red">Response</span>:
  303 +```json
  304 +{
  305 + "errCode":0
  306 +}
  307 +```
  308 +
  309 +
  310 +### 调度消息上传接口
  311 +----------
  312 +上行POST地址:[http://192.168.168.120:9088/control/upstream](http://192.168.168.120:9088/control/upstream)
  313 +<span style="color: red">Request</span>:
  314 +```json
  315 +{
  316 + "deviceId":12345,
  317 + "timestamp":44324,
  318 + "status":0,
  319 + "operCode":0x80,
  320 + "data":{
  321 + "operCode":0x26,
  322 + "requestCode":22
  323 + }
  324 +}
  325 +```
  326 +| .. | .. | .. |
  327 +| ---- | ---- | ---- |
  328 +| deviceId | string | 设备编号 |
  329 +| timestamp | long | 时间戳(ms) |
  330 +| status | int | 0x80时无数据 0表示失败 1表示成功或设备确认 2表示驾驶员阅读 |
  331 +| operCode | short | 一级协议 消息确认将无数据 |
  332 +| data.operCode | short | 二级协议 |
  333 +| data.requestCode | short | 请求代码0xa1 恢复运营 0xa2 申请调档 0xa3 出场请求 0xa5 进场请求 0xa7 加油请求 0x50 车辆故障 0x70 路阻报告 0x60 事故报告 0x11 扣证纠纷 0x12 报警 |
  334 +<span style="color: red">Response</span>:
  335 +```json
  336 +{
  337 + "errCode":0
  338 +}
  339 +```
... ...
... ... @@ -196,7 +196,17 @@
196 196 <groupId>org.bouncycastle</groupId>
197 197 <artifactId>bcprov-jdk15on</artifactId>
198 198 <version>1.52</version>
199   - </dependency>
  199 + </dependency>
  200 + <dependency>
  201 + <groupId>axis</groupId>
  202 + <artifactId>axis</artifactId>
  203 + <version>1.4</version>
  204 + </dependency>
  205 + <dependency>
  206 + <groupId>javax.xml</groupId>
  207 + <artifactId>jaxrpc-api</artifactId>
  208 + <version>1.1</version>
  209 + </dependency>
200 210 </dependencies>
201 211  
202 212 <dependencyManagement>
... ...
src/main/java/com/bsth/controller/schedule/TrafficManageController.java 0 → 100644
  1 +package com.bsth.controller.schedule;
  2 +
  3 +import com.bsth.service.TrafficManageService;
  4 +
  5 +import org.springframework.beans.factory.annotation.Autowired;
  6 +import org.springframework.web.bind.annotation.RequestMapping;
  7 +import org.springframework.web.bind.annotation.RequestMethod;
  8 +import org.springframework.web.bind.annotation.RestController;
  9 +
  10 +/**
  11 + *
  12 + * @author BSTH
  13 + *
  14 + */
  15 +@RestController
  16 +@RequestMapping("trmg")
  17 +public class TrafficManageController {
  18 +
  19 + @Autowired
  20 + private TrafficManageService trManageService;
  21 +
  22 +
  23 + @RequestMapping(value = "/setXL", method = RequestMethod.GET)
  24 + public String setXL() throws Exception {
  25 + try {
  26 + return trManageService.setXL();
  27 + } catch (Exception exp) {
  28 + throw new Exception(exp.getCause());
  29 + }
  30 + }
  31 +}
... ...
src/main/java/com/bsth/entity/Cars.java
... ... @@ -57,7 +57,7 @@ public class Cars implements Serializable {
57 57 /** 设备终端号 */
58 58 @Column(nullable = false)
59 59 private String equipmentCode;
60   -
  60 +
61 61 // 以下信息来自总公司的业务系统,可能需要调用相关接口
62 62 /** 车型类别 */
63 63 private String carClass ;
... ... @@ -115,6 +115,8 @@ public class Cars implements Serializable {
115 115 private String vehicleStats;
116 116 /** 营运状态 */
117 117 private String operatorsState;
  118 + /** 营运证编码 */
  119 + private String serviceNo;
118 120 /** 是否电车(TODO:在原系统里没有,这里暂时留着) */
119 121 private Boolean sfdc;
120 122 /** 备注/描述 */
... ... @@ -148,8 +150,16 @@ public class Cars implements Serializable {
148 150 /** 修改日期 */
149 151 @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
150 152 private Date updateDate;
  153 +
  154 + public String getServiceNo() {
  155 + return serviceNo;
  156 + }
  157 +
  158 + public void setServiceNo(String serviceNo) {
  159 + this.serviceNo = serviceNo;
  160 + }
151 161  
152   - public Integer getId() {
  162 + public Integer getId() {
153 163 return id;
154 164 }
155 165  
... ...
src/main/java/com/bsth/entity/Line.java
... ... @@ -42,18 +42,6 @@ public class Line implements Serializable {
42 42 // 简称
43 43 private String shortName;
44 44  
45   - /** 配置车辆总数 老版本系统字段, 新版本系统业务需求暂时没用到该字段 ,这里暂时留着 */
46   - private Integer carSumNumber;
47   -
48   - /** 空调车辆数量 老版本系统字段, 新版本系统业务需求暂时没用到该字段 ,这里暂时留着 */
49   - private Integer hvacCarNumber;
50   -
51   - /** 普通车辆数量 老版本系统字段, 新版本系统业务需求暂时没用到该字段 ,这里暂时留着 */
52   - private Integer ordCarNumber;
53   -
54   - /** 停车场编码 老版本系统字段, 新版本系统业务需求暂时没用到该字段 ,这里暂时留着 */
55   - private String carParkCode;
56   -
57 45 // 起始站名称
58 46 private String startStationName;
59 47  
... ... @@ -118,6 +106,21 @@ public class Line implements Serializable {
118 106 // 设备线路编码
119 107 private String eqLinecode;
120 108  
  109 + /** 配置车辆总数 老版本系统字段, 新版本系统业务需求暂时没用到该字段 ,这里暂时留着 */
  110 + private Integer carSumNumber;
  111 +
  112 + /** 空调车辆数量 老版本系统字段, 新版本系统业务需求暂时没用到该字段 ,这里暂时留着 */
  113 + private Integer hvacCarNumber;
  114 +
  115 + /** 普通车辆数量 老版本系统字段, 新版本系统业务需求暂时没用到该字段 ,这里暂时留着 */
  116 + private Integer ordCarNumber;
  117 +
  118 + /** 停车场编码 老版本系统字段, 新版本系统业务需求暂时没用到该字段 ,这里暂时留着 */
  119 + private String carParkCode;
  120 +
  121 + /** 线路规划类型 <0:双向;1:环线> */
  122 + private Integer linePlayType;
  123 +
121 124 // 描述
122 125 private String descriptions;
123 126  
... ... @@ -134,6 +137,14 @@ public class Line implements Serializable {
134 137 // 修改日期
135 138 @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
136 139 private Date updateDate;
  140 +
  141 + public Integer getLinePlayType() {
  142 + return linePlayType;
  143 + }
  144 +
  145 + public void setLinePlayType(Integer linePlayType) {
  146 + this.linePlayType = linePlayType;
  147 + }
137 148  
138 149 public Integer getId() {
139 150 return id;
... ...
src/main/java/com/bsth/entity/Personnel.java
... ... @@ -53,7 +53,17 @@ public class Personnel {
53 53 private String personnelType;
54 54 /** 所属岗位/工种(字典类型gzType) */
55 55 private String posts;
  56 +
  57 + /** 身份证 */
  58 + private String card;
56 59  
  60 + public String getCard() {
  61 + return card;
  62 + }
  63 +
  64 + public void setCard(String card) {
  65 + this.card = card;
  66 + }
57 67  
58 68 /** 人员编码(TODO:在原系统里没有,这里暂时留着) */
59 69 private String personnelCode;
... ...
src/main/java/com/bsth/entity/Station.java
... ... @@ -41,6 +41,9 @@ public class Station {
41 41 // 所在道路编码
42 42 private String roadCoding;
43 43  
  44 + // 站点的具体地址
  45 + private String addr;
  46 +
44 47 /**
45 48 * 经纬坐标类型
46 49 *
... ... @@ -111,6 +114,14 @@ public class Station {
111 114 // 修改日期
112 115 @Column(name = "update_date", columnDefinition = "timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
113 116 private Date updateDate;
  117 +
  118 + public String getAddr() {
  119 + return addr;
  120 + }
  121 +
  122 + public void setAddr(String addr) {
  123 + this.addr = addr;
  124 + }
114 125  
115 126 public Integer getId() {
116 127 return id;
... ...
src/main/java/com/bsth/repository/realcontrol/ScheduleRealInfoRepository.java
... ... @@ -20,7 +20,7 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
20 20 List<ScheduleRealInfo> findByLines(List<String> lines);
21 21  
22 22  
23   - @Query(value="select s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 and s.bcType = 'out' order by (lpName+1)")
  23 + @Query(value="select s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY s.jGh,s.clZbh,s.lpName order by (lpName+1)")
24 24 List<ScheduleRealInfo> queryUserInfo(String line,String date);
25 25  
26 26 @Query(value="select s from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and s.lpName = ?3 order by bcs")
... ... @@ -29,7 +29,7 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
29 29 @Query(value="select new map(clZbh as clZbh,jGh as jGh,jName as jName,sum(jhlc) as zgl,sum(addMileage) as ksgl,count(jName) as bcs) from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 group by clZbh,jGh")
30 30 List<Map<String, Object>> dailyInfo(String line,String date);
31 31  
32   - @Query(value="SELECT r.xl_name,r.lp_name,r.cl_zbh,d.sender,d.timestamp,d.txt_content FROM bsth_c_s_sp_info_real r RIGHT JOIN bsth_v_directive_60 d ON r.id = d.sch WHERE d.is_dispatch = 1 AND r.xl_bm = ?1 AND r.schedule_date = ?2 and r.cl_zbh = ?3",nativeQuery=true)
  32 + @Query(value="SELECT r.xl_name,r.lp_name,r.cl_zbh,d.sender,d.timestamp,d.txt_content FROM bsth_c_s_sp_info_real r RIGHT JOIN bsth_v_directive_60 d ON r.id = d.sch WHERE d.is_dispatch = 1 AND r.xl_bm = ?1 AND r.schedule_date = ?2 and r.cl_zbh = ?3 order by d.timestamp",nativeQuery=true)
33 33 List<Object[]> historyMessage(String line,String date,String code);
34 34  
35 35 @Query(value = "select max(id) from ScheduleRealInfo")
... ... @@ -54,7 +54,7 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
54 54 @Query(value="select s from ScheduleRealInfo s where s.xlBm = ?1 and s.scheduleDate >= str_to_date(?2,'%Y-%m-%d') and s.scheduleDate <= str_to_date(?3,'%Y-%m-%d') and s.lpName = ?4 order by s.fcsj")
55 55 List<ScheduleRealInfo> correctForm(String line,String startDate,String endDate,String lpName);
56 56  
57   - @Query(value="select s from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and s.lpName = ?3 and s.scheduleDate <= str_to_date(?4,'%Y-%m-%d') order by bcs")
  57 + @Query(value="select s from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and s.lpName = ?3 and s.scheduleDate = str_to_date(?4,'%Y-%m-%d') order by bcs")
58 58 List<ScheduleRealInfo> queryListWaybill(String jName,String clZbh,String lpName,String date);
59 59  
60 60 @Query(value="select s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2")
... ... @@ -74,4 +74,7 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
74 74  
75 75 @Query(value="select s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2")
76 76 List<ScheduleRealInfo> scheduleByDateAndLine(String line,String date);
  77 +
  78 + @Query(value="select new map(s.scheduleDate as scheduleDate,s.xlBm as xlBm,s.clZbh as clZbh,s.jGh as jGh) from ScheduleRealInfo s where (s.xlBm = ?1 or s.xlBm is not null) and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY xlBm,clZbh,jGh ORDER BY xlBm,clZbh,realExecDate,fcsjActual")
  79 + List<Map<String,Object>> yesterdayDataList(String line,String date);
77 80 }
... ...
src/main/java/com/bsth/service/TrafficManageService.java 0 → 100644
  1 +package com.bsth.service;
  2 +
  3 +import com.bsth.entity.Line;
  4 +
  5 +/**
  6 + *
  7 + * @Interface: LineService(线路service业务层实现接口)
  8 + *
  9 + * @extends : BaseService
  10 + *
  11 + * @Description: TODO(线路service业务层实现接口)
  12 + *
  13 + * @Author bsth@lq
  14 + *
  15 + * @Date 2016年4月28日 上午9:21:17
  16 + *
  17 + * @Version 公交调度系统BS版 0.1
  18 + *
  19 + */
  20 +public interface TrafficManageService {
  21 +
  22 + /**
  23 + * 获取线路编码
  24 + *
  25 + * @return long <lineCode:线路编码>
  26 + */
  27 + String setXL();
  28 +
  29 +}
... ...
src/main/java/com/bsth/service/impl/TrafficManageServiceImpl.java 0 → 100644
  1 +package com.bsth.service.impl;
  2 +
  3 +import java.util.Iterator;
  4 +
  5 +import org.springframework.beans.factory.annotation.Autowired;
  6 +import org.springframework.stereotype.Service;
  7 +
  8 +import com.bsth.entity.Line;
  9 +import com.bsth.repository.LineRepository;
  10 +import com.bsth.service.TrafficManageService;
  11 +import com.bsth.webService.trafficManage.geotool.services.Internal;
  12 +import com.bsth.webService.trafficManage.geotool.services.InternalPortType;
  13 +
  14 +/**
  15 + *
  16 + * @ClassName: LineServiceImpl(线路service业务层实现类)
  17 + *
  18 + * @Extends : BaseService
  19 + *
  20 + * @Description: TODO(线路service业务层)
  21 + *
  22 + * @Author bsth@lq
  23 + *
  24 + * @Date 2016年4月28日 上午9:21:17
  25 + *
  26 + * @Version 公交调度系统BS版 0.1
  27 + *
  28 + */
  29 +
  30 +@Service
  31 +public class TrafficManageServiceImpl implements TrafficManageService{
  32 +
  33 + @Autowired
  34 + private LineRepository repository;
  35 +
  36 + // 运管处接口
  37 + private InternalPortType portType = new Internal().getInternalHttpSoap11Endpoint();
  38 + // 用户名
  39 + private final String userName = "pudong";
  40 + // 密码
  41 + private final String password = "pudong123";
  42 +
  43 + /**
  44 + * 获取线路编码
  45 + *
  46 + * @return int <lineCode:线路编码>
  47 + */
  48 + public String setXL() {
  49 + String result = "";
  50 + StringBuffer sbBuffer = new StringBuffer();
  51 + Iterator<Line> lines = repository.findAll().iterator();
  52 + if(lines.hasNext()){
  53 + Line line = lines.next();
  54 + }
  55 + System.out.println(portType.setXL(sbBuffer.toString(), userName, password));;
  56 + System.out.println("abdfedddddddddddddddddddddddddddd");
  57 + return result;
  58 + }
  59 +
  60 +}
... ...
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
... ... @@ -110,4 +110,6 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L
110 110 Map<String,Object> scheduleDaily(String line,String date);
111 111  
112 112 List<ScheduleRealInfo> realScheduleList(String line,String date);
  113 +
  114 + List<Map<String,Object>> yesterdayDataList(String line);
113 115 }
... ...
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
... ... @@ -468,37 +468,48 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
468 468 // int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName);
469 469 // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName);
470 470 int jhbc = 0,cjbc = 0,ljbc = 0;
471   - double jhlc = 0, yygl = 0, ksgl = 0;
  471 + double jhlc = 0, yygl = 0, ksgl = 0,tempJhlc = 0;
472 472 float addMileage = 0l,remMileage = 0l;
473 473  
474 474 Map<String,Object> map;
475 475 for(ScheduleRealInfo scheduleRealInfo : scheduleRealInfos){
476 476 if(scheduleRealInfo != null){
477 477 //计算计划里程(主任务过滤掉临加班次),烂班里程,临加里程,计划班次,烂班班次,增加班次
478   - if(scheduleRealInfo.isSflj()){
479   - addMileage += addMileage += scheduleRealInfo.getAddMileage()==null?0:scheduleRealInfo.getAddMileage();
480   - ljbc++;
481   - }else{
482   - jhlc += scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc();
483   - if(scheduleRealInfo.getStatus() != -1){
484   - remMileage += scheduleRealInfo.getRemMileage()==null?0:scheduleRealInfo.getRemMileage();
  478 + if(scheduleRealInfo != null){
  479 + //计划里程(主任务过滤掉临加班次),
  480 + //烂班里程(主任务烂班),
  481 + //临加里程(主任务临加),
  482 + //计划班次,烂班班次,增加班次
  483 + tempJhlc = scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc();
  484 + if(scheduleRealInfo.isSflj()){
  485 + addMileage += tempJhlc;
  486 + ljbc++;
485 487 }else{
486   - cjbc++;
  488 + jhlc += tempJhlc;
  489 + jhbc++;
  490 + if(scheduleRealInfo.getStatus() == -1){
  491 + remMileage += tempJhlc;
  492 + cjbc++;
  493 + }
487 494 }
488   - jhbc++;
489   - }
490   - Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks();
491   - //计算营运里程,空驶里程
492   - if(childTaskPlans.isEmpty()){
493   - yygl += scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc();
494   - }else{
495   - Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
496   - while(it.hasNext()){
497   - ChildTaskPlan childTaskPlan = it.next();
498   - if(childTaskPlan.getMileageType().equals("empty")){
499   - ksgl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();
  495 + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks();
  496 + //计算营运里程,空驶里程
  497 + if(childTaskPlans.isEmpty()){
  498 + if(scheduleRealInfo.getBcType().equals("in") || scheduleRealInfo.getBcType().equals("out")
  499 + || scheduleRealInfo.getBcType().equals("venting")){
  500 + ksgl += tempJhlc;
500 501 }else{
501   - yygl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();
  502 + yygl += tempJhlc;
  503 + }
  504 + }else{
  505 + Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
  506 + while(it.hasNext()){
  507 + ChildTaskPlan childTaskPlan = it.next();
  508 + if(childTaskPlan.getMileageType().equals("empty")){
  509 + ksgl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();
  510 + }else{
  511 + yygl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();
  512 + }
502 513 }
503 514 }
504 515 }
... ... @@ -1123,39 +1134,164 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1123 1134 List<ScheduleRealInfo> list = scheduleRealInfoRepository.scheduleByDateAndLine(line, date);
1124 1135 List<Map<String,Object>> lMap = new ArrayList<Map<String,Object>>();
1125 1136 DecimalFormat format = new DecimalFormat("0.00");
1126   - double jhlc = 0.00;
1127   - float sjgl = 0l,ssgl = 0l;
  1137 + double jhlc = 0, tempJhlc = 0,childMileage = 0;
  1138 + float sjgl = 0f,ssgl = 0f,ssgl_lz = 0f,ssgl_dm = 0f,ssgl_gz = 0f,ssgl_jf = 0f,ssgl_zs = 0f,ssgl_qr = 0f
  1139 + ,ssgl_qc = 0f,ssgl_kx = 0f,ssgl_qh = 0f,ssgl_yw = 0f,ssgl_other = 0f,ljgl = 0f;
  1140 + //班次
  1141 + int sj_0 = 6*60+31,sj_1 = 8*60+30,sj_2 = 16*60+1,sj_3 = 18*60;
  1142 + int jhbc = 0,jhbc_m = 0,jhbc_a = 0;
  1143 + int sjbc = 0,sjbc_m = 0,sjbc_a = 0;
  1144 + int ljbc = 0,ljbc_m = 0,ljbc_a = 0;
  1145 + int fzbc = 0,fzbc_m = 0,fzbc_a = 0;
  1146 + int dtbc = 0,dtbc_m = 0,dtbc_a = 0;
  1147 + int djg = 0,djg_m = 0,djg_a = 0,djg_time = 0;
1128 1148 Map<String,Object> map = new HashMap<String, Object>();
1129 1149 for(ScheduleRealInfo scheduleRealInfo: list){
1130 1150 if(scheduleRealInfo != null){
1131   - if(!scheduleRealInfo.isSflj()){
1132   - jhlc += scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc();
1133   - }
1134   - if(scheduleRealInfo.isDestroy()){
1135   - ssgl += scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc();
1136   - }
1137   -
1138 1151 Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks();
1139   - //计算实际里程,驶里程
  1152 + //计算实际里程,少驶里程,计划里程=实际里程+少驶里程
1140 1153 if(childTaskPlans.isEmpty()){
1141   - sjgl += scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc();
  1154 + tempJhlc = scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc();
  1155 + jhlc += tempJhlc;
  1156 + if(scheduleRealInfo.getStatus() == 2){
  1157 + sjgl += tempJhlc;
  1158 + }else if(scheduleRealInfo.getStatus() == -1){
  1159 + ssgl += tempJhlc;
  1160 + if(scheduleRealInfo.getRemarks().indexOf("路阻") != -1){
  1161 + ssgl_lz += tempJhlc;
  1162 + }else if(scheduleRealInfo.getRemarks().indexOf("吊慢") != -1){
  1163 + ssgl_dm += tempJhlc;
  1164 + }else if(scheduleRealInfo.getRemarks().indexOf("故障") != -1){
  1165 + ssgl_gz += tempJhlc;
  1166 + }else if(scheduleRealInfo.getRemarks().indexOf("纠纷") != -1){
  1167 + ssgl_jf += tempJhlc;
  1168 + }else if(scheduleRealInfo.getRemarks().indexOf("肇事") != -1){
  1169 + ssgl_zs += tempJhlc;
  1170 + }else if(scheduleRealInfo.getRemarks().indexOf("缺人") != -1){
  1171 + ssgl_qr += tempJhlc;
  1172 + }else if(scheduleRealInfo.getRemarks().indexOf("缺车") != -1){
  1173 + ssgl_qc += tempJhlc;
  1174 + }else if(scheduleRealInfo.getRemarks().indexOf("客稀") != -1){
  1175 + ssgl_kx += tempJhlc;
  1176 + }else if(scheduleRealInfo.getRemarks().indexOf("气候") != -1){
  1177 + ssgl_qh += tempJhlc;
  1178 + }else if(scheduleRealInfo.getRemarks().indexOf("援外") != -1){
  1179 + ssgl_yw += tempJhlc;
  1180 + }else{
  1181 + ssgl_other += tempJhlc;
  1182 + }
  1183 +
  1184 + //临加公里
  1185 + if(scheduleRealInfo.isSflj()){
  1186 + ljgl += tempJhlc;
  1187 + }
  1188 + }
1142 1189 }else{
1143 1190 Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
1144 1191 while(it.hasNext()){
1145 1192 ChildTaskPlan childTaskPlan = it.next();
  1193 + childMileage = childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();
  1194 + jhlc += childMileage;
1146 1195 if(childTaskPlan.isDestroy()){
1147   - ssgl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();
  1196 + ssgl += childMileage;
  1197 + if(childTaskPlan.getDestroyReason().equals("路阻")){
  1198 + ssgl_lz += childTaskPlan.getMileage();
  1199 + }else if(childTaskPlan.getDestroyReason().equals("吊慢")){
  1200 + ssgl_dm += childTaskPlan.getMileage();
  1201 + }else if(childTaskPlan.getDestroyReason().equals("故障")){
  1202 + ssgl_gz += childTaskPlan.getMileage();
  1203 + }else if(childTaskPlan.getDestroyReason().equals("纠纷")){
  1204 + ssgl_jf += childTaskPlan.getMileage();
  1205 + }else if(childTaskPlan.getDestroyReason().equals("肇事")){
  1206 + ssgl_zs += childTaskPlan.getMileage();
  1207 + }else if(childTaskPlan.getDestroyReason().equals("缺人")){
  1208 + ssgl_qr += childTaskPlan.getMileage();
  1209 + }else if(childTaskPlan.getDestroyReason().equals("缺车")){
  1210 + ssgl_qc += childTaskPlan.getMileage();
  1211 + }else if(childTaskPlan.getDestroyReason().equals("客稀")){
  1212 + ssgl_kx += childTaskPlan.getMileage();
  1213 + }else if(childTaskPlan.getDestroyReason().equals("气候")){
  1214 + ssgl_qh += childTaskPlan.getMileage();
  1215 + }else if(childTaskPlan.getDestroyReason().equals("援外")){
  1216 + ssgl_yw += childTaskPlan.getMileage();
  1217 + }else{
  1218 + ssgl_other += childTaskPlan.getMileage();
  1219 + }
1148 1220 }else{
1149   - sjgl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();
  1221 + sjgl += childMileage;
1150 1222 }
1151 1223 }
1152 1224 }
  1225 +
  1226 + //班次
  1227 + jhbc++;
  1228 + String[] fcsj = scheduleRealInfo.getFcsj().split(":");
  1229 + String[] fcsjActual = (scheduleRealInfo.getFcsjActual()==null?"0:00":scheduleRealInfo.getFcsjActual()).split(":");
  1230 + if((Integer.parseInt(fcsj[0])*60+Integer.parseInt(fcsj[1])) > sj_0 && (Integer.parseInt(fcsj[0])*60+Integer.parseInt(fcsj[1])) < sj_1){
  1231 + jhbc_m++;
  1232 + }else if((Integer.parseInt(fcsj[0])*60+Integer.parseInt(fcsj[1])) > sj_2 && (Integer.parseInt(fcsj[0])*60+Integer.parseInt(fcsj[1])) < sj_3){
  1233 + jhbc_a++;
  1234 + }
  1235 + if(scheduleRealInfo.getStatus() == 2){
  1236 + sjbc++;
  1237 + if((Integer.parseInt(fcsjActual[0])*60+Integer.parseInt(fcsjActual[1])) > sj_0 && (Integer.parseInt(fcsjActual[0])*60+Integer.parseInt(fcsjActual[1])) < sj_1){
  1238 + sjbc_m++;
  1239 + }else if((Integer.parseInt(fcsjActual[0])*60+Integer.parseInt(fcsjActual[1])) > sj_2 && (Integer.parseInt(fcsjActual[0])*60+Integer.parseInt(fcsjActual[1])) < sj_3){
  1240 + sjbc_a++;
  1241 + }
  1242 + }
  1243 + if(scheduleRealInfo.isSflj()){
  1244 + ljbc++;
  1245 + if((Integer.parseInt(fcsjActual[0])*60+Integer.parseInt(fcsjActual[1])) > sj_0 && (Integer.parseInt(fcsjActual[0])*60+Integer.parseInt(fcsjActual[1])) < sj_1){
  1246 + ljbc_m++;
  1247 + }else if((Integer.parseInt(fcsjActual[0])*60+Integer.parseInt(fcsjActual[1])) > sj_2 && (Integer.parseInt(fcsjActual[0])*60+Integer.parseInt(fcsjActual[1])) < sj_3){
  1248 + ljbc_a++;
  1249 + }
  1250 + }
  1251 + if(scheduleRealInfo.getBcType().equals("venting")){
  1252 + fzbc++;
  1253 + if((Integer.parseInt(fcsjActual[0])*60+Integer.parseInt(fcsjActual[1])) > sj_0 && (Integer.parseInt(fcsjActual[0])*60+Integer.parseInt(fcsjActual[1])) < sj_1){
  1254 + fzbc_m++;
  1255 + }else if((Integer.parseInt(fcsjActual[0])*60+Integer.parseInt(fcsjActual[1])) > sj_2 && (Integer.parseInt(fcsjActual[0])*60+Integer.parseInt(fcsjActual[1])) < sj_3){
  1256 + fzbc_a++;
  1257 + }
  1258 + }
1153 1259 }
1154 1260 }
1155 1261 map.put("xlName", xlName);
1156 1262 map.put("jhlc", format.format(jhlc));
1157 1263 map.put("sjgl", format.format(sjgl));
1158 1264 map.put("ssgl", format.format(ssgl));
  1265 + map.put("ssgl_lz", ssgl_lz==0?0:format.format(ssgl_lz));
  1266 + map.put("ssgl_dm", ssgl_dm==0?0:format.format(ssgl_dm));
  1267 + map.put("ssgl_gz", ssgl_gz==0?0:format.format(ssgl_gz));
  1268 + map.put("ssgl_jf", ssgl_jf==0?0:format.format(ssgl_jf));
  1269 + map.put("ssgl_zs", ssgl_zs==0?0:format.format(ssgl_zs));
  1270 + map.put("ssgl_qr", ssgl_qr==0?0:format.format(ssgl_qr));
  1271 + map.put("ssgl_qc", ssgl_qc==0?0:format.format(ssgl_qc));
  1272 + map.put("ssgl_kx", ssgl_kx==0?0:format.format(ssgl_kx));
  1273 + map.put("ssgl_qh", ssgl_qh==0?0:format.format(ssgl_qh));
  1274 + map.put("ssgl_yw", ssgl_yw==0?0:format.format(ssgl_yw));
  1275 + map.put("ssgl_other", ssgl_other==0?0:format.format(ssgl_other));
  1276 + map.put("ljgl", ljgl==0?0:format.format(ljgl));
  1277 + map.put("jhbc_m", jhbc_m);
  1278 + map.put("jhbc_a", jhbc_a);
  1279 + map.put("sjbc", sjbc);
  1280 + map.put("sjbc_m", sjbc_m);
  1281 + map.put("sjbc_a", sjbc_a);
  1282 + map.put("ljbc", ljbc);
  1283 + map.put("ljbc_m", ljbc_m);
  1284 + map.put("ljbc_a", ljbc_a);
  1285 + map.put("fzbc", fzbc);
  1286 + map.put("fzbc_m", fzbc_m);
  1287 + map.put("fzbc_a", fzbc_a);
  1288 + map.put("dtbc", dtbc);
  1289 + map.put("dtbc_m", dtbc_m);
  1290 + map.put("dtbc_a", dtbc_a);
  1291 + map.put("djg", djg);
  1292 + map.put("djg_m", djg_m);
  1293 + map.put("djg_a", djg_a);
  1294 + map.put("djg_time", djg_time);
1159 1295 lMap.add(map);
1160 1296 return lMap;
1161 1297 }
... ... @@ -1260,6 +1396,15 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1260 1396  
1261 1397 @Override
1262 1398 public List<ScheduleRealInfo> realScheduleList(String line, String date) {
  1399 + List<ScheduleRealInfo> listInfo = scheduleRealInfoRepository.queryUserInfo(line, date);
  1400 + List<ScheduleRealInfo> listTotal = scheduleRealInfoRepository.scheduleByDateAndLine(line, date);
  1401 + for(ScheduleRealInfo info:listInfo){
  1402 + for(ScheduleRealInfo total:listTotal){
  1403 + if(info.getjGh().equals(total.getjGh()) && info.getLpName().equals(total.getLpName()) && info.getClZbh().equals(total.getClZbh())){
  1404 +
  1405 + }
  1406 + }
  1407 + }
1263 1408 return scheduleRealInfoRepository.scheduleByDateAndLine(line, date);
1264 1409 }
1265 1410  
... ... @@ -1276,4 +1421,52 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1276 1421  
1277 1422 return rs;
1278 1423 }
  1424 +
  1425 + public List<Map<String,Object>> yesterdayDataList(String line) {
  1426 + //前一天日期
  1427 + String date = sdfMonth.format(org.apache.commons.lang.time.DateUtils.addDays(new Date(), -1));
  1428 + List<Map<String,Object>> yesterdayDataList = scheduleRealInfoRepository.yesterdayDataList(line, date);
  1429 + List<ScheduleRealInfo> list = scheduleRealInfoRepository.scheduleByDateAndLine(line, date);
  1430 + for(ScheduleRealInfo scheduleRealInfo:list){
  1431 + if(scheduleRealInfo != null){
  1432 + for(int i=0;i<yesterdayDataList.size();i++){
  1433 + if(scheduleRealInfo.getXlBm().equals(yesterdayDataList.get(i).get("xlBm")) && scheduleRealInfo.getClZbh().equals(yesterdayDataList.get(i).get("clZbh"))
  1434 + && scheduleRealInfo.getjGh().equals(yesterdayDataList.get(i).get("jGh"))){
  1435 + //根据线路代码获取公司
  1436 + Line li = lineRepository.findByLineCode(line);
  1437 + yesterdayDataList.get(i).put("company", li.getCompany());
  1438 + //计算总公里
  1439 + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks();
  1440 + //如果没有子任务,里程就是已执行(Status=2);有子任务的,忽略主任务,子任务的烂班
  1441 + if(childTaskPlans.isEmpty()){
  1442 + if(scheduleRealInfo.getStatus() == 2){
  1443 + yesterdayDataList.get(i).put("totalKilometers", scheduleRealInfo.getJhlc()==null?0.0:scheduleRealInfo.getJhlc()+(double)(yesterdayDataList.get(i).get("totalKilometers")==null?0.0:yesterdayDataList.get(i).get("totalKilometers")));
  1444 + }
  1445 + }else{
  1446 + Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
  1447 + while(it.hasNext()){
  1448 + ChildTaskPlan childTaskPlan = it.next();
  1449 + if(!childTaskPlan.isDestroy()){
  1450 + yesterdayDataList.get(i).put("totalKilometers", childTaskPlan.getMileage()==null?0.0:childTaskPlan.getMileage()+(double)(yesterdayDataList.get(i).get("totalKilometers")==null?0.0:yesterdayDataList.get(i).get("totalKilometers")));
  1451 + }
  1452 + }
  1453 + }
  1454 + }
  1455 + }
  1456 + }
  1457 + }
  1458 + //增加顺序号
  1459 + for(int i=0;i<yesterdayDataList.size();i++){
  1460 + if(i == 0){
  1461 + yesterdayDataList.get(i).put("seqNumber", 1);
  1462 + }else{
  1463 + if(yesterdayDataList.get(i-1).get("clZbh").equals(yesterdayDataList.get(i).get("clZbh"))){
  1464 + yesterdayDataList.get(i).put("seqNumber", 1+(int)yesterdayDataList.get(i-1).get("seqNumber"));
  1465 + }else{
  1466 + yesterdayDataList.get(i).put("seqNumber", 1);
  1467 + }
  1468 + }
  1469 + }
  1470 + return yesterdayDataList;
  1471 + }
1279 1472 }
... ...
src/main/java/com/bsth/service/schedule/rules/strategy/IStrategyImpl.java
1   -package com.bsth.service.schedule.rules.strategy;
2   -
3   -import com.bsth.entity.Line;
4   -import com.bsth.entity.schedule.CarConfigInfo;
5   -import com.bsth.entity.schedule.EmployeeConfigInfo;
6   -import com.bsth.entity.schedule.TTInfo;
7   -import com.bsth.entity.schedule.TTInfoDetail;
8   -import com.bsth.entity.schedule.rule.ScheduleRule1Flat;
9   -import com.bsth.service.LineService;
10   -import com.bsth.service.schedule.*;
11   -import com.bsth.service.schedule.rules.ttinfo.TTInfoCalcuParam_input;
12   -import com.bsth.service.schedule.rules.ttinfo.TTInfoResult_output;
13   -import com.bsth.service.schedule.rules.ttinfo.TTInfoResults_output;
14   -import com.bsth.service.schedule.rules.ttinfo.TTInfo_input;
15   -import com.google.common.collect.ArrayListMultimap;
16   -import com.google.common.collect.Multimap;
17   -import org.joda.time.DateTime;
18   -import org.kie.api.KieBase;
19   -import org.kie.api.runtime.KieSession;
20   -import org.slf4j.Logger;
21   -import org.slf4j.LoggerFactory;
22   -import org.springframework.beans.factory.annotation.Autowired;
23   -import org.springframework.stereotype.Service;
24   -
25   -import java.util.*;
26   -
27   -/**
28   - * Created by xu on 16/7/10.
29   - */
30   -@Service
31   -public class IStrategyImpl implements IStrategy {
32   - @Autowired
33   - private TTInfoService ttInfoService;
34   - @Autowired
35   - private CarConfigInfoService carConfigInfoService;
36   - @Autowired
37   - private EmployeeConfigInfoService employeeConfigInfoService;
38   - @Autowired
39   - private TTInfoDetailService ttInfoDetailService;
40   - @Autowired
41   - private LineService lineService;
42   - @Autowired
43   - private ScheduleRule1FlatService scheduleRule1FlatService;
44   -
45   - /** 日志记录器 */
46   - private Logger logger = LoggerFactory.getLogger(IStrategyImpl.class);
47   -
48   - @Autowired
49   - private KieBase kieBase;
50   -
51   - @Override
52   - public Line getLine(Integer xlId) {
53   - Line xl = lineService.findById(xlId); // 查找线路具体信息
54   - return xl;
55   - }
56   -
57   - @Override
58   - public List<TTInfo> getTTInfo(Integer xlId) {
59   - // 查询参数
60   - Map<String, Object> param = new HashMap<>();
61   - param.put("xl.id_eq", xlId); // 线路Id
62   - param.put("isCancel_eq", false); // 作废的过滤掉
63   - Iterator<TTInfo> ttInfoIterator = ttInfoService.list(param).iterator();
64   - if (!ttInfoIterator.hasNext()) {
65   - throw new RuntimeException("线路id=" + xlId + " 没有时刻表!");
66   - }
67   - List<TTInfo> ttInfos = new ArrayList<>();
68   - while (ttInfoIterator.hasNext()) {
69   - TTInfo ttInfo = ttInfoIterator.next();
70   - ttInfos.add(ttInfo);
71   - }
72   - return ttInfos;
73   - }
74   -
75   - @Override
76   - public List<TTInfoDetail> getTTInfoDetail(Integer xlId) {
77   - List<TTInfoDetail> ttInfoDetails = new ArrayList<>();
78   -
79   - List<TTInfo> ttInfos = getTTInfo(xlId);
80   - Map<String, Object> param = new HashMap<>();
81   - for (TTInfo ttInfo : ttInfos) {
82   - param.clear();
83   - param.put("ttinfo.id_eq", ttInfo.getId());
84   - Iterator<TTInfoDetail> ttInfoDetailIterator = ttInfoDetailService.list(param).iterator();
85   - while (ttInfoDetailIterator.hasNext()) {
86   - ttInfoDetails.add(ttInfoDetailIterator.next());
87   - }
88   - }
89   -
90   - return ttInfoDetails;
91   - }
92   -
93   - @Override
94   - public Iterable<ScheduleRule1Flat> getScheduleRule(Integer xlId) {
95   - Map<String, Object> param = new HashMap<>(); // 查询参数
96   - Line xl = lineService.findById(xlId); // 查找线路具体信息
97   - param.clear();
98   - param.put("xl.id_eq", xl.getId());
99   - Iterable<ScheduleRule1Flat> scheduleRule1FlatIterable = scheduleRule1FlatService.list(param);
100   - if (!scheduleRule1FlatIterable.iterator().hasNext())
101   - throw new RuntimeException("线路:" + xl.getName() + " 没有配置规则!");
102   -
103   - return scheduleRule1FlatIterable;
104   - }
105   -
106   - @Override
107   - public Map<Date, Multimap<Long, TTInfoDetail>> getGuideboardXlTTInfoDetailMaps(
108   - Integer xlId, Date fromDate, Date toDate) {
109   - // 获取线路的所有时刻表
110   - List<TTInfo> ttInfos = getTTInfo(xlId);
111   -
112   - // 执行规则,判定每天使用的时刻表
113   - KieSession session = kieBase.newKieSession();
114   -
115   - session.setGlobal("log", logger);
116   - TTInfoResults_output ttInfoResults_output = new TTInfoResults_output();
117   - session.setGlobal("results", ttInfoResults_output);
118   -
119   - TTInfoCalcuParam_input ttInfoCalcuParam_input = new TTInfoCalcuParam_input(
120   - new DateTime(fromDate), new DateTime(toDate), String.valueOf(xlId));
121   - session.insert(ttInfoCalcuParam_input);
122   - for (TTInfo ttInfo : ttInfos) {
123   - TTInfo_input ttInfo_input = new TTInfo_input(ttInfo);
124   - session.insert(ttInfo_input);
125   - }
126   -
127   - session.fireAllRules();
128   - session.dispose();
129   -
130   - // 获取ttinfoDetail
131   - List<TTInfoDetail> ttInfoDetails = getTTInfoDetail(xlId);
132   -
133   - // 规则输出结果
134   - Multimap<DateTime, TTInfoResult_output> outputMultimap =
135   - ttInfoResults_output.getResults().get(String.valueOf(xlId));
136   - // return结果输出
137   - Map<Date, Multimap<Long, TTInfoDetail>> ttInfoDetailMultimap = new HashMap<>();
138   -
139   - Map<String, Object> param = new HashMap<>();
140   - for (DateTime dateTime : outputMultimap.keySet()) {
141   - Collection<TTInfoResult_output> ttInfoResult_outputs = outputMultimap.get(dateTime);
142   - // 如果有多个,使用第一个
143   - Iterator<TTInfoResult_output> ttInfoResult_outputIterator = ttInfoResult_outputs.iterator();
144   - if (ttInfoResult_outputIterator.hasNext()) {
145   - // 同一天,多张时刻表只取第一张
146   - TTInfoResult_output ttInfoResult_output = ttInfoResult_outputIterator.next();
147   - // 查找时刻表明细
148   - Multimap<Long, TTInfoDetail> ttinfodetailMap2 = ArrayListMultimap.create();
149   - for (TTInfoDetail ttInfoDetail : ttInfoDetails) {
150   - if (ttInfoDetail.getTtinfo().getId() == Long.valueOf(ttInfoResult_output.getTtInfoId())) {
151   - ttinfodetailMap2.put(ttInfoDetail.getLp().getId(), ttInfoDetail);
152   - }
153   - }
154   -
155   - ttInfoDetailMultimap.put(dateTime.toDate(), ttinfodetailMap2);
156   - }
157   - }
158   -
159   - return ttInfoDetailMultimap;
160   - }
161   -
162   - @Override
163   - public Map<Long, CarConfigInfo> getCarConfigMaps(Integer xlId) {
164   - // 查询参数
165   - Map<String, Object> param = new HashMap<>();
166   - param.put("xl.id_eq", xlId);
167   - Iterable<CarConfigInfo> carConfigInfoIterable = carConfigInfoService.list(param);
168   - Iterator<CarConfigInfo> carConfigInfoIterator = carConfigInfoIterable.iterator();
169   - if (!carConfigInfoIterator.hasNext())
170   - throw new RuntimeException("线路id=" + xlId + ",下没有车辆配置信息!");
171   -
172   - Map<Long, CarConfigInfo> carConfigInfoMap = new HashMap<>();
173   - while (carConfigInfoIterator.hasNext()) {
174   - CarConfigInfo carConfigInfo = carConfigInfoIterator.next();
175   - carConfigInfoMap.put(carConfigInfo.getId(), carConfigInfo);
176   - }
177   - return carConfigInfoMap;
178   - }
179   -
180   - @Override
181   - public Map<Long, EmployeeConfigInfo> getEmployeeConfigMaps(Integer xlId) {
182   - // 查询参数
183   - Map<String, Object> param = new HashMap<>();
184   - param.put("xl.id_eq", xlId);
185   - Iterable<EmployeeConfigInfo> employeeConfigInfoIterable = employeeConfigInfoService.list(param);
186   - Iterator<EmployeeConfigInfo> employeeConfigInfoIterator = employeeConfigInfoIterable.iterator();
187   - if (!employeeConfigInfoIterator.hasNext())
188   - throw new RuntimeException("线路id=" + xlId + ",下没有人员配置信息!");
189   -
190   - Map<Long, EmployeeConfigInfo> employeeConfigInfoMap = new HashMap<>();
191   - while (employeeConfigInfoIterator.hasNext()) {
192   - EmployeeConfigInfo employeeConfigInfo = employeeConfigInfoIterator.next();
193   - employeeConfigInfoMap.put(employeeConfigInfo.getId(), employeeConfigInfo);
194   - }
195   - return employeeConfigInfoMap;
196   - }
197   -}
  1 +package com.bsth.service.schedule.rules.strategy;
  2 +
  3 +import com.bsth.entity.Line;
  4 +import com.bsth.entity.schedule.CarConfigInfo;
  5 +import com.bsth.entity.schedule.EmployeeConfigInfo;
  6 +import com.bsth.entity.schedule.TTInfo;
  7 +import com.bsth.entity.schedule.TTInfoDetail;
  8 +import com.bsth.entity.schedule.rule.ScheduleRule1Flat;
  9 +import com.bsth.service.LineService;
  10 +import com.bsth.service.schedule.*;
  11 +import com.bsth.service.schedule.rules.ttinfo.TTInfoCalcuParam_input;
  12 +import com.bsth.service.schedule.rules.ttinfo.TTInfoResult_output;
  13 +import com.bsth.service.schedule.rules.ttinfo.TTInfoResults_output;
  14 +import com.bsth.service.schedule.rules.ttinfo.TTInfo_input;
  15 +import com.google.common.collect.ArrayListMultimap;
  16 +import com.google.common.collect.Multimap;
  17 +import org.joda.time.DateTime;
  18 +import org.kie.api.KieBase;
  19 +import org.kie.api.runtime.KieSession;
  20 +import org.slf4j.Logger;
  21 +import org.slf4j.LoggerFactory;
  22 +import org.springframework.beans.factory.annotation.Autowired;
  23 +import org.springframework.stereotype.Service;
  24 +
  25 +import java.util.*;
  26 +
  27 +/**
  28 + * Created by xu on 16/7/10.
  29 + */
  30 +@Service
  31 +public class IStrategyImpl implements IStrategy {
  32 + @Autowired
  33 + private TTInfoService ttInfoService;
  34 + @Autowired
  35 + private CarConfigInfoService carConfigInfoService;
  36 + @Autowired
  37 + private EmployeeConfigInfoService employeeConfigInfoService;
  38 + @Autowired
  39 + private TTInfoDetailService ttInfoDetailService;
  40 + @Autowired
  41 + private LineService lineService;
  42 + @Autowired
  43 + private ScheduleRule1FlatService scheduleRule1FlatService;
  44 +
  45 + /** 日志记录器 */
  46 + private Logger logger = LoggerFactory.getLogger(IStrategyImpl.class);
  47 +
  48 + @Autowired
  49 + private KieBase kieBase;
  50 +
  51 + @Override
  52 + public Line getLine(Integer xlId) {
  53 + Line xl = lineService.findById(xlId); // 查找线路具体信息
  54 + return xl;
  55 + }
  56 +
  57 + @Override
  58 + public List<TTInfo> getTTInfo(Integer xlId) {
  59 + // 查询参数
  60 + Map<String, Object> param = new HashMap<>();
  61 + param.put("xl.id_eq", xlId); // 线路Id
  62 + param.put("isCancel_eq", false); // 作废的过滤掉
  63 + Iterator<TTInfo> ttInfoIterator = ttInfoService.list(param).iterator();
  64 + if (!ttInfoIterator.hasNext()) {
  65 + throw new RuntimeException("线路id=" + xlId + " 没有时刻表!");
  66 + }
  67 + List<TTInfo> ttInfos = new ArrayList<>();
  68 + while (ttInfoIterator.hasNext()) {
  69 + TTInfo ttInfo = ttInfoIterator.next();
  70 + ttInfos.add(ttInfo);
  71 + }
  72 + return ttInfos;
  73 + }
  74 +
  75 + @Override
  76 + public List<TTInfoDetail> getTTInfoDetail(Integer xlId) {
  77 + List<TTInfoDetail> ttInfoDetails = new ArrayList<>();
  78 +
  79 + List<TTInfo> ttInfos = getTTInfo(xlId);
  80 + Map<String, Object> param = new HashMap<>();
  81 + for (TTInfo ttInfo : ttInfos) {
  82 + param.clear();
  83 + param.put("ttinfo.id_eq", ttInfo.getId());
  84 + Iterator<TTInfoDetail> ttInfoDetailIterator = ttInfoDetailService.list(param).iterator();
  85 + while (ttInfoDetailIterator.hasNext()) {
  86 + ttInfoDetails.add(ttInfoDetailIterator.next());
  87 + }
  88 + }
  89 +
  90 + return ttInfoDetails;
  91 + }
  92 +
  93 + @Override
  94 + public Iterable<ScheduleRule1Flat> getScheduleRule(Integer xlId) {
  95 + Map<String, Object> param = new HashMap<>(); // 查询参数
  96 + Line xl = lineService.findById(xlId); // 查找线路具体信息
  97 + param.clear();
  98 + param.put("xl.id_eq", xl.getId());
  99 + Iterable<ScheduleRule1Flat> scheduleRule1FlatIterable = scheduleRule1FlatService.list(param);
  100 + if (!scheduleRule1FlatIterable.iterator().hasNext())
  101 + throw new RuntimeException("线路:" + xl.getName() + " 没有配置规则!");
  102 +
  103 + return scheduleRule1FlatIterable;
  104 + }
  105 +
  106 + @Override
  107 + public Map<Date, Multimap<Long, TTInfoDetail>> getGuideboardXlTTInfoDetailMaps(
  108 + Integer xlId, Date fromDate, Date toDate) {
  109 + // 获取线路的所有时刻表
  110 + List<TTInfo> ttInfos = getTTInfo(xlId);
  111 +
  112 + // 执行规则,判定每天使用的时刻表
  113 + KieSession session = kieBase.newKieSession();
  114 +
  115 + session.setGlobal("log", logger);
  116 + TTInfoResults_output ttInfoResults_output = new TTInfoResults_output();
  117 + session.setGlobal("results", ttInfoResults_output);
  118 +
  119 + TTInfoCalcuParam_input ttInfoCalcuParam_input = new TTInfoCalcuParam_input(
  120 + new DateTime(fromDate), new DateTime(toDate), String.valueOf(xlId));
  121 + session.insert(ttInfoCalcuParam_input);
  122 + for (TTInfo ttInfo : ttInfos) {
  123 + TTInfo_input ttInfo_input = new TTInfo_input(ttInfo);
  124 + session.insert(ttInfo_input);
  125 + }
  126 +
  127 + session.fireAllRules();
  128 + session.dispose();
  129 +
  130 + // 获取ttinfoDetail
  131 + List<TTInfoDetail> ttInfoDetails = getTTInfoDetail(xlId);
  132 +
  133 + // 规则输出结果
  134 + Multimap<DateTime, TTInfoResult_output> outputMultimap =
  135 + ttInfoResults_output.getResults().get(String.valueOf(xlId));
  136 + // return结果输出
  137 + Map<Date, Multimap<Long, TTInfoDetail>> ttInfoDetailMultimap = new HashMap<>();
  138 +
  139 + Map<String, Object> param = new HashMap<>();
  140 + for (DateTime dateTime : outputMultimap.keySet()) {
  141 + Collection<TTInfoResult_output> ttInfoResult_outputs = outputMultimap.get(dateTime);
  142 + // 如果有多个,使用第一个
  143 + Iterator<TTInfoResult_output> ttInfoResult_outputIterator = ttInfoResult_outputs.iterator();
  144 + if (ttInfoResult_outputIterator.hasNext()) {
  145 + // 同一天,多张时刻表只取第一张
  146 + TTInfoResult_output ttInfoResult_output = ttInfoResult_outputIterator.next();
  147 + // 查找时刻表明细
  148 + Multimap<Long, TTInfoDetail> ttinfodetailMap2 = ArrayListMultimap.create();
  149 + for (TTInfoDetail ttInfoDetail : ttInfoDetails) {
  150 + if (ttInfoDetail.getTtinfo().getId() == Long.valueOf(ttInfoResult_output.getTtInfoId())) {
  151 + ttinfodetailMap2.put(ttInfoDetail.getLp().getId(), ttInfoDetail);
  152 + }
  153 + }
  154 +
  155 + ttInfoDetailMultimap.put(dateTime.toDate(), ttinfodetailMap2);
  156 + }
  157 + }
  158 +
  159 + return ttInfoDetailMultimap;
  160 + }
  161 +
  162 + @Override
  163 + public Map<Long, CarConfigInfo> getCarConfigMaps(Integer xlId) {
  164 + // 查询参数
  165 + Map<String, Object> param = new HashMap<>();
  166 + param.put("xl.id_eq", xlId);
  167 + Iterable<CarConfigInfo> carConfigInfoIterable = carConfigInfoService.list(param);
  168 + Iterator<CarConfigInfo> carConfigInfoIterator = carConfigInfoIterable.iterator();
  169 + if (!carConfigInfoIterator.hasNext())
  170 + throw new RuntimeException("线路id=" + xlId + ",下没有车辆配置信息!");
  171 +
  172 + Map<Long, CarConfigInfo> carConfigInfoMap = new HashMap<>();
  173 + while (carConfigInfoIterator.hasNext()) {
  174 + CarConfigInfo carConfigInfo = carConfigInfoIterator.next();
  175 + carConfigInfoMap.put(carConfigInfo.getId(), carConfigInfo);
  176 + }
  177 + return carConfigInfoMap;
  178 + }
  179 +
  180 + @Override
  181 + public Map<Long, EmployeeConfigInfo> getEmployeeConfigMaps(Integer xlId) {
  182 + // 查询参数
  183 + Map<String, Object> param = new HashMap<>();
  184 + param.put("xl.id_eq", xlId);
  185 + Iterable<EmployeeConfigInfo> employeeConfigInfoIterable = employeeConfigInfoService.list(param);
  186 + Iterator<EmployeeConfigInfo> employeeConfigInfoIterator = employeeConfigInfoIterable.iterator();
  187 + if (!employeeConfigInfoIterator.hasNext())
  188 + throw new RuntimeException("线路id=" + xlId + ",下没有人员配置信息!");
  189 +
  190 + Map<Long, EmployeeConfigInfo> employeeConfigInfoMap = new HashMap<>();
  191 + while (employeeConfigInfoIterator.hasNext()) {
  192 + EmployeeConfigInfo employeeConfigInfo = employeeConfigInfoIterator.next();
  193 + employeeConfigInfoMap.put(employeeConfigInfo.getId(), employeeConfigInfo);
  194 + }
  195 + return employeeConfigInfoMap;
  196 + }
  197 +}
... ...
src/main/java/com/bsth/service/schedule/rules/ttinfo/TTInfo_input.java
1   -package com.bsth.service.schedule.rules.ttinfo;
2   -
3   -import com.bsth.entity.schedule.TTInfo;
4   -import org.apache.commons.lang3.StringUtils;
5   -import org.joda.time.DateTime;
6   -import org.joda.time.format.DateTimeFormat;
7   -
8   -import java.util.ArrayList;
9   -import java.util.List;
10   -
11   -/**
12   - * 时刻表_输入
13   - */
14   -public class TTInfo_input implements Comparable<TTInfo_input> {
15   - /** 时刻表id */
16   - private String ttInfoId;
17   - /** 线路Id */
18   - private String xlId;
19   - /** 周一到周日是否启用 */
20   - private List<Boolean> weekdays = new ArrayList<>();
21   - /** 特殊节假日 */
22   - private List<DateTime> specialDays = new ArrayList<>();
23   - /** 最新修改时间 */
24   - private DateTime updateDate;
25   - /** 是否启用 */
26   - private Boolean isEnable;
27   - /** 启用日期 */
28   - private DateTime qyDate;
29   -
30   - public TTInfo_input() {
31   -
32   - }
33   -
34   - @Override
35   - public int compareTo(TTInfo_input ttInfo_input) {
36   - if (ttInfo_input != null) {
37   - if (ttInfo_input.updateDate != null && this.updateDate != null)
38   - return - this.updateDate.compareTo(ttInfo_input.updateDate);
39   - }
40   - return -1;
41   - }
42   -
43   - public TTInfo_input(TTInfo ttInfo) {
44   - this.ttInfoId = String.valueOf(ttInfo.getId());
45   - this.xlId = String.valueOf(ttInfo.getXl().getId());
46   - String[] days = ttInfo.getRule_days().split(",");
47   - System.out.println(days.length);
48   - for (int i = 0; i < 7; i++) {
49   - if ("1".equals(days[i])) {
50   - weekdays.add(true);
51   - } else {
52   - weekdays.add(false);
53   - }
54   - }
55   -
56   - if (StringUtils.isNotEmpty(ttInfo.getSpecial_days())) {
57   - String[] sdays = ttInfo.getSpecial_days().split(",");
58   - for (int i = 0; i < sdays.length; i++) {
59   - specialDays.add(DateTimeFormat.forPattern("yyyy-MM-dd").
60   - parseDateTime(sdays[i]));
61   - }
62   - }
63   -
64   - this.updateDate = new DateTime(ttInfo.getUpdateDate());
65   - this.isEnable = ttInfo.getIsEnableDisTemplate();
66   - this.qyDate = new DateTime(ttInfo.getQyrq());
67   -
68   - }
69   -
70   - public String getTtInfoId() {
71   - return ttInfoId;
72   - }
73   -
74   - public void setTtInfoId(String ttInfoId) {
75   - this.ttInfoId = ttInfoId;
76   - }
77   -
78   - public String getXlId() {
79   - return xlId;
80   - }
81   -
82   - public void setXlId(String xlId) {
83   - this.xlId = xlId;
84   - }
85   -
86   - public List<Boolean> getWeekdays() {
87   - return weekdays;
88   - }
89   -
90   - public void setWeekdays(List<Boolean> weekdays) {
91   - this.weekdays = weekdays;
92   - }
93   -
94   - public List<DateTime> getSpecialDays() {
95   - return specialDays;
96   - }
97   -
98   - public void setSpecialDays(List<DateTime> specialDays) {
99   - this.specialDays = specialDays;
100   - }
101   -
102   - public DateTime getUpdateDate() {
103   - return updateDate;
104   - }
105   -
106   - public void setUpdateDate(DateTime updateDate) {
107   - this.updateDate = updateDate;
108   - }
109   -
110   - public Boolean getIsEnable() {
111   - return isEnable;
112   - }
113   -
114   - public void setIsEnable(Boolean isEnable) {
115   - this.isEnable = isEnable;
116   - }
117   -
118   - public DateTime getQyDate() {
119   - return qyDate;
120   - }
121   -
122   - public void setQyDate(DateTime qyDate) {
123   - this.qyDate = qyDate;
124   - }
125   -}
  1 +package com.bsth.service.schedule.rules.ttinfo;
  2 +
  3 +import com.bsth.entity.schedule.TTInfo;
  4 +import org.apache.commons.lang3.StringUtils;
  5 +import org.joda.time.DateTime;
  6 +import org.joda.time.format.DateTimeFormat;
  7 +
  8 +import java.util.ArrayList;
  9 +import java.util.List;
  10 +
  11 +/**
  12 + * 时刻表_输入
  13 + */
  14 +public class TTInfo_input implements Comparable<TTInfo_input> {
  15 + /** 时刻表id */
  16 + private String ttInfoId;
  17 + /** 线路Id */
  18 + private String xlId;
  19 + /** 周一到周日是否启用 */
  20 + private List<Boolean> weekdays = new ArrayList<>();
  21 + /** 特殊节假日 */
  22 + private List<DateTime> specialDays = new ArrayList<>();
  23 + /** 最新修改时间 */
  24 + private DateTime updateDate;
  25 + /** 是否启用 */
  26 + private Boolean isEnable;
  27 + /** 启用日期 */
  28 + private DateTime qyDate;
  29 +
  30 + public TTInfo_input() {
  31 +
  32 + }
  33 +
  34 + @Override
  35 + public int compareTo(TTInfo_input ttInfo_input) {
  36 + if (ttInfo_input != null) {
  37 + if (ttInfo_input.updateDate != null && this.updateDate != null)
  38 + return - this.updateDate.compareTo(ttInfo_input.updateDate);
  39 + }
  40 + return -1;
  41 + }
  42 +
  43 + public TTInfo_input(TTInfo ttInfo) {
  44 + this.ttInfoId = String.valueOf(ttInfo.getId());
  45 + this.xlId = String.valueOf(ttInfo.getXl().getId());
  46 + String[] days = ttInfo.getRule_days().split(",");
  47 + System.out.println(days.length);
  48 + for (int i = 0; i < 7; i++) {
  49 + if ("1".equals(days[i])) {
  50 + weekdays.add(true);
  51 + } else {
  52 + weekdays.add(false);
  53 + }
  54 + }
  55 +
  56 + if (StringUtils.isNotEmpty(ttInfo.getSpecial_days())) {
  57 + String[] sdays = ttInfo.getSpecial_days().split(",");
  58 + for (int i = 0; i < sdays.length; i++) {
  59 + specialDays.add(DateTimeFormat.forPattern("yyyy-MM-dd").
  60 + parseDateTime(sdays[i]));
  61 + }
  62 + }
  63 +
  64 + this.updateDate = new DateTime(ttInfo.getUpdateDate());
  65 + this.isEnable = ttInfo.getIsEnableDisTemplate();
  66 + this.qyDate = new DateTime(ttInfo.getQyrq());
  67 +
  68 + }
  69 +
  70 + public String getTtInfoId() {
  71 + return ttInfoId;
  72 + }
  73 +
  74 + public void setTtInfoId(String ttInfoId) {
  75 + this.ttInfoId = ttInfoId;
  76 + }
  77 +
  78 + public String getXlId() {
  79 + return xlId;
  80 + }
  81 +
  82 + public void setXlId(String xlId) {
  83 + this.xlId = xlId;
  84 + }
  85 +
  86 + public List<Boolean> getWeekdays() {
  87 + return weekdays;
  88 + }
  89 +
  90 + public void setWeekdays(List<Boolean> weekdays) {
  91 + this.weekdays = weekdays;
  92 + }
  93 +
  94 + public List<DateTime> getSpecialDays() {
  95 + return specialDays;
  96 + }
  97 +
  98 + public void setSpecialDays(List<DateTime> specialDays) {
  99 + this.specialDays = specialDays;
  100 + }
  101 +
  102 + public DateTime getUpdateDate() {
  103 + return updateDate;
  104 + }
  105 +
  106 + public void setUpdateDate(DateTime updateDate) {
  107 + this.updateDate = updateDate;
  108 + }
  109 +
  110 + public Boolean getIsEnable() {
  111 + return isEnable;
  112 + }
  113 +
  114 + public void setIsEnable(Boolean isEnable) {
  115 + this.isEnable = isEnable;
  116 + }
  117 +
  118 + public DateTime getQyDate() {
  119 + return qyDate;
  120 + }
  121 +
  122 + public void setQyDate(DateTime qyDate) {
  123 + this.qyDate = qyDate;
  124 + }
  125 +}
... ...
src/main/java/com/bsth/webService/trafficManage/geotool/services/DownloadAllDataFile.java 0 → 100644
  1 +package com.bsth.webService.trafficManage.geotool.services;
  2 +
  3 +import javax.xml.bind.JAXBElement;
  4 +import javax.xml.bind.annotation.XmlAccessType;
  5 +import javax.xml.bind.annotation.XmlAccessorType;
  6 +import javax.xml.bind.annotation.XmlElementRef;
  7 +import javax.xml.bind.annotation.XmlRootElement;
  8 +import javax.xml.bind.annotation.XmlType;
  9 +
  10 +/**
  11 + * <p>
  12 + * Java class for anonymous complex type.
  13 + *
  14 + * <p>
  15 + * The following schema fragment specifies the expected content contained within
  16 + * this class.
  17 + *
  18 + * <pre>
  19 + * &lt;complexType&gt;
  20 + * &lt;complexContent&gt;
  21 + * &lt;restriction base=&quot;{http://www.w3.org/2001/XMLSchema}anyType&quot;&gt;
  22 + * &lt;sequence&gt;
  23 + * &lt;element name=&quot;args0&quot; type=&quot;{http://www.w3.org/2001/XMLSchema}string&quot; minOccurs=&quot;0&quot;/&gt;
  24 + * &lt;element name=&quot;args1&quot; type=&quot;{http://www.w3.org/2001/XMLSchema}string&quot; minOccurs=&quot;0&quot;/&gt;
  25 + * &lt;/sequence&gt;
  26 + * &lt;/restriction&gt;
  27 + * &lt;/complexContent&gt;
  28 + * &lt;/complexType&gt;
  29 + * </pre>
  30 + *
  31 + *
  32 + */
  33 +@XmlAccessorType(XmlAccessType.FIELD)
  34 +@XmlType(name = "", propOrder = { "args0", "args1" })
  35 +@XmlRootElement(name = "downloadAllDataFile")
  36 +public class DownloadAllDataFile {
  37 +
  38 + @XmlElementRef(name = "args0", namespace = "http://services.geotool.com", type = JAXBElement.class)
  39 + protected JAXBElement<String> args0;
  40 + @XmlElementRef(name = "args1", namespace = "http://services.geotool.com", type = JAXBElement.class)
  41 + protected JAXBElement<String> args1;
  42 +
  43 + /**
  44 + * Gets the value of the args0 property.
  45 + *
  46 + * @return possible object is {@link JAXBElement }{@code <}{@link String }{@code >}
  47 + *
  48 + */
  49 + public JAXBElement<String> getArgs0() {
  50 + return args0;
  51 + }
  52 +
  53 + /**
  54 + * Sets the value of the args0 property.
  55 + *
  56 + * @param value
  57 + * allowed object is {@link JAXBElement }{@code <}{@link String }{@code >}
  58 + *
  59 + */
  60 + public void setArgs0(JAXBElement<String> value) {
  61 + this.args0 = ((JAXBElement<String>) value);
  62 + }
  63 +
  64 + /**
  65 + * Gets the value of the args1 property.
  66 + *
  67 + * @return possible object is {@link JAXBElement }{@code <}{@link String }{@code >}
  68 + *
  69 + */
  70 + public JAXBElement<String> getArgs1() {
  71 + return args1;
  72 + }
  73 +
  74 + /**
  75 + * Sets the value of the args1 property.
  76 + *
  77 + * @param value
  78 + * allowed object is {@link JAXBElement }{@code <}{@link String }{@code >}
  79 + *
  80 + */
  81 + public void setArgs1(JAXBElement<String> value) {
  82 + this.args1 = ((JAXBElement<String>) value);
  83 + }
  84 +
  85 +}
... ...
src/main/java/com/bsth/webService/trafficManage/geotool/services/DownloadAllDataFileResponse.java 0 → 100644
  1 +package com.bsth.webService.trafficManage.geotool.services;
  2 +
  3 +import javax.xml.bind.JAXBElement;
  4 +import javax.xml.bind.annotation.XmlAccessType;
  5 +import javax.xml.bind.annotation.XmlAccessorType;
  6 +import javax.xml.bind.annotation.XmlElementRef;
  7 +import javax.xml.bind.annotation.XmlRootElement;
  8 +import javax.xml.bind.annotation.XmlType;
  9 +
  10 +/**
  11 + * <p>
  12 + * Java class for anonymous complex type.
  13 + *
  14 + * <p>
  15 + * The following schema fragment specifies the expected content contained within
  16 + * this class.
  17 + *
  18 + * <pre>
  19 + * &lt;complexType&gt;
  20 + * &lt;complexContent&gt;
  21 + * &lt;restriction base=&quot;{http://www.w3.org/2001/XMLSchema}anyType&quot;&gt;
  22 + * &lt;sequence&gt;
  23 + * &lt;element name=&quot;return&quot; type=&quot;{http://www.w3.org/2001/XMLSchema}base64Binary&quot; minOccurs=&quot;0&quot;/&gt;
  24 + * &lt;/sequence&gt;
  25 + * &lt;/restriction&gt;
  26 + * &lt;/complexContent&gt;
  27 + * &lt;/complexType&gt;
  28 + * </pre>
  29 + *
  30 + *
  31 + */
  32 +@XmlAccessorType(XmlAccessType.FIELD)
  33 +@XmlType(name = "", propOrder = { "_return" })
  34 +@XmlRootElement(name = "downloadAllDataFileResponse")
  35 +public class DownloadAllDataFileResponse {
  36 +
  37 + @XmlElementRef(name = "return", namespace = "http://services.geotool.com", type = JAXBElement.class)
  38 + protected JAXBElement<byte[]> _return;
  39 +
  40 + /**
  41 + * Gets the value of the return property.
  42 + *
  43 + * @return possible object is {@link JAXBElement }{@code <}{@link byte[]}{@code >}
  44 + *
  45 + */
  46 + public JAXBElement<byte[]> getReturn() {
  47 + return _return;
  48 + }
  49 +
  50 + /**
  51 + * Sets the value of the return property.
  52 + *
  53 + * @param value
  54 + * allowed object is {@link JAXBElement }{@code <}{@link byte[]}{@code >}
  55 + *
  56 + */
  57 + public void setReturn(JAXBElement<byte[]> value) {
  58 + this._return = ((JAXBElement<byte[]>) value);
  59 + }
  60 +
  61 +}
... ...
src/main/java/com/bsth/webService/trafficManage/geotool/services/DownloadIncreaseDataFile.java 0 → 100644
  1 +package com.bsth.webService.trafficManage.geotool.services;
  2 +
  3 +import javax.xml.bind.JAXBElement;
  4 +import javax.xml.bind.annotation.XmlAccessType;
  5 +import javax.xml.bind.annotation.XmlAccessorType;
  6 +import javax.xml.bind.annotation.XmlElementRef;
  7 +import javax.xml.bind.annotation.XmlRootElement;
  8 +import javax.xml.bind.annotation.XmlType;
  9 +
  10 +/**
  11 + * <p>
  12 + * Java class for anonymous complex type.
  13 + *
  14 + * <p>
  15 + * The following schema fragment specifies the expected content contained within
  16 + * this class.
  17 + *
  18 + * <pre>
  19 + * &lt;complexType&gt;
  20 + * &lt;complexContent&gt;
  21 + * &lt;restriction base=&quot;{http://www.w3.org/2001/XMLSchema}anyType&quot;&gt;
  22 + * &lt;sequence&gt;
  23 + * &lt;element name=&quot;args0&quot; type=&quot;{http://www.w3.org/2001/XMLSchema}string&quot; minOccurs=&quot;0&quot;/&gt;
  24 + * &lt;element name=&quot;args1&quot; type=&quot;{http://www.w3.org/2001/XMLSchema}string&quot; minOccurs=&quot;0&quot;/&gt;
  25 + * &lt;element name=&quot;args2&quot; type=&quot;{http://www.w3.org/2001/XMLSchema}string&quot; minOccurs=&quot;0&quot;/&gt;
  26 + * &lt;/sequence&gt;
  27 + * &lt;/restriction&gt;
  28 + * &lt;/complexContent&gt;
  29 + * &lt;/complexType&gt;
  30 + * </pre>
  31 + *
  32 + *
  33 + */
  34 +@XmlAccessorType(XmlAccessType.FIELD)
  35 +@XmlType(name = "", propOrder = { "args0", "args1", "args2" })
  36 +@XmlRootElement(name = "downloadIncreaseDataFile")
  37 +public class DownloadIncreaseDataFile {
  38 +
  39 + @XmlElementRef(name = "args0", namespace = "http://services.geotool.com", type = JAXBElement.class)
  40 + protected JAXBElement<String> args0;
  41 + @XmlElementRef(name = "args1", namespace = "http://services.geotool.com", type = JAXBElement.class)
  42 + protected JAXBElement<String> args1;
  43 + @XmlElementRef(name = "args2", namespace = "http://services.geotool.com", type = JAXBElement.class)
  44 + protected JAXBElement<String> args2;
  45 +
  46 + /**
  47 + * Gets the value of the args0 property.
  48 + *
  49 + * @return possible object is {@link JAXBElement }{@code <}{@link String }{@code >}
  50 + *
  51 + */
  52 + public JAXBElement<String> getArgs0() {
  53 + return args0;
  54 + }
  55 +
  56 + /**
  57 + * Sets the value of the args0 property.
  58 + *
  59 + * @param value
  60 + * allowed object is {@link JAXBElement }{@code <}{@link String }{@code >}
  61 + *
  62 + */
  63 + public void setArgs0(JAXBElement<String> value) {
  64 + this.args0 = ((JAXBElement<String>) value);
  65 + }
  66 +
  67 + /**
  68 + * Gets the value of the args1 property.
  69 + *
  70 + * @return possible object is {@link JAXBElement }{@code <}{@link String }{@code >}
  71 + *
  72 + */
  73 + public JAXBElement<String> getArgs1() {
  74 + return args1;
  75 + }
  76 +
  77 + /**
  78 + * Sets the value of the args1 property.
  79 + *
  80 + * @param value
  81 + * allowed object is {@link JAXBElement }{@code <}{@link String }{@code >}
  82 + *
  83 + */
  84 + public void setArgs1(JAXBElement<String> value) {
  85 + this.args1 = ((JAXBElement<String>) value);
  86 + }
  87 +
  88 + /**
  89 + * Gets the value of the args2 property.
  90 + *
  91 + * @return possible object is {@link JAXBElement }{@code <}{@link String }{@code >}
  92 + *
  93 + */
  94 + public JAXBElement<String> getArgs2() {
  95 + return args2;
  96 + }
  97 +
  98 + /**
  99 + * Sets the value of the args2 property.
  100 + *
  101 + * @param value
  102 + * allowed object is {@link JAXBElement }{@code <}{@link String }{@code >}
  103 + *
  104 + */
  105 + public void setArgs2(JAXBElement<String> value) {
  106 + this.args2 = ((JAXBElement<String>) value);
  107 + }
  108 +
  109 +}
... ...
src/main/java/com/bsth/webService/trafficManage/geotool/services/DownloadIncreaseDataFileResponse.java 0 → 100644
  1 +package com.bsth.webService.trafficManage.geotool.services;
  2 +
  3 +import javax.xml.bind.JAXBElement;
  4 +import javax.xml.bind.annotation.XmlAccessType;
  5 +import javax.xml.bind.annotation.XmlAccessorType;
  6 +import javax.xml.bind.annotation.XmlElementRef;
  7 +import javax.xml.bind.annotation.XmlRootElement;
  8 +import javax.xml.bind.annotation.XmlType;
  9 +
  10 +/**
  11 + * <p>
  12 + * Java class for anonymous complex type.
  13 + *
  14 + * <p>
  15 + * The following schema fragment specifies the expected content contained within
  16 + * this class.
  17 + *
  18 + * <pre>
  19 + * &lt;complexType&gt;
  20 + * &lt;complexContent&gt;
  21 + * &lt;restriction base=&quot;{http://www.w3.org/2001/XMLSchema}anyType&quot;&gt;
  22 + * &lt;sequence&gt;
  23 + * &lt;element name=&quot;return&quot; type=&quot;{http://www.w3.org/2001/XMLSchema}base64Binary&quot; minOccurs=&quot;0&quot;/&gt;
  24 + * &lt;/sequence&gt;
  25 + * &lt;/restriction&gt;
  26 + * &lt;/complexContent&gt;
  27 + * &lt;/complexType&gt;
  28 + * </pre>
  29 + *
  30 + *
  31 + */
  32 +@XmlAccessorType(XmlAccessType.FIELD)
  33 +@XmlType(name = "", propOrder = { "_return" })
  34 +@XmlRootElement(name = "downloadIncreaseDataFileResponse")
  35 +public class DownloadIncreaseDataFileResponse {
  36 +
  37 + @XmlElementRef(name = "return", namespace = "http://services.geotool.com", type = JAXBElement.class)
  38 + protected JAXBElement<byte[]> _return;
  39 +
  40 + /**
  41 + * Gets the value of the return property.
  42 + *
  43 + * @return possible object is {@link JAXBElement }{@code <}{@link byte[]}{@code >}
  44 + *
  45 + */
  46 + public JAXBElement<byte[]> getReturn() {
  47 + return _return;
  48 + }
  49 +
  50 + /**
  51 + * Sets the value of the return property.
  52 + *
  53 + * @param value
  54 + * allowed object is {@link JAXBElement }{@code <}{@link byte[]}{@code >}
  55 + *
  56 + */
  57 + public void setReturn(JAXBElement<byte[]> value) {
  58 + this._return = ((JAXBElement<byte[]>) value);
  59 + }
  60 +
  61 +}
... ...
src/main/java/com/bsth/webService/trafficManage/geotool/services/Internal.java 0 → 100644
  1 +package com.bsth.webService.trafficManage.geotool.services;
  2 +
  3 +import java.net.MalformedURLException;
  4 +import java.net.URL;
  5 +import java.util.logging.Logger;
  6 +import javax.xml.namespace.QName;
  7 +import javax.xml.ws.Service;
  8 +import javax.xml.ws.WebEndpoint;
  9 +import javax.xml.ws.WebServiceClient;
  10 +
  11 +/**
  12 + * This class was generated by the JAX-WS RI. JAX-WS RI 2.1.3-hudson-390-
  13 + * Generated source version: 2.0
  14 + * <p>
  15 + * An example of how this class may be used:
  16 + *
  17 + * <pre>
  18 + * Internal service = new Internal();
  19 + * InternalPortType portType = service.getInternalHttpSoap11Endpoint();
  20 + * portType.downloadIncreaseDataFile(...);
  21 + * </pre>
  22 + *
  23 + * </p>
  24 + *
  25 + */
  26 +@WebServiceClient(name = "Internal", targetNamespace = "http://services.geotool.com", wsdlLocation = "http://218.242.195.71:7000/TransManage/services/Internal?wsdl")
  27 +public class Internal extends Service {
  28 +
  29 + private final static URL INTERNAL_WSDL_LOCATION;
  30 + private final static Logger logger = Logger
  31 + .getLogger(com.bsth.webService.trafficManage.geotool.services.Internal.class.getName());
  32 +
  33 + static {
  34 + URL url = null;
  35 + try {
  36 + URL baseUrl;
  37 + baseUrl = com.bsth.webService.trafficManage.geotool.services.Internal.class.getResource(".");
  38 + url = new URL(baseUrl,
  39 + "http://218.242.195.71:7000/TransManage/services/Internal?wsdl");
  40 + } catch (MalformedURLException e) {
  41 + logger
  42 + .warning("Failed to create URL for the wsdl Location: 'http://218.242.195.71:7000/TransManage/services/Internal?wsdl', retrying as a local file");
  43 + logger.warning(e.getMessage());
  44 + }
  45 + INTERNAL_WSDL_LOCATION = url;
  46 + }
  47 +
  48 + public Internal(URL wsdlLocation, QName serviceName) {
  49 + super(wsdlLocation, serviceName);
  50 + }
  51 +
  52 + public Internal() {
  53 + super(INTERNAL_WSDL_LOCATION, new QName("http://services.geotool.com",
  54 + "Internal"));
  55 + }
  56 +
  57 + /**
  58 + *
  59 + * @return returns InternalPortType
  60 + */
  61 + @WebEndpoint(name = "InternalHttpSoap11Endpoint")
  62 + public InternalPortType getInternalHttpSoap11Endpoint() {
  63 + return super.getPort(new QName("http://services.geotool.com",
  64 + "InternalHttpSoap11Endpoint"), InternalPortType.class);
  65 + }
  66 +
  67 + /**
  68 + *
  69 + * @return returns InternalPortType
  70 + */
  71 + @WebEndpoint(name = "InternalHttpSoap12Endpoint")
  72 + public InternalPortType getInternalHttpSoap12Endpoint() {
  73 + return super.getPort(new QName("http://services.geotool.com",
  74 + "InternalHttpSoap12Endpoint"), InternalPortType.class);
  75 + }
  76 +
  77 + /**
  78 + *
  79 + * @return returns InternalPortType
  80 + */
  81 + @WebEndpoint(name = "InternalHttpEndpoint")
  82 + public InternalPortType getInternalHttpEndpoint() {
  83 + return super.getPort(new QName("http://services.geotool.com",
  84 + "InternalHttpEndpoint"), InternalPortType.class);
  85 + }
  86 +
  87 +}
... ...
src/main/java/com/bsth/webService/trafficManage/geotool/services/InternalPortType.java 0 → 100644
  1 +package com.bsth.webService.trafficManage.geotool.services;
  2 +
  3 +import javax.jws.WebMethod;
  4 +import javax.jws.WebParam;
  5 +import javax.jws.WebResult;
  6 +import javax.jws.WebService;
  7 +import javax.xml.ws.RequestWrapper;
  8 +import javax.xml.ws.ResponseWrapper;
  9 +
  10 +/**
  11 + * This class was generated by the JAX-WS RI. JAX-WS RI 2.1.3-hudson-390-
  12 + * Generated source version: 2.0
  13 + *
  14 + */
  15 +@WebService(name = "InternalPortType", targetNamespace = "http://services.geotool.com")
  16 +public interface InternalPortType {
  17 +
  18 + /**
  19 + *
  20 + * @param args2
  21 + * @param args0
  22 + * @param args1
  23 + * @return returns byte[]
  24 + */
  25 + @WebMethod(action = "urn:downloadIncreaseDataFile")
  26 + @WebResult(targetNamespace = "http://services.geotool.com")
  27 + @RequestWrapper(localName = "downloadIncreaseDataFile", targetNamespace = "http://services.geotool.com", className = "com.geotool.services.DownloadIncreaseDataFile")
  28 + @ResponseWrapper(localName = "downloadIncreaseDataFileResponse", targetNamespace = "http://services.geotool.com", className = "com.geotool.services.DownloadIncreaseDataFileResponse")
  29 + public byte[] downloadIncreaseDataFile(
  30 + @WebParam(name = "args0", targetNamespace = "http://services.geotool.com")
  31 + String args0,
  32 + @WebParam(name = "args1", targetNamespace = "http://services.geotool.com")
  33 + String args1,
  34 + @WebParam(name = "args2", targetNamespace = "http://services.geotool.com")
  35 + String args2);
  36 +
  37 + /**
  38 + *
  39 + * @param args0
  40 + * @return returns java.lang.String
  41 + */
  42 + @WebMethod(operationName = "ZBUploadLineStation", action = "urn:ZBUploadLineStation")
  43 + @WebResult(targetNamespace = "http://services.geotool.com")
  44 + @RequestWrapper(localName = "ZBUploadLineStation", targetNamespace = "http://services.geotool.com", className = "com.geotool.services.ZBUploadLineStation")
  45 + @ResponseWrapper(localName = "ZBUploadLineStationResponse", targetNamespace = "http://services.geotool.com", className = "com.geotool.services.ZBUploadLineStationResponse")
  46 + public String zbUploadLineStation(
  47 + @WebParam(name = "args0", targetNamespace = "http://services.geotool.com")
  48 + String args0);
  49 +
  50 + /**
  51 + *
  52 + * @param args2
  53 + * @param args0
  54 + * @param args1
  55 + * @return returns java.lang.String
  56 + */
  57 + @WebMethod(action = "urn:setXL")
  58 + @WebResult(targetNamespace = "http://services.geotool.com")
  59 + @RequestWrapper(localName = "setXL", targetNamespace = "http://services.geotool.com", className = "com.geotool.services.SetXL")
  60 + @ResponseWrapper(localName = "setXLResponse", targetNamespace = "http://services.geotool.com", className = "com.geotool.services.SetXLResponse")
  61 + public String setXL(
  62 + @WebParam(name = "args0", targetNamespace = "http://services.geotool.com")
  63 + String args0,
  64 + @WebParam(name = "args1", targetNamespace = "http://services.geotool.com")
  65 + String args1,
  66 + @WebParam(name = "args2", targetNamespace = "http://services.geotool.com")
  67 + String args2);
  68 +
  69 + /**
  70 + *
  71 + * @param args0
  72 + * @param args1
  73 + * @return returns byte[]
  74 + */
  75 + @WebMethod(action = "urn:downloadAllDataFile")
  76 + @WebResult(targetNamespace = "http://services.geotool.com")
  77 + @RequestWrapper(localName = "downloadAllDataFile", targetNamespace = "http://services.geotool.com", className = "com.geotool.services.DownloadAllDataFile")
  78 + @ResponseWrapper(localName = "downloadAllDataFileResponse", targetNamespace = "http://services.geotool.com", className = "com.geotool.services.DownloadAllDataFileResponse")
  79 + public byte[] downloadAllDataFile(
  80 + @WebParam(name = "args0", targetNamespace = "http://services.geotool.com")
  81 + String args0,
  82 + @WebParam(name = "args1", targetNamespace = "http://services.geotool.com")
  83 + String args1);
  84 +
  85 +}
... ...
src/main/java/com/bsth/webService/trafficManage/geotool/services/ObjectFactory.java 0 → 100644
  1 +package com.bsth.webService.trafficManage.geotool.services;
  2 +
  3 +import javax.xml.bind.JAXBElement;
  4 +import javax.xml.bind.annotation.XmlElementDecl;
  5 +import javax.xml.bind.annotation.XmlRegistry;
  6 +import javax.xml.namespace.QName;
  7 +
  8 +/**
  9 + * This object contains factory methods for each Java content interface and Java
  10 + * element interface generated in the com.geotool.services package.
  11 + * <p>
  12 + * An ObjectFactory allows you to programatically construct new instances of the
  13 + * Java representation for XML content. The Java representation of XML content
  14 + * can consist of schema derived interfaces and classes representing the binding
  15 + * of schema type definitions, element declarations and model groups. Factory
  16 + * methods for each of these are provided in this class.
  17 + *
  18 + */
  19 +@XmlRegistry
  20 +public class ObjectFactory {
  21 +
  22 + private final static QName _ZBUploadLineStationArgs0_QNAME = new QName(
  23 + "http://services.geotool.com", "args0");
  24 + private final static QName _DownloadIncreaseDataFileArgs2_QNAME = new QName(
  25 + "http://services.geotool.com", "args2");
  26 + private final static QName _DownloadIncreaseDataFileArgs1_QNAME = new QName(
  27 + "http://services.geotool.com", "args1");
  28 + private final static QName _DownloadAllDataFileResponseReturn_QNAME = new QName(
  29 + "http://services.geotool.com", "return");
  30 +
  31 + /**
  32 + * Create a new ObjectFactory that can be used to create new instances of
  33 + * schema derived classes for package: com.geotool.services
  34 + *
  35 + */
  36 + public ObjectFactory() {
  37 + }
  38 +
  39 + /**
  40 + * Create an instance of {@link ZBUploadLineStation }
  41 + *
  42 + */
  43 + public ZBUploadLineStation createZBUploadLineStation() {
  44 + return new ZBUploadLineStation();
  45 + }
  46 +
  47 + /**
  48 + * Create an instance of {@link DownloadIncreaseDataFile }
  49 + *
  50 + */
  51 + public DownloadIncreaseDataFile createDownloadIncreaseDataFile() {
  52 + return new DownloadIncreaseDataFile();
  53 + }
  54 +
  55 + /**
  56 + * Create an instance of {@link SetXL }
  57 + *
  58 + */
  59 + public SetXL createSetXL() {
  60 + return new SetXL();
  61 + }
  62 +
  63 + /**
  64 + * Create an instance of {@link DownloadAllDataFileResponse }
  65 + *
  66 + */
  67 + public DownloadAllDataFileResponse createDownloadAllDataFileResponse() {
  68 + return new DownloadAllDataFileResponse();
  69 + }
  70 +
  71 + /**
  72 + * Create an instance of {@link ZBUploadLineStationResponse }
  73 + *
  74 + */
  75 + public ZBUploadLineStationResponse createZBUploadLineStationResponse() {
  76 + return new ZBUploadLineStationResponse();
  77 + }
  78 +
  79 + /**
  80 + * Create an instance of {@link DownloadAllDataFile }
  81 + *
  82 + */
  83 + public DownloadAllDataFile createDownloadAllDataFile() {
  84 + return new DownloadAllDataFile();
  85 + }
  86 +
  87 + /**
  88 + * Create an instance of {@link DownloadIncreaseDataFileResponse }
  89 + *
  90 + */
  91 + public DownloadIncreaseDataFileResponse createDownloadIncreaseDataFileResponse() {
  92 + return new DownloadIncreaseDataFileResponse();
  93 + }
  94 +
  95 + /**
  96 + * Create an instance of {@link SetXLResponse }
  97 + *
  98 + */
  99 + public SetXLResponse createSetXLResponse() {
  100 + return new SetXLResponse();
  101 + }
  102 +
  103 + /**
  104 + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
  105 + *
  106 + */
  107 + @XmlElementDecl(namespace = "http://services.geotool.com", name = "args0", scope = ZBUploadLineStation.class)
  108 + public JAXBElement<String> createZBUploadLineStationArgs0(String value) {
  109 + return new JAXBElement<String>(_ZBUploadLineStationArgs0_QNAME,
  110 + String.class, ZBUploadLineStation.class, value);
  111 + }
  112 +
  113 + /**
  114 + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
  115 + *
  116 + */
  117 + @XmlElementDecl(namespace = "http://services.geotool.com", name = "args2", scope = DownloadIncreaseDataFile.class)
  118 + public JAXBElement<String> createDownloadIncreaseDataFileArgs2(String value) {
  119 + return new JAXBElement<String>(_DownloadIncreaseDataFileArgs2_QNAME,
  120 + String.class, DownloadIncreaseDataFile.class, value);
  121 + }
  122 +
  123 + /**
  124 + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
  125 + *
  126 + */
  127 + @XmlElementDecl(namespace = "http://services.geotool.com", name = "args0", scope = DownloadIncreaseDataFile.class)
  128 + public JAXBElement<String> createDownloadIncreaseDataFileArgs0(String value) {
  129 + return new JAXBElement<String>(_ZBUploadLineStationArgs0_QNAME,
  130 + String.class, DownloadIncreaseDataFile.class, value);
  131 + }
  132 +
  133 + /**
  134 + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
  135 + *
  136 + */
  137 + @XmlElementDecl(namespace = "http://services.geotool.com", name = "args1", scope = DownloadIncreaseDataFile.class)
  138 + public JAXBElement<String> createDownloadIncreaseDataFileArgs1(String value) {
  139 + return new JAXBElement<String>(_DownloadIncreaseDataFileArgs1_QNAME,
  140 + String.class, DownloadIncreaseDataFile.class, value);
  141 + }
  142 +
  143 + /**
  144 + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
  145 + *
  146 + */
  147 + @XmlElementDecl(namespace = "http://services.geotool.com", name = "args2", scope = SetXL.class)
  148 + public JAXBElement<String> createSetXLArgs2(String value) {
  149 + return new JAXBElement<String>(_DownloadIncreaseDataFileArgs2_QNAME,
  150 + String.class, SetXL.class, value);
  151 + }
  152 +
  153 + /**
  154 + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
  155 + *
  156 + */
  157 + @XmlElementDecl(namespace = "http://services.geotool.com", name = "args0", scope = SetXL.class)
  158 + public JAXBElement<String> createSetXLArgs0(String value) {
  159 + return new JAXBElement<String>(_ZBUploadLineStationArgs0_QNAME,
  160 + String.class, SetXL.class, value);
  161 + }
  162 +
  163 + /**
  164 + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
  165 + *
  166 + */
  167 + @XmlElementDecl(namespace = "http://services.geotool.com", name = "args1", scope = SetXL.class)
  168 + public JAXBElement<String> createSetXLArgs1(String value) {
  169 + return new JAXBElement<String>(_DownloadIncreaseDataFileArgs1_QNAME,
  170 + String.class, SetXL.class, value);
  171 + }
  172 +
  173 + /**
  174 + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
  175 + *
  176 + */
  177 + @XmlElementDecl(namespace = "http://services.geotool.com", name = "return", scope = DownloadAllDataFileResponse.class)
  178 + public JAXBElement<byte[]> createDownloadAllDataFileResponseReturn(
  179 + byte[] value) {
  180 + return new JAXBElement<byte[]>(
  181 + _DownloadAllDataFileResponseReturn_QNAME, byte[].class,
  182 + DownloadAllDataFileResponse.class, ((byte[]) value));
  183 + }
  184 +
  185 + /**
  186 + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
  187 + *
  188 + */
  189 + @XmlElementDecl(namespace = "http://services.geotool.com", name = "return", scope = ZBUploadLineStationResponse.class)
  190 + public JAXBElement<String> createZBUploadLineStationResponseReturn(
  191 + String value) {
  192 + return new JAXBElement<String>(
  193 + _DownloadAllDataFileResponseReturn_QNAME, String.class,
  194 + ZBUploadLineStationResponse.class, value);
  195 + }
  196 +
  197 + /**
  198 + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
  199 + *
  200 + */
  201 + @XmlElementDecl(namespace = "http://services.geotool.com", name = "args0", scope = DownloadAllDataFile.class)
  202 + public JAXBElement<String> createDownloadAllDataFileArgs0(String value) {
  203 + return new JAXBElement<String>(_ZBUploadLineStationArgs0_QNAME,
  204 + String.class, DownloadAllDataFile.class, value);
  205 + }
  206 +
  207 + /**
  208 + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
  209 + *
  210 + */
  211 + @XmlElementDecl(namespace = "http://services.geotool.com", name = "args1", scope = DownloadAllDataFile.class)
  212 + public JAXBElement<String> createDownloadAllDataFileArgs1(String value) {
  213 + return new JAXBElement<String>(_DownloadIncreaseDataFileArgs1_QNAME,
  214 + String.class, DownloadAllDataFile.class, value);
  215 + }
  216 +
  217 + /**
  218 + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
  219 + *
  220 + */
  221 + @XmlElementDecl(namespace = "http://services.geotool.com", name = "return", scope = DownloadIncreaseDataFileResponse.class)
  222 + public JAXBElement<byte[]> createDownloadIncreaseDataFileResponseReturn(
  223 + byte[] value) {
  224 + return new JAXBElement<byte[]>(
  225 + _DownloadAllDataFileResponseReturn_QNAME, byte[].class,
  226 + DownloadIncreaseDataFileResponse.class, ((byte[]) value));
  227 + }
  228 +
  229 + /**
  230 + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
  231 + *
  232 + */
  233 + @XmlElementDecl(namespace = "http://services.geotool.com", name = "return", scope = SetXLResponse.class)
  234 + public JAXBElement<String> createSetXLResponseReturn(String value) {
  235 + return new JAXBElement<String>(
  236 + _DownloadAllDataFileResponseReturn_QNAME, String.class,
  237 + SetXLResponse.class, value);
  238 + }
  239 +
  240 +}
... ...
src/main/java/com/bsth/webService/trafficManage/geotool/services/SetXL.java 0 → 100644
  1 +package com.bsth.webService.trafficManage.geotool.services;
  2 +
  3 +import javax.xml.bind.JAXBElement;
  4 +import javax.xml.bind.annotation.XmlAccessType;
  5 +import javax.xml.bind.annotation.XmlAccessorType;
  6 +import javax.xml.bind.annotation.XmlElementRef;
  7 +import javax.xml.bind.annotation.XmlRootElement;
  8 +import javax.xml.bind.annotation.XmlType;
  9 +
  10 +/**
  11 + * <p>
  12 + * Java class for anonymous complex type.
  13 + *
  14 + * <p>
  15 + * The following schema fragment specifies the expected content contained within
  16 + * this class.
  17 + *
  18 + * <pre>
  19 + * &lt;complexType&gt;
  20 + * &lt;complexContent&gt;
  21 + * &lt;restriction base=&quot;{http://www.w3.org/2001/XMLSchema}anyType&quot;&gt;
  22 + * &lt;sequence&gt;
  23 + * &lt;element name=&quot;args0&quot; type=&quot;{http://www.w3.org/2001/XMLSchema}string&quot; minOccurs=&quot;0&quot;/&gt;
  24 + * &lt;element name=&quot;args1&quot; type=&quot;{http://www.w3.org/2001/XMLSchema}string&quot; minOccurs=&quot;0&quot;/&gt;
  25 + * &lt;element name=&quot;args2&quot; type=&quot;{http://www.w3.org/2001/XMLSchema}string&quot; minOccurs=&quot;0&quot;/&gt;
  26 + * &lt;/sequence&gt;
  27 + * &lt;/restriction&gt;
  28 + * &lt;/complexContent&gt;
  29 + * &lt;/complexType&gt;
  30 + * </pre>
  31 + *
  32 + *
  33 + */
  34 +@XmlAccessorType(XmlAccessType.FIELD)
  35 +@XmlType(name = "", propOrder = { "args0", "args1", "args2" })
  36 +@XmlRootElement(name = "setXL")
  37 +public class SetXL {
  38 +
  39 + @XmlElementRef(name = "args0", namespace = "http://services.geotool.com", type = JAXBElement.class)
  40 + protected JAXBElement<String> args0;
  41 + @XmlElementRef(name = "args1", namespace = "http://services.geotool.com", type = JAXBElement.class)
  42 + protected JAXBElement<String> args1;
  43 + @XmlElementRef(name = "args2", namespace = "http://services.geotool.com", type = JAXBElement.class)
  44 + protected JAXBElement<String> args2;
  45 +
  46 + /**
  47 + * Gets the value of the args0 property.
  48 + *
  49 + * @return possible object is {@link JAXBElement }{@code <}{@link String }{@code >}
  50 + *
  51 + */
  52 + public JAXBElement<String> getArgs0() {
  53 + return args0;
  54 + }
  55 +
  56 + /**
  57 + * Sets the value of the args0 property.
  58 + *
  59 + * @param value
  60 + * allowed object is {@link JAXBElement }{@code <}{@link String }{@code >}
  61 + *
  62 + */
  63 + public void setArgs0(JAXBElement<String> value) {
  64 + this.args0 = ((JAXBElement<String>) value);
  65 + }
  66 +
  67 + /**
  68 + * Gets the value of the args1 property.
  69 + *
  70 + * @return possible object is {@link JAXBElement }{@code <}{@link String }{@code >}
  71 + *
  72 + */
  73 + public JAXBElement<String> getArgs1() {
  74 + return args1;
  75 + }
  76 +
  77 + /**
  78 + * Sets the value of the args1 property.
  79 + *
  80 + * @param value
  81 + * allowed object is {@link JAXBElement }{@code <}{@link String }{@code >}
  82 + *
  83 + */
  84 + public void setArgs1(JAXBElement<String> value) {
  85 + this.args1 = ((JAXBElement<String>) value);
  86 + }
  87 +
  88 + /**
  89 + * Gets the value of the args2 property.
  90 + *
  91 + * @return possible object is {@link JAXBElement }{@code <}{@link String }{@code >}
  92 + *
  93 + */
  94 + public JAXBElement<String> getArgs2() {
  95 + return args2;
  96 + }
  97 +
  98 + /**
  99 + * Sets the value of the args2 property.
  100 + *
  101 + * @param value
  102 + * allowed object is {@link JAXBElement }{@code <}{@link String }{@code >}
  103 + *
  104 + */
  105 + public void setArgs2(JAXBElement<String> value) {
  106 + this.args2 = ((JAXBElement<String>) value);
  107 + }
  108 +
  109 +}
... ...
src/main/java/com/bsth/webService/trafficManage/geotool/services/SetXLResponse.java 0 → 100644
  1 +package com.bsth.webService.trafficManage.geotool.services;
  2 +
  3 +import javax.xml.bind.JAXBElement;
  4 +import javax.xml.bind.annotation.XmlAccessType;
  5 +import javax.xml.bind.annotation.XmlAccessorType;
  6 +import javax.xml.bind.annotation.XmlElementRef;
  7 +import javax.xml.bind.annotation.XmlRootElement;
  8 +import javax.xml.bind.annotation.XmlType;
  9 +
  10 +/**
  11 + * <p>
  12 + * Java class for anonymous complex type.
  13 + *
  14 + * <p>
  15 + * The following schema fragment specifies the expected content contained within
  16 + * this class.
  17 + *
  18 + * <pre>
  19 + * &lt;complexType&gt;
  20 + * &lt;complexContent&gt;
  21 + * &lt;restriction base=&quot;{http://www.w3.org/2001/XMLSchema}anyType&quot;&gt;
  22 + * &lt;sequence&gt;
  23 + * &lt;element name=&quot;return&quot; type=&quot;{http://www.w3.org/2001/XMLSchema}string&quot; minOccurs=&quot;0&quot;/&gt;
  24 + * &lt;/sequence&gt;
  25 + * &lt;/restriction&gt;
  26 + * &lt;/complexContent&gt;
  27 + * &lt;/complexType&gt;
  28 + * </pre>
  29 + *
  30 + *
  31 + */
  32 +@XmlAccessorType(XmlAccessType.FIELD)
  33 +@XmlType(name = "", propOrder = { "_return" })
  34 +@XmlRootElement(name = "setXLResponse")
  35 +public class SetXLResponse {
  36 +
  37 + @XmlElementRef(name = "return", namespace = "http://services.geotool.com", type = JAXBElement.class)
  38 + protected JAXBElement<String> _return;
  39 +
  40 + /**
  41 + * Gets the value of the return property.
  42 + *
  43 + * @return possible object is {@link JAXBElement }{@code <}{@link String }{@code >}
  44 + *
  45 + */
  46 + public JAXBElement<String> getReturn() {
  47 + return _return;
  48 + }
  49 +
  50 + /**
  51 + * Sets the value of the return property.
  52 + *
  53 + * @param value
  54 + * allowed object is {@link JAXBElement }{@code <}{@link String }{@code >}
  55 + *
  56 + */
  57 + public void setReturn(JAXBElement<String> value) {
  58 + this._return = ((JAXBElement<String>) value);
  59 + }
  60 +
  61 +}
... ...
src/main/java/com/bsth/webService/trafficManage/geotool/services/ZBUploadLineStation.java 0 → 100644
  1 +package com.bsth.webService.trafficManage.geotool.services;
  2 +
  3 +import javax.xml.bind.JAXBElement;
  4 +import javax.xml.bind.annotation.XmlAccessType;
  5 +import javax.xml.bind.annotation.XmlAccessorType;
  6 +import javax.xml.bind.annotation.XmlElementRef;
  7 +import javax.xml.bind.annotation.XmlRootElement;
  8 +import javax.xml.bind.annotation.XmlType;
  9 +
  10 +/**
  11 + * <p>
  12 + * Java class for anonymous complex type.
  13 + *
  14 + * <p>
  15 + * The following schema fragment specifies the expected content contained within
  16 + * this class.
  17 + *
  18 + * <pre>
  19 + * &lt;complexType&gt;
  20 + * &lt;complexContent&gt;
  21 + * &lt;restriction base=&quot;{http://www.w3.org/2001/XMLSchema}anyType&quot;&gt;
  22 + * &lt;sequence&gt;
  23 + * &lt;element name=&quot;args0&quot; type=&quot;{http://www.w3.org/2001/XMLSchema}string&quot; minOccurs=&quot;0&quot;/&gt;
  24 + * &lt;/sequence&gt;
  25 + * &lt;/restriction&gt;
  26 + * &lt;/complexContent&gt;
  27 + * &lt;/complexType&gt;
  28 + * </pre>
  29 + *
  30 + *
  31 + */
  32 +@XmlAccessorType(XmlAccessType.FIELD)
  33 +@XmlType(name = "", propOrder = { "args0" })
  34 +@XmlRootElement(name = "ZBUploadLineStation")
  35 +public class ZBUploadLineStation {
  36 +
  37 + @XmlElementRef(name = "args0", namespace = "http://services.geotool.com", type = JAXBElement.class)
  38 + protected JAXBElement<String> args0;
  39 +
  40 + /**
  41 + * Gets the value of the args0 property.
  42 + *
  43 + * @return possible object is {@link JAXBElement }{@code <}{@link String }{@code >}
  44 + *
  45 + */
  46 + public JAXBElement<String> getArgs0() {
  47 + return args0;
  48 + }
  49 +
  50 + /**
  51 + * Sets the value of the args0 property.
  52 + *
  53 + * @param value
  54 + * allowed object is {@link JAXBElement }{@code <}{@link String }{@code >}
  55 + *
  56 + */
  57 + public void setArgs0(JAXBElement<String> value) {
  58 + this.args0 = ((JAXBElement<String>) value);
  59 + }
  60 +
  61 +}
... ...
src/main/java/com/bsth/webService/trafficManage/geotool/services/ZBUploadLineStationResponse.java 0 → 100644
  1 +package com.bsth.webService.trafficManage.geotool.services;
  2 +
  3 +import javax.xml.bind.JAXBElement;
  4 +import javax.xml.bind.annotation.XmlAccessType;
  5 +import javax.xml.bind.annotation.XmlAccessorType;
  6 +import javax.xml.bind.annotation.XmlElementRef;
  7 +import javax.xml.bind.annotation.XmlRootElement;
  8 +import javax.xml.bind.annotation.XmlType;
  9 +
  10 +/**
  11 + * <p>
  12 + * Java class for anonymous complex type.
  13 + *
  14 + * <p>
  15 + * The following schema fragment specifies the expected content contained within
  16 + * this class.
  17 + *
  18 + * <pre>
  19 + * &lt;complexType&gt;
  20 + * &lt;complexContent&gt;
  21 + * &lt;restriction base=&quot;{http://www.w3.org/2001/XMLSchema}anyType&quot;&gt;
  22 + * &lt;sequence&gt;
  23 + * &lt;element name=&quot;return&quot; type=&quot;{http://www.w3.org/2001/XMLSchema}string&quot; minOccurs=&quot;0&quot;/&gt;
  24 + * &lt;/sequence&gt;
  25 + * &lt;/restriction&gt;
  26 + * &lt;/complexContent&gt;
  27 + * &lt;/complexType&gt;
  28 + * </pre>
  29 + *
  30 + *
  31 + */
  32 +@XmlAccessorType(XmlAccessType.FIELD)
  33 +@XmlType(name = "", propOrder = { "_return" })
  34 +@XmlRootElement(name = "ZBUploadLineStationResponse")
  35 +public class ZBUploadLineStationResponse {
  36 +
  37 + @XmlElementRef(name = "return", namespace = "http://services.geotool.com", type = JAXBElement.class)
  38 + protected JAXBElement<String> _return;
  39 +
  40 + /**
  41 + * Gets the value of the return property.
  42 + *
  43 + * @return possible object is {@link JAXBElement }{@code <}{@link String }{@code >}
  44 + *
  45 + */
  46 + public JAXBElement<String> getReturn() {
  47 + return _return;
  48 + }
  49 +
  50 + /**
  51 + * Sets the value of the return property.
  52 + *
  53 + * @param value
  54 + * allowed object is {@link JAXBElement }{@code <}{@link String }{@code >}
  55 + *
  56 + */
  57 + public void setReturn(JAXBElement<String> value) {
  58 + this._return = ((JAXBElement<String>) value);
  59 + }
  60 +
  61 +}
... ...
src/main/java/com/bsth/webService/trafficManage/geotool/services/package-info.java 0 → 100644
  1 +/**
  2 + * Internal
  3 + *
  4 + */
  5 +@javax.xml.bind.annotation.XmlSchema(namespace = "http://services.geotool.com", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
  6 +package com.bsth.webService.trafficManage.geotool.services;
  7 +
... ...
src/main/java/com/bsth/webService/trafficManage/org/tempuri/Results.java 0 → 100644
  1 +/**
  2 + * Results.java
  3 + *
  4 + * This file was auto-generated from WSDL
  5 + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
  6 + */
  7 +
  8 +package com.bsth.webService.trafficManage.org.tempuri;
  9 +
  10 +public class Results implements java.io.Serializable {
  11 + private boolean success;
  12 +
  13 + private java.lang.String message;
  14 +
  15 + public Results() {
  16 + }
  17 +
  18 + public Results(
  19 + boolean success,
  20 + java.lang.String message) {
  21 + this.success = success;
  22 + this.message = message;
  23 + }
  24 +
  25 +
  26 + /**
  27 + * Gets the success value for this Results.
  28 + *
  29 + * @return success
  30 + */
  31 + public boolean isSuccess() {
  32 + return success;
  33 + }
  34 +
  35 +
  36 + /**
  37 + * Sets the success value for this Results.
  38 + *
  39 + * @param success
  40 + */
  41 + public void setSuccess(boolean success) {
  42 + this.success = success;
  43 + }
  44 +
  45 +
  46 + /**
  47 + * Gets the message value for this Results.
  48 + *
  49 + * @return message
  50 + */
  51 + public java.lang.String getMessage() {
  52 + return message;
  53 + }
  54 +
  55 +
  56 + /**
  57 + * Sets the message value for this Results.
  58 + *
  59 + * @param message
  60 + */
  61 + public void setMessage(java.lang.String message) {
  62 + this.message = message;
  63 + }
  64 +
  65 + private java.lang.Object __equalsCalc = null;
  66 + public synchronized boolean equals(java.lang.Object obj) {
  67 + if (!(obj instanceof Results)) return false;
  68 + Results other = (Results) obj;
  69 + if (obj == null) return false;
  70 + if (this == obj) return true;
  71 + if (__equalsCalc != null) {
  72 + return (__equalsCalc == obj);
  73 + }
  74 + __equalsCalc = obj;
  75 + boolean _equals;
  76 + _equals = true &&
  77 + this.success == other.isSuccess() &&
  78 + ((this.message==null && other.getMessage()==null) ||
  79 + (this.message!=null &&
  80 + this.message.equals(other.getMessage())));
  81 + __equalsCalc = null;
  82 + return _equals;
  83 + }
  84 +
  85 + private boolean __hashCodeCalc = false;
  86 + public synchronized int hashCode() {
  87 + if (__hashCodeCalc) {
  88 + return 0;
  89 + }
  90 + __hashCodeCalc = true;
  91 + int _hashCode = 1;
  92 + _hashCode += (isSuccess() ? Boolean.TRUE : Boolean.FALSE).hashCode();
  93 + if (getMessage() != null) {
  94 + _hashCode += getMessage().hashCode();
  95 + }
  96 + __hashCodeCalc = false;
  97 + return _hashCode;
  98 + }
  99 +
  100 + // Type metadata
  101 + private static org.apache.axis.description.TypeDesc typeDesc =
  102 + new org.apache.axis.description.TypeDesc(Results.class, true);
  103 +
  104 + static {
  105 + typeDesc.setXmlType(new javax.xml.namespace.QName("http://tempuri.org/", "Results"));
  106 + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
  107 + elemField.setFieldName("success");
  108 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "success"));
  109 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"));
  110 + elemField.setNillable(false);
  111 + typeDesc.addFieldDesc(elemField);
  112 + elemField = new org.apache.axis.description.ElementDesc();
  113 + elemField.setFieldName("message");
  114 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "message"));
  115 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  116 + elemField.setMinOccurs(0);
  117 + elemField.setNillable(false);
  118 + typeDesc.addFieldDesc(elemField);
  119 + }
  120 +
  121 + /**
  122 + * Return type metadata object
  123 + */
  124 + public static org.apache.axis.description.TypeDesc getTypeDesc() {
  125 + return typeDesc;
  126 + }
  127 +
  128 + /**
  129 + * Get Custom Serializer
  130 + */
  131 + public static org.apache.axis.encoding.Serializer getSerializer(
  132 + java.lang.String mechType,
  133 + java.lang.Class _javaType,
  134 + javax.xml.namespace.QName _xmlType) {
  135 + return
  136 + new org.apache.axis.encoding.ser.BeanSerializer(
  137 + _javaType, _xmlType, typeDesc);
  138 + }
  139 +
  140 + /**
  141 + * Get Custom Deserializer
  142 + */
  143 + public static org.apache.axis.encoding.Deserializer getDeserializer(
  144 + java.lang.String mechType,
  145 + java.lang.Class _javaType,
  146 + javax.xml.namespace.QName _xmlType) {
  147 + return
  148 + new org.apache.axis.encoding.ser.BeanDeserializer(
  149 + _javaType, _xmlType, typeDesc);
  150 + }
  151 +
  152 +}
... ...
src/main/java/com/bsth/webService/trafficManage/org/tempuri/WebService.java 0 → 100644
  1 +/**
  2 + * WebService.java
  3 + *
  4 + * This file was auto-generated from WSDL
  5 + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
  6 + */
  7 +
  8 +package com.bsth.webService.trafficManage.org.tempuri;
  9 +
  10 +public interface WebService extends javax.xml.rpc.Service {
  11 + public java.lang.String getWebServiceSoapAddress();
  12 +
  13 + public com.bsth.webService.trafficManage.org.tempuri.WebServiceSoap getWebServiceSoap() throws javax.xml.rpc.ServiceException;
  14 +
  15 + public com.bsth.webService.trafficManage.org.tempuri.WebServiceSoap getWebServiceSoap(java.net.URL portAddress) throws javax.xml.rpc.ServiceException;
  16 +}
... ...
src/main/java/com/bsth/webService/trafficManage/org/tempuri/WebServiceLocator.java 0 → 100644
  1 +/**
  2 + * WebServiceLocator.java
  3 + *
  4 + * This file was auto-generated from WSDL
  5 + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
  6 + */
  7 +
  8 +package com.bsth.webService.trafficManage.org.tempuri;
  9 +
  10 +public class WebServiceLocator extends org.apache.axis.client.Service implements com.bsth.webService.trafficManage.org.tempuri.WebService {
  11 +
  12 + public WebServiceLocator() {
  13 + }
  14 +
  15 +
  16 + public WebServiceLocator(org.apache.axis.EngineConfiguration config) {
  17 + super(config);
  18 + }
  19 +
  20 + public WebServiceLocator(java.lang.String wsdlLoc, javax.xml.namespace.QName sName) throws javax.xml.rpc.ServiceException {
  21 + super(wsdlLoc, sName);
  22 + }
  23 +
  24 + // Use to get a proxy class for WebServiceSoap
  25 + private java.lang.String WebServiceSoap_address = "http://218.242.195.76:8411/webservice.asmx";
  26 +
  27 + public java.lang.String getWebServiceSoapAddress() {
  28 + return WebServiceSoap_address;
  29 + }
  30 +
  31 + // The WSDD service name defaults to the port name.
  32 + private java.lang.String WebServiceSoapWSDDServiceName = "WebServiceSoap";
  33 +
  34 + public java.lang.String getWebServiceSoapWSDDServiceName() {
  35 + return WebServiceSoapWSDDServiceName;
  36 + }
  37 +
  38 + public void setWebServiceSoapWSDDServiceName(java.lang.String name) {
  39 + WebServiceSoapWSDDServiceName = name;
  40 + }
  41 +
  42 + public com.bsth.webService.trafficManage.org.tempuri.WebServiceSoap getWebServiceSoap() throws javax.xml.rpc.ServiceException {
  43 + java.net.URL endpoint;
  44 + try {
  45 + endpoint = new java.net.URL(WebServiceSoap_address);
  46 + }
  47 + catch (java.net.MalformedURLException e) {
  48 + throw new javax.xml.rpc.ServiceException(e);
  49 + }
  50 + return getWebServiceSoap(endpoint);
  51 + }
  52 +
  53 + public com.bsth.webService.trafficManage.org.tempuri.WebServiceSoap getWebServiceSoap(java.net.URL portAddress) throws javax.xml.rpc.ServiceException {
  54 + try {
  55 + com.bsth.webService.trafficManage.org.tempuri.WebServiceSoapStub _stub = new com.bsth.webService.trafficManage.org.tempuri.WebServiceSoapStub(portAddress, this);
  56 + _stub.setPortName(getWebServiceSoapWSDDServiceName());
  57 + return _stub;
  58 + }
  59 + catch (org.apache.axis.AxisFault e) {
  60 + return null;
  61 + }
  62 + }
  63 +
  64 + public void setWebServiceSoapEndpointAddress(java.lang.String address) {
  65 + WebServiceSoap_address = address;
  66 + }
  67 +
  68 + /**
  69 + * For the given interface, get the stub implementation.
  70 + * If this service has no port for the given interface,
  71 + * then ServiceException is thrown.
  72 + */
  73 + public java.rmi.Remote getPort(Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException {
  74 + try {
  75 + if (com.bsth.webService.trafficManage.org.tempuri.WebServiceSoap.class.isAssignableFrom(serviceEndpointInterface)) {
  76 + com.bsth.webService.trafficManage.org.tempuri.WebServiceSoapStub _stub = new com.bsth.webService.trafficManage.org.tempuri.WebServiceSoapStub(new java.net.URL(WebServiceSoap_address), this);
  77 + _stub.setPortName(getWebServiceSoapWSDDServiceName());
  78 + return _stub;
  79 + }
  80 + }
  81 + catch (java.lang.Throwable t) {
  82 + throw new javax.xml.rpc.ServiceException(t);
  83 + }
  84 + throw new javax.xml.rpc.ServiceException("There is no stub implementation for the interface: " + (serviceEndpointInterface == null ? "null" : serviceEndpointInterface.getName()));
  85 + }
  86 +
  87 + /**
  88 + * For the given interface, get the stub implementation.
  89 + * If this service has no port for the given interface,
  90 + * then ServiceException is thrown.
  91 + */
  92 + public java.rmi.Remote getPort(javax.xml.namespace.QName portName, Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException {
  93 + if (portName == null) {
  94 + return getPort(serviceEndpointInterface);
  95 + }
  96 + java.lang.String inputPortName = portName.getLocalPart();
  97 + if ("WebServiceSoap".equals(inputPortName)) {
  98 + return getWebServiceSoap();
  99 + }
  100 + else {
  101 + java.rmi.Remote _stub = getPort(serviceEndpointInterface);
  102 + ((org.apache.axis.client.Stub) _stub).setPortName(portName);
  103 + return _stub;
  104 + }
  105 + }
  106 +
  107 + public javax.xml.namespace.QName getServiceName() {
  108 + return new javax.xml.namespace.QName("http://tempuri.org/", "WebService");
  109 + }
  110 +
  111 + private java.util.HashSet ports = null;
  112 +
  113 + public java.util.Iterator getPorts() {
  114 + if (ports == null) {
  115 + ports = new java.util.HashSet();
  116 + ports.add(new javax.xml.namespace.QName("http://tempuri.org/", "WebServiceSoap"));
  117 + }
  118 + return ports.iterator();
  119 + }
  120 +
  121 + /**
  122 + * Set the endpoint address for the specified port name.
  123 + */
  124 + public void setEndpointAddress(java.lang.String portName, java.lang.String address) throws javax.xml.rpc.ServiceException {
  125 +
  126 +if ("WebServiceSoap".equals(portName)) {
  127 + setWebServiceSoapEndpointAddress(address);
  128 + }
  129 + else
  130 +{ // Unknown Port Name
  131 + throw new javax.xml.rpc.ServiceException(" Cannot set Endpoint Address for Unknown Port" + portName);
  132 + }
  133 + }
  134 +
  135 + /**
  136 + * Set the endpoint address for the specified port name.
  137 + */
  138 + public void setEndpointAddress(javax.xml.namespace.QName portName, java.lang.String address) throws javax.xml.rpc.ServiceException {
  139 + setEndpointAddress(portName.getLocalPart(), address);
  140 + }
  141 +
  142 +}
... ...
src/main/java/com/bsth/webService/trafficManage/org/tempuri/WebServiceSoap.java 0 → 100644
  1 +/**
  2 + * WebServiceSoap.java
  3 + *
  4 + * This file was auto-generated from WSDL
  5 + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
  6 + */
  7 +
  8 +package com.bsth.webService.trafficManage.org.tempuri;
  9 +
  10 +public interface WebServiceSoap extends java.rmi.Remote {
  11 + public com.bsth.webService.trafficManage.org.tempuri.Results setCL(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException;
  12 + public com.bsth.webService.trafficManage.org.tempuri.Results setLD(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException;
  13 + public com.bsth.webService.trafficManage.org.tempuri.Results setDDRB(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException;
  14 + public com.bsth.webService.trafficManage.org.tempuri.Results setJHBC(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException;
  15 + public com.bsth.webService.trafficManage.org.tempuri.Results setSKB(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException;
  16 + public com.bsth.webService.trafficManage.org.tempuri.Results setSJ(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException;
  17 + public com.bsth.webService.trafficManage.org.tempuri.Results setLCYH(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException;
  18 + public com.bsth.webService.trafficManage.org.tempuri.Results setXLPC(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException;
  19 + public com.bsth.webService.trafficManage.org.tempuri.Results setCS(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException;
  20 + public com.bsth.webService.trafficManage.org.tempuri.Results setFZCKGM(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException;
  21 + public com.bsth.webService.trafficManage.org.tempuri.Results setJJZD(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException;
  22 +}
... ...
src/main/java/com/bsth/webService/trafficManage/org/tempuri/WebServiceSoapProxy.java 0 → 100644
  1 +package com.bsth.webService.trafficManage.org.tempuri;
  2 +
  3 +public class WebServiceSoapProxy implements com.bsth.webService.trafficManage.org.tempuri.WebServiceSoap {
  4 + private String _endpoint = null;
  5 + private com.bsth.webService.trafficManage.org.tempuri.WebServiceSoap webServiceSoap = null;
  6 +
  7 + public WebServiceSoapProxy() {
  8 + _initWebServiceSoapProxy();
  9 + }
  10 +
  11 + public WebServiceSoapProxy(String endpoint) {
  12 + _endpoint = endpoint;
  13 + _initWebServiceSoapProxy();
  14 + }
  15 +
  16 + private void _initWebServiceSoapProxy() {
  17 + try {
  18 + webServiceSoap = (new com.bsth.webService.trafficManage.org.tempuri.WebServiceLocator()).getWebServiceSoap();
  19 + if (webServiceSoap != null) {
  20 + if (_endpoint != null)
  21 + ((javax.xml.rpc.Stub)webServiceSoap)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);
  22 + else
  23 + _endpoint = (String)((javax.xml.rpc.Stub)webServiceSoap)._getProperty("javax.xml.rpc.service.endpoint.address");
  24 + }
  25 +
  26 + }
  27 + catch (javax.xml.rpc.ServiceException serviceException) {}
  28 + }
  29 +
  30 + public String getEndpoint() {
  31 + return _endpoint;
  32 + }
  33 +
  34 + public void setEndpoint(String endpoint) {
  35 + _endpoint = endpoint;
  36 + if (webServiceSoap != null)
  37 + ((javax.xml.rpc.Stub)webServiceSoap)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);
  38 +
  39 + }
  40 +
  41 + public com.bsth.webService.trafficManage.org.tempuri.WebServiceSoap getWebServiceSoap() {
  42 + if (webServiceSoap == null)
  43 + _initWebServiceSoapProxy();
  44 + return webServiceSoap;
  45 + }
  46 +
  47 + public com.bsth.webService.trafficManage.org.tempuri.Results setCL(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException{
  48 + if (webServiceSoap == null)
  49 + _initWebServiceSoapProxy();
  50 + return webServiceSoap.setCL(uName, uPass, sXml);
  51 + }
  52 +
  53 + public com.bsth.webService.trafficManage.org.tempuri.Results setLD(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException{
  54 + if (webServiceSoap == null)
  55 + _initWebServiceSoapProxy();
  56 + return webServiceSoap.setLD(uName, uPass, sXml);
  57 + }
  58 +
  59 + public com.bsth.webService.trafficManage.org.tempuri.Results setDDRB(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException{
  60 + if (webServiceSoap == null)
  61 + _initWebServiceSoapProxy();
  62 + return webServiceSoap.setDDRB(uName, uPass, sXml);
  63 + }
  64 +
  65 + public com.bsth.webService.trafficManage.org.tempuri.Results setJHBC(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException{
  66 + if (webServiceSoap == null)
  67 + _initWebServiceSoapProxy();
  68 + return webServiceSoap.setJHBC(uName, uPass, sXml);
  69 + }
  70 +
  71 + public com.bsth.webService.trafficManage.org.tempuri.Results setSKB(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException{
  72 + if (webServiceSoap == null)
  73 + _initWebServiceSoapProxy();
  74 + return webServiceSoap.setSKB(uName, uPass, sXml);
  75 + }
  76 +
  77 + public com.bsth.webService.trafficManage.org.tempuri.Results setSJ(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException{
  78 + if (webServiceSoap == null)
  79 + _initWebServiceSoapProxy();
  80 + return webServiceSoap.setSJ(uName, uPass, sXml);
  81 + }
  82 +
  83 + public com.bsth.webService.trafficManage.org.tempuri.Results setLCYH(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException{
  84 + if (webServiceSoap == null)
  85 + _initWebServiceSoapProxy();
  86 + return webServiceSoap.setLCYH(uName, uPass, sXml);
  87 + }
  88 +
  89 + public com.bsth.webService.trafficManage.org.tempuri.Results setXLPC(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException{
  90 + if (webServiceSoap == null)
  91 + _initWebServiceSoapProxy();
  92 + return webServiceSoap.setXLPC(uName, uPass, sXml);
  93 + }
  94 +
  95 + public com.bsth.webService.trafficManage.org.tempuri.Results setCS(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException{
  96 + if (webServiceSoap == null)
  97 + _initWebServiceSoapProxy();
  98 + return webServiceSoap.setCS(uName, uPass, sXml);
  99 + }
  100 +
  101 + public com.bsth.webService.trafficManage.org.tempuri.Results setFZCKGM(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException{
  102 + if (webServiceSoap == null)
  103 + _initWebServiceSoapProxy();
  104 + return webServiceSoap.setFZCKGM(uName, uPass, sXml);
  105 + }
  106 +
  107 + public com.bsth.webService.trafficManage.org.tempuri.Results setJJZD(java.lang.String uName, java.lang.String uPass, java.lang.String sXml) throws java.rmi.RemoteException{
  108 + if (webServiceSoap == null)
  109 + _initWebServiceSoapProxy();
  110 + return webServiceSoap.setJJZD(uName, uPass, sXml);
  111 + }
  112 +
  113 +
  114 +}
0 115 \ No newline at end of file
... ...
src/main/java/com/bsth/webService/trafficManage/org/tempuri/WebServiceSoapStub.java 0 → 100644
  1 +/**
  2 + * WebServiceSoapStub.java
  3 + *
  4 + * This file was auto-generated from WSDL
  5 + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
  6 + */
  7 +
  8 +package com.bsth.webService.trafficManage.org.tempuri;
  9 +
  10 +public class WebServiceSoapStub extends org.apache.axis.client.Stub implements
  11 + com.bsth.webService.trafficManage.org.tempuri.WebServiceSoap {
  12 + private java.util.Vector cachedSerClasses = new java.util.Vector();
  13 + private java.util.Vector cachedSerQNames = new java.util.Vector();
  14 + private java.util.Vector cachedSerFactories = new java.util.Vector();
  15 + private java.util.Vector cachedDeserFactories = new java.util.Vector();
  16 +
  17 + static org.apache.axis.description.OperationDesc[] _operations;
  18 +
  19 + static {
  20 + _operations = new org.apache.axis.description.OperationDesc[11];
  21 + _initOperationDesc1();
  22 + _initOperationDesc2();
  23 + }
  24 +
  25 + private static void _initOperationDesc1() {
  26 + org.apache.axis.description.OperationDesc oper;
  27 + org.apache.axis.description.ParameterDesc param;
  28 + oper = new org.apache.axis.description.OperationDesc();
  29 + oper.setName("setCL");
  30 + param = new org.apache.axis.description.ParameterDesc(
  31 + new javax.xml.namespace.QName("http://tempuri.org/", "uName"),
  32 + org.apache.axis.description.ParameterDesc.IN,
  33 + new javax.xml.namespace.QName(
  34 + "http://www.w3.org/2001/XMLSchema", "string"),
  35 + java.lang.String.class, false, false);
  36 + param.setOmittable(true);
  37 + oper.addParameter(param);
  38 + param = new org.apache.axis.description.ParameterDesc(
  39 + new javax.xml.namespace.QName("http://tempuri.org/", "uPass"),
  40 + org.apache.axis.description.ParameterDesc.IN,
  41 + new javax.xml.namespace.QName(
  42 + "http://www.w3.org/2001/XMLSchema", "string"),
  43 + java.lang.String.class, false, false);
  44 + param.setOmittable(true);
  45 + oper.addParameter(param);
  46 + param = new org.apache.axis.description.ParameterDesc(
  47 + new javax.xml.namespace.QName("http://tempuri.org/", "sXml"),
  48 + org.apache.axis.description.ParameterDesc.IN,
  49 + new javax.xml.namespace.QName(
  50 + "http://www.w3.org/2001/XMLSchema", "string"),
  51 + java.lang.String.class, false, false);
  52 + param.setOmittable(true);
  53 + oper.addParameter(param);
  54 + oper.setReturnType(new javax.xml.namespace.QName("http://tempuri.org/",
  55 + "Results"));
  56 + oper.setReturnClass(com.bsth.webService.trafficManage.org.tempuri.Results.class);
  57 + oper.setReturnQName(new javax.xml.namespace.QName(
  58 + "http://tempuri.org/", "setCLResult"));
  59 + oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
  60 + oper.setUse(org.apache.axis.constants.Use.LITERAL);
  61 + _operations[0] = oper;
  62 +
  63 + oper = new org.apache.axis.description.OperationDesc();
  64 + oper.setName("setLD");
  65 + param = new org.apache.axis.description.ParameterDesc(
  66 + new javax.xml.namespace.QName("http://tempuri.org/", "uName"),
  67 + org.apache.axis.description.ParameterDesc.IN,
  68 + new javax.xml.namespace.QName(
  69 + "http://www.w3.org/2001/XMLSchema", "string"),
  70 + java.lang.String.class, false, false);
  71 + param.setOmittable(true);
  72 + oper.addParameter(param);
  73 + param = new org.apache.axis.description.ParameterDesc(
  74 + new javax.xml.namespace.QName("http://tempuri.org/", "uPass"),
  75 + org.apache.axis.description.ParameterDesc.IN,
  76 + new javax.xml.namespace.QName(
  77 + "http://www.w3.org/2001/XMLSchema", "string"),
  78 + java.lang.String.class, false, false);
  79 + param.setOmittable(true);
  80 + oper.addParameter(param);
  81 + param = new org.apache.axis.description.ParameterDesc(
  82 + new javax.xml.namespace.QName("http://tempuri.org/", "sXml"),
  83 + org.apache.axis.description.ParameterDesc.IN,
  84 + new javax.xml.namespace.QName(
  85 + "http://www.w3.org/2001/XMLSchema", "string"),
  86 + java.lang.String.class, false, false);
  87 + param.setOmittable(true);
  88 + oper.addParameter(param);
  89 + oper.setReturnType(new javax.xml.namespace.QName("http://tempuri.org/",
  90 + "Results"));
  91 + oper.setReturnClass(com.bsth.webService.trafficManage.org.tempuri.Results.class);
  92 + oper.setReturnQName(new javax.xml.namespace.QName(
  93 + "http://tempuri.org/", "setLDResult"));
  94 + oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
  95 + oper.setUse(org.apache.axis.constants.Use.LITERAL);
  96 + _operations[1] = oper;
  97 +
  98 + oper = new org.apache.axis.description.OperationDesc();
  99 + oper.setName("setDDRB");
  100 + param = new org.apache.axis.description.ParameterDesc(
  101 + new javax.xml.namespace.QName("http://tempuri.org/", "uName"),
  102 + org.apache.axis.description.ParameterDesc.IN,
  103 + new javax.xml.namespace.QName(
  104 + "http://www.w3.org/2001/XMLSchema", "string"),
  105 + java.lang.String.class, false, false);
  106 + param.setOmittable(true);
  107 + oper.addParameter(param);
  108 + param = new org.apache.axis.description.ParameterDesc(
  109 + new javax.xml.namespace.QName("http://tempuri.org/", "uPass"),
  110 + org.apache.axis.description.ParameterDesc.IN,
  111 + new javax.xml.namespace.QName(
  112 + "http://www.w3.org/2001/XMLSchema", "string"),
  113 + java.lang.String.class, false, false);
  114 + param.setOmittable(true);
  115 + oper.addParameter(param);
  116 + param = new org.apache.axis.description.ParameterDesc(
  117 + new javax.xml.namespace.QName("http://tempuri.org/", "sXml"),
  118 + org.apache.axis.description.ParameterDesc.IN,
  119 + new javax.xml.namespace.QName(
  120 + "http://www.w3.org/2001/XMLSchema", "string"),
  121 + java.lang.String.class, false, false);
  122 + param.setOmittable(true);
  123 + oper.addParameter(param);
  124 + oper.setReturnType(new javax.xml.namespace.QName("http://tempuri.org/",
  125 + "Results"));
  126 + oper.setReturnClass(com.bsth.webService.trafficManage.org.tempuri.Results.class);
  127 + oper.setReturnQName(new javax.xml.namespace.QName(
  128 + "http://tempuri.org/", "setDDRBResult"));
  129 + oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
  130 + oper.setUse(org.apache.axis.constants.Use.LITERAL);
  131 + _operations[2] = oper;
  132 +
  133 + oper = new org.apache.axis.description.OperationDesc();
  134 + oper.setName("setJHBC");
  135 + param = new org.apache.axis.description.ParameterDesc(
  136 + new javax.xml.namespace.QName("http://tempuri.org/", "uName"),
  137 + org.apache.axis.description.ParameterDesc.IN,
  138 + new javax.xml.namespace.QName(
  139 + "http://www.w3.org/2001/XMLSchema", "string"),
  140 + java.lang.String.class, false, false);
  141 + param.setOmittable(true);
  142 + oper.addParameter(param);
  143 + param = new org.apache.axis.description.ParameterDesc(
  144 + new javax.xml.namespace.QName("http://tempuri.org/", "uPass"),
  145 + org.apache.axis.description.ParameterDesc.IN,
  146 + new javax.xml.namespace.QName(
  147 + "http://www.w3.org/2001/XMLSchema", "string"),
  148 + java.lang.String.class, false, false);
  149 + param.setOmittable(true);
  150 + oper.addParameter(param);
  151 + param = new org.apache.axis.description.ParameterDesc(
  152 + new javax.xml.namespace.QName("http://tempuri.org/", "sXml"),
  153 + org.apache.axis.description.ParameterDesc.IN,
  154 + new javax.xml.namespace.QName(
  155 + "http://www.w3.org/2001/XMLSchema", "string"),
  156 + java.lang.String.class, false, false);
  157 + param.setOmittable(true);
  158 + oper.addParameter(param);
  159 + oper.setReturnType(new javax.xml.namespace.QName("http://tempuri.org/",
  160 + "Results"));
  161 + oper.setReturnClass(com.bsth.webService.trafficManage.org.tempuri.Results.class);
  162 + oper.setReturnQName(new javax.xml.namespace.QName(
  163 + "http://tempuri.org/", "setJHBCResult"));
  164 + oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
  165 + oper.setUse(org.apache.axis.constants.Use.LITERAL);
  166 + _operations[3] = oper;
  167 +
  168 + oper = new org.apache.axis.description.OperationDesc();
  169 + oper.setName("setSKB");
  170 + param = new org.apache.axis.description.ParameterDesc(
  171 + new javax.xml.namespace.QName("http://tempuri.org/", "uName"),
  172 + org.apache.axis.description.ParameterDesc.IN,
  173 + new javax.xml.namespace.QName(
  174 + "http://www.w3.org/2001/XMLSchema", "string"),
  175 + java.lang.String.class, false, false);
  176 + param.setOmittable(true);
  177 + oper.addParameter(param);
  178 + param = new org.apache.axis.description.ParameterDesc(
  179 + new javax.xml.namespace.QName("http://tempuri.org/", "uPass"),
  180 + org.apache.axis.description.ParameterDesc.IN,
  181 + new javax.xml.namespace.QName(
  182 + "http://www.w3.org/2001/XMLSchema", "string"),
  183 + java.lang.String.class, false, false);
  184 + param.setOmittable(true);
  185 + oper.addParameter(param);
  186 + param = new org.apache.axis.description.ParameterDesc(
  187 + new javax.xml.namespace.QName("http://tempuri.org/", "sXml"),
  188 + org.apache.axis.description.ParameterDesc.IN,
  189 + new javax.xml.namespace.QName(
  190 + "http://www.w3.org/2001/XMLSchema", "string"),
  191 + java.lang.String.class, false, false);
  192 + param.setOmittable(true);
  193 + oper.addParameter(param);
  194 + oper.setReturnType(new javax.xml.namespace.QName("http://tempuri.org/",
  195 + "Results"));
  196 + oper.setReturnClass(com.bsth.webService.trafficManage.org.tempuri.Results.class);
  197 + oper.setReturnQName(new javax.xml.namespace.QName(
  198 + "http://tempuri.org/", "setSKBResult"));
  199 + oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
  200 + oper.setUse(org.apache.axis.constants.Use.LITERAL);
  201 + _operations[4] = oper;
  202 +
  203 + oper = new org.apache.axis.description.OperationDesc();
  204 + oper.setName("setSJ");
  205 + param = new org.apache.axis.description.ParameterDesc(
  206 + new javax.xml.namespace.QName("http://tempuri.org/", "uName"),
  207 + org.apache.axis.description.ParameterDesc.IN,
  208 + new javax.xml.namespace.QName(
  209 + "http://www.w3.org/2001/XMLSchema", "string"),
  210 + java.lang.String.class, false, false);
  211 + param.setOmittable(true);
  212 + oper.addParameter(param);
  213 + param = new org.apache.axis.description.ParameterDesc(
  214 + new javax.xml.namespace.QName("http://tempuri.org/", "uPass"),
  215 + org.apache.axis.description.ParameterDesc.IN,
  216 + new javax.xml.namespace.QName(
  217 + "http://www.w3.org/2001/XMLSchema", "string"),
  218 + java.lang.String.class, false, false);
  219 + param.setOmittable(true);
  220 + oper.addParameter(param);
  221 + param = new org.apache.axis.description.ParameterDesc(
  222 + new javax.xml.namespace.QName("http://tempuri.org/", "sXml"),
  223 + org.apache.axis.description.ParameterDesc.IN,
  224 + new javax.xml.namespace.QName(
  225 + "http://www.w3.org/2001/XMLSchema", "string"),
  226 + java.lang.String.class, false, false);
  227 + param.setOmittable(true);
  228 + oper.addParameter(param);
  229 + oper.setReturnType(new javax.xml.namespace.QName("http://tempuri.org/",
  230 + "Results"));
  231 + oper.setReturnClass(com.bsth.webService.trafficManage.org.tempuri.Results.class);
  232 + oper.setReturnQName(new javax.xml.namespace.QName(
  233 + "http://tempuri.org/", "setSJResult"));
  234 + oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
  235 + oper.setUse(org.apache.axis.constants.Use.LITERAL);
  236 + _operations[5] = oper;
  237 +
  238 + oper = new org.apache.axis.description.OperationDesc();
  239 + oper.setName("setLCYH");
  240 + param = new org.apache.axis.description.ParameterDesc(
  241 + new javax.xml.namespace.QName("http://tempuri.org/", "uName"),
  242 + org.apache.axis.description.ParameterDesc.IN,
  243 + new javax.xml.namespace.QName(
  244 + "http://www.w3.org/2001/XMLSchema", "string"),
  245 + java.lang.String.class, false, false);
  246 + param.setOmittable(true);
  247 + oper.addParameter(param);
  248 + param = new org.apache.axis.description.ParameterDesc(
  249 + new javax.xml.namespace.QName("http://tempuri.org/", "uPass"),
  250 + org.apache.axis.description.ParameterDesc.IN,
  251 + new javax.xml.namespace.QName(
  252 + "http://www.w3.org/2001/XMLSchema", "string"),
  253 + java.lang.String.class, false, false);
  254 + param.setOmittable(true);
  255 + oper.addParameter(param);
  256 + param = new org.apache.axis.description.ParameterDesc(
  257 + new javax.xml.namespace.QName("http://tempuri.org/", "sXml"),
  258 + org.apache.axis.description.ParameterDesc.IN,
  259 + new javax.xml.namespace.QName(
  260 + "http://www.w3.org/2001/XMLSchema", "string"),
  261 + java.lang.String.class, false, false);
  262 + param.setOmittable(true);
  263 + oper.addParameter(param);
  264 + oper.setReturnType(new javax.xml.namespace.QName("http://tempuri.org/",
  265 + "Results"));
  266 + oper.setReturnClass(com.bsth.webService.trafficManage.org.tempuri.Results.class);
  267 + oper.setReturnQName(new javax.xml.namespace.QName(
  268 + "http://tempuri.org/", "setLCYHResult"));
  269 + oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
  270 + oper.setUse(org.apache.axis.constants.Use.LITERAL);
  271 + _operations[6] = oper;
  272 +
  273 + oper = new org.apache.axis.description.OperationDesc();
  274 + oper.setName("setXLPC");
  275 + param = new org.apache.axis.description.ParameterDesc(
  276 + new javax.xml.namespace.QName("http://tempuri.org/", "uName"),
  277 + org.apache.axis.description.ParameterDesc.IN,
  278 + new javax.xml.namespace.QName(
  279 + "http://www.w3.org/2001/XMLSchema", "string"),
  280 + java.lang.String.class, false, false);
  281 + param.setOmittable(true);
  282 + oper.addParameter(param);
  283 + param = new org.apache.axis.description.ParameterDesc(
  284 + new javax.xml.namespace.QName("http://tempuri.org/", "uPass"),
  285 + org.apache.axis.description.ParameterDesc.IN,
  286 + new javax.xml.namespace.QName(
  287 + "http://www.w3.org/2001/XMLSchema", "string"),
  288 + java.lang.String.class, false, false);
  289 + param.setOmittable(true);
  290 + oper.addParameter(param);
  291 + param = new org.apache.axis.description.ParameterDesc(
  292 + new javax.xml.namespace.QName("http://tempuri.org/", "sXml"),
  293 + org.apache.axis.description.ParameterDesc.IN,
  294 + new javax.xml.namespace.QName(
  295 + "http://www.w3.org/2001/XMLSchema", "string"),
  296 + java.lang.String.class, false, false);
  297 + param.setOmittable(true);
  298 + oper.addParameter(param);
  299 + oper.setReturnType(new javax.xml.namespace.QName("http://tempuri.org/",
  300 + "Results"));
  301 + oper.setReturnClass(com.bsth.webService.trafficManage.org.tempuri.Results.class);
  302 + oper.setReturnQName(new javax.xml.namespace.QName(
  303 + "http://tempuri.org/", "setXLPCResult"));
  304 + oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
  305 + oper.setUse(org.apache.axis.constants.Use.LITERAL);
  306 + _operations[7] = oper;
  307 +
  308 + oper = new org.apache.axis.description.OperationDesc();
  309 + oper.setName("setCS");
  310 + param = new org.apache.axis.description.ParameterDesc(
  311 + new javax.xml.namespace.QName("http://tempuri.org/", "uName"),
  312 + org.apache.axis.description.ParameterDesc.IN,
  313 + new javax.xml.namespace.QName(
  314 + "http://www.w3.org/2001/XMLSchema", "string"),
  315 + java.lang.String.class, false, false);
  316 + param.setOmittable(true);
  317 + oper.addParameter(param);
  318 + param = new org.apache.axis.description.ParameterDesc(
  319 + new javax.xml.namespace.QName("http://tempuri.org/", "uPass"),
  320 + org.apache.axis.description.ParameterDesc.IN,
  321 + new javax.xml.namespace.QName(
  322 + "http://www.w3.org/2001/XMLSchema", "string"),
  323 + java.lang.String.class, false, false);
  324 + param.setOmittable(true);
  325 + oper.addParameter(param);
  326 + param = new org.apache.axis.description.ParameterDesc(
  327 + new javax.xml.namespace.QName("http://tempuri.org/", "sXml"),
  328 + org.apache.axis.description.ParameterDesc.IN,
  329 + new javax.xml.namespace.QName(
  330 + "http://www.w3.org/2001/XMLSchema", "string"),
  331 + java.lang.String.class, false, false);
  332 + param.setOmittable(true);
  333 + oper.addParameter(param);
  334 + oper.setReturnType(new javax.xml.namespace.QName("http://tempuri.org/",
  335 + "Results"));
  336 + oper.setReturnClass(com.bsth.webService.trafficManage.org.tempuri.Results.class);
  337 + oper.setReturnQName(new javax.xml.namespace.QName(
  338 + "http://tempuri.org/", "setCSResult"));
  339 + oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
  340 + oper.setUse(org.apache.axis.constants.Use.LITERAL);
  341 + _operations[8] = oper;
  342 +
  343 + oper = new org.apache.axis.description.OperationDesc();
  344 + oper.setName("setFZCKGM");
  345 + param = new org.apache.axis.description.ParameterDesc(
  346 + new javax.xml.namespace.QName("http://tempuri.org/", "uName"),
  347 + org.apache.axis.description.ParameterDesc.IN,
  348 + new javax.xml.namespace.QName(
  349 + "http://www.w3.org/2001/XMLSchema", "string"),
  350 + java.lang.String.class, false, false);
  351 + param.setOmittable(true);
  352 + oper.addParameter(param);
  353 + param = new org.apache.axis.description.ParameterDesc(
  354 + new javax.xml.namespace.QName("http://tempuri.org/", "uPass"),
  355 + org.apache.axis.description.ParameterDesc.IN,
  356 + new javax.xml.namespace.QName(
  357 + "http://www.w3.org/2001/XMLSchema", "string"),
  358 + java.lang.String.class, false, false);
  359 + param.setOmittable(true);
  360 + oper.addParameter(param);
  361 + param = new org.apache.axis.description.ParameterDesc(
  362 + new javax.xml.namespace.QName("http://tempuri.org/", "sXml"),
  363 + org.apache.axis.description.ParameterDesc.IN,
  364 + new javax.xml.namespace.QName(
  365 + "http://www.w3.org/2001/XMLSchema", "string"),
  366 + java.lang.String.class, false, false);
  367 + param.setOmittable(true);
  368 + oper.addParameter(param);
  369 + oper.setReturnType(new javax.xml.namespace.QName("http://tempuri.org/",
  370 + "Results"));
  371 + oper.setReturnClass(com.bsth.webService.trafficManage.org.tempuri.Results.class);
  372 + oper.setReturnQName(new javax.xml.namespace.QName(
  373 + "http://tempuri.org/", "setFZCKGMResult"));
  374 + oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
  375 + oper.setUse(org.apache.axis.constants.Use.LITERAL);
  376 + _operations[9] = oper;
  377 +
  378 + }
  379 +
  380 + private static void _initOperationDesc2() {
  381 + org.apache.axis.description.OperationDesc oper;
  382 + org.apache.axis.description.ParameterDesc param;
  383 + oper = new org.apache.axis.description.OperationDesc();
  384 + oper.setName("setJJZD");
  385 + param = new org.apache.axis.description.ParameterDesc(
  386 + new javax.xml.namespace.QName("http://tempuri.org/", "uName"),
  387 + org.apache.axis.description.ParameterDesc.IN,
  388 + new javax.xml.namespace.QName(
  389 + "http://www.w3.org/2001/XMLSchema", "string"),
  390 + java.lang.String.class, false, false);
  391 + param.setOmittable(true);
  392 + oper.addParameter(param);
  393 + param = new org.apache.axis.description.ParameterDesc(
  394 + new javax.xml.namespace.QName("http://tempuri.org/", "uPass"),
  395 + org.apache.axis.description.ParameterDesc.IN,
  396 + new javax.xml.namespace.QName(
  397 + "http://www.w3.org/2001/XMLSchema", "string"),
  398 + java.lang.String.class, false, false);
  399 + param.setOmittable(true);
  400 + oper.addParameter(param);
  401 + param = new org.apache.axis.description.ParameterDesc(
  402 + new javax.xml.namespace.QName("http://tempuri.org/", "sXml"),
  403 + org.apache.axis.description.ParameterDesc.IN,
  404 + new javax.xml.namespace.QName(
  405 + "http://www.w3.org/2001/XMLSchema", "string"),
  406 + java.lang.String.class, false, false);
  407 + param.setOmittable(true);
  408 + oper.addParameter(param);
  409 + oper.setReturnType(new javax.xml.namespace.QName("http://tempuri.org/",
  410 + "Results"));
  411 + oper.setReturnClass(com.bsth.webService.trafficManage.org.tempuri.Results.class);
  412 + oper.setReturnQName(new javax.xml.namespace.QName(
  413 + "http://tempuri.org/", "setJJZDResult"));
  414 + oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
  415 + oper.setUse(org.apache.axis.constants.Use.LITERAL);
  416 + _operations[10] = oper;
  417 +
  418 + }
  419 +
  420 + public WebServiceSoapStub() throws org.apache.axis.AxisFault {
  421 + this(null);
  422 + }
  423 +
  424 + public WebServiceSoapStub(java.net.URL endpointURL,
  425 + javax.xml.rpc.Service service) throws org.apache.axis.AxisFault {
  426 + this(service);
  427 + super.cachedEndpoint = endpointURL;
  428 + }
  429 +
  430 + public WebServiceSoapStub(javax.xml.rpc.Service service)
  431 + throws org.apache.axis.AxisFault {
  432 + if (service == null) {
  433 + super.service = new org.apache.axis.client.Service();
  434 + } else {
  435 + super.service = service;
  436 + }
  437 + ((org.apache.axis.client.Service) super.service)
  438 + .setTypeMappingVersion("1.2");
  439 + java.lang.Class cls;
  440 + javax.xml.namespace.QName qName;
  441 + javax.xml.namespace.QName qName2;
  442 + java.lang.Class beansf = org.apache.axis.encoding.ser.BeanSerializerFactory.class;
  443 + java.lang.Class beandf = org.apache.axis.encoding.ser.BeanDeserializerFactory.class;
  444 + java.lang.Class enumsf = org.apache.axis.encoding.ser.EnumSerializerFactory.class;
  445 + java.lang.Class enumdf = org.apache.axis.encoding.ser.EnumDeserializerFactory.class;
  446 + java.lang.Class arraysf = org.apache.axis.encoding.ser.ArraySerializerFactory.class;
  447 + java.lang.Class arraydf = org.apache.axis.encoding.ser.ArrayDeserializerFactory.class;
  448 + java.lang.Class simplesf = org.apache.axis.encoding.ser.SimpleSerializerFactory.class;
  449 + java.lang.Class simpledf = org.apache.axis.encoding.ser.SimpleDeserializerFactory.class;
  450 + java.lang.Class simplelistsf = org.apache.axis.encoding.ser.SimpleListSerializerFactory.class;
  451 + java.lang.Class simplelistdf = org.apache.axis.encoding.ser.SimpleListDeserializerFactory.class;
  452 + qName = new javax.xml.namespace.QName("http://tempuri.org/", "Results");
  453 + cachedSerQNames.add(qName);
  454 + cls = com.bsth.webService.trafficManage.org.tempuri.Results.class;
  455 + cachedSerClasses.add(cls);
  456 + cachedSerFactories.add(beansf);
  457 + cachedDeserFactories.add(beandf);
  458 +
  459 + }
  460 +
  461 + protected org.apache.axis.client.Call createCall()
  462 + throws java.rmi.RemoteException {
  463 + try {
  464 + org.apache.axis.client.Call _call = super._createCall();
  465 + if (super.maintainSessionSet) {
  466 + _call.setMaintainSession(super.maintainSession);
  467 + }
  468 + if (super.cachedUsername != null) {
  469 + _call.setUsername(super.cachedUsername);
  470 + }
  471 + if (super.cachedPassword != null) {
  472 + _call.setPassword(super.cachedPassword);
  473 + }
  474 + if (super.cachedEndpoint != null) {
  475 + _call.setTargetEndpointAddress(super.cachedEndpoint);
  476 + }
  477 + if (super.cachedTimeout != null) {
  478 + _call.setTimeout(super.cachedTimeout);
  479 + }
  480 + if (super.cachedPortName != null) {
  481 + _call.setPortName(super.cachedPortName);
  482 + }
  483 + java.util.Enumeration keys = super.cachedProperties.keys();
  484 + while (keys.hasMoreElements()) {
  485 + java.lang.String key = (java.lang.String) keys.nextElement();
  486 + _call.setProperty(key, super.cachedProperties.get(key));
  487 + }
  488 + // All the type mapping information is registered
  489 + // when the first call is made.
  490 + // The type mapping information is actually registered in
  491 + // the TypeMappingRegistry of the service, which
  492 + // is the reason why registration is only needed for the first call.
  493 + synchronized (this) {
  494 + if (firstCall()) {
  495 + // must set encoding style before registering serializers
  496 + _call.setEncodingStyle(null);
  497 + for (int i = 0; i < cachedSerFactories.size(); ++i) {
  498 + java.lang.Class cls = (java.lang.Class) cachedSerClasses
  499 + .get(i);
  500 + javax.xml.namespace.QName qName = (javax.xml.namespace.QName) cachedSerQNames
  501 + .get(i);
  502 + java.lang.Object x = cachedSerFactories.get(i);
  503 + if (x instanceof Class) {
  504 + java.lang.Class sf = (java.lang.Class) cachedSerFactories
  505 + .get(i);
  506 + java.lang.Class df = (java.lang.Class) cachedDeserFactories
  507 + .get(i);
  508 + _call.registerTypeMapping(cls, qName, sf, df, false);
  509 + } else if (x instanceof javax.xml.rpc.encoding.SerializerFactory) {
  510 + org.apache.axis.encoding.SerializerFactory sf = (org.apache.axis.encoding.SerializerFactory) cachedSerFactories
  511 + .get(i);
  512 + org.apache.axis.encoding.DeserializerFactory df = (org.apache.axis.encoding.DeserializerFactory) cachedDeserFactories
  513 + .get(i);
  514 + _call.registerTypeMapping(cls, qName, sf, df, false);
  515 + }
  516 + }
  517 + }
  518 + }
  519 + return _call;
  520 + } catch (java.lang.Throwable _t) {
  521 + throw new org.apache.axis.AxisFault(
  522 + "Failure trying to get the Call object", _t);
  523 + }
  524 + }
  525 +
  526 + public com.bsth.webService.trafficManage.org.tempuri.Results setCL(
  527 + java.lang.String uName, java.lang.String uPass,
  528 + java.lang.String sXml) throws java.rmi.RemoteException {
  529 + if (super.cachedEndpoint == null) {
  530 + throw new org.apache.axis.NoEndPointException();
  531 + }
  532 + org.apache.axis.client.Call _call = createCall();
  533 + _call.setOperation(_operations[0]);
  534 + _call.setUseSOAPAction(true);
  535 + _call.setSOAPActionURI("http://tempuri.org/setCL");
  536 + _call.setEncodingStyle(null);
  537 + _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR,
  538 + Boolean.FALSE);
  539 + _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
  540 + Boolean.FALSE);
  541 + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
  542 + _call.setOperationName(new javax.xml.namespace.QName(
  543 + "http://tempuri.org/", "setCL"));
  544 +
  545 + setRequestHeaders(_call);
  546 + setAttachments(_call);
  547 + try {
  548 + java.lang.Object _resp = _call.invoke(new java.lang.Object[] {
  549 + uName, uPass, sXml });
  550 +
  551 + if (_resp instanceof java.rmi.RemoteException) {
  552 + throw (java.rmi.RemoteException) _resp;
  553 + } else {
  554 + extractAttachments(_call);
  555 + try {
  556 + return (com.bsth.webService.trafficManage.org.tempuri.Results) _resp;
  557 + } catch (java.lang.Exception _exception) {
  558 + return (com.bsth.webService.trafficManage.org.tempuri.Results) org.apache.axis.utils.JavaUtils
  559 + .convert(
  560 + _resp,
  561 + com.bsth.webService.trafficManage.org.tempuri.Results.class);
  562 + }
  563 + }
  564 + } catch (org.apache.axis.AxisFault axisFaultException) {
  565 + throw axisFaultException;
  566 + }
  567 + }
  568 +
  569 + public com.bsth.webService.trafficManage.org.tempuri.Results setLD(
  570 + java.lang.String uName, java.lang.String uPass,
  571 + java.lang.String sXml) throws java.rmi.RemoteException {
  572 + if (super.cachedEndpoint == null) {
  573 + throw new org.apache.axis.NoEndPointException();
  574 + }
  575 + org.apache.axis.client.Call _call = createCall();
  576 + _call.setOperation(_operations[1]);
  577 + _call.setUseSOAPAction(true);
  578 + _call.setSOAPActionURI("http://tempuri.org/setLD");
  579 + _call.setEncodingStyle(null);
  580 + _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR,
  581 + Boolean.FALSE);
  582 + _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
  583 + Boolean.FALSE);
  584 + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
  585 + _call.setOperationName(new javax.xml.namespace.QName(
  586 + "http://tempuri.org/", "setLD"));
  587 +
  588 + setRequestHeaders(_call);
  589 + setAttachments(_call);
  590 + try {
  591 + java.lang.Object _resp = _call.invoke(new java.lang.Object[] {
  592 + uName, uPass, sXml });
  593 +
  594 + if (_resp instanceof java.rmi.RemoteException) {
  595 + throw (java.rmi.RemoteException) _resp;
  596 + } else {
  597 + extractAttachments(_call);
  598 + try {
  599 + return (com.bsth.webService.trafficManage.org.tempuri.Results) _resp;
  600 + } catch (java.lang.Exception _exception) {
  601 + return (com.bsth.webService.trafficManage.org.tempuri.Results) org.apache.axis.utils.JavaUtils
  602 + .convert(
  603 + _resp,
  604 + com.bsth.webService.trafficManage.org.tempuri.Results.class);
  605 + }
  606 + }
  607 + } catch (org.apache.axis.AxisFault axisFaultException) {
  608 + throw axisFaultException;
  609 + }
  610 + }
  611 +
  612 + public com.bsth.webService.trafficManage.org.tempuri.Results setDDRB(
  613 + java.lang.String uName, java.lang.String uPass,
  614 + java.lang.String sXml) throws java.rmi.RemoteException {
  615 + if (super.cachedEndpoint == null) {
  616 + throw new org.apache.axis.NoEndPointException();
  617 + }
  618 + org.apache.axis.client.Call _call = createCall();
  619 + _call.setOperation(_operations[2]);
  620 + _call.setUseSOAPAction(true);
  621 + _call.setSOAPActionURI("http://tempuri.org/setDDRB");
  622 + _call.setEncodingStyle(null);
  623 + _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR,
  624 + Boolean.FALSE);
  625 + _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
  626 + Boolean.FALSE);
  627 + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
  628 + _call.setOperationName(new javax.xml.namespace.QName(
  629 + "http://tempuri.org/", "setDDRB"));
  630 +
  631 + setRequestHeaders(_call);
  632 + setAttachments(_call);
  633 + try {
  634 + java.lang.Object _resp = _call.invoke(new java.lang.Object[] {
  635 + uName, uPass, sXml });
  636 +
  637 + if (_resp instanceof java.rmi.RemoteException) {
  638 + throw (java.rmi.RemoteException) _resp;
  639 + } else {
  640 + extractAttachments(_call);
  641 + try {
  642 + return (com.bsth.webService.trafficManage.org.tempuri.Results) _resp;
  643 + } catch (java.lang.Exception _exception) {
  644 + return (com.bsth.webService.trafficManage.org.tempuri.Results) org.apache.axis.utils.JavaUtils
  645 + .convert(
  646 + _resp,
  647 + com.bsth.webService.trafficManage.org.tempuri.Results.class);
  648 + }
  649 + }
  650 + } catch (org.apache.axis.AxisFault axisFaultException) {
  651 + throw axisFaultException;
  652 + }
  653 + }
  654 +
  655 + public com.bsth.webService.trafficManage.org.tempuri.Results setJHBC(
  656 + java.lang.String uName, java.lang.String uPass,
  657 + java.lang.String sXml) throws java.rmi.RemoteException {
  658 + if (super.cachedEndpoint == null) {
  659 + throw new org.apache.axis.NoEndPointException();
  660 + }
  661 + org.apache.axis.client.Call _call = createCall();
  662 + _call.setOperation(_operations[3]);
  663 + _call.setUseSOAPAction(true);
  664 + _call.setSOAPActionURI("http://tempuri.org/setJHBC");
  665 + _call.setEncodingStyle(null);
  666 + _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR,
  667 + Boolean.FALSE);
  668 + _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
  669 + Boolean.FALSE);
  670 + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
  671 + _call.setOperationName(new javax.xml.namespace.QName(
  672 + "http://tempuri.org/", "setJHBC"));
  673 +
  674 + setRequestHeaders(_call);
  675 + setAttachments(_call);
  676 + try {
  677 + java.lang.Object _resp = _call.invoke(new java.lang.Object[] {
  678 + uName, uPass, sXml });
  679 +
  680 + if (_resp instanceof java.rmi.RemoteException) {
  681 + throw (java.rmi.RemoteException) _resp;
  682 + } else {
  683 + extractAttachments(_call);
  684 + try {
  685 + return (com.bsth.webService.trafficManage.org.tempuri.Results) _resp;
  686 + } catch (java.lang.Exception _exception) {
  687 + return (com.bsth.webService.trafficManage.org.tempuri.Results) org.apache.axis.utils.JavaUtils
  688 + .convert(
  689 + _resp,
  690 + com.bsth.webService.trafficManage.org.tempuri.Results.class);
  691 + }
  692 + }
  693 + } catch (org.apache.axis.AxisFault axisFaultException) {
  694 + throw axisFaultException;
  695 + }
  696 + }
  697 +
  698 + public com.bsth.webService.trafficManage.org.tempuri.Results setSKB(
  699 + java.lang.String uName, java.lang.String uPass,
  700 + java.lang.String sXml) throws java.rmi.RemoteException {
  701 + if (super.cachedEndpoint == null) {
  702 + throw new org.apache.axis.NoEndPointException();
  703 + }
  704 + org.apache.axis.client.Call _call = createCall();
  705 + _call.setOperation(_operations[4]);
  706 + _call.setUseSOAPAction(true);
  707 + _call.setSOAPActionURI("http://tempuri.org/setSKB");
  708 + _call.setEncodingStyle(null);
  709 + _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR,
  710 + Boolean.FALSE);
  711 + _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
  712 + Boolean.FALSE);
  713 + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
  714 + _call.setOperationName(new javax.xml.namespace.QName(
  715 + "http://tempuri.org/", "setSKB"));
  716 +
  717 + setRequestHeaders(_call);
  718 + setAttachments(_call);
  719 + try {
  720 + java.lang.Object _resp = _call.invoke(new java.lang.Object[] {
  721 + uName, uPass, sXml });
  722 +
  723 + if (_resp instanceof java.rmi.RemoteException) {
  724 + throw (java.rmi.RemoteException) _resp;
  725 + } else {
  726 + extractAttachments(_call);
  727 + try {
  728 + return (com.bsth.webService.trafficManage.org.tempuri.Results) _resp;
  729 + } catch (java.lang.Exception _exception) {
  730 + return (com.bsth.webService.trafficManage.org.tempuri.Results) org.apache.axis.utils.JavaUtils
  731 + .convert(
  732 + _resp,
  733 + com.bsth.webService.trafficManage.org.tempuri.Results.class);
  734 + }
  735 + }
  736 + } catch (org.apache.axis.AxisFault axisFaultException) {
  737 + throw axisFaultException;
  738 + }
  739 + }
  740 +
  741 + public com.bsth.webService.trafficManage.org.tempuri.Results setSJ(
  742 + java.lang.String uName, java.lang.String uPass,
  743 + java.lang.String sXml) throws java.rmi.RemoteException {
  744 + if (super.cachedEndpoint == null) {
  745 + throw new org.apache.axis.NoEndPointException();
  746 + }
  747 + org.apache.axis.client.Call _call = createCall();
  748 + _call.setOperation(_operations[5]);
  749 + _call.setUseSOAPAction(true);
  750 + _call.setSOAPActionURI("http://tempuri.org/setSJ");
  751 + _call.setEncodingStyle(null);
  752 + _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR,
  753 + Boolean.FALSE);
  754 + _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
  755 + Boolean.FALSE);
  756 + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
  757 + _call.setOperationName(new javax.xml.namespace.QName(
  758 + "http://tempuri.org/", "setSJ"));
  759 +
  760 + setRequestHeaders(_call);
  761 + setAttachments(_call);
  762 + try {
  763 + java.lang.Object _resp = _call.invoke(new java.lang.Object[] {
  764 + uName, uPass, sXml });
  765 +
  766 + if (_resp instanceof java.rmi.RemoteException) {
  767 + throw (java.rmi.RemoteException) _resp;
  768 + } else {
  769 + extractAttachments(_call);
  770 + try {
  771 + return (com.bsth.webService.trafficManage.org.tempuri.Results) _resp;
  772 + } catch (java.lang.Exception _exception) {
  773 + return (com.bsth.webService.trafficManage.org.tempuri.Results) org.apache.axis.utils.JavaUtils
  774 + .convert(
  775 + _resp,
  776 + com.bsth.webService.trafficManage.org.tempuri.Results.class);
  777 + }
  778 + }
  779 + } catch (org.apache.axis.AxisFault axisFaultException) {
  780 + throw axisFaultException;
  781 + }
  782 + }
  783 +
  784 + public com.bsth.webService.trafficManage.org.tempuri.Results setLCYH(
  785 + java.lang.String uName, java.lang.String uPass,
  786 + java.lang.String sXml) throws java.rmi.RemoteException {
  787 + if (super.cachedEndpoint == null) {
  788 + throw new org.apache.axis.NoEndPointException();
  789 + }
  790 + org.apache.axis.client.Call _call = createCall();
  791 + _call.setOperation(_operations[6]);
  792 + _call.setUseSOAPAction(true);
  793 + _call.setSOAPActionURI("http://tempuri.org/setLCYH");
  794 + _call.setEncodingStyle(null);
  795 + _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR,
  796 + Boolean.FALSE);
  797 + _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
  798 + Boolean.FALSE);
  799 + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
  800 + _call.setOperationName(new javax.xml.namespace.QName(
  801 + "http://tempuri.org/", "setLCYH"));
  802 +
  803 + setRequestHeaders(_call);
  804 + setAttachments(_call);
  805 + try {
  806 + java.lang.Object _resp = _call.invoke(new java.lang.Object[] {
  807 + uName, uPass, sXml });
  808 +
  809 + if (_resp instanceof java.rmi.RemoteException) {
  810 + throw (java.rmi.RemoteException) _resp;
  811 + } else {
  812 + extractAttachments(_call);
  813 + try {
  814 + return (com.bsth.webService.trafficManage.org.tempuri.Results) _resp;
  815 + } catch (java.lang.Exception _exception) {
  816 + return (com.bsth.webService.trafficManage.org.tempuri.Results) org.apache.axis.utils.JavaUtils
  817 + .convert(
  818 + _resp,
  819 + com.bsth.webService.trafficManage.org.tempuri.Results.class);
  820 + }
  821 + }
  822 + } catch (org.apache.axis.AxisFault axisFaultException) {
  823 + throw axisFaultException;
  824 + }
  825 + }
  826 +
  827 + public com.bsth.webService.trafficManage.org.tempuri.Results setXLPC(
  828 + java.lang.String uName, java.lang.String uPass,
  829 + java.lang.String sXml) throws java.rmi.RemoteException {
  830 + if (super.cachedEndpoint == null) {
  831 + throw new org.apache.axis.NoEndPointException();
  832 + }
  833 + org.apache.axis.client.Call _call = createCall();
  834 + _call.setOperation(_operations[7]);
  835 + _call.setUseSOAPAction(true);
  836 + _call.setSOAPActionURI("http://tempuri.org/setXLPC");
  837 + _call.setEncodingStyle(null);
  838 + _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR,
  839 + Boolean.FALSE);
  840 + _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
  841 + Boolean.FALSE);
  842 + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
  843 + _call.setOperationName(new javax.xml.namespace.QName(
  844 + "http://tempuri.org/", "setXLPC"));
  845 +
  846 + setRequestHeaders(_call);
  847 + setAttachments(_call);
  848 + try {
  849 + java.lang.Object _resp = _call.invoke(new java.lang.Object[] {
  850 + uName, uPass, sXml });
  851 +
  852 + if (_resp instanceof java.rmi.RemoteException) {
  853 + throw (java.rmi.RemoteException) _resp;
  854 + } else {
  855 + extractAttachments(_call);
  856 + try {
  857 + return (com.bsth.webService.trafficManage.org.tempuri.Results) _resp;
  858 + } catch (java.lang.Exception _exception) {
  859 + return (com.bsth.webService.trafficManage.org.tempuri.Results) org.apache.axis.utils.JavaUtils
  860 + .convert(
  861 + _resp,
  862 + com.bsth.webService.trafficManage.org.tempuri.Results.class);
  863 + }
  864 + }
  865 + } catch (org.apache.axis.AxisFault axisFaultException) {
  866 + throw axisFaultException;
  867 + }
  868 + }
  869 +
  870 + public com.bsth.webService.trafficManage.org.tempuri.Results setCS(
  871 + java.lang.String uName, java.lang.String uPass,
  872 + java.lang.String sXml) throws java.rmi.RemoteException {
  873 + if (super.cachedEndpoint == null) {
  874 + throw new org.apache.axis.NoEndPointException();
  875 + }
  876 + org.apache.axis.client.Call _call = createCall();
  877 + _call.setOperation(_operations[8]);
  878 + _call.setUseSOAPAction(true);
  879 + _call.setSOAPActionURI("http://tempuri.org/setCS");
  880 + _call.setEncodingStyle(null);
  881 + _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR,
  882 + Boolean.FALSE);
  883 + _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
  884 + Boolean.FALSE);
  885 + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
  886 + _call.setOperationName(new javax.xml.namespace.QName(
  887 + "http://tempuri.org/", "setCS"));
  888 +
  889 + setRequestHeaders(_call);
  890 + setAttachments(_call);
  891 + try {
  892 + java.lang.Object _resp = _call.invoke(new java.lang.Object[] {
  893 + uName, uPass, sXml });
  894 +
  895 + if (_resp instanceof java.rmi.RemoteException) {
  896 + throw (java.rmi.RemoteException) _resp;
  897 + } else {
  898 + extractAttachments(_call);
  899 + try {
  900 + return (com.bsth.webService.trafficManage.org.tempuri.Results) _resp;
  901 + } catch (java.lang.Exception _exception) {
  902 + return (com.bsth.webService.trafficManage.org.tempuri.Results) org.apache.axis.utils.JavaUtils
  903 + .convert(
  904 + _resp,
  905 + com.bsth.webService.trafficManage.org.tempuri.Results.class);
  906 + }
  907 + }
  908 + } catch (org.apache.axis.AxisFault axisFaultException) {
  909 + throw axisFaultException;
  910 + }
  911 + }
  912 +
  913 + public com.bsth.webService.trafficManage.org.tempuri.Results setFZCKGM(
  914 + java.lang.String uName, java.lang.String uPass,
  915 + java.lang.String sXml) throws java.rmi.RemoteException {
  916 + if (super.cachedEndpoint == null) {
  917 + throw new org.apache.axis.NoEndPointException();
  918 + }
  919 + org.apache.axis.client.Call _call = createCall();
  920 + _call.setOperation(_operations[9]);
  921 + _call.setUseSOAPAction(true);
  922 + _call.setSOAPActionURI("http://tempuri.org/setFZCKGM");
  923 + _call.setEncodingStyle(null);
  924 + _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR,
  925 + Boolean.FALSE);
  926 + _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
  927 + Boolean.FALSE);
  928 + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
  929 + _call.setOperationName(new javax.xml.namespace.QName(
  930 + "http://tempuri.org/", "setFZCKGM"));
  931 +
  932 + setRequestHeaders(_call);
  933 + setAttachments(_call);
  934 + try {
  935 + java.lang.Object _resp = _call.invoke(new java.lang.Object[] {
  936 + uName, uPass, sXml });
  937 +
  938 + if (_resp instanceof java.rmi.RemoteException) {
  939 + throw (java.rmi.RemoteException) _resp;
  940 + } else {
  941 + extractAttachments(_call);
  942 + try {
  943 + return (com.bsth.webService.trafficManage.org.tempuri.Results) _resp;
  944 + } catch (java.lang.Exception _exception) {
  945 + return (com.bsth.webService.trafficManage.org.tempuri.Results) org.apache.axis.utils.JavaUtils
  946 + .convert(
  947 + _resp,
  948 + com.bsth.webService.trafficManage.org.tempuri.Results.class);
  949 + }
  950 + }
  951 + } catch (org.apache.axis.AxisFault axisFaultException) {
  952 + throw axisFaultException;
  953 + }
  954 + }
  955 +
  956 + public com.bsth.webService.trafficManage.org.tempuri.Results setJJZD(
  957 + java.lang.String uName, java.lang.String uPass,
  958 + java.lang.String sXml) throws java.rmi.RemoteException {
  959 + if (super.cachedEndpoint == null) {
  960 + throw new org.apache.axis.NoEndPointException();
  961 + }
  962 + org.apache.axis.client.Call _call = createCall();
  963 + _call.setOperation(_operations[10]);
  964 + _call.setUseSOAPAction(true);
  965 + _call.setSOAPActionURI("http://tempuri.org/setJJZD");
  966 + _call.setEncodingStyle(null);
  967 + _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR,
  968 + Boolean.FALSE);
  969 + _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
  970 + Boolean.FALSE);
  971 + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
  972 + _call.setOperationName(new javax.xml.namespace.QName(
  973 + "http://tempuri.org/", "setJJZD"));
  974 +
  975 + setRequestHeaders(_call);
  976 + setAttachments(_call);
  977 + try {
  978 + java.lang.Object _resp = _call.invoke(new java.lang.Object[] {
  979 + uName, uPass, sXml });
  980 +
  981 + if (_resp instanceof java.rmi.RemoteException) {
  982 + throw (java.rmi.RemoteException) _resp;
  983 + } else {
  984 + extractAttachments(_call);
  985 + try {
  986 + return (com.bsth.webService.trafficManage.org.tempuri.Results) _resp;
  987 + } catch (java.lang.Exception _exception) {
  988 + return (com.bsth.webService.trafficManage.org.tempuri.Results) org.apache.axis.utils.JavaUtils
  989 + .convert(
  990 + _resp,
  991 + com.bsth.webService.trafficManage.org.tempuri.Results.class);
  992 + }
  993 + }
  994 + } catch (org.apache.axis.AxisFault axisFaultException) {
  995 + throw axisFaultException;
  996 + }
  997 + }
  998 +
  999 +}
... ...
src/main/resources/application-dev.properties
... ... @@ -8,7 +8,7 @@ spring.jpa.hibernate.naming_strategy= org.hibernate.cfg.ImprovedNamingStrategy
8 8 spring.jpa.database= MYSQL
9 9 spring.jpa.show-sql= true
10 10 spring.datasource.driver-class-name= com.mysql.jdbc.Driver
11   -spring.datasource.url= jdbc:mysql://192.168.168.201:3306/control
  11 +spring.datasource.url= jdbc:mysql://192.168.168.201:3306/mh_control
12 12 spring.datasource.username= root
13 13 spring.datasource.password= 123456
14 14 #DATASOURCE
... ...
src/main/resources/static/assets/plugins/jsencrypt.min.js
1   -/*! JSEncrypt v2.3.1 | https://npmcdn.com/jsencrypt@2.3.1/LICENSE.txt */
2   -!function(t,e){"function"==typeof define&&define.amd?define(["exports"],e):e("object"==typeof exports&&"string"!=typeof exports.nodeName?module.exports:t)}(this,function(t){function e(t,e,i){null!=t&&("number"==typeof t?this.fromNumber(t,e,i):null==e&&"string"!=typeof t?this.fromString(t,256):this.fromString(t,e))}function i(){return new e(null)}function r(t,e,i,r,s,n){for(;--n>=0;){var o=e*this[t++]+i[r]+s;s=Math.floor(o/67108864),i[r++]=67108863&o}return s}function s(t,e,i,r,s,n){for(var o=32767&e,h=e>>15;--n>=0;){var a=32767&this[t],u=this[t++]>>15,c=h*a+u*o;a=o*a+((32767&c)<<15)+i[r]+(1073741823&s),s=(a>>>30)+(c>>>15)+h*u+(s>>>30),i[r++]=1073741823&a}return s}function n(t,e,i,r,s,n){for(var o=16383&e,h=e>>14;--n>=0;){var a=16383&this[t],u=this[t++]>>14,c=h*a+u*o;a=o*a+((16383&c)<<14)+i[r]+s,s=(a>>28)+(c>>14)+h*u,i[r++]=268435455&a}return s}function o(t){return Be.charAt(t)}function h(t,e){var i=Ke[t.charCodeAt(e)];return null==i?-1:i}function a(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s}function u(t){this.t=1,this.s=0>t?-1:0,t>0?this[0]=t:-1>t?this[0]=t+this.DV:this.t=0}function c(t){var e=i();return e.fromInt(t),e}function f(t,i){var r;if(16==i)r=4;else if(8==i)r=3;else if(256==i)r=8;else if(2==i)r=1;else if(32==i)r=5;else{if(4!=i)return void this.fromRadix(t,i);r=2}this.t=0,this.s=0;for(var s=t.length,n=!1,o=0;--s>=0;){var a=8==r?255&t[s]:h(t,s);0>a?"-"==t.charAt(s)&&(n=!0):(n=!1,0==o?this[this.t++]=a:o+r>this.DB?(this[this.t-1]|=(a&(1<<this.DB-o)-1)<<o,this[this.t++]=a>>this.DB-o):this[this.t-1]|=a<<o,o+=r,o>=this.DB&&(o-=this.DB))}8==r&&0!=(128&t[0])&&(this.s=-1,o>0&&(this[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),n&&e.ZERO.subTo(this,this)}function p(){for(var t=this.s&this.DM;this.t>0&&this[this.t-1]==t;)--this.t}function l(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else{if(4!=t)return this.toRadix(t);e=2}var i,r=(1<<e)-1,s=!1,n="",h=this.t,a=this.DB-h*this.DB%e;if(h-- >0)for(a<this.DB&&(i=this[h]>>a)>0&&(s=!0,n=o(i));h>=0;)e>a?(i=(this[h]&(1<<a)-1)<<e-a,i|=this[--h]>>(a+=this.DB-e)):(i=this[h]>>(a-=e)&r,0>=a&&(a+=this.DB,--h)),i>0&&(s=!0),s&&(n+=o(i));return s?n:"0"}function d(){var t=i();return e.ZERO.subTo(this,t),t}function g(){return this.s<0?this.negate():this}function m(t){var e=this.s-t.s;if(0!=e)return e;var i=this.t;if(e=i-t.t,0!=e)return this.s<0?-e:e;for(;--i>=0;)if(0!=(e=this[i]-t[i]))return e;return 0}function y(t){var e,i=1;return 0!=(e=t>>>16)&&(t=e,i+=16),0!=(e=t>>8)&&(t=e,i+=8),0!=(e=t>>4)&&(t=e,i+=4),0!=(e=t>>2)&&(t=e,i+=2),0!=(e=t>>1)&&(t=e,i+=1),i}function b(){return this.t<=0?0:this.DB*(this.t-1)+y(this[this.t-1]^this.s&this.DM)}function T(t,e){var i;for(i=this.t-1;i>=0;--i)e[i+t]=this[i];for(i=t-1;i>=0;--i)e[i]=0;e.t=this.t+t,e.s=this.s}function S(t,e){for(var i=t;i<this.t;++i)e[i-t]=this[i];e.t=Math.max(this.t-t,0),e.s=this.s}function R(t,e){var i,r=t%this.DB,s=this.DB-r,n=(1<<s)-1,o=Math.floor(t/this.DB),h=this.s<<r&this.DM;for(i=this.t-1;i>=0;--i)e[i+o+1]=this[i]>>s|h,h=(this[i]&n)<<r;for(i=o-1;i>=0;--i)e[i]=0;e[o]=h,e.t=this.t+o+1,e.s=this.s,e.clamp()}function E(t,e){e.s=this.s;var i=Math.floor(t/this.DB);if(i>=this.t)return void(e.t=0);var r=t%this.DB,s=this.DB-r,n=(1<<r)-1;e[0]=this[i]>>r;for(var o=i+1;o<this.t;++o)e[o-i-1]|=(this[o]&n)<<s,e[o-i]=this[o]>>r;r>0&&(e[this.t-i-1]|=(this.s&n)<<s),e.t=this.t-i,e.clamp()}function D(t,e){for(var i=0,r=0,s=Math.min(t.t,this.t);s>i;)r+=this[i]-t[i],e[i++]=r&this.DM,r>>=this.DB;if(t.t<this.t){for(r-=t.s;i<this.t;)r+=this[i],e[i++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;i<t.t;)r-=t[i],e[i++]=r&this.DM,r>>=this.DB;r-=t.s}e.s=0>r?-1:0,-1>r?e[i++]=this.DV+r:r>0&&(e[i++]=r),e.t=i,e.clamp()}function w(t,i){var r=this.abs(),s=t.abs(),n=r.t;for(i.t=n+s.t;--n>=0;)i[n]=0;for(n=0;n<s.t;++n)i[n+r.t]=r.am(0,s[n],i,n,0,r.t);i.s=0,i.clamp(),this.s!=t.s&&e.ZERO.subTo(i,i)}function x(t){for(var e=this.abs(),i=t.t=2*e.t;--i>=0;)t[i]=0;for(i=0;i<e.t-1;++i){var r=e.am(i,e[i],t,2*i,0,1);(t[i+e.t]+=e.am(i+1,2*e[i],t,2*i+1,r,e.t-i-1))>=e.DV&&(t[i+e.t]-=e.DV,t[i+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(i,e[i],t,2*i,0,1)),t.s=0,t.clamp()}function B(t,r,s){var n=t.abs();if(!(n.t<=0)){var o=this.abs();if(o.t<n.t)return null!=r&&r.fromInt(0),void(null!=s&&this.copyTo(s));null==s&&(s=i());var h=i(),a=this.s,u=t.s,c=this.DB-y(n[n.t-1]);c>0?(n.lShiftTo(c,h),o.lShiftTo(c,s)):(n.copyTo(h),o.copyTo(s));var f=h.t,p=h[f-1];if(0!=p){var l=p*(1<<this.F1)+(f>1?h[f-2]>>this.F2:0),d=this.FV/l,g=(1<<this.F1)/l,m=1<<this.F2,v=s.t,b=v-f,T=null==r?i():r;for(h.dlShiftTo(b,T),s.compareTo(T)>=0&&(s[s.t++]=1,s.subTo(T,s)),e.ONE.dlShiftTo(f,T),T.subTo(h,h);h.t<f;)h[h.t++]=0;for(;--b>=0;){var S=s[--v]==p?this.DM:Math.floor(s[v]*d+(s[v-1]+m)*g);if((s[v]+=h.am(0,S,s,b,0,f))<S)for(h.dlShiftTo(b,T),s.subTo(T,s);s[v]<--S;)s.subTo(T,s)}null!=r&&(s.drShiftTo(f,r),a!=u&&e.ZERO.subTo(r,r)),s.t=f,s.clamp(),c>0&&s.rShiftTo(c,s),0>a&&e.ZERO.subTo(s,s)}}}function K(t){var r=i();return this.abs().divRemTo(t,null,r),this.s<0&&r.compareTo(e.ZERO)>0&&t.subTo(r,r),r}function A(t){this.m=t}function U(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function O(t){return t}function V(t){t.divRemTo(this.m,null,t)}function N(t,e,i){t.multiplyTo(e,i),this.reduce(i)}function J(t,e){t.squareTo(e),this.reduce(e)}function I(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;return e=e*(2-(15&t)*e)&15,e=e*(2-(255&t)*e)&255,e=e*(2-((65535&t)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function P(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function M(t){var r=i();return t.abs().dlShiftTo(this.m.t,r),r.divRemTo(this.m,null,r),t.s<0&&r.compareTo(e.ZERO)>0&&this.m.subTo(r,r),r}function L(t){var e=i();return t.copyTo(e),this.reduce(e),e}function q(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e<this.m.t;++e){var i=32767&t[e],r=i*this.mpl+((i*this.mph+(t[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(i=e+this.m.t,t[i]+=this.m.am(0,r,t,e,0,this.m.t);t[i]>=t.DV;)t[i]-=t.DV,t[++i]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function C(t,e){t.squareTo(e),this.reduce(e)}function H(t,e,i){t.multiplyTo(e,i),this.reduce(i)}function j(){return 0==(this.t>0?1&this[0]:this.s)}function k(t,r){if(t>4294967295||1>t)return e.ONE;var s=i(),n=i(),o=r.convert(this),h=y(t)-1;for(o.copyTo(s);--h>=0;)if(r.sqrTo(s,n),(t&1<<h)>0)r.mulTo(n,o,s);else{var a=s;s=n,n=a}return r.revert(s)}function F(t,e){var i;return i=256>t||e.isEven()?new A(e):new P(e),this.exp(t,i)}
3   -// Copyright (c) 2005-2009 Tom Wu
4   -// All Rights Reserved.
5   -// See "LICENSE" for details.
6   -function _(){var t=i();return this.copyTo(t),t}function z(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function Z(){return 0==this.t?this.s:this[0]<<24>>24}function G(){return 0==this.t?this.s:this[0]<<16>>16}function $(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function Y(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1}function W(t){if(null==t&&(t=10),0==this.signum()||2>t||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),s=c(r),n=i(),o=i(),h="";for(this.divRemTo(s,n,o);n.signum()>0;)h=(r+o.intValue()).toString(t).substr(1)+h,n.divRemTo(s,n,o);return o.intValue().toString(t)+h}function Q(t,i){this.fromInt(0),null==i&&(i=10);for(var r=this.chunkSize(i),s=Math.pow(i,r),n=!1,o=0,a=0,u=0;u<t.length;++u){var c=h(t,u);0>c?"-"==t.charAt(u)&&0==this.signum()&&(n=!0):(a=i*a+c,++o>=r&&(this.dMultiply(s),this.dAddOffset(a,0),o=0,a=0))}o>0&&(this.dMultiply(Math.pow(i,o)),this.dAddOffset(a,0)),n&&e.ZERO.subTo(this,this)}function X(t,i,r){if("number"==typeof i)if(2>t)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(e.ONE.shiftLeft(t-1),ht,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(i);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(e.ONE.shiftLeft(t-1),this);else{var s=new Array,n=7&t;s.length=(t>>3)+1,i.nextBytes(s),n>0?s[0]&=(1<<n)-1:s[0]=0,this.fromString(s,256)}}function tt(){var t=this.t,e=new Array;e[0]=this.s;var i,r=this.DB-t*this.DB%8,s=0;if(t-- >0)for(r<this.DB&&(i=this[t]>>r)!=(this.s&this.DM)>>r&&(e[s++]=i|this.s<<this.DB-r);t>=0;)8>r?(i=(this[t]&(1<<r)-1)<<8-r,i|=this[--t]>>(r+=this.DB-8)):(i=this[t]>>(r-=8)&255,0>=r&&(r+=this.DB,--t)),0!=(128&i)&&(i|=-256),0==s&&(128&this.s)!=(128&i)&&++s,(s>0||i!=this.s)&&(e[s++]=i);return e}function et(t){return 0==this.compareTo(t)}function it(t){return this.compareTo(t)<0?this:t}function rt(t){return this.compareTo(t)>0?this:t}function st(t,e,i){var r,s,n=Math.min(t.t,this.t);for(r=0;n>r;++r)i[r]=e(this[r],t[r]);if(t.t<this.t){for(s=t.s&this.DM,r=n;r<this.t;++r)i[r]=e(this[r],s);i.t=this.t}else{for(s=this.s&this.DM,r=n;r<t.t;++r)i[r]=e(s,t[r]);i.t=t.t}i.s=e(this.s,t.s),i.clamp()}function nt(t,e){return t&e}function ot(t){var e=i();return this.bitwiseTo(t,nt,e),e}function ht(t,e){return t|e}function at(t){var e=i();return this.bitwiseTo(t,ht,e),e}function ut(t,e){return t^e}function ct(t){var e=i();return this.bitwiseTo(t,ut,e),e}function ft(t,e){return t&~e}function pt(t){var e=i();return this.bitwiseTo(t,ft,e),e}function lt(){for(var t=i(),e=0;e<this.t;++e)t[e]=this.DM&~this[e];return t.t=this.t,t.s=~this.s,t}function dt(t){var e=i();return 0>t?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function gt(t){var e=i();return 0>t?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function mt(t){if(0==t)return-1;var e=0;return 0==(65535&t)&&(t>>=16,e+=16),0==(255&t)&&(t>>=8,e+=8),0==(15&t)&&(t>>=4,e+=4),0==(3&t)&&(t>>=2,e+=2),0==(1&t)&&++e,e}function yt(){for(var t=0;t<this.t;++t)if(0!=this[t])return t*this.DB+mt(this[t]);return this.s<0?this.t*this.DB:-1}function vt(t){for(var e=0;0!=t;)t&=t-1,++e;return e}function bt(){for(var t=0,e=this.s&this.DM,i=0;i<this.t;++i)t+=vt(this[i]^e);return t}function Tt(t){var e=Math.floor(t/this.DB);return e>=this.t?0!=this.s:0!=(this[e]&1<<t%this.DB)}function St(t,i){var r=e.ONE.shiftLeft(t);return this.bitwiseTo(r,i,r),r}function Rt(t){return this.changeBit(t,ht)}function Et(t){return this.changeBit(t,ft)}function Dt(t){return this.changeBit(t,ut)}function wt(t,e){for(var i=0,r=0,s=Math.min(t.t,this.t);s>i;)r+=this[i]+t[i],e[i++]=r&this.DM,r>>=this.DB;if(t.t<this.t){for(r+=t.s;i<this.t;)r+=this[i],e[i++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;i<t.t;)r+=t[i],e[i++]=r&this.DM,r>>=this.DB;r+=t.s}e.s=0>r?-1:0,r>0?e[i++]=r:-1>r&&(e[i++]=this.DV+r),e.t=i,e.clamp()}function xt(t){var e=i();return this.addTo(t,e),e}function Bt(t){var e=i();return this.subTo(t,e),e}function Kt(t){var e=i();return this.multiplyTo(t,e),e}function At(){var t=i();return this.squareTo(t),t}function Ut(t){var e=i();return this.divRemTo(t,e,null),e}function Ot(t){var e=i();return this.divRemTo(t,null,e),e}function Vt(t){var e=i(),r=i();return this.divRemTo(t,e,r),new Array(e,r)}function Nt(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function Jt(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}}function It(){}function Pt(t){return t}function Mt(t,e,i){t.multiplyTo(e,i)}function Lt(t,e){t.squareTo(e)}function qt(t){return this.exp(t,new It)}function Ct(t,e,i){var r=Math.min(this.t+t.t,e);for(i.s=0,i.t=r;r>0;)i[--r]=0;var s;for(s=i.t-this.t;s>r;++r)i[r+this.t]=this.am(0,t[r],i,r,0,this.t);for(s=Math.min(t.t,e);s>r;++r)this.am(0,t[r],i,r,0,e-r);i.clamp()}function Ht(t,e,i){--e;var r=i.t=this.t+t.t-e;for(i.s=0;--r>=0;)i[r]=0;for(r=Math.max(e-this.t,0);r<t.t;++r)i[this.t+r-e]=this.am(e-r,t[r],i,0,0,this.t+r-e);i.clamp(),i.drShiftTo(1,i)}function jt(t){this.r2=i(),this.q3=i(),e.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function kt(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=i();return t.copyTo(e),this.reduce(e),e}function Ft(t){return t}function _t(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function zt(t,e){t.squareTo(e),this.reduce(e)}function Zt(t,e,i){t.multiplyTo(e,i),this.reduce(i)}function Gt(t,e){var r,s,n=t.bitLength(),o=c(1);if(0>=n)return o;r=18>n?1:48>n?3:144>n?4:768>n?5:6,s=8>n?new A(e):e.isEven()?new jt(e):new P(e);var h=new Array,a=3,u=r-1,f=(1<<r)-1;if(h[1]=s.convert(this),r>1){var p=i();for(s.sqrTo(h[1],p);f>=a;)h[a]=i(),s.mulTo(p,h[a-2],h[a]),a+=2}var l,d,g=t.t-1,m=!0,v=i();for(n=y(t[g])-1;g>=0;){for(n>=u?l=t[g]>>n-u&f:(l=(t[g]&(1<<n+1)-1)<<u-n,g>0&&(l|=t[g-1]>>this.DB+n-u)),a=r;0==(1&l);)l>>=1,--a;if((n-=a)<0&&(n+=this.DB,--g),m)h[l].copyTo(o),m=!1;else{for(;a>1;)s.sqrTo(o,v),s.sqrTo(v,o),a-=2;a>0?s.sqrTo(o,v):(d=o,o=v,v=d),s.mulTo(v,h[l],o)}for(;g>=0&&0==(t[g]&1<<n);)s.sqrTo(o,v),d=o,o=v,v=d,--n<0&&(n=this.DB-1,--g)}return s.revert(o)}function $t(t){var e=this.s<0?this.negate():this.clone(),i=t.s<0?t.negate():t.clone();if(e.compareTo(i)<0){var r=e;e=i,i=r}var s=e.getLowestSetBit(),n=i.getLowestSetBit();if(0>n)return e;for(n>s&&(n=s),n>0&&(e.rShiftTo(n,e),i.rShiftTo(n,i));e.signum()>0;)(s=e.getLowestSetBit())>0&&e.rShiftTo(s,e),(s=i.getLowestSetBit())>0&&i.rShiftTo(s,i),e.compareTo(i)>=0?(e.subTo(i,e),e.rShiftTo(1,e)):(i.subTo(e,i),i.rShiftTo(1,i));return n>0&&i.lShiftTo(n,i),i}function Yt(t){if(0>=t)return 0;var e=this.DV%t,i=this.s<0?t-1:0;if(this.t>0)if(0==e)i=this[0]%t;else for(var r=this.t-1;r>=0;--r)i=(e*i+this[r])%t;return i}function Wt(t){var i=t.isEven();if(this.isEven()&&i||0==t.signum())return e.ZERO;for(var r=t.clone(),s=this.clone(),n=c(1),o=c(0),h=c(0),a=c(1);0!=r.signum();){for(;r.isEven();)r.rShiftTo(1,r),i?(n.isEven()&&o.isEven()||(n.addTo(this,n),o.subTo(t,o)),n.rShiftTo(1,n)):o.isEven()||o.subTo(t,o),o.rShiftTo(1,o);for(;s.isEven();)s.rShiftTo(1,s),i?(h.isEven()&&a.isEven()||(h.addTo(this,h),a.subTo(t,a)),h.rShiftTo(1,h)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(s)>=0?(r.subTo(s,r),i&&n.subTo(h,n),o.subTo(a,o)):(s.subTo(r,s),i&&h.subTo(n,h),a.subTo(o,a))}return 0!=s.compareTo(e.ONE)?e.ZERO:a.compareTo(t)>=0?a.subtract(t):a.signum()<0?(a.addTo(t,a),a.signum()<0?a.add(t):a):a}function Qt(t){var e,i=this.abs();if(1==i.t&&i[0]<=Ae[Ae.length-1]){for(e=0;e<Ae.length;++e)if(i[0]==Ae[e])return!0;return!1}if(i.isEven())return!1;for(e=1;e<Ae.length;){for(var r=Ae[e],s=e+1;s<Ae.length&&Ue>r;)r*=Ae[s++];for(r=i.modInt(r);s>e;)if(r%Ae[e++]==0)return!1}return i.millerRabin(t)}function Xt(t){var r=this.subtract(e.ONE),s=r.getLowestSetBit();if(0>=s)return!1;var n=r.shiftRight(s);t=t+1>>1,t>Ae.length&&(t=Ae.length);for(var o=i(),h=0;t>h;++h){o.fromInt(Ae[Math.floor(Math.random()*Ae.length)]);var a=o.modPow(n,this);if(0!=a.compareTo(e.ONE)&&0!=a.compareTo(r)){for(var u=1;u++<s&&0!=a.compareTo(r);)if(a=a.modPowInt(2,this),0==a.compareTo(e.ONE))return!1;if(0!=a.compareTo(r))return!1}}return!0}function te(){this.i=0,this.j=0,this.S=new Array}function ee(t){var e,i,r;for(e=0;256>e;++e)this.S[e]=e;for(i=0,e=0;256>e;++e)i=i+this.S[e]+t[e%t.length]&255,r=this.S[e],this.S[e]=this.S[i],this.S[i]=r;this.i=0,this.j=0}function ie(){var t;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,t=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=t,this.S[t+this.S[this.i]&255]}function re(){return new te}function se(){if(null==Oe){for(Oe=re();Je>Ne;){var t=Math.floor(65536*Math.random());Ve[Ne++]=255&t}for(Oe.init(Ve),Ne=0;Ne<Ve.length;++Ne)Ve[Ne]=0;Ne=0}return Oe.next()}function ne(t){var e;for(e=0;e<t.length;++e)t[e]=se()}function oe(){}function he(t,i){return new e(t,i)}function ae(t,i){if(i<t.length+11)return console.error("Message too long for RSA"),null;for(var r=new Array,s=t.length-1;s>=0&&i>0;){var n=t.charCodeAt(s--);128>n?r[--i]=n:n>127&&2048>n?(r[--i]=63&n|128,r[--i]=n>>6|192):(r[--i]=63&n|128,r[--i]=n>>6&63|128,r[--i]=n>>12|224)}r[--i]=0;for(var o=new oe,h=new Array;i>2;){for(h[0]=0;0==h[0];)o.nextBytes(h);r[--i]=h[0]}return r[--i]=2,r[--i]=0,new e(r)}function ue(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}function ce(t,e){null!=t&&null!=e&&t.length>0&&e.length>0?(this.n=he(t,16),this.e=parseInt(e,16)):console.error("Invalid RSA public key")}function fe(t){return t.modPowInt(this.e,this.n)}function pe(t){var e=ae(t,this.n.bitLength()+7>>3);if(null==e)return null;var i=this.doPublic(e);if(null==i)return null;var r=i.toString(16);return 0==(1&r.length)?r:"0"+r}function le(t,e){for(var i=t.toByteArray(),r=0;r<i.length&&0==i[r];)++r;if(i.length-r!=e-1||2!=i[r])return null;for(++r;0!=i[r];)if(++r>=i.length)return null;for(var s="";++r<i.length;){var n=255&i[r];128>n?s+=String.fromCharCode(n):n>191&&224>n?(s+=String.fromCharCode((31&n)<<6|63&i[r+1]),++r):(s+=String.fromCharCode((15&n)<<12|(63&i[r+1])<<6|63&i[r+2]),r+=2)}return s}function de(t,e,i){null!=t&&null!=e&&t.length>0&&e.length>0?(this.n=he(t,16),this.e=parseInt(e,16),this.d=he(i,16)):console.error("Invalid RSA private key")}function ge(t,e,i,r,s,n,o,h){null!=t&&null!=e&&t.length>0&&e.length>0?(this.n=he(t,16),this.e=parseInt(e,16),this.d=he(i,16),this.p=he(r,16),this.q=he(s,16),this.dmp1=he(n,16),this.dmq1=he(o,16),this.coeff=he(h,16)):console.error("Invalid RSA private key")}function me(t,i){var r=new oe,s=t>>1;this.e=parseInt(i,16);for(var n=new e(i,16);;){for(;this.p=new e(t-s,1,r),0!=this.p.subtract(e.ONE).gcd(n).compareTo(e.ONE)||!this.p.isProbablePrime(10););for(;this.q=new e(s,1,r),0!=this.q.subtract(e.ONE).gcd(n).compareTo(e.ONE)||!this.q.isProbablePrime(10););if(this.p.compareTo(this.q)<=0){var o=this.p;this.p=this.q,this.q=o}var h=this.p.subtract(e.ONE),a=this.q.subtract(e.ONE),u=h.multiply(a);if(0==u.gcd(n).compareTo(e.ONE)){this.n=this.p.multiply(this.q),this.d=n.modInverse(u),this.dmp1=this.d.mod(h),this.dmq1=this.d.mod(a),this.coeff=this.q.modInverse(this.p);break}}}function ye(t){if(null==this.p||null==this.q)return t.modPow(this.d,this.n);for(var e=t.mod(this.p).modPow(this.dmp1,this.p),i=t.mod(this.q).modPow(this.dmq1,this.q);e.compareTo(i)<0;)e=e.add(this.p);return e.subtract(i).multiply(this.coeff).mod(this.p).multiply(this.q).add(i)}function ve(t){var e=he(t,16),i=this.doPrivate(e);return null==i?null:le(i,this.n.bitLength()+7>>3)}function be(t){var e,i,r="";for(e=0;e+3<=t.length;e+=3)i=parseInt(t.substring(e,e+3),16),r+=Le.charAt(i>>6)+Le.charAt(63&i);for(e+1==t.length?(i=parseInt(t.substring(e,e+1),16),r+=Le.charAt(i<<2)):e+2==t.length&&(i=parseInt(t.substring(e,e+2),16),r+=Le.charAt(i>>2)+Le.charAt((3&i)<<4));(3&r.length)>0;)r+=qe;return r}function Te(t){var e,i,r="",s=0;for(e=0;e<t.length&&t.charAt(e)!=qe;++e)v=Le.indexOf(t.charAt(e)),v<0||(0==s?(r+=o(v>>2),i=3&v,s=1):1==s?(r+=o(i<<2|v>>4),i=15&v,s=2):2==s?(r+=o(i),r+=o(v>>2),i=3&v,s=3):(r+=o(i<<2|v>>4),r+=o(15&v),s=0));return 1==s&&(r+=o(i<<2)),r}
7   -// Copyright (c) 2005 Tom Wu
8   -// All Rights Reserved.
9   -// See "LICENSE" for details.
10   -var Se,Re=0xdeadbeefcafe,Ee=15715070==(16777215&Re);Ee&&"Microsoft Internet Explorer"==navigator.appName?(e.prototype.am=s,Se=30):Ee&&"Netscape"!=navigator.appName?(e.prototype.am=r,Se=26):(e.prototype.am=n,Se=28),e.prototype.DB=Se,e.prototype.DM=(1<<Se)-1,e.prototype.DV=1<<Se;var De=52;e.prototype.FV=Math.pow(2,De),e.prototype.F1=De-Se,e.prototype.F2=2*Se-De;var we,xe,Be="0123456789abcdefghijklmnopqrstuvwxyz",Ke=new Array;for(we="0".charCodeAt(0),xe=0;9>=xe;++xe)Ke[we++]=xe;for(we="a".charCodeAt(0),xe=10;36>xe;++xe)Ke[we++]=xe;for(we="A".charCodeAt(0),xe=10;36>xe;++xe)Ke[we++]=xe;A.prototype.convert=U,A.prototype.revert=O,A.prototype.reduce=V,A.prototype.mulTo=N,A.prototype.sqrTo=J,P.prototype.convert=M,P.prototype.revert=L,P.prototype.reduce=q,P.prototype.mulTo=H,P.prototype.sqrTo=C,e.prototype.copyTo=a,e.prototype.fromInt=u,e.prototype.fromString=f,e.prototype.clamp=p,e.prototype.dlShiftTo=T,e.prototype.drShiftTo=S,e.prototype.lShiftTo=R,e.prototype.rShiftTo=E,e.prototype.subTo=D,e.prototype.multiplyTo=w,e.prototype.squareTo=x,e.prototype.divRemTo=B,e.prototype.invDigit=I,e.prototype.isEven=j,e.prototype.exp=k,e.prototype.toString=l,e.prototype.negate=d,e.prototype.abs=g,e.prototype.compareTo=m,e.prototype.bitLength=b,e.prototype.mod=K,e.prototype.modPowInt=F,e.ZERO=c(0),e.ONE=c(1),It.prototype.convert=Pt,It.prototype.revert=Pt,It.prototype.mulTo=Mt,It.prototype.sqrTo=Lt,jt.prototype.convert=kt,jt.prototype.revert=Ft,jt.prototype.reduce=_t,jt.prototype.mulTo=Zt,jt.prototype.sqrTo=zt;var Ae=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],Ue=(1<<26)/Ae[Ae.length-1];e.prototype.chunkSize=$,e.prototype.toRadix=W,e.prototype.fromRadix=Q,e.prototype.fromNumber=X,e.prototype.bitwiseTo=st,e.prototype.changeBit=St,e.prototype.addTo=wt,e.prototype.dMultiply=Nt,e.prototype.dAddOffset=Jt,e.prototype.multiplyLowerTo=Ct,e.prototype.multiplyUpperTo=Ht,e.prototype.modInt=Yt,e.prototype.millerRabin=Xt,e.prototype.clone=_,e.prototype.intValue=z,e.prototype.byteValue=Z,e.prototype.shortValue=G,e.prototype.signum=Y,e.prototype.toByteArray=tt,e.prototype.equals=et,e.prototype.min=it,e.prototype.max=rt,e.prototype.and=ot,e.prototype.or=at,e.prototype.xor=ct,e.prototype.andNot=pt,e.prototype.not=lt,e.prototype.shiftLeft=dt,e.prototype.shiftRight=gt,e.prototype.getLowestSetBit=yt,e.prototype.bitCount=bt,e.prototype.testBit=Tt,e.prototype.setBit=Rt,e.prototype.clearBit=Et,e.prototype.flipBit=Dt,e.prototype.add=xt,e.prototype.subtract=Bt,e.prototype.multiply=Kt,e.prototype.divide=Ut,e.prototype.remainder=Ot,e.prototype.divideAndRemainder=Vt,e.prototype.modPow=Gt,e.prototype.modInverse=Wt,e.prototype.pow=qt,e.prototype.gcd=$t,e.prototype.isProbablePrime=Qt,e.prototype.square=At,te.prototype.init=ee,te.prototype.next=ie;var Oe,Ve,Ne,Je=256;if(null==Ve){Ve=new Array,Ne=0;var Ie;if(window.crypto&&window.crypto.getRandomValues){var Pe=new Uint32Array(256);for(window.crypto.getRandomValues(Pe),Ie=0;Ie<Pe.length;++Ie)Ve[Ne++]=255&Pe[Ie]}var Me=function(t){if(this.count=this.count||0,this.count>=256||Ne>=Je)return void(window.removeEventListener?window.removeEventListener("mousemove",Me,!1):window.detachEvent&&window.detachEvent("onmousemove",Me));try{var e=t.x+t.y;Ve[Ne++]=255&e,this.count+=1}catch(i){}};window.addEventListener?window.addEventListener("mousemove",Me,!1):window.attachEvent&&window.attachEvent("onmousemove",Me)}oe.prototype.nextBytes=ne,ue.prototype.doPublic=fe,ue.prototype.setPublic=ce,ue.prototype.encrypt=pe,ue.prototype.doPrivate=ye,ue.prototype.setPrivate=de,ue.prototype.setPrivateEx=ge,ue.prototype.generate=me,ue.prototype.decrypt=ve,
11   -// Copyright (c) 2011 Kevin M Burns Jr.
12   -// All Rights Reserved.
13   -// See "LICENSE" for details.
14   -//
15   -// Extension to jsbn which adds facilities for asynchronous RSA key generation
16   -// Primarily created to avoid execution timeout on mobile devices
17   -//
18   -// http://www-cs-students.stanford.edu/~tjw/jsbn/
19   -//
20   -// ---
21   -function(){var t=function(t,r,s){var n=new oe,o=t>>1;this.e=parseInt(r,16);var h=new e(r,16),a=this,u=function(){var r=function(){if(a.p.compareTo(a.q)<=0){var t=a.p;a.p=a.q,a.q=t}var i=a.p.subtract(e.ONE),r=a.q.subtract(e.ONE),n=i.multiply(r);0==n.gcd(h).compareTo(e.ONE)?(a.n=a.p.multiply(a.q),a.d=h.modInverse(n),a.dmp1=a.d.mod(i),a.dmq1=a.d.mod(r),a.coeff=a.q.modInverse(a.p),setTimeout(function(){s()},0)):setTimeout(u,0)},c=function(){a.q=i(),a.q.fromNumberAsync(o,1,n,function(){a.q.subtract(e.ONE).gcda(h,function(t){0==t.compareTo(e.ONE)&&a.q.isProbablePrime(10)?setTimeout(r,0):setTimeout(c,0)})})},f=function(){a.p=i(),a.p.fromNumberAsync(t-o,1,n,function(){a.p.subtract(e.ONE).gcda(h,function(t){0==t.compareTo(e.ONE)&&a.p.isProbablePrime(10)?setTimeout(c,0):setTimeout(f,0)})})};setTimeout(f,0)};setTimeout(u,0)};ue.prototype.generateAsync=t;var r=function(t,e){var i=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(i.compareTo(r)<0){var s=i;i=r,r=s}var n=i.getLowestSetBit(),o=r.getLowestSetBit();if(0>o)return void e(i);o>n&&(o=n),o>0&&(i.rShiftTo(o,i),r.rShiftTo(o,r));var h=function(){(n=i.getLowestSetBit())>0&&i.rShiftTo(n,i),(n=r.getLowestSetBit())>0&&r.rShiftTo(n,r),i.compareTo(r)>=0?(i.subTo(r,i),i.rShiftTo(1,i)):(r.subTo(i,r),r.rShiftTo(1,r)),i.signum()>0?setTimeout(h,0):(o>0&&r.lShiftTo(o,r),setTimeout(function(){e(r)},0))};setTimeout(h,10)};e.prototype.gcda=r;var s=function(t,i,r,s){if("number"==typeof i)if(2>t)this.fromInt(1);else{this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(e.ONE.shiftLeft(t-1),ht,this),this.isEven()&&this.dAddOffset(1,0);var n=this,o=function(){n.dAddOffset(2,0),n.bitLength()>t&&n.subTo(e.ONE.shiftLeft(t-1),n),n.isProbablePrime(i)?setTimeout(function(){s()},0):setTimeout(o,0)};setTimeout(o,0)}else{var h=new Array,a=7&t;h.length=(t>>3)+1,i.nextBytes(h),a>0?h[0]&=(1<<a)-1:h[0]=0,this.fromString(h,256)}};e.prototype.fromNumberAsync=s}();var Le="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",qe="=",Ce=Ce||{};Ce.env=Ce.env||{};var He=Ce,je=Object.prototype,ke="[object Function]",Fe=["toString","valueOf"];Ce.env.parseUA=function(t){var e,i=function(t){var e=0;return parseFloat(t.replace(/\./g,function(){return 1==e++?"":"."}))},r=navigator,s={ie:0,opera:0,gecko:0,webkit:0,chrome:0,mobile:null,air:0,ipad:0,iphone:0,ipod:0,ios:null,android:0,webos:0,caja:r&&r.cajaVersion,secure:!1,os:null},n=t||navigator&&navigator.userAgent,o=window&&window.location,h=o&&o.href;return s.secure=h&&0===h.toLowerCase().indexOf("https"),n&&(/windows|win32/i.test(n)?s.os="windows":/macintosh/i.test(n)?s.os="macintosh":/rhino/i.test(n)&&(s.os="rhino"),/KHTML/.test(n)&&(s.webkit=1),e=n.match(/AppleWebKit\/([^\s]*)/),e&&e[1]&&(s.webkit=i(e[1]),/ Mobile\//.test(n)?(s.mobile="Apple",e=n.match(/OS ([^\s]*)/),e&&e[1]&&(e=i(e[1].replace("_","."))),s.ios=e,s.ipad=s.ipod=s.iphone=0,e=n.match(/iPad|iPod|iPhone/),e&&e[0]&&(s[e[0].toLowerCase()]=s.ios)):(e=n.match(/NokiaN[^\/]*|Android \d\.\d|webOS\/\d\.\d/),e&&(s.mobile=e[0]),/webOS/.test(n)&&(s.mobile="WebOS",e=n.match(/webOS\/([^\s]*);/),e&&e[1]&&(s.webos=i(e[1]))),/ Android/.test(n)&&(s.mobile="Android",e=n.match(/Android ([^\s]*);/),e&&e[1]&&(s.android=i(e[1])))),e=n.match(/Chrome\/([^\s]*)/),e&&e[1]?s.chrome=i(e[1]):(e=n.match(/AdobeAIR\/([^\s]*)/),e&&(s.air=e[0]))),s.webkit||(e=n.match(/Opera[\s\/]([^\s]*)/),e&&e[1]?(s.opera=i(e[1]),e=n.match(/Version\/([^\s]*)/),e&&e[1]&&(s.opera=i(e[1])),e=n.match(/Opera Mini[^;]*/),e&&(s.mobile=e[0])):(e=n.match(/MSIE\s([^;]*)/),e&&e[1]?s.ie=i(e[1]):(e=n.match(/Gecko\/([^\s]*)/),e&&(s.gecko=1,e=n.match(/rv:([^\s\)]*)/),e&&e[1]&&(s.gecko=i(e[1]))))))),s},Ce.env.ua=Ce.env.parseUA(),Ce.isFunction=function(t){return"function"==typeof t||je.toString.apply(t)===ke},Ce._IEEnumFix=Ce.env.ua.ie?function(t,e){var i,r,s;for(i=0;i<Fe.length;i+=1)r=Fe[i],s=e[r],He.isFunction(s)&&s!=je[r]&&(t[r]=s)}:function(){},Ce.extend=function(t,e,i){if(!e||!t)throw new Error("extend failed, please check that all dependencies are included.");var r,s=function(){};if(s.prototype=e.prototype,t.prototype=new s,t.prototype.constructor=t,t.superclass=e.prototype,e.prototype.constructor==je.constructor&&(e.prototype.constructor=e),i){for(r in i)He.hasOwnProperty(i,r)&&(t.prototype[r]=i[r]);He._IEEnumFix(t.prototype,i)}},/*
22   - * asn1.js - ASN.1 DER encoder classes
23   - *
24   - * Copyright (c) 2013 Kenji Urushima (kenji.urushima@gmail.com)
25   - *
26   - * This software is licensed under the terms of the MIT License.
27   - * http://kjur.github.com/jsrsasign/license
28   - *
29   - * The above copyright and license notice shall be
30   - * included in all copies or substantial portions of the Software.
31   - */
32   -/**
33   - * @fileOverview
34   - * @name asn1-1.0.js
35   - * @author Kenji Urushima kenji.urushima@gmail.com
36   - * @version 1.0.2 (2013-May-30)
37   - * @since 2.1
38   - * @license <a href="http://kjur.github.io/jsrsasign/license/">MIT License</a>
39   - */
40   -"undefined"!=typeof KJUR&&KJUR||(KJUR={}),"undefined"!=typeof KJUR.asn1&&KJUR.asn1||(KJUR.asn1={}),KJUR.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e="0"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var i=t.toString(16);if("-"!=i.substr(0,1))i.length%2==1?i="0"+i:i.match(/^[0-7]/)||(i="00"+i);else{var r=i.substr(1),s=r.length;s%2==1?s+=1:i.match(/^[0-7]/)||(s+=2);for(var n="",o=0;s>o;o++)n+="f";var h=new e(n,16),a=h.xor(t).add(e.ONE);i=a.toString(16).replace(/^-/,"")}return i},this.getPEMStringFromHex=function(t,e){var i=CryptoJS.enc.Hex.parse(t),r=CryptoJS.enc.Base64.stringify(i),s=r.replace(/(.{64})/g,"$1\r\n");return s=s.replace(/\r\n$/,""),"-----BEGIN "+e+"-----\r\n"+s+"\r\n-----END "+e+"-----\r\n"}},KJUR.asn1.ASN1Object=function(){var t="";this.getLengthHexFromValue=function(){if("undefined"==typeof this.hV||null==this.hV)throw"this.hV is null or undefined.";if(this.hV.length%2==1)throw"value hex must be even length: n="+t.length+",v="+this.hV;var e=this.hV.length/2,i=e.toString(16);if(i.length%2==1&&(i="0"+i),128>e)return i;var r=i.length/2;if(r>15)throw"ASN.1 length too long to represent by 8x: n = "+e.toString(16);var s=128+r;return s.toString(16)+i},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""}},KJUR.asn1.DERAbstractString=function(t){KJUR.asn1.DERAbstractString.superclass.constructor.call(this);this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=stohex(this.s)},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof t&&("undefined"!=typeof t.str?this.setString(t.str):"undefined"!=typeof t.hex&&this.setStringHex(t.hex))},Ce.extend(KJUR.asn1.DERAbstractString,KJUR.asn1.ASN1Object),KJUR.asn1.DERAbstractTime=function(t){KJUR.asn1.DERAbstractTime.superclass.constructor.call(this);this.localDateToUTC=function(t){utc=t.getTime()+6e4*t.getTimezoneOffset();var e=new Date(utc);return e},this.formatDate=function(t,e){var i=this.zeroPadding,r=this.localDateToUTC(t),s=String(r.getFullYear());"utc"==e&&(s=s.substr(2,2));var n=i(String(r.getMonth()+1),2),o=i(String(r.getDate()),2),h=i(String(r.getHours()),2),a=i(String(r.getMinutes()),2),u=i(String(r.getSeconds()),2);return s+n+o+h+a+u+"Z"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=stohex(this.s)},this.setByDateValue=function(t,e,i,r,s,n){var o=new Date(Date.UTC(t,e-1,i,r,s,n,0));this.setByDate(o)},this.getFreshValueHex=function(){return this.hV}},Ce.extend(KJUR.asn1.DERAbstractTime,KJUR.asn1.ASN1Object),KJUR.asn1.DERAbstractStructured=function(t){KJUR.asn1.DERAbstractString.superclass.constructor.call(this);this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,"undefined"!=typeof t&&"undefined"!=typeof t.array&&(this.asn1Array=t.array)},Ce.extend(KJUR.asn1.DERAbstractStructured,KJUR.asn1.ASN1Object),KJUR.asn1.DERBoolean=function(){KJUR.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV="0101ff"},Ce.extend(KJUR.asn1.DERBoolean,KJUR.asn1.ASN1Object),KJUR.asn1.DERInteger=function(t){KJUR.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var i=new e(String(t),10);this.setByBigInteger(i)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof t&&("undefined"!=typeof t.bigint?this.setByBigInteger(t.bigint):"undefined"!=typeof t["int"]?this.setByInteger(t["int"]):"undefined"!=typeof t.hex&&this.setValueHex(t.hex))},Ce.extend(KJUR.asn1.DERInteger,KJUR.asn1.ASN1Object),KJUR.asn1.DERBitString=function(t){KJUR.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(0>t||t>7)throw"unused bits shall be from 0 to 7: u = "+t;var i="0"+t;this.hTLV=null,this.isModified=!0,this.hV=i+e},this.setByBinaryString=function(t){t=t.replace(/0+$/,"");var e=8-t.length%8;8==e&&(e=0);for(var i=0;e>=i;i++)t+="0";for(var r="",i=0;i<t.length-1;i+=8){var s=t.substr(i,8),n=parseInt(s,2).toString(16);1==n.length&&(n="0"+n),r+=n}this.hTLV=null,this.isModified=!0,this.hV="0"+e+r},this.setByBooleanArray=function(t){for(var e="",i=0;i<t.length;i++)e+=1==t[i]?"1":"0";this.setByBinaryString(e)},this.newFalseArray=function(t){for(var e=new Array(t),i=0;t>i;i++)e[i]=!1;return e},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof t&&("undefined"!=typeof t.hex?this.setHexValueIncludingUnusedBits(t.hex):"undefined"!=typeof t.bin?this.setByBinaryString(t.bin):"undefined"!=typeof t.array&&this.setByBooleanArray(t.array))},Ce.extend(KJUR.asn1.DERBitString,KJUR.asn1.ASN1Object),KJUR.asn1.DEROctetString=function(t){KJUR.asn1.DEROctetString.superclass.constructor.call(this,t),this.hT="04"},Ce.extend(KJUR.asn1.DEROctetString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERNull=function(){KJUR.asn1.DERNull.superclass.constructor.call(this),this.hT="05",this.hTLV="0500"},Ce.extend(KJUR.asn1.DERNull,KJUR.asn1.ASN1Object),KJUR.asn1.DERObjectIdentifier=function(t){var i=function(t){var e=t.toString(16);return 1==e.length&&(e="0"+e),e},r=function(t){var r="",s=new e(t,10),n=s.toString(2),o=7-n.length%7;7==o&&(o=0);for(var h="",a=0;o>a;a++)h+="0";n=h+n;for(var a=0;a<n.length-1;a+=7){var u=n.substr(a,7);a!=n.length-7&&(u="1"+u),r+=i(parseInt(u,2))}return r};KJUR.asn1.DERObjectIdentifier.superclass.constructor.call(this),this.hT="06",this.setValueHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.setValueOidString=function(t){if(!t.match(/^[0-9.]+$/))throw"malformed oid string: "+t;var e="",s=t.split("."),n=40*parseInt(s[0])+parseInt(s[1]);e+=i(n),s.splice(0,2);for(var o=0;o<s.length;o++)e+=r(s[o]);this.hTLV=null,this.isModified=!0,this.s=null,this.hV=e},this.setValueName=function(t){if("undefined"==typeof KJUR.asn1.x509.OID.name2oidList[t])throw"DERObjectIdentifier oidName undefined: "+t;var e=KJUR.asn1.x509.OID.name2oidList[t];this.setValueOidString(e)},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof t&&("undefined"!=typeof t.oid?this.setValueOidString(t.oid):"undefined"!=typeof t.hex?this.setValueHex(t.hex):"undefined"!=typeof t.name&&this.setValueName(t.name))},Ce.extend(KJUR.asn1.DERObjectIdentifier,KJUR.asn1.ASN1Object),KJUR.asn1.DERUTF8String=function(t){KJUR.asn1.DERUTF8String.superclass.constructor.call(this,t),this.hT="0c"},Ce.extend(KJUR.asn1.DERUTF8String,KJUR.asn1.DERAbstractString),KJUR.asn1.DERNumericString=function(t){KJUR.asn1.DERNumericString.superclass.constructor.call(this,t),this.hT="12"},Ce.extend(KJUR.asn1.DERNumericString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERPrintableString=function(t){KJUR.asn1.DERPrintableString.superclass.constructor.call(this,t),this.hT="13"},Ce.extend(KJUR.asn1.DERPrintableString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERTeletexString=function(t){KJUR.asn1.DERTeletexString.superclass.constructor.call(this,t),this.hT="14"},Ce.extend(KJUR.asn1.DERTeletexString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERIA5String=function(t){KJUR.asn1.DERIA5String.superclass.constructor.call(this,t),this.hT="16"},Ce.extend(KJUR.asn1.DERIA5String,KJUR.asn1.DERAbstractString),KJUR.asn1.DERUTCTime=function(t){KJUR.asn1.DERUTCTime.superclass.constructor.call(this,t),this.hT="17",this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,"utc"),this.hV=stohex(this.s)},"undefined"!=typeof t&&("undefined"!=typeof t.str?this.setString(t.str):"undefined"!=typeof t.hex?this.setStringHex(t.hex):"undefined"!=typeof t.date&&this.setByDate(t.date))},Ce.extend(KJUR.asn1.DERUTCTime,KJUR.asn1.DERAbstractTime),KJUR.asn1.DERGeneralizedTime=function(t){KJUR.asn1.DERGeneralizedTime.superclass.constructor.call(this,t),this.hT="18",this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,"gen"),this.hV=stohex(this.s)},"undefined"!=typeof t&&("undefined"!=typeof t.str?this.setString(t.str):"undefined"!=typeof t.hex?this.setStringHex(t.hex):"undefined"!=typeof t.date&&this.setByDate(t.date))},Ce.extend(KJUR.asn1.DERGeneralizedTime,KJUR.asn1.DERAbstractTime),KJUR.asn1.DERSequence=function(t){KJUR.asn1.DERSequence.superclass.constructor.call(this,t),this.hT="30",this.getFreshValueHex=function(){for(var t="",e=0;e<this.asn1Array.length;e++){var i=this.asn1Array[e];t+=i.getEncodedHex()}return this.hV=t,this.hV}},Ce.extend(KJUR.asn1.DERSequence,KJUR.asn1.DERAbstractStructured),KJUR.asn1.DERSet=function(t){KJUR.asn1.DERSet.superclass.constructor.call(this,t),this.hT="31",this.getFreshValueHex=function(){for(var t=new Array,e=0;e<this.asn1Array.length;e++){var i=this.asn1Array[e];t.push(i.getEncodedHex())}return t.sort(),this.hV=t.join(""),this.hV}},Ce.extend(KJUR.asn1.DERSet,KJUR.asn1.DERAbstractStructured),KJUR.asn1.DERTaggedObject=function(t){KJUR.asn1.DERTaggedObject.superclass.constructor.call(this),this.hT="a0",this.hV="",this.isExplicit=!0,this.asn1Object=null,this.setASN1Object=function(t,e,i){this.hT=e,this.isExplicit=t,this.asn1Object=i,this.isExplicit?(this.hV=this.asn1Object.getEncodedHex(),this.hTLV=null,this.isModified=!0):(this.hV=null,this.hTLV=i.getEncodedHex(),this.hTLV=this.hTLV.replace(/^../,e),this.isModified=!1)},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof t&&("undefined"!=typeof t.tag&&(this.hT=t.tag),"undefined"!=typeof t.explicit&&(this.isExplicit=t.explicit),"undefined"!=typeof t.obj&&(this.asn1Object=t.obj,this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)))},Ce.extend(KJUR.asn1.DERTaggedObject,KJUR.asn1.ASN1Object),
41   -// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>
42   -// copyright notice and this permission notice appear in all copies.
43   -//
44   -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
45   -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
46   -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
47   -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
48   -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
49   -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
50   -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
51   -function(t){"use strict";var e,i={};i.decode=function(i){var r;if(e===t){var s="0123456789ABCDEF",n=" \f\n\r  \u2028\u2029";for(e=[],r=0;16>r;++r)e[s.charAt(r)]=r;for(s=s.toLowerCase(),r=10;16>r;++r)e[s.charAt(r)]=r;for(r=0;r<n.length;++r)e[n.charAt(r)]=-1}var o=[],h=0,a=0;for(r=0;r<i.length;++r){var u=i.charAt(r);if("="==u)break;if(u=e[u],-1!=u){if(u===t)throw"Illegal character at offset "+r;h|=u,++a>=2?(o[o.length]=h,h=0,a=0):h<<=4}}if(a)throw"Hex encoding incomplete: 4 bits missing";return o},window.Hex=i}(),
52   -// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>
53   -// copyright notice and this permission notice appear in all copies.
54   -//
55   -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
56   -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
57   -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
58   -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
59   -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
60   -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
61   -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
62   -function(t){"use strict";var e,i={};i.decode=function(i){var r;if(e===t){var s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n="= \f\n\r  \u2028\u2029";for(e=[],r=0;64>r;++r)e[s.charAt(r)]=r;for(r=0;r<n.length;++r)e[n.charAt(r)]=-1}var o=[],h=0,a=0;for(r=0;r<i.length;++r){var u=i.charAt(r);if("="==u)break;if(u=e[u],-1!=u){if(u===t)throw"Illegal character at offset "+r;h|=u,++a>=4?(o[o.length]=h>>16,o[o.length]=h>>8&255,o[o.length]=255&h,h=0,a=0):h<<=6}}switch(a){case 1:throw"Base64 encoding incomplete: at least 2 bits missing";case 2:o[o.length]=h>>10;break;case 3:o[o.length]=h>>16,o[o.length]=h>>8&255}return o},i.re=/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/,i.unarmor=function(t){var e=i.re.exec(t);if(e)if(e[1])t=e[1];else{if(!e[2])throw"RegExp out of sync";t=e[2]}return i.decode(t)},window.Base64=i}(),
63   -// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>
64   -// copyright notice and this permission notice appear in all copies.
65   -//
66   -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
67   -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
68   -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
69   -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
70   -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
71   -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
72   -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  1 +/*! JSEncrypt v2.3.1 | https://npmcdn.com/jsencrypt@2.3.1/LICENSE.txt */
  2 +!function(t,e){"function"==typeof define&&define.amd?define(["exports"],e):e("object"==typeof exports&&"string"!=typeof exports.nodeName?module.exports:t)}(this,function(t){function e(t,e,i){null!=t&&("number"==typeof t?this.fromNumber(t,e,i):null==e&&"string"!=typeof t?this.fromString(t,256):this.fromString(t,e))}function i(){return new e(null)}function r(t,e,i,r,s,n){for(;--n>=0;){var o=e*this[t++]+i[r]+s;s=Math.floor(o/67108864),i[r++]=67108863&o}return s}function s(t,e,i,r,s,n){for(var o=32767&e,h=e>>15;--n>=0;){var a=32767&this[t],u=this[t++]>>15,c=h*a+u*o;a=o*a+((32767&c)<<15)+i[r]+(1073741823&s),s=(a>>>30)+(c>>>15)+h*u+(s>>>30),i[r++]=1073741823&a}return s}function n(t,e,i,r,s,n){for(var o=16383&e,h=e>>14;--n>=0;){var a=16383&this[t],u=this[t++]>>14,c=h*a+u*o;a=o*a+((16383&c)<<14)+i[r]+s,s=(a>>28)+(c>>14)+h*u,i[r++]=268435455&a}return s}function o(t){return Be.charAt(t)}function h(t,e){var i=Ke[t.charCodeAt(e)];return null==i?-1:i}function a(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s}function u(t){this.t=1,this.s=0>t?-1:0,t>0?this[0]=t:-1>t?this[0]=t+this.DV:this.t=0}function c(t){var e=i();return e.fromInt(t),e}function f(t,i){var r;if(16==i)r=4;else if(8==i)r=3;else if(256==i)r=8;else if(2==i)r=1;else if(32==i)r=5;else{if(4!=i)return void this.fromRadix(t,i);r=2}this.t=0,this.s=0;for(var s=t.length,n=!1,o=0;--s>=0;){var a=8==r?255&t[s]:h(t,s);0>a?"-"==t.charAt(s)&&(n=!0):(n=!1,0==o?this[this.t++]=a:o+r>this.DB?(this[this.t-1]|=(a&(1<<this.DB-o)-1)<<o,this[this.t++]=a>>this.DB-o):this[this.t-1]|=a<<o,o+=r,o>=this.DB&&(o-=this.DB))}8==r&&0!=(128&t[0])&&(this.s=-1,o>0&&(this[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),n&&e.ZERO.subTo(this,this)}function p(){for(var t=this.s&this.DM;this.t>0&&this[this.t-1]==t;)--this.t}function l(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else{if(4!=t)return this.toRadix(t);e=2}var i,r=(1<<e)-1,s=!1,n="",h=this.t,a=this.DB-h*this.DB%e;if(h-- >0)for(a<this.DB&&(i=this[h]>>a)>0&&(s=!0,n=o(i));h>=0;)e>a?(i=(this[h]&(1<<a)-1)<<e-a,i|=this[--h]>>(a+=this.DB-e)):(i=this[h]>>(a-=e)&r,0>=a&&(a+=this.DB,--h)),i>0&&(s=!0),s&&(n+=o(i));return s?n:"0"}function d(){var t=i();return e.ZERO.subTo(this,t),t}function g(){return this.s<0?this.negate():this}function m(t){var e=this.s-t.s;if(0!=e)return e;var i=this.t;if(e=i-t.t,0!=e)return this.s<0?-e:e;for(;--i>=0;)if(0!=(e=this[i]-t[i]))return e;return 0}function y(t){var e,i=1;return 0!=(e=t>>>16)&&(t=e,i+=16),0!=(e=t>>8)&&(t=e,i+=8),0!=(e=t>>4)&&(t=e,i+=4),0!=(e=t>>2)&&(t=e,i+=2),0!=(e=t>>1)&&(t=e,i+=1),i}function b(){return this.t<=0?0:this.DB*(this.t-1)+y(this[this.t-1]^this.s&this.DM)}function T(t,e){var i;for(i=this.t-1;i>=0;--i)e[i+t]=this[i];for(i=t-1;i>=0;--i)e[i]=0;e.t=this.t+t,e.s=this.s}function S(t,e){for(var i=t;i<this.t;++i)e[i-t]=this[i];e.t=Math.max(this.t-t,0),e.s=this.s}function R(t,e){var i,r=t%this.DB,s=this.DB-r,n=(1<<s)-1,o=Math.floor(t/this.DB),h=this.s<<r&this.DM;for(i=this.t-1;i>=0;--i)e[i+o+1]=this[i]>>s|h,h=(this[i]&n)<<r;for(i=o-1;i>=0;--i)e[i]=0;e[o]=h,e.t=this.t+o+1,e.s=this.s,e.clamp()}function E(t,e){e.s=this.s;var i=Math.floor(t/this.DB);if(i>=this.t)return void(e.t=0);var r=t%this.DB,s=this.DB-r,n=(1<<r)-1;e[0]=this[i]>>r;for(var o=i+1;o<this.t;++o)e[o-i-1]|=(this[o]&n)<<s,e[o-i]=this[o]>>r;r>0&&(e[this.t-i-1]|=(this.s&n)<<s),e.t=this.t-i,e.clamp()}function D(t,e){for(var i=0,r=0,s=Math.min(t.t,this.t);s>i;)r+=this[i]-t[i],e[i++]=r&this.DM,r>>=this.DB;if(t.t<this.t){for(r-=t.s;i<this.t;)r+=this[i],e[i++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;i<t.t;)r-=t[i],e[i++]=r&this.DM,r>>=this.DB;r-=t.s}e.s=0>r?-1:0,-1>r?e[i++]=this.DV+r:r>0&&(e[i++]=r),e.t=i,e.clamp()}function w(t,i){var r=this.abs(),s=t.abs(),n=r.t;for(i.t=n+s.t;--n>=0;)i[n]=0;for(n=0;n<s.t;++n)i[n+r.t]=r.am(0,s[n],i,n,0,r.t);i.s=0,i.clamp(),this.s!=t.s&&e.ZERO.subTo(i,i)}function x(t){for(var e=this.abs(),i=t.t=2*e.t;--i>=0;)t[i]=0;for(i=0;i<e.t-1;++i){var r=e.am(i,e[i],t,2*i,0,1);(t[i+e.t]+=e.am(i+1,2*e[i],t,2*i+1,r,e.t-i-1))>=e.DV&&(t[i+e.t]-=e.DV,t[i+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(i,e[i],t,2*i,0,1)),t.s=0,t.clamp()}function B(t,r,s){var n=t.abs();if(!(n.t<=0)){var o=this.abs();if(o.t<n.t)return null!=r&&r.fromInt(0),void(null!=s&&this.copyTo(s));null==s&&(s=i());var h=i(),a=this.s,u=t.s,c=this.DB-y(n[n.t-1]);c>0?(n.lShiftTo(c,h),o.lShiftTo(c,s)):(n.copyTo(h),o.copyTo(s));var f=h.t,p=h[f-1];if(0!=p){var l=p*(1<<this.F1)+(f>1?h[f-2]>>this.F2:0),d=this.FV/l,g=(1<<this.F1)/l,m=1<<this.F2,v=s.t,b=v-f,T=null==r?i():r;for(h.dlShiftTo(b,T),s.compareTo(T)>=0&&(s[s.t++]=1,s.subTo(T,s)),e.ONE.dlShiftTo(f,T),T.subTo(h,h);h.t<f;)h[h.t++]=0;for(;--b>=0;){var S=s[--v]==p?this.DM:Math.floor(s[v]*d+(s[v-1]+m)*g);if((s[v]+=h.am(0,S,s,b,0,f))<S)for(h.dlShiftTo(b,T),s.subTo(T,s);s[v]<--S;)s.subTo(T,s)}null!=r&&(s.drShiftTo(f,r),a!=u&&e.ZERO.subTo(r,r)),s.t=f,s.clamp(),c>0&&s.rShiftTo(c,s),0>a&&e.ZERO.subTo(s,s)}}}function K(t){var r=i();return this.abs().divRemTo(t,null,r),this.s<0&&r.compareTo(e.ZERO)>0&&t.subTo(r,r),r}function A(t){this.m=t}function U(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function O(t){return t}function V(t){t.divRemTo(this.m,null,t)}function N(t,e,i){t.multiplyTo(e,i),this.reduce(i)}function J(t,e){t.squareTo(e),this.reduce(e)}function I(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;return e=e*(2-(15&t)*e)&15,e=e*(2-(255&t)*e)&255,e=e*(2-((65535&t)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function P(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function M(t){var r=i();return t.abs().dlShiftTo(this.m.t,r),r.divRemTo(this.m,null,r),t.s<0&&r.compareTo(e.ZERO)>0&&this.m.subTo(r,r),r}function L(t){var e=i();return t.copyTo(e),this.reduce(e),e}function q(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e<this.m.t;++e){var i=32767&t[e],r=i*this.mpl+((i*this.mph+(t[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(i=e+this.m.t,t[i]+=this.m.am(0,r,t,e,0,this.m.t);t[i]>=t.DV;)t[i]-=t.DV,t[++i]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function C(t,e){t.squareTo(e),this.reduce(e)}function H(t,e,i){t.multiplyTo(e,i),this.reduce(i)}function j(){return 0==(this.t>0?1&this[0]:this.s)}function k(t,r){if(t>4294967295||1>t)return e.ONE;var s=i(),n=i(),o=r.convert(this),h=y(t)-1;for(o.copyTo(s);--h>=0;)if(r.sqrTo(s,n),(t&1<<h)>0)r.mulTo(n,o,s);else{var a=s;s=n,n=a}return r.revert(s)}function F(t,e){var i;return i=256>t||e.isEven()?new A(e):new P(e),this.exp(t,i)}
  3 +// Copyright (c) 2005-2009 Tom Wu
  4 +// All Rights Reserved.
  5 +// See "LICENSE" for details.
  6 +function _(){var t=i();return this.copyTo(t),t}function z(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function Z(){return 0==this.t?this.s:this[0]<<24>>24}function G(){return 0==this.t?this.s:this[0]<<16>>16}function $(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function Y(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1}function W(t){if(null==t&&(t=10),0==this.signum()||2>t||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),s=c(r),n=i(),o=i(),h="";for(this.divRemTo(s,n,o);n.signum()>0;)h=(r+o.intValue()).toString(t).substr(1)+h,n.divRemTo(s,n,o);return o.intValue().toString(t)+h}function Q(t,i){this.fromInt(0),null==i&&(i=10);for(var r=this.chunkSize(i),s=Math.pow(i,r),n=!1,o=0,a=0,u=0;u<t.length;++u){var c=h(t,u);0>c?"-"==t.charAt(u)&&0==this.signum()&&(n=!0):(a=i*a+c,++o>=r&&(this.dMultiply(s),this.dAddOffset(a,0),o=0,a=0))}o>0&&(this.dMultiply(Math.pow(i,o)),this.dAddOffset(a,0)),n&&e.ZERO.subTo(this,this)}function X(t,i,r){if("number"==typeof i)if(2>t)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(e.ONE.shiftLeft(t-1),ht,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(i);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(e.ONE.shiftLeft(t-1),this);else{var s=new Array,n=7&t;s.length=(t>>3)+1,i.nextBytes(s),n>0?s[0]&=(1<<n)-1:s[0]=0,this.fromString(s,256)}}function tt(){var t=this.t,e=new Array;e[0]=this.s;var i,r=this.DB-t*this.DB%8,s=0;if(t-- >0)for(r<this.DB&&(i=this[t]>>r)!=(this.s&this.DM)>>r&&(e[s++]=i|this.s<<this.DB-r);t>=0;)8>r?(i=(this[t]&(1<<r)-1)<<8-r,i|=this[--t]>>(r+=this.DB-8)):(i=this[t]>>(r-=8)&255,0>=r&&(r+=this.DB,--t)),0!=(128&i)&&(i|=-256),0==s&&(128&this.s)!=(128&i)&&++s,(s>0||i!=this.s)&&(e[s++]=i);return e}function et(t){return 0==this.compareTo(t)}function it(t){return this.compareTo(t)<0?this:t}function rt(t){return this.compareTo(t)>0?this:t}function st(t,e,i){var r,s,n=Math.min(t.t,this.t);for(r=0;n>r;++r)i[r]=e(this[r],t[r]);if(t.t<this.t){for(s=t.s&this.DM,r=n;r<this.t;++r)i[r]=e(this[r],s);i.t=this.t}else{for(s=this.s&this.DM,r=n;r<t.t;++r)i[r]=e(s,t[r]);i.t=t.t}i.s=e(this.s,t.s),i.clamp()}function nt(t,e){return t&e}function ot(t){var e=i();return this.bitwiseTo(t,nt,e),e}function ht(t,e){return t|e}function at(t){var e=i();return this.bitwiseTo(t,ht,e),e}function ut(t,e){return t^e}function ct(t){var e=i();return this.bitwiseTo(t,ut,e),e}function ft(t,e){return t&~e}function pt(t){var e=i();return this.bitwiseTo(t,ft,e),e}function lt(){for(var t=i(),e=0;e<this.t;++e)t[e]=this.DM&~this[e];return t.t=this.t,t.s=~this.s,t}function dt(t){var e=i();return 0>t?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function gt(t){var e=i();return 0>t?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function mt(t){if(0==t)return-1;var e=0;return 0==(65535&t)&&(t>>=16,e+=16),0==(255&t)&&(t>>=8,e+=8),0==(15&t)&&(t>>=4,e+=4),0==(3&t)&&(t>>=2,e+=2),0==(1&t)&&++e,e}function yt(){for(var t=0;t<this.t;++t)if(0!=this[t])return t*this.DB+mt(this[t]);return this.s<0?this.t*this.DB:-1}function vt(t){for(var e=0;0!=t;)t&=t-1,++e;return e}function bt(){for(var t=0,e=this.s&this.DM,i=0;i<this.t;++i)t+=vt(this[i]^e);return t}function Tt(t){var e=Math.floor(t/this.DB);return e>=this.t?0!=this.s:0!=(this[e]&1<<t%this.DB)}function St(t,i){var r=e.ONE.shiftLeft(t);return this.bitwiseTo(r,i,r),r}function Rt(t){return this.changeBit(t,ht)}function Et(t){return this.changeBit(t,ft)}function Dt(t){return this.changeBit(t,ut)}function wt(t,e){for(var i=0,r=0,s=Math.min(t.t,this.t);s>i;)r+=this[i]+t[i],e[i++]=r&this.DM,r>>=this.DB;if(t.t<this.t){for(r+=t.s;i<this.t;)r+=this[i],e[i++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;i<t.t;)r+=t[i],e[i++]=r&this.DM,r>>=this.DB;r+=t.s}e.s=0>r?-1:0,r>0?e[i++]=r:-1>r&&(e[i++]=this.DV+r),e.t=i,e.clamp()}function xt(t){var e=i();return this.addTo(t,e),e}function Bt(t){var e=i();return this.subTo(t,e),e}function Kt(t){var e=i();return this.multiplyTo(t,e),e}function At(){var t=i();return this.squareTo(t),t}function Ut(t){var e=i();return this.divRemTo(t,e,null),e}function Ot(t){var e=i();return this.divRemTo(t,null,e),e}function Vt(t){var e=i(),r=i();return this.divRemTo(t,e,r),new Array(e,r)}function Nt(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function Jt(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}}function It(){}function Pt(t){return t}function Mt(t,e,i){t.multiplyTo(e,i)}function Lt(t,e){t.squareTo(e)}function qt(t){return this.exp(t,new It)}function Ct(t,e,i){var r=Math.min(this.t+t.t,e);for(i.s=0,i.t=r;r>0;)i[--r]=0;var s;for(s=i.t-this.t;s>r;++r)i[r+this.t]=this.am(0,t[r],i,r,0,this.t);for(s=Math.min(t.t,e);s>r;++r)this.am(0,t[r],i,r,0,e-r);i.clamp()}function Ht(t,e,i){--e;var r=i.t=this.t+t.t-e;for(i.s=0;--r>=0;)i[r]=0;for(r=Math.max(e-this.t,0);r<t.t;++r)i[this.t+r-e]=this.am(e-r,t[r],i,0,0,this.t+r-e);i.clamp(),i.drShiftTo(1,i)}function jt(t){this.r2=i(),this.q3=i(),e.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function kt(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=i();return t.copyTo(e),this.reduce(e),e}function Ft(t){return t}function _t(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function zt(t,e){t.squareTo(e),this.reduce(e)}function Zt(t,e,i){t.multiplyTo(e,i),this.reduce(i)}function Gt(t,e){var r,s,n=t.bitLength(),o=c(1);if(0>=n)return o;r=18>n?1:48>n?3:144>n?4:768>n?5:6,s=8>n?new A(e):e.isEven()?new jt(e):new P(e);var h=new Array,a=3,u=r-1,f=(1<<r)-1;if(h[1]=s.convert(this),r>1){var p=i();for(s.sqrTo(h[1],p);f>=a;)h[a]=i(),s.mulTo(p,h[a-2],h[a]),a+=2}var l,d,g=t.t-1,m=!0,v=i();for(n=y(t[g])-1;g>=0;){for(n>=u?l=t[g]>>n-u&f:(l=(t[g]&(1<<n+1)-1)<<u-n,g>0&&(l|=t[g-1]>>this.DB+n-u)),a=r;0==(1&l);)l>>=1,--a;if((n-=a)<0&&(n+=this.DB,--g),m)h[l].copyTo(o),m=!1;else{for(;a>1;)s.sqrTo(o,v),s.sqrTo(v,o),a-=2;a>0?s.sqrTo(o,v):(d=o,o=v,v=d),s.mulTo(v,h[l],o)}for(;g>=0&&0==(t[g]&1<<n);)s.sqrTo(o,v),d=o,o=v,v=d,--n<0&&(n=this.DB-1,--g)}return s.revert(o)}function $t(t){var e=this.s<0?this.negate():this.clone(),i=t.s<0?t.negate():t.clone();if(e.compareTo(i)<0){var r=e;e=i,i=r}var s=e.getLowestSetBit(),n=i.getLowestSetBit();if(0>n)return e;for(n>s&&(n=s),n>0&&(e.rShiftTo(n,e),i.rShiftTo(n,i));e.signum()>0;)(s=e.getLowestSetBit())>0&&e.rShiftTo(s,e),(s=i.getLowestSetBit())>0&&i.rShiftTo(s,i),e.compareTo(i)>=0?(e.subTo(i,e),e.rShiftTo(1,e)):(i.subTo(e,i),i.rShiftTo(1,i));return n>0&&i.lShiftTo(n,i),i}function Yt(t){if(0>=t)return 0;var e=this.DV%t,i=this.s<0?t-1:0;if(this.t>0)if(0==e)i=this[0]%t;else for(var r=this.t-1;r>=0;--r)i=(e*i+this[r])%t;return i}function Wt(t){var i=t.isEven();if(this.isEven()&&i||0==t.signum())return e.ZERO;for(var r=t.clone(),s=this.clone(),n=c(1),o=c(0),h=c(0),a=c(1);0!=r.signum();){for(;r.isEven();)r.rShiftTo(1,r),i?(n.isEven()&&o.isEven()||(n.addTo(this,n),o.subTo(t,o)),n.rShiftTo(1,n)):o.isEven()||o.subTo(t,o),o.rShiftTo(1,o);for(;s.isEven();)s.rShiftTo(1,s),i?(h.isEven()&&a.isEven()||(h.addTo(this,h),a.subTo(t,a)),h.rShiftTo(1,h)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(s)>=0?(r.subTo(s,r),i&&n.subTo(h,n),o.subTo(a,o)):(s.subTo(r,s),i&&h.subTo(n,h),a.subTo(o,a))}return 0!=s.compareTo(e.ONE)?e.ZERO:a.compareTo(t)>=0?a.subtract(t):a.signum()<0?(a.addTo(t,a),a.signum()<0?a.add(t):a):a}function Qt(t){var e,i=this.abs();if(1==i.t&&i[0]<=Ae[Ae.length-1]){for(e=0;e<Ae.length;++e)if(i[0]==Ae[e])return!0;return!1}if(i.isEven())return!1;for(e=1;e<Ae.length;){for(var r=Ae[e],s=e+1;s<Ae.length&&Ue>r;)r*=Ae[s++];for(r=i.modInt(r);s>e;)if(r%Ae[e++]==0)return!1}return i.millerRabin(t)}function Xt(t){var r=this.subtract(e.ONE),s=r.getLowestSetBit();if(0>=s)return!1;var n=r.shiftRight(s);t=t+1>>1,t>Ae.length&&(t=Ae.length);for(var o=i(),h=0;t>h;++h){o.fromInt(Ae[Math.floor(Math.random()*Ae.length)]);var a=o.modPow(n,this);if(0!=a.compareTo(e.ONE)&&0!=a.compareTo(r)){for(var u=1;u++<s&&0!=a.compareTo(r);)if(a=a.modPowInt(2,this),0==a.compareTo(e.ONE))return!1;if(0!=a.compareTo(r))return!1}}return!0}function te(){this.i=0,this.j=0,this.S=new Array}function ee(t){var e,i,r;for(e=0;256>e;++e)this.S[e]=e;for(i=0,e=0;256>e;++e)i=i+this.S[e]+t[e%t.length]&255,r=this.S[e],this.S[e]=this.S[i],this.S[i]=r;this.i=0,this.j=0}function ie(){var t;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,t=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=t,this.S[t+this.S[this.i]&255]}function re(){return new te}function se(){if(null==Oe){for(Oe=re();Je>Ne;){var t=Math.floor(65536*Math.random());Ve[Ne++]=255&t}for(Oe.init(Ve),Ne=0;Ne<Ve.length;++Ne)Ve[Ne]=0;Ne=0}return Oe.next()}function ne(t){var e;for(e=0;e<t.length;++e)t[e]=se()}function oe(){}function he(t,i){return new e(t,i)}function ae(t,i){if(i<t.length+11)return console.error("Message too long for RSA"),null;for(var r=new Array,s=t.length-1;s>=0&&i>0;){var n=t.charCodeAt(s--);128>n?r[--i]=n:n>127&&2048>n?(r[--i]=63&n|128,r[--i]=n>>6|192):(r[--i]=63&n|128,r[--i]=n>>6&63|128,r[--i]=n>>12|224)}r[--i]=0;for(var o=new oe,h=new Array;i>2;){for(h[0]=0;0==h[0];)o.nextBytes(h);r[--i]=h[0]}return r[--i]=2,r[--i]=0,new e(r)}function ue(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}function ce(t,e){null!=t&&null!=e&&t.length>0&&e.length>0?(this.n=he(t,16),this.e=parseInt(e,16)):console.error("Invalid RSA public key")}function fe(t){return t.modPowInt(this.e,this.n)}function pe(t){var e=ae(t,this.n.bitLength()+7>>3);if(null==e)return null;var i=this.doPublic(e);if(null==i)return null;var r=i.toString(16);return 0==(1&r.length)?r:"0"+r}function le(t,e){for(var i=t.toByteArray(),r=0;r<i.length&&0==i[r];)++r;if(i.length-r!=e-1||2!=i[r])return null;for(++r;0!=i[r];)if(++r>=i.length)return null;for(var s="";++r<i.length;){var n=255&i[r];128>n?s+=String.fromCharCode(n):n>191&&224>n?(s+=String.fromCharCode((31&n)<<6|63&i[r+1]),++r):(s+=String.fromCharCode((15&n)<<12|(63&i[r+1])<<6|63&i[r+2]),r+=2)}return s}function de(t,e,i){null!=t&&null!=e&&t.length>0&&e.length>0?(this.n=he(t,16),this.e=parseInt(e,16),this.d=he(i,16)):console.error("Invalid RSA private key")}function ge(t,e,i,r,s,n,o,h){null!=t&&null!=e&&t.length>0&&e.length>0?(this.n=he(t,16),this.e=parseInt(e,16),this.d=he(i,16),this.p=he(r,16),this.q=he(s,16),this.dmp1=he(n,16),this.dmq1=he(o,16),this.coeff=he(h,16)):console.error("Invalid RSA private key")}function me(t,i){var r=new oe,s=t>>1;this.e=parseInt(i,16);for(var n=new e(i,16);;){for(;this.p=new e(t-s,1,r),0!=this.p.subtract(e.ONE).gcd(n).compareTo(e.ONE)||!this.p.isProbablePrime(10););for(;this.q=new e(s,1,r),0!=this.q.subtract(e.ONE).gcd(n).compareTo(e.ONE)||!this.q.isProbablePrime(10););if(this.p.compareTo(this.q)<=0){var o=this.p;this.p=this.q,this.q=o}var h=this.p.subtract(e.ONE),a=this.q.subtract(e.ONE),u=h.multiply(a);if(0==u.gcd(n).compareTo(e.ONE)){this.n=this.p.multiply(this.q),this.d=n.modInverse(u),this.dmp1=this.d.mod(h),this.dmq1=this.d.mod(a),this.coeff=this.q.modInverse(this.p);break}}}function ye(t){if(null==this.p||null==this.q)return t.modPow(this.d,this.n);for(var e=t.mod(this.p).modPow(this.dmp1,this.p),i=t.mod(this.q).modPow(this.dmq1,this.q);e.compareTo(i)<0;)e=e.add(this.p);return e.subtract(i).multiply(this.coeff).mod(this.p).multiply(this.q).add(i)}function ve(t){var e=he(t,16),i=this.doPrivate(e);return null==i?null:le(i,this.n.bitLength()+7>>3)}function be(t){var e,i,r="";for(e=0;e+3<=t.length;e+=3)i=parseInt(t.substring(e,e+3),16),r+=Le.charAt(i>>6)+Le.charAt(63&i);for(e+1==t.length?(i=parseInt(t.substring(e,e+1),16),r+=Le.charAt(i<<2)):e+2==t.length&&(i=parseInt(t.substring(e,e+2),16),r+=Le.charAt(i>>2)+Le.charAt((3&i)<<4));(3&r.length)>0;)r+=qe;return r}function Te(t){var e,i,r="",s=0;for(e=0;e<t.length&&t.charAt(e)!=qe;++e)v=Le.indexOf(t.charAt(e)),v<0||(0==s?(r+=o(v>>2),i=3&v,s=1):1==s?(r+=o(i<<2|v>>4),i=15&v,s=2):2==s?(r+=o(i),r+=o(v>>2),i=3&v,s=3):(r+=o(i<<2|v>>4),r+=o(15&v),s=0));return 1==s&&(r+=o(i<<2)),r}
  7 +// Copyright (c) 2005 Tom Wu
  8 +// All Rights Reserved.
  9 +// See "LICENSE" for details.
  10 +var Se,Re=0xdeadbeefcafe,Ee=15715070==(16777215&Re);Ee&&"Microsoft Internet Explorer"==navigator.appName?(e.prototype.am=s,Se=30):Ee&&"Netscape"!=navigator.appName?(e.prototype.am=r,Se=26):(e.prototype.am=n,Se=28),e.prototype.DB=Se,e.prototype.DM=(1<<Se)-1,e.prototype.DV=1<<Se;var De=52;e.prototype.FV=Math.pow(2,De),e.prototype.F1=De-Se,e.prototype.F2=2*Se-De;var we,xe,Be="0123456789abcdefghijklmnopqrstuvwxyz",Ke=new Array;for(we="0".charCodeAt(0),xe=0;9>=xe;++xe)Ke[we++]=xe;for(we="a".charCodeAt(0),xe=10;36>xe;++xe)Ke[we++]=xe;for(we="A".charCodeAt(0),xe=10;36>xe;++xe)Ke[we++]=xe;A.prototype.convert=U,A.prototype.revert=O,A.prototype.reduce=V,A.prototype.mulTo=N,A.prototype.sqrTo=J,P.prototype.convert=M,P.prototype.revert=L,P.prototype.reduce=q,P.prototype.mulTo=H,P.prototype.sqrTo=C,e.prototype.copyTo=a,e.prototype.fromInt=u,e.prototype.fromString=f,e.prototype.clamp=p,e.prototype.dlShiftTo=T,e.prototype.drShiftTo=S,e.prototype.lShiftTo=R,e.prototype.rShiftTo=E,e.prototype.subTo=D,e.prototype.multiplyTo=w,e.prototype.squareTo=x,e.prototype.divRemTo=B,e.prototype.invDigit=I,e.prototype.isEven=j,e.prototype.exp=k,e.prototype.toString=l,e.prototype.negate=d,e.prototype.abs=g,e.prototype.compareTo=m,e.prototype.bitLength=b,e.prototype.mod=K,e.prototype.modPowInt=F,e.ZERO=c(0),e.ONE=c(1),It.prototype.convert=Pt,It.prototype.revert=Pt,It.prototype.mulTo=Mt,It.prototype.sqrTo=Lt,jt.prototype.convert=kt,jt.prototype.revert=Ft,jt.prototype.reduce=_t,jt.prototype.mulTo=Zt,jt.prototype.sqrTo=zt;var Ae=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],Ue=(1<<26)/Ae[Ae.length-1];e.prototype.chunkSize=$,e.prototype.toRadix=W,e.prototype.fromRadix=Q,e.prototype.fromNumber=X,e.prototype.bitwiseTo=st,e.prototype.changeBit=St,e.prototype.addTo=wt,e.prototype.dMultiply=Nt,e.prototype.dAddOffset=Jt,e.prototype.multiplyLowerTo=Ct,e.prototype.multiplyUpperTo=Ht,e.prototype.modInt=Yt,e.prototype.millerRabin=Xt,e.prototype.clone=_,e.prototype.intValue=z,e.prototype.byteValue=Z,e.prototype.shortValue=G,e.prototype.signum=Y,e.prototype.toByteArray=tt,e.prototype.equals=et,e.prototype.min=it,e.prototype.max=rt,e.prototype.and=ot,e.prototype.or=at,e.prototype.xor=ct,e.prototype.andNot=pt,e.prototype.not=lt,e.prototype.shiftLeft=dt,e.prototype.shiftRight=gt,e.prototype.getLowestSetBit=yt,e.prototype.bitCount=bt,e.prototype.testBit=Tt,e.prototype.setBit=Rt,e.prototype.clearBit=Et,e.prototype.flipBit=Dt,e.prototype.add=xt,e.prototype.subtract=Bt,e.prototype.multiply=Kt,e.prototype.divide=Ut,e.prototype.remainder=Ot,e.prototype.divideAndRemainder=Vt,e.prototype.modPow=Gt,e.prototype.modInverse=Wt,e.prototype.pow=qt,e.prototype.gcd=$t,e.prototype.isProbablePrime=Qt,e.prototype.square=At,te.prototype.init=ee,te.prototype.next=ie;var Oe,Ve,Ne,Je=256;if(null==Ve){Ve=new Array,Ne=0;var Ie;if(window.crypto&&window.crypto.getRandomValues){var Pe=new Uint32Array(256);for(window.crypto.getRandomValues(Pe),Ie=0;Ie<Pe.length;++Ie)Ve[Ne++]=255&Pe[Ie]}var Me=function(t){if(this.count=this.count||0,this.count>=256||Ne>=Je)return void(window.removeEventListener?window.removeEventListener("mousemove",Me,!1):window.detachEvent&&window.detachEvent("onmousemove",Me));try{var e=t.x+t.y;Ve[Ne++]=255&e,this.count+=1}catch(i){}};window.addEventListener?window.addEventListener("mousemove",Me,!1):window.attachEvent&&window.attachEvent("onmousemove",Me)}oe.prototype.nextBytes=ne,ue.prototype.doPublic=fe,ue.prototype.setPublic=ce,ue.prototype.encrypt=pe,ue.prototype.doPrivate=ye,ue.prototype.setPrivate=de,ue.prototype.setPrivateEx=ge,ue.prototype.generate=me,ue.prototype.decrypt=ve,
  11 +// Copyright (c) 2011 Kevin M Burns Jr.
  12 +// All Rights Reserved.
  13 +// See "LICENSE" for details.
  14 +//
  15 +// Extension to jsbn which adds facilities for asynchronous RSA key generation
  16 +// Primarily created to avoid execution timeout on mobile devices
  17 +//
  18 +// http://www-cs-students.stanford.edu/~tjw/jsbn/
  19 +//
  20 +// ---
  21 +function(){var t=function(t,r,s){var n=new oe,o=t>>1;this.e=parseInt(r,16);var h=new e(r,16),a=this,u=function(){var r=function(){if(a.p.compareTo(a.q)<=0){var t=a.p;a.p=a.q,a.q=t}var i=a.p.subtract(e.ONE),r=a.q.subtract(e.ONE),n=i.multiply(r);0==n.gcd(h).compareTo(e.ONE)?(a.n=a.p.multiply(a.q),a.d=h.modInverse(n),a.dmp1=a.d.mod(i),a.dmq1=a.d.mod(r),a.coeff=a.q.modInverse(a.p),setTimeout(function(){s()},0)):setTimeout(u,0)},c=function(){a.q=i(),a.q.fromNumberAsync(o,1,n,function(){a.q.subtract(e.ONE).gcda(h,function(t){0==t.compareTo(e.ONE)&&a.q.isProbablePrime(10)?setTimeout(r,0):setTimeout(c,0)})})},f=function(){a.p=i(),a.p.fromNumberAsync(t-o,1,n,function(){a.p.subtract(e.ONE).gcda(h,function(t){0==t.compareTo(e.ONE)&&a.p.isProbablePrime(10)?setTimeout(c,0):setTimeout(f,0)})})};setTimeout(f,0)};setTimeout(u,0)};ue.prototype.generateAsync=t;var r=function(t,e){var i=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(i.compareTo(r)<0){var s=i;i=r,r=s}var n=i.getLowestSetBit(),o=r.getLowestSetBit();if(0>o)return void e(i);o>n&&(o=n),o>0&&(i.rShiftTo(o,i),r.rShiftTo(o,r));var h=function(){(n=i.getLowestSetBit())>0&&i.rShiftTo(n,i),(n=r.getLowestSetBit())>0&&r.rShiftTo(n,r),i.compareTo(r)>=0?(i.subTo(r,i),i.rShiftTo(1,i)):(r.subTo(i,r),r.rShiftTo(1,r)),i.signum()>0?setTimeout(h,0):(o>0&&r.lShiftTo(o,r),setTimeout(function(){e(r)},0))};setTimeout(h,10)};e.prototype.gcda=r;var s=function(t,i,r,s){if("number"==typeof i)if(2>t)this.fromInt(1);else{this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(e.ONE.shiftLeft(t-1),ht,this),this.isEven()&&this.dAddOffset(1,0);var n=this,o=function(){n.dAddOffset(2,0),n.bitLength()>t&&n.subTo(e.ONE.shiftLeft(t-1),n),n.isProbablePrime(i)?setTimeout(function(){s()},0):setTimeout(o,0)};setTimeout(o,0)}else{var h=new Array,a=7&t;h.length=(t>>3)+1,i.nextBytes(h),a>0?h[0]&=(1<<a)-1:h[0]=0,this.fromString(h,256)}};e.prototype.fromNumberAsync=s}();var Le="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",qe="=",Ce=Ce||{};Ce.env=Ce.env||{};var He=Ce,je=Object.prototype,ke="[object Function]",Fe=["toString","valueOf"];Ce.env.parseUA=function(t){var e,i=function(t){var e=0;return parseFloat(t.replace(/\./g,function(){return 1==e++?"":"."}))},r=navigator,s={ie:0,opera:0,gecko:0,webkit:0,chrome:0,mobile:null,air:0,ipad:0,iphone:0,ipod:0,ios:null,android:0,webos:0,caja:r&&r.cajaVersion,secure:!1,os:null},n=t||navigator&&navigator.userAgent,o=window&&window.location,h=o&&o.href;return s.secure=h&&0===h.toLowerCase().indexOf("https"),n&&(/windows|win32/i.test(n)?s.os="windows":/macintosh/i.test(n)?s.os="macintosh":/rhino/i.test(n)&&(s.os="rhino"),/KHTML/.test(n)&&(s.webkit=1),e=n.match(/AppleWebKit\/([^\s]*)/),e&&e[1]&&(s.webkit=i(e[1]),/ Mobile\//.test(n)?(s.mobile="Apple",e=n.match(/OS ([^\s]*)/),e&&e[1]&&(e=i(e[1].replace("_","."))),s.ios=e,s.ipad=s.ipod=s.iphone=0,e=n.match(/iPad|iPod|iPhone/),e&&e[0]&&(s[e[0].toLowerCase()]=s.ios)):(e=n.match(/NokiaN[^\/]*|Android \d\.\d|webOS\/\d\.\d/),e&&(s.mobile=e[0]),/webOS/.test(n)&&(s.mobile="WebOS",e=n.match(/webOS\/([^\s]*);/),e&&e[1]&&(s.webos=i(e[1]))),/ Android/.test(n)&&(s.mobile="Android",e=n.match(/Android ([^\s]*);/),e&&e[1]&&(s.android=i(e[1])))),e=n.match(/Chrome\/([^\s]*)/),e&&e[1]?s.chrome=i(e[1]):(e=n.match(/AdobeAIR\/([^\s]*)/),e&&(s.air=e[0]))),s.webkit||(e=n.match(/Opera[\s\/]([^\s]*)/),e&&e[1]?(s.opera=i(e[1]),e=n.match(/Version\/([^\s]*)/),e&&e[1]&&(s.opera=i(e[1])),e=n.match(/Opera Mini[^;]*/),e&&(s.mobile=e[0])):(e=n.match(/MSIE\s([^;]*)/),e&&e[1]?s.ie=i(e[1]):(e=n.match(/Gecko\/([^\s]*)/),e&&(s.gecko=1,e=n.match(/rv:([^\s\)]*)/),e&&e[1]&&(s.gecko=i(e[1]))))))),s},Ce.env.ua=Ce.env.parseUA(),Ce.isFunction=function(t){return"function"==typeof t||je.toString.apply(t)===ke},Ce._IEEnumFix=Ce.env.ua.ie?function(t,e){var i,r,s;for(i=0;i<Fe.length;i+=1)r=Fe[i],s=e[r],He.isFunction(s)&&s!=je[r]&&(t[r]=s)}:function(){},Ce.extend=function(t,e,i){if(!e||!t)throw new Error("extend failed, please check that all dependencies are included.");var r,s=function(){};if(s.prototype=e.prototype,t.prototype=new s,t.prototype.constructor=t,t.superclass=e.prototype,e.prototype.constructor==je.constructor&&(e.prototype.constructor=e),i){for(r in i)He.hasOwnProperty(i,r)&&(t.prototype[r]=i[r]);He._IEEnumFix(t.prototype,i)}},/*
  22 + * asn1.js - ASN.1 DER encoder classes
  23 + *
  24 + * Copyright (c) 2013 Kenji Urushima (kenji.urushima@gmail.com)
  25 + *
  26 + * This software is licensed under the terms of the MIT License.
  27 + * http://kjur.github.com/jsrsasign/license
  28 + *
  29 + * The above copyright and license notice shall be
  30 + * included in all copies or substantial portions of the Software.
  31 + */
  32 +/**
  33 + * @fileOverview
  34 + * @name asn1-1.0.js
  35 + * @author Kenji Urushima kenji.urushima@gmail.com
  36 + * @version 1.0.2 (2013-May-30)
  37 + * @since 2.1
  38 + * @license <a href="http://kjur.github.io/jsrsasign/license/">MIT License</a>
  39 + */
  40 +"undefined"!=typeof KJUR&&KJUR||(KJUR={}),"undefined"!=typeof KJUR.asn1&&KJUR.asn1||(KJUR.asn1={}),KJUR.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e="0"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var i=t.toString(16);if("-"!=i.substr(0,1))i.length%2==1?i="0"+i:i.match(/^[0-7]/)||(i="00"+i);else{var r=i.substr(1),s=r.length;s%2==1?s+=1:i.match(/^[0-7]/)||(s+=2);for(var n="",o=0;s>o;o++)n+="f";var h=new e(n,16),a=h.xor(t).add(e.ONE);i=a.toString(16).replace(/^-/,"")}return i},this.getPEMStringFromHex=function(t,e){var i=CryptoJS.enc.Hex.parse(t),r=CryptoJS.enc.Base64.stringify(i),s=r.replace(/(.{64})/g,"$1\r\n");return s=s.replace(/\r\n$/,""),"-----BEGIN "+e+"-----\r\n"+s+"\r\n-----END "+e+"-----\r\n"}},KJUR.asn1.ASN1Object=function(){var t="";this.getLengthHexFromValue=function(){if("undefined"==typeof this.hV||null==this.hV)throw"this.hV is null or undefined.";if(this.hV.length%2==1)throw"value hex must be even length: n="+t.length+",v="+this.hV;var e=this.hV.length/2,i=e.toString(16);if(i.length%2==1&&(i="0"+i),128>e)return i;var r=i.length/2;if(r>15)throw"ASN.1 length too long to represent by 8x: n = "+e.toString(16);var s=128+r;return s.toString(16)+i},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""}},KJUR.asn1.DERAbstractString=function(t){KJUR.asn1.DERAbstractString.superclass.constructor.call(this);this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=stohex(this.s)},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof t&&("undefined"!=typeof t.str?this.setString(t.str):"undefined"!=typeof t.hex&&this.setStringHex(t.hex))},Ce.extend(KJUR.asn1.DERAbstractString,KJUR.asn1.ASN1Object),KJUR.asn1.DERAbstractTime=function(t){KJUR.asn1.DERAbstractTime.superclass.constructor.call(this);this.localDateToUTC=function(t){utc=t.getTime()+6e4*t.getTimezoneOffset();var e=new Date(utc);return e},this.formatDate=function(t,e){var i=this.zeroPadding,r=this.localDateToUTC(t),s=String(r.getFullYear());"utc"==e&&(s=s.substr(2,2));var n=i(String(r.getMonth()+1),2),o=i(String(r.getDate()),2),h=i(String(r.getHours()),2),a=i(String(r.getMinutes()),2),u=i(String(r.getSeconds()),2);return s+n+o+h+a+u+"Z"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=stohex(this.s)},this.setByDateValue=function(t,e,i,r,s,n){var o=new Date(Date.UTC(t,e-1,i,r,s,n,0));this.setByDate(o)},this.getFreshValueHex=function(){return this.hV}},Ce.extend(KJUR.asn1.DERAbstractTime,KJUR.asn1.ASN1Object),KJUR.asn1.DERAbstractStructured=function(t){KJUR.asn1.DERAbstractString.superclass.constructor.call(this);this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,"undefined"!=typeof t&&"undefined"!=typeof t.array&&(this.asn1Array=t.array)},Ce.extend(KJUR.asn1.DERAbstractStructured,KJUR.asn1.ASN1Object),KJUR.asn1.DERBoolean=function(){KJUR.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV="0101ff"},Ce.extend(KJUR.asn1.DERBoolean,KJUR.asn1.ASN1Object),KJUR.asn1.DERInteger=function(t){KJUR.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var i=new e(String(t),10);this.setByBigInteger(i)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof t&&("undefined"!=typeof t.bigint?this.setByBigInteger(t.bigint):"undefined"!=typeof t["int"]?this.setByInteger(t["int"]):"undefined"!=typeof t.hex&&this.setValueHex(t.hex))},Ce.extend(KJUR.asn1.DERInteger,KJUR.asn1.ASN1Object),KJUR.asn1.DERBitString=function(t){KJUR.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(0>t||t>7)throw"unused bits shall be from 0 to 7: u = "+t;var i="0"+t;this.hTLV=null,this.isModified=!0,this.hV=i+e},this.setByBinaryString=function(t){t=t.replace(/0+$/,"");var e=8-t.length%8;8==e&&(e=0);for(var i=0;e>=i;i++)t+="0";for(var r="",i=0;i<t.length-1;i+=8){var s=t.substr(i,8),n=parseInt(s,2).toString(16);1==n.length&&(n="0"+n),r+=n}this.hTLV=null,this.isModified=!0,this.hV="0"+e+r},this.setByBooleanArray=function(t){for(var e="",i=0;i<t.length;i++)e+=1==t[i]?"1":"0";this.setByBinaryString(e)},this.newFalseArray=function(t){for(var e=new Array(t),i=0;t>i;i++)e[i]=!1;return e},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof t&&("undefined"!=typeof t.hex?this.setHexValueIncludingUnusedBits(t.hex):"undefined"!=typeof t.bin?this.setByBinaryString(t.bin):"undefined"!=typeof t.array&&this.setByBooleanArray(t.array))},Ce.extend(KJUR.asn1.DERBitString,KJUR.asn1.ASN1Object),KJUR.asn1.DEROctetString=function(t){KJUR.asn1.DEROctetString.superclass.constructor.call(this,t),this.hT="04"},Ce.extend(KJUR.asn1.DEROctetString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERNull=function(){KJUR.asn1.DERNull.superclass.constructor.call(this),this.hT="05",this.hTLV="0500"},Ce.extend(KJUR.asn1.DERNull,KJUR.asn1.ASN1Object),KJUR.asn1.DERObjectIdentifier=function(t){var i=function(t){var e=t.toString(16);return 1==e.length&&(e="0"+e),e},r=function(t){var r="",s=new e(t,10),n=s.toString(2),o=7-n.length%7;7==o&&(o=0);for(var h="",a=0;o>a;a++)h+="0";n=h+n;for(var a=0;a<n.length-1;a+=7){var u=n.substr(a,7);a!=n.length-7&&(u="1"+u),r+=i(parseInt(u,2))}return r};KJUR.asn1.DERObjectIdentifier.superclass.constructor.call(this),this.hT="06",this.setValueHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.setValueOidString=function(t){if(!t.match(/^[0-9.]+$/))throw"malformed oid string: "+t;var e="",s=t.split("."),n=40*parseInt(s[0])+parseInt(s[1]);e+=i(n),s.splice(0,2);for(var o=0;o<s.length;o++)e+=r(s[o]);this.hTLV=null,this.isModified=!0,this.s=null,this.hV=e},this.setValueName=function(t){if("undefined"==typeof KJUR.asn1.x509.OID.name2oidList[t])throw"DERObjectIdentifier oidName undefined: "+t;var e=KJUR.asn1.x509.OID.name2oidList[t];this.setValueOidString(e)},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof t&&("undefined"!=typeof t.oid?this.setValueOidString(t.oid):"undefined"!=typeof t.hex?this.setValueHex(t.hex):"undefined"!=typeof t.name&&this.setValueName(t.name))},Ce.extend(KJUR.asn1.DERObjectIdentifier,KJUR.asn1.ASN1Object),KJUR.asn1.DERUTF8String=function(t){KJUR.asn1.DERUTF8String.superclass.constructor.call(this,t),this.hT="0c"},Ce.extend(KJUR.asn1.DERUTF8String,KJUR.asn1.DERAbstractString),KJUR.asn1.DERNumericString=function(t){KJUR.asn1.DERNumericString.superclass.constructor.call(this,t),this.hT="12"},Ce.extend(KJUR.asn1.DERNumericString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERPrintableString=function(t){KJUR.asn1.DERPrintableString.superclass.constructor.call(this,t),this.hT="13"},Ce.extend(KJUR.asn1.DERPrintableString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERTeletexString=function(t){KJUR.asn1.DERTeletexString.superclass.constructor.call(this,t),this.hT="14"},Ce.extend(KJUR.asn1.DERTeletexString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERIA5String=function(t){KJUR.asn1.DERIA5String.superclass.constructor.call(this,t),this.hT="16"},Ce.extend(KJUR.asn1.DERIA5String,KJUR.asn1.DERAbstractString),KJUR.asn1.DERUTCTime=function(t){KJUR.asn1.DERUTCTime.superclass.constructor.call(this,t),this.hT="17",this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,"utc"),this.hV=stohex(this.s)},"undefined"!=typeof t&&("undefined"!=typeof t.str?this.setString(t.str):"undefined"!=typeof t.hex?this.setStringHex(t.hex):"undefined"!=typeof t.date&&this.setByDate(t.date))},Ce.extend(KJUR.asn1.DERUTCTime,KJUR.asn1.DERAbstractTime),KJUR.asn1.DERGeneralizedTime=function(t){KJUR.asn1.DERGeneralizedTime.superclass.constructor.call(this,t),this.hT="18",this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,"gen"),this.hV=stohex(this.s)},"undefined"!=typeof t&&("undefined"!=typeof t.str?this.setString(t.str):"undefined"!=typeof t.hex?this.setStringHex(t.hex):"undefined"!=typeof t.date&&this.setByDate(t.date))},Ce.extend(KJUR.asn1.DERGeneralizedTime,KJUR.asn1.DERAbstractTime),KJUR.asn1.DERSequence=function(t){KJUR.asn1.DERSequence.superclass.constructor.call(this,t),this.hT="30",this.getFreshValueHex=function(){for(var t="",e=0;e<this.asn1Array.length;e++){var i=this.asn1Array[e];t+=i.getEncodedHex()}return this.hV=t,this.hV}},Ce.extend(KJUR.asn1.DERSequence,KJUR.asn1.DERAbstractStructured),KJUR.asn1.DERSet=function(t){KJUR.asn1.DERSet.superclass.constructor.call(this,t),this.hT="31",this.getFreshValueHex=function(){for(var t=new Array,e=0;e<this.asn1Array.length;e++){var i=this.asn1Array[e];t.push(i.getEncodedHex())}return t.sort(),this.hV=t.join(""),this.hV}},Ce.extend(KJUR.asn1.DERSet,KJUR.asn1.DERAbstractStructured),KJUR.asn1.DERTaggedObject=function(t){KJUR.asn1.DERTaggedObject.superclass.constructor.call(this),this.hT="a0",this.hV="",this.isExplicit=!0,this.asn1Object=null,this.setASN1Object=function(t,e,i){this.hT=e,this.isExplicit=t,this.asn1Object=i,this.isExplicit?(this.hV=this.asn1Object.getEncodedHex(),this.hTLV=null,this.isModified=!0):(this.hV=null,this.hTLV=i.getEncodedHex(),this.hTLV=this.hTLV.replace(/^../,e),this.isModified=!1)},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof t&&("undefined"!=typeof t.tag&&(this.hT=t.tag),"undefined"!=typeof t.explicit&&(this.isExplicit=t.explicit),"undefined"!=typeof t.obj&&(this.asn1Object=t.obj,this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)))},Ce.extend(KJUR.asn1.DERTaggedObject,KJUR.asn1.ASN1Object),
  41 +// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>
  42 +// copyright notice and this permission notice appear in all copies.
  43 +//
  44 +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  45 +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  46 +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  47 +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  48 +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  49 +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  50 +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  51 +function(t){"use strict";var e,i={};i.decode=function(i){var r;if(e===t){var s="0123456789ABCDEF",n=" \f\n\r  \u2028\u2029";for(e=[],r=0;16>r;++r)e[s.charAt(r)]=r;for(s=s.toLowerCase(),r=10;16>r;++r)e[s.charAt(r)]=r;for(r=0;r<n.length;++r)e[n.charAt(r)]=-1}var o=[],h=0,a=0;for(r=0;r<i.length;++r){var u=i.charAt(r);if("="==u)break;if(u=e[u],-1!=u){if(u===t)throw"Illegal character at offset "+r;h|=u,++a>=2?(o[o.length]=h,h=0,a=0):h<<=4}}if(a)throw"Hex encoding incomplete: 4 bits missing";return o},window.Hex=i}(),
  52 +// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>
  53 +// copyright notice and this permission notice appear in all copies.
  54 +//
  55 +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  56 +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  57 +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  58 +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  59 +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  60 +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  61 +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  62 +function(t){"use strict";var e,i={};i.decode=function(i){var r;if(e===t){var s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n="= \f\n\r  \u2028\u2029";for(e=[],r=0;64>r;++r)e[s.charAt(r)]=r;for(r=0;r<n.length;++r)e[n.charAt(r)]=-1}var o=[],h=0,a=0;for(r=0;r<i.length;++r){var u=i.charAt(r);if("="==u)break;if(u=e[u],-1!=u){if(u===t)throw"Illegal character at offset "+r;h|=u,++a>=4?(o[o.length]=h>>16,o[o.length]=h>>8&255,o[o.length]=255&h,h=0,a=0):h<<=6}}switch(a){case 1:throw"Base64 encoding incomplete: at least 2 bits missing";case 2:o[o.length]=h>>10;break;case 3:o[o.length]=h>>16,o[o.length]=h>>8&255}return o},i.re=/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/,i.unarmor=function(t){var e=i.re.exec(t);if(e)if(e[1])t=e[1];else{if(!e[2])throw"RegExp out of sync";t=e[2]}return i.decode(t)},window.Base64=i}(),
  63 +// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>
  64 +// copyright notice and this permission notice appear in all copies.
  65 +//
  66 +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  67 +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  68 +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  69 +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  70 +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  71 +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  72 +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
73 73 function(t){"use strict";function e(t,i){t instanceof e?(this.enc=t.enc,this.pos=t.pos):(this.enc=t,this.pos=i)}function i(t,e,i,r,s){this.stream=t,this.header=e,this.length=i,this.tag=r,this.sub=s}var r=100,s="…",n={tag:function(t,e){var i=document.createElement(t);return i.className=e,i},text:function(t){return document.createTextNode(t)}};e.prototype.get=function(e){if(e===t&&(e=this.pos++),e>=this.enc.length)throw"Requesting byte offset "+e+" on a stream of length "+this.enc.length;return this.enc[e]},e.prototype.hexDigits="0123456789ABCDEF",e.prototype.hexByte=function(t){return this.hexDigits.charAt(t>>4&15)+this.hexDigits.charAt(15&t)},e.prototype.hexDump=function(t,e,i){for(var r="",s=t;e>s;++s)if(r+=this.hexByte(this.get(s)),i!==!0)switch(15&s){case 7:r+=" ";break;case 15:r+="\n";break;default:r+=" "}return r},e.prototype.parseStringISO=function(t,e){for(var i="",r=t;e>r;++r)i+=String.fromCharCode(this.get(r));return i},e.prototype.parseStringUTF=function(t,e){for(var i="",r=t;e>r;){var s=this.get(r++);i+=128>s?String.fromCharCode(s):s>191&&224>s?String.fromCharCode((31&s)<<6|63&this.get(r++)):String.fromCharCode((15&s)<<12|(63&this.get(r++))<<6|63&this.get(r++))}return i},e.prototype.parseStringBMP=function(t,e){for(var i="",r=t;e>r;r+=2){var s=this.get(r),n=this.get(r+1);i+=String.fromCharCode((s<<8)+n)}return i},e.prototype.reTime=/^((?:1[89]|2\d)?\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/,e.prototype.parseTime=function(t,e){var i=this.parseStringISO(t,e),r=this.reTime.exec(i);return r?(i=r[1]+"-"+r[2]+"-"+r[3]+" "+r[4],r[5]&&(i+=":"+r[5],r[6]&&(i+=":"+r[6],r[7]&&(i+="."+r[7]))),r[8]&&(i+=" UTC","Z"!=r[8]&&(i+=r[8],r[9]&&(i+=":"+r[9]))),i):"Unrecognized time: "+i},e.prototype.parseInteger=function(t,e){var i=e-t;if(i>4){i<<=3;var r=this.get(t);if(0===r)i-=8;else for(;128>r;)r<<=1,--i;return"("+i+" bit)"}for(var s=0,n=t;e>n;++n)s=s<<8|this.get(n);return s},e.prototype.parseBitString=function(t,e){var i=this.get(t),r=(e-t-1<<3)-i,s="("+r+" bit)";if(20>=r){var n=i;s+=" ";for(var o=e-1;o>t;--o){for(var h=this.get(o),a=n;8>a;++a)s+=h>>a&1?"1":"0";n=0}}return s},e.prototype.parseOctetString=function(t,e){var i=e-t,n="("+i+" byte) ";i>r&&(e=t+r);for(var o=t;e>o;++o)n+=this.hexByte(this.get(o));return i>r&&(n+=s),n},e.prototype.parseOID=function(t,e){for(var i="",r=0,s=0,n=t;e>n;++n){var o=this.get(n);if(r=r<<7|127&o,s+=7,!(128&o)){if(""===i){var h=80>r?40>r?0:1:2;i=h+"."+(r-40*h)}else i+="."+(s>=31?"bigint":r);r=s=0}}return i},i.prototype.typeName=function(){if(this.tag===t)return"unknown";var e=this.tag>>6,i=(this.tag>>5&1,31&this.tag);switch(e){case 0:switch(i){case 0:return"EOC";case 1:return"BOOLEAN";case 2:return"INTEGER";case 3:return"BIT_STRING";case 4:return"OCTET_STRING";case 5:return"NULL";case 6:return"OBJECT_IDENTIFIER";case 7:return"ObjectDescriptor";case 8:return"EXTERNAL";case 9:return"REAL";case 10:return"ENUMERATED";case 11:return"EMBEDDED_PDV";case 12:return"UTF8String";case 16:return"SEQUENCE";case 17:return"SET";case 18:return"NumericString";case 19:return"PrintableString";case 20:return"TeletexString";case 21:return"VideotexString";case 22:return"IA5String";case 23:return"UTCTime";case 24:return"GeneralizedTime";case 25:return"GraphicString";case 26:return"VisibleString";case 27:return"GeneralString";case 28:return"UniversalString";case 30:return"BMPString";default:return"Universal_"+i.toString(16)}case 1:return"Application_"+i.toString(16);case 2:return"["+i+"]";case 3:return"Private_"+i.toString(16)}},i.prototype.reSeemsASCII=/^[ -~]+$/,i.prototype.content=function(){if(this.tag===t)return null;var e=this.tag>>6,i=31&this.tag,n=this.posContent(),o=Math.abs(this.length);if(0!==e){if(null!==this.sub)return"("+this.sub.length+" elem)";var h=this.stream.parseStringISO(n,n+Math.min(o,r));return this.reSeemsASCII.test(h)?h.substring(0,2*r)+(h.length>2*r?s:""):this.stream.parseOctetString(n,n+o)}switch(i){case 1:return 0===this.stream.get(n)?"false":"true";case 2:return this.stream.parseInteger(n,n+o);case 3:return this.sub?"("+this.sub.length+" elem)":this.stream.parseBitString(n,n+o);case 4:return this.sub?"("+this.sub.length+" elem)":this.stream.parseOctetString(n,n+o);case 6:return this.stream.parseOID(n,n+o);case 16:case 17:return"("+this.sub.length+" elem)";case 12:return this.stream.parseStringUTF(n,n+o);case 18:case 19:case 20:case 21:case 22:case 26:return this.stream.parseStringISO(n,n+o);case 30:return this.stream.parseStringBMP(n,n+o);case 23:case 24:return this.stream.parseTime(n,n+o)}return null},i.prototype.toString=function(){return this.typeName()+"@"+this.stream.pos+"[header:"+this.header+",length:"+this.length+",sub:"+(null===this.sub?"null":this.sub.length)+"]"},i.prototype.print=function(e){if(e===t&&(e=""),document.writeln(e+this),null!==this.sub){e+=" ";for(var i=0,r=this.sub.length;r>i;++i)this.sub[i].print(e)}},i.prototype.toPrettyString=function(e){e===t&&(e="");var i=e+this.typeName()+" @"+this.stream.pos;if(this.length>=0&&(i+="+"),i+=this.length,32&this.tag?i+=" (constructed)":3!=this.tag&&4!=this.tag||null===this.sub||(i+=" (encapsulates)"),i+="\n",null!==this.sub){e+=" ";for(var r=0,s=this.sub.length;s>r;++r)i+=this.sub[r].toPrettyString(e)}return i},i.prototype.toDOM=function(){var t=n.tag("div","node");t.asn1=this;var e=n.tag("div","head"),i=this.typeName().replace(/_/g," ");e.innerHTML=i;var r=this.content();if(null!==r){r=String(r).replace(/</g,"&lt;");var s=n.tag("span","preview");s.appendChild(n.text(r)),e.appendChild(s)}t.appendChild(e),this.node=t,this.head=e;var o=n.tag("div","value");if(i="Offset: "+this.stream.pos+"<br/>",i+="Length: "+this.header+"+",i+=this.length>=0?this.length:-this.length+" (undefined)",32&this.tag?i+="<br/>(constructed)":3!=this.tag&&4!=this.tag||null===this.sub||(i+="<br/>(encapsulates)"),null!==r&&(i+="<br/>Value:<br/><b>"+r+"</b>","object"==typeof oids&&6==this.tag)){var h=oids[r];h&&(h.d&&(i+="<br/>"+h.d),h.c&&(i+="<br/>"+h.c),h.w&&(i+="<br/>(warning!)"))}o.innerHTML=i,t.appendChild(o);var a=n.tag("div","sub");if(null!==this.sub)for(var u=0,c=this.sub.length;c>u;++u)a.appendChild(this.sub[u].toDOM());return t.appendChild(a),e.onclick=function(){t.className="node collapsed"==t.className?"node":"node collapsed"},t},i.prototype.posStart=function(){return this.stream.pos},i.prototype.posContent=function(){return this.stream.pos+this.header},i.prototype.posEnd=function(){return this.stream.pos+this.header+Math.abs(this.length)},i.prototype.fakeHover=function(t){this.node.className+=" hover",t&&(this.head.className+=" hover")},i.prototype.fakeOut=function(t){var e=/ ?hover/;this.node.className=this.node.className.replace(e,""),t&&(this.head.className=this.head.className.replace(e,""))},i.prototype.toHexDOM_sub=function(t,e,i,r,s){if(!(r>=s)){var o=n.tag("span",e);o.appendChild(n.text(i.hexDump(r,s))),t.appendChild(o)}},i.prototype.toHexDOM=function(e){var i=n.tag("span","hex");if(e===t&&(e=i),this.head.hexNode=i,this.head.onmouseover=function(){this.hexNode.className="hexCurrent"},this.head.onmouseout=function(){this.hexNode.className="hex"},i.asn1=this,i.onmouseover=function(){var t=!e.selected;t&&(e.selected=this.asn1,this.className="hexCurrent"),this.asn1.fakeHover(t)},i.onmouseout=function(){var t=e.selected==this.asn1;this.asn1.fakeOut(t),t&&(e.selected=null,this.className="hex")},this.toHexDOM_sub(i,"tag",this.stream,this.posStart(),this.posStart()+1),this.toHexDOM_sub(i,this.length>=0?"dlen":"ulen",this.stream,this.posStart()+1,this.posContent()),null===this.sub)i.appendChild(n.text(this.stream.hexDump(this.posContent(),this.posEnd())));else if(this.sub.length>0){var r=this.sub[0],s=this.sub[this.sub.length-1];this.toHexDOM_sub(i,"intro",this.stream,this.posContent(),r.posStart());for(var o=0,h=this.sub.length;h>o;++o)i.appendChild(this.sub[o].toHexDOM(e));this.toHexDOM_sub(i,"outro",this.stream,s.posEnd(),this.posEnd())}return i},i.prototype.toHexString=function(t){return this.stream.hexDump(this.posStart(),this.posEnd(),!0)},i.decodeLength=function(t){var e=t.get(),i=127&e;if(i==e)return i;if(i>3)throw"Length over 24 bits not supported at position "+(t.pos-1);if(0===i)return-1;e=0;for(var r=0;i>r;++r)e=e<<8|t.get();return e},i.hasContent=function(t,r,s){if(32&t)return!0;if(3>t||t>4)return!1;var n=new e(s);3==t&&n.get();var o=n.get();if(o>>6&1)return!1;try{var h=i.decodeLength(n);return n.pos-s.pos+h==r}catch(a){return!1}},i.decode=function(t){t instanceof e||(t=new e(t,0));var r=new e(t),s=t.get(),n=i.decodeLength(t),o=t.pos-r.pos,h=null;if(i.hasContent(s,n,t)){var a=t.pos;if(3==s&&t.get(),h=[],n>=0){for(var u=a+n;t.pos<u;)h[h.length]=i.decode(t);if(t.pos!=u)throw"Content size is not correct for container starting at offset "+a}else try{for(;;){var c=i.decode(t);if(0===c.tag)break;h[h.length]=c}n=a-t.pos}catch(f){throw"Exception while decoding undefined length content: "+f}}else t.pos+=n;return new i(r,o,n,s,h)},i.test=function(){for(var t=[{value:[39],expected:39},{value:[129,201],expected:201},{value:[131,254,220,186],expected:16702650}],r=0,s=t.length;s>r;++r){var n=new e(t[r].value,0),o=i.decodeLength(n);o!=t[r].expected&&document.write("In test["+r+"] expected "+t[r].expected+" got "+o+"\n")}},window.ASN1=i}(),ASN1.prototype.getHexStringValue=function(){var t=this.toHexString(),e=2*this.header,i=2*this.length;return t.substr(e,i)},ue.prototype.parseKey=function(t){try{var e=0,i=0,r=/^\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\s*)+$/,s=r.test(t)?Hex.decode(t):Base64.unarmor(t),n=ASN1.decode(s);if(3===n.sub.length&&(n=n.sub[2].sub[0]),9===n.sub.length){e=n.sub[1].getHexStringValue(),this.n=he(e,16),i=n.sub[2].getHexStringValue(),this.e=parseInt(i,16);var o=n.sub[3].getHexStringValue();this.d=he(o,16);var h=n.sub[4].getHexStringValue();this.p=he(h,16);var a=n.sub[5].getHexStringValue();this.q=he(a,16);var u=n.sub[6].getHexStringValue();this.dmp1=he(u,16);var c=n.sub[7].getHexStringValue();this.dmq1=he(c,16);var f=n.sub[8].getHexStringValue();this.coeff=he(f,16)}else{if(2!==n.sub.length)return!1;var p=n.sub[1],l=p.sub[0];e=l.sub[0].getHexStringValue(),this.n=he(e,16),i=l.sub[1].getHexStringValue(),this.e=parseInt(i,16)}return!0}catch(d){return!1}},ue.prototype.getPrivateBaseKey=function(){var t={array:[new KJUR.asn1.DERInteger({"int":0}),new KJUR.asn1.DERInteger({bigint:this.n}),new KJUR.asn1.DERInteger({"int":this.e}),new KJUR.asn1.DERInteger({bigint:this.d}),new KJUR.asn1.DERInteger({bigint:this.p}),new KJUR.asn1.DERInteger({bigint:this.q}),new KJUR.asn1.DERInteger({bigint:this.dmp1}),new KJUR.asn1.DERInteger({bigint:this.dmq1}),new KJUR.asn1.DERInteger({bigint:this.coeff})]},e=new KJUR.asn1.DERSequence(t);return e.getEncodedHex()},ue.prototype.getPrivateBaseKeyB64=function(){return be(this.getPrivateBaseKey())},ue.prototype.getPublicBaseKey=function(){var t={array:[new KJUR.asn1.DERObjectIdentifier({oid:"1.2.840.113549.1.1.1"}),new KJUR.asn1.DERNull]},e=new KJUR.asn1.DERSequence(t);t={array:[new KJUR.asn1.DERInteger({bigint:this.n}),new KJUR.asn1.DERInteger({"int":this.e})]};var i=new KJUR.asn1.DERSequence(t);t={hex:"00"+i.getEncodedHex()};var r=new KJUR.asn1.DERBitString(t);t={array:[e,r]};var s=new KJUR.asn1.DERSequence(t);return s.getEncodedHex()},ue.prototype.getPublicBaseKeyB64=function(){return be(this.getPublicBaseKey())},ue.prototype.wordwrap=function(t,e){if(e=e||64,!t)return t;var i="(.{1,"+e+"})( +|$\n?)|(.{1,"+e+"})";return t.match(RegExp(i,"g")).join("\n")},ue.prototype.getPrivateKey=function(){var t="-----BEGIN RSA PRIVATE KEY-----\n";return t+=this.wordwrap(this.getPrivateBaseKeyB64())+"\n",t+="-----END RSA PRIVATE KEY-----"},ue.prototype.getPublicKey=function(){var t="-----BEGIN PUBLIC KEY-----\n";return t+=this.wordwrap(this.getPublicBaseKeyB64())+"\n",t+="-----END PUBLIC KEY-----"},ue.prototype.hasPublicKeyProperty=function(t){return t=t||{},t.hasOwnProperty("n")&&t.hasOwnProperty("e")},ue.prototype.hasPrivateKeyProperty=function(t){return t=t||{},t.hasOwnProperty("n")&&t.hasOwnProperty("e")&&t.hasOwnProperty("d")&&t.hasOwnProperty("p")&&t.hasOwnProperty("q")&&t.hasOwnProperty("dmp1")&&t.hasOwnProperty("dmq1")&&t.hasOwnProperty("coeff")},ue.prototype.parsePropertiesFrom=function(t){this.n=t.n,this.e=t.e,t.hasOwnProperty("d")&&(this.d=t.d,this.p=t.p,this.q=t.q,this.dmp1=t.dmp1,this.dmq1=t.dmq1,this.coeff=t.coeff)};var _e=function(t){ue.call(this),t&&("string"==typeof t?this.parseKey(t):(this.hasPrivateKeyProperty(t)||this.hasPublicKeyProperty(t))&&this.parsePropertiesFrom(t))};_e.prototype=new ue,_e.prototype.constructor=_e;var ze=function(t){t=t||{},this.default_key_size=parseInt(t.default_key_size)||1024,this.default_public_exponent=t.default_public_exponent||"010001",this.log=t.log||!1,this.key=null};ze.prototype.setKey=function(t){this.log&&this.key&&console.warn("A key was already set, overriding existing."),this.key=new _e(t)},ze.prototype.setPrivateKey=function(t){this.setKey(t)},ze.prototype.setPublicKey=function(t){this.setKey(t)},ze.prototype.decrypt=function(t){try{return this.getKey().decrypt(Te(t))}catch(e){return!1}},ze.prototype.encrypt=function(t){try{return be(this.getKey().encrypt(t))}catch(e){return!1}},ze.prototype.getKey=function(t){if(!this.key){if(this.key=new _e,t&&"[object Function]"==={}.toString.call(t))return void this.key.generateAsync(this.default_key_size,this.default_public_exponent,t);this.key.generate(this.default_key_size,this.default_public_exponent)}return this.key},ze.prototype.getPrivateKey=function(){return this.getKey().getPrivateKey()},ze.prototype.getPrivateKeyB64=function(){return this.getKey().getPrivateBaseKeyB64()},ze.prototype.getPublicKey=function(){return this.getKey().getPublicKey()},ze.prototype.getPublicKeyB64=function(){return this.getKey().getPublicBaseKeyB64()},ze.version="2.3.1",t.JSEncrypt=ze});
74 74 \ No newline at end of file
... ...