@lotus-tree/fg-notation 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of @lotus-tree/fg-notation might be problematic. Click here for more details.
- package/README.md +12 -4
- package/dev/img/basic/1.png +0 -0
- package/dev/img/basic/12369.png +0 -0
- package/dev/img/basic/1237.png +0 -0
- package/dev/img/basic/1632143.png +0 -0
- package/dev/img/basic/2.png +0 -0
- package/dev/img/basic/21.png +0 -0
- package/dev/img/basic/214.png +0 -0
- package/dev/img/basic/21478.png +0 -0
- package/dev/img/basic/23.png +0 -0
- package/dev/img/basic/236.png +0 -0
- package/dev/img/basic/23698.png +0 -0
- package/dev/img/basic/28.png +0 -0
- package/dev/img/basic/3.png +0 -0
- package/dev/img/basic/32147.png +0 -0
- package/dev/img/basic/3219.png +0 -0
- package/dev/img/basic/341236.png +0 -0
- package/dev/img/basic/346.png +0 -0
- package/dev/img/basic/360.png +0 -0
- package/dev/img/basic/4.png +0 -0
- package/dev/img/basic/41236.png +0 -0
- package/dev/img/basic/421.png +0 -0
- package/dev/img/basic/46.png +0 -0
- package/dev/img/basic/4618346.png +0 -0
- package/dev/img/basic/47896.png +0 -0
- package/dev/img/basic/5.png +0 -0
- package/dev/img/basic/6.png +0 -0
- package/dev/img/basic/623.png +0 -0
- package/dev/img/basic/63214.png +0 -0
- package/dev/img/basic/64.png +0 -0
- package/dev/img/basic/6428.png +0 -0
- package/dev/img/basic/69874.png +0 -0
- package/dev/img/basic/7.png +0 -0
- package/dev/img/basic/7891.png +0 -0
- package/dev/img/basic/8.png +0 -0
- package/dev/img/basic/81237.png +0 -0
- package/dev/img/basic/82.png +0 -0
- package/dev/img/basic/87412.png +0 -0
- package/dev/img/basic/89632.png +0 -0
- package/dev/img/basic/9.png +0 -0
- package/dev/img/basic/[1].png +0 -0
- package/dev/img/basic/[2].png +0 -0
- package/dev/img/basic/[2]8.png +0 -0
- package/dev/img/basic/[3].png +0 -0
- package/dev/img/basic/[4].png +0 -0
- package/dev/img/basic/[6].png +0 -0
- package/dev/img/basic/[7].png +0 -0
- package/dev/img/basic/[8].png +0 -0
- package/dev/img/basic/[9].png +0 -0
- package/dev/img/basic/air.png +0 -0
- package/dev/img/basic/doubleforward.png +0 -0
- package/dev/img/credits.txt +4 -0
- package/dev/img/games/bb/a.png +0 -0
- package/dev/img/games/bb/b.png +0 -0
- package/dev/img/games/bb/c.png +0 -0
- package/dev/img/games/bb/d.png +0 -0
- package/dev/img/games/dbz/a1.png +0 -0
- package/dev/img/games/dbz/a2.png +0 -0
- package/dev/img/games/dbz/h.png +0 -0
- package/dev/img/games/dbz/l.png +0 -0
- package/dev/img/games/dbz/m.png +0 -0
- package/dev/img/games/dbz/s.png +0 -0
- package/dev/img/games/dnf/a.png +0 -0
- package/dev/img/games/dnf/as.png +0 -0
- package/dev/img/games/dnf/b.png +0 -0
- package/dev/img/games/dnf/g.png +0 -0
- package/dev/img/games/dnf/ms.png +0 -0
- package/dev/img/games/dnf/s.png +0 -0
- package/dev/img/games/gbf/g.png +0 -0
- package/dev/img/games/gbf/h.png +0 -0
- package/dev/img/games/gbf/l.png +0 -0
- package/dev/img/games/gbf/m.png +0 -0
- package/dev/img/games/gbf/s.png +0 -0
- package/dev/img/games/gg/d.png +0 -0
- package/dev/img/games/gg/hs.png +0 -0
- package/dev/img/games/gg/k.png +0 -0
- package/dev/img/games/gg/p.png +0 -0
- package/dev/img/games/gg/s.png +0 -0
- package/dev/img/games/kof/a.png +0 -0
- package/dev/img/games/kof/b.png +0 -0
- package/dev/img/games/kof/c.png +0 -0
- package/dev/img/games/kof/d.png +0 -0
- package/dev/img/games/kof/max.png +0 -0
- package/dev/img/games/mk/1.png +0 -0
- package/dev/img/games/mk/2.png +0 -0
- package/dev/img/games/mk/3.png +0 -0
- package/dev/img/games/mk/4.png +0 -0
- package/dev/img/games/sc/[a].png +0 -0
- package/dev/img/games/sc/[b].png +0 -0
- package/dev/img/games/sc/[g].png +0 -0
- package/dev/img/games/sc/[k].png +0 -0
- package/dev/img/games/sc/a.png +0 -0
- package/dev/img/games/sc/b.png +0 -0
- package/dev/img/games/sc/g.png +0 -0
- package/dev/img/games/sc/k.png +0 -0
- package/dev/img/games/sf/hk.png +0 -0
- package/dev/img/games/sf/hp.png +0 -0
- package/dev/img/games/sf/j..png +0 -0
- package/dev/img/games/sf/lk.png +0 -0
- package/dev/img/games/sf/lp.png +0 -0
- package/dev/img/games/sf/max.png +0 -0
- package/dev/img/games/sf/mk.png +0 -0
- package/dev/img/games/sf/mp.png +0 -0
- package/dev/img/games/sf/tap.png +0 -0
- package/dev/img/games/sg/hk.png +0 -0
- package/dev/img/games/sg/hp.png +0 -0
- package/dev/img/games/sg/k.png +0 -0
- package/dev/img/games/sg/lk.png +0 -0
- package/dev/img/games/sg/lp.png +0 -0
- package/dev/img/games/sg/mk.png +0 -0
- package/dev/img/games/sg/mp.png +0 -0
- package/dev/img/games/sg/p.png +0 -0
- package/dev/img/games/tfh/a.png +0 -0
- package/dev/img/games/tfh/b.png +0 -0
- package/dev/img/games/tfh/c.png +0 -0
- package/dev/img/games/tfh/d.png +0 -0
- package/dev/img/games/tkn/1.png +0 -0
- package/dev/img/games/tkn/12.png +0 -0
- package/dev/img/games/tkn/1234.png +0 -0
- package/dev/img/games/tkn/13.png +0 -0
- package/dev/img/games/tkn/14.png +0 -0
- package/dev/img/games/tkn/2.png +0 -0
- package/dev/img/games/tkn/23.png +0 -0
- package/dev/img/games/tkn/24.png +0 -0
- package/dev/img/games/tkn/3.png +0 -0
- package/dev/img/games/tkn/34.png +0 -0
- package/dev/img/games/tkn/4.png +0 -0
- package/dev/img/games/tkn/b.png +0 -0
- package/dev/img/games/tkn/d-b.png +0 -0
- package/dev/img/games/tkn/d-f.png +0 -0
- package/dev/img/games/tkn/d.png +0 -0
- package/dev/img/games/tkn/f.png +0 -0
- package/dev/img/games/tkn/o.png +0 -0
- package/dev/img/games/tkn/u-b.png +0 -0
- package/dev/img/games/tkn/u-f.png +0 -0
- package/dev/img/games/tkn/u.png +0 -0
- package/dev/img/preview.png +0 -0
- package/dev/index.js +487 -0
- package/lib/index.js +1 -2
- package/package.json +4 -3
- package/src/img/games/gg/rc.png +0 -0
- package/src/index.js +1 -1
- package/examples/ex1.GIF +0 -0
- package/examples/fg1.GIF +0 -0
- package/examples/fg2.GIF +0 -0
package/README.md
CHANGED
@@ -47,12 +47,20 @@ Follow instructions on how to add to a Louts-Tree bot on [this link](https://git
|
|
47
47
|
## Credits
|
48
48
|
|
49
49
|
[Infil's Fighting Game Glossary](https://glossary.infil.net): for the rich and awesome glossary
|
50
|
+
|
50
51
|
[MagicianStuff's Fighthing Game notations emotes](https://twitter.com/MagicianStuff/status/1477931054484893697)
|
51
52
|
|
53
|
+
[Bot profile picture](https://www.youtube.com/watch?v=8TdNX75oiRk)
|
54
|
+
|
52
55
|
## Changelog
|
53
56
|
|
54
|
-
|
57
|
+
### 1.1.1
|
58
|
+
|
59
|
+
- Added "rc" as a valid input for Guilty Gear
|
60
|
+
- More descriptive message when "fgglossary" finds multiple matching terms
|
61
|
+
|
62
|
+
### 1.1.0
|
55
63
|
|
56
|
-
|
57
|
-
|
58
|
-
|
64
|
+
- Added fgglossary command
|
65
|
+
- Fixed wrong default command
|
66
|
+
- Drifted tonight carried by the waves
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
package/dev/index.js
ADDED
@@ -0,0 +1,487 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
exports["default"] = void 0;
|
9
|
+
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
11
|
+
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
13
|
+
|
14
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
15
|
+
|
16
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
17
|
+
|
18
|
+
var _sharp = _interopRequireDefault(require("sharp"));
|
19
|
+
|
20
|
+
var _path = _interopRequireDefault(require("path"));
|
21
|
+
|
22
|
+
var _glob = _interopRequireDefault(require("glob"));
|
23
|
+
|
24
|
+
var _sequelize = require("sequelize");
|
25
|
+
|
26
|
+
var _requestPromise = _interopRequireDefault(require("request-promise"));
|
27
|
+
|
28
|
+
var imgPath = _path["default"].join(__dirname, 'img');
|
29
|
+
|
30
|
+
var basicInputs = new Map();
|
31
|
+
var gameInputs = new Map();
|
32
|
+
var glossary = {};
|
33
|
+
var terms = [];
|
34
|
+
getGlossary();
|
35
|
+
setInterval(getGlossary, 5 * 60 * 1000);
|
36
|
+
|
37
|
+
function getGlossary() {
|
38
|
+
return _getGlossary.apply(this, arguments);
|
39
|
+
}
|
40
|
+
|
41
|
+
function _getGlossary() {
|
42
|
+
_getGlossary = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
|
43
|
+
var result, tempG, tempT;
|
44
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
45
|
+
while (1) {
|
46
|
+
switch (_context6.prev = _context6.next) {
|
47
|
+
case 0:
|
48
|
+
_context6.t0 = JSON;
|
49
|
+
_context6.next = 3;
|
50
|
+
return (0, _requestPromise["default"])('https://glossary.infil.net/json/glossary.json');
|
51
|
+
|
52
|
+
case 3:
|
53
|
+
_context6.t1 = _context6.sent;
|
54
|
+
result = _context6.t0.parse.call(_context6.t0, _context6.t1);
|
55
|
+
tempG = {};
|
56
|
+
tempT = [];
|
57
|
+
result.forEach(function (i) {
|
58
|
+
var term = i.term.toLowerCase();
|
59
|
+
tempG[term] = i;
|
60
|
+
tempT.push(term);
|
61
|
+
});
|
62
|
+
glossary = tempG;
|
63
|
+
terms = tempT;
|
64
|
+
|
65
|
+
case 10:
|
66
|
+
case "end":
|
67
|
+
return _context6.stop();
|
68
|
+
}
|
69
|
+
}
|
70
|
+
}, _callee6);
|
71
|
+
}));
|
72
|
+
return _getGlossary.apply(this, arguments);
|
73
|
+
}
|
74
|
+
|
75
|
+
_glob["default"].sync(_path["default"].join(imgPath, 'basic/**'), {
|
76
|
+
nodir: true
|
77
|
+
}).forEach(function (p) {
|
78
|
+
var input = p.split('/').pop().replace('.png', '');
|
79
|
+
basicInputs.set(input, p);
|
80
|
+
});
|
81
|
+
|
82
|
+
basicInputs.set('>>', _path["default"].join(imgPath, 'basic/doubleforward.png'));
|
83
|
+
|
84
|
+
_glob["default"].sync(_path["default"].join(imgPath, 'games/**'), {
|
85
|
+
nodir: true
|
86
|
+
}).forEach(function (p) {
|
87
|
+
var _path$parse = _path["default"].parse(_path["default"].relative(_path["default"].join(imgPath, 'games'), p)),
|
88
|
+
dir = _path$parse.dir,
|
89
|
+
name = _path$parse.name;
|
90
|
+
|
91
|
+
if (!gameInputs.has(dir)) gameInputs.set(dir, new Map());
|
92
|
+
gameInputs.get(dir).set(name, p);
|
93
|
+
});
|
94
|
+
|
95
|
+
function solveInput(inputs, input) {
|
96
|
+
if (inputs.has(input)) return [input];
|
97
|
+
|
98
|
+
for (var i = 0; i < input.length; i++) {
|
99
|
+
var s1 = input.slice(0, 0 - i);
|
100
|
+
if (inputs.has(s1)) return [s1].concat((0, _toConsumableArray2["default"])(solveInput(inputs, input.slice(0 - i))));
|
101
|
+
}
|
102
|
+
|
103
|
+
throw new Error("Cannot find \"".concat(input, "\" as a recognizable input"));
|
104
|
+
}
|
105
|
+
|
106
|
+
function sendInput(_x, _x2, _x3, _x4) {
|
107
|
+
return _sendInput.apply(this, arguments);
|
108
|
+
}
|
109
|
+
|
110
|
+
function _sendInput() {
|
111
|
+
_sendInput = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7(inputs, result, message, caption) {
|
112
|
+
var canvas;
|
113
|
+
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
114
|
+
while (1) {
|
115
|
+
switch (_context7.prev = _context7.next) {
|
116
|
+
case 0:
|
117
|
+
_context7.next = 2;
|
118
|
+
return (0, _sharp["default"])({
|
119
|
+
create: {
|
120
|
+
width: 152 * result.length,
|
121
|
+
height: 152,
|
122
|
+
channels: 4,
|
123
|
+
background: 'transparent'
|
124
|
+
}
|
125
|
+
}).composite(result.map(function (it, index) {
|
126
|
+
return {
|
127
|
+
input: inputs.get(it),
|
128
|
+
left: index * 152,
|
129
|
+
top: 0,
|
130
|
+
width: 152,
|
131
|
+
height: 152
|
132
|
+
};
|
133
|
+
})).png().toBuffer();
|
134
|
+
|
135
|
+
case 2:
|
136
|
+
canvas = _context7.sent;
|
137
|
+
return _context7.abrupt("return", message.reply({
|
138
|
+
content: caption,
|
139
|
+
files: [canvas]
|
140
|
+
}));
|
141
|
+
|
142
|
+
case 4:
|
143
|
+
case "end":
|
144
|
+
return _context7.stop();
|
145
|
+
}
|
146
|
+
}
|
147
|
+
}, _callee7);
|
148
|
+
}));
|
149
|
+
return _sendInput.apply(this, arguments);
|
150
|
+
}
|
151
|
+
|
152
|
+
var builtin = {
|
153
|
+
37: {
|
154
|
+
game: 'sf',
|
155
|
+
caption: '***LETS GO JUSTIN!***',
|
156
|
+
input: '6 6 6 6 6 6 6 >> 6 6 6 6 6 6 6 >> 8 6 j. hk >> 2 mk >> 623 mp >> 236 236 lk'
|
157
|
+
}
|
158
|
+
};
|
159
|
+
var _default = {
|
160
|
+
name: 'fg-notation',
|
161
|
+
intents: ['GUILD_MESSAGES'],
|
162
|
+
partials: ['MESSAGE'],
|
163
|
+
preload: function preload(sequelize) {
|
164
|
+
sequelize.define('fginput', {
|
165
|
+
guild: {
|
166
|
+
type: _sequelize.DataTypes.STRING,
|
167
|
+
primaryKey: true
|
168
|
+
},
|
169
|
+
name: {
|
170
|
+
type: _sequelize.DataTypes.STRING,
|
171
|
+
primaryKey: true
|
172
|
+
},
|
173
|
+
createdBy: _sequelize.DataTypes.STRING,
|
174
|
+
game: _sequelize.DataTypes.STRING,
|
175
|
+
caption: _sequelize.DataTypes.STRING,
|
176
|
+
input: _sequelize.DataTypes.STRING
|
177
|
+
});
|
178
|
+
},
|
179
|
+
events: {
|
180
|
+
messageCreate: function messageCreate(global, message) {
|
181
|
+
return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
182
|
+
var client, config, sequelize, guildId, prefix, name, row, inputs;
|
183
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
184
|
+
while (1) {
|
185
|
+
switch (_context.prev = _context.next) {
|
186
|
+
case 0:
|
187
|
+
client = global.client, config = global.config, sequelize = global.sequelize;
|
188
|
+
|
189
|
+
if (!(message.author.id === client.user.id || !message.member)) {
|
190
|
+
_context.next = 3;
|
191
|
+
break;
|
192
|
+
}
|
193
|
+
|
194
|
+
return _context.abrupt("return");
|
195
|
+
|
196
|
+
case 3:
|
197
|
+
guildId = message.guildId;
|
198
|
+
prefix = config[guildId].prefix;
|
199
|
+
|
200
|
+
if (!message.content.startsWith(prefix)) {
|
201
|
+
_context.next = 14;
|
202
|
+
break;
|
203
|
+
}
|
204
|
+
|
205
|
+
name = message.content.split(' ').pop().replace(prefix, '');
|
206
|
+
_context.t0 = builtin[name];
|
207
|
+
|
208
|
+
if (_context.t0) {
|
209
|
+
_context.next = 12;
|
210
|
+
break;
|
211
|
+
}
|
212
|
+
|
213
|
+
_context.next = 11;
|
214
|
+
return sequelize.models.fginput.findOne({
|
215
|
+
where: {
|
216
|
+
guild: message.guild.id,
|
217
|
+
name: name
|
218
|
+
}
|
219
|
+
});
|
220
|
+
|
221
|
+
case 11:
|
222
|
+
_context.t0 = _context.sent;
|
223
|
+
|
224
|
+
case 12:
|
225
|
+
row = _context.t0;
|
226
|
+
|
227
|
+
if (row) {
|
228
|
+
inputs = new Map([].concat((0, _toConsumableArray2["default"])(basicInputs), (0, _toConsumableArray2["default"])(gameInputs.get(row.game))));
|
229
|
+
sendInput(inputs, row.input.split(' '), message, row.caption);
|
230
|
+
}
|
231
|
+
|
232
|
+
case 14:
|
233
|
+
case "end":
|
234
|
+
return _context.stop();
|
235
|
+
}
|
236
|
+
}
|
237
|
+
}, _callee);
|
238
|
+
}))();
|
239
|
+
}
|
240
|
+
},
|
241
|
+
commands: {
|
242
|
+
fgi: {
|
243
|
+
usage: 'fgi [game] [inputs]',
|
244
|
+
desc: 'Converts a list of inputs into an image',
|
245
|
+
example: 'fgi sf 236P 214K',
|
246
|
+
execute: function () {
|
247
|
+
var _execute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(_ref, _ref2) {
|
248
|
+
var param, message, _param, game, i1, inputs, result;
|
249
|
+
|
250
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
251
|
+
while (1) {
|
252
|
+
switch (_context2.prev = _context2.next) {
|
253
|
+
case 0:
|
254
|
+
param = _ref.param;
|
255
|
+
message = _ref2.message;
|
256
|
+
_param = (0, _slicedToArray2["default"])(param, 3), game = _param[1], i1 = _param[2];
|
257
|
+
|
258
|
+
if (!(!game || !i1)) {
|
259
|
+
_context2.next = 5;
|
260
|
+
break;
|
261
|
+
}
|
262
|
+
|
263
|
+
return _context2.abrupt("return", message.reply('Missing arguments. Example: >fgi sf 236P 214K'));
|
264
|
+
|
265
|
+
case 5:
|
266
|
+
if (gameInputs.has(game)) {
|
267
|
+
_context2.next = 7;
|
268
|
+
break;
|
269
|
+
}
|
270
|
+
|
271
|
+
return _context2.abrupt("return", message.reply("\"".concat(game, "\" is not a valid game. Available games: ").concat(Array.from(gameInputs.keys()).join(' '))));
|
272
|
+
|
273
|
+
case 7:
|
274
|
+
inputs = new Map([].concat((0, _toConsumableArray2["default"])(basicInputs), (0, _toConsumableArray2["default"])(gameInputs.get(game))));
|
275
|
+
result = param.slice(2).map(function (i) {
|
276
|
+
return solveInput(inputs, i.toLowerCase());
|
277
|
+
}).flat();
|
278
|
+
sendInput(inputs, result, message);
|
279
|
+
|
280
|
+
case 10:
|
281
|
+
case "end":
|
282
|
+
return _context2.stop();
|
283
|
+
}
|
284
|
+
}
|
285
|
+
}, _callee2);
|
286
|
+
}));
|
287
|
+
|
288
|
+
function execute(_x5, _x6) {
|
289
|
+
return _execute.apply(this, arguments);
|
290
|
+
}
|
291
|
+
|
292
|
+
return execute;
|
293
|
+
}()
|
294
|
+
},
|
295
|
+
fgsave: {
|
296
|
+
usage: 'fgsave [game] [name] [inputs]',
|
297
|
+
desc: 'Saves a list of inputs into a command',
|
298
|
+
example: 'fgi sf testName 236P 214K',
|
299
|
+
execute: function () {
|
300
|
+
var _execute2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref3, _ref4) {
|
301
|
+
var param, sequelize, message, _param2, game, name, i1, inputs, input;
|
302
|
+
|
303
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
304
|
+
while (1) {
|
305
|
+
switch (_context3.prev = _context3.next) {
|
306
|
+
case 0:
|
307
|
+
param = _ref3.param, sequelize = _ref3.sequelize;
|
308
|
+
message = _ref4.message;
|
309
|
+
_param2 = (0, _slicedToArray2["default"])(param, 4), game = _param2[1], name = _param2[2], i1 = _param2[3];
|
310
|
+
|
311
|
+
if (!(!game || !name || !i1)) {
|
312
|
+
_context3.next = 5;
|
313
|
+
break;
|
314
|
+
}
|
315
|
+
|
316
|
+
return _context3.abrupt("return", message.reply('Missing arguments. Example: >fgi sf testName 236P 214K'));
|
317
|
+
|
318
|
+
case 5:
|
319
|
+
if (gameInputs.has(game)) {
|
320
|
+
_context3.next = 7;
|
321
|
+
break;
|
322
|
+
}
|
323
|
+
|
324
|
+
return _context3.abrupt("return", message.reply("\"".concat(game, "\" is not a valid game. Available games: ").concat(Array.from(gameInputs.keys()).join(' '))));
|
325
|
+
|
326
|
+
case 7:
|
327
|
+
inputs = new Map([].concat((0, _toConsumableArray2["default"])(basicInputs), (0, _toConsumableArray2["default"])(gameInputs.get(game))));
|
328
|
+
input = param.slice(3).map(function (i) {
|
329
|
+
return solveInput(inputs, i.toLowerCase());
|
330
|
+
}).flat().join(' ');
|
331
|
+
_context3.next = 11;
|
332
|
+
return sequelize.models.fginput.create({
|
333
|
+
guild: message.guild.id,
|
334
|
+
name: name,
|
335
|
+
createdBy: message.author.id,
|
336
|
+
game: game,
|
337
|
+
input: input
|
338
|
+
});
|
339
|
+
|
340
|
+
case 11:
|
341
|
+
message.channel.send("Saved command \"".concat(input, "\" as \"").concat(name, "\""));
|
342
|
+
|
343
|
+
case 12:
|
344
|
+
case "end":
|
345
|
+
return _context3.stop();
|
346
|
+
}
|
347
|
+
}
|
348
|
+
}, _callee3);
|
349
|
+
}));
|
350
|
+
|
351
|
+
function execute(_x7, _x8) {
|
352
|
+
return _execute2.apply(this, arguments);
|
353
|
+
}
|
354
|
+
|
355
|
+
return execute;
|
356
|
+
}()
|
357
|
+
},
|
358
|
+
fgcaption: {
|
359
|
+
usage: 'fgcaption [name] [caption]',
|
360
|
+
desc: 'Adds a caption to a saved input command',
|
361
|
+
example: 'fgcaption testName This is a caption',
|
362
|
+
execute: function () {
|
363
|
+
var _execute3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(_ref5, _ref6) {
|
364
|
+
var param, sequelize, message, _param3, name, i1, row;
|
365
|
+
|
366
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
367
|
+
while (1) {
|
368
|
+
switch (_context4.prev = _context4.next) {
|
369
|
+
case 0:
|
370
|
+
param = _ref5.param, sequelize = _ref5.sequelize;
|
371
|
+
message = _ref6.message;
|
372
|
+
_param3 = (0, _slicedToArray2["default"])(param, 3), name = _param3[1], i1 = _param3[2];
|
373
|
+
|
374
|
+
if (!(!name || !i1)) {
|
375
|
+
_context4.next = 5;
|
376
|
+
break;
|
377
|
+
}
|
378
|
+
|
379
|
+
return _context4.abrupt("return", message.reply('Missing arguments. Example: >fgi testName This is a caption'));
|
380
|
+
|
381
|
+
case 5:
|
382
|
+
_context4.next = 7;
|
383
|
+
return sequelize.models.fginput.findOne({
|
384
|
+
where: {
|
385
|
+
guild: message.guild.id,
|
386
|
+
name: name
|
387
|
+
}
|
388
|
+
});
|
389
|
+
|
390
|
+
case 7:
|
391
|
+
row = _context4.sent;
|
392
|
+
|
393
|
+
if (row) {
|
394
|
+
_context4.next = 10;
|
395
|
+
break;
|
396
|
+
}
|
397
|
+
|
398
|
+
return _context4.abrupt("return", message.reply("\"".concat(name, "\" is not a saved input list")));
|
399
|
+
|
400
|
+
case 10:
|
401
|
+
row.caption = param.slice(2).join(' ');
|
402
|
+
_context4.next = 13;
|
403
|
+
return row.save();
|
404
|
+
|
405
|
+
case 13:
|
406
|
+
message.channel.send("Saved caption for input list \"".concat(name, "\""));
|
407
|
+
|
408
|
+
case 14:
|
409
|
+
case "end":
|
410
|
+
return _context4.stop();
|
411
|
+
}
|
412
|
+
}
|
413
|
+
}, _callee4);
|
414
|
+
}));
|
415
|
+
|
416
|
+
function execute(_x9, _x10) {
|
417
|
+
return _execute3.apply(this, arguments);
|
418
|
+
}
|
419
|
+
|
420
|
+
return execute;
|
421
|
+
}()
|
422
|
+
},
|
423
|
+
fgglossary: {
|
424
|
+
usage: 'fgglossary [search term]',
|
425
|
+
desc: 'Searches for a term on Infil\'s Glossary',
|
426
|
+
example: 'fgglossary mexican uppercut',
|
427
|
+
execute: function () {
|
428
|
+
var _execute4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(_ref7, _ref8) {
|
429
|
+
var param, sequelize, message, params, search, result, url;
|
430
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
431
|
+
while (1) {
|
432
|
+
switch (_context5.prev = _context5.next) {
|
433
|
+
case 0:
|
434
|
+
param = _ref7.param, sequelize = _ref7.sequelize;
|
435
|
+
message = _ref8.message;
|
436
|
+
params = param.slice(1);
|
437
|
+
|
438
|
+
if (!(params.length === 0)) {
|
439
|
+
_context5.next = 5;
|
440
|
+
break;
|
441
|
+
}
|
442
|
+
|
443
|
+
return _context5.abrupt("return", message.reply('Missing search term. Example: >fgglossary mexican uppercut'));
|
444
|
+
|
445
|
+
case 5:
|
446
|
+
search = params.join(' ').toLowerCase();
|
447
|
+
result = terms.filter(function (i) {
|
448
|
+
return i.includes(search);
|
449
|
+
});
|
450
|
+
url = "https://glossary.infil.net/?t=".concat(params.join('%20').toLowerCase());
|
451
|
+
|
452
|
+
if (!(result.length === 0)) {
|
453
|
+
_context5.next = 10;
|
454
|
+
break;
|
455
|
+
}
|
456
|
+
|
457
|
+
return _context5.abrupt("return", message.reply("Term \"".concat(search, "\" not found")));
|
458
|
+
|
459
|
+
case 10:
|
460
|
+
if (!(result.length === 1)) {
|
461
|
+
_context5.next = 12;
|
462
|
+
break;
|
463
|
+
}
|
464
|
+
|
465
|
+
return _context5.abrupt("return", message.reply("```".concat(glossary[result[0]].def, "```Source: <").concat(url, ">")));
|
466
|
+
|
467
|
+
case 12:
|
468
|
+
message.reply(url);
|
469
|
+
|
470
|
+
case 13:
|
471
|
+
case "end":
|
472
|
+
return _context5.stop();
|
473
|
+
}
|
474
|
+
}
|
475
|
+
}, _callee5);
|
476
|
+
}));
|
477
|
+
|
478
|
+
function execute(_x11, _x12) {
|
479
|
+
return _execute4.apply(this, arguments);
|
480
|
+
}
|
481
|
+
|
482
|
+
return execute;
|
483
|
+
}()
|
484
|
+
}
|
485
|
+
}
|
486
|
+
};
|
487
|
+
exports["default"] = _default;
|
package/lib/index.js
CHANGED
@@ -484,5 +484,4 @@ var _default = {
|
|
484
484
|
}
|
485
485
|
}
|
486
486
|
};
|
487
|
-
exports["default"] = _default;
|
488
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJpbWdQYXRoIiwicGF0aCIsImpvaW4iLCJfX2Rpcm5hbWUiLCJiYXNpY0lucHV0cyIsIk1hcCIsImdhbWVJbnB1dHMiLCJnbG9zc2FyeSIsInRlcm1zIiwiZ2V0R2xvc3NhcnkiLCJzZXRJbnRlcnZhbCIsIkpTT04iLCJyZXN1bHQiLCJwYXJzZSIsInRlbXBHIiwidGVtcFQiLCJmb3JFYWNoIiwiaSIsInRlcm0iLCJ0b0xvd2VyQ2FzZSIsInB1c2giLCJnbG9iIiwic3luYyIsIm5vZGlyIiwicCIsImlucHV0Iiwic3BsaXQiLCJwb3AiLCJyZXBsYWNlIiwic2V0IiwicmVsYXRpdmUiLCJkaXIiLCJuYW1lIiwiaGFzIiwiZ2V0Iiwic29sdmVJbnB1dCIsImlucHV0cyIsImxlbmd0aCIsInMxIiwic2xpY2UiLCJFcnJvciIsInNlbmRJbnB1dCIsIm1lc3NhZ2UiLCJjYXB0aW9uIiwiY3JlYXRlIiwid2lkdGgiLCJoZWlnaHQiLCJjaGFubmVscyIsImJhY2tncm91bmQiLCJjb21wb3NpdGUiLCJtYXAiLCJpdCIsImluZGV4IiwibGVmdCIsInRvcCIsInBuZyIsInRvQnVmZmVyIiwiY2FudmFzIiwicmVwbHkiLCJjb250ZW50IiwiZmlsZXMiLCJidWlsdGluIiwiZ2FtZSIsImludGVudHMiLCJwYXJ0aWFscyIsInByZWxvYWQiLCJzZXF1ZWxpemUiLCJkZWZpbmUiLCJndWlsZCIsInR5cGUiLCJEYXRhVHlwZXMiLCJTVFJJTkciLCJwcmltYXJ5S2V5IiwiY3JlYXRlZEJ5IiwiZXZlbnRzIiwibWVzc2FnZUNyZWF0ZSIsImdsb2JhbCIsImNsaWVudCIsImNvbmZpZyIsImF1dGhvciIsImlkIiwidXNlciIsIm1lbWJlciIsImd1aWxkSWQiLCJwcmVmaXgiLCJzdGFydHNXaXRoIiwibW9kZWxzIiwiZmdpbnB1dCIsImZpbmRPbmUiLCJ3aGVyZSIsInJvdyIsImNvbW1hbmRzIiwiZmdpIiwidXNhZ2UiLCJkZXNjIiwiZXhhbXBsZSIsImV4ZWN1dGUiLCJwYXJhbSIsImkxIiwiQXJyYXkiLCJmcm9tIiwia2V5cyIsImZsYXQiLCJmZ3NhdmUiLCJjaGFubmVsIiwic2VuZCIsImZnY2FwdGlvbiIsInNhdmUiLCJmZ2dsb3NzYXJ5IiwicGFyYW1zIiwic2VhcmNoIiwiZmlsdGVyIiwiaW5jbHVkZXMiLCJ1cmwiLCJkZWYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUEsSUFBTUEsT0FBTyxHQUFHQyxpQkFBS0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLEtBQXJCLENBQWhCOztBQUNBLElBQU1DLFdBQVcsR0FBRyxJQUFJQyxHQUFKLEVBQXBCO0FBQ0EsSUFBTUMsVUFBVSxHQUFHLElBQUlELEdBQUosRUFBbkI7QUFFQSxJQUFJRSxRQUFRLEdBQUcsRUFBZjtBQUNBLElBQUlDLEtBQUssR0FBRyxFQUFaO0FBRUFDLFdBQVc7QUFDWEMsV0FBVyxDQUFDRCxXQUFELEVBQWMsSUFBSSxFQUFKLEdBQVMsSUFBdkIsQ0FBWDs7U0FFZUEsVzs7Ozs7K0ZBQWY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMkJBQ2lCRSxJQURqQjtBQUFBO0FBQUEsbUJBQ2tDLGdDQUFHLCtDQUFILENBRGxDOztBQUFBO0FBQUE7QUFDUUMsWUFBQUEsTUFEUixnQkFDc0JDLEtBRHRCO0FBRVFDLFlBQUFBLEtBRlIsR0FFZ0IsRUFGaEI7QUFHUUMsWUFBQUEsS0FIUixHQUdnQixFQUhoQjtBQUtFSCxZQUFBQSxNQUFNLENBQUNJLE9BQVAsQ0FBZSxVQUFBQyxDQUFDLEVBQUk7QUFDbEIsa0JBQU1DLElBQUksR0FBR0QsQ0FBQyxDQUFDQyxJQUFGLENBQU9DLFdBQVAsRUFBYjtBQUNBTCxjQUFBQSxLQUFLLENBQUNJLElBQUQsQ0FBTCxHQUFjRCxDQUFkO0FBQ0FGLGNBQUFBLEtBQUssQ0FBQ0ssSUFBTixDQUFXRixJQUFYO0FBQ0QsYUFKRDtBQU1BWCxZQUFBQSxRQUFRLEdBQUdPLEtBQVg7QUFDQU4sWUFBQUEsS0FBSyxHQUFHTyxLQUFSOztBQVpGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEc7Ozs7QUFlQU0saUJBQUtDLElBQUwsQ0FBVXJCLGlCQUFLQyxJQUFMLENBQVVGLE9BQVYsRUFBbUIsVUFBbkIsQ0FBVixFQUEwQztBQUFFdUIsRUFBQUEsS0FBSyxFQUFFO0FBQVQsQ0FBMUMsRUFDR1AsT0FESCxDQUNXLFVBQUFRLENBQUMsRUFBSTtBQUNaLE1BQU1DLEtBQUssR0FBR0QsQ0FBQyxDQUFDRSxLQUFGLENBQVEsR0FBUixFQUFhQyxHQUFiLEdBQW1CQyxPQUFuQixDQUEyQixNQUEzQixFQUFtQyxFQUFuQyxDQUFkO0FBQ0F4QixFQUFBQSxXQUFXLENBQUN5QixHQUFaLENBQWdCSixLQUFoQixFQUF1QkQsQ0FBdkI7QUFDRCxDQUpIOztBQU1BcEIsV0FBVyxDQUFDeUIsR0FBWixDQUFnQixJQUFoQixFQUFzQjVCLGlCQUFLQyxJQUFMLENBQVVGLE9BQVYsRUFBbUIseUJBQW5CLENBQXRCOztBQUVBcUIsaUJBQUtDLElBQUwsQ0FBVXJCLGlCQUFLQyxJQUFMLENBQVVGLE9BQVYsRUFBbUIsVUFBbkIsQ0FBVixFQUEwQztBQUFFdUIsRUFBQUEsS0FBSyxFQUFFO0FBQVQsQ0FBMUMsRUFDR1AsT0FESCxDQUNXLFVBQUFRLENBQUMsRUFBSTtBQUNaLG9CQUFzQnZCLGlCQUFLWSxLQUFMLENBQVdaLGlCQUFLNkIsUUFBTCxDQUFjN0IsaUJBQUtDLElBQUwsQ0FBVUYsT0FBVixFQUFtQixPQUFuQixDQUFkLEVBQTJDd0IsQ0FBM0MsQ0FBWCxDQUF0QjtBQUFBLE1BQVFPLEdBQVIsZUFBUUEsR0FBUjtBQUFBLE1BQWFDLElBQWIsZUFBYUEsSUFBYjs7QUFFQSxNQUFJLENBQUMxQixVQUFVLENBQUMyQixHQUFYLENBQWVGLEdBQWYsQ0FBTCxFQUEwQnpCLFVBQVUsQ0FBQ3VCLEdBQVgsQ0FBZUUsR0FBZixFQUFvQixJQUFJMUIsR0FBSixFQUFwQjtBQUMxQkMsRUFBQUEsVUFBVSxDQUFDNEIsR0FBWCxDQUFlSCxHQUFmLEVBQW9CRixHQUFwQixDQUF3QkcsSUFBeEIsRUFBOEJSLENBQTlCO0FBQ0QsQ0FOSDs7QUFRQSxTQUFTVyxVQUFULENBQXFCQyxNQUFyQixFQUE2QlgsS0FBN0IsRUFBb0M7QUFDbEMsTUFBSVcsTUFBTSxDQUFDSCxHQUFQLENBQVdSLEtBQVgsQ0FBSixFQUF1QixPQUFPLENBQUNBLEtBQUQsQ0FBUDs7QUFFdkIsT0FBSyxJQUFJUixDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHUSxLQUFLLENBQUNZLE1BQTFCLEVBQWtDcEIsQ0FBQyxFQUFuQyxFQUF1QztBQUNyQyxRQUFNcUIsRUFBRSxHQUFHYixLQUFLLENBQUNjLEtBQU4sQ0FBWSxDQUFaLEVBQWUsSUFBSXRCLENBQW5CLENBQVg7QUFDQSxRQUFJbUIsTUFBTSxDQUFDSCxHQUFQLENBQVdLLEVBQVgsQ0FBSixFQUFvQixRQUFRQSxFQUFSLDZDQUFlSCxVQUFVLENBQUNDLE1BQUQsRUFBU1gsS0FBSyxDQUFDYyxLQUFOLENBQVksSUFBSXRCLENBQWhCLENBQVQsQ0FBekI7QUFDckI7O0FBRUQsUUFBTSxJQUFJdUIsS0FBSix5QkFBMEJmLEtBQTFCLGdDQUFOO0FBQ0Q7O1NBRWNnQixTOzs7Ozs2RkFBZixrQkFBMEJMLE1BQTFCLEVBQWtDeEIsTUFBbEMsRUFBMEM4QixPQUExQyxFQUFtREMsT0FBbkQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxtQkFDdUIsdUJBQU07QUFBRUMsY0FBQUEsTUFBTSxFQUFFO0FBQUVDLGdCQUFBQSxLQUFLLEVBQUUsTUFBTWpDLE1BQU0sQ0FBQ3lCLE1BQXRCO0FBQThCUyxnQkFBQUEsTUFBTSxFQUFFLEdBQXRDO0FBQTJDQyxnQkFBQUEsUUFBUSxFQUFFLENBQXJEO0FBQXdEQyxnQkFBQUEsVUFBVSxFQUFFO0FBQXBFO0FBQVYsYUFBTixFQUNsQkMsU0FEa0IsQ0FDUnJDLE1BQU0sQ0FBQ3NDLEdBQVAsQ0FBVyxVQUFDQyxFQUFELEVBQUtDLEtBQUw7QUFBQSxxQkFDbkI7QUFBRTNCLGdCQUFBQSxLQUFLLEVBQUVXLE1BQU0sQ0FBQ0YsR0FBUCxDQUFXaUIsRUFBWCxDQUFUO0FBQXlCRSxnQkFBQUEsSUFBSSxFQUFFRCxLQUFLLEdBQUcsR0FBdkM7QUFBNENFLGdCQUFBQSxHQUFHLEVBQUUsQ0FBakQ7QUFBb0RULGdCQUFBQSxLQUFLLEVBQUUsR0FBM0Q7QUFBZ0VDLGdCQUFBQSxNQUFNLEVBQUU7QUFBeEUsZUFEbUI7QUFBQSxhQUFYLENBRFEsRUFJbEJTLEdBSmtCLEdBS2xCQyxRQUxrQixFQUR2Qjs7QUFBQTtBQUNRQyxZQUFBQSxNQURSO0FBQUEsOENBUVNmLE9BQU8sQ0FBQ2dCLEtBQVIsQ0FBYztBQUFFQyxjQUFBQSxPQUFPLEVBQUVoQixPQUFYO0FBQW9CaUIsY0FBQUEsS0FBSyxFQUFFLENBQUNILE1BQUQ7QUFBM0IsYUFBZCxDQVJUOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEc7Ozs7QUFXQSxJQUFNSSxPQUFPLEdBQUc7QUFDZCxNQUFJO0FBQ0ZDLElBQUFBLElBQUksRUFBRSxJQURKO0FBRUZuQixJQUFBQSxPQUFPLEVBQUUsdUJBRlA7QUFHRmxCLElBQUFBLEtBQUssRUFBRTtBQUhMO0FBRFUsQ0FBaEI7ZUFRZTtBQUNiTyxFQUFBQSxJQUFJLEVBQUUsYUFETztBQUViK0IsRUFBQUEsT0FBTyxFQUFFLENBQUMsZ0JBQUQsQ0FGSTtBQUdiQyxFQUFBQSxRQUFRLEVBQUUsQ0FBQyxTQUFELENBSEc7QUFLYkMsRUFBQUEsT0FBTyxFQUFFLGlCQUFBQyxTQUFTLEVBQUk7QUFDcEJBLElBQUFBLFNBQVMsQ0FBQ0MsTUFBVixDQUFpQixTQUFqQixFQUE0QjtBQUMxQkMsTUFBQUEsS0FBSyxFQUFFO0FBQ0xDLFFBQUFBLElBQUksRUFBRUMscUJBQVVDLE1BRFg7QUFFTEMsUUFBQUEsVUFBVSxFQUFFO0FBRlAsT0FEbUI7QUFLMUJ4QyxNQUFBQSxJQUFJLEVBQUU7QUFDSnFDLFFBQUFBLElBQUksRUFBRUMscUJBQVVDLE1BRFo7QUFFSkMsUUFBQUEsVUFBVSxFQUFFO0FBRlIsT0FMb0I7QUFTMUJDLE1BQUFBLFNBQVMsRUFBRUgscUJBQVVDLE1BVEs7QUFVMUJULE1BQUFBLElBQUksRUFBRVEscUJBQVVDLE1BVlU7QUFXMUI1QixNQUFBQSxPQUFPLEVBQUUyQixxQkFBVUMsTUFYTztBQVkxQjlDLE1BQUFBLEtBQUssRUFBRTZDLHFCQUFVQztBQVpTLEtBQTVCO0FBY0QsR0FwQlk7QUFzQmJHLEVBQUFBLE1BQU0sRUFBRTtBQUNBQyxJQUFBQSxhQURBLHlCQUNlQyxNQURmLEVBQ3VCbEMsT0FEdkIsRUFDZ0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDNUJtQyxnQkFBQUEsTUFENEIsR0FDRUQsTUFERixDQUM1QkMsTUFENEIsRUFDcEJDLE1BRG9CLEdBQ0VGLE1BREYsQ0FDcEJFLE1BRG9CLEVBQ1paLFNBRFksR0FDRVUsTUFERixDQUNaVixTQURZOztBQUFBLHNCQUVoQ3hCLE9BQU8sQ0FBQ3FDLE1BQVIsQ0FBZUMsRUFBZixLQUFzQkgsTUFBTSxDQUFDSSxJQUFQLENBQVlELEVBQWxDLElBQXdDLENBQUN0QyxPQUFPLENBQUN3QyxNQUZqQjtBQUFBO0FBQUE7QUFBQTs7QUFBQTs7QUFBQTtBQUk5QkMsZ0JBQUFBLE9BSjhCLEdBSXBCekMsT0FBTyxDQUFDeUMsT0FKWTtBQUs1QkMsZ0JBQUFBLE1BTDRCLEdBS2pCTixNQUFNLENBQUNLLE9BQUQsQ0FMVyxDQUs1QkMsTUFMNEI7O0FBQUEscUJBT2hDMUMsT0FBTyxDQUFDaUIsT0FBUixDQUFnQjBCLFVBQWhCLENBQTJCRCxNQUEzQixDQVBnQztBQUFBO0FBQUE7QUFBQTs7QUFRNUJwRCxnQkFBQUEsSUFSNEIsR0FRckJVLE9BQU8sQ0FBQ2lCLE9BQVIsQ0FBZ0JqQyxLQUFoQixDQUFzQixHQUF0QixFQUEyQkMsR0FBM0IsR0FBaUNDLE9BQWpDLENBQXlDd0QsTUFBekMsRUFBaUQsRUFBakQsQ0FScUI7QUFBQSw4QkFTdEJ2QixPQUFPLENBQUM3QixJQUFELENBVGU7O0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQSx1QkFVMUJrQyxTQUFTLENBQUNvQixNQUFWLENBQWlCQyxPQUFqQixDQUF5QkMsT0FBekIsQ0FBaUM7QUFDckNDLGtCQUFBQSxLQUFLLEVBQUU7QUFBRXJCLG9CQUFBQSxLQUFLLEVBQUUxQixPQUFPLENBQUMwQixLQUFSLENBQWNZLEVBQXZCO0FBQTJCaEQsb0JBQUFBLElBQUksRUFBSkE7QUFBM0I7QUFEOEIsaUJBQWpDLENBVjBCOztBQUFBO0FBQUE7O0FBQUE7QUFTNUIwRCxnQkFBQUEsR0FUNEI7O0FBZWxDLG9CQUFJQSxHQUFKLEVBQVM7QUFDRHRELGtCQUFBQSxNQURDLEdBQ1EsSUFBSS9CLEdBQUosK0NBQVlELFdBQVosdUNBQTRCRSxVQUFVLENBQUM0QixHQUFYLENBQWV3RCxHQUFHLENBQUM1QixJQUFuQixDQUE1QixHQURSO0FBRVByQixrQkFBQUEsU0FBUyxDQUFDTCxNQUFELEVBQVNzRCxHQUFHLENBQUNqRSxLQUFKLENBQVVDLEtBQVYsQ0FBZ0IsR0FBaEIsQ0FBVCxFQUErQmdCLE9BQS9CLEVBQXdDZ0QsR0FBRyxDQUFDL0MsT0FBNUMsQ0FBVDtBQUNEOztBQWxCaUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFvQnJDO0FBckJLLEdBdEJLO0FBOENiZ0QsRUFBQUEsUUFBUSxFQUFFO0FBQ1JDLElBQUFBLEdBQUcsRUFBRTtBQUNIQyxNQUFBQSxLQUFLLEVBQUUscUJBREo7QUFFSEMsTUFBQUEsSUFBSSxFQUFFLHlDQUZIO0FBR0hDLE1BQUFBLE9BQU8sRUFBRSxrQkFITjtBQUlIQyxNQUFBQSxPQUFPO0FBQUEscUdBQUU7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFTQyxrQkFBQUEsS0FBVCxRQUFTQSxLQUFUO0FBQW9CdkQsa0JBQUFBLE9BQXBCLFNBQW9CQSxPQUFwQjtBQUFBLDJEQUNjdUQsS0FEZCxNQUNFbkMsSUFERixjQUNRb0MsRUFEUjs7QUFBQSx3QkFFSCxDQUFDcEMsSUFBRCxJQUFTLENBQUNvQyxFQUZQO0FBQUE7QUFBQTtBQUFBOztBQUFBLG9EQUVrQnhELE9BQU8sQ0FBQ2dCLEtBQVIsQ0FBYywrQ0FBZCxDQUZsQjs7QUFBQTtBQUFBLHNCQUdGcEQsVUFBVSxDQUFDMkIsR0FBWCxDQUFlNkIsSUFBZixDQUhFO0FBQUE7QUFBQTtBQUFBOztBQUFBLG9EQUcyQnBCLE9BQU8sQ0FBQ2dCLEtBQVIsYUFBa0JJLElBQWxCLHNEQUFpRXFDLEtBQUssQ0FBQ0MsSUFBTixDQUFXOUYsVUFBVSxDQUFDK0YsSUFBWCxFQUFYLEVBQThCbkcsSUFBOUIsQ0FBbUMsR0FBbkMsQ0FBakUsRUFIM0I7O0FBQUE7QUFLRGtDLGtCQUFBQSxNQUxDLEdBS1EsSUFBSS9CLEdBQUosK0NBQVlELFdBQVosdUNBQTRCRSxVQUFVLENBQUM0QixHQUFYLENBQWU0QixJQUFmLENBQTVCLEdBTFI7QUFNRGxELGtCQUFBQSxNQU5DLEdBTVFxRixLQUFLLENBQUMxRCxLQUFOLENBQVksQ0FBWixFQUFlVyxHQUFmLENBQW1CLFVBQUFqQyxDQUFDO0FBQUEsMkJBQUlrQixVQUFVLENBQUNDLE1BQUQsRUFBU25CLENBQUMsQ0FBQ0UsV0FBRixFQUFULENBQWQ7QUFBQSxtQkFBcEIsRUFBNkRtRixJQUE3RCxFQU5SO0FBUVA3RCxrQkFBQUEsU0FBUyxDQUFDTCxNQUFELEVBQVN4QixNQUFULEVBQWlCOEIsT0FBakIsQ0FBVDs7QUFSTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxTQUFGOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBSkosS0FERztBQWdCUjZELElBQUFBLE1BQU0sRUFBRTtBQUNOVixNQUFBQSxLQUFLLEVBQUUsK0JBREQ7QUFFTkMsTUFBQUEsSUFBSSxFQUFFLHVDQUZBO0FBR05DLE1BQUFBLE9BQU8sRUFBRSwyQkFISDtBQUlOQyxNQUFBQSxPQUFPO0FBQUEsc0dBQUU7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFTQyxrQkFBQUEsS0FBVCxTQUFTQSxLQUFULEVBQWdCL0IsU0FBaEIsU0FBZ0JBLFNBQWhCO0FBQStCeEIsa0JBQUFBLE9BQS9CLFNBQStCQSxPQUEvQjtBQUFBLDREQUNvQnVELEtBRHBCLE1BQ0VuQyxJQURGLGVBQ1E5QixJQURSLGVBQ2NrRSxFQURkOztBQUFBLHdCQUVILENBQUNwQyxJQUFELElBQVMsQ0FBQzlCLElBQVYsSUFBa0IsQ0FBQ2tFLEVBRmhCO0FBQUE7QUFBQTtBQUFBOztBQUFBLG9EQUUyQnhELE9BQU8sQ0FBQ2dCLEtBQVIsQ0FBYyx3REFBZCxDQUYzQjs7QUFBQTtBQUFBLHNCQUdGcEQsVUFBVSxDQUFDMkIsR0FBWCxDQUFlNkIsSUFBZixDQUhFO0FBQUE7QUFBQTtBQUFBOztBQUFBLG9EQUcyQnBCLE9BQU8sQ0FBQ2dCLEtBQVIsYUFBa0JJLElBQWxCLHNEQUFpRXFDLEtBQUssQ0FBQ0MsSUFBTixDQUFXOUYsVUFBVSxDQUFDK0YsSUFBWCxFQUFYLEVBQThCbkcsSUFBOUIsQ0FBbUMsR0FBbkMsQ0FBakUsRUFIM0I7O0FBQUE7QUFLRGtDLGtCQUFBQSxNQUxDLEdBS1EsSUFBSS9CLEdBQUosK0NBQVlELFdBQVosdUNBQTRCRSxVQUFVLENBQUM0QixHQUFYLENBQWU0QixJQUFmLENBQTVCLEdBTFI7QUFNRHJDLGtCQUFBQSxLQU5DLEdBTU93RSxLQUFLLENBQUMxRCxLQUFOLENBQVksQ0FBWixFQUFlVyxHQUFmLENBQW1CLFVBQUFqQyxDQUFDO0FBQUEsMkJBQUlrQixVQUFVLENBQUNDLE1BQUQsRUFBU25CLENBQUMsQ0FBQ0UsV0FBRixFQUFULENBQWQ7QUFBQSxtQkFBcEIsRUFBNkRtRixJQUE3RCxHQUFvRXBHLElBQXBFLENBQXlFLEdBQXpFLENBTlA7QUFBQTtBQUFBLHlCQVFEZ0UsU0FBUyxDQUFDb0IsTUFBVixDQUFpQkMsT0FBakIsQ0FBeUIzQyxNQUF6QixDQUFnQztBQUFFd0Isb0JBQUFBLEtBQUssRUFBRTFCLE9BQU8sQ0FBQzBCLEtBQVIsQ0FBY1ksRUFBdkI7QUFBMkJoRCxvQkFBQUEsSUFBSSxFQUFKQSxJQUEzQjtBQUFpQ3lDLG9CQUFBQSxTQUFTLEVBQUUvQixPQUFPLENBQUNxQyxNQUFSLENBQWVDLEVBQTNEO0FBQStEbEIsb0JBQUFBLElBQUksRUFBSkEsSUFBL0Q7QUFBcUVyQyxvQkFBQUEsS0FBSyxFQUFMQTtBQUFyRSxtQkFBaEMsQ0FSQzs7QUFBQTtBQVVQaUIsa0JBQUFBLE9BQU8sQ0FBQzhELE9BQVIsQ0FBZ0JDLElBQWhCLDJCQUF1Q2hGLEtBQXZDLHFCQUFxRE8sSUFBckQ7O0FBVk87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsU0FBRjs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUpELEtBaEJBO0FBaUNSMEUsSUFBQUEsU0FBUyxFQUFFO0FBQ1RiLE1BQUFBLEtBQUssRUFBRSw0QkFERTtBQUVUQyxNQUFBQSxJQUFJLEVBQUUseUNBRkc7QUFHVEMsTUFBQUEsT0FBTyxFQUFFLHNDQUhBO0FBSVRDLE1BQUFBLE9BQU87QUFBQSxzR0FBRTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQVNDLGtCQUFBQSxLQUFULFNBQVNBLEtBQVQsRUFBZ0IvQixTQUFoQixTQUFnQkEsU0FBaEI7QUFBK0J4QixrQkFBQUEsT0FBL0IsU0FBK0JBLE9BQS9CO0FBQUEsNERBQ2N1RCxLQURkLE1BQ0VqRSxJQURGLGVBQ1FrRSxFQURSOztBQUFBLHdCQUVILENBQUNsRSxJQUFELElBQVMsQ0FBQ2tFLEVBRlA7QUFBQTtBQUFBO0FBQUE7O0FBQUEsb0RBRWtCeEQsT0FBTyxDQUFDZ0IsS0FBUixDQUFjLDZEQUFkLENBRmxCOztBQUFBO0FBQUE7QUFBQSx5QkFJV1EsU0FBUyxDQUFDb0IsTUFBVixDQUFpQkMsT0FBakIsQ0FBeUJDLE9BQXpCLENBQWlDO0FBQ2pEQyxvQkFBQUEsS0FBSyxFQUFFO0FBQUVyQixzQkFBQUEsS0FBSyxFQUFFMUIsT0FBTyxDQUFDMEIsS0FBUixDQUFjWSxFQUF2QjtBQUEyQmhELHNCQUFBQSxJQUFJLEVBQUpBO0FBQTNCO0FBRDBDLG1CQUFqQyxDQUpYOztBQUFBO0FBSUQwRCxrQkFBQUEsR0FKQzs7QUFBQSxzQkFRRkEsR0FSRTtBQUFBO0FBQUE7QUFBQTs7QUFBQSxvREFRVWhELE9BQU8sQ0FBQ2dCLEtBQVIsYUFBa0IxQixJQUFsQixrQ0FSVjs7QUFBQTtBQVNQMEQsa0JBQUFBLEdBQUcsQ0FBQy9DLE9BQUosR0FBY3NELEtBQUssQ0FBQzFELEtBQU4sQ0FBWSxDQUFaLEVBQWVyQyxJQUFmLENBQW9CLEdBQXBCLENBQWQ7QUFUTztBQUFBLHlCQVVEd0YsR0FBRyxDQUFDaUIsSUFBSixFQVZDOztBQUFBO0FBWVBqRSxrQkFBQUEsT0FBTyxDQUFDOEQsT0FBUixDQUFnQkMsSUFBaEIsMENBQXNEekUsSUFBdEQ7O0FBWk87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsU0FBRjs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUpFLEtBakNIO0FBb0RSNEUsSUFBQUEsVUFBVSxFQUFFO0FBQ1ZmLE1BQUFBLEtBQUssRUFBRSwwQkFERztBQUVWQyxNQUFBQSxJQUFJLEVBQUUsMENBRkk7QUFHVkMsTUFBQUEsT0FBTyxFQUFFLDZCQUhDO0FBSVZDLE1BQUFBLE9BQU87QUFBQSxzR0FBRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBU0Msa0JBQUFBLEtBQVQsU0FBU0EsS0FBVCxFQUFnQi9CLFNBQWhCLFNBQWdCQSxTQUFoQjtBQUErQnhCLGtCQUFBQSxPQUEvQixTQUErQkEsT0FBL0I7QUFDRG1FLGtCQUFBQSxNQURDLEdBQ1FaLEtBQUssQ0FBQzFELEtBQU4sQ0FBWSxDQUFaLENBRFI7O0FBQUEsd0JBRUhzRSxNQUFNLENBQUN4RSxNQUFQLEtBQWtCLENBRmY7QUFBQTtBQUFBO0FBQUE7O0FBQUEsb0RBRXlCSyxPQUFPLENBQUNnQixLQUFSLENBQWMsNERBQWQsQ0FGekI7O0FBQUE7QUFJRG9ELGtCQUFBQSxNQUpDLEdBSVFELE1BQU0sQ0FBQzNHLElBQVAsQ0FBWSxHQUFaLEVBQWlCaUIsV0FBakIsRUFKUjtBQUtEUCxrQkFBQUEsTUFMQyxHQUtRSixLQUFLLENBQUN1RyxNQUFOLENBQWEsVUFBQTlGLENBQUM7QUFBQSwyQkFBSUEsQ0FBQyxDQUFDK0YsUUFBRixDQUFXRixNQUFYLENBQUo7QUFBQSxtQkFBZCxDQUxSO0FBTURHLGtCQUFBQSxHQU5DLDJDQU1zQ0osTUFBTSxDQUFDM0csSUFBUCxDQUFZLEtBQVosRUFBbUJpQixXQUFuQixFQU50Qzs7QUFBQSx3QkFRSFAsTUFBTSxDQUFDeUIsTUFBUCxLQUFrQixDQVJmO0FBQUE7QUFBQTtBQUFBOztBQUFBLG9EQVF5QkssT0FBTyxDQUFDZ0IsS0FBUixrQkFBdUJvRCxNQUF2QixrQkFSekI7O0FBQUE7QUFBQSx3QkFTSGxHLE1BQU0sQ0FBQ3lCLE1BQVAsS0FBa0IsQ0FUZjtBQUFBO0FBQUE7QUFBQTs7QUFBQSxvREFTeUJLLE9BQU8sQ0FBQ2dCLEtBQVIsY0FBdUJuRCxRQUFRLENBQUNLLE1BQU0sQ0FBQyxDQUFELENBQVAsQ0FBUixDQUFvQnNHLEdBQTNDLHlCQUFnRUQsR0FBaEUsT0FUekI7O0FBQUE7QUFXUHZFLGtCQUFBQSxPQUFPLENBQUNnQixLQUFSLENBQWN1RCxHQUFkOztBQVhPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLFNBQUY7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFKRztBQXBESjtBQTlDRyxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNoYXJwIGZyb20gJ3NoYXJwJ1xyXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xyXG5pbXBvcnQgZ2xvYiBmcm9tICdnbG9iJ1xyXG5pbXBvcnQgeyBEYXRhVHlwZXMgfSBmcm9tICdzZXF1ZWxpemUnXHJcbmltcG9ydCBycCBmcm9tICdyZXF1ZXN0LXByb21pc2UnXHJcblxyXG5jb25zdCBpbWdQYXRoID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJ2ltZycpXHJcbmNvbnN0IGJhc2ljSW5wdXRzID0gbmV3IE1hcCgpXHJcbmNvbnN0IGdhbWVJbnB1dHMgPSBuZXcgTWFwKClcclxuXHJcbmxldCBnbG9zc2FyeSA9IHt9XHJcbmxldCB0ZXJtcyA9IFtdXHJcblxyXG5nZXRHbG9zc2FyeSgpXHJcbnNldEludGVydmFsKGdldEdsb3NzYXJ5LCA1ICogNjAgKiAxMDAwKVxyXG5cclxuYXN5bmMgZnVuY3Rpb24gZ2V0R2xvc3NhcnkgKCkge1xyXG4gIGNvbnN0IHJlc3VsdCA9IEpTT04ucGFyc2UoYXdhaXQgcnAoJ2h0dHBzOi8vZ2xvc3NhcnkuaW5maWwubmV0L2pzb24vZ2xvc3NhcnkuanNvbicpKVxyXG4gIGNvbnN0IHRlbXBHID0ge31cclxuICBjb25zdCB0ZW1wVCA9IFtdXHJcblxyXG4gIHJlc3VsdC5mb3JFYWNoKGkgPT4ge1xyXG4gICAgY29uc3QgdGVybSA9IGkudGVybS50b0xvd2VyQ2FzZSgpXHJcbiAgICB0ZW1wR1t0ZXJtXSA9IGlcclxuICAgIHRlbXBULnB1c2godGVybSlcclxuICB9KVxyXG5cclxuICBnbG9zc2FyeSA9IHRlbXBHXHJcbiAgdGVybXMgPSB0ZW1wVFxyXG59XHJcblxyXG5nbG9iLnN5bmMocGF0aC5qb2luKGltZ1BhdGgsICdiYXNpYy8qKicpLCB7IG5vZGlyOiB0cnVlIH0pXHJcbiAgLmZvckVhY2gocCA9PiB7XHJcbiAgICBjb25zdCBpbnB1dCA9IHAuc3BsaXQoJy8nKS5wb3AoKS5yZXBsYWNlKCcucG5nJywgJycpXHJcbiAgICBiYXNpY0lucHV0cy5zZXQoaW5wdXQsIHApXHJcbiAgfSlcclxuXHJcbmJhc2ljSW5wdXRzLnNldCgnPj4nLCBwYXRoLmpvaW4oaW1nUGF0aCwgJ2Jhc2ljL2RvdWJsZWZvcndhcmQucG5nJykpXHJcblxyXG5nbG9iLnN5bmMocGF0aC5qb2luKGltZ1BhdGgsICdnYW1lcy8qKicpLCB7IG5vZGlyOiB0cnVlIH0pXHJcbiAgLmZvckVhY2gocCA9PiB7XHJcbiAgICBjb25zdCB7IGRpciwgbmFtZSB9ID0gcGF0aC5wYXJzZShwYXRoLnJlbGF0aXZlKHBhdGguam9pbihpbWdQYXRoLCAnZ2FtZXMnKSwgcCkpXHJcblxyXG4gICAgaWYgKCFnYW1lSW5wdXRzLmhhcyhkaXIpKSBnYW1lSW5wdXRzLnNldChkaXIsIG5ldyBNYXAoKSlcclxuICAgIGdhbWVJbnB1dHMuZ2V0KGRpcikuc2V0KG5hbWUsIHApXHJcbiAgfSlcclxuXHJcbmZ1bmN0aW9uIHNvbHZlSW5wdXQgKGlucHV0cywgaW5wdXQpIHtcclxuICBpZiAoaW5wdXRzLmhhcyhpbnB1dCkpIHJldHVybiBbaW5wdXRdXHJcblxyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXQubGVuZ3RoOyBpKyspIHtcclxuICAgIGNvbnN0IHMxID0gaW5wdXQuc2xpY2UoMCwgMCAtIGkpXHJcbiAgICBpZiAoaW5wdXRzLmhhcyhzMSkpIHJldHVybiBbczEsIC4uLnNvbHZlSW5wdXQoaW5wdXRzLCBpbnB1dC5zbGljZSgwIC0gaSkpXVxyXG4gIH1cclxuXHJcbiAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBcIiR7aW5wdXR9XCIgYXMgYSByZWNvZ25pemFibGUgaW5wdXRgKVxyXG59XHJcblxyXG5hc3luYyBmdW5jdGlvbiBzZW5kSW5wdXQgKGlucHV0cywgcmVzdWx0LCBtZXNzYWdlLCBjYXB0aW9uKSB7XHJcbiAgY29uc3QgY2FudmFzID0gYXdhaXQgc2hhcnAoeyBjcmVhdGU6IHsgd2lkdGg6IDE1MiAqIHJlc3VsdC5sZW5ndGgsIGhlaWdodDogMTUyLCBjaGFubmVsczogNCwgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyB9IH0pXHJcbiAgICAuY29tcG9zaXRlKHJlc3VsdC5tYXAoKGl0LCBpbmRleCkgPT5cclxuICAgICAgKHsgaW5wdXQ6IGlucHV0cy5nZXQoaXQpLCBsZWZ0OiBpbmRleCAqIDE1MiwgdG9wOiAwLCB3aWR0aDogMTUyLCBoZWlnaHQ6IDE1MiB9KVxyXG4gICAgKSlcclxuICAgIC5wbmcoKVxyXG4gICAgLnRvQnVmZmVyKClcclxuXHJcbiAgcmV0dXJuIG1lc3NhZ2UucmVwbHkoeyBjb250ZW50OiBjYXB0aW9uLCBmaWxlczogW2NhbnZhc10gfSlcclxufVxyXG5cclxuY29uc3QgYnVpbHRpbiA9IHtcclxuICAzNzoge1xyXG4gICAgZ2FtZTogJ3NmJyxcclxuICAgIGNhcHRpb246ICcqKipMRVRTIEdPIEpVU1RJTiEqKionLFxyXG4gICAgaW5wdXQ6ICc2IDYgNiA2IDYgNiA2ID4+IDYgNiA2IDYgNiA2IDYgPj4gOCA2IGouIGhrID4+IDIgbWsgPj4gNjIzIG1wID4+IDIzNiAyMzYgbGsnXHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgbmFtZTogJ2ZnLW5vdGF0aW9uJyxcclxuICBpbnRlbnRzOiBbJ0dVSUxEX01FU1NBR0VTJ10sXHJcbiAgcGFydGlhbHM6IFsnTUVTU0FHRSddLFxyXG5cclxuICBwcmVsb2FkOiBzZXF1ZWxpemUgPT4ge1xyXG4gICAgc2VxdWVsaXplLmRlZmluZSgnZmdpbnB1dCcsIHtcclxuICAgICAgZ3VpbGQ6IHtcclxuICAgICAgICB0eXBlOiBEYXRhVHlwZXMuU1RSSU5HLFxyXG4gICAgICAgIHByaW1hcnlLZXk6IHRydWVcclxuICAgICAgfSxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIHR5cGU6IERhdGFUeXBlcy5TVFJJTkcsXHJcbiAgICAgICAgcHJpbWFyeUtleTogdHJ1ZVxyXG4gICAgICB9LFxyXG4gICAgICBjcmVhdGVkQnk6IERhdGFUeXBlcy5TVFJJTkcsXHJcbiAgICAgIGdhbWU6IERhdGFUeXBlcy5TVFJJTkcsXHJcbiAgICAgIGNhcHRpb246IERhdGFUeXBlcy5TVFJJTkcsXHJcbiAgICAgIGlucHV0OiBEYXRhVHlwZXMuU1RSSU5HXHJcbiAgICB9KVxyXG4gIH0sXHJcblxyXG4gIGV2ZW50czoge1xyXG4gICAgYXN5bmMgbWVzc2FnZUNyZWF0ZSAoZ2xvYmFsLCBtZXNzYWdlKSB7XHJcbiAgICAgIGNvbnN0IHsgY2xpZW50LCBjb25maWcsIHNlcXVlbGl6ZSB9ID0gZ2xvYmFsXHJcbiAgICAgIGlmIChtZXNzYWdlLmF1dGhvci5pZCA9PT0gY2xpZW50LnVzZXIuaWQgfHwgIW1lc3NhZ2UubWVtYmVyKSByZXR1cm5cclxuXHJcbiAgICAgIGNvbnN0IGd1aWxkSWQgPSBtZXNzYWdlLmd1aWxkSWRcclxuICAgICAgY29uc3QgeyBwcmVmaXggfSA9IGNvbmZpZ1tndWlsZElkXVxyXG5cclxuICAgICAgaWYgKG1lc3NhZ2UuY29udGVudC5zdGFydHNXaXRoKHByZWZpeCkpIHtcclxuICAgICAgICBjb25zdCBuYW1lID0gbWVzc2FnZS5jb250ZW50LnNwbGl0KCcgJykucG9wKCkucmVwbGFjZShwcmVmaXgsICcnKVxyXG4gICAgICAgIGNvbnN0IHJvdyA9IGJ1aWx0aW5bbmFtZV0gfHwgKFxyXG4gICAgICAgICAgYXdhaXQgc2VxdWVsaXplLm1vZGVscy5mZ2lucHV0LmZpbmRPbmUoe1xyXG4gICAgICAgICAgICB3aGVyZTogeyBndWlsZDogbWVzc2FnZS5ndWlsZC5pZCwgbmFtZSB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuXHJcbiAgICAgICAgaWYgKHJvdykge1xyXG4gICAgICAgICAgY29uc3QgaW5wdXRzID0gbmV3IE1hcChbLi4uYmFzaWNJbnB1dHMsIC4uLmdhbWVJbnB1dHMuZ2V0KHJvdy5nYW1lKV0pXHJcbiAgICAgICAgICBzZW5kSW5wdXQoaW5wdXRzLCByb3cuaW5wdXQuc3BsaXQoJyAnKSwgbWVzc2FnZSwgcm93LmNhcHRpb24pXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSxcclxuXHJcbiAgY29tbWFuZHM6IHtcclxuICAgIGZnaToge1xyXG4gICAgICB1c2FnZTogJ2ZnaSBbZ2FtZV0gW2lucHV0c10nLFxyXG4gICAgICBkZXNjOiAnQ29udmVydHMgYSBsaXN0IG9mIGlucHV0cyBpbnRvIGFuIGltYWdlJyxcclxuICAgICAgZXhhbXBsZTogJ2ZnaSBzZiAyMzZQIDIxNEsnLFxyXG4gICAgICBleGVjdXRlOiBhc3luYyAoeyBwYXJhbSB9LCB7IG1lc3NhZ2UgfSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IFssIGdhbWUsIGkxXSA9IHBhcmFtXHJcbiAgICAgICAgaWYgKCFnYW1lIHx8ICFpMSkgcmV0dXJuIG1lc3NhZ2UucmVwbHkoJ01pc3NpbmcgYXJndW1lbnRzLiBFeGFtcGxlOiA+ZmdpIHNmIDIzNlAgMjE0SycpXHJcbiAgICAgICAgaWYgKCFnYW1lSW5wdXRzLmhhcyhnYW1lKSkgcmV0dXJuIG1lc3NhZ2UucmVwbHkoYFwiJHtnYW1lfVwiIGlzIG5vdCBhIHZhbGlkIGdhbWUuIEF2YWlsYWJsZSBnYW1lczogJHtBcnJheS5mcm9tKGdhbWVJbnB1dHMua2V5cygpKS5qb2luKCcgJyl9YClcclxuXHJcbiAgICAgICAgY29uc3QgaW5wdXRzID0gbmV3IE1hcChbLi4uYmFzaWNJbnB1dHMsIC4uLmdhbWVJbnB1dHMuZ2V0KGdhbWUpXSlcclxuICAgICAgICBjb25zdCByZXN1bHQgPSBwYXJhbS5zbGljZSgyKS5tYXAoaSA9PiBzb2x2ZUlucHV0KGlucHV0cywgaS50b0xvd2VyQ2FzZSgpKSkuZmxhdCgpXHJcblxyXG4gICAgICAgIHNlbmRJbnB1dChpbnB1dHMsIHJlc3VsdCwgbWVzc2FnZSlcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIGZnc2F2ZToge1xyXG4gICAgICB1c2FnZTogJ2Znc2F2ZSBbZ2FtZV0gW25hbWVdIFtpbnB1dHNdJyxcclxuICAgICAgZGVzYzogJ1NhdmVzIGEgbGlzdCBvZiBpbnB1dHMgaW50byBhIGNvbW1hbmQnLFxyXG4gICAgICBleGFtcGxlOiAnZmdpIHNmIHRlc3ROYW1lIDIzNlAgMjE0SycsXHJcbiAgICAgIGV4ZWN1dGU6IGFzeW5jICh7IHBhcmFtLCBzZXF1ZWxpemUgfSwgeyBtZXNzYWdlIH0pID0+IHtcclxuICAgICAgICBjb25zdCBbLCBnYW1lLCBuYW1lLCBpMV0gPSBwYXJhbVxyXG4gICAgICAgIGlmICghZ2FtZSB8fCAhbmFtZSB8fCAhaTEpIHJldHVybiBtZXNzYWdlLnJlcGx5KCdNaXNzaW5nIGFyZ3VtZW50cy4gRXhhbXBsZTogPmZnaSBzZiB0ZXN0TmFtZSAyMzZQIDIxNEsnKVxyXG4gICAgICAgIGlmICghZ2FtZUlucHV0cy5oYXMoZ2FtZSkpIHJldHVybiBtZXNzYWdlLnJlcGx5KGBcIiR7Z2FtZX1cIiBpcyBub3QgYSB2YWxpZCBnYW1lLiBBdmFpbGFibGUgZ2FtZXM6ICR7QXJyYXkuZnJvbShnYW1lSW5wdXRzLmtleXMoKSkuam9pbignICcpfWApXHJcblxyXG4gICAgICAgIGNvbnN0IGlucHV0cyA9IG5ldyBNYXAoWy4uLmJhc2ljSW5wdXRzLCAuLi5nYW1lSW5wdXRzLmdldChnYW1lKV0pXHJcbiAgICAgICAgY29uc3QgaW5wdXQgPSBwYXJhbS5zbGljZSgzKS5tYXAoaSA9PiBzb2x2ZUlucHV0KGlucHV0cywgaS50b0xvd2VyQ2FzZSgpKSkuZmxhdCgpLmpvaW4oJyAnKVxyXG5cclxuICAgICAgICBhd2FpdCBzZXF1ZWxpemUubW9kZWxzLmZnaW5wdXQuY3JlYXRlKHsgZ3VpbGQ6IG1lc3NhZ2UuZ3VpbGQuaWQsIG5hbWUsIGNyZWF0ZWRCeTogbWVzc2FnZS5hdXRob3IuaWQsIGdhbWUsIGlucHV0IH0pXHJcblxyXG4gICAgICAgIG1lc3NhZ2UuY2hhbm5lbC5zZW5kKGBTYXZlZCBjb21tYW5kIFwiJHtpbnB1dH1cIiBhcyBcIiR7bmFtZX1cImApXHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBmZ2NhcHRpb246IHtcclxuICAgICAgdXNhZ2U6ICdmZ2NhcHRpb24gW25hbWVdIFtjYXB0aW9uXScsXHJcbiAgICAgIGRlc2M6ICdBZGRzIGEgY2FwdGlvbiB0byBhIHNhdmVkIGlucHV0IGNvbW1hbmQnLFxyXG4gICAgICBleGFtcGxlOiAnZmdjYXB0aW9uIHRlc3ROYW1lIFRoaXMgaXMgYSBjYXB0aW9uJyxcclxuICAgICAgZXhlY3V0ZTogYXN5bmMgKHsgcGFyYW0sIHNlcXVlbGl6ZSB9LCB7IG1lc3NhZ2UgfSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IFssIG5hbWUsIGkxXSA9IHBhcmFtXHJcbiAgICAgICAgaWYgKCFuYW1lIHx8ICFpMSkgcmV0dXJuIG1lc3NhZ2UucmVwbHkoJ01pc3NpbmcgYXJndW1lbnRzLiBFeGFtcGxlOiA+ZmdpIHRlc3ROYW1lIFRoaXMgaXMgYSBjYXB0aW9uJylcclxuXHJcbiAgICAgICAgY29uc3Qgcm93ID0gYXdhaXQgc2VxdWVsaXplLm1vZGVscy5mZ2lucHV0LmZpbmRPbmUoe1xyXG4gICAgICAgICAgd2hlcmU6IHsgZ3VpbGQ6IG1lc3NhZ2UuZ3VpbGQuaWQsIG5hbWUgfVxyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIGlmICghcm93KSByZXR1cm4gbWVzc2FnZS5yZXBseShgXCIke25hbWV9XCIgaXMgbm90IGEgc2F2ZWQgaW5wdXQgbGlzdGApXHJcbiAgICAgICAgcm93LmNhcHRpb24gPSBwYXJhbS5zbGljZSgyKS5qb2luKCcgJylcclxuICAgICAgICBhd2FpdCByb3cuc2F2ZSgpXHJcblxyXG4gICAgICAgIG1lc3NhZ2UuY2hhbm5lbC5zZW5kKGBTYXZlZCBjYXB0aW9uIGZvciBpbnB1dCBsaXN0IFwiJHtuYW1lfVwiYClcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIGZnZ2xvc3Nhcnk6IHtcclxuICAgICAgdXNhZ2U6ICdmZ2dsb3NzYXJ5IFtzZWFyY2ggdGVybV0nLFxyXG4gICAgICBkZXNjOiAnU2VhcmNoZXMgZm9yIGEgdGVybSBvbiBJbmZpbFxcJ3MgR2xvc3NhcnknLFxyXG4gICAgICBleGFtcGxlOiAnZmdnbG9zc2FyeSBtZXhpY2FuIHVwcGVyY3V0JyxcclxuICAgICAgZXhlY3V0ZTogYXN5bmMgKHsgcGFyYW0sIHNlcXVlbGl6ZSB9LCB7IG1lc3NhZ2UgfSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHBhcmFtLnNsaWNlKDEpXHJcbiAgICAgICAgaWYgKHBhcmFtcy5sZW5ndGggPT09IDApIHJldHVybiBtZXNzYWdlLnJlcGx5KCdNaXNzaW5nIHNlYXJjaCB0ZXJtLiBFeGFtcGxlOiA+ZmdnbG9zc2FyeSBtZXhpY2FuIHVwcGVyY3V0JylcclxuXHJcbiAgICAgICAgY29uc3Qgc2VhcmNoID0gcGFyYW1zLmpvaW4oJyAnKS50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGVybXMuZmlsdGVyKGkgPT4gaS5pbmNsdWRlcyhzZWFyY2gpKVxyXG4gICAgICAgIGNvbnN0IHVybCA9IGBodHRwczovL2dsb3NzYXJ5LmluZmlsLm5ldC8/dD0ke3BhcmFtcy5qb2luKCclMjAnKS50b0xvd2VyQ2FzZSgpfWBcclxuXHJcbiAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGggPT09IDApIHJldHVybiBtZXNzYWdlLnJlcGx5KGBUZXJtIFwiJHtzZWFyY2h9XCIgbm90IGZvdW5kYClcclxuICAgICAgICBpZiAocmVzdWx0Lmxlbmd0aCA9PT0gMSkgcmV0dXJuIG1lc3NhZ2UucmVwbHkoYFxcYFxcYFxcYCR7Z2xvc3NhcnlbcmVzdWx0WzBdXS5kZWZ9XFxgXFxgXFxgU291cmNlOiA8JHt1cmx9PmApXHJcblxyXG4gICAgICAgIG1lc3NhZ2UucmVwbHkodXJsKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
487
|
+
exports["default"] = _default;
|
package/package.json
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "@lotus-tree/fg-notation",
|
3
|
-
"version": "1.1.
|
3
|
+
"version": "1.1.1",
|
4
4
|
"main": "lib/index.js",
|
5
5
|
"module": "src/index.js",
|
6
6
|
"scripts": {
|
7
|
-
"
|
8
|
-
"
|
7
|
+
"run-babel" : "babel --delete-dir-on-start --copy-files src",
|
8
|
+
"build": "yarn run run-babel -- --out-dir lib",
|
9
|
+
"dev": "yarn run run-babel -- --watch --out-dir dev"
|
9
10
|
},
|
10
11
|
"dependencies": {
|
11
12
|
"glob": "^7.2.0",
|
Binary file
|
package/src/index.js
CHANGED
@@ -188,7 +188,7 @@ export default {
|
|
188
188
|
if (result.length === 0) return message.reply(`Term "${search}" not found`)
|
189
189
|
if (result.length === 1) return message.reply(`\`\`\`${glossary[result[0]].def}\`\`\`Source: <${url}>`)
|
190
190
|
|
191
|
-
message.reply(url)
|
191
|
+
message.reply(`Multiple terms found: ${url}`)
|
192
192
|
}
|
193
193
|
}
|
194
194
|
}
|
package/examples/ex1.GIF
DELETED
Binary file
|
package/examples/fg1.GIF
DELETED
Binary file
|
package/examples/fg2.GIF
DELETED
Binary file
|