Compare commits
1493
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e8e2d93c06 | ||
|
|
395f6919a3 | ||
|
|
13d2717462 | ||
|
|
6341bca2a1 | ||
|
|
bbf19a9194 | ||
|
|
856f8334a4 | ||
|
|
9cdb1842c1 | ||
|
|
683ceea619 | ||
|
|
6aca8f406b | ||
|
|
f3d14673bb | ||
|
|
2e9796b46b | ||
|
|
889c5c40cf | ||
|
|
c47ad47aa9 | ||
|
|
a85662d5b2 | ||
|
|
cfd4c88f58 | ||
|
|
50570827ff | ||
|
|
e0d171ef21 | ||
|
|
afeca27dc3 | ||
|
|
f57233f81f | ||
|
|
84d180f124 | ||
|
|
3430ddfec8 | ||
|
|
c90636f252 | ||
|
|
80e0e2c986 | ||
|
|
7a712faae4 | ||
|
|
2d4ef700b1 | ||
|
|
4786b4661b | ||
|
|
504338d02e | ||
|
|
14b70783a6 | ||
|
|
9cf4876007 | ||
|
|
11eedc9a5b | ||
|
|
236cb7c59e | ||
|
|
73eb8a94bc | ||
|
|
13956f820b | ||
|
|
1641fa3926 | ||
|
|
e2cc9a1280 | ||
|
|
8d2c9d2646 | ||
|
|
c7d89ae6fa | ||
|
|
1a5414e3d9 | ||
|
|
d7c5ab3fa3 | ||
|
|
8eaf0c25d7 | ||
|
|
13cac7a812 | ||
|
|
939a8bf6c7 | ||
|
|
66c9f8a70b | ||
|
|
69fb84e054 | ||
|
|
6cf6c80ec2 | ||
|
|
4b36f5b8d1 | ||
|
|
3291855813 | ||
|
|
71b7aaacd0 | ||
|
|
6495cd77de | ||
|
|
3a6e92605d | ||
|
|
dd471aa0e8 | ||
|
|
e91e135ef7 | ||
|
|
9fab335a30 | ||
|
|
e54be502c9 | ||
|
|
64e3afe2da | ||
|
|
acca8523ee | ||
|
|
f35492f544 | ||
|
|
ace0f17ca8 | ||
|
|
e39ec7b282 | ||
|
|
be695ae192 | ||
|
|
0eb8a16c60 | ||
|
|
2fa5dde807 | ||
|
|
b3bc7ca289 | ||
|
|
3a4811d541 | ||
|
|
fa3006cd64 | ||
|
|
45349ce060 | ||
|
|
c5a4a8a666 | ||
|
|
97cc7d94c8 | ||
|
|
3e2d5843f2 | ||
|
|
860dc1d742 | ||
|
|
a8a713049a | ||
|
|
7cbb821601 | ||
|
|
4251ea882c | ||
|
|
f153322971 | ||
|
|
e21a73f69c | ||
|
|
6c6193b43b | ||
|
|
4d77fb3d98 | ||
|
|
7b38dbe069 | ||
|
|
e76112dc98 | ||
|
|
db9653be01 | ||
|
|
6777fdfd8e | ||
|
|
632424a245 | ||
|
|
de1114a257 | ||
|
|
e912faa91b | ||
|
|
9a7f2713f9 | ||
|
|
81d8d58244 | ||
|
|
79551caae6 | ||
|
|
8800164ee0 | ||
|
|
c415e9c9d8 | ||
|
|
8276554a71 | ||
|
|
9badc0d0ac | ||
|
|
cfa449d88b | ||
|
|
1e2532e3e6 | ||
|
|
a656d4dc84 | ||
|
|
49b54f0959 | ||
|
|
324806d8dc | ||
|
|
fee10a3848 | ||
|
|
1947b1803a | ||
|
|
91e7616a02 | ||
|
|
7a74b79d3c | ||
|
|
423b0e24f9 | ||
|
|
1c90ec5deb | ||
|
|
81bab4475d | ||
|
|
e4901adfca | ||
|
|
489329a51f | ||
|
|
8492350495 | ||
|
|
f06af0b3b1 | ||
|
|
f237aeb261 | ||
|
|
f2f926dd55 | ||
|
|
933cbfe712 | ||
|
|
45d3830496 | ||
|
|
620cc30d94 | ||
|
|
402c05b6b7 | ||
|
|
29d1bd786f | ||
|
|
9b02dd2b51 | ||
|
|
91265ed3e6 | ||
|
|
16ba158293 | ||
|
|
5466c23921 | ||
|
|
eef78bc729 | ||
|
|
3264edf714 | ||
|
|
7d1cd43018 | ||
|
|
0a72ea8d58 | ||
|
|
1437677173 | ||
|
|
26af94c11c | ||
|
|
7d7826c8f3 | ||
|
|
078960ad5b | ||
|
|
8893c3c5fe | ||
|
|
4620f48f1e | ||
|
|
732c38a462 | ||
|
|
cc455c3632 | ||
|
|
0a3b773b5a | ||
|
|
9c3a57b238 | ||
|
|
b912266c94 | ||
|
|
da75550a27 | ||
|
|
6dadce2faa | ||
|
|
604ae13468 | ||
|
|
9a43a65718 | ||
|
|
839f795795 | ||
|
|
f774563822 | ||
|
|
ffe53075ff | ||
|
|
e4f54a5d6f | ||
|
|
d7448b20a5 | ||
|
|
642199b4c4 | ||
|
|
780d6e8540 | ||
|
|
f492b96eed | ||
|
|
116c59361b | ||
|
|
f43ed9371f | ||
|
|
00efc14aca | ||
|
|
1491c2b93e | ||
|
|
0066a541e4 | ||
|
|
4973740abb | ||
|
|
d4f578246e | ||
|
|
04160b1f0e | ||
|
|
7936936d41 | ||
|
|
a54685c062 | ||
|
|
4ff12465de | ||
|
|
5eb54079ec | ||
|
|
1d3b0bd3de | ||
|
|
cd561af66e | ||
|
|
e1d68b0316 | ||
|
|
3bf7b1f61f | ||
|
|
0bec8c51a4 | ||
|
|
aadb7ef1c3 | ||
|
|
eaa5918d1d | ||
|
|
b4c18e2e64 | ||
|
|
bf67554065 | ||
|
|
a6c212f4f6 | ||
|
|
0df7c165dc | ||
|
|
0225c4fea9 | ||
|
|
be9bfa8090 | ||
|
|
203962e518 | ||
|
|
d8986bf5c4 | ||
|
|
6899962aa7 | ||
|
|
4c9da84475 | ||
|
|
5bfb5614de | ||
|
|
28bee42d54 | ||
|
|
f9ce8ddbae | ||
|
|
01838ceecc | ||
|
|
4871f80df8 | ||
|
|
c281ec6094 | ||
|
|
f754f61960 | ||
|
|
1ea736b752 | ||
|
|
57c586c28b | ||
|
|
b5cf565a5b | ||
|
|
f40e415914 | ||
|
|
c5564f1e69 | ||
|
|
efeabaa69e | ||
|
|
578f36eceb | ||
|
|
b449fbbb0b | ||
|
|
105c5db3b1 | ||
|
|
e262d18ffd | ||
|
|
d7fbe7e9d7 | ||
|
|
8fe28e68f9 | ||
|
|
173317f0da | ||
|
|
76ea5c6f70 | ||
|
|
5e2d58ce6f | ||
|
|
8e13c4e189 | ||
|
|
105fab780f | ||
|
|
a15dde7421 | ||
|
|
824888d30c | ||
|
|
4116957e69 | ||
|
|
edcb2f44bf | ||
|
|
85d794438c | ||
|
|
b320a62709 | ||
|
|
f8784b1412 | ||
|
|
38add53425 | ||
|
|
81bbcd2ef6 | ||
|
|
3d66f23ecc | ||
|
|
a1d889a9ea | ||
|
|
74ed9881f4 | ||
|
|
4013c1b032 | ||
|
|
1ed0140665 | ||
|
|
cd19d4b5e1 | ||
|
|
a661c2c8b1 | ||
|
|
bc08ff7275 | ||
|
|
c590b771b8 | ||
|
|
dd569e0853 | ||
|
|
a6508b3414 | ||
|
|
1487e2665e | ||
|
|
920929a216 | ||
|
|
3e0ee92dd5 | ||
|
|
9f69d389ed | ||
|
|
3082c64484 | ||
|
|
944e549819 | ||
|
|
b5de54b903 | ||
|
|
611f9082e1 | ||
|
|
05cfb1113d | ||
|
|
9406d92ba4 | ||
|
|
5e52cdae71 | ||
|
|
c44e380e76 | ||
|
|
450d3d26df | ||
|
|
aada1165d1 | ||
|
|
72d091254e | ||
|
|
d1ae98dea4 | ||
|
|
f69466eaf5 | ||
|
|
1f503546a1 | ||
|
|
b5a2298fb0 | ||
|
|
153dbd2c7d | ||
|
|
c0ac8cdd42 | ||
|
|
49def88fe4 | ||
|
|
df0bce0ec2 | ||
|
|
2d7322a9c8 | ||
|
|
3d032c9f26 | ||
|
|
0ad8295868 | ||
|
|
db7d59ebfa | ||
|
|
92c49da176 | ||
|
|
fe09060da6 | ||
|
|
5a75269c05 | ||
|
|
8e05d35a08 | ||
|
|
489e92277f | ||
|
|
9b9db59963 | ||
|
|
eddc9962d1 | ||
|
|
4a3d3ba570 | ||
|
|
3cb7f56ade | ||
|
|
3df890a6c5 | ||
|
|
f8b5cc8f45 | ||
|
|
7bc8d4e16a | ||
|
|
ac0c91e8e2 | ||
|
|
89bd01ddcf | ||
|
|
6478d8025d | ||
|
|
0a2de72540 | ||
|
|
b3462c8697 | ||
|
|
8024d0c476 | ||
|
|
ea158f81e8 | ||
|
|
a86593a44e | ||
|
|
ad45460328 | ||
|
|
5a281b5de0 | ||
|
|
b18b1552ec | ||
|
|
d005dffd98 | ||
|
|
cee54e46f4 | ||
|
|
05ad894821 | ||
|
|
a1cba0b622 | ||
|
|
7521e45124 | ||
|
|
3f05e1b00a | ||
|
|
8b28e9c09b | ||
|
|
115a96d838 | ||
|
|
46f706bd43 | ||
|
|
717b860f13 | ||
|
|
8cbc0fdb93 | ||
|
|
a19288d346 | ||
|
|
c468558a78 | ||
|
|
35bacb7de2 | ||
|
|
539e3c089e | ||
|
|
702481147e | ||
|
|
5324c94306 | ||
|
|
5013392681 | ||
|
|
e04b3613b7 | ||
|
|
8461d6b98e | ||
|
|
26aafc1930 | ||
|
|
74fccfb023 | ||
|
|
3270608e34 | ||
|
|
02723165b4 | ||
|
|
1aa8dd70e1 | ||
|
|
9352dd8c92 | ||
|
|
119111732f | ||
|
|
f5cf80f7dc | ||
|
|
81105509d9 | ||
|
|
447b64d061 | ||
|
|
3343c864e2 | ||
|
|
6d9c24a5f7 | ||
|
|
fff090d5bf | ||
|
|
6bd6178e4f | ||
|
|
c798881c25 | ||
|
|
f2238f35f5 | ||
|
|
11bcd3ae3c | ||
|
|
16f7d92603 | ||
|
|
cc2976ce7a | ||
|
|
b5eb7dd425 | ||
|
|
48c35d8148 | ||
|
|
a45d13cbdf | ||
|
|
e98b1fbd6c | ||
|
|
5eb7667d5d | ||
|
|
6d31e9b7d7 | ||
|
|
9d27d4fe30 | ||
|
|
88cb3f1e6c | ||
|
|
e898bd950d | ||
|
|
c7878074ba | ||
|
|
b7f2b96ece | ||
|
|
1bcf4686a4 | ||
|
|
056e282ba2 | ||
|
|
86e6d9e80f | ||
|
|
059768b156 | ||
|
|
8f5def3a10 | ||
|
|
bc437f7172 | ||
|
|
d37a1135ce | ||
|
|
43fd4ca5ba | ||
|
|
7e06aad6d1 | ||
|
|
22c97aa7fc | ||
|
|
07c6944bb2 | ||
|
|
f572137c49 | ||
|
|
a073739158 | ||
|
|
35148cadae | ||
|
|
c782e23f95 | ||
|
|
172d095b34 | ||
|
|
422c33fd2b | ||
|
|
d7605c4a77 | ||
|
|
d5a7adee8a | ||
|
|
cdde8e1633 | ||
|
|
4f8fbb6c06 | ||
|
|
a82c83130d | ||
|
|
08ae3eaa06 | ||
|
|
e0f4dd0c18 | ||
|
|
3fb698be43 | ||
|
|
bd628dde71 | ||
|
|
2f2af07175 | ||
|
|
bf0acdd0fe | ||
|
|
386ead6907 | ||
|
|
7e0b5cdb5e | ||
|
|
36705a7735 | ||
|
|
129f860b63 | ||
|
|
fd20edb52d | ||
|
|
198a2690cd | ||
|
|
28ac81cc70 | ||
|
|
80812a9993 | ||
|
|
6e4ac0fa1b | ||
|
|
6ef1d036b2 | ||
|
|
5ec3217e7a | ||
|
|
80f7ffaa8e | ||
|
|
5121e036a5 | ||
|
|
ec3410dc00 | ||
|
|
862eb4e028 | ||
|
|
b85065282d | ||
|
|
5f8ef6c315 | ||
|
|
ea5c24cd6c | ||
|
|
1542d83fd4 | ||
|
|
8ca5cd0b76 | ||
|
|
347cace378 | ||
|
|
a11d4cd78b | ||
|
|
8bb39d203e | ||
|
|
b621bae467 | ||
|
|
19339ff881 | ||
|
|
02e1f490ca | ||
|
|
57a23234e4 | ||
|
|
fc6495c51e | ||
|
|
b89c388685 | ||
|
|
454045781a | ||
|
|
2dc38e3520 | ||
|
|
5ca63261ca | ||
|
|
e8f596e844 | ||
|
|
ef5516b288 | ||
|
|
d6b1de3eeb | ||
|
|
f90651c567 | ||
|
|
ec61f7d65e | ||
|
|
39283d5118 | ||
|
|
deac1094d5 | ||
|
|
a3daa13011 | ||
|
|
9adfc76ae0 | ||
|
|
62ca592934 | ||
|
|
748ca1e8f3 | ||
|
|
66bcc3f5af | ||
|
|
5ece100083 | ||
|
|
034c2438d4 | ||
|
|
eb8c6454f2 | ||
|
|
24100041c2 | ||
|
|
665b9276fd | ||
|
|
0b3a60ea28 | ||
|
|
9149adcdf8 | ||
|
|
3a4a1f87f4 | ||
|
|
d3570c2b6a | ||
|
|
59db24aa72 | ||
|
|
038969d465 | ||
|
|
8189982eb8 | ||
|
|
150f77b2a2 | ||
|
|
09e9b27b4d | ||
|
|
0f0e3e61a1 | ||
|
|
e8c77ae0bb | ||
|
|
0542663fdd | ||
|
|
1bcd24e442 | ||
|
|
15f5cd3db6 | ||
|
|
1262a9ba17 | ||
|
|
b1045f6509 | ||
|
|
9ca61a497e | ||
|
|
a28d1064cf | ||
|
|
b90a04890d | ||
|
|
fb0190f35a | ||
|
|
c02de655c8 | ||
|
|
fe1b93391d | ||
|
|
19c1716fdd | ||
|
|
068deb1546 | ||
|
|
6bedd675f1 | ||
|
|
ed1814d40d | ||
|
|
5c87e80b66 | ||
|
|
d76ee9274f | ||
|
|
f7c862aedd | ||
|
|
76185a07cd | ||
|
|
fd6f5a348d | ||
|
|
857e3e467c | ||
|
|
56eb3c0744 | ||
|
|
d0cbab98b9 | ||
|
|
744e4fa2dc | ||
|
|
eeeec548cb | ||
|
|
f57ed82f48 | ||
|
|
d6a009fd3c | ||
|
|
cbc5eacb5e | ||
|
|
2b8de38ad8 | ||
|
|
f2b273e583 | ||
|
|
d10fbc656f | ||
|
|
4dd998faf1 | ||
|
|
12d4a9b47f | ||
|
|
5675caacfe | ||
|
|
b79213f4ac | ||
|
|
f9672c185f | ||
|
|
fa727b5bfa | ||
|
|
19cb4810b7 | ||
|
|
376d657e51 | ||
|
|
785e10fa16 | ||
|
|
8576542530 | ||
|
|
41ad51eef7 | ||
|
|
d110195050 | ||
|
|
572aa35afd | ||
|
|
b28b9f8b7a | ||
|
|
a446ebb1b9 | ||
|
|
b7b5fe8d99 | ||
|
|
32ef271985 | ||
|
|
2162b83bfb | ||
|
|
8ad4a30a86 | ||
|
|
3ea218e975 | ||
|
|
fc1518c9b0 | ||
|
|
1c687eb5b8 | ||
|
|
f1163c38a7 | ||
|
|
250a2c18b8 | ||
|
|
b1669fe6ba | ||
|
|
446014f8f5 | ||
|
|
f6f3fff2a5 | ||
|
|
c99377ade2 | ||
|
|
8fb9b9d44c | ||
|
|
61da7a15d6 | ||
|
|
ad60d147ac | ||
|
|
5bd6fe813e | ||
|
|
201a487dbc | ||
|
|
35c3cee2cb | ||
|
|
2dbf1cfec0 | ||
|
|
894e32bc0b | ||
|
|
30bf3f6732 | ||
|
|
790b25990c | ||
|
|
acf3d24db0 | ||
|
|
c50d4bc7ab | ||
|
|
de649b8cd8 | ||
|
|
f4ea438bae | ||
|
|
1df95b9d62 | ||
|
|
5c3ea78b6d | ||
|
|
cc1ee098b7 | ||
|
|
11d80dc892 | ||
|
|
a3bdf08e15 | ||
|
|
45e4915cd8 | ||
|
|
526f1089bf | ||
|
|
6c31d4504c | ||
|
|
248a28b468 | ||
|
|
098ab80d4b | ||
|
|
2a478c30f4 | ||
|
|
67ba8d54f8 | ||
|
|
c5e9e9c676 | ||
|
|
5c539d837c | ||
|
|
c63db868a7 | ||
|
|
7791e09445 | ||
|
|
1879116a85 | ||
|
|
afe6894a0c | ||
|
|
9479130ea0 | ||
|
|
7f2fb7ae3d | ||
|
|
7600808fd8 | ||
|
|
5eff6838a4 | ||
|
|
933e733956 | ||
|
|
73df017948 | ||
|
|
ab004c1546 | ||
|
|
e1b639bb82 | ||
|
|
9da166478d | ||
|
|
57a4c1d7e7 | ||
|
|
56c07d0c73 | ||
|
|
14a642882d | ||
|
|
43765782a1 | ||
|
|
bce933f100 | ||
|
|
7c2166ec60 | ||
|
|
d8b3864470 | ||
|
|
5c489a36dc | ||
|
|
03fb6dc9ef | ||
|
|
5c1d8315a0 | ||
|
|
abf2fb3642 | ||
|
|
bccb2f3f1b | ||
|
|
c7f5e200ba | ||
|
|
8136a6ba2b | ||
|
|
a65d699111 | ||
|
|
faa85d013c | ||
|
|
e077ab234e | ||
|
|
6587f088ef | ||
|
|
05f8e5d14f | ||
|
|
24431b1c01 | ||
|
|
d92e34adef | ||
|
|
1719c7a2da | ||
|
|
ea023c9762 | ||
|
|
5957989d42 | ||
|
|
7a5204ec80 | ||
|
|
afcedf7276 | ||
|
|
88ea2a6395 | ||
|
|
1b1ecf3039 | ||
|
|
ad0b3e7aa1 | ||
|
|
b3cbd99d04 | ||
|
|
ed9564a6f3 | ||
|
|
67366c03f5 | ||
|
|
202ae5b22b | ||
|
|
55ec1f12cd | ||
|
|
a3598d4505 | ||
|
|
71f182bece | ||
|
|
e9c7c3bf8d | ||
|
|
00833bdb73 | ||
|
|
e94586e34a | ||
|
|
a9cd0d406d | ||
|
|
a91f6f2175 | ||
|
|
b448ab5116 | ||
|
|
f1feb86c4d | ||
|
|
2fa5d3cc6d | ||
|
|
9ddb80f3b2 | ||
|
|
863f4b3dcb | ||
|
|
7862ae0b4e | ||
|
|
427f1b12ab | ||
|
|
6dc18884a0 | ||
|
|
87940d70b9 | ||
|
|
876b150957 | ||
|
|
f1811e7534 | ||
|
|
825f1b4a87 | ||
|
|
1c67ef9a8d | ||
|
|
3681076cd0 | ||
|
|
118791958c | ||
|
|
7b00368d79 | ||
|
|
67192311b7 | ||
|
|
513e9aac18 | ||
|
|
d2a39907ed | ||
|
|
4d3b2326a0 | ||
|
|
5489cfeba6 | ||
|
|
7a757c291f | ||
|
|
c10d54621d | ||
|
|
d45ddd48f4 | ||
|
|
f1aaa38c58 | ||
|
|
411367b132 | ||
|
|
990705ff3f | ||
|
|
79639ed232 | ||
|
|
e8f28a0da6 | ||
|
|
33e49785d8 | ||
|
|
2160305573 | ||
|
|
a400c12d8f | ||
|
|
cc0fe7225d | ||
|
|
cdc8b5af63 | ||
|
|
8db15fc453 | ||
|
|
0c343e59a3 | ||
|
|
14a794a51d | ||
|
|
f992d610c8 | ||
|
|
d3df87ddf5 | ||
|
|
3840d36080 | ||
|
|
2e0e39e538 | ||
|
|
3010bb93e4 | ||
|
|
6247855fdc | ||
|
|
6feaa29437 | ||
|
|
9853f99a93 | ||
|
|
cccef388bf | ||
|
|
ac674e4793 | ||
|
|
30bf25c4d7 | ||
|
|
d2a8e311d9 | ||
|
|
e22fd8eb66 | ||
|
|
266f6685d2 | ||
|
|
9494e00084 | ||
|
|
0010deb175 | ||
|
|
8f7e932f96 | ||
|
|
6c74bd46ad | ||
|
|
ea28b7fe99 | ||
|
|
772bbc3571 | ||
|
|
1d62ee1dbf | ||
|
|
cbcef6ec87 | ||
|
|
ad95b50025 | ||
|
|
c33246083d | ||
|
|
8066e86f39 | ||
|
|
23a48b7fc6 | ||
|
|
8a58ab35fa | ||
|
|
4e8144a93d | ||
|
|
59dba187c3 | ||
|
|
aadfb226b1 | ||
|
|
7b0ba12a32 | ||
|
|
c4c176b7dd | ||
|
|
6c6c0457e1 | ||
|
|
c3686f2b88 | ||
|
|
8855c46e0a | ||
|
|
815a66587c | ||
|
|
f3025ec3dd | ||
|
|
a4a73c6df8 | ||
|
|
2704727a44 | ||
|
|
0719160bdb | ||
|
|
8122afe844 | ||
|
|
7b11b012c4 | ||
|
|
10ded62205 | ||
|
|
0c415f8077 | ||
|
|
39ab51a11c | ||
|
|
a936aa77d5 | ||
|
|
9e2745d2bf | ||
|
|
0211dfa9da | ||
|
|
f901f11693 | ||
|
|
a2fface4a8 | ||
|
|
ad4d40398e | ||
|
|
eafb9d55a0 | ||
|
|
187dd25a4d | ||
|
|
b8ef393172 | ||
|
|
c550d505ec | ||
|
|
617518c620 | ||
|
|
42d103b18d | ||
|
|
39c25ae192 | ||
|
|
1e2226512f | ||
|
|
8a76208a7f | ||
|
|
855693d108 | ||
|
|
a4af307c07 | ||
|
|
cb4a021ad7 | ||
|
|
d18c54c154 | ||
|
|
292d041f7f | ||
|
|
d38b049e43 | ||
|
|
248585ccd2 | ||
|
|
e0cf71c063 | ||
|
|
2675cbc598 | ||
|
|
eb466e97ab | ||
|
|
9f0c39a530 | ||
|
|
fbaf1b2fba | ||
|
|
8524cc9662 | ||
|
|
11dcc683cd | ||
|
|
da8f4c7af7 | ||
|
|
0d0359ce6f | ||
|
|
a219911a83 | ||
|
|
1e7d1dfec4 | ||
|
|
f6ceae0a7f | ||
|
|
5675ed0af0 | ||
|
|
2bb4c6c882 | ||
|
|
70f9a422e3 | ||
|
|
747ba72818 | ||
|
|
b8760cdcda | ||
|
|
50acdf9e2f | ||
|
|
7f0bab3530 | ||
|
|
71dfcde019 | ||
|
|
9e3a236ded | ||
|
|
94fc19c6d8 | ||
|
|
09deffd10e | ||
|
|
4733dfe959 | ||
|
|
57a82d82bd | ||
|
|
29ab2034e2 | ||
|
|
a5fa2073e6 | ||
|
|
01d7dda17a | ||
|
|
997371ba7f | ||
|
|
aa3eb1b1a1 | ||
|
|
0511c17643 | ||
|
|
afba87ca38 | ||
|
|
2439ffdb03 | ||
|
|
f348b8f7ba | ||
|
|
a6bdfa719e | ||
|
|
5fee7651de | ||
|
|
91512fc6c3 | ||
|
|
e5412ae1f0 | ||
|
|
80f8ffc81f | ||
|
|
8a541f34a7 | ||
|
|
bd55610ed4 | ||
|
|
c208df6979 | ||
|
|
403b4df77e | ||
|
|
e22b2076c8 | ||
|
|
c5086b6ff8 | ||
|
|
f8329e22ad | ||
|
|
54efdf93a9 | ||
|
|
56aec8bc45 | ||
|
|
a00b38fd01 | ||
|
|
47256b0f23 | ||
|
|
f28744c322 | ||
|
|
c1b9093d60 | ||
|
|
bbc3846975 | ||
|
|
11db10be4e | ||
|
|
3a02828758 | ||
|
|
d912c35616 | ||
|
|
49e0eecfda | ||
|
|
5d2ccbe959 | ||
|
|
7c2eed5496 | ||
|
|
77784fd955 | ||
|
|
5350f727ea | ||
|
|
c203040f3a | ||
|
|
9f2102e0e6 | ||
|
|
2aeab5fb4d | ||
|
|
3dacf39b67 | ||
|
|
bb3cf36253 | ||
|
|
26c71b82e6 | ||
|
|
b8d265f829 | ||
|
|
c6fe7bca70 | ||
|
|
b70604783b | ||
|
|
d067e5ea7f | ||
|
|
ff950b235f | ||
|
|
0f9fdda3ac | ||
|
|
32a986cc13 | ||
|
|
ab6ba2ae12 | ||
|
|
c3a203b8bb | ||
|
|
e3c910f2fc | ||
|
|
201ad526e2 | ||
|
|
592310c8ea | ||
|
|
159ce2a9de | ||
|
|
2d2a5b0447 | ||
|
|
7e86e6872c | ||
|
|
35ec33c772 | ||
|
|
6e17cab565 | ||
|
|
efc62fb167 | ||
|
|
e9d2303c57 | ||
|
|
8b285a1556 | ||
|
|
09c80b8df7 | ||
|
|
b1c54b4e1d | ||
|
|
cf24f96958 | ||
|
|
f81bd823ea | ||
|
|
a943d30fa3 | ||
|
|
0d11a0a74a | ||
|
|
adde2326ba | ||
|
|
d7dcf8020a | ||
|
|
6ec05a60bc | ||
|
|
b7434234ba | ||
|
|
be116cd92e | ||
|
|
9f8a62bd83 | ||
|
|
b6b475220c | ||
|
|
3977cfa33a | ||
|
|
2022326b5d | ||
|
|
1cd150224f | ||
|
|
9318d631f5 | ||
|
|
8179b83513 | ||
|
|
dade953a4c | ||
|
|
7410879cee | ||
|
|
aba8262dc1 | ||
|
|
babf0f3c9c | ||
|
|
824843f70f | ||
|
|
1c4e04fc19 | ||
|
|
32e430b7cf | ||
|
|
92752916f5 | ||
|
|
2c2e920c42 | ||
|
|
3ae1908c64 | ||
|
|
e898a3235a | ||
|
|
b8da4782e4 | ||
|
|
f8a005e8b8 | ||
|
|
5ffca71677 | ||
|
|
f65c149221 | ||
|
|
bba9ac16fb | ||
|
|
d0dc27347d | ||
|
|
a4918be425 | ||
|
|
9ea175af72 | ||
|
|
11c9085a6f | ||
|
|
04082339fc | ||
|
|
7e22bb3c78 | ||
|
|
0046c19e3e | ||
|
|
81a4f7cb82 | ||
|
|
38fa40506c | ||
|
|
cdf448b0ce | ||
|
|
5baf2fc840 | ||
|
|
76903714c2 | ||
|
|
7c12d24ae3 | ||
|
|
d228440ca3 | ||
|
|
4b193934b3 | ||
|
|
db57fd167f | ||
|
|
8bced0cfd3 | ||
|
|
4ab65e9347 | ||
|
|
72128b3830 | ||
|
|
3adea8ad3b | ||
|
|
77859b2ad2 | ||
|
|
ac7c4d9136 | ||
|
|
b186d22635 | ||
|
|
f30faf1eac | ||
|
|
7b5ab47845 | ||
|
|
9792a271e2 | ||
|
|
10ddfc5223 | ||
|
|
6532071a5f | ||
|
|
badf17ad72 | ||
|
|
e244e69acc | ||
|
|
1a115ffe70 | ||
|
|
bf10611862 | ||
|
|
4b91133703 | ||
|
|
c7391fae8b | ||
|
|
84975a2356 | ||
|
|
dfe6343f78 | ||
|
|
cf547534b7 | ||
|
|
bea6b06f2e | ||
|
|
a3a821c56b | ||
|
|
2d9c730189 | ||
|
|
65f065bb72 | ||
|
|
ce1e264e9f | ||
|
|
d581179af0 | ||
|
|
cfb583a378 | ||
|
|
c725360a5c | ||
|
|
782712eb97 | ||
|
|
eeb40cd1f1 | ||
|
|
50a2390696 | ||
|
|
d78c19d927 | ||
|
|
29e67f9a63 | ||
|
|
d002296c6f | ||
|
|
33f6bf2308 | ||
|
|
599634ebeb | ||
|
|
b15a2b216d | ||
|
|
f499be28cc | ||
|
|
65e725289f | ||
|
|
abbfb315b7 | ||
|
|
d3c026c322 | ||
|
|
bc4ce985fc | ||
|
|
64942f2427 | ||
|
|
eaf51dbd72 | ||
|
|
87794cff6c | ||
|
|
26db84d6e2 | ||
|
|
14929fc682 | ||
|
|
84e4627f82 | ||
|
|
a07cfe6a39 | ||
|
|
7d3370ffea | ||
|
|
5635bb1343 | ||
|
|
c0e55e3f28 | ||
|
|
21cc3f7cbd | ||
|
|
6ed55c361e | ||
|
|
6f33a1edae | ||
|
|
44f346f208 | ||
|
|
eee3b116b4 | ||
|
|
f3d911e553 | ||
|
|
7623228101 | ||
|
|
01c730c187 | ||
|
|
a86b2f6c84 | ||
|
|
a7b90592d4 | ||
|
|
dc93cd731c | ||
|
|
7c41beeb81 | ||
|
|
c26e702576 | ||
|
|
a0cfb7848b | ||
|
|
37b1a50b57 | ||
|
|
72dc5e892d | ||
|
|
e1e2833947 | ||
|
|
52d8b7c631 | ||
|
|
2efa45eb29 | ||
|
|
95dd39cf87 | ||
|
|
4f4acd686d | ||
|
|
b2e510c5ba | ||
|
|
817b1d8afa | ||
|
|
b0950f0da1 | ||
|
|
1d7245bdeb | ||
|
|
b23b489424 | ||
|
|
ecf9da582a | ||
|
|
67355c875d | ||
|
|
391c4720e3 | ||
|
|
912ec7b333 | ||
|
|
268c3f102e | ||
|
|
1d9bab14ce | ||
|
|
d8114f2386 | ||
|
|
979bcd2169 | ||
|
|
844c6e9482 | ||
|
|
647c9dc195 | ||
|
|
7b4eb04a50 | ||
|
|
88edca1a4e | ||
|
|
adcb984da3 | ||
|
|
df394d8404 | ||
|
|
3e2e454530 | ||
|
|
084d708832 | ||
|
|
7d6d779353 | ||
|
|
dff8824b1a | ||
|
|
276d26d5c1 | ||
|
|
a907a11252 | ||
|
|
3a79d2fb55 | ||
|
|
3380b37e56 | ||
|
|
6a3e7bea73 | ||
|
|
aef76f529f | ||
|
|
1ff20dae7f | ||
|
|
b421d81ba1 | ||
|
|
6b1b973ecc | ||
|
|
c2c43a6a07 | ||
|
|
e8bc44c86e | ||
|
|
eccbcbd7d1 | ||
|
|
9da7b7bcb7 | ||
|
|
def769b7c6 | ||
|
|
095dc5f462 | ||
|
|
7fee1bf4df | ||
|
|
1837bee95c | ||
|
|
d81417e847 | ||
|
|
7a1afa8a9a | ||
|
|
c1eaec74b7 | ||
|
|
485b3a43fe | ||
|
|
1b10d262ee | ||
|
|
960264cc32 | ||
|
|
0eb13a0164 | ||
|
|
532c0201e8 | ||
|
|
f8a4d3423d | ||
|
|
b57e0371a9 | ||
|
|
a9641e3f54 | ||
|
|
99dd678173 | ||
|
|
680ee2233d | ||
|
|
8107ab4f42 | ||
|
|
fd48fc006c | ||
|
|
e213eb3647 | ||
|
|
8b86e4b409 | ||
|
|
75faf05129 | ||
|
|
f142fec0c1 | ||
|
|
f397e323c2 | ||
|
|
e1eb98135a | ||
|
|
3ea96fec6f | ||
|
|
4251c2b24b | ||
|
|
27c7c8ea0b | ||
|
|
bcbe230f68 | ||
|
|
50989e9e4a | ||
|
|
00c47b2065 | ||
|
|
40772b09af | ||
|
|
216dbbc7d2 | ||
|
|
bd9fa1d162 | ||
|
|
8d7b63e885 | ||
|
|
23e229a61e | ||
|
|
45fd7e4479 | ||
|
|
af35bf32e0 | ||
|
|
180a0ff84e | ||
|
|
5cfda766a8 | ||
|
|
7481654408 | ||
|
|
65f537e7ac | ||
|
|
59d6a9ea42 | ||
|
|
f31827dd25 | ||
|
|
96cd514026 | ||
|
|
8cfea3e486 | ||
|
|
ef01b2b56c | ||
|
|
0b0360b72e | ||
|
|
03b1049241 | ||
|
|
c2934076f7 | ||
|
|
8870c95a08 | ||
|
|
d02ee2d8da | ||
|
|
7dab358863 | ||
|
|
e8809618d5 | ||
|
|
86629256ca | ||
|
|
73cbb6ecaf | ||
|
|
0bc3aa9965 | ||
|
|
7e2d6f0f8e | ||
|
|
833ae00ece | ||
|
|
1b86b2e3b1 | ||
|
|
31a95ca976 | ||
|
|
ce70fa69ac | ||
|
|
1dc087ea65 | ||
|
|
01bc9ccba2 | ||
|
|
0cbc38eb4c | ||
|
|
0f442aae54 | ||
|
|
9620a7a78b | ||
|
|
9cacfb0cfe | ||
|
|
80920eabb3 | ||
|
|
815c642304 | ||
|
|
8f2800d607 | ||
|
|
2b10dfe591 | ||
|
|
7bc5b892b9 | ||
|
|
03a1afd4d9 | ||
|
|
39443539fc | ||
|
|
e0c0bdd3f3 | ||
|
|
6bf9aaf884 | ||
|
|
0a9361f59e | ||
|
|
a0e0090afd | ||
|
|
b5f555cbe4 | ||
|
|
94c45f2bdd | ||
|
|
b1670380ee | ||
|
|
83bb2edec4 | ||
|
|
8716812610 | ||
|
|
3345eff347 | ||
|
|
5712193f72 | ||
|
|
9c67b79e44 | ||
|
|
8abdeed5a2 | ||
|
|
1326aed521 | ||
|
|
5c9597950b | ||
|
|
a3081bcf4c | ||
|
|
e6f7afd9b9 | ||
|
|
1f550b8939 | ||
|
|
e9d84c1c5d | ||
|
|
f3c35790f4 | ||
|
|
6d8919eecd | ||
|
|
94d9ddde75 | ||
|
|
d0379fd317 | ||
|
|
e1e5f65c03 | ||
|
|
9c1eee37cf | ||
|
|
dd216e93b7 | ||
|
|
779a6cc7bf | ||
|
|
29f7802cbe | ||
|
|
800d06ecc9 | ||
|
|
7edd92e26a | ||
|
|
242e9ee1ab | ||
|
|
b6128a6862 | ||
|
|
562f2670c3 | ||
|
|
c13f02a74c | ||
|
|
16055b41f6 | ||
|
|
184a66886e | ||
|
|
aea77ea0f7 | ||
|
|
e96ca81063 | ||
|
|
ed8cb75cc5 | ||
|
|
c4e14829bb | ||
|
|
83ef4815d0 | ||
|
|
7d7be12a48 | ||
|
|
b2965fa4a4 | ||
|
|
c1507c7fbe | ||
|
|
a5d85d523a | ||
|
|
4055b4c2d8 | ||
|
|
dd27f0d1ad | ||
|
|
be55e3f745 | ||
|
|
88005f2745 | ||
|
|
268270c733 | ||
|
|
f6ff35aa7b | ||
|
|
477f5c6d85 | ||
|
|
a9cfa38d06 | ||
|
|
6680d4495c | ||
|
|
1fb1b4edc1 | ||
|
|
cc350aae23 | ||
|
|
c5c76094f5 | ||
|
|
ec8d8ceacc | ||
|
|
d396b099ec | ||
|
|
e99bc425fd | ||
|
|
ed643887f9 | ||
|
|
d2a65ed71b | ||
|
|
36f5895985 | ||
|
|
2b5406e378 | ||
|
|
fd6cab202f | ||
|
|
f65189c964 | ||
|
|
905892065c | ||
|
|
3cdac9f5e3 | ||
|
|
cf5d686ca3 | ||
|
|
22fa93b002 | ||
|
|
5333d90140 | ||
|
|
a4e7d79d57 | ||
|
|
083a1f86a7 | ||
|
|
8c7f2325b2 | ||
|
|
b3f4444446 | ||
|
|
8e61bccbba | ||
|
|
70df26a046 | ||
|
|
d8bfe85888 | ||
|
|
4cc4c9d043 | ||
|
|
b016173231 | ||
|
|
38b88a589b | ||
|
|
fd7f970304 | ||
|
|
7c078b286f | ||
|
|
a7a338bf26 | ||
|
|
ce33c03bf8 | ||
|
|
24a80a903a | ||
|
|
087e86692f | ||
|
|
9ad1e92844 | ||
|
|
a8d2a8f837 | ||
|
|
b46c637e75 | ||
|
|
2a8fe5d39b | ||
|
|
05d77ba9aa | ||
|
|
a8bf27b54d | ||
|
|
070adb88e7 | ||
|
|
e0c1b7ab6b | ||
|
|
dbdb7cb16f | ||
|
|
d0064c3cf4 | ||
|
|
7fa38555d0 | ||
|
|
938aeadde8 | ||
|
|
4521a8564a | ||
|
|
f00333cc68 | ||
|
|
7cc7c94621 | ||
|
|
a23e505f7a | ||
|
|
eb54b91226 | ||
|
|
e421fd9eea | ||
|
|
36744390b8 | ||
|
|
fb42aafdef | ||
|
|
a9570d699b | ||
|
|
30d82d7d5b | ||
|
|
7a1b1f7ff0 | ||
|
|
c7cebb4f0e | ||
|
|
92b6d04051 | ||
|
|
fe1432facb | ||
|
|
c34463e63a | ||
|
|
6e36a600eb | ||
|
|
32496a9059 | ||
|
|
834718ac1b | ||
|
|
137c53f561 | ||
|
|
cbaddf7c02 | ||
|
|
2ef414d982 | ||
|
|
b857b3167d | ||
|
|
9455b2d907 | ||
|
|
f0b8d8850e | ||
|
|
aa885cab4c | ||
|
|
e4c336a120 | ||
|
|
430d7d6818 | ||
|
|
b894c69ee5 | ||
|
|
a2273e6878 | ||
|
|
de1503c2a8 | ||
|
|
5e50d7dd3d | ||
|
|
35bec1d96e | ||
|
|
cba90c8a0e | ||
|
|
a6e0cd3784 | ||
|
|
f844b3b64a | ||
|
|
a911d87849 | ||
|
|
1da9947f29 | ||
|
|
09c5bba03b | ||
|
|
c3374a69bd | ||
|
|
49b6b46082 | ||
|
|
52b28cb4e3 | ||
|
|
e7697e9c28 | ||
|
|
b44c834e98 | ||
|
|
2adb627c75 | ||
|
|
45cde78438 | ||
|
|
d1e5b32b06 | ||
|
|
87b359789b | ||
|
|
ab10c29972 | ||
|
|
dfd4e4d54d | ||
|
|
cbc8b73ef4 | ||
|
|
7669a4db3c | ||
|
|
87d6fc2581 | ||
|
|
621f1a20af | ||
|
|
22810c71aa | ||
|
|
8f923fbe4c | ||
|
|
bf8bcaab3a | ||
|
|
f9692944c3 | ||
|
|
3b7e405780 | ||
|
|
404f7912a6 | ||
|
|
9f3c91cc54 | ||
|
|
7e05489c8f | ||
|
|
1588d42088 | ||
|
|
fb7b43a30c | ||
|
|
f358d52f84 | ||
|
|
2a59cebe63 | ||
|
|
9ad99f7e6e | ||
|
|
816e9bf60f | ||
|
|
d08d9cc3b4 | ||
|
|
72f1bc6a8a | ||
|
|
ecc95c0b5b | ||
|
|
adcdf352f5 | ||
|
|
30c278b4c9 | ||
|
|
e632314360 | ||
|
|
be79ab80a0 | ||
|
|
8aaf00152e | ||
|
|
9a2dcff440 | ||
|
|
781e225025 | ||
|
|
06de4734f7 | ||
|
|
93736fdb62 | ||
|
|
f44a21dd5e | ||
|
|
7e49d8422a | ||
|
|
46aaad9387 | ||
|
|
43dcf7781e | ||
|
|
f6a266366b | ||
|
|
6cc519052c | ||
|
|
b1224f842c | ||
|
|
2b9c2dbd0e | ||
|
|
cb0720f670 | ||
|
|
c53a5df2d4 | ||
|
|
df5f0fda7a | ||
|
|
a8d442e819 | ||
|
|
273ee1745a | ||
|
|
a0277a5537 | ||
|
|
e0eefb0062 | ||
|
|
6118e21160 | ||
|
|
5f3c700834 | ||
|
|
d1ef0801a2 | ||
|
|
c3c4b384e9 | ||
|
|
c2ef41ae47 | ||
|
|
fd2ae34e2d | ||
|
|
10f01fac32 | ||
|
|
e19acec44f | ||
|
|
84073e86d8 | ||
|
|
92dee735e9 | ||
|
|
7a9112ea44 | ||
|
|
6306453ffe | ||
|
|
0898e16285 | ||
|
|
96cb7c9d6f | ||
|
|
1a3def6708 | ||
|
|
1705961d68 | ||
|
|
fc63d08b50 | ||
|
|
30ac9e5560 | ||
|
|
79004f352e | ||
|
|
4d5690bcd6 | ||
|
|
0f5520060a | ||
|
|
ce60ddced7 | ||
|
|
5e32ecfc58 | ||
|
|
afc5c770ae | ||
|
|
b14c3dacb8 | ||
|
|
a71aedd5af | ||
|
|
72c54793d1 | ||
|
|
4c5dfb56ba | ||
|
|
039be451d4 | ||
|
|
aac28af72f | ||
|
|
54fe3cf870 | ||
|
|
69d5a06066 | ||
|
|
5bbbefc026 | ||
|
|
58e20a44cf | ||
|
|
18db4519f8 | ||
|
|
7ed06a5dac | ||
|
|
1cd43c5356 | ||
|
|
b8e45d06f3 | ||
|
|
fa7044f036 | ||
|
|
f2535976d7 | ||
|
|
41d43b79d2 | ||
|
|
29363e35df | ||
|
|
388f7a6c2a | ||
|
|
688b75434d | ||
|
|
f529fbfcd5 | ||
|
|
f9e736472e | ||
|
|
18e6049878 | ||
|
|
cdbf14c392 | ||
|
|
0dea4d6762 | ||
|
|
c841c2c6bc | ||
|
|
f78866da48 | ||
|
|
e5af65a1aa | ||
|
|
fd51af9c33 | ||
|
|
eae56944b9 | ||
|
|
e37ad93b49 | ||
|
|
55516b32ca | ||
|
|
67babe0819 | ||
|
|
fc02d648f2 | ||
|
|
7ff1073be8 | ||
|
|
5ff772ef38 | ||
|
|
8a53f6b54c | ||
|
|
76dfeeb6a2 | ||
|
|
7b6170ba2e | ||
|
|
748bbd5624 | ||
|
|
14db83c833 | ||
|
|
6704ae5da4 | ||
|
|
92ac87b93d | ||
|
|
80ee398f89 | ||
|
|
88c0f2c7d6 | ||
|
|
f57dc3f4cb | ||
|
|
de0bd26466 | ||
|
|
deed317053 | ||
|
|
81aa44c545 | ||
|
|
39c6366b6a | ||
|
|
5ad53267d2 | ||
|
|
23f13fa0c3 | ||
|
|
b619a9210d | ||
|
|
fba0592c95 | ||
|
|
d569f83bcb | ||
|
|
9bbabb14ca | ||
|
|
267f75aa9e | ||
|
|
20cbf04596 | ||
|
|
f3dc04a9a0 | ||
|
|
2553c8df8d | ||
|
|
b3d366c000 | ||
|
|
67886ead73 | ||
|
|
c4f775b684 | ||
|
|
1bc5e34c9d | ||
|
|
9469f4293c | ||
|
|
bca6192327 | ||
|
|
bafd07ab9d | ||
|
|
d4fb3db23c | ||
|
|
8dae007be1 | ||
|
|
0723ec0573 | ||
|
|
eb2d58a689 | ||
|
|
f7c5b27ede | ||
|
|
f2e0ec2aa6 | ||
|
|
5e8e4f5f73 | ||
|
|
46d7472ac8 | ||
|
|
5b1b1b9b35 | ||
|
|
281beba0be | ||
|
|
0169214b3f | ||
|
|
23b774109a | ||
|
|
dd80c80b14 | ||
|
|
4799d41466 | ||
|
|
20aff4f54e | ||
|
|
6b74b9cbb2 | ||
|
|
45aa5f3dca | ||
|
|
d632491d65 | ||
|
|
d8c12c04d9 | ||
|
|
9c28aee88b | ||
|
|
9c92080d79 | ||
|
|
423a36c1b0 | ||
|
|
069e9ade9a | ||
|
|
478cb082c8 | ||
|
|
6444d222f2 | ||
|
|
1f4fee8904 | ||
|
|
cd44cc0d72 | ||
|
|
2f889aa341 | ||
|
|
b259db992e | ||
|
|
2aedf8d408 | ||
|
|
f00d0fe567 | ||
|
|
ae7eaad7ba | ||
|
|
3b2c62b4e4 | ||
|
|
eb4e78283e | ||
|
|
aac19ed53e | ||
|
|
cc97a654b9 | ||
|
|
3294832c39 | ||
|
|
5380122b7f | ||
|
|
7d9971a1a6 | ||
|
|
956460df10 | ||
|
|
01b79c9dee | ||
|
|
4d3dc3c1fc | ||
|
|
517cc26446 | ||
|
|
1b38361935 | ||
|
|
86259f9ed1 | ||
|
|
58309116b9 | ||
|
|
99f76678f7 | ||
|
|
dd20afb9e8 | ||
|
|
025792fe42 | ||
|
|
48ebaeb925 | ||
|
|
db6b6603af | ||
|
|
c187c276df | ||
|
|
3405818181 | ||
|
|
eca6a9bf47 | ||
|
|
23c1b17e2d | ||
|
|
d3bf069fd6 | ||
|
|
ee0872a472 | ||
|
|
f6e7dc0217 | ||
|
|
5d4ecbb691 | ||
|
|
96a6206c59 | ||
|
|
be6289fe22 | ||
|
|
c6e19cdf2a | ||
|
|
8f79f39723 | ||
|
|
780fce04ff | ||
|
|
780f975e7c | ||
|
|
d3f1ade376 | ||
|
|
588a3c95ea | ||
|
|
8f3f877810 | ||
|
|
c1dfd1b169 | ||
|
|
4469ee99c7 | ||
|
|
baf64da77c | ||
|
|
80b6d27611 | ||
|
|
08d30ca390 | ||
|
|
7adf7f7181 | ||
|
|
87b05e5ecd | ||
|
|
4033f4019f | ||
|
|
73823b4152 | ||
|
|
f725a977de | ||
|
|
424df55bcd | ||
|
|
1e5df05b2c | ||
|
|
18685d49dd | ||
|
|
b6197de956 | ||
|
|
d42b59dfa2 | ||
|
|
2df3a569b4 | ||
|
|
0d7fe35928 | ||
|
|
5e2e370c41 | ||
|
|
cd40e8ec48 | ||
|
|
103746b007 | ||
|
|
6bf508fc34 | ||
|
|
13dfe99d7c | ||
|
|
7c44fc3761 | ||
|
|
eb741cd9d3 | ||
|
|
8786c87f5e | ||
|
|
142942838b | ||
|
|
a9a33ae930 | ||
|
|
363e225a87 | ||
|
|
38036af25d | ||
|
|
04c5010e86 | ||
|
|
acf9d47467 | ||
|
|
ed0c83dbb2 | ||
|
|
9cf1ede9f2 | ||
|
|
80c93c226c | ||
|
|
39540f6850 | ||
|
|
6885c2ded8 | ||
|
|
1a4bae9e86 | ||
|
|
fb7f26ba6a | ||
|
|
c1fe2e975d | ||
|
|
37587029d2 | ||
|
|
c0c2f10228 | ||
|
|
1b04aa32e7 | ||
|
|
8e379fe853 | ||
|
|
c5279aa348 | ||
|
|
5a3d40169c | ||
|
|
9afff7174d | ||
|
|
f789e2d578 | ||
|
|
3d10ecf3f2 | ||
|
|
84f2988560 | ||
|
|
168cb749ee | ||
|
|
e24d57dded | ||
|
|
db4ad1b0e4 | ||
|
|
87d2252c43 | ||
|
|
2fbcd3fa57 | ||
|
|
9d2acc5a58 | ||
|
|
060418e4d6 | ||
|
|
59f0202485 | ||
|
|
1ec3f656a0 | ||
|
|
03b2b1ffda | ||
|
|
f27034652e | ||
|
|
ed2f8c7497 | ||
|
|
255315dd64 | ||
|
|
2dae62dbc2 | ||
|
|
0bf9caf2c1 | ||
|
|
7018e43f5e | ||
|
|
7c552f55a1 | ||
|
|
4a34245410 | ||
|
|
44dfb12195 | ||
|
|
08a56a6026 | ||
|
|
2905730db6 | ||
|
|
540f18cd69 | ||
|
|
c6748a8466 | ||
|
|
b3d9a3cc80 | ||
|
|
0fd12e1f1a | ||
|
|
259396c205 | ||
|
|
e98fb2063a | ||
|
|
89fdec328f | ||
|
|
59b4703152 | ||
|
|
03d177f7a7 | ||
|
|
816720f80f | ||
|
|
507d17aa69 | ||
|
|
4eb903b908 | ||
|
|
4e46b8c6b7 | ||
|
|
fc477d4f88 | ||
|
|
cd5029aaa0 | ||
|
|
e288edbfa9 | ||
|
|
f4faf0959e | ||
|
|
1cd52b8ed1 | ||
|
|
b71fd5282b | ||
|
|
28da06e485 | ||
|
|
52f15ce37c | ||
|
|
0755e4dc34 | ||
|
|
c445691bc9 | ||
|
|
489a6ed7a2 | ||
|
|
7aa52e4ff3 | ||
|
|
2697689c3c | ||
|
|
9941896c4e | ||
|
|
ba94eba05d | ||
|
|
557817ff91 | ||
|
|
a840c2034a | ||
|
|
823c920baf | ||
|
|
99b8734417 | ||
|
|
fed1b8d0ec | ||
|
|
fc3419e2c1 | ||
|
|
e43f3aac01 | ||
|
|
833691a2b7 | ||
|
|
7e4484f0b0 | ||
|
|
62a41aeb31 | ||
|
|
0c8dae7f37 | ||
|
|
65358f6404 | ||
|
|
76c191c7a8 | ||
|
|
894ccc72db | ||
|
|
22d4ad532d | ||
|
|
69f6c6c5f3 | ||
|
|
81b23b3495 | ||
|
|
0595f1b06f | ||
|
|
bb903b8eb4 | ||
|
|
046a369ce4 | ||
|
|
d12ab41b47 | ||
|
|
db0e91ac02 | ||
|
|
e34f44a620 | ||
|
|
90377568ac | ||
|
|
978c6be82c | ||
|
|
f3bc0cdda8 | ||
|
|
00ce521972 | ||
|
|
7bc3b0ec28 | ||
|
|
5a0136a1c0 | ||
|
|
563e648079 | ||
|
|
357e9a04bc | ||
|
|
b84ad7aae6 | ||
|
|
0eb238551c | ||
|
|
68bb87936a | ||
|
|
c82a2b96ab | ||
|
|
77624f63c7 | ||
|
|
36c26570ac | ||
|
|
c2bd990c9d | ||
|
|
1218ff377d | ||
|
|
c7db94c63a | ||
|
|
215ec526a1 | ||
|
|
d597b0416d | ||
|
|
6d41d04cbd | ||
|
|
c494433576 | ||
|
|
2a49b303cc | ||
|
|
9e5c550474 | ||
|
|
2837f0ab32 | ||
|
|
8450e6717b | ||
|
|
14e7655df9 | ||
|
|
b20559057d | ||
|
|
d7c79bf6ba | ||
|
|
16d5e00fc3 | ||
|
|
82450bf9c7 | ||
|
|
7bada617b7 | ||
|
|
67f6e1d9db | ||
|
|
d9e2b26e98 | ||
|
|
8c2d2d762f | ||
|
|
704f1d69fa | ||
|
|
1c5e2b68f4 | ||
|
|
af856335af | ||
|
|
3b90597478 | ||
|
|
742722be71 | ||
|
|
47e3961b3e | ||
|
|
86fcfb4c67 | ||
|
|
3d0682b004 | ||
|
|
ee90ba2b45 | ||
|
|
bf931fedf6 | ||
|
|
d5add5486c | ||
|
|
cb010fb5c6 | ||
|
|
7df98bde28 |
No files matched your search
+5
-3
@@ -1,6 +1,8 @@
|
||||
Data-Storage
|
||||
Log-Files
|
||||
My-Workspaces
|
||||
**/Data-Storage
|
||||
**/My-Data-Storage
|
||||
**/Log-Files
|
||||
**/My-Log-Files
|
||||
**/My-Workspaces
|
||||
debug.log
|
||||
|
||||
*.db
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
|
||||
|
||||
# These owners will be the default owners for everything in
|
||||
# the repo. Unless a later match takes precedence, these will be requested for
|
||||
# review when someone opens a pull request.
|
||||
|
||||
* @Superalgos/foundations-project
|
||||
|
||||
# Project Teams
|
||||
/Projects/Algorithmic-Trading/ @Superalgos/algorithmic-trading-project
|
||||
/Projects/Community-Plugins/ @Superalgos/community-plugins-project
|
||||
/Projects/Data-Mining/ @Superalgos/data-mining-project
|
||||
/Projects/Ethereum/ @Superalgos/ethereum-project
|
||||
/Projects/Foundations/ @Superalgos/foundations-project
|
||||
/Projects/Governance/ @Superalgos/governance-project
|
||||
/Projects/Machine-Learning/ @Superalgos/machine-learning-project
|
||||
/Projects/Network/ @Superalgos/network-project
|
||||
/Projects/Social-Bots/ @Superalgos/social-bots-project
|
||||
/Projects/Social-Trading/ @Superalgos/social-trading-project
|
||||
/Projects/TensorFlow/ @Superalgos/tensorflow-project
|
||||
/Projects/Visual-Scripting/ @Superalgos/visual-scripting-project
|
||||
|
||||
/Projects/Education/ @Superalgos/education-project
|
||||
Docs*/ @Superalgos/education-project
|
||||
|
||||
/.github/ @Superalgos/sysadmins-team
|
||||
/Docker/ @Superalgos/sysadmins-team
|
||||
.git* @Superalgos/sysadmins-team
|
||||
.docker* @Superalgos/sysadmins-team
|
||||
package*.json @Superalgos/sysadmins-team
|
||||
@@ -2,9 +2,14 @@ name: Publish Docker image
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master, develop]
|
||||
release:
|
||||
types: [published, created, edited]
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
release:
|
||||
types:
|
||||
- published
|
||||
- created
|
||||
- edited
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
name: Build/release Binaries
|
||||
|
||||
|
||||
on:
|
||||
release:
|
||||
types:
|
||||
- published
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build-release:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [windows-latest, macos-latest]
|
||||
|
||||
steps:
|
||||
- name: Check out Git repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install Node.js, NPM and Yarn
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 14
|
||||
|
||||
- name: Get version
|
||||
id: vars
|
||||
run: echo "::set-output name=tag::$(node -p "require('./package.json').version")"
|
||||
|
||||
- name: Build/release Electron app
|
||||
uses: samuelmeuli/action-electron-builder@v1
|
||||
with:
|
||||
# GitHub token, automatically provided to the action
|
||||
# (No need to define this secret in the repo settings)
|
||||
github_token: ${{ secrets.github_token }}
|
||||
args: "-c.extraMetadata.version=${{ steps.vars.outputs.tag }} -c build/electron-builder.json -p always"
|
||||
release: true
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
name: Nightly develop Binaries
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '20 3 * * *'
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
create-release:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Download a file
|
||||
run: curl "https://raw.githubusercontent.com/${{ github.repository }}/develop/package.json" -o package.json
|
||||
|
||||
- name: Get current date
|
||||
id: date
|
||||
run: echo "::set-output name=date::$(date +'%Y%m%d')"
|
||||
|
||||
- name: Get version
|
||||
id: vars
|
||||
run: echo "::set-output name=tag::$(node -p "require('./package.json').version")"
|
||||
|
||||
- name: Create nightly release
|
||||
id: create_release
|
||||
uses: viperproject/create-nightly-release@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: ${{ steps.vars.outputs.tag }}.${{ steps.date.outputs.date }}
|
||||
release_name: Superalgos-Beta-v${{ steps.vars.outputs.tag }} Snapshot ${{ steps.date.outputs.date }}
|
||||
keep_num: 5
|
||||
keep_tags: false
|
||||
|
||||
build-release:
|
||||
runs-on: ${{ matrix.os }}
|
||||
needs: create-release
|
||||
strategy:
|
||||
matrix:
|
||||
os: [windows-latest, macos-latest, ubuntu-latest]
|
||||
|
||||
steps:
|
||||
- name: Get current date
|
||||
id: date
|
||||
run: echo "::set-output name=date::$(date +'%Y%m%d')"
|
||||
|
||||
- name: Check out Git repository
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
ref: develop
|
||||
|
||||
- name: Install Node.js, NPM and Yarn
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 14
|
||||
|
||||
- name: Get version
|
||||
id: vars
|
||||
run: echo "::set-output name=tag::$(node -p "require('./package.json').version")"
|
||||
|
||||
- name: Build/release Electron app
|
||||
uses: samuelmeuli/action-electron-builder@v1
|
||||
with:
|
||||
# GitHub token, automatically provided to the action
|
||||
# (No need to define this secret in the repo settings)
|
||||
github_token: ${{ secrets.github_token }}
|
||||
args: "-c.extraMetadata.version=${{ steps.vars.outputs.tag }}.${{ steps.date.outputs.date }} -c build/electron-builder.json -p onTagOrDraft"
|
||||
|
||||
# If the commit is tagged with a version (e.g. "v1.0.0"),
|
||||
# release the app after building
|
||||
# release: ${{ startsWith(github.ref, 'refs/tags/v') }}
|
||||
release: true
|
||||
|
||||
|
||||
@@ -4,6 +4,8 @@ My-Workspaces
|
||||
My-Social-Trading-Data
|
||||
My-Network-Nodes-Data
|
||||
My-Secrets
|
||||
My-Data-Storage
|
||||
My-Log-Files
|
||||
debug.log
|
||||
.DS_Store
|
||||
*.db
|
||||
@@ -17,3 +19,4 @@ node_modules
|
||||
launch.json
|
||||
package-lock.json
|
||||
.idea
|
||||
dist
|
||||
Vendored
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "C:\\Superalgos"
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"search.maintainFileSearchCache": true
|
||||
}
|
||||
}
|
||||
Vendored
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "C:\\Superalgos"
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"search.maintainFileSearchCache": true
|
||||
}
|
||||
}
|
||||
Vendored
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "C:\\Superalgos"
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"search.maintainFileSearchCache": true
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "C:\\Superalgos"
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"search.maintainFileSearchCache": true
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "C:\\Superalgos"
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"search.maintainFileSearchCache": true
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "C:\\Superalgos"
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"search.maintainFileSearchCache": true
|
||||
}
|
||||
}
|
||||
Vendored
+11
-5
@@ -1,19 +1,25 @@
|
||||
{
|
||||
"files.exclude": {
|
||||
"**/Data-Storage": true,
|
||||
"**/Documentation": true,
|
||||
"**/Log-Files": true,
|
||||
"**/node_modules": true,
|
||||
"**/Deprecated-Code": true,
|
||||
"**/My-Social-Trading-Data": true,
|
||||
"**/My-Network-Nodes-Data": true,
|
||||
"**/My-Workspaces": true,
|
||||
"**/My-Secrets": true,
|
||||
"**/My-Data-Storage": true,
|
||||
"**/My-Log-Files": true,
|
||||
},
|
||||
"search.exclude": {
|
||||
"**/Data-Storage": true,
|
||||
"**/Documentation": true,
|
||||
"**/Log-Files": true,
|
||||
"**/node_modules": true,
|
||||
"**/Deprecated-Code": true,
|
||||
"**/My-Social-Trading-Data": true
|
||||
"**/My-Social-Trading-Data": true,
|
||||
"**/My-Network-Nodes-Data": true,
|
||||
"**/My-Workspaces": true,
|
||||
"**/My-Secrets": true,
|
||||
"**/My-Data-Storage": true,
|
||||
"**/My-Log-Files": true,
|
||||
},
|
||||
"search.maintainFileSearchCache": true
|
||||
}
|
||||
+61
-111
@@ -1,128 +1,78 @@
|
||||
exports.newDesktopApp = function newDesktopApp() {
|
||||
|
||||
let thisObject = {
|
||||
userProfiles: undefined,
|
||||
p2pNetworkClient: undefined,
|
||||
p2pNetwork: undefined,
|
||||
p2pNetworkPeers: undefined,
|
||||
webSocketsInterface: undefined,
|
||||
webAppInterface: undefined,
|
||||
p2pNetworkInterface: undefined,
|
||||
socialGraph: undefined,
|
||||
run: run
|
||||
}
|
||||
|
||||
DK.desktopApp = thisObject
|
||||
|
||||
return thisObject
|
||||
|
||||
async function run() {
|
||||
/*
|
||||
Heree we will store our running objects:
|
||||
*/
|
||||
DK.running = {}
|
||||
|
||||
/*
|
||||
This is the Web Sockets client that interacts with the Superalgos Network.
|
||||
*/
|
||||
DK.running.socialGraph = DK.projects.socialTrading.modules.socialGraph.newSocialTradingModulesSocialGraph()
|
||||
await DK.running.socialGraph.initialize()
|
||||
await setupNetwork()
|
||||
await setupServices()
|
||||
|
||||
/*
|
||||
This is the Web Sockets client that interacts with the Superalgos Network.
|
||||
*/
|
||||
DK.running.webSocketsClient = SA.projects.network.modules.webSocketsClient.newNetworkModulesWebSocketsClient()
|
||||
await DK.running.webSocketsClient.initialize()
|
||||
console.log('Desktop Client Connected to Network Node via Web Sockets ................... Connected to port ' + global.env.NETWORK_WEB_SOCKETS_INTERFACE_PORT)
|
||||
|
||||
/* These are the Network Interfaces by which the UI interacts with the Desktop App.*/
|
||||
|
||||
DK.running.webSocketsInterface = DK.projects.socialTrading.modules.webSocketsInterface.newDesktopModulesWebSocketsInterface()
|
||||
DK.running.webSocketsInterface.initialize()
|
||||
console.log('Desktop Client Web Sockets Interface ....................................... Listening at port ' + global.env.CLIENT_WEB_SOCKETS_INTERFACE_PORT)
|
||||
|
||||
|
||||
DK.running.httpInterface = DK.projects.socialTrading.modules.httpInterface.newDesktopModulesHttpInterface()
|
||||
DK.running.httpInterface.initialize()
|
||||
console.log('Desktop Client Http Interface .............................................. Listening at port ' + global.env.DESKTOP_HTTP_INTERFACE_PORT)
|
||||
|
||||
return
|
||||
|
||||
let queryMessage
|
||||
let query
|
||||
/*
|
||||
Test Query User Profiles.
|
||||
*/
|
||||
queryMessage = {
|
||||
queryType: SA.projects.socialTrading.globals.queryTypes.USER_PROFILES,
|
||||
emitterUserProfileId: SA.secrets.map.get('Social Trading Desktop').userProfileId,
|
||||
initialIndex: 'Last',
|
||||
amountRequested: 10,
|
||||
direction: 'Past'
|
||||
async function setupNetwork() {
|
||||
/*
|
||||
We set up ourselves as a Network Client.
|
||||
*/
|
||||
thisObject.p2pNetworkClient = SA.projects.network.modules.p2pNetworkClient.newNetworkModulesP2PNetworkClient()
|
||||
await thisObject.p2pNetworkClient.initialize()
|
||||
/*
|
||||
We will read all user profiles plugins and get from there our network identity.
|
||||
*/
|
||||
thisObject.userProfiles = SA.projects.network.modules.userProfiles.newNetworkModulesUserProfiles()
|
||||
await thisObject.userProfiles.initialize(global.env.DESKTOP_APP_SIGNING_ACCOUNT, thisObject.p2pNetworkClient)
|
||||
/*
|
||||
We set up the P2P Network.
|
||||
*/
|
||||
thisObject.p2pNetwork = SA.projects.network.modules.p2pNetwork.newNetworkModulesP2PNetwork()
|
||||
await thisObject.p2pNetwork.initialize('Network Client')
|
||||
/*
|
||||
Set up the connections to network nodes.
|
||||
*/
|
||||
thisObject.p2pNetworkPeers = SA.projects.network.modules.p2pNetworkPeers.newNetworkModulesP2PNetworkPeers()
|
||||
await thisObject.p2pNetworkPeers.initialize(
|
||||
'Network Client',
|
||||
thisObject.p2pNetworkClient,
|
||||
thisObject.p2pNetwork,
|
||||
global.env.DESKTOP_APP_MAX_OUTGOING_PEERS
|
||||
)
|
||||
}
|
||||
|
||||
query = {
|
||||
requestType: 'Query',
|
||||
queryMessage: JSON.stringify(queryMessage)
|
||||
}
|
||||
async function setupServices() {
|
||||
/*
|
||||
This is where we will process all the messages comming from our web app.
|
||||
*/
|
||||
thisObject.webAppInterface = DK.projects.socialTrading.modules.webAppInterface.newSocialTradingModulesWebAppInterface()
|
||||
/*
|
||||
This is where we will process all the events comming from the p2p network.
|
||||
*/
|
||||
thisObject.p2pNetworkInterface = DK.projects.socialTrading.modules.p2pNetworkInterface.newSocialTradingModulesP2PNetworkInterface()
|
||||
/*
|
||||
This is the Personal Social Graph for the user running this App.
|
||||
*/
|
||||
thisObject.socialGraph = DK.projects.socialTrading.modules.socialGraph.newSocialTradingModulesSocialGraph()
|
||||
await thisObject.socialGraph.initialize()
|
||||
/*
|
||||
These are the Network Interfaces by which the Web App interacts with this Desktop Client.
|
||||
*/
|
||||
thisObject.webSocketsInterface = DK.projects.socialTrading.modules.webSocketsInterface.newDesktopModulesWebSocketsInterface()
|
||||
thisObject.webSocketsInterface.initialize()
|
||||
console.log('Desktop Client Web Sockets Interface ......................................... Listening at port ' + JSON.parse(DK.desktopApp.p2pNetworkClient.node.config).webSocketsPort)
|
||||
|
||||
await DK.webSocketsClient.sendMessage(
|
||||
JSON.stringify(query)
|
||||
)
|
||||
.then(showProfiles)
|
||||
.catch(onError)
|
||||
|
||||
async function showProfiles(profiles) {
|
||||
console.log(profiles)
|
||||
|
||||
for (let i = 0; i < profiles.length; i++) {
|
||||
let profile = profiles[i]
|
||||
|
||||
/*
|
||||
Test Following Profiles.
|
||||
*/
|
||||
let eventMessage = {
|
||||
eventId: SA.projects.foundations.utilities.miscellaneousFunctions.genereteUniqueId(),
|
||||
eventType: SA.projects.socialTrading.globals.eventTypes.FOLLOW_USER_PROFILE,
|
||||
emitterUserProfileId: SA.secrets.map.get('Social Trading Desktop').userProfileId,
|
||||
targetUserProfileId: profile.userProfileId
|
||||
}
|
||||
|
||||
let event = {
|
||||
requestType: 'Event',
|
||||
eventMessage: JSON.stringify(eventMessage)
|
||||
}
|
||||
|
||||
await DK.webSocketsClient.sendMessage(
|
||||
JSON.stringify(event)
|
||||
)
|
||||
.then(followAdded)
|
||||
.catch(onError)
|
||||
|
||||
function followAdded() {
|
||||
console.log("User Profile " + profile.userProfileHandle + " followed.")
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
Test Query User Profile Stats.
|
||||
*/
|
||||
queryMessage = {
|
||||
queryType: SA.projects.socialTrading.globals.queryTypes.USER_PROFILE_STATS,
|
||||
emitterUserProfileId: SA.secrets.map.get('Social Trading Desktop').userProfileId,
|
||||
targetUserProfileId: SA.secrets.map.get('Social Trading Desktop').userProfileId
|
||||
}
|
||||
|
||||
query = {
|
||||
requestType: 'Query',
|
||||
queryMessage: JSON.stringify(queryMessage)
|
||||
}
|
||||
|
||||
await DK.webSocketsClient.sendMessage(
|
||||
JSON.stringify(query)
|
||||
)
|
||||
.then(showProfilesStats)
|
||||
.catch(onError)
|
||||
|
||||
function showProfilesStats(profile) {
|
||||
console.log(profile)
|
||||
}
|
||||
|
||||
/*
|
||||
Error Handling
|
||||
*/
|
||||
function onError(errorMessage) {
|
||||
console.log('[ERROR] Query not executed. ' + errorMessage)
|
||||
thisObject.httpInterface = DK.projects.socialTrading.modules.httpInterface.newDesktopModulesHttpInterface()
|
||||
thisObject.httpInterface.initialize()
|
||||
console.log('Desktop Client Http Interface ................................................ Listening at port ' + JSON.parse(DK.desktopApp.p2pNetworkClient.node.config).webPort)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,11 @@
|
||||
|
||||
/* Root object*/
|
||||
/* Root objects*/
|
||||
let UI = {
|
||||
projects: {},
|
||||
schemas: { projectSchema: undefined },
|
||||
environment: undefined,
|
||||
running: {}
|
||||
clientNode: undefined,
|
||||
webApp: undefined
|
||||
}
|
||||
|
||||
let SA = { projects: {} }
|
||||
@@ -13,3 +14,4 @@ We will use this to load functions originally intended for Nodejs
|
||||
*/
|
||||
let exports = {}
|
||||
|
||||
|
||||
+14
-6
@@ -1,6 +1,11 @@
|
||||
function newWebApp() {
|
||||
/*
|
||||
In it's current state of development, the Web App only has one module.
|
||||
|
||||
Everything is being coded here until some structure emerges.
|
||||
*/
|
||||
let thisObject = {
|
||||
messageReceived: messageReceived,
|
||||
initialize: initialize,
|
||||
finalize: finalize
|
||||
}
|
||||
@@ -15,7 +20,7 @@ function newWebApp() {
|
||||
try {
|
||||
setupRootObject(UI, 'UI')
|
||||
setupRootObject(SA, 'SA')
|
||||
await UI.projects.socialTrading.modules.webSocketsClient.initialize()
|
||||
await UI.projects.socialTrading.modules.webSocketsWebAppClient.initialize()
|
||||
loadWUserProfileTimeline()
|
||||
loadWhoToFollow()
|
||||
setupEventHandlers()
|
||||
@@ -109,7 +114,7 @@ function newWebApp() {
|
||||
queryMessage: JSON.stringify(queryMessage)
|
||||
}
|
||||
|
||||
await UI.projects.socialTrading.modules.webSocketsClient.sendMessage(
|
||||
await UI.projects.socialTrading.modules.webSocketsWebAppClient.sendMessage(
|
||||
JSON.stringify(query)
|
||||
)
|
||||
.then(addToContentDiv)
|
||||
@@ -123,7 +128,6 @@ function newWebApp() {
|
||||
function addToContentDiv(events) {
|
||||
try {
|
||||
let contentDiv = document.getElementById('content-div')
|
||||
|
||||
/*
|
||||
Delete al current content.
|
||||
*/
|
||||
@@ -180,7 +184,7 @@ function newWebApp() {
|
||||
queryMessage: JSON.stringify(queryMessage)
|
||||
}
|
||||
|
||||
await UI.projects.socialTrading.modules.webSocketsClient.sendMessage(
|
||||
await UI.projects.socialTrading.modules.webSocketsWebAppClient.sendMessage(
|
||||
JSON.stringify(query)
|
||||
)
|
||||
.then(addWhoToFollowTable)
|
||||
@@ -357,7 +361,7 @@ function newWebApp() {
|
||||
eventMessage: JSON.stringify(eventMessage)
|
||||
}
|
||||
|
||||
await UI.projects.socialTrading.modules.webSocketsClient.sendMessage(
|
||||
await UI.projects.socialTrading.modules.webSocketsWebAppClient.sendMessage(
|
||||
JSON.stringify(event)
|
||||
)
|
||||
.then(resolve)
|
||||
@@ -393,7 +397,7 @@ function newWebApp() {
|
||||
eventMessage: JSON.stringify(eventMessage)
|
||||
}
|
||||
|
||||
await UI.projects.socialTrading.modules.webSocketsClient.sendMessage(
|
||||
await UI.projects.socialTrading.modules.webSocketsWebAppClient.sendMessage(
|
||||
JSON.stringify(event)
|
||||
)
|
||||
.then(resolve)
|
||||
@@ -406,4 +410,8 @@ function newWebApp() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function messageReceived(message) {
|
||||
window.alert(message)
|
||||
}
|
||||
}
|
||||
@@ -98,8 +98,8 @@ function newWebAppLoader() {
|
||||
|
||||
if (downloadedCounter === modulesArray.length) {
|
||||
setTimeout(() => {
|
||||
UI.running.webApp = newWebApp()
|
||||
UI.running.webApp.initialize()
|
||||
UI.webApp = newWebApp()
|
||||
UI.webApp.initialize()
|
||||
}, 500)
|
||||
|
||||
}
|
||||
|
||||
@@ -22,6 +22,15 @@ function loadSuperalgos() {
|
||||
|
||||
function onResponse(err, file) {
|
||||
UI.environment = JSON.parse(file)
|
||||
setupClientNode()
|
||||
}
|
||||
}
|
||||
|
||||
function setupClientNode() {
|
||||
httpRequest(undefined, 'ClientNode', onResponse)
|
||||
|
||||
function onResponse(err, file) {
|
||||
UI.clientNode = JSON.parse(file)
|
||||
setupProjectsSchema()
|
||||
}
|
||||
}
|
||||
|
||||
+10
-7
@@ -10,21 +10,25 @@ exports.newDesktopRoot = function newDesktopRoot() {
|
||||
|
||||
return thisObject
|
||||
|
||||
async function run() {
|
||||
async function run(debugSettings) {
|
||||
/*
|
||||
The DK object is accesible everywhere at the Superalgos Desktop App.
|
||||
The DK object is accessible everywhere at the Superalgos Desktop App.
|
||||
It provides access to all modules built for this App.
|
||||
*/
|
||||
global.DK = {}
|
||||
/*
|
||||
The SA object is accesible everywhere at the Superalgos Desktop App.
|
||||
The SA object is accessible everywhere at the Superalgos Desktop App.
|
||||
It provides access to all modules built for Superalgos in general.
|
||||
*/
|
||||
global.SA = {}
|
||||
/* Load Environment Variables */
|
||||
let ENVIRONMENT = require('./EnvironmentForDebug.js');
|
||||
let ENVIRONMENT = require('./Environment.js');
|
||||
let ENVIRONMENT_MODULE = ENVIRONMENT.newEnvironment()
|
||||
global.env = ENVIRONMENT_MODULE
|
||||
|
||||
if (debugSettings !== undefined && debugSettings.DESKTOP_APP_SIGNING_ACCOUNT !== undefined) {
|
||||
global.env.DESKTOP_APP_SIGNING_ACCOUNT = debugSettings.DESKTOP_APP_SIGNING_ACCOUNT
|
||||
}
|
||||
/*
|
||||
First thing is to load the project schema file.
|
||||
*/
|
||||
@@ -51,17 +55,16 @@ exports.newDesktopRoot = function newDesktopRoot() {
|
||||
simpleGit: require('simple-git'),
|
||||
nodeFetch: require('node-fetch')
|
||||
}
|
||||
|
||||
/*
|
||||
Setting up Secrets.
|
||||
*/
|
||||
SA.secrets = {
|
||||
array: require('./My-Secrets/Secrets.json'),
|
||||
array: require('./My-Secrets/Secrets.json').secrets,
|
||||
map: new Map()
|
||||
}
|
||||
for (let i = 0; i < SA.secrets.array.length; i++) {
|
||||
let secret = SA.secrets.array[i]
|
||||
SA.secrets.map.set (secret.codeName, secret)
|
||||
SA.secrets.map.set (secret.signingAccountChildCodeName, secret)
|
||||
}
|
||||
|
||||
run()
|
||||
|
||||
+2
-2
@@ -4,7 +4,7 @@ COPY . .
|
||||
RUN apk add --no-cache --virtual .build-deps make g++ \
|
||||
&& apk add --no-cache python3 \
|
||||
&& if [ "$(uname -m)" = "x86_64" ]; then node setup noShortcuts tensorflow; else node setup noShortcuts; fi \
|
||||
&& mkdir -p Data-Storage Log-Files My-Workspaces \
|
||||
&& mkdir -p ./Platform/My-Data-Storage ./Platform/My-Log-Files ./Platform/My-Workspaces \
|
||||
&& addgroup superalgos \
|
||||
&& adduser --disabled-password --no-create-home --ingroup superalgos superalgos \
|
||||
&& chown -R superalgos:superalgos /app \
|
||||
@@ -12,5 +12,5 @@ RUN apk add --no-cache --virtual .build-deps make g++ \
|
||||
USER superalgos
|
||||
EXPOSE 34248
|
||||
EXPOSE 18041
|
||||
VOLUME ["/app/Data-Storage", "/app/Log-Files", "/app/My-Workspaces"]
|
||||
VOLUME ["/app/Platform/My-Data-Storage", "/app/Platform/My-Log-Files", "/app/Platform/My-Workspaces"]
|
||||
ENTRYPOINT ["node", "platform", "noBrowser"]
|
||||
@@ -0,0 +1,273 @@
|
||||
# Superalgos Docker Guide
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Introduction](#introduction)
|
||||
- [Installation](#installation)
|
||||
- [Mac OS](#mac-os)
|
||||
- [Windows](#windows)
|
||||
- [Linux and BSD](#linux-and-bsd)
|
||||
- [Running Superalgos](#running-superalgos)
|
||||
- [Using Docker-Compose](#using-docker-compose)
|
||||
- [Docker Best Practices](#docker-best-practices)
|
||||
- [Docker Development Best Practices](#docker-development-best-practices)
|
||||
- [Dockerfile Best Practices](#dockerfile-best-practices)
|
||||
- [Twelve Factor App](#twelve-factor-app)
|
||||
|
||||
## Introduction
|
||||
|
||||
This walk through is broken up into to parts: a quick-start guide to running [Superalgos](https://github.com/Superalgos/Superalgos) with Docker and a deeper, more theoretical dive into containers with the hopes of explaining some of the design decisions.
|
||||
|
||||
[Superalgos](https://github.com/Superalgos/Superalgos), at its core, is a web application which also means it can be deployed inside a container like many other web applications. One of the leading platforms for operating containers is Docker. Docker can run on many different operating systems and compute platforms. The containers provide an easy, fast, repeatable, and secure way to deploy and distribute applications. While it doesn't take much experience to run containers or Docker, there are some basics that any user should learn in order to use the technology effectively.
|
||||
|
||||
Before getting started, be aware that Docker is not the originally intended method of running the [Superalgos](https://github.com/Superalgos/Superalgos) application and as such there are some drawbacks to doing so. Namely, you won't be able contribute back to the project or configure your Governance profile. We'll discuss this more later. Therefore, you should only consider using the Docker container for production deployments.
|
||||
|
||||
It is also worth noting that [Superalgos](https://github.com/Superalgos/Superalgos) is very resource intense so it is best to get acquainted with the software by running it on a fast computer with a good amount of RAM as opposed to a tiny, slow Raspberry Pi. But, once you are ready to run a production deployment, then a more economical server is preferred.
|
||||
|
||||
Docker container images are hosted on `ghcr`. You can browse the containers in the [Packages section of the code repository](https://github.com/users/Superalgos/packages/container/package/superalgos).
|
||||
|
||||
> **Note:** The container and the application are still under heavy development and testing. Please join the [Superalgos SysAdmins Group](https://t.me/superalgossysadmins) to discuss any issues you may run into.
|
||||
|
||||
## Installation
|
||||
|
||||
First, Docker Desktop needs to be installed on a Mac or Windows computer in order to run the containers. Linux and BSD users will need Docker Engine. Docker-compose is also recommended and it should be included with Docker Desktop, but it may need to be installed separately.
|
||||
|
||||
### Mac OS
|
||||
|
||||
Docker can be downloaded from the Docker Store following the [directions in the official Docker Docs](https://docs.docker.com/desktop/mac/install/). It can also be installed from the command line using Homebrew.
|
||||
|
||||
```shell
|
||||
brew cask install docker
|
||||
brew install docker-compose
|
||||
```
|
||||
|
||||
Then, make sure Docker Desktop is running. An easy way to check is to push `Cmd + space` then type `docker.app` in the search bar. You should also see the little whale icon in the top menu bar near the clock.
|
||||
|
||||
### Windows
|
||||
|
||||
Windows requires a few more steps than Mac OS, but it can also be downloaded from the Docker Store following the [directions in the official Docker Docs](https://docs.docker.com/desktop/windows/install/). It can also be installed from the command line using Chocolatey.
|
||||
|
||||
```shell
|
||||
choco install docker-desktop
|
||||
```
|
||||
|
||||
Docker should automatically start after installation. If you don't see the whale icon in the tray by the clock, then find `Docker` in the start menu.
|
||||
|
||||
### Linux and BSD
|
||||
|
||||
On Linux and BSD systems, Docker can be installed using the preferred package manager. [Step by step instructions for many different distributions](https://docs.docker.com/engine/install/debian/) of Linux can be found in the official Docker Docs. Since [Superalgos](https://github.com/Superalgos/Superalgos) runs well on Raspberry Pi 4 single-board computers, I'm going to illustrate the commands necessary to run [Superalgos](https://github.com/Superalgos/Superalgos) on the Raspbian Linux distribution.
|
||||
|
||||
```shell
|
||||
# install the requirements
|
||||
sudo apt-get update
|
||||
sudo apt-get install \
|
||||
apt-transport-https \
|
||||
ca-certificates \
|
||||
curl \
|
||||
gnupg \
|
||||
lsb-release
|
||||
|
||||
# add the gpg keys to verify the packages
|
||||
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
|
||||
|
||||
# configure the official repository
|
||||
echo \
|
||||
"deb [arch=arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
|
||||
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
|
||||
# install docker engine
|
||||
sudo apt-get update
|
||||
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose
|
||||
```
|
||||
|
||||
Docker should automatically start when it is done installing. You can check its status with `systemctl status docker`. To make things easier, ensure your user is added to the `docker` group. Type `id` at the command prompt and you should see something like `groups=...999(docker)`. If you don't see it listed, you can add yourself with `sudo usermod -a -G docker <username>`.
|
||||
|
||||
## Running Superalgos
|
||||
|
||||
Now that we have Docker installed and running, we can run the container. The option `--rm` will remove the instance of the container when it is exited.
|
||||
|
||||
```shell
|
||||
docker run --rm ghcr.io/superalgos/superalgos:latest
|
||||
```
|
||||
|
||||
You'll see some messages showing the container being downloaded and then some messages from the application itself showing that it is starting up and ready to accept connections. We'll stop the container now and add in a few more options so make it more useful, so press `ctrl + c` to exit.
|
||||
|
||||
We'll need to expose some ports so we can actually connect to it from our browser. Also, we'll want to create a few directories on our host file system so we can save, or persist, data between container reboots.
|
||||
|
||||
- `-d` to run the container daemonized, in the background
|
||||
- `-p` to map ports to the host system to allow connections
|
||||
- `-v` to mount local directories inside the container to persist data
|
||||
- `--name` to assign a name to the container for easier reference
|
||||
|
||||
```shell
|
||||
# create the data directories
|
||||
mkdir -p Data-Storage Log-Files My-Workspaces
|
||||
|
||||
# run the container with the extra options
|
||||
docker run \
|
||||
-d \
|
||||
--rm \
|
||||
--name superalgos \
|
||||
--user $(id -u):$(id -g) \
|
||||
-p 18041:18041 \
|
||||
-p 34248:34248 \
|
||||
-v $(pwd)/Data-Storage:/app/Platform/Data-Storage \
|
||||
-v $(pwd)/Log-Files:/app/Platform/Log-Files \
|
||||
-v $(pwd)/My-Workspaces:/app/Platform/My-Workspaces \
|
||||
ghcr.io/superalgos/superalgos:latest
|
||||
```
|
||||
|
||||
You can check the status of the container with `docker ps -a` and view the logs with `docker logs superalgos`.
|
||||
|
||||
Note that you will see one error in the log output informing you that `git` is not installed. This is intentional and is not required for the bot to function properly.
|
||||
|
||||
Now you can open your browser and load the application front end. Try loading `http://localhost:34248` if you are on the same computer that is running the container, otherwise use the host ip, for example `http://192.168.1.10:34248`.
|
||||
|
||||
If you want to stop the container, you can run `docker stop superalgos`. When you want to upgrade the container, use:
|
||||
|
||||
```shell
|
||||
docker pull ghcr.io/superalgos/superalgos:latest
|
||||
docker stop superalgos
|
||||
docker run \
|
||||
-d \
|
||||
--rm \
|
||||
--name superalgos \
|
||||
--user $(id -u):$(id -g) \
|
||||
-p 18041:18041 \
|
||||
-p 34248:34248 \
|
||||
-v $(pwd)/Data-Storage:/app/Platform/Data-Storage \
|
||||
-v $(pwd)/Log-Files:/app/Platform/Log-Files \
|
||||
-v $(pwd)/My-Workspaces:/app/Platform/My-Workspaces \
|
||||
ghcr.io/superalgos/superalgos:latest
|
||||
```
|
||||
|
||||
Let's stop the container for now (`docker stop superalgos`) and we'll run it again using `docker-compose`.
|
||||
|
||||
Continue reading the [Docker Command Line documentation](https://docs.docker.com/engine/reference/commandline/cli/) for more details.
|
||||
|
||||
### Using Docker-Compose
|
||||
|
||||
Docker-compose is a wrapper for the Docker API which makes it a little easier to maintain a declarative configuration for an application instead of using the direct command line commands. There is a sample docker-compose configuration included in the [Superalgos](https://github.com/Superalgos/Superalgos) which you can as the basis for your own configuration.
|
||||
|
||||
Let's download the sample and edit it. If you don't use `vim`, change that command for your preferred editor.
|
||||
|
||||
```shell
|
||||
wget https://raw.githubusercontent.com/Superalgos/Superalgos/master/Docker/docker-compose.yml
|
||||
vim docker-compose.yml
|
||||
```
|
||||
|
||||
Now, let's change some of the settings:
|
||||
|
||||
```yaml
|
||||
version: "3"
|
||||
services:
|
||||
superalgos:
|
||||
image: ghcr.io/superalgos/superalgos:latest
|
||||
command: ["minMemo"]
|
||||
user: "$UID:$GID"
|
||||
ports:
|
||||
- '34248:34248'
|
||||
- '18041:18041'
|
||||
volumes:
|
||||
- ./Data-Storage:/app/Platform/Data-Storage
|
||||
- ./Log-Files:/app/Platform/Log-Files
|
||||
- ./My-Workspaces:/app/Platform/My-Workspaces
|
||||
restart: on-failure
|
||||
```
|
||||
|
||||
You can see we have the same ports and volumes mapped. We also get a few extra settings like `command`, `environment`, and `restart`.
|
||||
|
||||
- `command` adds an extra setting to the main startup, so the application ends up running with the full command `node platform noBrowser minMemo`. The base of that command is defined as the `ENTRYPOINT` in the `Dockerfile` that builds the container.
|
||||
- `user` defines the UID and GID the container should run as so that the data can be persisted with the correct permissions in the Data-Storage, Log-Files, and My-Workspaces directories that we created on the host. If you leave this out, the container will use the built in `superalgos` user which has `uid: 1001` and `gid: 1001`. Instead of using variables, you could also hard-code these UID and GID numbers into the configuration.
|
||||
- `restart` tells Docker to restart the container if an error occurs.
|
||||
|
||||
Save the file and exit the editor. If you are using `vim`, hit escape and then type `:wq!` or press `shift + Z + Z` (two capital Z's).
|
||||
|
||||
Now, start the container with `docker-compose up`. This will start the container in the foreground and you'll connect to the log output. Hit `ctrl + c` to exit. Going forward, you'll want to add the `-d` option to start the container and keep it running in the background.
|
||||
|
||||
```shell
|
||||
# some preliminary configuration to set up the persistent data directories
|
||||
mkdir -p Data-Storage Log-Files My-Workspaces
|
||||
export UID=$(id -u)
|
||||
export GID=$(id -g)
|
||||
|
||||
# run the container in the background
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
Now you have several `docker-compose` commands at your disposal to interact with the container:
|
||||
|
||||
- `docker-compose ps` to see details of the container
|
||||
- `docker-compose logs` to see the logs
|
||||
- `docker-compose down` to stop and remove the instance of the container
|
||||
- `docker-compose pull` to pull the container, or a new version of the `latest` tag
|
||||
|
||||
Putting some of those concepts together, you can keep the running container up to date with this one-liner:
|
||||
|
||||
```shell
|
||||
docker-compose pull && docker-compose down && docker-compose up -d
|
||||
```
|
||||
|
||||
Explore the full [Docker Compose documentation](https://docs.docker.com/compose/) for more information.
|
||||
|
||||
## Docker Best Practices
|
||||
|
||||
As with any technology, there are lots of ways of doing things. A lot of them will give the same end result, but some may have fewer steps, or be more secure, or be more maintainable. That is where "best practices" come in. They aren't there to necessarily tell you what to do and what not to do, but they are there to help guide you in the right direction. A lot of times, they help you avoid making architectural mistakes that could come back and bite you further down the road.
|
||||
|
||||
One general best practice when running a production deployment is to avoid breaking changes by pinning to specific container tags. The `shasum hash` and the `release` tags are the best to use. These will generally ensure you are always running the same code and it will only upgrade when configured to do so. The other tags will change which code they are pointing to more frequently and without notice.
|
||||
|
||||
- `latest` : the absolute latest build
|
||||
- `master` : the latest master branch build
|
||||
- `develop` : the latest develop branch build
|
||||
- `<shasum hash>` : a specific git commit hash
|
||||
- `<release>` : corresponds with a Github Release (git tag), i.e. `beta-10`
|
||||
|
||||
## Docker Development Best Practices
|
||||
|
||||
Docker has many advantages which can aid in every step from development through production deployment. There are some useful tips located directly in the [Docker documentation](https://docs.docker.com/develop/dev-best-practices/). Concisely, they are to keep the build images small, a few tips on when and how to persist data, and to use CI/CD for testing and deployment. All of these tips are used in one way or another as a part of the [Superalgos](https://github.com/Superalgos/Superalgos) project.
|
||||
|
||||
- Use a minimal base image and multi-stage build. Superalgos is currently using an [alpine](https://www.alpinelinux.org/) base image but [distroless](https://github.com/GoogleContainerTools/distroless) is becoming more common and some times using a base image like [python-slim](https://hub.docker.com/_/python) is the bast that can be achieved.
|
||||
- The images are quite large (around 2 GB in size), unfortunately, because the codebase itself is large. We've recently put in a lot of effort to make these images as small as possible.
|
||||
- The images are built automatically using Github Actions when pull requests are merged.
|
||||
- With the correct configuration, data, like data mine and trading bot information, is persisted to the host using volume mounts
|
||||
|
||||
### Dockerfile Best Practices
|
||||
|
||||
Docker maintains a list of [Dockerfile best practices](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/) in their main documentation. These tips dictate many of the decisions around the Superalgos Dockerfile. Some of the tips that are used by [Superalgos](https://github.com/Superalgos/Superalgos) are listed below.
|
||||
|
||||
- Use `.dockerignore` to prevent unwanted data from entering the container. This keeps the container small but also enhances security to prevent secrets from leaking into a container by accident.
|
||||
- Don't install unnecessary packages. In lieu of multi-stage builds, build caches and build dependencies are removed before finalizing the container. Only packages that are necessary for the execution of the application are installed. This is why `git` is not present.
|
||||
- Minimize the number of layers. Many `RUN` commands are combined into one using `&&` in order to reduce the number of layers.
|
||||
- Sort multiline arguments. This mostly enhances readability and maintainability.
|
||||
- Leverage build cache. When testing locally, several of the tips above help leverage the build cache and speed up build times.
|
||||
|
||||
### Twelve Factor App
|
||||
|
||||
[Superalgos](https://github.com/Superalgos/Superalgos) is a web app but it was originally designed to be run on a local workstation or server on a trusted network. However, I don't think it would be prudent to talk about Docker best practices without mentioning the [Twelve Factor App](https://12factor.net/) manifesto. Over time, [Superalgos](https://github.com/Superalgos/Superalgos) itself may iterate and implement more and more of these principles as more people get involved and more people deploy production environments.
|
||||
|
||||
The Twelve Factors:
|
||||
|
||||
- Codebase: One codebase tracked in revision control, many deploys
|
||||
- Superalgos utilizes one GitHub repository
|
||||
- Dependencies: Explicitly declare and isolate dependencies
|
||||
- Superalgos is a node.js app and uses npm to track and install dependencies
|
||||
- Config: Store config in the environment
|
||||
- Superalgos does not use environment variables the moment for configuration. Options are passed on the command line at run time. Other configuration is hard coded into the Workspaces.
|
||||
- Backing services: Treat backing services as attached resources
|
||||
- Superalgos connects to external services via API calls over HTTP (TCP)
|
||||
- Build, release, run: Strictly separate build and run stages
|
||||
- Superalgos is deployed by end users in their own local environments
|
||||
- Processes: Execute the app as one or more stateless processes
|
||||
- Superalgos is one application
|
||||
- Port binding: Export services via port binding
|
||||
- Superalgos exposes an HTTP frontend port and a Websockets backend port (TCP)
|
||||
- Concurrency: Scale out via the process model
|
||||
- Superalgos can be clustered but the front end and backend do not necessarily scale out independently from each other
|
||||
- Disposability: Maximize robustness with fast startup and graceful shutdown
|
||||
- Superalgos is not stateless in that the data files must be persisted to disk. Also, Superalgos cannot run behind a load balancer and have requests randomly distributed to different backend servers.
|
||||
- Dev/prod parity: Keep development, staging, and production as similar as possible
|
||||
- Superalgos doesn't have its own production environment but the container makes it easy to ensure development environments are the same as what a user will see when they deploy it for themselves in their own production environment.
|
||||
- Logs: Treat logs as event streams
|
||||
- Superalgos sends its own application logs to standard out. The trading mine logs are sent to flat files (persisted through volume mounts)
|
||||
- Admin processes: Run admin/management tasks as one-off processes
|
||||
- Superalgos does not have any admin or management tasks outside of what is used to create the container at build time.
|
||||
@@ -6,14 +6,12 @@ services:
|
||||
dockerfile: ./Docker/Dockerfile
|
||||
image: ghcr.io/superalgos/superalgos:latest
|
||||
command: ["minMemo"]
|
||||
user: "$UID:$GID"
|
||||
ports:
|
||||
- '34248:34248'
|
||||
- '18041:18041'
|
||||
volumes:
|
||||
- ../Data-Storage:/app/Data-Storage
|
||||
- ../Log-Files:/app/Log-Files
|
||||
- ../My-Workspaces:/app/My-Workspaces
|
||||
environment:
|
||||
PUID: '1000'
|
||||
PGID: '1000'
|
||||
- ../Platform/My-Data-Storage:/app/Platform/My-Data-Storage
|
||||
- ../Platform/My-Log-Files:/app/Platform/My-Log-Files
|
||||
- ../Platform/My-Workspaces:/app/Platform/My-Workspaces
|
||||
restart: on-failure
|
||||
+41
-11
@@ -1,18 +1,48 @@
|
||||
const path = require("path")
|
||||
|
||||
if (process.env.PACKAGED_PATH) {
|
||||
basePath = process.env.PACKAGED_PATH
|
||||
} else {
|
||||
basePath = __dirname
|
||||
}
|
||||
exports.newEnvironment = function () {
|
||||
|
||||
let thisObject = {
|
||||
DEMO_MODE: false,
|
||||
BASE_PATH: basePath,
|
||||
WEB_SERVER_URL: 'localhost',
|
||||
CLIENT_WEB_SOCKETS_INTERFACE_PORT: 18041,
|
||||
CLIENT_HTTP_INTERFACE_PORT: 34248,
|
||||
PATH_TO_DATA_STORAGE: './Data-Storage',
|
||||
PATH_TO_PROJECTS: './Projects',
|
||||
PATH_TO_LOG_FILES: './Log-Files',
|
||||
PATH_TO_PROJECTS_REQUIRED: './Projects',
|
||||
PATH_TO_PROJECT_SCHEMA: './Projects/ProjectsSchema.json',
|
||||
PATH_TO_CLIENT: './Platform',
|
||||
PATH_TO_DEFAULT_WORKSPACE: './Projects/Foundations/Plugins/Workspaces',
|
||||
PATH_TO_MY_WORKSPACES: './My-Workspaces',
|
||||
PATH_TO_FONTS: './Platform/WebServer/Fonts'
|
||||
PLATFORM_WEB_SOCKETS_INTERFACE_PORT: 18041,
|
||||
NETWORK_WEB_SOCKETS_INTERFACE_PORT: 17041,
|
||||
DESKTOP_WEB_SOCKETS_INTERFACE_PORT: 16041,
|
||||
DESKTOP_WEB_SOCKETS_INTERFACE_HOST: 'localhost',
|
||||
PLATFORM_HTTP_INTERFACE_PORT: 34248,
|
||||
DESKTOP_HTTP_INTERFACE_PORT: 33248,
|
||||
NETWORK_HTTP_INTERFACE_PORT: 31248,
|
||||
PATH_TO_DATA_STORAGE: path.join(basePath, './Platform/My-Data-Storage'),
|
||||
PATH_TO_PROJECTS: path.join(basePath, './Projects'),
|
||||
PATH_TO_LOG_FILES: path.join(basePath, './Platform/My-Log-Files'),
|
||||
PATH_TO_PROJECTS_REQUIRED: path.join(basePath, './Projects'),
|
||||
PATH_TO_PROJECT_SCHEMA: path.join(basePath, './Projects/ProjectsSchema.json'),
|
||||
PATH_TO_PLATFORM: path.join(basePath, './Platform'),
|
||||
PATH_TO_DESKTOP: './Desktop',
|
||||
PATH_TO_DEFAULT_WORKSPACE: path.join(basePath, './Projects/Foundations/Plugins/Workspaces'),
|
||||
PATH_TO_MY_WORKSPACES: path.join(basePath, './Platform/My-Workspaces'),
|
||||
PATH_TO_FONTS: path.join(basePath, './Platform/WebServer/Fonts'),
|
||||
DESKTOP_APP_SIGNING_ACCOUNT: 'Social-Trading-Desktop-App-1',
|
||||
DESKTOP_APP_MAX_OUTGOING_PEERS: 1,
|
||||
MOBILE_APP_SIGNING_ACCOUNT: 'Social-Trading-Mobile-App-1',
|
||||
SERVER_APP_SIGNING_ACCOUNT: 'Social-Trading-Server-App-1',
|
||||
PLATFORM_APP_SIGNING_ACCOUNT: 'Algo-Traders-Platform-1',
|
||||
P2P_NETWORK_NODE_SIGNING_ACCOUNT: 'P2P-Network-Node-1',
|
||||
P2P_NETWORK_NODE_MAX_INCOMING_CLIENTS: 1,
|
||||
P2P_NETWORK_NODE_MAX_INCOMING_PEERS: 2,
|
||||
P2P_NETWORK_NODE_MAX_OUTGOING_PEERS: 2
|
||||
}
|
||||
|
||||
if (process.env.DATA_PATH) {
|
||||
thisObject.PATH_TO_DATA_STORAGE = path.join(process.env.DATA_PATH, '/Superalgos_Data/My-Data-Storage')
|
||||
thisObject.PATH_TO_LOG_FILES = path.join(process.env.DATA_PATH, '/Superalgos_Data/My-Log-Files')
|
||||
thisObject.PATH_TO_MY_WORKSPACES = path.join(process.env.DATA_PATH, '/Superalgos_Data/My-Workspaces')
|
||||
}
|
||||
|
||||
return thisObject
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
exports.newEnvironment = function () {
|
||||
|
||||
let thisObject = {
|
||||
WEB_SERVER_URL: 'localhost',
|
||||
CLIENT_WEB_SOCKETS_INTERFACE_PORT: 18041,
|
||||
NETWORK_WEB_SOCKETS_INTERFACE_PORT: 18042,
|
||||
DESKTOP_WEB_SOCKETS_INTERFACE_PORT: 18043,
|
||||
DESKTOP_WEB_SOCKETS_INTERFACE_HOST: 'localhost',
|
||||
CLIENT_HTTP_INTERFACE_PORT: 34248,
|
||||
DESKTOP_HTTP_INTERFACE_PORT: 34249,
|
||||
PATH_TO_DATA_STORAGE: './Data-Storage',
|
||||
PATH_TO_PROJECTS: './Projects',
|
||||
PATH_TO_LOG_FILES: './Log-Files',
|
||||
PATH_TO_PROJECTS_REQUIRED: './Projects',
|
||||
PATH_TO_PROJECT_SCHEMA: './Projects/ProjectsSchema.json',
|
||||
PATH_TO_CLIENT: './Platform',
|
||||
PATH_TO_DESKTOP: './Desktop',
|
||||
PATH_TO_DEFAULT_WORKSPACE: './Projects/Foundations/Plugins/Workspaces',
|
||||
PATH_TO_MY_WORKSPACES: './My-Workspaces',
|
||||
PATH_TO_FONTS: './Platform/WebServer/Fonts'
|
||||
}
|
||||
|
||||
return thisObject
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "C:\\Superalgos\\Network"
|
||||
},
|
||||
{
|
||||
"path": "C:\\Superalgos\\Projects\\Network"
|
||||
},
|
||||
{
|
||||
"path": "C:\\Superalgos\\Projects\\Social-Trading"
|
||||
}
|
||||
],
|
||||
"settings": {}
|
||||
}
|
||||
Vendored
-17
@@ -1,17 +0,0 @@
|
||||
{
|
||||
"files.exclude": {
|
||||
"**/Data-Storage": true,
|
||||
"**/Documentation": true,
|
||||
"**/Log-Files": true,
|
||||
"**/node_modules": true,
|
||||
"**/Deprecated-Code": true
|
||||
},
|
||||
"search.exclude": {
|
||||
"**/Data-Storage": true,
|
||||
"**/Documentation": true,
|
||||
"**/Log-Files": true,
|
||||
"**/node_modules": true,
|
||||
"**/Deprecated-Code": true
|
||||
},
|
||||
"search.maintainFileSearchCache": true
|
||||
}
|
||||
+62
-9
@@ -1,24 +1,77 @@
|
||||
exports.newNetworkNode = function newNetworkNode() {
|
||||
|
||||
let thisObject = {
|
||||
userProfiles: undefined,
|
||||
p2pNetwork: undefined,
|
||||
p2pNetworkPeers: undefined,
|
||||
p2pNetworkNode: undefined,
|
||||
webSocketsInterface: undefined,
|
||||
httpInterface: undefined,
|
||||
socialGraphService: undefined,
|
||||
storage: undefined,
|
||||
run: run
|
||||
}
|
||||
|
||||
NT.networkNode = thisObject
|
||||
|
||||
return thisObject
|
||||
|
||||
async function run() {
|
||||
/*
|
||||
Let's start the Network Interfaces
|
||||
*/
|
||||
NT.webSocketsInterface = NT.projects.network.modules.webSocketsInterface.newNetworkModulesWebSocketsInterface()
|
||||
NT.webSocketsInterface.initialize()
|
||||
|
||||
thisObject.socialGraphService = NT.projects.socialTrading.modules.socialGraph.newNetworkModulesSocialGraph()
|
||||
await thisObject.socialGraphService.initialize()
|
||||
await setupNetwork()
|
||||
await setupServices()
|
||||
|
||||
thisObject.storage = NT.projects.socialTrading.modules.storage.newSocialTradingModulesStorage()
|
||||
thisObject.storage.initialize()
|
||||
async function setupNetwork() {
|
||||
/*
|
||||
We set up ourselves as a Network Node.
|
||||
*/
|
||||
thisObject.p2pNetworkNode = SA.projects.network.modules.p2pNetworkNode.newNetworkModulesP2PNetworkNode()
|
||||
await thisObject.p2pNetworkNode.initialize()
|
||||
/*
|
||||
We will read all user profiles plugins and get from there our network identity.
|
||||
*/
|
||||
thisObject.userProfiles = SA.projects.network.modules.userProfiles.newNetworkModulesUserProfiles()
|
||||
await thisObject.userProfiles.initialize(global.env.P2P_NETWORK_NODE_SIGNING_ACCOUNT, thisObject.p2pNetworkNode)
|
||||
/*
|
||||
Let's discover who is at the p2p network.
|
||||
*/
|
||||
thisObject.p2pNetwork = SA.projects.network.modules.p2pNetwork.newNetworkModulesP2PNetwork()
|
||||
await thisObject.p2pNetwork.initialize('Network Peer')
|
||||
/*
|
||||
Set up the connections to network nodes.
|
||||
*/
|
||||
thisObject.p2pNetworkPeers = SA.projects.network.modules.p2pNetworkPeers.newNetworkModulesP2PNetworkPeers()
|
||||
await thisObject.p2pNetworkPeers.initialize(
|
||||
'Network Peer',
|
||||
thisObject.p2pNetworkNode,
|
||||
thisObject.p2pNetwork,
|
||||
global.env.P2P_NETWORK_NODE_MAX_OUTGOING_PEERS
|
||||
)
|
||||
}
|
||||
|
||||
async function setupServices() {
|
||||
/*
|
||||
The Social Graph Service is the first and for now, the only service this Network Node provides.
|
||||
*/
|
||||
thisObject.socialGraphService = NT.projects.socialTrading.modules.socialGraph.newNetworkModulesSocialGraph()
|
||||
await thisObject.socialGraphService.initialize()
|
||||
/*
|
||||
The Sotrage deals with persisting the Social Graph.
|
||||
*/
|
||||
thisObject.storage = NT.projects.socialTrading.modules.storage.newSocialTradingModulesStorage()
|
||||
thisObject.storage.initialize()
|
||||
/*
|
||||
Other Network Nodes and Client Apps will communicate with this Network Node via it's Websocket Interface.
|
||||
*/
|
||||
thisObject.webSocketsInterface = NT.projects.network.modules.webSocketsInterface.newNetworkModulesWebSocketsInterface()
|
||||
thisObject.webSocketsInterface.initialize()
|
||||
console.log('Network Node Web Sockets Interface ........................................... Listening at port ' + JSON.parse(NT.networkNode.p2pNetworkNode.node.config).webSocketsPort)
|
||||
/*
|
||||
Other Network Nodes and Client Apps will communicate with this Network Node via it's HTTP Interface.
|
||||
*/
|
||||
thisObject.httpInterface = NT.projects.network.modules.httpInterface.newNetworkModulesHttpInterface()
|
||||
thisObject.httpInterface.initialize()
|
||||
console.log('Network Node Http Interface .................................................. Listening at port ' + JSON.parse(NT.networkNode.p2pNetworkNode.node.config).webPort)
|
||||
}
|
||||
}
|
||||
}
|
||||
+11
-6
@@ -10,21 +10,25 @@ exports.newNetworkRoot = function newNetworkRoot() {
|
||||
|
||||
return thisObject
|
||||
|
||||
async function run() {
|
||||
async function run(debugSettings) {
|
||||
/*
|
||||
The NT object is accesible everywhere at the Superalgos Network.
|
||||
The NT object is accessible everywhere at the Superalgos Network.
|
||||
It provides access to all modules built for this Network.
|
||||
*/
|
||||
global.NT = {}
|
||||
/*
|
||||
The SA object is accesible everywhere at the Superalgos Network.
|
||||
The SA object is accessible everywhere at the Superalgos Network.
|
||||
It provides access to all modules built for Superalgos in general.
|
||||
*/
|
||||
global.SA = {}
|
||||
/* Load Environment Variables */
|
||||
let ENVIRONMENT = require('./EnvironmentForDebug.js');
|
||||
let ENVIRONMENT = require('./Environment.js');
|
||||
let ENVIRONMENT_MODULE = ENVIRONMENT.newEnvironment()
|
||||
global.env = ENVIRONMENT_MODULE
|
||||
|
||||
if (debugSettings !== undefined && debugSettings.P2P_NETWORK_NODE_SIGNING_ACCOUNT !== undefined) {
|
||||
global.env.P2P_NETWORK_NODE_SIGNING_ACCOUNT = debugSettings.P2P_NETWORK_NODE_SIGNING_ACCOUNT
|
||||
}
|
||||
/*
|
||||
First thing is to load the project schema file.
|
||||
*/
|
||||
@@ -43,6 +47,7 @@ exports.newNetworkRoot = function newNetworkRoot() {
|
||||
fs: require('fs'),
|
||||
path: require('path'),
|
||||
util: require('util'),
|
||||
http: require('http'),
|
||||
nodeFetch: require('node-fetch'),
|
||||
web3: require('web3'),
|
||||
ws: require('ws'),
|
||||
@@ -52,12 +57,12 @@ exports.newNetworkRoot = function newNetworkRoot() {
|
||||
Setting up Secrets.
|
||||
*/
|
||||
SA.secrets = {
|
||||
array: require('./My-Secrets/Secrets.json'),
|
||||
array: require('./My-Secrets/Secrets.json').secrets,
|
||||
map: new Map()
|
||||
}
|
||||
for (let i = 0; i < SA.secrets.array.length; i++) {
|
||||
let secret = SA.secrets.array[i]
|
||||
SA.secrets.map.set(secret.codeName, secret)
|
||||
SA.secrets.map.set(secret.signingAccountChildCodeName, secret)
|
||||
}
|
||||
|
||||
NT.app = require('./Network/NetwokNode.js').newNetworkNode()
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
exports.newEventServer = function newEventServer() {
|
||||
|
||||
const MODULE = "Events Server"
|
||||
const LOG_INFO = false
|
||||
|
||||
let thisObject = {
|
||||
initialize: initialize,
|
||||
finalize: finalize,
|
||||
@@ -37,7 +34,7 @@
|
||||
if (eventHandler === undefined) {
|
||||
/*
|
||||
We will only create event handlers which were not created before. Remember that someone trying to listen events
|
||||
at an event handler that does not exist, will create that eventhandler, so it is possible that the emitter
|
||||
at an event handler that does not exist, will create that event handler, so it is possible that the emitter
|
||||
when trying to create the event handler in fact was late and the event handler is already there if the listener
|
||||
arrived here first. An event handler created with this method is not destroyed if there are no listeners or they
|
||||
all leave.
|
||||
@@ -53,8 +50,8 @@
|
||||
let eventHandler = eventHandlers.get(command.eventHandlerName)
|
||||
if (eventHandler !== undefined) {
|
||||
/*
|
||||
We will only delete event handlers which have noone listening, allowing a listener to continue listening even
|
||||
when the event emitter is gone, asuming that it could come back at some point in time and resume emitting.
|
||||
We will only delete event handlers which have no one listening, allowing a listener to continue listening even
|
||||
when the event emitter is gone, assuming that it could come back at some point in time and resume emitting.
|
||||
*/
|
||||
if (eventHandler.listeners.length === 0) {
|
||||
eventHandlers.delete(command.eventHandlerName)
|
||||
@@ -71,8 +68,8 @@
|
||||
if (eventHandler === undefined) {
|
||||
/*
|
||||
We will create event handlers which were not created before if a listener tries to listen to a handler that does not
|
||||
exist before the emitter comes and create it. This is to aviod syncronization problems and also problems with emitters life
|
||||
cycles with higher frecuency that the ones of listeners. Created in this way, event handlers are marked for deletion if
|
||||
exist before the emitter comes and create it. This is to avoid synchronization problems and also problems with emitters life
|
||||
cycles with higher frequency that the ones of listeners. Created in this way, event handlers are marked for deletion if
|
||||
all listeners stop listening at one point in time.
|
||||
*/
|
||||
eventHandler = newEventHandler()
|
||||
@@ -107,7 +104,7 @@
|
||||
|
||||
if (eventHandler === undefined) {
|
||||
|
||||
/* If the event handler does not exist anymore, then there is no need to perform further actiions. */
|
||||
/* If the event handler does not exist anymore, then there is no need to perform further actions. */
|
||||
sendResponse(global.DEFAULT_OK_RESPONSE)
|
||||
return
|
||||
}
|
||||
@@ -115,7 +112,7 @@
|
||||
eventHandler.stopListening(command.eventHandlerName, command.eventType, command.callerId, command.eventSubscriptionId)
|
||||
|
||||
/*
|
||||
We check here if there are no more listeners and the event handler original emmiter is also gone, then we need to delete
|
||||
We check here if there are no more listeners and the event handler original emitter is also gone, then we need to delete
|
||||
this event handlers since chances are that is not needed anymore.
|
||||
*/
|
||||
if (eventHandler.listeners.length === 0 && eventHandler.deleteWhenAllListenersAreGone === true) {
|
||||
@@ -133,7 +130,7 @@
|
||||
eventHandler = newEventHandler()
|
||||
eventHandlers.set(command.eventHandlerName, eventHandler)
|
||||
|
||||
/* No matter if it is the listener or the emiter the one that acts first, if an event handler does not exist we just create it acan keep it there. */
|
||||
/* No matter if it is the listener or the emitter the one that acts first, if an event handler does not exist we just create it and keep it there. */
|
||||
|
||||
}
|
||||
//console.log("[INFO] Client -> Events Server -> Raising Event " + command.eventHandlerName + " " + command.eventType)
|
||||
@@ -166,7 +163,7 @@
|
||||
let thisObject = {
|
||||
name: undefined, // This is for debugging purposes only.
|
||||
deleteWhenAllListenersAreGone: false,
|
||||
listeners: [], // Here we store all the functions we will call when an event is raiseed.
|
||||
listeners: [], // Here we store all the functions we will call when an event is raised.
|
||||
listenToEvent: listenToEvent,
|
||||
stopListening: stopListening,
|
||||
raiseEvent: raiseEvent,
|
||||
@@ -184,7 +181,7 @@
|
||||
|
||||
/*
|
||||
We can not allow to have the exact same listener more than once. In case that we find a listener trying to listen again, the first record will
|
||||
be deleted and we are just going to consider the last one comming in.
|
||||
be deleted and we are just going to consider the last one coming in.
|
||||
*/
|
||||
for (let i = 0; i < thisObject.listeners.length; i++) {
|
||||
if (eventHandlerName === thisObject.listeners[i][0] && eventType === thisObject.listeners[i][1] && callerId === thisObject.listeners[i][2]) {
|
||||
|
||||
@@ -79,7 +79,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
|
||||
const octokit = new Octokit({
|
||||
auth: token,
|
||||
userAgent: 'Superalgos Beta 11'
|
||||
userAgent: 'Superalgos ' + SA.version
|
||||
})
|
||||
await getList()
|
||||
|
||||
@@ -207,7 +207,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
const { Octokit } = SA.nodeModules.octokit
|
||||
const octokit = new Octokit({
|
||||
auth: token,
|
||||
userAgent: 'Superalgos Beta 11'
|
||||
userAgent: 'Superalgos ' + SA.version
|
||||
})
|
||||
await getPrList()
|
||||
await mergePrs()
|
||||
@@ -295,7 +295,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
let fileContent // File content of the only file at the PR
|
||||
let userProfile // User Profile Object
|
||||
let githubUsername // The Github user name of who is submitting the Pull Request
|
||||
let mergeResponse // The response received from the call to Gihub to merge the Pull Request
|
||||
let mergeResponse // The response received from the call to Github to merge the Pull Request
|
||||
|
||||
if (await validatePrHasMoreThanOneFile() === false) { continue }
|
||||
if (await validateFileNameEqualsGithubUsername() === false) { continue }
|
||||
@@ -310,13 +310,13 @@ exports.newGithubServer = function newGithubServer() {
|
||||
if (await mergePullRequest() === false) {
|
||||
console.log('[WARN] Github Server -> mergeGithubPullRequests -> Merge Failed -> Pull Request "' + pullRequest.title + '" not merged because Github could not merge it. -> mergeResponse.message = ' + mergeResponse.data.message)
|
||||
} else {
|
||||
console.log('[INFO] Github Server -> mergeGithubPullRequests -> Merge Succed -> Pull Request "' + pullRequest.title + '" successfully merged. -> mergeResponse.message = ' + mergeResponse.data.message)
|
||||
console.log('[INFO] Github Server -> mergeGithubPullRequests -> Merge Succeed -> Pull Request "' + pullRequest.title + '" successfully merged. -> mergeResponse.message = ' + mergeResponse.data.message)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
await octokit.rest.issues.createComment({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
issue_number: pullRequest.number,
|
||||
body: 'This Pull Request was automatically merged by the Superalgos Governance System because it was detected that the Github User " ' + githubUsername + '" who submitted it, modified its own User Profile Plugin File and nothning else but that file. All validations were successfull.'
|
||||
body: 'This Pull Request was automatically merged by the Superalgos Governance System because it was detected that the Github User " ' + githubUsername + '" who submitted it, modified its own User Profile Plugin File and nothing else but that file. All validations were successful.'
|
||||
});
|
||||
}
|
||||
|
||||
@@ -340,7 +340,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
issue_number: pullRequest.number,
|
||||
body: 'This Pull Request could not be automatically merged and was closed by the Superalgos Governance System because it was detected that a User Profile file... \n\n' + fileContentUrl + '\n\n...was submitted together with ' + (filesChanged.length - 1) + ' other file/s. User Profiles files as per the Governance System rules, must be the only file present at a Pull Request in order to pass all the validations and be automatically merged.'
|
||||
body: 'This Pull Request could not be automatically merged and was closed by the Superalgos Governance System because it was detected that a User Profile file... \n\n' + fileContentUrl + '\n\n...was submitted together with ' + (filesChanged.length - 1) + ' other file/s. User Profiles files as per the Governance System rules, must be the only file present at a Pull Request in order to pass all the validations and be automatically merged. \n\n If you intentionally submitted the extra files, the way to get your work merged is by first removing your User Profile file from the Plugins folder at your local installation and executing an app.contribute again. Then wait until the PR is merged (manually reviewed) and after that you put your User Profile file again and create a new PR only with that file with an app.contribute. That last PR should be merged automatically.'
|
||||
});
|
||||
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
@@ -378,7 +378,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
fileName = splittedFileName[0]
|
||||
githubUsername = pullRequest.user.login
|
||||
|
||||
if (githubUsername !== fileName) {
|
||||
if (githubUsername.toLowerCase() !== fileName.toLowerCase()) {
|
||||
console.log('[INFO] Github Server -> mergeGithubPullRequests -> Validation #2 Failed -> Pull Request "' + pullRequest.title + '" not merged because the Github Username is not equal to the File Name. -> Github Username = ' + githubUsername + '-> fileName = ' + fileName)
|
||||
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
@@ -420,7 +420,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
*/
|
||||
let config = JSON.parse(userProfile.config)
|
||||
let messageSigned = config.signature.message
|
||||
if (messageSigned !== githubUsername) {
|
||||
if (messageSigned.toLowerCase() !== githubUsername.toLowerCase()) {
|
||||
console.log('[INFO] Github Server -> mergeGithubPullRequests -> Validation #4 Failed -> Pull Request "' + pullRequest.title + '" not merged because the Github Username is not equal to the Message Signed at the User Profile. -> Github Username = ' + githubUsername + '-> messageSigned = ' + messageSigned)
|
||||
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
@@ -480,7 +480,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
/*
|
||||
Validation #6: The name of the User Profile node is not the Github Username.
|
||||
*/
|
||||
if (userProfile.name !== githubUsername) {
|
||||
if (userProfile.name.toLowerCase() !== githubUsername.toLowerCase()) {
|
||||
console.log('[INFO] Github Server -> mergeGithubPullRequests -> Validation #6 Failed -> Pull Request "' + pullRequest.title + '" not merged because the Github Username is not equal to the User Profile node\'s name. -> Github Username = ' + githubUsername + '-> userProfile.name = ' + userProfile.name)
|
||||
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
@@ -508,14 +508,14 @@ exports.newGithubServer = function newGithubServer() {
|
||||
unless the existing one belongs to the same Github username.
|
||||
*/
|
||||
let userProfileIdMap = new Map()
|
||||
let pluginFileNames = await SA.projects.foundations.utilities.plugins.getPluginFileNames(
|
||||
let pluginFileNames = await SA.projects.communityPlugins.utilities.plugins.getPluginFileNames(
|
||||
'Governance',
|
||||
'User-Profiles'
|
||||
)
|
||||
for (let i = 0; i < pluginFileNames.length; i++) {
|
||||
let pluginFileName = pluginFileNames[i]
|
||||
|
||||
let pluginFileContent = await SA.projects.foundations.utilities.plugins.getPluginFileContent(
|
||||
let pluginFileContent = await SA.projects.communityPlugins.utilities.plugins.getPluginFileContent(
|
||||
'Governance',
|
||||
'User-Profiles',
|
||||
pluginFileName
|
||||
@@ -558,13 +558,13 @@ exports.newGithubServer = function newGithubServer() {
|
||||
unless the existing one belongs to the same Github username.
|
||||
*/
|
||||
let userProfileIdMap = new Map()
|
||||
let pluginFileNames = await SA.projects.foundations.utilities.plugins.getPluginFileNames(
|
||||
let pluginFileNames = await SA.projects.communityPlugins.utilities.plugins.getPluginFileNames(
|
||||
'Governance',
|
||||
'User-Profiles'
|
||||
)
|
||||
for (let i = 0; i < pluginFileNames.length; i++) {
|
||||
let pluginFileName = pluginFileNames[i]
|
||||
let pluginFileContent = await SA.projects.foundations.utilities.plugins.getPluginFileContent(
|
||||
let pluginFileContent = await SA.projects.communityPlugins.utilities.plugins.getPluginFileContent(
|
||||
'Governance',
|
||||
'User-Profiles',
|
||||
pluginFileName
|
||||
@@ -628,7 +628,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
*/
|
||||
let messageSigned = config.signature.message
|
||||
|
||||
if (messageSigned !== githubUsername) {
|
||||
if (messageSigned.toLowerCase() !== githubUsername.toLowerCase()) {
|
||||
console.log('[INFO] Github Server -> mergeGithubPullRequests -> Validation #9 Failed -> Pull Request "' + pullRequest.title + '" not merged because the Signing Account ' + signingAccount.name + ' has not signed the current Github User Account, but something else. -> messageSigned = ' + messageSigned + '-> githubUsername = ' + githubUsername)
|
||||
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
@@ -743,7 +743,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
issue_number: pullRequest.number,
|
||||
body: 'Hi, this is the Superalgos Governance System taking notice that you have submitted a pull request directly to the master branch.\n\nThanks for submitting a PR to the Superalgos Project. We value every contribution and everyone is welcome to send PRs. Unfortunatelly we are not merging pull requests directly into the master branch. Consider resubmitting to the develop branch intstead. For your convinienve, you can swithch branches from within the app, at the footer of the Docs tab. \n\n I will close this pull request now and look forward for your next contribution either to the develop branch or any other branch available for this purpose.'
|
||||
body: 'Hi, this is the Superalgos Governance System taking notice that you have submitted a pull request directly to the master branch.\n\nThanks for submitting a PR to the Superalgos Project. We value every contribution and everyone is welcome to send PRs. Unfortunately we are not merging pull requests directly into the master branch. Consider resubmitting to the develop branch instead. For your convenience, you can switch branches from within the app, at the footer of the Docs tab. \n\n I will close this pull request now and look forward for your next contribution either to the develop branch or any other branch available for this purpose.'
|
||||
});
|
||||
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
|
||||
@@ -775,6 +775,7 @@ exports.newGithubServer = function newGithubServer() {
|
||||
}
|
||||
|
||||
} catch (err) {
|
||||
if (err === undefined) { return }
|
||||
console.log('[ERROR] Github Server -> mergeGithubPullRequests -> doGithub -> err.stack = ' + err.stack)
|
||||
}
|
||||
}
|
||||
|
||||
+1897
-1459
File diff suppressed because it is too large.
Load diff
@@ -63,9 +63,9 @@
|
||||
//console.log('[INFO] Client -> Task Manager Server -> runTask -> Task Name = ' + message.event.taskName)
|
||||
//console.log('[INFO] Client -> Task Manager Server -> runTask -> Task Id = ' + message.event.taskId)
|
||||
|
||||
let path = './TaskServerRoot.js'
|
||||
let path = global.env.BASE_PATH + '/TaskServerRoot.js'
|
||||
|
||||
/* Workarround to avoid having the same debug port at the forked process which makes it crash. */
|
||||
/* Workaround to avoid having the same debug port at the forked process which makes it crash. */
|
||||
for (let i = 0; i < process.execArgv.length; i++) {
|
||||
let argument = process.execArgv[i]
|
||||
if (argument.indexOf('--inspect') > -1) {
|
||||
@@ -94,7 +94,7 @@
|
||||
console.log(`[ERROR] Client -> Task Manager Server -> runTask -> Task Server exited with error ${err}`)
|
||||
tasksMap.delete(task.id)
|
||||
})
|
||||
/* If the Tast Server stops, we remove it from our task map */
|
||||
/* If the Task Server stops, we remove it from our task map */
|
||||
task.childProcess.on('close', (code, signal) => {
|
||||
//console.log('[INFO] Client -> Task Manager Server -> runTask -> Task Terminated. -> Task Name = ' + task.name)
|
||||
//console.log('[INFO] Client -> Task Manager Server -> runTask -> Task Terminated. -> Task Id = ' + task.id)
|
||||
@@ -190,7 +190,7 @@
|
||||
|
||||
|
||||
function finalize() {
|
||||
/* Before disconnecting we will forze all eventListeners to stop listening. */
|
||||
/* Before disconnecting we will force all eventListeners to stop listening. */
|
||||
const eventListenersArray = [...eventListeners.values()]
|
||||
for (let i = 0; i < eventListenersArray.length; i++) {
|
||||
let handler = eventListenersArray[i]
|
||||
|
||||
@@ -5,6 +5,7 @@ exports.newWeb3Server = function newWeb3Server() {
|
||||
let thisObject = {
|
||||
getNetworkClientStatus: getNetworkClientStatus,
|
||||
createWalletAccount: createWalletAccount,
|
||||
getUserWalletBalance: getUserWalletBalance,
|
||||
getWalletBalances: getWalletBalances,
|
||||
signData: signData,
|
||||
hashData: hashData,
|
||||
@@ -82,6 +83,31 @@ exports.newWeb3Server = function newWeb3Server() {
|
||||
}
|
||||
}
|
||||
|
||||
async function getUserWalletBalance(walletAddress, contractAddress) {
|
||||
|
||||
const bscUri = 'https://bsc-dataseed.binance.org/'
|
||||
const web3 = new Web3(bscUri)
|
||||
|
||||
let balance
|
||||
|
||||
let ABI = [{ "constant": true, "inputs": [], "name": "name", "outputs": [{ "name": "", "type": "string" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [{ "name": "_spender", "type": "address" }, { "name": "_value", "type": "uint256" }], "name": "approve", "outputs": [{ "name": "", "type": "bool" }], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "totalSupply", "outputs": [{ "name": "", "type": "uint256" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [{ "name": "_from", "type": "address" }, { "name": "_to", "type": "address" }, { "name": "_value", "type": "uint256" }], "name": "transferFrom", "outputs": [{ "name": "", "type": "bool" }], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "decimals", "outputs": [{ "name": "", "type": "uint256" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "unpause", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [{ "name": "account", "type": "address" }, { "name": "amount", "type": "uint256" }], "name": "mint", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [{ "name": "_value", "type": "uint256" }], "name": "burn", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "paused", "outputs": [{ "name": "", "type": "bool" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [{ "name": "_spender", "type": "address" }, { "name": "_subtractedValue", "type": "uint256" }], "name": "decreaseApproval", "outputs": [{ "name": "success", "type": "bool" }], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [{ "name": "_owner", "type": "address" }], "name": "balanceOf", "outputs": [{ "name": "balance", "type": "uint256" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [{ "name": "listAddress", "type": "address" }, { "name": "isBlackListed", "type": "bool" }], "name": "blackListAddress", "outputs": [{ "name": "success", "type": "bool" }], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "pause", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [{ "name": "", "type": "address" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "symbol", "outputs": [{ "name": "", "type": "string" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [{ "name": "_to", "type": "address" }, { "name": "_value", "type": "uint256" }], "name": "transfer", "outputs": [{ "name": "", "type": "bool" }], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [{ "name": "_spender", "type": "address" }, { "name": "_addedValue", "type": "uint256" }], "name": "increaseApproval", "outputs": [{ "name": "success", "type": "bool" }], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [{ "name": "_owner", "type": "address" }, { "name": "_spender", "type": "address" }], "name": "allowance", "outputs": [{ "name": "", "type": "uint256" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [{ "name": "newOwner", "type": "address" }], "name": "transferOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "inputs": [{ "name": "_name", "type": "string" }, { "name": "_symbol", "type": "string" }, { "name": "_decimals", "type": "uint256" }, { "name": "_supply", "type": "uint256" }, { "name": "tokenOwner", "type": "address" }], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [{ "indexed": true, "name": "from", "type": "address" }, { "indexed": true, "name": "to", "type": "address" }, { "indexed": false, "name": "value", "type": "uint256" }], "name": "Mint", "type": "event" }, { "anonymous": false, "inputs": [{ "indexed": true, "name": "burner", "type": "address" }, { "indexed": false, "name": "value", "type": "uint256" }], "name": "Burn", "type": "event" }, { "anonymous": false, "inputs": [], "name": "Pause", "type": "event" }, { "anonymous": false, "inputs": [], "name": "Unpause", "type": "event" }, { "anonymous": false, "inputs": [{ "indexed": true, "name": "previousOwner", "type": "address" }, { "indexed": true, "name": "newOwner", "tLine truncated
|
||||
|
||||
const contractInst = new web3.eth.Contract(ABI, contractAddress)
|
||||
|
||||
async function getBalance() {
|
||||
balance = await contractInst.methods.balanceOf(walletAddress).call().then(result => web3.utils.fromWei(result, 'ether'))
|
||||
return balance
|
||||
}
|
||||
|
||||
await getBalance()
|
||||
|
||||
return {
|
||||
walletAddress: walletAddress,
|
||||
balance: balance,
|
||||
result: 'Ok'
|
||||
}
|
||||
}
|
||||
|
||||
async function getWalletBalances(host, port, interface, walletDefinition) {
|
||||
let key = 'host (' + host + ') at port (' + port + ') via interface (' + interface + ')'
|
||||
|
||||
@@ -290,7 +316,7 @@ exports.newWeb3Server = function newWeb3Server() {
|
||||
console.log('----------------------------------------------------------------------------------------------')
|
||||
|
||||
for (let i = 0; i < paymentsArray.length; i++) {
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(10000)
|
||||
await PL.projects.foundations.utilities.asyncFunctions.sleep(15000)
|
||||
let payment = paymentsArray[i]
|
||||
await sendTokens(
|
||||
i + 1,
|
||||
@@ -303,7 +329,7 @@ exports.newWeb3Server = function newWeb3Server() {
|
||||
|
||||
async function sendTokens(number, userProfile, fromAddress, toAddress, tokenAmount) {
|
||||
try {
|
||||
|
||||
|
||||
tokenAmount = Math.trunc(tokenAmount / 1000000000000000000)
|
||||
|
||||
console.log('')
|
||||
@@ -360,7 +386,9 @@ exports.newWeb3Server = function newWeb3Server() {
|
||||
transaction.sign(privateKeyBuffer)
|
||||
|
||||
console.log('Transaction:', rawTransaction)
|
||||
const result = await web3.eth.sendSignedTransaction('0x' + transaction.serialize().toString('hex'))
|
||||
let result
|
||||
|
||||
result = await web3.eth.sendSignedTransaction('0x' + transaction.serialize().toString('hex'))
|
||||
.catch(err => {
|
||||
console.log('[ERROR] sendSignedTransaction -> err =' + JSON.stringify(err))
|
||||
})
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
const WEB_SOCKET = SA.nodeModules.ws
|
||||
let socketServer
|
||||
let port = global.env.CLIENT_WEB_SOCKETS_INTERFACE_PORT
|
||||
let port = global.env.PLATFORM_WEB_SOCKETS_INTERFACE_PORT
|
||||
|
||||
return thisObject
|
||||
|
||||
@@ -36,13 +36,42 @@
|
||||
|
||||
socket.on('message', onMenssage)
|
||||
|
||||
function onMenssage(message){
|
||||
function onMenssage(message) {
|
||||
|
||||
try {
|
||||
if (LOG_INFO === true) {
|
||||
console.log('Message Received: ' + message.substring(0, 1000))
|
||||
if (global.env.DEMO_MODE === true) {
|
||||
/*
|
||||
In DEMO MODE we will accept Task / Sessions Running or Stopping if you are requesting this from localhost only.
|
||||
*/
|
||||
if (socket._socket.remoteAddress !== "::1") {
|
||||
if (
|
||||
message.toString().indexOf('"eventType":"Run Task"') >= 0
|
||||
||
|
||||
message.toString().indexOf('"eventType":"Stop Task"') >= 0
|
||||
||
|
||||
message.toString().indexOf('"eventType":"Run Trading Session"') >= 0
|
||||
||
|
||||
message.toString().indexOf('"eventType":"Stop Trading Session"') >= 0
|
||||
||
|
||||
message.toString().indexOf('"eventType":"Resume Trading Session"') >= 0
|
||||
||
|
||||
message.toString().indexOf('"eventType":"Run Learning Session"') >= 0
|
||||
||
|
||||
message.toString().indexOf('"eventType":"Stop Learning Session"') >= 0
|
||||
||
|
||||
message.toString().indexOf('"eventType":"Resume Learning Session"') >= 0
|
||||
) {
|
||||
console.log('Trying to execute a Task while in DEMO MODE. Some hacking has taken place!')
|
||||
console.log('Hacker IP Address is: ' + socket._socket.remoteAddress)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (LOG_INFO === true) {
|
||||
console.log('Message Received: ' + message.toString().substring(0, 10000))
|
||||
}
|
||||
|
||||
let messageArray = message.toString().split('|*|')
|
||||
|
||||
let origin = messageArray[0]
|
||||
|
||||
@@ -6,7 +6,7 @@ exports.newPlatformApp = function newPlatformApp() {
|
||||
|
||||
return thisObject
|
||||
|
||||
async function run() {
|
||||
async function run(initialWorkspace) {
|
||||
|
||||
process.on('uncaughtException', function (err) {
|
||||
if (err.message && err.message.indexOf("EADDRINUSE") > 0) {
|
||||
@@ -20,7 +20,7 @@ exports.newPlatformApp = function newPlatformApp() {
|
||||
})
|
||||
|
||||
process.on('unhandledRejection', (reason, p) => {
|
||||
// Signal user that a necissary node module is missing
|
||||
// Signal user that a necessary node module is missing
|
||||
if (reason.code == 'MODULE_NOT_FOUND') {
|
||||
console.log("[ERROR] Dependency library not found. Please try running the 'node setup' command and then restart the Superalgos Platform Client.")
|
||||
console.log('[ERROR] Platform App -> reason = ' + JSON.stringify(reason))
|
||||
@@ -133,17 +133,16 @@ exports.newPlatformApp = function newPlatformApp() {
|
||||
console.log('')
|
||||
console.log('SUPERALGOS PLATFORM CLIENT INTERFACES:')
|
||||
console.log('')
|
||||
|
||||
WEB_SOCKETS_INTERFACE = WEB_SOCKETS_INTERFACE.newWebSocketsInterface()
|
||||
WEB_SOCKETS_INTERFACE.initialize()
|
||||
console.log('Web Sockets Interface ....................................... Listening at port ' + global.env.CLIENT_WEB_SOCKETS_INTERFACE_PORT)
|
||||
console.log('Web Sockets Interface ....................................... Listening at port ' + global.env.PLATFORM_WEB_SOCKETS_INTERFACE_PORT)
|
||||
|
||||
HTTP_INTERFACE = HTTP_INTERFACE.newHttpInterface()
|
||||
HTTP_INTERFACE.initialize()
|
||||
console.log('Http Interface .............................................. Listening at port ' + global.env.CLIENT_HTTP_INTERFACE_PORT)
|
||||
HTTP_INTERFACE.initialize(initialWorkspace)
|
||||
console.log('Http Interface .............................................. Listening at port ' + global.env.PLATFORM_HTTP_INTERFACE_PORT)
|
||||
|
||||
console.log('')
|
||||
console.log("You are running Superalgos Beta 11")
|
||||
console.log("You are running Superalgos Platform " + SA.version)
|
||||
console.log('')
|
||||
console.log("What's new? These are the main new features in this version:")
|
||||
console.log('')
|
||||
@@ -155,7 +154,7 @@ exports.newPlatformApp = function newPlatformApp() {
|
||||
console.log('Superalgos P2P Network ...................................... Will allow algo-traders to share trading signals with Superalgos users consuming these signals via a mobile app.')
|
||||
console.log('Real-time Trading Signals ................................... Will allow users to emit trading signals and be rewarded with SA Tokens.')
|
||||
console.log('Superalgos Mobile ........................................... Will allow users to consume trading signals for free and autonomously execute trades from their mobile phones.')
|
||||
console.log('Ethereum Integration ........................................ Will allow mining data from an Ethereum network node, and bring it into the Superalgos workflow. [Looking for an Ethereum dev that would like to continue this line of development.]')
|
||||
console.log('Portfolio Manager ........................................... Will allow a Portfolio Manager bot to supervize Trading Bots deciding where and when to increase or decrease their position sizes.]')
|
||||
|
||||
console.log('')
|
||||
|
||||
|
||||
@@ -149,12 +149,12 @@ function newAnimation() {
|
||||
}
|
||||
}
|
||||
|
||||
/* We request the next frame to be drawn, and stablishing a loop */
|
||||
/* We request the next frame to be drawn, and establish a loop */
|
||||
|
||||
/* Use this code for full animation speed. */
|
||||
animationLoopHandle = window.requestAnimationFrame(animationLoop)
|
||||
|
||||
/* Use this code for max 10 frames per second animation speed, if the app is consumming too much of your CPU. */
|
||||
/* Use this code for max 10 frames per second animation speed, if the app is consuming too much of your CPU. */
|
||||
/*
|
||||
setTimeout(nextLoop, 100)
|
||||
function nextLoop () {
|
||||
|
||||
@@ -4,7 +4,7 @@ function newAppPostLoader() {
|
||||
const MODULE_NAME = 'Post Loader'
|
||||
const ERROR_LOG = true
|
||||
const logger = newWebDebugLog()
|
||||
|
||||
|
||||
|
||||
let thisObject = {
|
||||
start: start
|
||||
@@ -14,9 +14,18 @@ function newAppPostLoader() {
|
||||
|
||||
function start() {
|
||||
try {
|
||||
|
||||
|
||||
// autoSaveWhenClosingTheBrowser()
|
||||
setupProjectsSchema()
|
||||
setupEnvironment()
|
||||
|
||||
function setupEnvironment() {
|
||||
httpRequest(undefined, 'Environment', onResponse)
|
||||
|
||||
function onResponse(err, file) {
|
||||
UI.environment = JSON.parse(file)
|
||||
setupProjectsSchema()
|
||||
}
|
||||
}
|
||||
|
||||
function setupProjectsSchema() {
|
||||
httpRequest(undefined, 'ProjectsSchema', onResponse)
|
||||
|
||||
@@ -47,7 +47,7 @@ function loadSuperalgos() {
|
||||
loadDebugModule()
|
||||
|
||||
if ((browser.name !== "Chrome" && browser.name!=="Safari") || (browser.name === "Chrome" && parseInt(browser.version) < 85) || (browser.name === "Safari" && parseInt(browser.version) < 13)) {
|
||||
alert("Superalgos is officially supported on Google Chrome 85 or Safari 13.1 and above. Your browser version has been detected as potentially beneath this. If you continue you may experience some functionaility issues.\n\nDetected Browser: " + browser.name + "\nVersion: " + browser.version)
|
||||
alert("Superalgos is officially supported on Google Chrome 85 or Safari 13.1 and above. Your browser version has been detected as potentially beneath this. If you continue you may experience some functionality issues.\n\nDetected Browser: " + browser.name + "\nVersion: " + browser.version)
|
||||
}
|
||||
|
||||
function checkBrowserVersion () {
|
||||
@@ -131,7 +131,7 @@ function loadSuperalgos() {
|
||||
}
|
||||
}
|
||||
|
||||
/* And Finally, we start loading all the scripts we will inmediatelly need. */
|
||||
/* And Finally, we start loading all the scripts we will immediately need. */
|
||||
function loadModules() {
|
||||
let path = "AppLoader.js"
|
||||
REQUIREJS([path], onRequired)
|
||||
|
||||
+36
-12
@@ -56,6 +56,7 @@ function newCanvas() {
|
||||
UI.projects.foundations.spaces.sideSpace.finalize()
|
||||
UI.projects.foundations.spaces.chartingSpace.finalize()
|
||||
UI.projects.foundations.spaces.floatingSpace.finalize()
|
||||
UI.projects.foundations.spaces.codeEditorSpace.finalize()
|
||||
thisObject.shorcutNumbers = undefined
|
||||
|
||||
if (browserCanvas.removeEventListener) {
|
||||
@@ -172,7 +173,7 @@ function newCanvas() {
|
||||
spaceDefinitionDrawMap.set(spaceDefinition.animationDrawIndex, spaceDefinition)
|
||||
}
|
||||
|
||||
/* Build the maps that defines the secuence of execution of different events. */
|
||||
/* Build the maps that defines the sequence of execution of different events. */
|
||||
if (spaceDefinition.onMouseWheelIndex !== undefined) {
|
||||
projectInstance.events.onMouseWheelMap.set(spaceDefinition.onMouseWheelIndex, spaceInstance)
|
||||
}
|
||||
@@ -373,7 +374,7 @@ function newCanvas() {
|
||||
|
||||
if (EDITOR_ON_FOCUS === true) {
|
||||
/*
|
||||
We will fordward the event to whoever is
|
||||
We will forward the event to whoever is
|
||||
controlling the editor.
|
||||
*/
|
||||
if (window.editorController !== undefined) {
|
||||
@@ -385,6 +386,11 @@ function newCanvas() {
|
||||
if (UI.projects.education !== undefined && UI.projects.education.spaces.docsSpace.isVisible === true) {
|
||||
return
|
||||
}
|
||||
/* When the Code Editor is Visible, we do not process key down events of the Designer Space. */
|
||||
if (UI.projects.foundations.spaces.codeEditorSpace.isVisible === true) {
|
||||
return
|
||||
}
|
||||
|
||||
thisObject.mouse.event = event
|
||||
thisObject.mouse.action = 'key down'
|
||||
|
||||
@@ -485,6 +491,19 @@ function newCanvas() {
|
||||
return
|
||||
}
|
||||
|
||||
if (
|
||||
event.shiftKey === true &&
|
||||
(event.ctrlKey === true || event.metaKey === true) &&
|
||||
(event.key === UI.projects.foundations.spaces.floatingSpace.settings.shortcuts.rescueFloatingObjectToMouse || event.key === UI.projects.foundations.spaces.floatingSpace.settings.shortcuts.rescueFloatingObjectToMouse.toLowerCase())
|
||||
|
||||
) {
|
||||
UI.projects.foundations.spaces.floatingSpace.rescueFloatingObjectToMouse(thisObject.mouse.position)
|
||||
if (event.preventDefault !== undefined) {
|
||||
event.preventDefault()
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
let nodeOnFocus = await UI.projects.foundations.spaces.designSpace.workspace.getNodeThatIsOnFocus()
|
||||
if (nodeOnFocus !== undefined) {
|
||||
if (nodeOnFocus.payload.uiObject.codeEditor !== undefined) {
|
||||
@@ -502,6 +521,11 @@ function newCanvas() {
|
||||
return
|
||||
}
|
||||
}
|
||||
if (nodeOnFocus.payload.uiObject.listSelector !== undefined) {
|
||||
if (nodeOnFocus.payload.uiObject.listSelector.visible === true) {
|
||||
return
|
||||
}
|
||||
}
|
||||
if (nodeOnFocus.payload.uiObject.conditionEditor !== undefined) {
|
||||
if (nodeOnFocus.payload.uiObject.conditionEditor.visible === true) {
|
||||
return
|
||||
@@ -637,7 +661,7 @@ function newCanvas() {
|
||||
if ((event.ctrlKey === true || event.metaKey === true) && event.altKey === true) {
|
||||
/* Shortcuts to nodes */
|
||||
if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 65 && event.keyCode <= 90)) {
|
||||
/* From here we prevent the default behaviour. Putting it earlier prevents imput box and text area to receive keystrokes */
|
||||
/* From here we prevent the default behaviour. Putting it earlier prevents input box and text area to receive keystrokes */
|
||||
event.preventDefault()
|
||||
let nodeUsingThisKey = await UI.projects.foundations.spaces.designSpace.workspace.getNodeByShortcutKey(event.key)
|
||||
|
||||
@@ -758,11 +782,11 @@ function newCanvas() {
|
||||
/*
|
||||
We will go through all the spaces defined at the project schema for each project
|
||||
and we are going to query each space to see if they have the container that is at
|
||||
the mouse position. We will order firt the spaces by the sequence order defined
|
||||
the mouse position. We will order first the spaces by the sequence order defined
|
||||
at the project schema specifically for this mouse event.
|
||||
|
||||
The order of the projects for events evaluations has intentionally been inverted,
|
||||
because the latest project is drwan the last, on top of the others, that means that
|
||||
because the latest project is drawn the last, on top of the others, that means that
|
||||
events should belong to the last first.
|
||||
*/
|
||||
for (let i = PROJECTS_SCHEMA.length - 1; i >= 0; i--) {
|
||||
@@ -868,11 +892,11 @@ function newCanvas() {
|
||||
/*
|
||||
We will go through all the spaces defined at the project schema for each project
|
||||
and we are going to query each space to see if they have the container that is at
|
||||
the mouse position. We will order firt the spaces by the sequence order defined
|
||||
the mouse position. We will order first the spaces by the sequence order defined
|
||||
at the project schema specifically for this mouse event.
|
||||
|
||||
The order of the projects for events evaluations has intentionally been inverted,
|
||||
because the latest project is drwan the last, on top of the others, that means that
|
||||
because the latest project is drawn the last, on top of the others, that means that
|
||||
events should belong to the last first.
|
||||
*/
|
||||
for (let i = PROJECTS_SCHEMA.length - 1; i >= 0; i--) {
|
||||
@@ -979,18 +1003,18 @@ function newCanvas() {
|
||||
return
|
||||
}
|
||||
|
||||
/* Then we check who is the current object underneeth the mounse. */
|
||||
/* Then we check who is the current object underneath the mouse. */
|
||||
|
||||
let container
|
||||
|
||||
/*
|
||||
We will go through all the spaces defined at the project schema for each project
|
||||
and we are going to query each space to see if they have the container that is at
|
||||
the mouse position. We will order firt the spaces by the sequence order defined
|
||||
the mouse position. We will order first the spaces by the sequence order defined
|
||||
at the project schema specifically for this mouse event.
|
||||
|
||||
The order of the projects for events evaluations has intentionally been inverted,
|
||||
because the latest project is drwan the last, on top of the others, that means that
|
||||
because the latest project is drawn the last, on top of the others, that means that
|
||||
events should belong to the last first.
|
||||
*/
|
||||
for (let i = PROJECTS_SCHEMA.length - 1; i >= 0; i--) {
|
||||
@@ -1050,11 +1074,11 @@ function newCanvas() {
|
||||
/*
|
||||
We will go through all the spaces defined at the project schema for each project
|
||||
and we are going to query each space to see if they have the container that is at
|
||||
the mouse position. We will order firt the spaces by the sequence order defined
|
||||
the mouse position. We will order first the spaces by the sequence order defined
|
||||
at the project schema specifically for this mouse event.
|
||||
|
||||
The order of the projects for events evaluations has intentionally been inverted,
|
||||
because the latest project is drwan the last, on top of the others, that means that
|
||||
because the latest project is drawn the last, on top of the others, that means that
|
||||
events should belong to the last first.
|
||||
*/
|
||||
for (let i = PROJECTS_SCHEMA.length - 1; i >= 0; i--) {
|
||||
|
||||
@@ -45,7 +45,7 @@ function newDailyFiles() {
|
||||
}
|
||||
}
|
||||
|
||||
function initialize(pMine, pBot, pSession, pProduct, pDataset, pExchange, pMarket, pDatetime, pTimeFrame, pHost, pPort, pEventsServerClient, callBackFunction) {
|
||||
function initialize(pMine, pBot, pSession, pProduct, pDataset, pExchange, pMarket, pDatetime, pTimeFrame, pHost, pPort, pEventsServerClient, callBackFunction, scheme='http') {
|
||||
try {
|
||||
callBackWhenFileReceived = callBackFunction
|
||||
|
||||
@@ -55,7 +55,7 @@ function newDailyFiles() {
|
||||
let timeFrames
|
||||
|
||||
fileCloud = newFileCloud()
|
||||
fileCloud.initialize(pBot, pHost, pPort)
|
||||
fileCloud.initialize(pBot, pHost, pPort, scheme)
|
||||
|
||||
/* Config Validations */
|
||||
if (pDataset.config.validTimeFrames === undefined) {
|
||||
|
||||
@@ -17,8 +17,8 @@ function newFileCloud () {
|
||||
let fileStorage
|
||||
return thisObject
|
||||
|
||||
function initialize (pBot, pHost, pPort) {
|
||||
fileStorage = newFileStorage(pHost, pPort)
|
||||
function initialize (pBot, pHost, pPort, scheme='http') {
|
||||
fileStorage = newFileStorage(pHost, pPort, scheme)
|
||||
}
|
||||
|
||||
function getFile (pMine, pBot, pSession, pProduct, pDataset, pExchange, pMarket, ptimeFrameLabel, pDatetime, pSequence, pDataRange, pTimeFrames, callBackFunction) {
|
||||
@@ -77,7 +77,7 @@ function newFileCloud () {
|
||||
}
|
||||
|
||||
if (fileName === undefined) {
|
||||
logger.write('[ERROR] getFile -> getFileRecursively -> Inconsistant data. Check the following: ')
|
||||
logger.write('[ERROR] getFile -> getFileRecursively -> Inconsistent data. Check the following: ')
|
||||
logger.write('[ERROR] getFile -> getFileRecursively -> pMine = ' + JSON.stringify(pMine))
|
||||
logger.write('[ERROR] getFile -> getFileRecursively -> pBot = ' + JSON.stringify(pBot))
|
||||
logger.write('[ERROR] getFile -> getFileRecursively -> pDataset = ' + JSON.stringify(pDataset))
|
||||
@@ -85,7 +85,7 @@ function newFileCloud () {
|
||||
logger.write('[ERROR] getFile -> getFileRecursively -> pMarket = ' + JSON.stringify(pMarket))
|
||||
logger.write('[ERROR] getFile -> getFileRecursively -> ptimeFrameLabel = ' + JSON.stringify(ptimeFrameLabel))
|
||||
|
||||
throw ('Inconsistant data received.')
|
||||
throw ('Inconsistent data received.')
|
||||
}
|
||||
|
||||
if (pMarket !== undefined) {
|
||||
@@ -152,7 +152,7 @@ function newFileCloud () {
|
||||
|
||||
if (ERROR_LOG === true) { logger.write('[ERROR] getFile -> getFileRecursively -> onFileReceived -> filePath = ' + filePath) }
|
||||
if (ERROR_LOG === true) { logger.write('[ERROR] getFile -> getFileRecursively -> onFileReceived -> fileName = ' + fileName) }
|
||||
if (ERROR_LOG === true) { logger.write('[ERROR] getFile -> getFileRecursively -> onFileReceived -> Unexpected Error Ocurred.') }
|
||||
if (ERROR_LOG === true) { logger.write('[ERROR] getFile -> getFileRecursively -> onFileReceived -> Unexpected Error Occurred.') }
|
||||
if (ERROR_LOG === true) { logger.write('[ERROR] getFile -> getFileRecursively -> onFileReceived -> err = ' + err.stack) }
|
||||
if (ERROR_LOG === true) { logger.write('[ERROR] getFile -> getFileRecursively -> onFileReceived -> text = ' + text) }
|
||||
if (ERROR_LOG === true) { logger.write('[ERROR] getFile -> getFileRecursively -> onFileReceived -> response = ' + response) }
|
||||
|
||||
@@ -195,7 +195,7 @@ function newFileCursor() {
|
||||
/*
|
||||
|
||||
We are implementing here an algorithm designed to save bandwidth, memory and processing power at the browser.
|
||||
We say there is a saving mode where the cursor is running at a minimum size. When the end user aproaches the time period the cursor
|
||||
We say there is a saving mode where the cursor is running at a minimum size. When the end user approaches the time period the cursor
|
||||
is set, then it should exit the saving mode and go to its actual size.
|
||||
|
||||
To do this we are going to measure the distance from the Time Frame received to the one the cursors was initialized with.
|
||||
@@ -427,7 +427,7 @@ function newFileCursor() {
|
||||
let targetDate = new Date(cursorDate)
|
||||
targetDate.setUTCDate(targetDate.getUTCDate() + j)
|
||||
|
||||
/* Small algorith to allow load first the current date, then alternate between the most forwad and the most backwards ones. */
|
||||
/* Small algorithm to allow load first the current date, then alternate between the most forward and the most backwards ones. */
|
||||
if (j === 0) { j++ } else {
|
||||
if (j < 0) {
|
||||
j = -j
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
function newFileStorage(host, port) {
|
||||
function newFileStorage(host, port, scheme='http') {
|
||||
const MODULE_NAME = 'File Storage'
|
||||
const INFO_LOG = false
|
||||
const logger = newWebDebugLog()
|
||||
@@ -40,12 +40,12 @@ function newFileStorage(host, port) {
|
||||
let url
|
||||
|
||||
if (host !== undefined && port !== undefined) {
|
||||
url = 'http://' + host + ':' + port + '/' + folder + filePath
|
||||
url = scheme + '://' + host + ':' + port + '/' + folder + filePath
|
||||
} else {
|
||||
url = folder + filePath
|
||||
}
|
||||
|
||||
/* Scaping # since it breaks the URL */
|
||||
/* Escaping # since it breaks the URL */
|
||||
url = url.replaceAll('#', '_HASHTAG_')
|
||||
|
||||
httpRequest(undefined, url, (response, fileContent) => {
|
||||
@@ -64,7 +64,7 @@ function newFileStorage(host, port) {
|
||||
let err = { code: 'The specified key does not exist.' }
|
||||
callBackFunction(err)
|
||||
} else {
|
||||
console.log('Error geting the file from the serever:', err)
|
||||
console.log('Error getting the file from the server:', err)
|
||||
callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,7 +80,8 @@ function newMarketFiles() {
|
||||
pHost,
|
||||
pPort,
|
||||
pEventsServerClient,
|
||||
callBackFunction) {
|
||||
callBackFunction,
|
||||
scheme='http') {
|
||||
try {
|
||||
let timeFrames
|
||||
|
||||
@@ -94,7 +95,7 @@ function newMarketFiles() {
|
||||
eventsServerClient = pEventsServerClient
|
||||
|
||||
fileCloud = newFileCloud()
|
||||
fileCloud.initialize(pBot, pHost, pPort)
|
||||
fileCloud.initialize(pBot, pHost, pPort, scheme)
|
||||
|
||||
/* Some Validations */
|
||||
if (dataset.config.validTimeFrames === undefined) {
|
||||
|
||||
@@ -8,7 +8,7 @@ function newEventHandler() {
|
||||
finalize: finalize
|
||||
}
|
||||
|
||||
let eventHandlers = [] // Here we store all the functions we will call when an event is raiseed.
|
||||
let eventHandlers = [] // Here we store all the functions we will call when an event is raised.
|
||||
|
||||
return thisObject
|
||||
|
||||
|
||||
@@ -218,13 +218,14 @@ function newEventsServerClient(lanNetworkNode) {
|
||||
try {
|
||||
let host
|
||||
let port
|
||||
/* At this point the node does not have the payload property yet, that is why we have to do this manually */
|
||||
let extwsurl
|
||||
try {
|
||||
let config = JSON.parse(lanNetworkNode.config)
|
||||
host = config.host
|
||||
port = config.webSocketsPort
|
||||
extwsurl = config.webSocketsExternalURL
|
||||
|
||||
/* Check if we really have to stablish the connection. */
|
||||
/* Check if we really have to establish the connection. */
|
||||
if (config.autoConnect === false) { return }
|
||||
} catch (err) {
|
||||
lanNetworkNode.payload.uiObject.setErrorMessage(
|
||||
@@ -268,8 +269,12 @@ function newEventsServerClient(lanNetworkNode) {
|
||||
return
|
||||
}
|
||||
|
||||
const WEB_SOCKETS_URL = 'ws://' + host + ':' + port + ''
|
||||
let wsurl = 'ws://' + host + ':' + port + ''
|
||||
if (extwsurl !== undefined) {
|
||||
wsurl = extwsurl
|
||||
}
|
||||
|
||||
const WEB_SOCKETS_URL = wsurl
|
||||
WEB_SOCKETS_CONNECTION = new WebSocket(WEB_SOCKETS_URL)
|
||||
WEB_SOCKETS_CONNECTION.onerror = error => {
|
||||
console.log('WebSocket error:' + JSON.stringify(error))
|
||||
@@ -280,7 +285,7 @@ function newEventsServerClient(lanNetworkNode) {
|
||||
}
|
||||
}
|
||||
WEB_SOCKETS_CONNECTION.onmessage = e => {
|
||||
// console.log('Websoked Message Received: ' + e.data)
|
||||
// console.log('WEB_SOCKET Message Received: ' + e.data)
|
||||
|
||||
let message = JSON.parse(e.data)
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ function newFrame() {
|
||||
let thisObject = {
|
||||
type: 'Rectangle',
|
||||
containerName: '', // This is for debugging purposes only.
|
||||
parentFrame: undefined, // Here we store the parent cointainer zoom object.
|
||||
parentFrame: undefined, // Here we store the parent container zoom object.
|
||||
radius: 0,
|
||||
offset: undefined,
|
||||
position: undefined,
|
||||
@@ -53,7 +53,7 @@ function newFrame() {
|
||||
}
|
||||
|
||||
function isInViewPort() {
|
||||
/* This function is usefull to know if the object who has this frame is currently appearing at least in part at the UI.projects.foundations.spaces.chartingSpace.viewport */
|
||||
/* This function is useful to know if the object who has this frame is currently appearing at least in part at the UI.projects.foundations.spaces.chartingSpace.viewport */
|
||||
|
||||
point1 = {
|
||||
x: 0,
|
||||
@@ -78,7 +78,7 @@ function newFrame() {
|
||||
}
|
||||
|
||||
function isCenterInViewPort() {
|
||||
/* This function is usefull to know if the object who has this frame is currently appearing at least in part at the UI.projects.foundations.spaces.chartingSpace.viewport */
|
||||
/* This function is useful to know if the object who has this frame is currently appearing at least in part at the UI.projects.foundations.spaces.chartingSpace.viewport */
|
||||
|
||||
point1 = {
|
||||
x: thisObject.width * 40 / 100,
|
||||
@@ -187,8 +187,8 @@ function newFrame() {
|
||||
}
|
||||
|
||||
function isThisPointHere(point, outsideViewPort, dontTransform, padding) {
|
||||
// The second parameter is usefull when you want to check a point that you already know is outside the viewport.
|
||||
// The padding is a distance to the borders of the container. Can be either negative (outside, to increase the cointainer size) or positive (inside to decrease the cointainer size)
|
||||
// The second parameter is useful when you want to check a point that you already know is outside the viewport.
|
||||
// The padding is a distance to the borders of the container. Can be either negative (outside, to increase the container size) or positive (inside to decrease the cointainer size)
|
||||
|
||||
if (padding === undefined) { padding = 0 }
|
||||
|
||||
@@ -199,7 +199,7 @@ function newFrame() {
|
||||
}
|
||||
|
||||
/* The point received is on the screen coordinates system, which already has zoom and displacement applied. We need to remove the zoom and displacement
|
||||
in order to have the point on the containers coordinate system and be able to compare it with its dimmensions. */
|
||||
in order to have the point on the containers coordinate system and be able to compare it with its dimensions. */
|
||||
if (dontTransform === false || dontTransform === undefined) {
|
||||
if (outsideViewPort === true) {
|
||||
checkPoint = thisObject.container.frame.unframeThisPoint(checkPoint)
|
||||
@@ -208,7 +208,7 @@ function newFrame() {
|
||||
}
|
||||
}
|
||||
|
||||
/* Now we check if the resulting point is whin the current Frame. */
|
||||
/* Now we check if the resulting point is within the current Frame. */
|
||||
if (isNaN(checkPoint.x) || isNaN(checkPoint.y)) { return false }
|
||||
if (thisObject.type === 'Circle') {
|
||||
let distance = Math.sqrt(Math.pow(thisObject.position.x - checkPoint.x, 2) + Math.pow(thisObject.position.y - checkPoint.y, 2))
|
||||
@@ -244,7 +244,7 @@ function newFrame() {
|
||||
thisPoint = thisObject.parentFrame.frameThisPoint(thisPoint)
|
||||
}
|
||||
|
||||
/* Now we check if the resulting point is whin the current Frame. */
|
||||
/* Now we check if the resulting point is within the current Frame. */
|
||||
|
||||
if (thisObject.type === 'Circle') {
|
||||
let distance = Math.sqrt(Math.pow(thisPoint.x - checkPoint.x, 2) + Math.pow(thisPoint.y - checkPoint.y, 2))
|
||||
|
||||
+11
-5
@@ -1,11 +1,12 @@
|
||||
/* Global Constatns */
|
||||
/* Global Constants */
|
||||
|
||||
let canvas
|
||||
let PROJECTS_SCHEMA
|
||||
let SCHEMAS_BY_PROJECT = new Map()
|
||||
/* New Root object*/
|
||||
let UI = {
|
||||
projects: {}
|
||||
projects: {},
|
||||
environment: {}
|
||||
}
|
||||
|
||||
/* User Interface Colors */
|
||||
@@ -203,9 +204,9 @@ const _1_MINUTE_IN_MILISECONDS = 1 * 60 * 1000;
|
||||
|
||||
|
||||
|
||||
let NEW_SESSION_INITIAL_DATE = new Date(); // This value will be overwritten at the UI.projects.foundations.spaces.chartingSpace.viewport.initialize if the user had a prevous session with this same browser.
|
||||
let NEW_SESSION_INITIAL_DATE = new Date(); // This value will be overwritten at the UI.projects.foundations.spaces.chartingSpace.viewport.initialize if the user had a previous session with this same browser.
|
||||
let INITIAL_ZOOM_LEVEL = -28.25 // This is the zoom level at the view port in which the APP starts.
|
||||
let INITIAL_TIME_PERIOD = ONE_DAY_IN_MILISECONDS // This value will be overwritten at the UI.projects.foundations.spaces.chartingSpace.viewport.initialize if the user had a prevous session with this same browser.
|
||||
let INITIAL_TIME_PERIOD = ONE_DAY_IN_MILISECONDS // This value will be overwritten at the UI.projects.foundations.spaces.chartingSpace.viewport.initialize if the user had a previous session with this same browser.
|
||||
let VERY_LARGE_NUMBER = 100000000000000
|
||||
|
||||
const TOP_MARGIN = 0
|
||||
@@ -245,7 +246,7 @@ const PERIOD_05_MIN = "05-min";
|
||||
const PERIOD_01_MIN = "01-min";
|
||||
|
||||
/*
|
||||
We define here the size of the chartingSpace. It has to bee enough big in order to accomodate all the charts we expect to display in this space.
|
||||
We define here the size of the chartingSpace. It has to bee enough big in order to accommodate all the charts we expect to display in this space.
|
||||
*/
|
||||
|
||||
const TIME_MACHINE_WIDTH = 8;
|
||||
@@ -260,6 +261,11 @@ let CURRENT_PANORAMA_POSITION = 0
|
||||
|
||||
let CAN_SPACES_DRAW = false // This global variable regulates when spaces can or can not draw their contents.
|
||||
|
||||
const codeEditorType = {
|
||||
CODE: "code",
|
||||
CONFIG: "config"
|
||||
}
|
||||
|
||||
function toRadians(angle) {
|
||||
return angle * (Math.PI / 180);
|
||||
}
|
||||
@@ -8,7 +8,7 @@ function newProductStorage(name) {
|
||||
/*
|
||||
|
||||
This object will initialize children objects that will end up loading the data of each set defined at each product of the bot received at initialization.
|
||||
Once all the underlaying objects are fully initialized it will callback.
|
||||
Once all the underlying objects are fully initialized it will callback.
|
||||
|
||||
At the same time it will raise an event for each underlaying file being loaded, so that the UI can reflect the progress to the end user.
|
||||
|
||||
@@ -74,7 +74,7 @@ function newProductStorage(name) {
|
||||
}
|
||||
}
|
||||
|
||||
function initialize(mine, bot, session, product, exchange, market, pDatetime, pTimeFrame, host, port, eventsServerClient, callBackFunction) {
|
||||
function initialize(mine, bot, session, product, exchange, market, pDatetime, pTimeFrame, host, port, eventsServerClient, callBackFunction, scheme='http') {
|
||||
try {
|
||||
datetime = pDatetime
|
||||
timeFrame = pTimeFrame
|
||||
@@ -90,7 +90,7 @@ function newProductStorage(name) {
|
||||
dataSetsToLoad++
|
||||
|
||||
let marketFiles = newMarketFiles()
|
||||
marketFiles.initialize(mine, bot, session, product, dataset, exchange, market, host, port, eventsServerClient, onMarketFileReady)
|
||||
marketFiles.initialize(mine, bot, session, product, dataset, exchange, market, host, port, eventsServerClient, onMarketFileReady, scheme)
|
||||
thisObject.marketFiles.push(marketFiles)
|
||||
}
|
||||
break
|
||||
@@ -99,7 +99,7 @@ function newProductStorage(name) {
|
||||
dataSetsToLoad++
|
||||
|
||||
let dailyFiles = newDailyFiles()
|
||||
dailyFiles.initialize(mine, bot, session, product, dataset, exchange, market, pDatetime, pTimeFrame, host, port, eventsServerClient, onDailyFileReady)
|
||||
dailyFiles.initialize(mine, bot, session, product, dataset, exchange, market, pDatetime, pTimeFrame, host, port, eventsServerClient, onDailyFileReady, scheme)
|
||||
thisObject.dailyFiles.push(dailyFiles)
|
||||
}
|
||||
break
|
||||
@@ -108,7 +108,7 @@ function newProductStorage(name) {
|
||||
dataSetsToLoad++
|
||||
|
||||
let singleFile = newSingleFile()
|
||||
singleFile.initialize(mine, bot, session, product, dataset, exchange, market, host, port, eventsServerClient, onSingleFileReady)
|
||||
singleFile.initialize(mine, bot, session, product, dataset, exchange, market, host, port, eventsServerClient, onSingleFileReady, scheme)
|
||||
thisObject.singleFile.push(singleFile)
|
||||
}
|
||||
break
|
||||
@@ -117,7 +117,7 @@ function newProductStorage(name) {
|
||||
dataSetsToLoad++
|
||||
|
||||
let fileSequences = newFileSequence()
|
||||
fileSequences.initialize(mine, bot, session, product, dataset, exchange, market, host, port, eventsServerClient, onFileSequenceReady)
|
||||
fileSequences.initialize(mine, bot, session, product, dataset, exchange, market, host, port, eventsServerClient, onFileSequenceReady, scheme)
|
||||
thisObject.fileSequences.push(fileSequences)
|
||||
}
|
||||
break
|
||||
|
||||
+35
-13
@@ -1,4 +1,4 @@
|
||||
function getSchemaDocument (node, project) {
|
||||
function getSchemaDocument(node, project) {
|
||||
if (node === null || node === undefined) {
|
||||
console.log('[ERROR] Can not get the schema document of a null or undefined node ')
|
||||
return
|
||||
@@ -7,13 +7,35 @@ function getSchemaDocument (node, project) {
|
||||
|
||||
let APP_SCHEMA = SCHEMAS_BY_PROJECT.get(project)
|
||||
if (APP_SCHEMA !== undefined) {
|
||||
return SCHEMAS_BY_PROJECT.get(project).map.appSchema.get(node.type)
|
||||
|
||||
let schemaDocument = SCHEMAS_BY_PROJECT.get(project).map.appSchema.get(node.type)
|
||||
/*
|
||||
As of today, we are still splitting the codebase into multiple projects and there are Menu Actions which do not
|
||||
have a well defined relatedUIObjectProject. There are a few techniques in place to try to guess it, but
|
||||
even those can fail. For that reason, we will temporally see if we can find the schema document at any of the
|
||||
available projects.
|
||||
|
||||
TODO: We need to explicitly declare the project of a relatedUIObject in order to avoid potential name collision
|
||||
between nodes belonging to more than one project.
|
||||
*/
|
||||
|
||||
if (schemaDocument === undefined) {
|
||||
for (let j = 0; j < PROJECTS_SCHEMA.length; j++) {
|
||||
let project = PROJECTS_SCHEMA[j].name
|
||||
schemaDocument = SCHEMAS_BY_PROJECT.get(project).map.appSchema.get(node.type)
|
||||
if (schemaDocument !== undefined) {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return schemaDocument
|
||||
} else {
|
||||
console.log('[ERROR] Could not get APP Scchema for project ' + node.project)
|
||||
console.log('[ERROR] Could not get APP Schema for project ' + node.project)
|
||||
}
|
||||
}
|
||||
|
||||
function dynamicDecimals (value, minDecimals) {
|
||||
function dynamicDecimals(value, minDecimals) {
|
||||
if (minDecimals === undefined) {
|
||||
minDecimals = 0
|
||||
}
|
||||
@@ -26,7 +48,7 @@ function dynamicDecimals (value, minDecimals) {
|
||||
return returnValue
|
||||
}
|
||||
|
||||
function convertTimeFrameToName (pTimeFrame) {
|
||||
function convertTimeFrameToName(pTimeFrame) {
|
||||
for (let i = 0; i < dailyTimeFramesArray.length; i++) {
|
||||
let period = dailyTimeFramesArray[i]
|
||||
if (period[0] === pTimeFrame) {
|
||||
@@ -42,7 +64,7 @@ function convertTimeFrameToName (pTimeFrame) {
|
||||
}
|
||||
}
|
||||
|
||||
function nextPorwerOf10 (number) {
|
||||
function nextPorwerOf10(number) {
|
||||
for (let i = -10; i <= 10; i++) {
|
||||
if (number < Math.pow(10, i)) {
|
||||
return Math.pow(10, i)
|
||||
@@ -50,18 +72,18 @@ function nextPorwerOf10 (number) {
|
||||
}
|
||||
}
|
||||
|
||||
function pad (str, max) {
|
||||
function pad(str, max) {
|
||||
str = str.toString()
|
||||
return str.length < max ? pad('0' + str, max) : str
|
||||
}
|
||||
|
||||
function moveToUserPosition (container, currentDate, currentRate, coordinateSystem, ignoreX, ignoreY, mousePosition, fitFunction) {
|
||||
function moveToUserPosition(container, currentDate, currentRate, coordinateSystem, ignoreX, ignoreY, mousePosition, fitFunction) {
|
||||
let targetPoint = {
|
||||
x: currentDate.valueOf(),
|
||||
y: currentRate
|
||||
}
|
||||
|
||||
/* Put this point in the coordinate system of the UI.projects.foundations.spaces.chartingSpace.viewport */
|
||||
/* Put this point in the coordinate system of the UI.projects.foundations.spaces.chartingSpace.viewport */
|
||||
targetPoint = coordinateSystem.transformThisPoint(targetPoint)
|
||||
targetPoint = UI.projects.foundations.utilities.coordinateTransformations.transformThisPoint(targetPoint, container)
|
||||
|
||||
@@ -81,7 +103,7 @@ function moveToUserPosition (container, currentDate, currentRate, coordinateSyst
|
||||
container.displace(displaceVector)
|
||||
}
|
||||
|
||||
function removeTime (datetime) {
|
||||
function removeTime(datetime) {
|
||||
if (datetime === undefined) { return }
|
||||
|
||||
let dateOnly = new Date(Math.trunc(datetime.valueOf() / ONE_DAY_IN_MILISECONDS) * ONE_DAY_IN_MILISECONDS)
|
||||
@@ -89,14 +111,14 @@ function removeTime (datetime) {
|
||||
return dateOnly
|
||||
}
|
||||
|
||||
function newUniqueId () {
|
||||
function newUniqueId() {
|
||||
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
||||
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8)
|
||||
return v.toString(16)
|
||||
})
|
||||
}
|
||||
|
||||
function splitTextIntoPhrases (text, wordsPerLine) {
|
||||
function splitTextIntoPhrases(text, wordsPerLine) {
|
||||
try {
|
||||
if (text.split === undefined) {
|
||||
return []
|
||||
@@ -128,7 +150,7 @@ function splitTextIntoPhrases (text, wordsPerLine) {
|
||||
}
|
||||
}
|
||||
|
||||
function getTextWidth (text) {
|
||||
function getTextWidth(text) {
|
||||
var metrics = browserCanvasContext.measureText(text)
|
||||
return metrics.width
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
File renamed without changes.
Binary file not shown.
|
After Width: | Height: | Size: 5.5 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 4.5 KiB |
@@ -0,0 +1,15 @@
|
||||
.code-editor-page {
|
||||
font: 400 17px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
color: #365558;
|
||||
line-height: 150%;
|
||||
margin: 20 25 20 30px;
|
||||
}
|
||||
|
||||
.editor{
|
||||
height: 70vh;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#code-path {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
@@ -128,50 +128,33 @@ cursor: pointer;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
/* Tooltip text */
|
||||
.docs-tooltip .docs-tooltiptext {
|
||||
visibility: hidden;
|
||||
width: 240px;
|
||||
background-color: #0295aa;
|
||||
color: #fff;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-size: 15px;
|
||||
line-height: 130%;
|
||||
text-align: center;
|
||||
padding: 15px;
|
||||
border-radius: 6px;
|
||||
|
||||
/* Position the docs-tooltip text */
|
||||
position: absolute;
|
||||
z-index: 0;
|
||||
bottom: 125%;
|
||||
left: 50%;
|
||||
margin-left: -120px;
|
||||
|
||||
|
||||
/* Fade in docs-tooltip */
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s;
|
||||
/* Tooltip Settings */
|
||||
.tippy-box[data-theme~='superalgos'] {
|
||||
background-color: #0295aa;
|
||||
color: #fff;
|
||||
font: normal normal normal 14px/1 "segoeui";
|
||||
width: 240px;
|
||||
padding: 15px;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-size: 15px;
|
||||
line-height: 130%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Tooltip arrow */
|
||||
.docs-tooltip .docs-tooltiptext::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: 50%;
|
||||
margin-left: -5px;
|
||||
border-width: 5px;
|
||||
border-style: solid;
|
||||
border-color: #0295aa transparent transparent transparent;
|
||||
.tippy-box[data-theme~='superalgos'][data-placement^='top'] > .tippy-arrow::before {
|
||||
border-top-color: #0295aa;
|
||||
}
|
||||
.tippy-box[data-theme~='superalgos'][data-placement^='bottom'] > .tippy-arrow::before {
|
||||
border-bottom-color: #0295aa;
|
||||
}
|
||||
.tippy-box[data-theme~='superalgos'][data-placement^='left'] > .tippy-arrow::before {
|
||||
border-left-color: #0295aa;
|
||||
}
|
||||
.tippy-box[data-theme~='superalgos'][data-placement^='right'] > .tippy-arrow::before {
|
||||
border-right-color: #0295aa;
|
||||
}
|
||||
|
||||
/* Show the tooltip text when you mouse over the tooltip container */
|
||||
.docs-tooltip:hover .docs-tooltiptext {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* Headings */
|
||||
|
||||
@@ -801,6 +784,10 @@ outline: none;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.docs-search-input::placeholder {
|
||||
color:#bbb;
|
||||
}
|
||||
|
||||
/* Search Results Page */
|
||||
|
||||
/* Search Results Page Header*/
|
||||
@@ -826,6 +813,13 @@ display: table-cell;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
::placeholder, /* Chrome, Firefox, Opera, Safari 10.1+ */
|
||||
:-ms-input-placeholder, /* Internet Explorer 10-11 */
|
||||
::-ms-input-placeholder { /* Microsoft Edge */
|
||||
color: #dbdbdb;
|
||||
opacity: 1; /* Firefox */
|
||||
}
|
||||
|
||||
.docs-search-results-header-tabs-container {
|
||||
display: table;
|
||||
text-align: right;
|
||||
|
||||
@@ -888,7 +888,8 @@
|
||||
#governance-tab13:checked ~ .governance-search-result-content #content13,
|
||||
#governance-tab14:checked ~ .governance-search-result-content #content14,
|
||||
#governance-tab15:checked ~ .governance-search-result-content #content15,
|
||||
#governance-tab16:checked ~ .governance-search-result-content #content16 {
|
||||
#governance-tab16:checked ~ .governance-search-result-content #content16,
|
||||
#governance-tab17:checked ~ .governance-search-result-content #content17 {
|
||||
display: block;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,27 @@ content: "Summary: ";
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.tutorial-content-div {
|
||||
overflow-y: auto;
|
||||
overflow-x: clip;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background: #f1f1f1;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: #888;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #555;
|
||||
}
|
||||
|
||||
.tutorial-definitionTable {
|
||||
background-color: #f3f3f3;
|
||||
border-top-color: #a6e1ec;
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
/**!
|
||||
* FlexSearch.js v0.7.2 (Bundle)
|
||||
* Copyright 2018-2021 Nextapps GmbH
|
||||
* Author: Thomas Wilkerling
|
||||
* Licence: Apache-2.0
|
||||
* https://github.com/nextapps-de/flexsearch
|
||||
*/
|
||||
(function _f(self){'use strict';try{if(module)self=module}catch(e){}self._factory=_f;var t;function u(a){return"undefined"!==typeof a?a:!0}function aa(a){const b=Array(a);for(let c=0;c<a;c++)b[c]=v();return b}function v(){return Object.create(null)}function ba(a,b){return b.length-a.length}function x(a){return"string"===typeof a}function C(a){return"object"===typeof a}function D(a){return"function"===typeof a};function ca(a,b){var c=da;if(a&&(b&&(a=E(a,b)),this.H&&(a=E(a,this.H)),this.J&&1<a.length&&(a=E(a,this.J)),c||""===c)){a=a.split(c);if(this.filter){b=this.filter;c=a.length;const d=[];for(let e=0,f=0;e<c;e++){const g=a[e];g&&!b[g]&&(d[f++]=g)}a=d}return a}return a}const da=/[\p{Z}\p{S}\p{P}\p{C}]+/u,ea=/[\u0300-\u036f]/g;
|
||||
function fa(a,b){const c=Object.keys(a),d=c.length,e=[];let f="",g=0;for(let h=0,k,m;h<d;h++)k=c[h],(m=a[k])?(e[g++]=F(b?"(?!\\b)"+k+"(\\b|_)":k),e[g++]=m):f+=(f?"|":"")+k;f&&(e[g++]=F(b?"(?!\\b)("+f+")(\\b|_)":"("+f+")"),e[g]="");return e}function E(a,b){for(let c=0,d=b.length;c<d&&(a=a.replace(b[c],b[c+1]),a);c+=2);return a}function F(a){return new RegExp(a,"g")}function ha(a){let b="",c="";for(let d=0,e=a.length,f;d<e;d++)(f=a[d])!==c&&(b+=c=f);return b};var ja={encode:ia,F:!1,G:""};function ia(a){return ca.call(this,a.toLowerCase(),!1)};const ka={},G={};function la(a){I(a,"add");I(a,"append");I(a,"search");I(a,"update");I(a,"remove")}function I(a,b){a[b+"Async"]=function(){const c=this,d=arguments;var e=d[d.length-1];let f;D(e)&&(f=e,delete d[d.length-1]);e=new Promise(function(g){setTimeout(function(){c.async=!0;const h=c[b].apply(c,d);c.async=!1;g(h)})});return f?(e.then(f),this):e}};function ma(a,b,c,d){const e=a.length;let f=[],g,h,k=0;d&&(d=[]);for(let m=e-1;0<=m;m--){const n=a[m],w=n.length,q=v();let r=!g;for(let l=0;l<w;l++){const p=n[l],z=p.length;if(z)for(let B=0,A,y;B<z;B++)if(y=p[B],g){if(g[y]){if(!m)if(c)c--;else if(f[k++]=y,k===b)return f;if(m||d)q[y]=1;r=!0}if(d&&(h[y]=(A=h[y])?++A:A=1,A<e)){const H=d[A-2]||(d[A-2]=[]);H[H.length]=y}}else q[y]=1}if(d)g||(h=q);else if(!r)return[];g=q}if(d)for(let m=d.length-1,n,w;0<=m;m--){n=d[m];w=n.length;for(let q=0,r;q<w;q++)if(r=
|
||||
n[q],!g[r]){if(c)c--;else if(f[k++]=r,k===b)return f;g[r]=1}}return f}function na(a,b){const c=v(),d=v(),e=[];for(let f=0;f<a.length;f++)c[a[f]]=1;for(let f=0,g;f<b.length;f++){g=b[f];for(let h=0,k;h<g.length;h++)k=g[h],c[k]&&!d[k]&&(d[k]=1,e[e.length]=k)}return e};function J(a){this.l=!0!==a&&a;this.cache=v();this.h=[]}function oa(a,b,c){C(a)&&(a=a.query);let d=this.cache.get(a);d||(d=this.search(a,b,c),this.cache.set(a,d));return d}J.prototype.set=function(a,b){if(!this.cache[a]){var c=this.h.length;c===this.l?delete this.cache[this.h[c-1]]:c++;for(--c;0<c;c--)this.h[c]=this.h[c-1];this.h[0]=a}this.cache[a]=b};J.prototype.get=function(a){const b=this.cache[a];if(this.l&&b&&(a=this.h.indexOf(a))){const c=this.h[a-1];this.h[a-1]=this.h[a];this.h[a]=c}return b};const qa={memory:{charset:"latin:extra",D:3,B:4,m:!1},performance:{D:3,B:3,s:!1,context:{depth:2,D:1}},match:{charset:"latin:extra",G:"reverse"},score:{charset:"latin:advanced",D:20,B:3,context:{depth:3,D:9}},"default":{}};function ra(a,b,c,d,e,f){setTimeout(function(){const g=a(c,JSON.stringify(f));g&&g.then?g.then(function(){b.export(a,b,c,d,e+1)}):b.export(a,b,c,d,e+1)})};function K(a,b){if(!(this instanceof K))return new K(a);var c;if(a){x(a)?a=qa[a]:(c=a.preset)&&(a=Object.assign({},c[c],a));c=a.charset;var d=a.lang;x(c)&&(-1===c.indexOf(":")&&(c+=":default"),c=G[c]);x(d)&&(d=ka[d])}else a={};let e,f,g=a.context||{};this.encode=a.encode||c&&c.encode||ia;this.register=b||v();this.D=e=a.resolution||9;this.G=b=c&&c.G||a.tokenize||"strict";this.depth="strict"===b&&g.depth;this.l=u(g.bidirectional);this.s=f=u(a.optimize);this.m=u(a.fastupdate);this.B=a.minlength||1;this.C=
|
||||
a.boost;this.map=f?aa(e):v();this.A=e=g.resolution||1;this.h=f?aa(e):v();this.F=c&&c.F||a.rtl;this.H=(b=a.matcher||d&&d.H)&&fa(b,!1);this.J=(b=a.stemmer||d&&d.J)&&fa(b,!0);if(c=b=a.filter||d&&d.filter){c=b;d=v();for(let h=0,k=c.length;h<k;h++)d[c[h]]=1;c=d}this.filter=c;this.cache=(b=a.cache)&&new J(b)}t=K.prototype;t.append=function(a,b){return this.add(a,b,!0)};
|
||||
t.add=function(a,b,c,d){if(b&&(a||0===a)){if(!d&&!c&&this.register[a])return this.update(a,b);b=this.encode(b);if(d=b.length){const m=v(),n=v(),w=this.depth,q=this.D;for(let r=0;r<d;r++){let l=b[this.F?d-1-r:r];var e=l.length;if(l&&e>=this.B&&(w||!n[l])){var f=L(q,d,r),g="";switch(this.G){case "full":if(3<e){for(f=0;f<e;f++)for(var h=e;h>f;h--)if(h-f>=this.B){var k=L(q,d,r,e,f);g=l.substring(f,h);M(this,n,g,k,a,c)}break}case "reverse":if(2<e){for(h=e-1;0<h;h--)g=l[h]+g,g.length>=this.B&&M(this,n,
|
||||
g,L(q,d,r,e,h),a,c);g=""}case "forward":if(1<e){for(h=0;h<e;h++)g+=l[h],g.length>=this.B&&M(this,n,g,f,a,c);break}default:if(this.C&&(f=Math.min(f/this.C(b,l,r)|0,q-1)),M(this,n,l,f,a,c),w&&1<d&&r<d-1)for(e=v(),g=this.A,f=l,h=Math.min(w+1,d-r),e[f]=1,k=1;k<h;k++)if((l=b[this.F?d-1-r-k:r+k])&&l.length>=this.B&&!e[l]){e[l]=1;const p=this.l&&l>f;M(this,m,p?f:l,L(g+(d/2>g?0:1),d,r,h-1,k-1),a,c,p?l:f)}}}}this.m||(this.register[a]=1)}}return this};
|
||||
function L(a,b,c,d,e){return c&&1<a?b+(d||0)<=a?c+(e||0):(a-1)/(b+(d||0))*(c+(e||0))+1|0:0}function M(a,b,c,d,e,f,g){let h=g?a.h:a.map;if(!b[c]||g&&!b[c][g])a.s&&(h=h[d]),g?(b=b[c]||(b[c]=v()),b[g]=1,h=h[g]||(h[g]=v())):b[c]=1,h=h[c]||(h[c]=[]),a.s||(h=h[d]||(h[d]=[])),f&&-1!==h.indexOf(e)||(h[h.length]=e,a.m&&(a=a.register[e]||(a.register[e]=[]),a[a.length]=h))}
|
||||
t.search=function(a,b,c){c||(!b&&C(a)?(c=a,a=c.query):C(b)&&(c=b));let d=[],e;let f,g=0;if(c){b=c.limit;g=c.offset||0;var h=c.context;f=c.suggest}if(a&&(a=this.encode(a),e=a.length,1<e)){c=v();var k=[];for(let n=0,w=0,q;n<e;n++)if((q=a[n])&&q.length>=this.B&&!c[q])if(this.s||f||this.map[q])k[w++]=q,c[q]=1;else return d;a=k;e=a.length}if(!e)return d;b||(b=100);h=this.depth&&1<e&&!1!==h;c=0;let m;h?(m=a[0],c=1):1<e&&a.sort(ba);for(let n,w;c<e;c++){w=a[c];h?(n=sa(this,d,f,b,g,2===e,w,m),f&&!1===n&&d.length||
|
||||
(m=w)):n=sa(this,d,f,b,g,1===e,w);if(n)return n;if(f&&c===e-1){k=d.length;if(!k){if(h){h=0;c=-1;continue}return d}if(1===k)return ta(d[0],b,g)}}return ma(d,b,g,f)};
|
||||
function sa(a,b,c,d,e,f,g,h){let k=[],m=h?a.h:a.map;a.s||(m=ua(m,g,h,a.l));if(m){let n=0;const w=Math.min(m.length,h?a.A:a.D);for(let q=0,r=0,l,p;q<w;q++)if(l=m[q])if(a.s&&(l=ua(l,g,h,a.l)),e&&l&&f&&(p=l.length,p<=e?(e-=p,l=null):(l=l.slice(e),e=0)),l&&(k[n++]=l,f&&(r+=l.length,r>=d)))break;if(n){if(f)return ta(k,d,0);b[b.length]=k;return}}return!c&&k}function ta(a,b,c){a=1===a.length?a[0]:[].concat.apply([],a);return c||a.length>b?a.slice(c,c+b):a}
|
||||
function ua(a,b,c,d){c?(d=d&&b>c,a=(a=a[d?b:c])&&a[d?c:b]):a=a[b];return a}t.contain=function(a){return!!this.register[a]};t.update=function(a,b){return this.remove(a).add(a,b)};
|
||||
t.remove=function(a,b){const c=this.register[a];if(c){if(this.m)for(let d=0,e;d<c.length;d++)e=c[d],e.splice(e.indexOf(a),1);else N(this.map,a,this.D,this.s),this.depth&&N(this.h,a,this.A,this.s);b||delete this.register[a];if(this.cache){b=this.cache;for(let d=0,e,f;d<b.h.length;d++)f=b.h[d],e=b.cache[f],-1!==e.indexOf(a)&&(b.h.splice(d--,1),delete b.cache[f])}}return this};
|
||||
function N(a,b,c,d,e){let f=0;if(a.constructor===Array)if(e)b=a.indexOf(b),-1!==b?1<a.length&&(a.splice(b,1),f++):f++;else{e=Math.min(a.length,c);for(let g=0,h;g<e;g++)if(h=a[g])f=N(h,b,c,d,e),d||f||delete a[g]}else for(let g in a)(f=N(a[g],b,c,d,e))||delete a[g];return f}t.searchCache=oa;
|
||||
t.export=function(a,b,c,d,e){let f,g;switch(e||(e=0)){case 0:f="reg";if(this.m){g=v();for(let h in this.register)g[h]=1}else g=this.register;break;case 1:f="cfg";g={doc:0,opt:this.s?1:0};break;case 2:f="map";g=this.map;break;case 3:f="ctx";g=this.h;break;default:return}ra(a,b||this,c?c+"."+f:f,d,e,g);return!0};t.import=function(a,b){if(b)switch(x(b)&&(b=JSON.parse(b)),a){case "cfg":this.s=!!b.opt;break;case "reg":this.m=!1;this.register=b;break;case "map":this.map=b;break;case "ctx":this.h=b}};la(K.prototype);function va(a){a=a.data;var b=self._index;const c=a.args;var d=a.task;switch(d){case "init":d=a.options||{};a=a.factory;b=d.encode;d.cache=!1;b&&0===b.indexOf("function")&&(d.encode=Function("return "+b)());a?(Function("return "+a)()(self),self._index=new self.FlexSearch.Index(d),delete self.FlexSearch):self._index=new K(d);break;default:a=a.id,b=b[d].apply(b,c),postMessage("search"===d?{id:a,msg:b}:{id:a})}};let wa=0;function O(a){if(!(this instanceof O))return new O(a);var b;a?D(b=a.encode)&&(a.encode=b.toString()):a={};(b=(self||window)._factory)&&(b=b.toString());const c=self.exports,d=this;this.o=xa(b,c,a.worker);this.h=v();if(this.o){if(c)this.o.on("message",function(e){d.h[e.id](e.msg);delete d.h[e.id]});else this.o.onmessage=function(e){e=e.data;d.h[e.id](e.msg);delete d.h[e.id]};this.o.postMessage({task:"init",factory:b,options:a})}}P("add");P("append");P("search");P("update");P("remove");
|
||||
function P(a){O.prototype[a]=O.prototype[a+"Async"]=function(){const b=this,c=[].slice.call(arguments);var d=c[c.length-1];let e;D(d)&&(e=d,c.splice(c.length-1,1));d=new Promise(function(f){setTimeout(function(){b.h[++wa]=f;b.o.postMessage({task:a,id:wa,args:c})})});return e?(d.then(e),this):d}}
|
||||
function xa(a,b,c){let d;try{d=b?eval('new (require("worker_threads")["Worker"])("../dist/node/node.js")'):a?new Worker(URL.createObjectURL(new Blob(["onmessage="+va.toString()],{type:"text/javascript"}))):new Worker(x(c)?c:"worker/worker.js",{type:"module"})}catch(e){}return d};function Q(a){if(!(this instanceof Q))return new Q(a);var b=a.document||a.doc||a,c;this.K=[];this.h=[];this.A=[];this.register=v();this.key=(c=b.key||b.id)&&S(c,this.A)||"id";this.m=u(a.fastupdate);this.C=(c=b.store)&&!0!==c&&[];this.store=c&&v();this.I=(c=b.tag)&&S(c,this.A);this.l=c&&v();this.cache=(c=a.cache)&&new J(c);a.cache=!1;this.o=a.worker;this.async=!1;c=v();let d=b.index||b.field||b;x(d)&&(d=[d]);for(let e=0,f,g;e<d.length;e++)f=d[e],x(f)||(g=f,f=f.field),g=C(g)?Object.assign({},a,g):a,
|
||||
this.o&&(c[f]=new O(g),c[f].o||(this.o=!1)),this.o||(c[f]=new K(g,this.register)),this.K[e]=S(f,this.A),this.h[e]=f;if(this.C)for(a=b.store,x(a)&&(a=[a]),b=0;b<a.length;b++)this.C[b]=S(a[b],this.A);this.index=c}function S(a,b){const c=a.split(":");let d=0;for(let e=0;e<c.length;e++)a=c[e],0<=a.indexOf("[]")&&(a=a.substring(0,a.length-2))&&(b[d]=!0),a&&(c[d++]=a);d<c.length&&(c.length=d);return 1<d?c:c[0]}function T(a,b){if(x(b))a=a[b];else for(let c=0;a&&c<b.length;c++)a=a[b[c]];return a}
|
||||
function U(a,b,c,d,e){a=a[e];if(d===c.length-1)b[e]=a;else if(a)if(a.constructor===Array)for(b=b[e]=Array(a.length),e=0;e<a.length;e++)U(a,b,c,d,e);else b=b[e]||(b[e]=v()),e=c[++d],U(a,b,c,d,e)}function V(a,b,c,d,e,f,g,h){if(a=a[g])if(d===b.length-1){if(a.constructor===Array){if(c[d]){for(b=0;b<a.length;b++)e.add(f,a[b],!0,!0);return}a=a.join(" ")}e.add(f,a,h,!0)}else if(a.constructor===Array)for(g=0;g<a.length;g++)V(a,b,c,d,e,f,g,h);else g=b[++d],V(a,b,c,d,e,f,g,h)}t=Q.prototype;
|
||||
t.add=function(a,b,c){C(a)&&(b=a,a=T(b,this.key));if(b&&(a||0===a)){if(!c&&this.register[a])return this.update(a,b);for(let d=0,e,f;d<this.h.length;d++)f=this.h[d],e=this.K[d],x(e)&&(e=[e]),V(b,e,this.A,0,this.index[f],a,e[0],c);if(this.I){let d=T(b,this.I),e=v();x(d)&&(d=[d]);for(let f=0,g,h;f<d.length;f++)if(g=d[f],!e[g]&&(e[g]=1,h=this.l[g]||(this.l[g]=[]),!c||-1===h.indexOf(a)))if(h[h.length]=a,this.m){const k=this.register[a]||(this.register[a]=[]);k[k.length]=h}}if(this.store&&(!c||!this.store[a])){let d;
|
||||
if(this.C){d=v();for(let e=0,f;e<this.C.length;e++)f=this.C[e],x(f)?d[f]=b[f]:U(b,d,f,0,f[0])}this.store[a]=d||b}}return this};t.append=function(a,b){return this.add(a,b,!0)};t.update=function(a,b){return this.remove(a).add(a,b)};
|
||||
t.remove=function(a){C(a)&&(a=T(a,this.key));if(this.register[a]){for(var b=0;b<this.h.length&&(this.index[this.h[b]].remove(a,!this.o),!this.m);b++);if(this.I&&!this.m)for(let c in this.l){b=this.l[c];const d=b.indexOf(a);-1!==d&&(1<b.length?b.splice(d,1):delete this.l[c])}this.store&&delete this.store[a];delete this.register[a]}return this};
|
||||
t.search=function(a,b,c,d){c||(!b&&C(a)?(c=a,a=c.query):C(b)&&(c=b,b=0));let e=[],f=[],g,h,k,m,n,w,q=0;if(c)if(c.constructor===Array)k=c,c=null;else{k=(g=c.pluck)||c.index||c.field;m=c.tag;h=this.store&&c.enrich;n="and"===c.bool;b=c.limit||100;w=c.offset||0;if(m&&(x(m)&&(m=[m]),!a)){for(let l=0,p;l<m.length;l++)if(p=ya.call(this,m[l],b,w,h))e[e.length]=p,q++;return q?e:[]}x(k)&&(k=[k])}k||(k=this.h);n=n&&(1<k.length||m&&1<m.length);const r=!d&&(this.o||this.async)&&[];for(let l=0,p,z,B;l<k.length;l++){let A;
|
||||
z=k[l];x(z)||(A=z,z=z.field);if(r)r[l]=this.index[z].searchAsync(a,b,A||c);else{d?p=d[l]:p=this.index[z].search(a,b,A||c);B=p&&p.length;if(m&&B){const y=[];let H=0;n&&(y[0]=[p]);for(let X=0,pa,R;X<m.length;X++)if(pa=m[X],B=(R=this.l[pa])&&R.length)H++,y[y.length]=n?[R]:R;H&&(p=n?ma(y,b||100,w||0):na(p,y),B=p.length)}if(B)f[q]=z,e[q++]=p;else if(n)return[]}}if(r){const l=this;return new Promise(function(p){Promise.all(r).then(function(z){p(l.search(a,b,c,z))})})}if(!q)return[];if(g&&(!h||!this.store))return e[0];
|
||||
for(let l=0,p;l<f.length;l++){p=e[l];p.length&&h&&(p=za.call(this,p));if(g)return p;e[l]={field:f[l],result:p}}return e};function ya(a,b,c,d){let e=this.l[a],f=e&&e.length-c;if(f&&0<f){if(f>b||c)e=e.slice(c,c+b);d&&(e=za.call(this,e));return{tag:a,result:e}}}function za(a){const b=Array(a.length);for(let c=0,d;c<a.length;c++)d=a[c],b[c]={id:d,doc:this.store[d]};return b}t.contain=function(a){return!!this.register[a]};t.get=function(a){return this.store[a]};t.set=function(a,b){this.store[a]=b;return this};
|
||||
t.searchCache=oa;t.export=function(a,b,c,d,e){e||(e=0);d||(d=0);if(d<this.h.length){const f=this.h[d],g=this.index[f];b=this;setTimeout(function(){g.export(a,b,e?f.replace(":","-"):"",d,e++)||(d++,e=1,b.export(a,b,f,d,e))})}else{let f;switch(e){case 1:c="tag";f=this.l;break;case 2:c="store";f=this.store;break;default:return}ra(a,this,c,d,e,f)}};
|
||||
t.import=function(a,b){if(b)switch(x(b)&&(b=JSON.parse(b)),a){case "tag":this.l=b;break;case "reg":this.m=!1;this.register=b;for(let d=0,e;d<this.h.length;d++)e=this.index[this.h[d]],e.register=b,e.m=!1;break;case "store":this.store=b;break;default:a=a.split(".");const c=a[0];a=a[1];c&&a&&this.index[c].import(a,b)}};la(Q.prototype);var Ba={encode:Aa,F:!1,G:""};const Ca=[F("[\u00e0\u00e1\u00e2\u00e3\u00e4\u00e5]"),"a",F("[\u00e8\u00e9\u00ea\u00eb]"),"e",F("[\u00ec\u00ed\u00ee\u00ef]"),"i",F("[\u00f2\u00f3\u00f4\u00f5\u00f6\u0151]"),"o",F("[\u00f9\u00fa\u00fb\u00fc\u0171]"),"u",F("[\u00fd\u0177\u00ff]"),"y",F("\u00f1"),"n",F("[\u00e7c]"),"k",F("\u00df"),"s",F(" & ")," and "];function Aa(a){var b=a;b.normalize&&(b=b.normalize("NFD").replace(ea,""));return ca.call(this,b.toLowerCase(),!a.normalize&&Ca)};var Ea={encode:Da,F:!1,G:"strict"};const Fa=/[^a-z0-9]+/,Ga={b:"p",v:"f",w:"f",z:"s",x:"s","\u00df":"s",d:"t",n:"m",c:"k",g:"k",j:"k",q:"k",i:"e",y:"e",u:"o"};function Da(a){a=Aa.call(this,a).join(" ");const b=[];if(a){const c=a.split(Fa),d=c.length;for(let e=0,f,g=0;e<d;e++)if((a=c[e])&&(!this.filter||!this.filter[a])){f=a[0];let h=Ga[f]||f,k=h;for(let m=1;m<a.length;m++){f=a[m];const n=Ga[f]||f;n&&n!==k&&(h+=n,k=n)}b[g++]=h}}return b};var Ia={encode:Ha,F:!1,G:""};const Ja=[F("ae"),"a",F("oe"),"o",F("sh"),"s",F("th"),"t",F("ph"),"f",F("pf"),"f",F("(?![aeo])h(?![aeo])"),"",F("(?!^[aeo])h(?!^[aeo])"),""];function Ha(a,b){a&&(a=Da.call(this,a).join(" "),2<a.length&&(a=E(a,Ja)),b||(1<a.length&&(a=ha(a)),a&&(a=a.split(" "))));return a};var La={encode:Ka,F:!1,G:""};const Ma=F("(?!\\b)[aeo]");function Ka(a){a&&(a=Ha.call(this,a,!0),1<a.length&&(a=a.replace(Ma,"")),1<a.length&&(a=ha(a)),a&&(a=a.split(" ")));return a};G["latin:default"]=ja;G["latin:simple"]=Ba;G["latin:balance"]=Ea;G["latin:advanced"]=Ia;G["latin:extra"]=La;const W=self;let Y;const Z={Index:K,Document:Q,Worker:O,registerCharset:function(a,b){G[a]=b},registerLanguage:function(a,b){ka[a]=b}};(Y=W.define)&&Y.amd?Y([],function(){return Z}):W.exports?W.exports=Z:W.FlexSearch=Z;}(this));
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["out-editor/vs/base/worker/fake","out-editor/vs/base/worker/vs/loader.js","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/diff/diffChange.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/errors.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/functional.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/iterator.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/keyCodes.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/lifecycle.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/linkedList.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/platform.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/process.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/path.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/stopwatch.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/event.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/cancellation.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/strings.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/hash.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/diff/diff.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/types.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/uint.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/uri.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/worker/simpleWorker.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/editor/common/core/characterClassifier.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/editor/common/core/position.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/editor/common/core/range.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/editor/common/core/selection.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/editor/common/core/token.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/editor/common/diff/diffComputer.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/editor/common/model/wordHelper.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/editor/common/modes/linkComputer.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/editor/common/modes/supports/inplaceReplaceSupport.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/editor/common/standalone/standaloneEnums.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/editor/common/standalone/standaloneBase.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/editor/common/viewModel/prefixSumComputer.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/editor/common/model/mirrorTextModel.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/editor/common/services/editorSimpleWorker.ts","out-editor/vs/base/worker/file:/Users/alex/src/vscode2/out-editor-src/vs/base/worker/workerMain.ts"],"sourcesContent":["}).call(this);","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n'use strict';\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n/*---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n *------------------------------------------------------------------------------Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["out-editor/vs/editor/fake","out-editor/vs/editor/vs/css.js","out-editor/vs/editor/vs/nls.js","out-editor/vs/editor/vs/base/browser/dompurify/dompurify.js","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/browser/fastDomNode.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/browser/iframe.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/browser/ui/list/list.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/browser/ui/list/splice.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/browser/ui/scrollbar/scrollbarState.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/browser/ui/tree/tree.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/arrays.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/assert.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/buffer.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/collections.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/color.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/decorators.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/diff/diffChange.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/errors.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/functional.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/idGenerator.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/iterator.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/keyCodes.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/keybindings.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/lazy.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/lifecycle.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/linkedList.ts","out-editor/vs/editor/vs/base/common/marked/marked.js","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/navigator.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/history.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/numbers.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/platform.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/process.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/path.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/range.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/browser/ui/list/rangeMap.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/stopwatch.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/event.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/browser/browser.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/browser/canIUse.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/browser/event.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/browser/keyboardEvent.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/browser/mouseEvent.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/cancellation.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/async.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/codicons.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/browser/ui/tree/treeIcons.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/comparers.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/scrollable.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/strings.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/extpath.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/hash.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/common/diff/diff.ts","out-editor/vs/editor/file:/Users/alex/src/vscode2/out-editor-src/vs/base/browser/ui/tree/indexTreeModel.ts","out-editor/vs/editor/file:/Users/alex/src/vscLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["out-editor/vs/editor/editor.main.nls.de.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.30.0(8507f3abc71412b9d5c822d0ae372b8dc87a796f)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\ndefine(\"vs/editor/editor.main.nls.de\", {\n\t\"vs/base/browser/ui/actionbar/actionViewItems\": [\n\t\t\"{0} ({1})\",\n\t],\n\t\"vs/base/browser/ui/findinput/findInput\": [\n\t\t\"Eingabe\",\n\t],\n\t\"vs/base/browser/ui/findinput/findInputCheckboxes\": [\n\t\t\"Groß-/Kleinschreibung beachten\",\n\t\t\"Nur ganzes Wort suchen\",\n\t\t\"Regulären Ausdruck verwenden\",\n\t],\n\t\"vs/base/browser/ui/findinput/replaceInput\": [\n\t\t\"Eingabe\",\n\t\t\"Groß-/Kleinschreibung beibehalten\",\n\t],\n\t\"vs/base/browser/ui/iconLabel/iconLabelHover\": [\n\t\t\"Wird geladen...\",\n\t],\n\t\"vs/base/browser/ui/inputbox/inputBox\": [\n\t\t\"Fehler: {0}\",\n\t\t\"Warnung: {0}\",\n\t\t\"Info: {0}\",\n\t\t\"für Verlauf\",\n\t],\n\t\"vs/base/browser/ui/keybindingLabel/keybindingLabel\": [\n\t\t\"Ungebunden\",\n\t],\n\t\"vs/base/browser/ui/menu/menu\": [\n\t\t\"{0} ({1})\",\n\t],\n\t\"vs/base/browser/ui/tree/abstractTree\": [\n\t\t\"Löschen\",\n\t\t\"Typfilter deaktivieren\",\n\t\t\"Typfilter aktivieren\",\n\t\t\"Keine Elemente gefunden\",\n\t\t\"{0} von {1} Elementen stimmen überein\",\n\t],\n\t\"vs/base/common/actions\": [\n\t\t\"(leer)\",\n\t],\n\t\"vs/base/common/errorMessage\": [\n\t\t\"{0}: {1}\",\n\t\t\"Ein Systemfehler ist aufgetreten ({0}).\",\n\t\t\"Ein unbekannter Fehler ist aufgetreten. Weitere Details dazu finden Sie im Protokoll.\",\n\t\t\"Ein unbekannter Fehler ist aufgetreten. Weitere Details dazu finden Sie im Protokoll.\",\n\t\t\"{0} ({1} Fehler gesamt)\",\n\t\t\"Ein unbekannter Fehler ist aufgetreten. Weitere Details dazu finden Sie im Protokoll.\",\n\t],\n\t\"vs/base/common/keybindingLabels\": [\n\t\t\"STRG\",\n\t\t\"UMSCHALTTASTE\",\n\t\t\"ALT\",\n\t\t\"Windows\",\n\t\t\"STRG\",\n\t\t\"UMSCHALTTASTE\",\n\t\t\"ALT\",\n\t\t\"Super\",\n\t\t\"Steuern\",\n\t\t\"UMSCHALTTASTE\",\n\t\t\"ALT\",\n\t\t\"Befehl\",\n\t\t\"Steuern\",\n\t\t\"UMSCHALTTASTE\",\n\t\t\"ALT\",\n\t\t\"Windows\",\n\t\t\"Steuern\",\n\t\t\"UMSCHALTTASTE\",\n\t\t\"ALT\",\n\t\t\"Super\",\n\t],\n\t\"vs/base/parts/quickinput/browser/quickInput\": [\n\t\t\"Zurück\",\n\t\t\"Drücken Sie die EINGABETASTE, um Ihre Eingabe zu bestätigen, oder ESC, um den Vorgang abzubrechen.\",\n\t\t\"{0}/{1}\",\n\t\t\"Nehmen Sie eine Eingabe vor, um die Ergebnisse einzugrenzen.\",\n\t\t\"{0} Ergebnisse\",\n\t\t\"{0} ausgewählt\",\n\t\t\"OK\",\n\t\t\"Benutzerdefiniert\",\n\t\t\"Zurück ({0})\",\n\t\t\"Zurück\",\n\t],\n\t\"vs/base/parts/quickinput/browser/quickInputList\": [\n\t\t\"Schnelleingabe\",\n\t],\n\t\"vs/editor/browser/controller/coreCommands\": [\n\t\t\"Auch bei längeren Zeilen am Ende bleiben\",\n\t\t\"Auch bei längeren Zeilen am Ende bleiben\",\n\t\t\"Sekundäre Cursor entfernt\",\n\t],\n\t\"vs/editor/browser/controller/textAreaHandler\": [\n\t\t\"Editor\",\n\t\t\"Auf den Editor kann derzeit nicht zugegriffen werden. Drücken Sie {0}, um die Optionen anzuzeigen.\",\n\t],\n\t\"vs/editor/browser/core/keybindingCancellation\": [\n\t\t\"Gibt an, ob der Editor einen abbrechbaren Vorgang ausführt, z. B. \\\"Verweisvorschau\\\".\",\n\t],\n\t\"vs/editor/browser/editorExtensions\": [\n\t\t\"&&Rückgängig\",\n\t\t\"Rückgängig\",\n\t\t\"&&Wiederholen\",\n\t\t\"Wiederholen\",\n\t\t\"&&Alles auswählen\",\n\t\t\"Alle auswählen\",\n\t],\n\t\"vs/editor/browser/widget/codeEditorWidget\": [\n\t\t\"Die Anzahl der Cursors wurde auf {0} beschränkt.\",\n\t],\n\t\"vs/editor/browser/widget/diffEditorWidget\": [\n\t\t\"Zeilenformatierung für Einfügungen im Diff-Editor\",\n\t\t\"Zeilenformatierung für Entfernungen im Diff-Editor\",\n\t\t\"Kann die Dateien nicht vergleichen, da eine Datei zu groß ist.\",\n\t],\n\t\"vs/editor/browser/widget/diffReview\": [\n\t\t\"Symbol für \\\"Einfügen\\\" in der Diff-Überprüfung.\",\n\t\t\"Symbol für \\\"Entfernen\\\" in der Diff-Überprüfung.\",\n\t\t\"Symbol für \\\"Schließen\\\" in der Diff-Überprüfung.\",\n\t\t\"Schließen\",\n\t\t\"keine geänderten Zeilen\",\n\t\t\"1 Zeile geändert\",\n\t\t\"{0} Zeilen geändert\",\n\t\t\"Unterschied {0} von {1}: ursprüngliche Zeile {2}, {3}, geänderte Zeile {4}, {5}\",\n\t\t\"leer\",\n\t\t\"{0}: unveränderte Zeile {1}\",\n\t\t\"{0} ursprüngliche Zeile {1} geänderte Zeile {2}\",\n\t\t\"+ {0} geänderte Zeile(n) {1}\",\n\t\t\"– {0} Originalzeile {1}\",\n\t\t\"Zum nächsten Unterschied wechseln\",\n\t\t\"Zum vorherigen Unterschied wechseln\",\n\t],\n\t\"vs/editor/browser/widget/inlineDiffMargin\": [\n\t\t\"Gelöschte Zeilen kopieren\",\n\t\t\"Gelöschte Zeile kopieren\",\n\t\t\"Geänderte Zeilen kopieren\",\n\t\t\"Geänderte Zeile kopierenLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["out-editor/vs/editor/editor.main.nls.es.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.30.0(8507f3abc71412b9d5c822d0ae372b8dc87a796f)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\ndefine(\"vs/editor/editor.main.nls.es\", {\n\t\"vs/base/browser/ui/actionbar/actionViewItems\": [\n\t\t\"{0} ({1})\",\n\t],\n\t\"vs/base/browser/ui/findinput/findInput\": [\n\t\t\"entrada\",\n\t],\n\t\"vs/base/browser/ui/findinput/findInputCheckboxes\": [\n\t\t\"Coincidir mayúsculas y minúsculas\",\n\t\t\"Solo palabras completas\",\n\t\t\"Usar expresión regular\",\n\t],\n\t\"vs/base/browser/ui/findinput/replaceInput\": [\n\t\t\"entrada\",\n\t\t\"Conservar may/min\",\n\t],\n\t\"vs/base/browser/ui/iconLabel/iconLabelHover\": [\n\t\t\"Cargando...\",\n\t],\n\t\"vs/base/browser/ui/inputbox/inputBox\": [\n\t\t\"Error: {0}\",\n\t\t\"Advertencia: {0}\",\n\t\t\"Información: {0}\",\n\t\t\"para el historial\",\n\t],\n\t\"vs/base/browser/ui/keybindingLabel/keybindingLabel\": [\n\t\t\"Sin enlazar\",\n\t],\n\t\"vs/base/browser/ui/menu/menu\": [\n\t\t\"{0} ({1})\",\n\t],\n\t\"vs/base/browser/ui/tree/abstractTree\": [\n\t\t\"Borrar\",\n\t\t\"Desactivar filtro en tipo\",\n\t\t\"Activar filtro en el tipo\",\n\t\t\"No se encontraron elementos\",\n\t\t\"{0} de {1} elementos coincidentes\",\n\t],\n\t\"vs/base/common/actions\": [\n\t\t\"(vacío)\",\n\t],\n\t\"vs/base/common/errorMessage\": [\n\t\t\"{0}: {1}\",\n\t\t\"Error del sistema ({0})\",\n\t\t\"Se ha producido un error desconocido. Consulte el registro para obtener más detalles.\",\n\t\t\"Se ha producido un error desconocido. Consulte el registro para obtener más detalles.\",\n\t\t\"{0} ({1} errores en total)\",\n\t\t\"Se ha producido un error desconocido. Consulte el registro para obtener más detalles.\",\n\t],\n\t\"vs/base/common/keybindingLabels\": [\n\t\t\"Ctrl\",\n\t\t\"Mayús\",\n\t\t\"Alt\",\n\t\t\"Windows\",\n\t\t\"Ctrl\",\n\t\t\"Mayús\",\n\t\t\"Alt\",\n\t\t\"Super\",\n\t\t\"Control\",\n\t\t\"Mayús\",\n\t\t\"Alt\",\n\t\t\"Comando\",\n\t\t\"Control\",\n\t\t\"Mayús\",\n\t\t\"Alt\",\n\t\t\"Windows\",\n\t\t\"Control\",\n\t\t\"Mayús\",\n\t\t\"Alt\",\n\t\t\"Super\",\n\t],\n\t\"vs/base/parts/quickinput/browser/quickInput\": [\n\t\t\"Atrás\",\n\t\t\"Presione \\\"Entrar\\\" para confirmar su entrada o \\\"Esc\\\" para cancelar\",\n\t\t\"{0}/{1}\",\n\t\t\"Escriba para restringir los resultados.\",\n\t\t\"{0} resultados\",\n\t\t\"{0} seleccionados\",\n\t\t\"Aceptar\",\n\t\t\"Personalizado\",\n\t\t\"Atrás ({0})\",\n\t\t\"Atrás\",\n\t],\n\t\"vs/base/parts/quickinput/browser/quickInputList\": [\n\t\t\"Entrada rápida\",\n\t],\n\t\"vs/editor/browser/controller/coreCommands\": [\n\t\t\"Anclar al final incluso cuando se vayan a líneas más largas\",\n\t\t\"Anclar al final incluso cuando se vayan a líneas más largas\",\n\t\t\"Cursores secundarios quitados\",\n\t],\n\t\"vs/editor/browser/controller/textAreaHandler\": [\n\t\t\"editor\",\n\t\t\"El editor no es accesible en este momento. Pulse {0} para ver las opciones.\",\n\t],\n\t\"vs/editor/browser/core/keybindingCancellation\": [\n\t\t\"Indica si el editor ejecuta una operación que se puede cancelar como, por ejemplo, \\\"Inspeccionar referencias\\\"\",\n\t],\n\t\"vs/editor/browser/editorExtensions\": [\n\t\t\"&&Deshacer\",\n\t\t\"Deshacer\",\n\t\t\"&&Rehacer\",\n\t\t\"Rehacer\",\n\t\t\"&&Seleccionar todo\",\n\t\t\"Seleccionar todo\",\n\t],\n\t\"vs/editor/browser/widget/codeEditorWidget\": [\n\t\t\"El número de cursores se ha limitado a {0}.\",\n\t],\n\t\"vs/editor/browser/widget/diffEditorWidget\": [\n\t\t\"Decoración de línea para las inserciones en el editor de diferencias.\",\n\t\t\"Decoración de línea para las eliminaciones en el editor de diferencias.\",\n\t\t\"Los archivos no se pueden comparar porque uno de ellos es demasiado grande.\",\n\t],\n\t\"vs/editor/browser/widget/diffReview\": [\n\t\t\"Icono para \\\"Insertar\\\" en la revisión de diferencias.\",\n\t\t\"Icono para \\\"Quitar\\\" en la revisión de diferencias.\",\n\t\t\"Icono para \\\"Cerrar\\\" en la revisión de diferencias.\",\n\t\t\"Cerrar\",\n\t\t\"no se han cambiado líneas\",\n\t\t\"1 línea cambiada\",\n\t\t\"{0} líneas cambiadas\",\n\t\t\"Diferencia {0} de {1}: línea original {2}, {3}, línea modificada {4}, {5}\",\n\t\t\"vacío\",\n\t\t\"{0} línea sin cambios {1}\",\n\t\t\"{0} línea original {1} línea modificada {2}\",\n\t\t\"+ {0} línea modificada {1}\",\n\t\t\"- {0} línea original {1}\",\n\t\t\"Ir a la siguiente diferencia\",\n\t\t\"Ir a la diferencia anterior\",\n\t],\n\t\"vs/editor/browser/widget/inlineDiffMargin\": [\n\t\t\"Copiar líneas eliminadas\",\n\t\t\"Copiar línea eliminada\",\n\t\t\"Copiar líneas cambiadas\",\n\t\t\"Copiar línea cambiada\",\n\t\t\"Copiar la línea eliminada (Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["out-editor/vs/editor/editor.main.nls.fr.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.30.0(8507f3abc71412b9d5c822d0ae372b8dc87a796f)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\ndefine(\"vs/editor/editor.main.nls.fr\", {\n\t\"vs/base/browser/ui/actionbar/actionViewItems\": [\n\t\t\"{0} ({1})\",\n\t],\n\t\"vs/base/browser/ui/findinput/findInput\": [\n\t\t\"entrée\",\n\t],\n\t\"vs/base/browser/ui/findinput/findInputCheckboxes\": [\n\t\t\"Respecter la casse\",\n\t\t\"Mot entier\",\n\t\t\"Utiliser une expression régulière\",\n\t],\n\t\"vs/base/browser/ui/findinput/replaceInput\": [\n\t\t\"entrée\",\n\t\t\"Préserver la casse\",\n\t],\n\t\"vs/base/browser/ui/iconLabel/iconLabelHover\": [\n\t\t\"Chargement...\",\n\t],\n\t\"vs/base/browser/ui/inputbox/inputBox\": [\n\t\t\"Erreur : {0}\",\n\t\t\"Avertissement : {0}\",\n\t\t\"Info : {0}\",\n\t\t\"pour l’historique\",\n\t],\n\t\"vs/base/browser/ui/keybindingLabel/keybindingLabel\": [\n\t\t\"Indépendant\",\n\t],\n\t\"vs/base/browser/ui/menu/menu\": [\n\t\t\"{0} ({1})\",\n\t],\n\t\"vs/base/browser/ui/tree/abstractTree\": [\n\t\t\"Effacer\",\n\t\t\"Désactiver le filtre sur le type\",\n\t\t\"Activer le filtre sur le type\",\n\t\t\"Aucun élément\",\n\t\t\"{0} éléments sur {1} correspondants\",\n\t],\n\t\"vs/base/common/actions\": [\n\t\t\"(vide)\",\n\t],\n\t\"vs/base/common/errorMessage\": [\n\t\t\"{0}: {1}\",\n\t\t\"Une erreur système s\\'est produite ({0})\",\n\t\t\"Une erreur inconnue s’est produite. Veuillez consulter le journal pour plus de détails.\",\n\t\t\"Une erreur inconnue s’est produite. Veuillez consulter le journal pour plus de détails.\",\n\t\t\"{0} ({1} erreurs au total)\",\n\t\t\"Une erreur inconnue s’est produite. Veuillez consulter le journal pour plus de détails.\",\n\t],\n\t\"vs/base/common/keybindingLabels\": [\n\t\t\"Ctrl\",\n\t\t\"Maj\",\n\t\t\"Alt\",\n\t\t\"Windows\",\n\t\t\"Ctrl\",\n\t\t\"Maj\",\n\t\t\"Alt\",\n\t\t\"Super\",\n\t\t\"Contrôle\",\n\t\t\"Maj\",\n\t\t\"Alt\",\n\t\t\"Commande\",\n\t\t\"Contrôle\",\n\t\t\"Maj\",\n\t\t\"Alt\",\n\t\t\"Windows\",\n\t\t\"Contrôle\",\n\t\t\"Maj\",\n\t\t\"Alt\",\n\t\t\"Super\",\n\t],\n\t\"vs/base/parts/quickinput/browser/quickInput\": [\n\t\t\"Précédent\",\n\t\t\"Appuyez sur \\'Entrée\\' pour confirmer votre saisie, ou sur \\'Échap\\' pour l\\'annuler\",\n\t\t\"{0}/{1}\",\n\t\t\"Taper pour affiner les résultats.\",\n\t\t\"{0} résultats\",\n\t\t\"{0} Sélectionnés\",\n\t\t\"OK\",\n\t\t\"Personnalisé\",\n\t\t\"Précédent ({0})\",\n\t\t\"Précédent\",\n\t],\n\t\"vs/base/parts/quickinput/browser/quickInputList\": [\n\t\t\"Entrée rapide\",\n\t],\n\t\"vs/editor/browser/controller/coreCommands\": [\n\t\t\"Aligner par rapport à la fin même en cas de passage à des lignes plus longues\",\n\t\t\"Aligner par rapport à la fin même en cas de passage à des lignes plus longues\",\n\t\t\"Curseurs secondaires supprimés\",\n\t],\n\t\"vs/editor/browser/controller/textAreaHandler\": [\n\t\t\"éditeur\",\n\t\t\"L\\'éditeur n\\'est pas accessible pour le moment. Appuyez sur {0} pour voir les options.\",\n\t],\n\t\"vs/editor/browser/core/keybindingCancellation\": [\n\t\t\"Indique si l\\'éditeur exécute une opération annulable, par exemple \\'Avoir un aperçu des références\\'\",\n\t],\n\t\"vs/editor/browser/editorExtensions\": [\n\t\t\"Ann&&uler\",\n\t\t\"Annuler\",\n\t\t\"&&Rétablir\",\n\t\t\"Rétablir\",\n\t\t\"&&Sélectionner tout\",\n\t\t\"Tout sélectionner\",\n\t],\n\t\"vs/editor/browser/widget/codeEditorWidget\": [\n\t\t\"Le nombre de curseurs a été limité à {0}.\",\n\t],\n\t\"vs/editor/browser/widget/diffEditorWidget\": [\n\t\t\"Élément décoratif de ligne pour les insertions dans l\\'éditeur de différences.\",\n\t\t\"Élément décoratif de ligne pour les suppressions dans l\\'éditeur de différences.\",\n\t\t\"Impossible de comparer les fichiers car l\\'un d\\'eux est trop volumineux.\",\n\t],\n\t\"vs/editor/browser/widget/diffReview\": [\n\t\t\"Icône de l\\'option Insérer dans la revue des différences.\",\n\t\t\"Icône de l\\'option Supprimer dans la revue des différences.\",\n\t\t\"Icône de l\\'option Fermer dans la revue des différences.\",\n\t\t\"Fermer\",\n\t\t\"aucune ligne changée\",\n\t\t\"1 ligne changée\",\n\t\t\"{0} lignes changées\",\n\t\t\"Différence {0} sur {1} : ligne d\\'origine {2}, {3}, ligne modifiée {4}, {5}\",\n\t\t\"vide\",\n\t\t\"{0} ligne inchangée {1}\",\n\t\t\"{0} ligne d\\'origine {1} ligne modifiée {2}\",\n\t\t\"+ {0} ligne modifiée {1}\",\n\t\t\"- {0} ligne d\\'origine {1}\",\n\t\t\"Accéder à la différence suivante\",\n\t\t\"Accéder la différence précédente\",\n\t],\n\t\"vs/editor/browser/widget/inlineDiffMargin\": [\n\t\t\"Copier les lignes Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["out-editor/vs/editor/editor.main.nls.it.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.30.0(8507f3abc71412b9d5c822d0ae372b8dc87a796f)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\ndefine(\"vs/editor/editor.main.nls.it\", {\n\t\"vs/base/browser/ui/actionbar/actionViewItems\": [\n\t\t\"{0} ({1})\",\n\t],\n\t\"vs/base/browser/ui/findinput/findInput\": [\n\t\t\"input\",\n\t],\n\t\"vs/base/browser/ui/findinput/findInputCheckboxes\": [\n\t\t\"Maiuscole/minuscole\",\n\t\t\"Parola intera\",\n\t\t\"Usa espressione regolare\",\n\t],\n\t\"vs/base/browser/ui/findinput/replaceInput\": [\n\t\t\"input\",\n\t\t\"Mantieni maiuscole/minuscole\",\n\t],\n\t\"vs/base/browser/ui/iconLabel/iconLabelHover\": [\n\t\t\"Caricamento...\",\n\t],\n\t\"vs/base/browser/ui/inputbox/inputBox\": [\n\t\t\"Errore: {0}\",\n\t\t\"Avviso: {0}\",\n\t\t\"Info: {0}\",\n\t\t\"per la cronologia\",\n\t],\n\t\"vs/base/browser/ui/keybindingLabel/keybindingLabel\": [\n\t\t\"Non associato\",\n\t],\n\t\"vs/base/browser/ui/menu/menu\": [\n\t\t\"{0} ({1})\",\n\t],\n\t\"vs/base/browser/ui/tree/abstractTree\": [\n\t\t\"Cancella\",\n\t\t\"Disabilita filtro sul tipo\",\n\t\t\"Abilita filtro sul tipo\",\n\t\t\"Non sono stati trovati elementi\",\n\t\t\"Abbinamento di {0} su {1} elementi\",\n\t],\n\t\"vs/base/common/actions\": [\n\t\t\"(vuoto)\",\n\t],\n\t\"vs/base/common/errorMessage\": [\n\t\t\"{0}: {1}\",\n\t\t\"Si è verificato un errore di sistema ({0})\",\n\t\t\"Si è verificato un errore sconosciuto. Per altri dettagli, vedere il log.\",\n\t\t\"Si è verificato un errore sconosciuto. Per altri dettagli, vedere il log.\",\n\t\t\"{0} ({1} errori in totale)\",\n\t\t\"Si è verificato un errore sconosciuto. Per altri dettagli, vedere il log.\",\n\t],\n\t\"vs/base/common/keybindingLabels\": [\n\t\t\"CTRL\",\n\t\t\"MAIUSC\",\n\t\t\"ALT\",\n\t\t\"Windows\",\n\t\t\"CTRL\",\n\t\t\"MAIUSC\",\n\t\t\"ALT\",\n\t\t\"Super\",\n\t\t\"CTRL\",\n\t\t\"MAIUSC\",\n\t\t\"ALT\",\n\t\t\"Comando\",\n\t\t\"CTRL\",\n\t\t\"MAIUSC\",\n\t\t\"ALT\",\n\t\t\"Windows\",\n\t\t\"CTRL\",\n\t\t\"MAIUSC\",\n\t\t\"ALT\",\n\t\t\"Super\",\n\t],\n\t\"vs/base/parts/quickinput/browser/quickInput\": [\n\t\t\"Indietro\",\n\t\t\"Premere \\'INVIO\\' per confermare l\\'input oppure \\'ESC\\' per annullare\",\n\t\t\"{0}/{1}\",\n\t\t\"Digitare per ridurre il numero di risultati.\",\n\t\t\"{0} risultati\",\n\t\t\"{0} selezionati\",\n\t\t\"OK\",\n\t\t\"Personalizzato\",\n\t\t\"Indietro ({0})\",\n\t\t\"Indietro\",\n\t],\n\t\"vs/base/parts/quickinput/browser/quickInputList\": [\n\t\t\"Input rapido\",\n\t],\n\t\"vs/editor/browser/controller/coreCommands\": [\n\t\t\"Si attiene alla fine anche quando si passa a righe più lunghe\",\n\t\t\"Si attiene alla fine anche quando si passa a righe più lunghe\",\n\t\t\"Cursori secondari rimossi\",\n\t],\n\t\"vs/editor/browser/controller/textAreaHandler\": [\n\t\t\"editor\",\n\t\t\"L\\'editor non è accessibile in questo momento. Premere {0} per le opzioni.\",\n\t],\n\t\"vs/editor/browser/core/keybindingCancellation\": [\n\t\t\"Indica se l\\'editor esegue un\\'operazione annullabile, ad esempio \\'Anteprima riferimenti\\'\",\n\t],\n\t\"vs/editor/browser/editorExtensions\": [\n\t\t\"&&Annulla\",\n\t\t\"Annulla azione\",\n\t\t\"&&Ripeti\",\n\t\t\"Ripeti\",\n\t\t\"&&Seleziona tutto\",\n\t\t\"Seleziona tutto\",\n\t],\n\t\"vs/editor/browser/widget/codeEditorWidget\": [\n\t\t\"Il numero di cursori è stato limitato a {0}.\",\n\t],\n\t\"vs/editor/browser/widget/diffEditorWidget\": [\n\t\t\"Effetto di riga per gli inserimenti nell\\'editor diff.\",\n\t\t\"Effetto di riga per le rimozioni nell\\'editor diff.\",\n\t\t\"Non è possibile confrontare i file perché uno è troppo grande.\",\n\t],\n\t\"vs/editor/browser/widget/diffReview\": [\n\t\t\"Icona per \\'Inserisci\\' nella revisione diff.\",\n\t\t\"Icona per \\'Rimuovi\\' nella revisione diff.\",\n\t\t\"Icona per \\'Chiudi\\' nella revisione diff.\",\n\t\t\"Chiudi\",\n\t\t\"nessuna riga modificata\",\n\t\t\"1 riga modificata\",\n\t\t\"{0} righe modificate\",\n\t\t\"Differenza {0} di {1}: riga originale {2}, {3}, riga modificata {4}, {5}\",\n\t\t\"vuota\",\n\t\t\"{0} riga non modificata {1}\",\n\t\t\"{0} riga originale {1} riga modificata {2}\",\n\t\t\"+ {0} riga modificata {1}\",\n\t\t\"- {0} riga originale {1}\",\n\t\t\"Vai alla differenza successiva\",\n\t\t\"Vai alla differenza precedente\",\n\t],\n\t\"vs/editor/browser/widget/inlineDiffMargin\": [\n\t\t\"Copia le righe eliminate\",\n\t\t\"Copia la riga eliminata\",\n\t\t\"Copia righe modificate\",\n\t\t\"Copia riga modificata\",\n\t\t\"Copia la riga eliminata ({0})\",\n\t\t\"Copia riga modificata ({0})\",\n\t\t\"Ripristina questa modifica\",\n\t\t\"Copia la riga eliminata ({0})\",\n\t\t\"Copia riga modificata ({0})\",\n\t]Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["out-editor/vs/editor/editor.main.nls.ja.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.30.0(8507f3abc71412b9d5c822d0ae372b8dc87a796f)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\ndefine(\"vs/editor/editor.main.nls.ja\", {\n\t\"vs/base/browser/ui/actionbar/actionViewItems\": [\n\t\t\"{0} ({1})\",\n\t],\n\t\"vs/base/browser/ui/findinput/findInput\": [\n\t\t\"入力\",\n\t],\n\t\"vs/base/browser/ui/findinput/findInputCheckboxes\": [\n\t\t\"大文字と小文字を区別する\",\n\t\t\"単語単位で検索する\",\n\t\t\"正規表現を使用する\",\n\t],\n\t\"vs/base/browser/ui/findinput/replaceInput\": [\n\t\t\"入力\",\n\t\t\"保持する\",\n\t],\n\t\"vs/base/browser/ui/iconLabel/iconLabelHover\": [\n\t\t\"読み込み中...\",\n\t],\n\t\"vs/base/browser/ui/inputbox/inputBox\": [\n\t\t\"エラー: {0}\",\n\t\t\"警告: {0}\",\n\t\t\"情報: {0}\",\n\t\t\"履歴対象\",\n\t],\n\t\"vs/base/browser/ui/keybindingLabel/keybindingLabel\": [\n\t\t\"バインドなし\",\n\t],\n\t\"vs/base/browser/ui/menu/menu\": [\n\t\t\"{0} ({1})\",\n\t],\n\t\"vs/base/browser/ui/tree/abstractTree\": [\n\t\t\"クリア\",\n\t\t\"型のフィルターを無効にする\",\n\t\t\"型のフィルターを有効にする\",\n\t\t\"要素が見つかりません\",\n\t\t\"{1} 個の要素のうち {0} 個の要素が一致しました\",\n\t],\n\t\"vs/base/common/actions\": [\n\t\t\"(空)\",\n\t],\n\t\"vs/base/common/errorMessage\": [\n\t\t\"{0}: {1}\",\n\t\t\"システム エラーが発生しました ({0})\",\n\t\t\"不明なエラーが発生しました。ログで詳細を確認してください。\",\n\t\t\"不明なエラーが発生しました。ログで詳細を確認してください。\",\n\t\t\"{0} (合計 {1} エラー)\",\n\t\t\"不明なエラーが発生しました。ログで詳細を確認してください。\",\n\t],\n\t\"vs/base/common/keybindingLabels\": [\n\t\t\"Ctrl\",\n\t\t\"Shift\",\n\t\t\"Alt\",\n\t\t\"Windows\",\n\t\t\"Ctrl\",\n\t\t\"Shift\",\n\t\t\"Alt\",\n\t\t\"Super\",\n\t\t\"Control\",\n\t\t\"Shift\",\n\t\t\"Alt\",\n\t\t\"コマンド\",\n\t\t\"Control\",\n\t\t\"Shift\",\n\t\t\"Alt\",\n\t\t\"Windows\",\n\t\t\"Control\",\n\t\t\"Shift\",\n\t\t\"Alt\",\n\t\t\"Super\",\n\t],\n\t\"vs/base/parts/quickinput/browser/quickInput\": [\n\t\t\"戻る\",\n\t\t\"\\'Enter\\' を押して入力を確認するか \\'Escape\\' を押して取り消します\",\n\t\t\"{0}/{1}\",\n\t\t\"入力すると結果が絞り込まれます。\",\n\t\t\"{0} 件の結果\",\n\t\t\"{0} 個選択済み\",\n\t\t\"OK\",\n\t\t\"カスタム\",\n\t\t\"戻る ({0})\",\n\t\t\"戻る\",\n\t],\n\t\"vs/base/parts/quickinput/browser/quickInputList\": [\n\t\t\"クイック入力\",\n\t],\n\t\"vs/editor/browser/controller/coreCommands\": [\n\t\t\"長い行に移動しても行末に位置します\",\n\t\t\"長い行に移動しても行末に位置します\",\n\t\t\"セカンダリ カーソルが削除されました\",\n\t],\n\t\"vs/editor/browser/controller/textAreaHandler\": [\n\t\t\"エディター\",\n\t\t\"この時点では、エディターにアクセスできません。オプションを表示するには、{0} を押します。\",\n\t],\n\t\"vs/editor/browser/core/keybindingCancellation\": [\n\t\t\"エディターで取り消し可能な操作 (\\'参照をここに表示\\' など) を実行するかどうか\",\n\t],\n\t\"vs/editor/browser/editorExtensions\": [\n\t\t\"元に戻す(&&U)\",\n\t\t\"元に戻す\",\n\t\t\"やり直し(&&R)\",\n\t\t\"やり直し\",\n\t\t\"すべて選択(&&S)\",\n\t\t\"すべてを選択\",\n\t],\n\t\"vs/editor/browser/widget/codeEditorWidget\": [\n\t\t\"カーソルの数は {0} 個に制限されています。\",\n\t],\n\t\"vs/editor/browser/widget/diffEditorWidget\": [\n\t\t\"差分エディターで挿入を示す線の装飾。\",\n\t\t\"差分エディターで削除を示す線の装飾。\",\n\t\t\"一方のファイルが大きすぎるため、ファイルを比較できません。\",\n\t],\n\t\"vs/editor/browser/widget/diffReview\": [\n\t\t\"差分レビューでの \\'挿入\\' のアイコン。\",\n\t\t\"差分レビューでの \\'削除\\' のアイコン。\",\n\t\t\"差分レビューでの \\'閉じる\\' のアイコン。\",\n\t\t\"閉じる\",\n\t\t\"変更された行はありません\",\n\t\t\"1 行が変更されました\",\n\t\t\"{0} 行が変更されました\",\n\t\t\"相違 {0}/{1}: 元の行 {2}、{3}。変更された行 {4}、{5}\",\n\t\t\"空白\",\n\t\t\"{0} 変更されていない行 {1}\",\n\t\t\"{0} 元の行 {1} 変更された行 {2}\",\n\t\t\"+ {0} 変更された行 {1}\",\n\t\t\"- {0} 元の行 {1}\",\n\t\t\"次の差分に移動\",\n\t\t\"前の差分に移動\",\n\t],\n\t\"vs/editoLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["out-editor/vs/editor/editor.main.nls.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.30.0(8507f3abc71412b9d5c822d0ae372b8dc87a796f)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\n/*---------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n *--------------------------------------------------------*/\ndefine(\"vs/editor/editor.main.nls\", {\n\t\"vs/base/browser/ui/actionbar/actionViewItems\": [\n\t\t\"{0} ({1})\"\n\t],\n\t\"vs/base/browser/ui/findinput/findInput\": [\n\t\t\"input\"\n\t],\n\t\"vs/base/browser/ui/findinput/findInputCheckboxes\": [\n\t\t\"Match Case\",\n\t\t\"Match Whole Word\",\n\t\t\"Use Regular Expression\"\n\t],\n\t\"vs/base/browser/ui/findinput/replaceInput\": [\n\t\t\"input\",\n\t\t\"Preserve Case\"\n\t],\n\t\"vs/base/browser/ui/iconLabel/iconLabelHover\": [\n\t\t\"Loading...\"\n\t],\n\t\"vs/base/browser/ui/inputbox/inputBox\": [\n\t\t\"Error: {0}\",\n\t\t\"Warning: {0}\",\n\t\t\"Info: {0}\",\n\t\t\"for history\"\n\t],\n\t\"vs/base/browser/ui/keybindingLabel/keybindingLabel\": [\n\t\t\"Unbound\"\n\t],\n\t\"vs/base/browser/ui/menu/menu\": [\n\t\t\"{0} ({1})\"\n\t],\n\t\"vs/base/browser/ui/tree/abstractTree\": [\n\t\t\"Clear\",\n\t\t\"Disable Filter on Type\",\n\t\t\"Enable Filter on Type\",\n\t\t\"No elements found\",\n\t\t\"Matched {0} out of {1} elements\"\n\t],\n\t\"vs/base/common/actions\": [\n\t\t\"(empty)\"\n\t],\n\t\"vs/base/common/errorMessage\": [\n\t\t\"{0}: {1}\",\n\t\t\"A system error occurred ({0})\",\n\t\t\"An unknown error occurred. Please consult the log for more details.\",\n\t\t\"An unknown error occurred. Please consult the log for more details.\",\n\t\t\"{0} ({1} errors in total)\",\n\t\t\"An unknown error occurred. Please consult the log for more details.\"\n\t],\n\t\"vs/base/common/keybindingLabels\": [\n\t\t\"Ctrl\",\n\t\t\"Shift\",\n\t\t\"Alt\",\n\t\t\"Windows\",\n\t\t\"Ctrl\",\n\t\t\"Shift\",\n\t\t\"Alt\",\n\t\t\"Super\",\n\t\t\"Control\",\n\t\t\"Shift\",\n\t\t\"Alt\",\n\t\t\"Command\",\n\t\t\"Control\",\n\t\t\"Shift\",\n\t\t\"Alt\",\n\t\t\"Windows\",\n\t\t\"Control\",\n\t\t\"Shift\",\n\t\t\"Alt\",\n\t\t\"Super\"\n\t],\n\t\"vs/base/parts/quickinput/browser/quickInput\": [\n\t\t\"Back\",\n\t\t\"Press 'Enter' to confirm your input or 'Escape' to cancel\",\n\t\t\"{0}/{1}\",\n\t\t\"Type to narrow down results.\",\n\t\t\"{0} Results\",\n\t\t\"{0} Selected\",\n\t\t\"OK\",\n\t\t\"Custom\",\n\t\t\"Back ({0})\",\n\t\t\"Back\"\n\t],\n\t\"vs/base/parts/quickinput/browser/quickInputList\": [\n\t\t\"Quick Input\"\n\t],\n\t\"vs/editor/browser/controller/coreCommands\": [\n\t\t\"Stick to the end even when going to longer lines\",\n\t\t\"Stick to the end even when going to longer lines\",\n\t\t\"Removed secondary cursors\"\n\t],\n\t\"vs/editor/browser/controller/textAreaHandler\": [\n\t\t\"editor\",\n\t\t\"The editor is not accessible at this time. Press {0} for options.\"\n\t],\n\t\"vs/editor/browser/core/keybindingCancellation\": [\n\t\t\"Whether the editor runs a cancellable operation, e.g. like 'Peek References'\"\n\t],\n\t\"vs/editor/browser/editorExtensions\": [\n\t\t\"&&Undo\",\n\t\t\"Undo\",\n\t\t\"&&Redo\",\n\t\t\"Redo\",\n\t\t\"&&Select All\",\n\t\t\"Select All\"\n\t],\n\t\"vs/editor/browser/widget/codeEditorWidget\": [\n\t\t\"The number of cursors has been limited to {0}.\"\n\t],\n\t\"vs/editor/browser/widget/diffEditorWidget\": [\n\t\t\"Line decoration for inserts in the diff editor.\",\n\t\t\"Line decoration for removals in the diff editor.\",\n\t\t\"Cannot compare files because one file is too large.\"\n\t],\n\t\"vs/editor/browser/widget/diffReview\": [\n\t\t\"Icon for 'Insert' in diff review.\",\n\t\t\"Icon for 'Remove' in diff review.\",\n\t\t\"Icon for 'Close' in diff review.\",\n\t\t\"Close\",\n\t\t\"no lines changed\",\n\t\t\"1 line changed\",\n\t\t\"{0} lines changed\",\n\t\t\"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}\",\n\t\t\"blank\",\n\t\t\"{0} unchanged line {1}\",\n\t\t\"{0} original line {1} modified line {2}\",\n\t\t\"+ {0} modified line {1}\",\n\t\t\"- {0} original line {1}\",\n\t\t\"Go to Next Difference\",\n\t\t\"Go to Previous Difference\"\n\t],\n\t\"vs/editor/browser/widget/inlineDiffMargin\": [\n\t\t\"Copy deleted lines\",\n\t\t\"Copy deleted line\",\n\t\t\"Copy changed lines\",\n\t\t\"Copy changed line\",\n\t\t\"Copy deleted line ({0})\",\n\t\t\"Copy changed line ({0})\",\n\t\t\"Revert this change\",\n\t\t\"Copy deleted line ({0})\",\n\t\t\"Copy changed line ({0})\"\n\t],\n\t\"vs/editor/common/config/commonEditorConfig\": [\n\t\t\"Editor\",\n\t\t\"The number of spaces a tab is equal to. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.\",\n\t\t\"Insert spaces Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["out-editor/vs/editor/editor.main.nls.ko.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.30.0(8507f3abc71412b9d5c822d0ae372b8dc87a796f)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\ndefine(\"vs/editor/editor.main.nls.ko\", {\n\t\"vs/base/browser/ui/actionbar/actionViewItems\": [\n\t\t\"{0}({1})\",\n\t],\n\t\"vs/base/browser/ui/findinput/findInput\": [\n\t\t\"입력\",\n\t],\n\t\"vs/base/browser/ui/findinput/findInputCheckboxes\": [\n\t\t\"대/소문자 구분\",\n\t\t\"단어 단위로\",\n\t\t\"정규식 사용\",\n\t],\n\t\"vs/base/browser/ui/findinput/replaceInput\": [\n\t\t\"입력\",\n\t\t\"대/소문자 보존\",\n\t],\n\t\"vs/base/browser/ui/iconLabel/iconLabelHover\": [\n\t\t\"로드 중...\",\n\t],\n\t\"vs/base/browser/ui/inputbox/inputBox\": [\n\t\t\"오류: {0}\",\n\t\t\"경고: {0}\",\n\t\t\"정보: {0}\",\n\t\t\"기록용\",\n\t],\n\t\"vs/base/browser/ui/keybindingLabel/keybindingLabel\": [\n\t\t\"바인딩 안 됨\",\n\t],\n\t\"vs/base/browser/ui/menu/menu\": [\n\t\t\"{0}({1})\",\n\t],\n\t\"vs/base/browser/ui/tree/abstractTree\": [\n\t\t\"지우기\",\n\t\t\"형식을 기준으로 필터링 사용 안 함\",\n\t\t\"형식을 기준으로 필터링 사용\",\n\t\t\"찾은 요소 없음\",\n\t\t\"{1}개 요소 중 {0}개 일치\",\n\t],\n\t\"vs/base/common/actions\": [\n\t\t\"(비어 있음)\",\n\t],\n\t\"vs/base/common/errorMessage\": [\n\t\t\"{0}: {1}\",\n\t\t\"시스템 오류가 발생했습니다({0}).\",\n\t\t\"알 수 없는 오류가 발생했습니다. 자세한 내용은 로그를 참조하세요.\",\n\t\t\"알 수 없는 오류가 발생했습니다. 자세한 내용은 로그를 참조하세요.\",\n\t\t\"{0}(총 {1}개의 오류)\",\n\t\t\"알 수 없는 오류가 발생했습니다. 자세한 내용은 로그를 참조하세요.\",\n\t],\n\t\"vs/base/common/keybindingLabels\": [\n\t\t\"Ctrl\",\n\t\t\"<Shift>\",\n\t\t\"<Alt>\",\n\t\t\"Windows\",\n\t\t\"Ctrl\",\n\t\t\"<Shift>\",\n\t\t\"<Alt>\",\n\t\t\"슈퍼\",\n\t\t\"제어\",\n\t\t\"<Shift>\",\n\t\t\"<Alt>\",\n\t\t\"명령\",\n\t\t\"제어\",\n\t\t\"<Shift>\",\n\t\t\"<Alt>\",\n\t\t\"Windows\",\n\t\t\"제어\",\n\t\t\"<Shift>\",\n\t\t\"<Alt>\",\n\t\t\"슈퍼\",\n\t],\n\t\"vs/base/parts/quickinput/browser/quickInput\": [\n\t\t\"뒤로\",\n\t\t\"입력을 확인하려면 \\'Enter\\' 키를 누르고, 취소하려면 \\'Esc\\' 키를 누르세요.\",\n\t\t\"{0} / {1}\",\n\t\t\"결과의 범위를 축소하려면 입력하세요.\",\n\t\t\"{0}개 결과\",\n\t\t\"{0} 선택됨\",\n\t\t\"확인\",\n\t\t\"사용자 지정\",\n\t\t\"뒤로({0})\",\n\t\t\"뒤로\",\n\t],\n\t\"vs/base/parts/quickinput/browser/quickInputList\": [\n\t\t\"빠른 입력\",\n\t],\n\t\"vs/editor/browser/controller/coreCommands\": [\n\t\t\"더 긴 줄로 이동하는 경우에도 끝에 고정\",\n\t\t\"더 긴 줄로 이동하는 경우에도 끝에 고정\",\n\t\t\"보조 커서가 제거됨\",\n\t],\n\t\"vs/editor/browser/controller/textAreaHandler\": [\n\t\t\"편집기\",\n\t\t\"현재 편집기에 액세스할 수 없습니다. 옵션을 보려면 {0}을(를) 누릅니다.\",\n\t],\n\t\"vs/editor/browser/core/keybindingCancellation\": [\n\t\t\"편집기에서 취소 가능한 작업(예: \\'참조 피킹\\')을 실행하는지 여부\",\n\t],\n\t\"vs/editor/browser/editorExtensions\": [\n\t\t\"실행 취소(&&U)\",\n\t\t\"실행 취소\",\n\t\t\"다시 실행(&&R)\",\n\t\t\"다시 실행\",\n\t\t\"모두 선택(&&S)\",\n\t\t\"모두 선택\",\n\t],\n\t\"vs/editor/browser/widget/codeEditorWidget\": [\n\t\t\"커서 수는 {0}(으)로 제한되었습니다.\",\n\t],\n\t\"vs/editor/browser/widget/diffEditorWidget\": [\n\t\t\"diff 편집기의 삽입에 대한 줄 데코레이션입니다.\",\n\t\t\"diff 편집기의 제거에 대한 줄 데코레이션입니다.\",\n\t\t\"파일 1개가 너무 커서 파일을 비교할 수 없습니다.\",\n\t],\n\t\"vs/editor/browser/widget/diffReview\": [\n\t\t\"Diff 검토에서 \\'삽입\\'의 아이콘입니다.\",\n\t\t\"Diff 검토에서 \\'제거\\'의 아이콘입니다.\",\n\t\t\"Diff 검토에서 \\'닫기\\'의 아이콘입니다.\",\n\t\t\"닫기\",\n\t\t\"변경된 줄 없음\",\n\t\t\"선 1개 변경됨\",\n\t\t\"줄 {0}개 변경됨\",\n\t\t\"차이 {0}/{1}: 원래 줄 {2}, {3}, 수정된 줄 {4}, {5}\",\n\t\t\"비어 있음\",\n\t\t\"{0} 변경되지 않은 줄 {1}\",\n\t\t\"{0} 원래 줄 {1} 수정된 줄 {2}\",\n\t\t\"+ {0} 수정된 줄 {1}\",\n\t\t\"- {0} 원래 줄 {1}\",\n\t\t\"다음 다른 항목으로 이동\",\n\t\t\"다음 다른 항목으로 이동\",\n\t],\n\t\"vs/editor/browser/widget/inlineDiffMargin\": [\n\t\t\"삭제된 줄 복사\",\n\t\t\"삭제된 줄 복사\",\n\t\t\"변경된 줄 복사\",\n\t\t\"변경된 줄 복사\",\n\t\t\"삭제Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["out-editor/vs/editor/editor.main.nls.ru.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.30.0(8507f3abc71412b9d5c822d0ae372b8dc87a796f)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\ndefine(\"vs/editor/editor.main.nls.ru\", {\n\t\"vs/base/browser/ui/actionbar/actionViewItems\": [\n\t\t\"{0} ({1})\",\n\t],\n\t\"vs/base/browser/ui/findinput/findInput\": [\n\t\t\"входные данные\",\n\t],\n\t\"vs/base/browser/ui/findinput/findInputCheckboxes\": [\n\t\t\"С учетом регистра\",\n\t\t\"Слово целиком\",\n\t\t\"Использовать регулярное выражение\",\n\t],\n\t\"vs/base/browser/ui/findinput/replaceInput\": [\n\t\t\"входные данные\",\n\t\t\"Сохранить регистр\",\n\t],\n\t\"vs/base/browser/ui/iconLabel/iconLabelHover\": [\n\t\t\"Загрузка…\",\n\t],\n\t\"vs/base/browser/ui/inputbox/inputBox\": [\n\t\t\"Ошибка: {0}\",\n\t\t\"Предупреждение: {0}\",\n\t\t\"Информация: {0}\",\n\t\t\"для журнала\",\n\t],\n\t\"vs/base/browser/ui/keybindingLabel/keybindingLabel\": [\n\t\t\"свободный\",\n\t],\n\t\"vs/base/browser/ui/menu/menu\": [\n\t\t\"{0} ({1})\",\n\t],\n\t\"vs/base/browser/ui/tree/abstractTree\": [\n\t\t\"Сброс\",\n\t\t\"Отключить фильтр по типу\",\n\t\t\"Включить фильтр по типу\",\n\t\t\"Элементы не найдены\",\n\t\t\"Сопоставлено элементов: {0} из {1}\",\n\t],\n\t\"vs/base/common/actions\": [\n\t\t\"(пусто)\",\n\t],\n\t\"vs/base/common/errorMessage\": [\n\t\t\"{0}: {1}\",\n\t\t\"Произошла системная ошибка ({0})\",\n\t\t\"Произошла неизвестная ошибка. Подробные сведения см. в журнале.\",\n\t\t\"Произошла неизвестная ошибка. Подробные сведения см. в журнале.\",\n\t\t\"{0} (всего ошибок: {1})\",\n\t\t\"Произошла неизвестная ошибка. Подробные сведения см. в журнале.\",\n\t],\n\t\"vs/base/common/keybindingLabels\": [\n\t\t\"CTRL\",\n\t\t\"SHIFT\",\n\t\t\"ALT\",\n\t\t\"Windows\",\n\t\t\"CTRL\",\n\t\t\"SHIFT\",\n\t\t\"ALT\",\n\t\t\"Превосходно\",\n\t\t\"CTRL\",\n\t\t\"SHIFT\",\n\t\t\"ALT\",\n\t\t\"Команда\",\n\t\t\"CTRL\",\n\t\t\"SHIFT\",\n\t\t\"ALT\",\n\t\t\"Windows\",\n\t\t\"CTRL\",\n\t\t\"SHIFT\",\n\t\t\"ALT\",\n\t\t\"Превосходно\",\n\t],\n\t\"vs/base/parts/quickinput/browser/quickInput\": [\n\t\t\"Назад\",\n\t\t\"Нажмите клавишу ВВОД, чтобы подтвердить введенные данные, или ESCAPE для отмены\",\n\t\t\"{0} / {1}\",\n\t\t\"Введите текст, чтобы уменьшить число результатов.\",\n\t\t\"Результаты: {0}\",\n\t\t\"{0} выбрано\",\n\t\t\"OK\",\n\t\t\"Другой\",\n\t\t\"Назад ({0})\",\n\t\t\"Назад\",\n\t],\n\t\"vs/base/parts/quickinput/browser/quickInputList\": [\n\t\t\"Быстрый ввод\",\n\t],\n\t\"vs/editor/browser/controller/coreCommands\": [\n\t\t\"Размещать на конце даже для более длинных строк\",\n\t\t\"Размещать на конце даже для более длинных строк\",\n\t\t\"Дополнительные курсоры удалены.\",\n\t],\n\t\"vs/editor/browser/controller/textAreaHandler\": [\n\t\t\"редактор\",\n\t\t\"Сейчас редактор недоступен. Нажмите {0} для отображения вариантов.\",\n\t],\n\t\"vs/editor/browser/core/keybindingCancellation\": [\n\t\t\"Выполняются ли в редакторе операции, допускающие отмену, например, \\\"Показать ссылки\\\"\",\n\t],\n\t\"vs/editor/browser/editorExtensions\": [\n\t\t\"&&Отменить\",\n\t\t\"Отменить\",\n\t\t\"&&Повторить\",\n\t\t\"Вернуть\",\n\t\t\"&&Выделить все\",\n\t\t\"Выбрать все\",\n\t],\n\t\"vs/editor/browser/widget/codeEditorWidget\": [\n\t\t\"Количество курсоров ограничено {0}.\",\n\t],\n\t\"vs/editor/browser/widget/diffEditorWidget\": [\n\t\t\"Оформление строки для вставок в редакторе несовпадений.\",\n\t\t\"Оформление строки для удалений в редакторе несовпадений.\",\n\t\t\"Нельзя сравнить файлы, потому что один из файлов слишком большой.\",\n\t],\n\t\"vs/editor/browser/widget/diffReview\": [\n\t\t\"ЗначоLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["out-editor/vs/editor/editor.main.nls.zh-cn.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.30.0(8507f3abc71412b9d5c822d0ae372b8dc87a796f)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\ndefine(\"vs/editor/editor.main.nls.zh-cn\", {\n\t\"vs/base/browser/ui/actionbar/actionViewItems\": [\n\t\t\"{0} ({1})\",\n\t],\n\t\"vs/base/browser/ui/findinput/findInput\": [\n\t\t\"输入\",\n\t],\n\t\"vs/base/browser/ui/findinput/findInputCheckboxes\": [\n\t\t\"区分大小写\",\n\t\t\"全字匹配\",\n\t\t\"使用正则表达式\",\n\t],\n\t\"vs/base/browser/ui/findinput/replaceInput\": [\n\t\t\"输入\",\n\t\t\"保留大小写\",\n\t],\n\t\"vs/base/browser/ui/iconLabel/iconLabelHover\": [\n\t\t\"正在加载…\",\n\t],\n\t\"vs/base/browser/ui/inputbox/inputBox\": [\n\t\t\"错误: {0}\",\n\t\t\"警告: {0}\",\n\t\t\"信息: {0}\",\n\t\t\"对于历史记录\",\n\t],\n\t\"vs/base/browser/ui/keybindingLabel/keybindingLabel\": [\n\t\t\"未绑定\",\n\t],\n\t\"vs/base/browser/ui/menu/menu\": [\n\t\t\"{0} ({1})\",\n\t],\n\t\"vs/base/browser/ui/tree/abstractTree\": [\n\t\t\"清除\",\n\t\t\"禁用输入时筛选\",\n\t\t\"启用输入时筛选\",\n\t\t\"未找到元素\",\n\t\t\"已匹配 {0} 个元素(共 {1} 个)\",\n\t],\n\t\"vs/base/common/actions\": [\n\t\t\"(空)\",\n\t],\n\t\"vs/base/common/errorMessage\": [\n\t\t\"{0}: {1}\",\n\t\t\"发生了系统错误 ({0})\",\n\t\t\"出现未知错误。有关详细信息,请参阅日志。\",\n\t\t\"出现未知错误。有关详细信息,请参阅日志。\",\n\t\t\"{0} 个(共 {1} 个错误)\",\n\t\t\"出现未知错误。有关详细信息,请参阅日志。\",\n\t],\n\t\"vs/base/common/keybindingLabels\": [\n\t\t\"Ctrl\",\n\t\t\"Shift\",\n\t\t\"Alt\",\n\t\t\"Windows\",\n\t\t\"Ctrl\",\n\t\t\"Shift\",\n\t\t\"Alt\",\n\t\t\"超键\",\n\t\t\"Control\",\n\t\t\"Shift\",\n\t\t\"Alt\",\n\t\t\"Command\",\n\t\t\"Control\",\n\t\t\"Shift\",\n\t\t\"Alt\",\n\t\t\"Windows\",\n\t\t\"Control\",\n\t\t\"Shift\",\n\t\t\"Alt\",\n\t\t\"超键\",\n\t],\n\t\"vs/base/parts/quickinput/browser/quickInput\": [\n\t\t\"上一步\",\n\t\t\"按 \\\"Enter\\\" 以确认或按 \\\"Esc\\\" 以取消\",\n\t\t\"{0}/{1}\",\n\t\t\"在此输入可缩小结果范围。\",\n\t\t\"{0} 个结果\",\n\t\t\"已选 {0} 项\",\n\t\t\"确定\",\n\t\t\"自定义\",\n\t\t\"后退 ({0})\",\n\t\t\"上一步\",\n\t],\n\t\"vs/base/parts/quickinput/browser/quickInputList\": [\n\t\t\"快速输入\",\n\t],\n\t\"vs/editor/browser/controller/coreCommands\": [\n\t\t\"即使转到较长的行,也一直到末尾\",\n\t\t\"即使转到较长的行,也一直到末尾\",\n\t\t\"已删除辅助游标\",\n\t],\n\t\"vs/editor/browser/controller/textAreaHandler\": [\n\t\t\"编辑器\",\n\t\t\"现在无法访问编辑器。按 {0} 获取选项。\",\n\t],\n\t\"vs/editor/browser/core/keybindingCancellation\": [\n\t\t\"编辑器是否运行可取消的操作,例如“预览引用”\",\n\t],\n\t\"vs/editor/browser/editorExtensions\": [\n\t\t\"撤消(&&U)\",\n\t\t\"撤消\",\n\t\t\"恢复(&&R)\",\n\t\t\"恢复\",\n\t\t\"全选(&&S)\",\n\t\t\"选择全部\",\n\t],\n\t\"vs/editor/browser/widget/codeEditorWidget\": [\n\t\t\"光标数量被限制为 {0}。\",\n\t],\n\t\"vs/editor/browser/widget/diffEditorWidget\": [\n\t\t\"差异编辑器中插入项的线条修饰。\",\n\t\t\"差异编辑器中删除项的线条修饰。\",\n\t\t\"文件过大,无法比较。\",\n\t],\n\t\"vs/editor/browser/widget/diffReview\": [\n\t\t\"差异评审中的“插入”图标。\",\n\t\t\"差异评审中的“删除”图标。\",\n\t\t\"差异评审中的“关闭”图标。\",\n\t\t\"关闭\",\n\t\t\"未更改行\",\n\t\t\"更改了 1 行\",\n\t\t\"更改了 {0} 行\",\n\t\t\"差异 {0}/ {1}: 原始行 {2},{3},修改后的行 {4},{5}\",\n\t\t\"空白\",\n\t\t\"{0} 未更改的行 {1}\",\n\t\t\"{0}原始行{1}修改的行{2}\",\n\t\t\"+ {0}修改的行{1}\",\n\t\t\"- {0}原始行{1}\",\n\t\t\"转至下一个差异\",\n\t\t\"转至上一个差异\",\n\t],\n\t\"vs/editor/browser/widget/inlineDiffMargin\": [\n\t\t\"复制已删除的行\",\n\t\t\"复制已删除的行\",\n\t\t\"复制更改的行\",\n\t\t\"复制更改的行\",\n\t\t\"复制已删除的行({0})\",\n\t\t\"复制更改的行({0})\",\n\t\t\"还原此更改\",\n\t\t\"复制已删除的行({0})\",\n\t\t\"复制更改的行({0})\",\n\t],\n\t\"vs/editor/common/config/commonEditorConfig\": [\n\t\t\"编辑器\",\n\t\t\"一个制表符等于的空格数。在 `#editor.detectIndentation#` 启用时,根据文件内容,该设置可能会被覆盖。\",\n\t\t\"按 `Tab` 键时插入空格。该设置在 `#editor.detectIndentation#` 启用时根据文件内容可能会被覆盖。\",\n\t\t\"控制是否在打开文件时,基于文件内容Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["out-editor/vs/editor/editor.main.nls.zh-tw.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.30.0(8507f3abc71412b9d5c822d0ae372b8dc87a796f)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\ndefine(\"vs/editor/editor.main.nls.zh-tw\", {\n\t\"vs/base/browser/ui/actionbar/actionViewItems\": [\n\t\t\"{0} ({1})\",\n\t],\n\t\"vs/base/browser/ui/findinput/findInput\": [\n\t\t\"輸入\",\n\t],\n\t\"vs/base/browser/ui/findinput/findInputCheckboxes\": [\n\t\t\"大小寫須相符\",\n\t\t\"全字拼寫須相符\",\n\t\t\"使用規則運算式\",\n\t],\n\t\"vs/base/browser/ui/findinput/replaceInput\": [\n\t\t\"輸入\",\n\t\t\"保留案例\",\n\t],\n\t\"vs/base/browser/ui/iconLabel/iconLabelHover\": [\n\t\t\"正在載入...\",\n\t],\n\t\"vs/base/browser/ui/inputbox/inputBox\": [\n\t\t\"錯誤: {0}\",\n\t\t\"警告: {0}\",\n\t\t\"資訊: {0}\",\n\t\t\"歷程記錄\",\n\t],\n\t\"vs/base/browser/ui/keybindingLabel/keybindingLabel\": [\n\t\t\"未繫結\",\n\t],\n\t\"vs/base/browser/ui/menu/menu\": [\n\t\t\"{0} ({1})\",\n\t],\n\t\"vs/base/browser/ui/tree/abstractTree\": [\n\t\t\"清除\",\n\t\t\"在類型上停用篩選\",\n\t\t\"在類型上啟用篩選\",\n\t\t\"找不到任何元素\",\n\t\t\"{1} 項元素中有 {0} 項相符\",\n\t],\n\t\"vs/base/common/actions\": [\n\t\t\"(空的)\",\n\t],\n\t\"vs/base/common/errorMessage\": [\n\t\t\"{0}: {1}\",\n\t\t\"發生系統錯誤 ({0})\",\n\t\t\"發生未知的錯誤。如需詳細資訊,請參閱記錄檔。\",\n\t\t\"發生未知的錯誤。如需詳細資訊,請參閱記錄檔。\",\n\t\t\"{0} (總計 {1} 個錯誤)\",\n\t\t\"發生未知的錯誤。如需詳細資訊,請參閱記錄檔。\",\n\t],\n\t\"vs/base/common/keybindingLabels\": [\n\t\t\"Ctrl\",\n\t\t\"Shift\",\n\t\t\"Alt\",\n\t\t\"Windows\",\n\t\t\"Ctrl\",\n\t\t\"Shift\",\n\t\t\"Alt\",\n\t\t\"超級鍵\",\n\t\t\"Control\",\n\t\t\"Shift\",\n\t\t\"Alt\",\n\t\t\"命令\",\n\t\t\"Control\",\n\t\t\"Shift\",\n\t\t\"Alt\",\n\t\t\"Windows\",\n\t\t\"Control\",\n\t\t\"Shift\",\n\t\t\"Alt\",\n\t\t\"超級鍵\",\n\t],\n\t\"vs/base/parts/quickinput/browser/quickInput\": [\n\t\t\"上一頁\",\n\t\t\"按 \\'Enter\\' 鍵確認您的輸入或按 \\'Esc\\' 鍵取消\",\n\t\t\"{0}/{1}\",\n\t\t\"輸入以縮小結果範圍。\",\n\t\t\"{0} 個結果\",\n\t\t\"已選擇 {0}\",\n\t\t\"確定\",\n\t\t\"自訂\",\n\t\t\"背面 ({0})\",\n\t\t\"上一頁\",\n\t],\n\t\"vs/base/parts/quickinput/browser/quickInputList\": [\n\t\t\"快速輸入\",\n\t],\n\t\"vs/editor/browser/controller/coreCommands\": [\n\t\t\"即使行的長度過長,仍要堅持至結尾\",\n\t\t\"即使行的長度過長,仍要堅持至結尾\",\n\t\t\"已移除次要資料指標\",\n\t],\n\t\"vs/editor/browser/controller/textAreaHandler\": [\n\t\t\"編輯器\",\n\t\t\"目前無法存取此編輯器。請按 {0} 取得選項。\",\n\t],\n\t\"vs/editor/browser/core/keybindingCancellation\": [\n\t\t\"編輯器是否執行可取消的作業,例如「預覽參考」\",\n\t],\n\t\"vs/editor/browser/editorExtensions\": [\n\t\t\"復原(&&U)\",\n\t\t\"復原\",\n\t\t\"取消復原(&&R)\",\n\t\t\"重做\",\n\t\t\"全選(&&S)\",\n\t\t\"全選\",\n\t],\n\t\"vs/editor/browser/widget/codeEditorWidget\": [\n\t\t\"游標數已限制為 {0} 個。\",\n\t],\n\t\"vs/editor/browser/widget/diffEditorWidget\": [\n\t\t\"Diff 編輯器中用於插入的線條裝飾。\",\n\t\t\"Diff 編輯器中用於移除的線條裝飾。\",\n\t\t\"因其中一個檔案過大而無法比較。\",\n\t],\n\t\"vs/editor/browser/widget/diffReview\": [\n\t\t\"Diff 檢閱中 [插入] 的圖示。\",\n\t\t\"Diff 檢閱中 [移除] 的圖示。\",\n\t\t\"Diff 檢閱中 [關閉] 的圖示。\",\n\t\t\"關閉\",\n\t\t\"未變更任一行\",\n\t\t\"已變更 1 行\",\n\t\t\"已變更 {0} 行\",\n\t\t\"{1} 項差異中的第 {0} 項: 原始行 {2}、{3},修改行 {4}、{5}\",\n\t\t\"空白\",\n\t\t\"{0} 未變更行 {1}\",\n\t\t\"{0} 原始行 {1} 修改的行 {2}\",\n\t\t\"+ {0} 修改行 {1}\",\n\t\t\"- {0} 原始行 {1}\",\n\t\t\"移至下一個差異\",\n\t\t\"移至上一個差異\",\n\t],\n\t\"vs/editor/browser/widget/inlineDiffMargin\": [\n\t\t\"複製已刪除的行\",\n\t\t\"複製已刪除的行\",\n\t\t\"複製變更的行\",\n\t\t\"複製變更的行\",\n\t\t\"複製已刪除的行 ({0})\",\n\t\t\"複製變更的行 ({0})\",\n\t\t\"還原此變更\",\n\t\t\"複製已刪除的行 ({0})\",\n\t\t\"複製變更的行 ({0})\",\n\t],\n\t\"vs/editor/common/config/commonEditorConfig\": [\n\t\t\"編輯器\",\n\t\t\"與 Tab 相等的空格數量。當 `#editor.detectIndentation#` 已開啟時,會根據檔案內容覆寫此設定。\",\n\t\t\"在按 `Tab` 時插入空格。當 `#editor.detectIndentation#` 開啟時,會根據檔案內容覆寫此Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["out-editor/vs/loader.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.30.0(8507f3abc71412b9d5c822d0ae372b8dc87a796f)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n'use strict';\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n/*---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n * Please make sure to make edits in the .ts file at https://github.com/microsoft/vscode-loader/\n *---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n *--------------------------------------------------------------------------------------------*/\nvar _amdLoaderGlobal = this;\nvar _commonjsGlobal = typeof global === 'object' ? global : {};\nvar AMDLoader;\n(function (AMDLoader) {\n AMDLoader.global = _amdLoaderGlobal;\n var Environment = /** @class */ (function () {\n function Environment() {\n this._detected = false;\n this._isWindows = false;\n this._isNode = false;\n this._isElectronRenderer = false;\n this._isWebWorker = false;\n this._isElectronNodeIntegrationWebWorker = false;\n }\n Object.defineProperty(Environment.prototype, \"isWindows\", {\n get: function () {\n this._detect();\n return this._isWindows;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Environment.prototype, \"isNode\", {\n get: function () {\n this._detect();\n return this._isNode;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Environment.prototype, \"isElectronRenderer\", {\n get: function () {\n this._detect();\n return this._isElectronRenderer;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Environment.prototype, \"isWebWorker\", {\n get: function () {\n this._detect();\n return this._isWebWorker;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Environment.prototype, \"isElectronNodeIntegrationWebWorker\", {\n get: function () {\n this._detect();\n return this._isElectronNodeIntegrationWebWorker;\n },\n enumerable: false,\n configurable: true\n });\n Environment.prototype._detect = function () {\n if (this._detected) {\n return;\n }\n this._detected = true;\n this._isWindows = Environment._isWindows();\n this._isNode = (typeof module !== 'undefined' && !!module.exports);\n this._isElectronRenderer = (typeof process !== 'undefined' && typeof process.versions !== 'undefined' && typeof process.versions.electron !== 'undefined' && process.type === 'renderer');\n this._isWebWorker = (typeof AMDLoader.global.importScripts === 'function');\n this._isElectronNodeIntegrationWebWorker = this._isWebWorker && (typeof process !== 'undefined' && typeof process.versions !== 'undefined' && typeof process.versions.electron !== 'undefined' && process.type === 'worker');\n Line truncated
|
||||
BIN
Binary file not shown.
@@ -0,0 +1,18 @@
|
||||
/*!-----------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Version: 0.30.0(8507f3abc71412b9d5c822d0ae372b8dc87a796f)
|
||||
* Released under the MIT license
|
||||
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
||||
*-----------------------------------------------------------*/(function(){var z=["require","exports","vs/base/common/platform","vs/editor/common/core/position","vs/base/common/strings","vs/base/common/event","vs/editor/common/core/range","vs/base/common/errors","vs/base/common/lifecycle","vs/base/common/stopwatch","vs/base/common/diff/diff","vs/base/common/types","vs/base/common/uint","vs/base/common/uri","vs/base/common/diff/diffChange","vs/base/common/functional","vs/base/common/iterator","vs/base/common/keyCodes","vs/base/common/linkedList","vs/base/common/process","vs/base/common/path","vs/base/common/cancellation","vs/base/common/hash","vs/editor/common/core/characterClassifier","vs/editor/common/core/selection","vs/editor/common/core/token","vs/editor/common/diff/diffComputer","vs/editor/common/model/wordHelper","vs/editor/common/modes/linkComputer","vs/editor/common/modes/supports/inplaceReplaceSupport","vs/editor/common/standalone/standaloneEnums","vs/editor/common/standalone/standaloneBase","vs/editor/common/viewModel/prefixSumComputer","vs/editor/common/model/mirrorTextModel","vs/base/common/worker/simpleWorker","vs/editor/common/services/editorSimpleWorker"],G=function(F){for(var n=[],A=0,D=F.length;A<D;A++)n[A]=z[F[A]];return n},fe=this,he=typeof global=="object"?global:{},Q;(function(F){F.global=fe;var n=function(){function A(){this._detected=!1,this._isWindows=!1,this._isNode=!1,this._isElectronRenderer=!1,this._isWebWorker=!1,this._isElectronNodeIntegrationWebWorker=!1}return Object.defineProperty(A.prototype,"isWindows",{get:function(){return this._detect(),this._isWindows},enumerable:!1,configurable:!0}),Object.defineProperty(A.prototype,"isNode",{get:function(){return this._detect(),this._isNode},enumerable:!1,configurable:!0}),Object.defineProperty(A.prototype,"isElectronRenderer",{get:function(){return this._detect(),this._isElectronRenderer},enumerable:!1,configurable:!0}),Object.defineProperty(A.prototype,"isWebWorker",{get:function(){return this._detect(),this._isWebWorker},enumerable:!1,configurable:!0}),Object.defineProperty(A.prototype,"isElectronNodeIntegrationWebWorker",{get:function(){return this._detect(),this._isElectronNodeIntegrationWebWorker},enumerable:!1,configurable:!0}),A.prototype._detect=function(){this._detected||(this._detected=!0,this._isWindows=A._isWindows(),this._isNode=typeof module!="undefined"&&!!module.exports,this._isElectronRenderer=typeof process!="undefined"&&typeof process.versions!="undefined"&&typeof process.versions.electron!="undefined"&&process.type==="renderer",this._isWebWorker=typeof F.global.importScripts=="function",this._isElectronNodeIntegrationWebWorker=this._isWebWorker&&typeof process!="undefined"&&typeof process.versions!="undefined"&&typeof process.versions.electron!="undefined"&&process.type==="worker")},A._isWindows=function(){return typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.indexOf("Windows")>=0?!0:typeof process!="undefined"?process.platform==="win32":!1},A}();F.Environment=n})(Q||(Q={}));var Q;(function(F){var n=function(){function w(s,d,a){this.type=s,this.detail=d,this.timestamp=a}return w}();F.LoaderEvent=n;var A=function(){function w(s){this._events=[new n(1,"",s)]}return w.prototype.record=function(s,d){this._events.push(new n(s,d,F.Utilities.getHighPerformanceTimestamp()))},w.prototype.getEvents=function(){return this._events},w}();F.LoaderEventRecorder=A;var D=function(){function w(){}return w.prototype.record=function(s,d){},w.prototype.getEvents=function(){return[]},w.INSTANCE=new w,w}();F.NullLoaderEventRecorder=D})(Q||(Q={}));var Q;(function(F){var n=function(){function A(){}return A.fileUriToFilePath=function(D,w){if(w=decodeURI(w).replace(/%23/g,"#"),D){if(/^file:\/\/\//.test(w))return w.substr(8);if(/^file:\/\//.test(w))return w.substr(5)}else if(/^file:\/\//.test(w))return w.substr(7);return w},A.startsWith=function(D,w){return D.length>=w.length&&D.substr(0,w.length)===w},A.endsWith=function(D,w){return D.length>=w.length&&D.substr(D.length-w.length)===w},A.containsQueryString=function(D){return/^[^\#]*\?/gi.test(D)},A.isAbsolutePath=function(D){return/^((http:\/\/)|(https:\/\/)|(file:\/\/)|(\/))/.test(D)},A.forEachProperty=function(D,w){if(D){var s=void 0;for(s in D)D.hasOwnProperty(s)&&w(s,D[s])}},A.isEmpty=function(D){var w=!0;return A.forEachProperty(D,function(){w=!1}),w},A.recursiveClone=function(D){if(!D||typeof D!="object"||D instanceof RegExp||!Array.isArray(D)&&Object.getPrototypeOf(D)!==Object.prototype)return D;var w=Array.isArray(D)?[]:{};return A.forEachProperty(D,function(s,d){d&&typeof d=="object"?w[s]=A.recursiveClone(d):w[s]=d}),w},A.generateAnonymousModule=function(){return"===anonymous"+A.NEXT_ANONYMOUS_ID+++"==="},A.isAnonymousModule=function(D){return A.startsWith(D,"===anonymous")},A.getHighPerformanceTimestamp=function(){return this.PERFORMANCE_NOW_PROBED||(this.PERFORMANCE_NOW_PROBED=!0,this.HAS_PERFORMANCE_NOW=F.global.performance&&typeof F.global.performanceLine truncated
|
||||
//# sourceURL=`+C;var r=S?self.eval(S.createScript("",i)):new Function(i);r.call(self),e()}).then(void 0,f);return}try{S&&(C=S.createScriptURL(C)),importScripts(C),e()}catch(i){f(i)}}},u}(),s=function(){function u(c){this._env=c,this._didInitialize=!1,this._didPatchNodeRequire=!1}return u.prototype._init=function(c){this._didInitialize||(this._didInitialize=!0,this._fs=c("fs"),this._vm=c("vm"),this._path=c("path"),this._crypto=c("crypto"))},u.prototype._initNodeRequire=function(c,C){var e=C.getConfig().getOptionsLiteral().nodeCachedData;if(!e||this._didPatchNodeRequire)return;this._didPatchNodeRequire=!0;var f=this,m=c("module");function N(b){var h=b.constructor,S=function(i){try{return b.require(i)}finally{}};return S.resolve=function(i,r){return h._resolveFilename(i,b,!1,r)},S.resolve.paths=function(i){return h._resolveLookupPaths(i,b)},S.main=process.mainModule,S.extensions=h._extensions,S.cache=h._cache,S}m.prototype._compile=function(b,h){var S=m.wrap(b.replace(/^#!.*/,"")),p=C.getRecorder(),i=f._getCachedDataPath(e,h),r={filename:h},l;try{var g=f._fs.readFileSync(i);l=g.slice(0,16),r.cachedData=g.slice(16),p.record(60,i)}catch(P){p.record(61,i)}var v=new f._vm.Script(S,r),o=v.runInThisContext(r),_=f._path.dirname(h),L=N(this),E=[this.exports,L,this,h,_,process,he,Buffer],y=o.apply(this.exports,E);return f._handleCachedData(v,S,i,!r.cachedData,C),f._verifyCachedData(v,S,i,l,C),y}},u.prototype.load=function(c,C,e,f){var m=this,N=c.getConfig().getOptionsLiteral(),b=d(c.getRecorder(),N.nodeRequire||F.global.nodeRequire),h=N.nodeInstrumenter||function(o){return o};this._init(b),this._initNodeRequire(b,c);var S=c.getRecorder();if(/^node\|/.test(C)){var p=C.split("|"),i=null;try{i=b(p[1])}catch(o){f(o);return}c.enqueueDefineAnonymousModule([],function(){return i}),e()}else{C=F.Utilities.fileUriToFilePath(this._env.isWindows,C);var r=this._path.normalize(C),l=this._getElectronRendererScriptPathOrUri(r),g=Boolean(N.nodeCachedData),v=g?this._getCachedDataPath(N.nodeCachedData,C):void 0;this._readSourceAndCachedData(r,v,S,function(o,_,L,E){if(o){f(o);return}var y;_.charCodeAt(0)===u._BOM?y=u._PREFIX+_.substring(1)+u._SUFFIX:y=u._PREFIX+_+u._SUFFIX,y=h(y,r);var P={filename:l,cachedData:L},R=m._createAndEvalScript(c,y,P,e,f);m._handleCachedData(R,y,v,g&&!L,c),m._verifyCachedData(R,y,v,E,c)})}},u.prototype._createAndEvalScript=function(c,C,e,f,m){var N=c.getRecorder();N.record(31,e.filename);var b=new this._vm.Script(C,e),h=b.runInThisContext(e),S=c.getGlobalAMDDefineFunc(),p=!1,i=function(){return p=!0,S.apply(null,arguments)};return i.amd=S.amd,h.call(F.global,c.getGlobalAMDRequireFunc(),i,e.filename,this._path.dirname(e.filename)),N.record(32,e.filename),p?f():m(new Error("Didn't receive define call in "+e.filename+"!")),b},u.prototype._getElectronRendererScriptPathOrUri=function(c){if(!this._env.isElectronRenderer)return c;var C=c.match(/^([a-z])\:(.*)/i);return C?"file:///"+(C[1].toUpperCase()+":"+C[2]).replace(/\\/g,"/"):"file://"+c},u.prototype._getCachedDataPath=function(c,C){var e=this._crypto.createHash("md5").update(C,"utf8").update(c.seed,"utf8").update(process.arch,"").digest("hex"),f=this._path.basename(C).replace(/\.js$/,"");return this._path.join(c.path,f+"-"+e+".code")},u.prototype._handleCachedData=function(c,C,e,f,m){var N=this;c.cachedDataRejected?this._fs.unlink(e,function(b){m.getRecorder().record(62,e),N._createAndWriteCachedData(c,C,e,m),b&&m.getConfig().onError(b)}):f&&this._createAndWriteCachedData(c,C,e,m)},u.prototype._createAndWriteCachedData=function(c,C,e,f){var m=this,N=Math.ceil(f.getConfig().getOptionsLiteral().nodeCachedData.writeDelay*(1+Math.random())),b=-1,h=0,S=void 0,p=function(){setTimeout(function(){S||(S=m._crypto.createHash("md5").update(C,"utf8").digest());var i=c.createCachedData();if(!(i.length===0||i.length===b||h>=5)){if(i.length<b){p();return}b=i.length,m._fs.writeFile(e,Buffer.concat([S,i]),function(r){r&&f.getConfig().onError(r),f.getRecorder().record(63,e),p()})}},N*Math.pow(4,h++))};p()},u.prototype._readSourceAndCachedData=function(c,C,e,f){if(!C)this._fs.readFile(c,{encoding:"utf8"},f);else{var m=void 0,N=void 0,b=void 0,h=2,S=function(p){p?f(p):--h==0&&f(void 0,m,N,b)};this._fs.readFile(c,{encoding:"utf8"},function(p,i){m=i,S(p)}),this._fs.readFile(C,function(p,i){!p&&i&&i.length>0?(b=i.slice(0,16),N=i.slice(16),e.record(60,C)):e.record(61,C),S()})}},u.prototype._verifyCachedData=function(c,C,e,f,m){var N=this;!f||c.cachedDataRejected||setTimeout(function(){var b=N._crypto.createHash("md5").update(C,"utf8").digest();f.equals(b)||(m.getConfig().onError(new Error("FAILED TO VERIFY CACHED DATA, deleting stale '"+e+"' now, but a RESTART IS REQUIRED")),N._fs.unlink(e,function(h){h&&m.getConfig().onError(h)}))},Math.ceil(5e3*(1+Math.random())))},u._BOM=65279,u._PREFIX="(function (require, define, __filename, __dirname) { ",u._SUFFIX=`
|
||||
});`,u}();function d(u,c){if(c.__$__isRecorded)return c;var C=function(f){u.record(33,f);try{return c(f)}finally{u.record(34,f)}};return C.__$__isRecorded=!0,C}F.ensureRecordedNodeRequire=d;function a(u){return new n(u)}F.createScriptLoader=a})(Q||(Q={}));var Q;(function(F){var n=function(){function a(u){var c=u.lastIndexOf("/");c!==-1?this.fromModulePath=u.substr(0,c+1):this.fromModulePath=""}return a._normalizeModuleId=function(u){var c=u,C;for(C=/\/\.\//;C.test(c);)c=c.replace(C,"/");for(c=c.replace(/^\.\//g,""),C=/\/(([^\/])|([^\/][^\/\.])|([^\/\.][^\/])|([^\/][^\/][^\/]+))\/\.\.\//;C.test(c);)c=c.replace(C,"/");return c=c.replace(/^(([^\/])|([^\/][^\/\.])|([^\/\.][^\/])|([^\/][^\/][^\/]+))\/\.\.\//,""),c},a.prototype.resolveModule=function(u){var c=u;return F.Utilities.isAbsolutePath(c)||(F.Utilities.startsWith(c,"./")||F.Utilities.startsWith(c,"../"))&&(c=a._normalizeModuleId(this.fromModulePath+c)),c},a.ROOT=new a(""),a}();F.ModuleIdResolver=n;var A=function(){function a(u,c,C,e,f,m){this.id=u,this.strId=c,this.dependencies=C,this._callback=e,this._errorback=f,this.moduleIdResolver=m,this.exports={},this.error=null,this.exportsPassedIn=!1,this.unresolvedDependenciesCount=this.dependencies.length,this._isComplete=!1}return a._safeInvokeFunction=function(u,c){try{return{returnedValue:u.apply(F.global,c),producedError:null}}catch(C){return{returnedValue:null,producedError:C}}},a._invokeFactory=function(u,c,C,e){return u.isBuild()&&!F.Utilities.isAnonymousModule(c)?{returnedValue:null,producedError:null}:u.shouldCatchError()?this._safeInvokeFunction(C,e):{returnedValue:C.apply(F.global,e),producedError:null}},a.prototype.complete=function(u,c,C){this._isComplete=!0;var e=null;if(this._callback)if(typeof this._callback=="function"){u.record(21,this.strId);var f=a._invokeFactory(c,this.strId,this._callback,C);e=f.producedError,u.record(22,this.strId),!e&&typeof f.returnedValue!="undefined"&&(!this.exportsPassedIn||F.Utilities.isEmpty(this.exports))&&(this.exports=f.returnedValue)}else this.exports=this._callback;if(e){var m=F.ensureError(e);m.phase="factory",m.moduleId=this.strId,this.error=m,c.onError(m)}this.dependencies=null,this._callback=null,this._errorback=null,this.moduleIdResolver=null},a.prototype.onDependencyError=function(u){return this._isComplete=!0,this.error=u,this._errorback?(this._errorback(u),!0):!1},a.prototype.isComplete=function(){return this._isComplete},a}();F.Module=A;var D=function(){function a(){this._nextId=0,this._strModuleIdToIntModuleId=new Map,this._intModuleIdToStrModuleId=[],this.getModuleId("exports"),this.getModuleId("module"),this.getModuleId("require")}return a.prototype.getMaxModuleId=function(){return this._nextId},a.prototype.getModuleId=function(u){var c=this._strModuleIdToIntModuleId.get(u);return typeof c=="undefined"&&(c=this._nextId++,this._strModuleIdToIntModuleId.set(u,c),this._intModuleIdToStrModuleId[c]=u),c},a.prototype.getStrModuleId=function(u){return this._intModuleIdToStrModuleId[u]},a}(),w=function(){function a(u){this.id=u}return a.EXPORTS=new a(0),a.MODULE=new a(1),a.REQUIRE=new a(2),a}();F.RegularDependency=w;var s=function(){function a(u,c,C){this.id=u,this.pluginId=c,this.pluginParam=C}return a}();F.PluginDependency=s;var d=function(){function a(u,c,C,e,f){f===void 0&&(f=0),this._env=u,this._scriptLoader=c,this._loaderAvailableTimestamp=f,this._defineFunc=C,this._requireFunc=e,this._moduleIdProvider=new D,this._config=new F.Configuration(this._env),this._hasDependencyCycle=!1,this._modules2=[],this._knownModules2=[],this._inverseDependencies2=[],this._inversePluginDependencies2=new Map,this._currentAnonymousDefineCall=null,this._recorder=null,this._buildInfoPath=[],this._buildInfoDefineStack=[],this._buildInfoDependencies=[]}return a.prototype.reset=function(){return new a(this._env,this._scriptLoader,this._defineFunc,this._requireFunc,this._loaderAvailableTimestamp)},a.prototype.getGlobalAMDDefineFunc=function(){return this._defineFunc},a.prototype.getGlobalAMDRequireFunc=function(){return this._requireFunc},a._findRelevantLocationInStack=function(u,c){for(var C=function(r){return r.replace(/\\/g,"/")},e=C(u),f=c.split(/\n/),m=0;m<f.length;m++){var N=f[m].match(/(.*):(\d+):(\d+)\)?$/);if(N){var b=N[1],h=N[2],S=N[3],p=Math.max(b.lastIndexOf(" ")+1,b.lastIndexOf("(")+1);if(b=b.substr(p),b=C(b),b===e){var i={line:parseInt(h,10),col:parseInt(S,10)};return i.line===1&&(i.col-="(function (require, define, __filename, __dirname) { ".length),i}}}throw new Error("Could not correlate define call site for needle "+u)},a.prototype.getBuildInfo=function(){if(!this._config.isBuild())return null;for(var u=[],c=0,C=0,e=this._modules2.length;C<e;C++){var f=this._modules2[C];if(!!f){var m=this._buildInfoPath[f.id]||null,N=this._buildInfoDefineStack[f.id]||null,b=this._buildInfoDependencies[f.id];u[c++]={id:f.strId,path:m,defineLocation:m&&N?a._findRelevantLocationInStack(m,N):null,dependencies:b,shim:null,exports:f.exports}}}return u},a.prototype.getRecorder=fun
Line truncated
|
||||
`)),u.unresolvedDependenciesCount--;continue}if(this._inverseDependencies2[m.id]=this._inverseDependencies2[m.id]||[],this._inverseDependencies2[m.id].push(u.id),m instanceof s){var h=this._modules2[m.pluginId];if(h&&h.isComplete()){this._loadPluginDependency(h.exports,m);continue}var S=this._inversePluginDependencies2.get(m.pluginId);S||(S=[],this._inversePluginDependencies2.set(m.pluginId,S)),S.push(m),this._loadModule(m.pluginId);continue}this._loadModule(m.id)}u.unresolvedDependenciesCount===0&&this._onModuleComplete(u)},a.prototype._onModuleComplete=function(u){var c=this,C=this.getRecorder();if(!u.isComplete()){var e=u.dependencies,f=[];if(e)for(var m=0,N=e.length;m<N;m++){var b=e[m];if(b===w.EXPORTS){f[m]=u.exports;continue}if(b===w.MODULE){f[m]={id:u.strId,config:function(){return c._config.getConfigForModule(u.strId)}};continue}if(b===w.REQUIRE){f[m]=this._createRequire(u.moduleIdResolver);continue}var h=this._modules2[b.id];if(h){f[m]=h.exports;continue}f[m]=null}u.complete(C,this._config,f);var S=this._inverseDependencies2[u.id];if(this._inverseDependencies2[u.id]=null,S)for(var m=0,N=S.length;m<N;m++){var p=S[m],i=this._modules2[p];i.unresolvedDependenciesCount--,i.unresolvedDependenciesCount===0&&this._onModuleComplete(i)}var r=this._inversePluginDependencies2.get(u.id);if(r){this._inversePluginDependencies2.delete(u.id);for(var m=0,N=r.length;m<N;m++)this._loadPluginDependency(u.exports,r[m])}}},a}();F.ModuleManager=d})(Q||(Q={}));var j,Q;(function(F){var n=new F.Environment,A=null,D=function(a,u,c){typeof a!="string"&&(c=u,u=a,a=null),(typeof u!="object"||!Array.isArray(u))&&(c=u,u=null),u||(u=["require","exports","module"]),a?A.defineModule(a,u,c,null,null):A.enqueueDefineAnonymousModule(u,c)};D.amd={jQuery:!0};var w=function(a,u){u===void 0&&(u=!1),A.configure(a,u)},s=function(){if(arguments.length===1){if(arguments[0]instanceof Object&&!Array.isArray(arguments[0])){w(arguments[0]);return}if(typeof arguments[0]=="string")return A.synchronousRequire(arguments[0])}if((arguments.length===2||arguments.length===3)&&Array.isArray(arguments[0])){A.defineModule(F.Utilities.generateAnonymousModule(),arguments[0],arguments[1],arguments[2],null);return}throw new Error("Unrecognized require call")};s.config=w,s.getConfig=function(){return A.getConfig().getOptionsLiteral()},s.reset=function(){A=A.reset()},s.getBuildInfo=function(){return A.getBuildInfo()},s.getStats=function(){return A.getLoaderEvents()},s.define=D;function d(){if(typeof F.global.require!="undefined"||typeof require!="undefined"){var a=F.global.require||require;if(typeof a=="function"&&typeof a.resolve=="function"){var u=F.ensureRecordedNodeRequire(A.getRecorder(),a);F.global.nodeRequire=u,s.nodeRequire=u,s.__$__nodeRequire=u}}n.isNode&&!n.isElectronRenderer&&!n.isElectronNodeIntegrationWebWorker?(module.exports=s,require=s):(n.isElectronRenderer||(F.global.define=D),F.global.require=s)}F.init=d,(typeof F.global.define!="function"||!F.global.define.amd)&&(A=new F.ModuleManager(n,F.createScriptLoader(n),D,s,F.Utilities.getHighPerformanceTimestamp()),typeof F.global.require!="undefined"&&typeof F.global.require!="function"&&s.config(F.global.require),j=function(){return D.apply(null,arguments)},j.amd=D.amd,typeof doNotInitLoader=="undefined"&&d())})(Q||(Q={})),j(z[14],G([0,1]),function(F,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DiffChange=void 0;class A{constructor(w,s,d,a){this.originalStart=w,this.originalLength=s,this.modifiedStart=d,this.modifiedLength=a}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}n.DiffChange=A}),j(z[7],G([0,1]),function(F,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.NotSupportedError=n.illegalState=n.illegalArgument=n.canceled=n.isPromiseCanceledError=n.transformErrorForSerialization=n.onUnexpectedExternalError=n.onUnexpectedError=n.errorHandler=n.ErrorHandler=void 0;class A{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(m){setTimeout(()=>{throw m.stack?new Error(m.message+`
|
||||
|
||||
`+m.stack):m},0)}}emit(m){this.listeners.forEach(N=>{N(m)})}onUnexpectedError(m){this.unexpectedErrorHandler(m),this.emit(m)}onUnexpectedExternalError(m){this.unexpectedErrorHandler(m)}}n.ErrorHandler=A,n.errorHandler=new A;function D(f){a(f)||n.errorHandler.onUnexpectedError(f)}n.onUnexpectedError=D;function w(f){a(f)||n.errorHandler.onUnexpectedExternalError(f)}n.onUnexpectedExternalError=w;function s(f){if(f instanceof Error){let{name:m,message:N}=f;const b=f.stacktrace||f.stack;return{$isError:!0,name:m,message:N,stack:b}}return f}n.transformErrorForSerialization=s;const d="Canceled";function a(f){return f instanceof Error&&f.name===d&&f.message===d}n.isPromiseCanceledError=a;function u(){const f=new Error(d);return f.name=f.message,f}n.canceled=u;function c(f){return f?new Error(`Illegal argument: ${f}`):new Error("Illegal argument")}n.illegalArgument=c;function C(f){return f?new Error(`Illegal state: ${f}`):new Error("Illegal state")}n.illegalState=C;class e extends Error{constructor(m){super("NotSupported");m&&(this.message=m)}}n.NotSupportedError=e}),j(z[15],G([0,1]),function(F,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.once=void 0;function A(D){const w=this;let s=!1,d;return function(){return s||(s=!0,d=D.apply(w,arguments)),d}}n.once=A}),j(z[16],G([0,1]),function(F,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Iterable=void 0;var A;(function(D){function w(l){return l&&typeof l=="object"&&typeof l[Symbol.iterator]=="function"}D.is=w;const s=Object.freeze([]);function d(){return s}D.empty=d;function*a(l){yield l}D.single=a;function u(l){return l||s}D.from=u;function c(l){return!l||l[Symbol.iterator]().next().done===!0}D.isEmpty=c;function C(l){return l[Symbol.iterator]().next().value}D.first=C;function e(l,g){for(const v of l)if(g(v))return!0;return!1}D.some=e;function f(l,g){for(const v of l)if(g(v))return v}D.find=f;function*m(l,g){for(const v of l)g(v)&&(yield v)}D.filter=m;function*N(l,g){let v=0;for(const o of l)yield g(o,v++)}D.map=N;function*b(...l){for(const g of l)for(const v of g)yield v}D.concat=b;function*h(l){for(const g of l)for(const v of g)yield v}D.concatNested=h;function S(l,g,v){let o=v;for(const _ of l)o=g(o,_);return o}D.reduce=S;function*p(l,g,v=l.length){for(g<0&&(g+=l.length),v<0?v+=l.length:v>l.length&&(v=l.length);g<v;g++)yield l[g]}D.slice=p;function i(l,g=Number.POSITIVE_INFINITY){const v=[];if(g===0)return[v,l];const o=l[Symbol.iterator]();for(let _=0;_<g;_++){const L=o.next();if(L.done)return[v,D.empty()];v.push(L.value)}return[v,{[Symbol.iterator](){return o}}]}D.consume=i;function r(l,g,v=(o,_)=>o===_){const o=l[Symbol.iterator](),_=g[Symbol.iterator]();for(;;){const L=o.next(),E=_.next();if(L.done!==E.done)return!1;if(L.done)return!0;if(!v(L.value,E.value))return!1}}D.equals=r})(A=n.Iterable||(n.Iterable={}))}),j(z[17],G([0,1]),function(F,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.KeyChord=n.KeyCodeUtils=n.IMMUTABLE_KEY_CODE_TO_CODE=n.IMMUTABLE_CODE_TO_KEY_CODE=n.NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE=n.EVENT_KEY_CODE_MAP=void 0;class A{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(f,m){this._keyCodeToStr[f]=m,this._strToKeyCode[m.toLowerCase()]=f}keyCodeToStr(f){return this._keyCodeToStr[f]}strToKeyCode(f){return this._strToKeyCode[f.toLowerCase()]||0}}const D=new A,w=new A,s=new A;n.EVENT_KEY_CODE_MAP=new Array(230),n.NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE={};const d=[],a=Object.create(null),u=Object.create(null);n.IMMUTABLE_CODE_TO_KEY_CODE=[],n.IMMUTABLE_KEY_CODE_TO_CODE=[];for(let e=0;e<=193;e++)n.IMMUTABLE_CODE_TO_KEY_CODE[e]=-1;for(let e=0;e<=126;e++)n.IMMUTABLE_KEY_CODE_TO_CODE[e]=-1;(function(){const e="",f=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",e,e],[0,1,1,"Hyper",0,e,0,e,e,e],[0,1,2,"Super",0,e,0,e,e,e],[0,1,3,"Fn",0,e,0,e,e,e],[0,1,4,"FnLock",0,e,0,e,e,e],[0,1,5,"Suspend",0,e,0,e,e,e],[0,1,6,"Resume",0,e,0,e,e,e],[0,1,7,"Turbo",0,e,0,e,e,e],[0,1,8,"Sleep",0,e,0,"VK_SLEEP",e,e],[0,1,9,"WakeUp",0,e,0,e,e,e],[31,0,10,"KeyA",31,"A",65,"VK_A",e,e],[32,0,11,"KeyB",32,"B",66,"VK_B",e,e],[33,0,12,"KeyC",33,"C",67,"VK_C",e,e],[34,0,13,"KeyD",34,"D",68,"VK_D",e,e],[35,0,14,"KeyE",35,"E",69,"VK_E",e,e],[36,0,15,"KeyF",36,"F",70,"VK_F",e,e],[37,0,16,"KeyG",37,"G",71,"VK_G",e,e],[38,0,17,"KeyH",38,"H",72,"VK_H",e,e],[39,0,18,"KeyI",39,"I",73,"VK_I",e,e],[40,0,19,"KeyJ",40,"J",74,"VK_J",e,e],[41,0,20,"KeyK",41,"K",75,"VK_K",e,e],[42,0,21,"KeyL",42,"L",76,"VK_L",e,e],[43,0,22,"KeyM",43,"M",77,"VK_M",e,e],[44,0,23,"KeyN",44,"N",78,"VK_N",e,e],[45,0,24,"KeyO",45,"O",79,"VK_O",e,e],[46,0,25,"KeyP",46,"P",80,"VK_P",e,e],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",e,e],[48,0,27,"KeyR",48,"R",82,"VK_R",e,e],[49,0,28,"KeyS",49,"S",83,"VK_S",e,e],[50,0,29,"KeyT",50,"T",84,"VK_T",e,e],[51,0,30,"KeyU",51,"U",85,"VK_U",e,e],[52,0,31,"KeyV",52,"V",86,"VK_V",e,e],[53,0,32,"KeyW",53,"W",87,"VK_W",e,e],[54,0,33,"KeyX",54,"X",88,"VK_X",e,e],[55,0,34,"KeyY",55,"Y",89,"VK_Y",e,e],[56,0,35,"KeyZ",5
Line truncated
|
||||
`).slice(3).join(`
|
||||
`),i=this._stacks.get(p)||0;if(this._stacks.set(p,i+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=S*.5;let r,l=0;for(const[g,v]of this._stacks)(!r||l<v)&&(r=g,l=v);console.warn(`[${this.name}] potential listener LEAK detected, having ${h} listeners already. MOST frequent listener (${l}):`),console.warn(r)}return()=>{const r=this._stacks.get(p)||0;this._stacks.set(p,r-1)}}}class C{constructor(h){var S;this._disposed=!1,this._options=h,this._leakageMon=u>0?new c(this._options&&this._options.leakWarningThreshold):void 0,this._perfMon=((S=this._options)===null||S===void 0?void 0:S._profName)?new a(this._options._profName):void 0}get event(){return this._event||(this._event=(h,S,p)=>{var i;this._listeners||(this._listeners=new w.LinkedList);const r=this._listeners.isEmpty();r&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const l=this._listeners.push(S?[h,S]:h);r&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,h,S);const g=(i=this._leakageMon)===null||i===void 0?void 0:i.check(this._listeners.size),v=(0,D.toDisposable)(()=>{g&&g(),this._disposed||(l(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))});return p instanceof D.DisposableStore?p.add(v):Array.isArray(p)&&p.push(v),v}),this._event}fire(h){var S,p;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new w.LinkedList);for(let i of this._listeners)this._deliveryQueue.push([i,h]);for((S=this._perfMon)===null||S===void 0||S.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[i,r]=this._deliveryQueue.shift();try{typeof i=="function"?i.call(void 0,r):i[0].call(i[1],r)}catch(l){(0,A.onUnexpectedError)(l)}}(p=this._perfMon)===null||p===void 0||p.stop()}}dispose(){var h,S,p,i,r;this._disposed||(this._disposed=!0,(h=this._listeners)===null||h===void 0||h.clear(),(S=this._deliveryQueue)===null||S===void 0||S.clear(),(i=(p=this._options)===null||p===void 0?void 0:p.onLastListenerRemove)===null||i===void 0||i.call(p),(r=this._leakageMon)===null||r===void 0||r.dispose())}}n.Emitter=C;class e extends C{constructor(h){super(h);this._isPaused=0,this._eventQueue=new w.LinkedList,this._mergeFn=h==null?void 0:h.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused==0)if(this._mergeFn){const h=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(h))}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(h){this._listeners&&(this._isPaused!==0?this._eventQueue.push(h):super.fire(h))}}n.PauseableEmitter=e;class f extends e{constructor(h){var S;super(h);this._delay=(S=h.delay)!==null&&S!==void 0?S:100}fire(h){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(h)}}n.DebounceEmitter=f;class m{constructor(){this.buffers=[]}wrapEvent(h){return(S,p,i)=>h(r=>{const l=this.buffers[this.buffers.length-1];l?l.push(()=>S.call(p,r)):S.call(p,r)},void 0,i)}bufferEvents(h){const S=[];this.buffers.push(S);const p=h();return this.buffers.pop(),S.forEach(i=>i()),p}}n.EventBufferer=m;class N{constructor(){this.listening=!1,this.inputEvent=d.None,this.inputEventListener=D.Disposable.None,this.emitter=new C({onFirstListenerDidAdd:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onLastListenerRemove:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(h){this.inputEvent=h,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=h(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}n.Relay=N}),j(z[21],G([0,1,5]),function(F,n,A){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.CancellationTokenSource=n.CancellationToken=void 0;const D=Object.freeze(function(a,u){const c=setTimeout(a.bind(u),0);return{dispose(){clearTimeout(c)}}});var w;(function(a){function u(c){return c===a.None||c===a.Cancelled||c instanceof s?!0:!c||typeof c!="object"?!1:typeof c.isCancellationRequested=="boolean"&&typeof c.onCancellationRequested=="function"}a.isCancellationToken=u,a.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:A.Event.None}),a.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:D})})(w=n.CancellationToken||(n.CancellationToken={}));class s{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?D:(this._emitter||(this._emitter=new A.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),t
Line truncated
|
||||
${m}
|
||||
})`}}):void 0;function s(){try{return(w?self.eval(w.createScript("","true")):new Function("true")).call(self),!0}catch(C){return!1}}function d(){return new Promise((C,e)=>{if(typeof self.define=="function"&&self.define.amd)return C();const f=D+"vs/loader.js";if(!(/^((http:)|(https:)|(file:))/.test(f)&&f.substring(0,self.origin.length)!==self.origin)&&s()){fetch(f).then(N=>{if(N.status!==200)throw new Error(N.statusText);return N.text()}).then(N=>{N=`${N}
|
||||
//# sourceURL=${f}`,(w?self.eval(w.createScript("",N)):new Function(N)).call(self),C()}).then(void 0,e);return}w?importScripts(w.createScriptURL(f)):importScripts(f),C()})}const a=function(C){d().then(()=>{require.config({baseUrl:D,catchError:!0,trustedTypesPolicy:w,amdModulesPattern:/^vs\//}),require([C],function(e){setTimeout(function(){let f=e.create((m,N)=>{self.postMessage(m,N)},null);for(self.onmessage=m=>f.onmessage(m.data,m.ports);c.length>0;)self.onmessage(c.shift())},0)})})};let u=!0,c=[];self.onmessage=C=>{if(!u){c.push(C);return}u=!1,a(C.data)}}()}).call(this);
|
||||
|
||||
//# sourceMappingURL=../../../../min-maps/vs/base/worker/workerMain.js.map
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/abap/abap",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={comments:{lineComment:"*"},brackets:[["[","]"],["(",")"]]},t.language={defaultToken:"invalid",ignoreCase:!0,tokenPostfix:".abap",keywords:["abap-source","abbreviated","abstract","accept","accepting","according","activation","actual","add","add-corresponding","adjacent","after","alias","aliases","align","all","allocate","alpha","analysis","analyzer","and","append","appendage","appending","application","archive","area","arithmetic","as","ascending","aspect","assert","assign","assigned","assigning","association","asynchronous","at","attributes","authority","authority-check","avg","back","background","backup","backward","badi","base","before","begin","between","big","binary","bintohex","bit","black","blank","blanks","blob","block","blocks","blue","bound","boundaries","bounds","boxed","break-point","buffer","by","bypassing","byte","byte-order","call","calling","case","cast","casting","catch","center","centered","chain","chain-input","chain-request","change","changing","channels","character","char-to-hex","check","checkbox","ci_","circular","class","class-coding","class-data","class-events","class-methods","class-pool","cleanup","clear","client","clob","clock","close","coalesce","code","coding","col_background","col_group","col_heading","col_key","col_negative","col_normal","col_positive","col_total","collect","color","column","columns","comment","comments","commit","common","communication","comparing","component","components","compression","compute","concat","concat_with_space","concatenate","cond","condense","condition","connect","connection","constants","context","contexts","continue","control","controls","conv","conversion","convert","copies","copy","corresponding","country","cover","cpi","create","creating","critical","currency","currency_conversion","current","cursor","cursor-selection","customer","customer-function","dangerous","data","database","datainfo","dataset","date","dats_add_days","dats_add_months","dats_days_between","dats_is_valid","daylight","dd/mm/yy","dd/mm/yyyy","ddmmyy","deallocate","decimal_shift","decimals","declarations","deep","default","deferred","define","defining","definition","delete","deleting","demand","department","descending","describe","destination","detail","dialog","directory","disconnect","display","display-mode","distinct","divide","divide-corresponding","division","do","dummy","duplicate","duplicates","duration","during","dynamic","dynpro","edit","editor-call","else","elseif","empty","enabled","enabling","encoding","end","endat","endcase","endcatch","endchain","endclass","enddo","endenhancement","end-enhancement-section","endexec","endform","endfunction","endian","endif","ending","endinterface","end-lines","endloop","endmethod","endmodule","end-of-definition","end-of-editing","end-of-file","end-of-page","end-of-selection","endon","endprovide","endselect","end-test-injection","end-test-seam","endtry","endwhile","endwith","engineering","enhancement","enhancement-point","enhancements","enhancement-section","entries","entry","enum","environment","equiv","errormessage","errors","escaping","event","events","exact","except","exception","exceptions","exception-table","exclude","excluding","exec","execute","exists","exit","exit-command","expand","expanding","expiration","explicit","exponent","export","exporting","extend","extended","extension","extract","fail","fetch","field","field-groups","fields","field-symbol","field-symbols","file","filter","filters","filter-table","final","find","first","first-line","fixed-point","fkeq","fkge","flush","font","for","form","format","forward","found","frame","frames","free","friends","from","function","functionality","function-pool","further","gaps","generate","get","giving","gkeq","gkge","global","grant","green","group","groups","handle","handler","harmless","hashed","having","hdb","header","headers","heading","head-lines","help-id","help-request","hextobin","hide","high","hint","hold","hotspot","icon","id","identification","identifier","ids","if","ignore","ignoring","immediately","implementation","implementations","implemented","implicit","import","importing","in","inactive","incl","include","includes","including","increment","index","index-line","infotypes","inheriting","init","initial","initialization","inner","inout","input","insert","instance","instances","instr","intensified","interface","interface-pool","interfaces","internal","intervals","into","inverse","inverted-date","is","iso","job","join","keep","keeping","kernel","key","keys","keywords","kind","language","last","late","layout","leading","leave","left","left-justified","leftplus","leftspace","legacy","length","let","level","levels","like","line","lines","line-count","linefeed","line-selection","line-size","list","listbox","list-processing","little","llang","load","load-of-program","lob","local","locale","locator","Line truncated
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/apex/apex",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),end:new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")}}};var s=[];["abstract","activate","and","any","array","as","asc","assert","autonomous","begin","bigdecimal","blob","boolean","break","bulk","by","case","cast","catch","char","class","collect","commit","const","continue","convertcurrency","decimal","default","delete","desc","do","double","else","end","enum","exception","exit","export","extends","false","final","finally","float","for","from","future","get","global","goto","group","having","hint","if","implements","import","in","inner","insert","instanceof","int","interface","into","join","last_90_days","last_month","last_n_days","last_week","like","limit","list","long","loop","map","merge","native","new","next_90_days","next_month","next_n_days","next_week","not","null","nulls","number","object","of","on","or","outer","override","package","parallel","pragma","private","protected","public","retrieve","return","returning","rollback","savepoint","search","select","set","short","sort","stat","static","strictfp","super","switch","synchronized","system","testmethod","then","this","this_month","this_week","throw","throws","today","tolabel","tomorrow","transaction","transient","trigger","true","try","type","undelete","update","upsert","using","virtual","void","volatile","webservice","when","where","while","yesterday"].forEach((function(e){s.push(e),s.push(e.toUpperCase()),s.push(function(e){return e.charAt(0).toUpperCase()+e.substr(1)}(e))})),t.language={defaultToken:"",tokenPostfix:".apex",keywords:s,operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[/[a-z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/[A-Z][\w\$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"type.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@apexdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],apexdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}}}));
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/azcli/azcli",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={comments:{lineComment:"#"}},t.language={defaultToken:"keyword",ignoreCase:!0,tokenPostfix:".azcli",str:/[^#\s]/,tokenizer:{root:[{include:"@comment"},[/\s-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}]],type:[{include:"@comment"},[/-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":"key.identifier"}}],[/@str+\s*/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}]],comment:[[/#.*$/,{cases:{"@eos":{token:"comment",next:"@popall"}}}]]}}}));
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/bat/bat",["require","exports"],(function(e,s){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.language=s.conf=void 0,s.conf={comments:{lineComment:"REM"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*(::\\s*|REM\\s+)#region"),end:new RegExp("^\\s*(::\\s*|REM\\s+)#endregion")}}},s.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".bat",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=><!~?&|+\-*\/\^;\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)(rem(?:\s.*|))$/,["","comment"]],[/(\@?)(@keywords)(?!\w)/,[{token:"keyword"},{token:"keyword.$2"}]],[/[ \t\r\n]+/,""],[/setlocal(?!\w)/,"keyword.tag-setlocal"],[/endlocal(?!\w)/,"keyword.tag-setlocal"],[/[a-zA-Z_]\w*/,""],[/:\w*/,"metatag"],[/%[^%]+%/,"variable"],[/%%[\w]+(?!\w)/,"variable"],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],string:[[/[^\\"'%]+/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/%[\w ]+%/,"variable"],[/%%[\w]+(?!\w)/,"variable"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/$/,"string","@popall"]]}}}));
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/bicep/bicep",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.language=n.conf=void 0;var t="\\b"+"[_a-zA-Z][_a-zA-Z0-9]*"+"\\b";n.conf={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'"},{open:"'''",close:"'''"}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:"'''",close:"'''",notIn:["string","comment"]}],autoCloseBefore:":.,=}])' \n\t",indentationRules:{increaseIndentPattern:new RegExp("^((?!\\/\\/).)*(\\{[^}\"'`]*|\\([^)\"'`]*|\\[[^\\]\"'`]*)$"),decreaseIndentPattern:new RegExp("^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]].*$")}},n.language={defaultToken:"",tokenPostfix:".bicep",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],symbols:/[=><!~?:&|+\-*/^%]+/,keywords:["targetScope","resource","module","param","var","output","for","in","if","existing"],namedLiterals:["true","false","null"],escapes:"\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\${)",tokenizer:{root:[{include:"@expression"},{include:"@whitespace"}],stringVerbatim:[{regex:"(|'|'')[^']",action:{token:"string"}},{regex:"'''",action:{token:"string.quote",next:"@pop"}}],stringLiteral:[{regex:"\\${",action:{token:"delimiter.bracket",next:"@bracketCounting"}},{regex:"[^\\\\'$]+",action:{token:"string"}},{regex:"@escapes",action:{token:"string.escape"}},{regex:"\\\\.",action:{token:"string.escape.invalid"}},{regex:"'",action:{token:"string",next:"@pop"}}],bracketCounting:[{regex:"{",action:{token:"delimiter.bracket",next:"@bracketCounting"}},{regex:"}",action:{token:"delimiter.bracket",next:"@pop"}},{include:"expression"}],comment:[{regex:"[^\\*]+",action:{token:"comment"}},{regex:"\\*\\/",action:{token:"comment",next:"@pop"}},{regex:"[\\/*]",action:{token:"comment"}}],whitespace:[{regex:"[ \\t\\r\\n]"},{regex:"\\/\\*",action:{token:"comment",next:"@comment"}},{regex:"\\/\\/.*$",action:{token:"comment"}}],expression:[{regex:"'''",action:{token:"string.quote",next:"@stringVerbatim"}},{regex:"'",action:{token:"string.quote",next:"@stringLiteral"}},{regex:"[0-9]+",action:{token:"number"}},{regex:t,action:{cases:{"@keywords":{token:"keyword"},"@namedLiterals":{token:"keyword"},"@default":{token:"identifier"}}}}]}}}));
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/cameligo/cameligo",["require","exports"],(function(e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.language=o.conf=void 0,o.conf={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'},{open:"(*",close:"*)"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'},{open:"(*",close:"*)"}]},o.language={defaultToken:"",tokenPostfix:".cameligo",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["abs","assert","block","Bytes","case","Crypto","Current","else","failwith","false","for","fun","if","in","let","let%entry","let%init","List","list","Map","map","match","match%nat","mod","not","operation","Operation","of","record","Set","set","sender","skip","source","String","then","to","true","type","with"],typeKeywords:["int","unit","string","tz","nat","bool"],operators:["=",">","<","<=",">=","<>",":",":=","and","mod","or","+","-","*","/","@","&","^","%","->","<-","&&","||"],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\$[0-9a-fA-F]{1,16}/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'/,"string","@string"],[/'[^\\']'/,"string"],[/'/,"string.invalid"],[/\#\d+/,"string"]],comment:[[/[^\(\*]+/,"comment"],[/\*\)/,"comment","@pop"],[/\(\*/,"comment"]],string:[[/[^\\']+/,"string"],[/\\./,"string.escape.invalid"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\(\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}}));
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/clojure/clojure",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={comments:{lineComment:";;"},brackets:[["[","]"],["(",")"],["{","}"]],autoClosingPairs:[{open:"[",close:"]"},{open:'"',close:'"'},{open:"(",close:")"},{open:"{",close:"}"}],surroundingPairs:[{open:"[",close:"]"},{open:'"',close:'"'},{open:"(",close:")"},{open:"{",close:"}"}]},t.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".clj",brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"}],constants:["true","false","nil"],numbers:/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,characters:/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,escapes:/^\\(?:["'\\bfnrt]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,qualifiedSymbols:/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/,specialForms:[".","catch","def","do","if","monitor-enter","monitor-exit","new","quote","recur","set!","throw","try","var"],coreSymbols:["*","*'","*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-namespace-maps*","*print-readably*","*read-eval*","*reader-resolver*","*source-path*","*suppress-read*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","+","+'","-","-'","->","->>","->ArrayChunk","->Eduction","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods","..","/","<","<=","=","==",">",">=","EMPTY-NODE","Inst","StackTraceElement->vec","Throwable->map","accessor","aclone","add-classpath","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","amap","ancestors","and","any?","apply","areduce","array-map","as->","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assert","assoc","assoc!","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","binding","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","boolean?","booleans","bound-fn","bound-fn*","bound?","bounded-count","butlast","byte","byte-array","bytes","bytes?","case","cast","cat","char","char-array","char-escape-string","char-name-string","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","coll?","comment","commute","comp","comparator","compare","compare-and-set!","compile","complement","completing","concat","cond","cond->","cond->>","condp","conj","conj!","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","declare","dedupe","default-data-readers","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","delay","delay?","deliver","denominator","deref","derive","descendants","destructure","disj","disj!","dissoc","dissoc!","distinct","distinct?","doall","dorun","doseq","dosync","dotimes","doto","double","double-array","double?","doubles","drop","drop-last","drop-while","eduction","empty","empty?","ensure","ensure-reduced","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-data","ex-info","extend","extend-protocol","extend-type","extenders","extends?","false?","ffirst","file-seq","filter","filterv","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn","fn?","fnext","fnil","for","force","format","frequencies","future","future-call","future-cancel","future-cancelled?","future-done?","future?","gen-class","gen-interface","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","halt-when","hash","hash-combine","hash-map","hash-ordered-coll","hash-set","hash-unordered-coll","ident?","identical?","identity","if-let","if-not","if-some","ifn?","import","in-ns","inc","inc'","indexed?","init-proxy","inst-ms","inst-ms*","inst?","instance?","int","int-array","int?","integer?","interLine truncated
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/coffee/coffee",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.language=n.conf=void 0,n.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{blockComment:["###","###"],lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},n.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".coffee",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],regEx:/\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,keywords:["and","or","is","isnt","not","on","yes","@","no","off","true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","if","else","switch","for","while","do","try","catch","finally","class","extends","super","undefined","then","unless","until","loop","of","by","when"],symbols:/[=><!~?&%|+\-*\/\^\.,\:]+/,escapes:/\\(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\@[a-zA-Z_]\w*/,"variable.predefined"],[/[a-zA-Z_]\w*/,{cases:{this:"variable.predefined","@keywords":{token:"keyword.$0"},"@default":""}}],[/[ \t\r\n]+/,""],[/###/,"comment","@comment"],[/#.*$/,"comment"],["///",{token:"regexp",next:"@hereregexp"}],[/^(\s*)(@regEx)/,["","regexp"]],[/(\()(\s*)(@regEx)/,["@brackets","","regexp"]],[/(\,)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\=)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\:)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\[)(\s*)(@regEx)/,["@brackets","","regexp"]],[/(\!)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\&)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\|)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\?)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\{)(\s*)(@regEx)/,["@brackets","","regexp"]],[/(\;)(\s*)(@regEx)/,["","","regexp"]],[/}/,{cases:{"$S2==interpolatedstring":{token:"string",next:"@pop"},"@default":"@brackets"}}],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/0[0-7]+(?!\d)/,"number.octal"],[/\d+/,"number"],[/[,.]/,"delimiter"],[/"""/,"string",'@herestring."""'],[/'''/,"string","@herestring.'''"],[/"/,{cases:{"@eos":"string","@default":{token:"string",next:'@string."'}}}],[/'/,{cases:{"@eos":"string","@default":{token:"string",next:"@string.'"}}}]],string:[[/[^"'\#\\]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/\./,"string.escape.invalid"],[/#{/,{cases:{'$S2=="':{token:"string",next:"root.interpolatedstring"},"@default":"string"}}],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/#/,"string"]],herestring:[[/("""|''')/,{cases:{"$1==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/[^#\\'"]+/,"string"],[/['"]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/#{/,{token:"string.quote",next:"root.interpolatedstring"}],[/#/,"string"]],comment:[[/[^#]+/,"comment"],[/###/,"comment","@pop"],[/#/,"comment"]],hereregexp:[[/[^\\\/#]+/,"regexp"],[/\\./,"regexp"],[/#.*$/,"comment"],["///[igm]*",{token:"regexp",next:"@pop"}],[/\//,"regexp"]]}}}));
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/cpp/cpp",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.language=n.conf=void 0,n.conf={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},n.language={defaultToken:"",tokenPostfix:".cpp",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["abstract","amp","array","auto","bool","break","case","catch","char","class","const","constexpr","const_cast","continue","cpu","decltype","default","delegate","delete","do","double","dynamic_cast","each","else","enum","event","explicit","export","extern","false","final","finally","float","for","friend","gcnew","generic","goto","if","in","initonly","inline","int","interface","interior_ptr","internal","literal","long","mutable","namespace","new","noexcept","nullptr","__nullptr","operator","override","partial","pascal","pin_ptr","private","property","protected","public","ref","register","reinterpret_cast","restrict","return","safe_cast","sealed","short","signed","sizeof","static","static_assert","static_cast","struct","switch","template","this","thread_local","throw","tile_static","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","where","while","_asm","_based","_cdecl","_declspec","_fastcall","_if_exists","_if_not_exists","_inline","_multiple_inheritance","_pascal","_single_inheritance","_stdcall","_virtual_inheritance","_w64","__abstract","__alignof","__asm","__assume","__based","__box","__builtin_alignof","__cdecl","__clrcall","__declspec","__delegate","__event","__except","__fastcall","__finally","__forceinline","__gc","__hook","__identifier","__if_exists","__if_not_exists","__inline","__int128","__int16","__int32","__int64","__int8","__interface","__leave","__m128","__m128d","__m128i","__m256","__m256d","__m256i","__m64","__multiple_inheritance","__newslot","__nogc","__noop","__nounwind","__novtordisp","__pascal","__pin","__pragma","__property","__ptr32","__ptr64","__raise","__restrict","__resume","__sealed","__single_inheritance","__stdcall","__super","__thiscall","__try","__try_cast","__typeof","__unaligned","__unhook","__uuidof","__value","__virtual_inheritance","__w64","__wchar_t"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,integersuffix:/([uU](ll|LL|l|L)|(ll|LL|l|L)?[uU]?)/,floatsuffix:/[fFlL]?/,encoding:/u|u8|U|L/,tokenizer:{root:[[/@encoding?R\"(?:([^ ()\\\t]*))\(/,{token:"string.raw.begin",next:"@raw.$1"}],[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/^\s*#\s*include/,{token:"keyword.directive.include",next:"@include"}],[/^\s*#\s*\w+/,"keyword.directive"],{include:"@whitespace"},[/\[\s*\[/,{token:"annotation",next:"@annotation"}],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*\\$/,"comment","@linecomment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],linecomment:[[/.*[^\\]$/,"comment","@pop"],[/[^]+/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],raw:[[/(.*)(\))(?:([^ ()\\\t"]*))(\")/,{cases:{"$3==$S2":["string.raw","string.raw.end","string.raw.end",{token:"string.raw.end",next:"@pop"}],"@default":["string.raw","string.raw","string.raw","string.raw"]}}],[/.*/,"string.raw"]],annotation:[{include:"@whitespace"Line truncated
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/csharp/csharp",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\$\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},t.language={defaultToken:"",tokenPostfix:".cs",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["extern","alias","using","bool","decimal","sbyte","byte","short","ushort","int","uint","long","ulong","char","float","double","object","dynamic","string","assembly","is","as","ref","out","this","base","new","typeof","void","checked","unchecked","default","delegate","var","const","if","else","switch","case","while","do","for","foreach","in","break","continue","goto","return","throw","try","catch","finally","lock","yield","from","let","where","join","on","equals","into","orderby","ascending","descending","select","group","by","namespace","partial","class","field","event","method","param","public","protected","internal","private","abstract","sealed","static","struct","readonly","volatile","virtual","override","params","get","set","add","remove","operator","true","false","implicit","explicit","interface","enum","null","async","await","fixed","sizeof","stackalloc","unsafe","nameof","when"],namespaceFollows:["namespace","using"],parenFollows:["if","for","while","switch","foreach","using","catch","when"],operators:["=","??","||","&&","|","^","&","==","!=","<=",">=","<<","+","-","*","/","%","!","~","++","--","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=",">>","=>"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\@?[a-zA-Z_]\w*/,{cases:{"@namespaceFollows":{token:"keyword.$0",next:"@namespace"},"@keywords":{token:"keyword.$0",next:"@qualified"},"@default":{token:"identifier",next:"@qualified"}}}],{include:"@whitespace"},[/}/,{cases:{"$S2==interpolatedstring":{token:"string.quote",next:"@pop"},"$S2==litinterpstring":{token:"string.quote",next:"@pop"},"@default":"@brackets"}}],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?[fFdD]?/,"number.float"],[/0[xX][0-9a-fA-F_]+/,"number.hex"],[/0[bB][01_]+/,"number.hex"],[/[0-9_]+/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",next:"@string"}],[/\$\@"/,{token:"string.quote",next:"@litinterpstring"}],[/\@"/,{token:"string.quote",next:"@litstring"}],[/\$"/,{token:"string.quote",next:"@interpolatedstring"}],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],qualified:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/\./,"delimiter"],["","","@pop"]],namespace:[{include:"@whitespace"},[/[A-Z]\w*/,"namespace"],[/[\.=]/,"delimiter"],["","","@pop"]],comment:[[/[^\/*]+/,"comment"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",next:"@pop"}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]],litinterpstring:[[/[^"{]+/,"string"],[/""/,"string.escape"],[/{{/,"string.escape"],[/}}/,"string.escape"],[/{/,{token:"string.quote",next:"root.litinterpstring"}],[/"/,{token:"string.quote",next:"@pop"}]],interpolatedstring:[[/[^\\"{]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/{{/,"string.escape"],[/}}/,"string.escape"],[/{/,{token:"string.quote",next:"root.interpolatedstring"}],[/"/,{token:"string.quote",next:"@pop"}]],whitespace:[[/^[ \t\v\f]*#((r)|(load))(?=\s)/,"directive.csx"],[/^[ \t\v\f]*#\w.*$/,"namespace.cpp"],[/[ \t\v\f\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}}));
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/csp/csp",["require","exports"],(function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.language=e.conf=void 0,e.conf={brackets:[],autoClosingPairs:[],surroundingPairs:[]},e.language={keywords:[],typeKeywords:[],tokenPostfix:".csp",operators:[],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/child-src/,"string.quote"],[/connect-src/,"string.quote"],[/default-src/,"string.quote"],[/font-src/,"string.quote"],[/frame-src/,"string.quote"],[/img-src/,"string.quote"],[/manifest-src/,"string.quote"],[/media-src/,"string.quote"],[/object-src/,"string.quote"],[/script-src/,"string.quote"],[/style-src/,"string.quote"],[/worker-src/,"string.quote"],[/base-uri/,"string.quote"],[/plugin-types/,"string.quote"],[/sandbox/,"string.quote"],[/disown-opener/,"string.quote"],[/form-action/,"string.quote"],[/frame-ancestors/,"string.quote"],[/report-uri/,"string.quote"],[/report-to/,"string.quote"],[/upgrade-insecure-requests/,"string.quote"],[/block-all-mixed-content/,"string.quote"],[/require-sri-for/,"string.quote"],[/reflected-xss/,"string.quote"],[/referrer/,"string.quote"],[/policy-uri/,"string.quote"],[/'self'/,"string.quote"],[/'unsafe-inline'/,"string.quote"],[/'unsafe-eval'/,"string.quote"],[/'strict-dynamic'/,"string.quote"],[/'unsafe-hashed-attributes'/,"string.quote"]]}}}));
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/css/css",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={wordPattern:/(#?-?\d*\.\d\w*%?)|((::|[@#.!:])?[\w-?]+%?)|::|[@#.!:]/g,comments:{blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},t.language={defaultToken:"",tokenPostfix:".css",ws:"[ \t\n\r\f]*",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.bracket"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@selector"}],selector:[{include:"@comments"},{include:"@import"},{include:"@strings"},["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",{token:"keyword",next:"@keyframedeclaration"}],["[@](page|content|font-face|-moz-document)",{token:"keyword"}],["[@](charset|namespace)",{token:"keyword",next:"@declarationbody"}],["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@selectorname"},["[\\*]","tag"],["[>\\+,]","delimiter"],["\\[",{token:"delimiter.bracket",next:"@selectorattribute"}],["{",{token:"delimiter.bracket",next:"@selectorbody"}]],selectorbody:[{include:"@comments"},["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))","attribute.name","@rulevalue"],["}",{token:"delimiter.bracket",next:"@pop"}]],selectorname:[["(\\.|#(?=[^{])|%|(@identifier)|:)+","tag"]],selectorattribute:[{include:"@term"},["]",{token:"delimiter.bracket",next:"@pop"}]],term:[{include:"@comments"},["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@functioninvocation"},{include:"@numbers"},{include:"@name"},{include:"@strings"},["([<>=\\+\\-\\*\\/\\^\\|\\~,])","delimiter"],[",","delimiter"]],rulevalue:[{include:"@comments"},{include:"@strings"},{include:"@term"},["!important","keyword"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],warndebug:[["[@](warn|debug)",{token:"keyword",next:"@declarationbody"}]],import:[["[@](import)",{token:"keyword",next:"@declarationbody"}]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],parenthizedterm:[{include:"@term"},["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],declarationbody:[{include:"@term"},[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[/[^*/]+/,"comment"],[/./,"comment"]],name:[["@identifier","attribute.value"]],numbers:[["-?(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],keyframedeclaration:[["@identifier","attribute.value"],["{",{token:"delimiter.bracket",switchTo:"@keyframebody"}]],keyframebody:[{include:"@term"},["{",{token:"delimiter.bracket",next:"@selectorbody"}],["}",{token:"delimiter.bracket",next:"@pop"}]],functioninvocation:[["@identifier\\(",{token:"attribute.value",next:"@functionarguments"}]],functionarguments:[["\\$@identifier@ws:","attribute.name"],["[,]","delimiter"],{include:"@term"},["\\)",{token:"attribute.value",next:"@pop"}]],strings:[['~?"',{token:"string",next:"@stringenddoublequote"}],["~?'",{token:"string",next:"@stringendquote"}]],stringenddoublequote:[["\\\\.","string"],['"',{token:"string",next:"@pop"}],[/[^\\"]+/,"string"],[".","string"]],stringendquote:[["\\\\.","string"],["'",{token:"string",next:"@pop"}],[/[^\\']+/,"string"],[".","string"]]}}}));
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/dart/dart",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.language=n.conf=void 0,n.conf={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:"(",close:")"},{open:'"',close:'"'},{open:"`",close:"`"}],folding:{markers:{start:/^\s*\s*#?region\b/,end:/^\s*\s*#?endregion\b/}}},n.language={defaultToken:"invalid",tokenPostfix:".dart",keywords:["abstract","dynamic","implements","show","as","else","import","static","assert","enum","in","super","async","export","interface","switch","await","extends","is","sync","break","external","library","this","case","factory","mixin","throw","catch","false","new","true","class","final","null","try","const","finally","on","typedef","continue","for","operator","var","covariant","Function","part","void","default","get","rethrow","while","deferred","hide","return","with","do","if","set","yield"],typeKeywords:["int","double","String","bool"],operators:["+","-","*","/","~/","%","++","--","==","!=",">","<",">=","<=","=","-=","/=","%=",">>=","^=","+=","*=","~/=","<<=","&=","!=","||","&&","&","|","^","~","<<",">>","!",">>>","??","?",":","|="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,"delimiter.bracket"],{include:"common"}],common:[[/[a-z_$][\w$]*/,{cases:{"@typeKeywords":"type.identifier","@keywords":"keyword","@default":"identifier"}}],[/[A-Z_$][\w\$]*/,"type.identifier"],{include:"@whitespace"},[/\/(?=([^\\\/]|\\.)+\/([gimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,{token:"regexp",bracket:"@open",next:"@regexp"}],[/@[a-zA-Z]+/,"annotation"],[/[()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)n?/,"number.hex"],[/0[oO]?(@octaldigits)n?/,"number.octal"],[/0[bB](@binarydigits)n?/,"number.binary"],[/(@digits)n?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/\/.*$/,"comment.doc"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([gimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"\$]+/,"string"],[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"],[/\$\w+/,"identifier"]],string_single:[[/[^\\'\$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"],[/\$\w+/,"identifier"]]}}}));
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/dockerfile/dockerfile",["require","exports"],(function(e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.language=o.conf=void 0,o.conf={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},o.language={defaultToken:"",tokenPostfix:".dockerfile",variable:/\${?[\w]+}?/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/(ONBUILD)(\s+)/,["keyword",""]],[/(ENV)(\s+)([\w]+)/,["keyword","",{token:"variable",next:"@arguments"}]],[/(FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|ENTRYPOINT)/,{token:"keyword",next:"@arguments"}]],arguments:[{include:"@whitespace"},{include:"@strings"},[/(@variable)/,{cases:{"@eos":{token:"variable",next:"@popall"},"@default":"variable"}}],[/\\/,{cases:{"@eos":"","@default":""}}],[/./,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],whitespace:[[/\s+/,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],comment:[[/(^#.*$)/,"comment","@popall"]],strings:[[/\\'$/,"","@popall"],[/\\'/,""],[/'$/,"string","@popall"],[/'/,"string","@stringBody"],[/"$/,"string","@popall"],[/"/,"string","@dblStringBody"]],stringBody:[[/[^\\\$']/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/'$/,"string","@popall"],[/'/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]],dblStringBody:[[/[^\\\$"]/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/"$/,"string","@popall"],[/"/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]]}}}));
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/ecl/ecl",["require","exports"],(function(e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.language=o.conf=void 0,o.conf={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}]},o.language={defaultToken:"",tokenPostfix:".ecl",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],pounds:["append","break","declare","demangle","end","for","getdatatype","if","inmodule","loop","mangle","onwarning","option","set","stored","uniquename"].join("|"),keywords:["__compressed__","after","all","and","any","as","atmost","before","beginc","best","between","case","cluster","compressed","compression","const","counter","csv","default","descend","embed","encoding","encrypt","end","endc","endembed","endmacro","enum","escape","except","exclusive","expire","export","extend","fail","few","fileposition","first","flat","forward","from","full","function","functionmacro","group","grouped","heading","hole","ifblock","import","in","inner","interface","internal","joined","keep","keyed","last","left","limit","linkcounted","literal","little_endian","load","local","locale","lookup","lzw","macro","many","maxcount","maxlength","min skew","module","mofn","multiple","named","namespace","nocase","noroot","noscan","nosort","not","noxpath","of","onfail","only","opt","or","outer","overwrite","packed","partition","penalty","physicallength","pipe","prefetch","quote","record","repeat","retry","return","right","right1","right2","rows","rowset","scan","scope","self","separator","service","shared","skew","skip","smart","soapaction","sql","stable","store","terminator","thor","threshold","timelimit","timeout","token","transform","trim","type","unicodeorder","unordered","unsorted","unstable","update","use","validate","virtual","whole","width","wild","within","wnotrim","xml","xpath"],functions:["abs","acos","aggregate","allnodes","apply","ascii","asin","assert","asstring","atan","atan2","ave","build","buildindex","case","catch","choose","choosen","choosesets","clustersize","combine","correlation","cos","cosh","count","covariance","cron","dataset","dedup","define","denormalize","dictionary","distribute","distributed","distribution","ebcdic","enth","error","evaluate","event","eventextra","eventname","exists","exp","fail","failcode","failmessage","fetch","fromunicode","fromxml","getenv","getisvalid","global","graph","group","hash","hash32","hash64","hashcrc","hashmd5","having","httpcall","httpheader","if","iff","index","intformat","isvalid","iterate","join","keydiff","keypatch","keyunicode","length","library","limit","ln","loadxml","local","log","loop","map","matched","matchlength","matchposition","matchtext","matchunicode","max","merge","mergejoin","min","nofold","nolocal","nonempty","normalize","nothor","notify","output","parallel","parse","pipe","power","preload","process","project","pull","random","range","rank","ranked","realformat","recordof","regexfind","regexreplace","regroup","rejected","rollup","round","roundup","row","rowdiff","sample","sequential","set","sin","sinh","sizeof","soapcall","sort","sorted","sqrt","stepped","stored","sum","table","tan","tanh","thisnode","topn","tounicode","toxml","transfer","transform","trim","truncate","typeof","ungroup","unicodeorder","variance","wait","which","workunit","xmldecode","xmlencode","xmltext","xmlunicode"],typesint:["integer","unsigned"].join("|"),typesnum:["data","qstring","string","unicode","utf8","varstring","varunicode"],typesone:["ascii","big_endian","boolean","data","decimal","ebcdic","grouped","integer","linkcounted","pattern","qstring","real","record","rule","set of","streamed","string","token","udecimal","unicode","unsigned","utf8","varstring","varunicode"].join("|"),operators:["+","-","/",":=","<","<>","=",">","\\","and","in","not","or"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/@typesint[4|8]/,"type"],[/#(@pounds)/,"type"],[/@typesone/,"type"],[/[a-zA-Z_$][\w-$]*/,{cases:{"@functions":"keyword.function","@keywords":"keyword","@operators":"operator"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]+/,"number.hex"],[/0[bB][01]+/,"number.hex"],[/[0-9_]+/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,[Line truncated
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/elixir/elixir",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'"},{open:'"',close:'"'}],autoClosingPairs:[{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["comment"]},{open:'"""',close:'"""'},{open:"`",close:"`",notIn:["string","comment"]},{open:"(",close:")"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"<<",close:">>"}],indentationRules:{increaseIndentPattern:/^\s*(after|else|catch|rescue|fn|[^#]*(do|<\-|\->|\{|\[|\=))\s*$/,decreaseIndentPattern:/^\s*((\}|\])\s*$|(after|else|catch|rescue|end)\b)/}},t.language={defaultToken:"source",tokenPostfix:".elixir",brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"<<",close:">>",token:"delimiter.angle.special"}],declarationKeywords:["def","defp","defn","defnp","defguard","defguardp","defmacro","defmacrop","defdelegate","defcallback","defmacrocallback","defmodule","defprotocol","defexception","defimpl","defstruct"],operatorKeywords:["and","in","not","or","when"],namespaceKeywords:["alias","import","require","use"],otherKeywords:["after","case","catch","cond","do","else","end","fn","for","if","quote","raise","receive","rescue","super","throw","try","unless","unquote_splicing","unquote","with"],constants:["true","false","nil"],nameBuiltin:["__MODULE__","__DIR__","__ENV__","__CALLER__","__STACKTRACE__"],operator:/-[->]?|!={0,2}|\*|\/|\\\\|&{1,3}|\.\.?|\^(?:\^\^)?|\+\+?|<(?:-|<<|=|>|\|>|~>?)?|=~|={1,3}|>(?:=|>>)?|\|~>|\|>|\|{1,3}|~>>?|~~~|::/,variableName:/[a-z_][a-zA-Z0-9_]*[?!]?/,atomName:/[a-zA-Z_][a-zA-Z0-9_@]*[?!]?|@specialAtomName|@operator/,specialAtomName:/\.\.\.|<<>>|%\{\}|%|\{\}/,aliasPart:/[A-Z][a-zA-Z0-9_]*/,moduleName:/@aliasPart(?:\.@aliasPart)*/,sigilSymmetricDelimiter:/"""|'''|"|'|\/|\|/,sigilStartDelimiter:/@sigilSymmetricDelimiter|<|\{|\[|\(/,sigilEndDelimiter:/@sigilSymmetricDelimiter|>|\}|\]|\)/,decimal:/\d(?:_?\d)*/,hex:/[0-9a-fA-F](_?[0-9a-fA-F])*/,octal:/[0-7](_?[0-7])*/,binary:/[01](_?[01])*/,escape:/\\u[0-9a-fA-F]{4}|\\x[0-9a-fA-F]{2}|\\./,tokenizer:{root:[{include:"@whitespace"},{include:"@comments"},{include:"@keywordsShorthand"},{include:"@numbers"},{include:"@identifiers"},{include:"@strings"},{include:"@atoms"},{include:"@sigils"},{include:"@attributes"},{include:"@symbols"}],whitespace:[[/\s+/,"white"]],comments:[[/(#)(.*)/,["comment.punctuation","comment"]]],keywordsShorthand:[[/(@atomName)(:)/,["constant","constant.punctuation"]],[/"(?=([^"]|#\{.*?\}|\\")*":)/,{token:"constant.delimiter",next:"@doubleQuotedStringKeyword"}],[/'(?=([^']|#\{.*?\}|\\')*':)/,{token:"constant.delimiter",next:"@singleQuotedStringKeyword"}]],doubleQuotedStringKeyword:[[/":/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],singleQuotedStringKeyword:[[/':/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],numbers:[[/0b@binary/,"number.binary"],[/0o@octal/,"number.octal"],[/0x@hex/,"number.hex"],[/@decimal\.@decimal([eE]-?@decimal)?/,"number.float"],[/@decimal/,"number"]],identifiers:[[/\b(defp?|defnp?|defmacrop?|defguardp?|defdelegate)(\s+)(@variableName)(?!\s+@operator)/,["keyword.declaration","white",{cases:{unquote:"keyword","@default":"function"}}]],[/(@variableName)(?=\s*\.?\s*\()/,{cases:{"@declarationKeywords":"keyword.declaration","@namespaceKeywords":"keyword","@otherKeywords":"keyword","@default":"function.call"}}],[/(@moduleName)(\s*)(\.)(\s*)(@variableName)/,["type.identifier","white","operator","white","function.call"]],[/(:)(@atomName)(\s*)(\.)(\s*)(@variableName)/,["constant.punctuation","constant","white","operator","white","function.call"]],[/(\|>)(\s*)(@variableName)/,["operator","white",{cases:{"@otherKeywords":"keyword","@default":"function.call"}}]],[/(&)(\s*)(@variableName)/,["operator","white","function.call"]],[/@variableName/,{cases:{"@declarationKeywords":"keyword.declaration","@operatorKeywords":"keyword.operator","@namespaceKeywords":"keyword","@otherKeywords":"keyword","@constants":"constant.language","@nameBuiltin":"variable.language","_.*":"comment.unused","@default":"identifier"}}],[/@moduleName/,"type.identifier"]],strings:[[/"""/,{token:"string.delimiter",next:"@doubleQuotedHeredoc"}],[/'''/,{token:"string.delimiter",next:"@singleQuotedHeredoc"}],[/"/,{token:"string.delimiter",next:"@doubleQuotedString"}],[/'/,{token:"string.delimiter",next:"@singleQuotedString"}]],doubleQuotedHeredoc:[[/"""/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],singleQuotedHeredoc:[[/'''/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],doubleQuotedString:[[/"/,{token:"string.delimiter",next:"@pop"}],{include:"@stringCLine truncated
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/flow9/flow9",["require","exports"],(function(e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.language=o.conf=void 0,o.conf={comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string"]},{open:"[",close:"]",notIn:["string"]},{open:"(",close:")",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}]},o.language={defaultToken:"",tokenPostfix:".flow",keywords:["import","require","export","forbid","native","if","else","cast","unsafe","switch","default"],types:["io","mutable","bool","int","double","string","flow","void","ref","true","false","with"],operators:["=",">","<","<=",">=","==","!","!=",":=","::=","&&","||","+","-","*","/","@","&","%",":","->","\\","$","??","^"],symbols:/[@$=><!~?:&|+\-*\\\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":"keyword","@types":"type","@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"delimiter"],[/[<>](?!@symbols)/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}}));
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/fsharp/fsharp",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.language=n.conf=void 0,n.conf={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)"),end:new RegExp("^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)")}}},n.language={defaultToken:"",tokenPostfix:".fs",keywords:["abstract","and","atomic","as","assert","asr","base","begin","break","checked","component","const","constraint","constructor","continue","class","default","delegate","do","done","downcast","downto","elif","else","end","exception","eager","event","external","extern","false","finally","for","fun","function","fixed","functor","global","if","in","include","inherit","inline","interface","internal","land","lor","lsl","lsr","lxor","lazy","let","match","member","mod","module","mutable","namespace","method","mixin","new","not","null","of","open","or","object","override","private","parallel","process","protected","pure","public","rec","return","static","sealed","struct","sig","then","to","true","tailcall","trait","try","type","upcast","use","val","void","virtual","volatile","when","while","with","yield"],symbols:/[=><!~?:&|+\-*\^%;\.,\/]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,integersuffix:/[uU]?[yslnLI]?/,floatsuffix:/[fFmM]?/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/\[<.*>\]/,"annotation"],[/^#(if|else|endif)/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0x[0-9a-fA-F]+LF/,"number.float"],[/0x[0-9a-fA-F]+(@integersuffix)/,"number.hex"],[/0b[0-1]+(@integersuffix)/,"number.bin"],[/\d+(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string",'@string."""'],[/"/,"string",'@string."'],[/\@"/,{token:"string.quote",next:"@litstring"}],[/'[^\\']'B?/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\(\*(?!\))/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^*(]+/,"comment"],[/\*\)/,"comment","@pop"],[/\*/,"comment"],[/\(\*\)/,"comment"],[/\(/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/("""|"B?)/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]]}}}));
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/go/go",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.language=n.conf=void 0,n.conf={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`"},{open:'"',close:'"'},{open:"'",close:"'"}]},n.language={defaultToken:"",tokenPostfix:".go",keywords:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var","bool","true","false","uint8","uint16","uint32","uint64","int8","int16","int32","int64","float32","float64","complex64","complex128","byte","rune","uint","int","uintptr","string","nil"],operators:["+","-","*","/","%","&","|","^","<<",">>","&^","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=","&^=","&&","||","<-","++","--","==","<",">","=","!","!=","<=",">=",":=","...","(",")","","]","{","}",",",";",".",":"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/\[\[.*\]\]/,"annotation"],[/^\s*#\w+/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex"],[/0[0-7']*[0-7]/,"number.octal"],[/0[bB][0-1']*[0-1]/,"number.binary"],[/\d[\d']*/,"number"],[/\d/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/`/,"string","@rawstring"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],rawstring:[[/[^\`]/,"string"],[/`/,"string","@pop"]]}}}));
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/graphql/graphql",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.language=n.conf=void 0,n.conf={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""',notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""'},{open:'"',close:'"'}],folding:{offSide:!0}},n.language={defaultToken:"invalid",tokenPostfix:".gql",keywords:["null","true","false","query","mutation","subscription","extend","schema","directive","scalar","type","interface","union","enum","input","implements","fragment","on"],typeKeywords:["Int","Float","String","Boolean","ID"],directiveLocations:["SCHEMA","SCALAR","OBJECT","FIELD_DEFINITION","ARGUMENT_DEFINITION","INTERFACE","UNION","ENUM","ENUM_VALUE","INPUT_OBJECT","INPUT_FIELD_DEFINITION","QUERY","MUTATION","SUBSCRIPTION","FIELD","FRAGMENT_DEFINITION","FRAGMENT_SPREAD","INLINE_FRAGMENT","VARIABLE_DEFINITION"],operators:["=","!","?",":","&","|"],symbols:/[=!?:&|]+/,escapes:/\\(?:["\\\/bfnrt]|u[0-9A-Fa-f]{4})/,tokenizer:{root:[[/[a-z_][\w$]*/,{cases:{"@keywords":"keyword","@default":"key.identifier"}}],[/[$][\w$]*/,{cases:{"@keywords":"keyword","@default":"argument.identifier"}}],[/[A-Z][\w\$]*/,{cases:{"@typeKeywords":"keyword","@default":"type.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,{token:"annotation",log:"annotation token: $0"}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"""/,{token:"string",next:"@mlstring",nextEmbedded:"markdown"}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}]],mlstring:[[/[^"]+/,"string"],['"""',{token:"string",next:"@pop",nextEmbedded:"@pop"}]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[/#.*$/,"comment"]]}}}));
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/handlebars/handlebars",["require","exports","../fillers/monaco-editor-core"],(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0;var a=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];t.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["{{!--","--}}"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{{","}}"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp("<(?!(?:"+a.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:n.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp("<(?!(?:"+a.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),action:{indentAction:n.languages.IndentAction.Indent}}]},t.language={defaultToken:"",tokenPostfix:"",tokenizer:{root:[[/\{\{!--/,"comment.block.start.handlebars","@commentBlock"],[/\{\{!/,"comment.start.handlebars","@comment"],[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.root"}],[/<!DOCTYPE/,"metatag.html","@doctype"],[/<!--/,"comment.html","@commentHtml"],[/(<)(\w+)(\/>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(script)/,["delimiter.html",{token:"tag.html",next:"@script"}]],[/(<)(style)/,["delimiter.html",{token:"tag.html",next:"@style"}]],[/(<)([:\w]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)(\w+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/</,"delimiter.html"],[/\{/,"delimiter.html"],[/[^<{]+/]],doctype:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.comment"}],[/[^>]+/,"metatag.content.html"],[/>/,"metatag.html","@pop"]],comment:[[/\}\}/,"comment.end.handlebars","@pop"],[/./,"comment.content.handlebars"]],commentBlock:[[/--\}\}/,"comment.block.end.handlebars","@pop"],[/./,"comment.content.handlebars"]],commentHtml:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.comment"}],[/-->/,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pLine truncated
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/hcl/hcl",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0,t.conf={comments:{lineComment:"#",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]},t.language={defaultToken:"",tokenPostfix:".hcl",keywords:["var","local","path","for_each","any","string","number","bool","true","false","null","if ","else ","endif ","for ","in","endfor"],operators:["=",">=","<=","==","!=","+","-","*","/","%","&&","||","!","<",">","?","...",":"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,terraformFunctions:/(abs|ceil|floor|log|max|min|pow|signum|chomp|format|formatlist|indent|join|lower|regex|regexall|replace|split|strrev|substr|title|trimspace|upper|chunklist|coalesce|coalescelist|compact|concat|contains|distinct|element|flatten|index|keys|length|list|lookup|map|matchkeys|merge|range|reverse|setintersection|setproduct|setunion|slice|sort|transpose|values|zipmap|base64decode|base64encode|base64gzip|csvdecode|jsondecode|jsonencode|urlencode|yamldecode|yamlencode|abspath|dirname|pathexpand|basename|file|fileexists|fileset|filebase64|templatefile|formatdate|timeadd|timestamp|base64sha256|base64sha512|bcrypt|filebase64sha256|filebase64sha512|filemd5|filemd1|filesha256|filesha512|md5|rsadecrypt|sha1|sha256|sha512|uuid|uuidv5|cidrhost|cidrnetmask|cidrsubnet|tobool|tolist|tomap|tonumber|toset|tostring)/,terraformMainBlocks:/(module|data|terraform|resource|provider|variable|output|locals)/,tokenizer:{root:[[/^@terraformMainBlocks([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)(\{)/,["type","","string","","string","","@brackets"]],[/(\w+[ \t]+)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)(\{)/,["identifier","","string","","string","","@brackets"]],[/(\w+[ \t]+)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)(=)(\{)/,["identifier","","string","","operator","","@brackets"]],{include:"@terraform"}],terraform:[[/@terraformFunctions(\()/,["type","@brackets"]],[/[a-zA-Z_]\w*-*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"variable"}}],{include:"@whitespace"},{include:"@heredoc"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\d[\d']*/,"number"],[/\d/,"number"],[/[;,.]/,"delimiter"],[/"/,"string","@string"],[/'/,"invalid"]],heredoc:[[/<<[-]*\s*["]?([\w\-]+)["]?/,{token:"string.heredoc.delimiter",next:"@heredocBody.$1"}]],heredocBody:[[/([\w\-]+)$/,{cases:{"$1==$S2":[{token:"string.heredoc.delimiter",next:"@popall"}],"@default":"string.heredoc"}}],[/./,"string.heredoc"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"],[/#.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],string:[[/\$\{/,{token:"delimiter",next:"@stringExpression"}],[/[^\\"\$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@popall"]],stringInsideExpression:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],stringExpression:[[/\}/,{token:"delimiter",next:"@pop"}],[/"/,"string","@stringInsideExpression"],{include:"@terraform"}]}}}));
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/html/html",["require","exports","../fillers/monaco-editor-core"],(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0;var i=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];t.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],onEnterRules:[{beforeText:new RegExp("<(?!(?:"+i.join("|")+"))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$","i"),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:n.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp("<(?!(?:"+i.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),action:{indentAction:n.languages.IndentAction.Indent}}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#endregion\\b.*--\x3e")}}},t.language={defaultToken:"",tokenPostfix:".html",ignoreCase:!0,tokenizer:{root:[[/<!DOCTYPE/,"metatag","@doctype"],[/<!--/,"comment","@comment"],[/(<)((?:[\w\-]+:)?[\w\-]+)(\s*)(\/>)/,["delimiter","tag","","delimiter"]],[/(<)(script)/,["delimiter",{token:"tag",next:"@script"}]],[/(<)(style)/,["delimiter",{token:"tag",next:"@style"}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/</,"delimiter"],[/[^<]+/]],doctype:[[/[^>]+/,"metatag.content"],[/>/,"metatag","@pop"]],comment:[[/-->/,"comment","@pop"],[/[^-]+/,"comment.content"],[/./,"comment.content"]],otherTag:[[/\/?>/,"delimiter","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],scriptAfterType:[[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/>/,{token:"delimiter",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]],style:[[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],styleAfterType:[[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/>/,{token:"delimiter",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]]}}}));
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* monaco-languages version: 2.11.1(862f1c607e289f1214b4bd97d84b0c9672026ef5)
|
||||
* Released under the MIT license
|
||||
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
|
||||
*-----------------------------------------------------------------------------*/
|
||||
define("vs/basic-languages/ini/ini",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.language=n.conf=void 0,n.conf={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},n.language={defaultToken:"",tokenPostfix:".ini",escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^\[[^\]]*\]/,"metatag"],[/(^\w+)(\s*)(\=)/,["key","","delimiter"]],{include:"@whitespace"},[/\d+/,"number"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],whitespace:[[/[ \t\r\n]+/,""],[/^\s*[#;].*$/,"comment"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}}}));
|
||||
Loaded 100 of 2329 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user