VoR0220
88133b01a9
callback fixes and get rid of resolver interface
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-08-21 15:03:34 -04:00
VoR0220
acc672944e
more unnecessary contracts gotten rid of, and fixes made to Embarkjs file
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-08-21 15:03:33 -04:00
VoR0220
6d62499716
get rid of unnecessary contracts for this iteration
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-08-21 15:03:33 -04:00
VoR0220
78d892c7ca
get rid of global web3 in ens
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-08-21 15:03:33 -04:00
VoR0220
754a47fad8
get rid of register for now
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-08-21 15:03:33 -04:00
VoR0220
5397a66d61
finish it all up
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-08-21 15:03:33 -04:00
VoR0220
bb797edbe1
finish the deployment stage
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-08-21 15:03:33 -04:00
VoR0220
734dc85825
add in new api for ens
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-08-21 15:03:33 -04:00
VoR0220
e80ba7873a
temp commit
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-08-21 15:03:33 -04:00
VoR0220
300b2326ab
starting to create registration and some changes to the deployment
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-08-21 15:03:33 -04:00
VoR0220
0308a65301
lint is lyfe
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-08-21 15:03:07 -04:00
VoR0220
dfd496ed94
attempt at deploying on dev net
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-08-21 15:03:07 -04:00
VoR0220
cbc0b1b9fd
add ens contracts
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-08-21 15:01:36 -04:00
Michael Bradley, Jr
6d4870f862
whisper -- canonicalHost, defaultHost
2018-08-02 15:36:46 -05:00
Michael Bradley, Jr
0191ec9d24
webserver -- canonicalHost, defaultHost, dockerHostSwap
2018-08-02 15:32:08 -05:00
Iuri Matias
5a429d0574
make linter happy
2018-06-21 21:07:27 -04:00
Iuri Matias
0ba9990073
use EmbarkJS to initialize ens contracts and set ens contract only when embark is ready
2018-06-21 21:03:23 -04:00
Iuri Matias
9beaaa2a29
remove extra logs
2018-06-19 15:46:55 -04:00
Iuri Matias
5c6e6e50f9
use contractAddress instead of address
2018-06-18 10:22:04 -04:00
Iuri Matias
7706e276bf
Merge pull request #533 from embark-framework/bug_fix/ipfs-service-check-error
...
Storage provider initialisation fixes and improvements.
2018-06-15 18:09:30 -04:00
Iuri Matias
5614998f89
Merge pull request #525 from embark-framework/bug_fix/solc-loading-issue
...
Fix for solc loading issue
2018-06-15 17:28:53 -04:00
Iuri Matias
6845c7124b
fix eqls
2018-06-15 17:24:19 -04:00
emizzle
a100dd4260
Requested PR fixes
...
Added catch to live-plugin-manager install promise running in child process
Removed some `else`'s ;)
Only showing solc downloading spinner when `--nodashboard` option is used.
When installing package in main process and simultaneous downloads fail, all callbacks called with error.
Updated logging in npmTimer.
2018-06-15 17:06:59 -04:00
emizzle
5e20f27c99
Solc loading issue now fully resolved
...
Added better error checking for solidity compilation errors
Extracted timer functionality for downloading packages so it works across the main process and child processes.
Npm class is instantiated only once and reused for event commands.
Npm class can handle concurrent requests for the same package and callback the installation result for each request.
2018-06-15 17:06:59 -04:00
emizzle
b96df79c59
Finally fixed the solc loading issue.
...
Moved the instantiation of the live-plugin-manager in to the child solc process. This allowed us to use the live-plugin-manager to require the installed solc file.
If the module is the same version as used by embark, the module is still loading using the normal require (from node_modules), as before.
2018-06-15 17:06:59 -04:00
emizzle
eedcdc77a7
Solc loading issue now fully resolved
...
Added better error checking for solidity compilation errors
Extracted timer functionality for downloading packages so it works across the main process and child processes.
Npm class is instantiated only once and reused for event commands.
Npm class can handle concurrent requests for the same package and callback the installation result for each request.
2018-06-15 17:02:53 -04:00
emizzle
62f3b85bc4
Finally fixed the solc loading issue.
...
Moved the instantiation of the live-plugin-manager in to the child solc process. This allowed us to use the live-plugin-manager to require the installed solc file.
If the module is the same version as used by embark, the module is still loading using the normal require (from node_modules), as before.
2018-06-15 16:54:08 -04:00
VoR0220
ad6a6cf328
small fixes to ensure something of a better experience for error reporting on the profiler side
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-15 15:22:27 -05:00
Jonathan Rainville
6991215b40
catch error and warn if no provider
2018-06-15 10:04:19 -04:00
emizzle
24e1ed36f7
Fixed issue with IPFS not starting when swarm failed.
...
Added logging when starting of all storage providers has completed, and whether or not there were errors during starting of one of the providers.
Added parallel processing for starting dappConnection storage providers.
Removed irrelevant IPFS error from trace logs when IPFS not available.
2018-06-15 16:35:05 +10:00
Jonathan Rainville
a62a74d162
callback error from runCode and use that in onDeploy codes
2018-06-14 11:10:31 -04:00
Iuri Matias
e6ed016cc0
Merge pull request #510 from embark-framework/gastimation
...
Gastimation
2018-06-12 14:11:28 -04:00
VoR0220
41f77793f4
more patchy mcpatchface
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-12 12:54:41 -05:00
VoR0220
3ede75ce50
Merge branch 'gastimation' of github.com:embark-framework/embark into gastimation
2018-06-12 12:52:36 -05:00
VoR0220
258d9b3fe0
patchy mcpatchface
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-12 12:52:23 -05:00
Iuri Matias
a88513f58d
Merge branch 'gastimation' of github.com:embark-framework/embark into gastimation
2018-06-12 13:24:30 -04:00
Iuri Matias
1dcd30b3a8
don't crash and instead inform user if contract cannot be profiled
2018-06-12 13:24:21 -04:00
VoR0220
acf67071c8
fix name
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-12 12:21:31 -05:00
VoR0220
cd67500dd1
minor cleanup
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-12 12:16:19 -05:00
VoR0220
539c035aa6
unnecessary declaration
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-12 12:14:02 -05:00
VoR0220
a601541bb0
get rid of one more line and get rid of unused cb
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-12 12:12:37 -05:00
VoR0220
43c8525d48
fix callbacks in gas estimator, add more fallback support and clean up console logs to better display potential errors
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-12 12:10:35 -05:00
VoR0220
e0470b8ef4
clean up junk and fix logger formatting
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-12 10:44:21 -05:00
VoR0220
335670f2ca
package lock update and linting errors fixed
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-12 10:39:45 -05:00
VoR0220
57f098239d
add support for null inputs and fallback and constructor types
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-12 10:36:41 -05:00
VoR0220
0ff39f48b3
fix the callback schema for async and pretty it up a bit
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-12 10:36:41 -05:00
VoR0220
90f342b65a
redo logic so that it uses the async library
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-12 10:36:41 -05:00
VoR0220
5c7e9f0054
changes to the logic around gas estimator and profiler
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-12 10:36:41 -05:00
VoR0220
311ec7d9cb
switch the keys around and make a few logical changes to the way things are structured. Currently stuck at method calling
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-12 10:36:41 -05:00
VoR0220
fedbe0d2bc
first attempt at gas estimation using a 3 round fuzzer and linking it into the profiler
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-12 10:36:41 -05:00
Richard Ramos
a9065b1eae
Websocket handling
2018-06-12 08:50:49 -04:00
Richard Ramos
03483052ea
Adding error messages
2018-06-11 16:43:26 -04:00
Richard Ramos
48a3f2afdc
Fixing conflicts
2018-06-11 16:43:08 -04:00
Iuri Matias
e46f6aa5b7
color output
2018-06-11 16:40:59 -04:00
Richard Ramos
80052fc5e1
Displays json as a string in the console
2018-06-11 16:40:59 -04:00
Richard Ramos
f467fc5a31
Launching ipc connection depending on role
2018-06-11 16:40:59 -04:00
Richard Ramos
09c11662aa
Removing unused variables
2018-06-11 16:40:59 -04:00
Richard Ramos
c9a2014ac7
Formatting input parameters
2018-06-11 16:40:59 -04:00
Richard Ramos
39d510cef4
Displaying status, gas and block number
2018-06-11 16:40:59 -04:00
Richard Ramos
8ef2dc124f
Extracted console logging to its own file
2018-06-11 16:40:59 -04:00
Richard Ramos
bf25381fa6
Rebasing changes from develop
2018-06-11 16:40:14 -04:00
Jonathan Rainville
eecd719515
put message if swarm or ipfs is not installed
2018-06-08 10:40:01 -04:00
Jonathan Rainville
3d70028cc5
fixing small stuff
2018-06-07 13:01:12 -04:00
Iuri Matias
805091aa66
Merge pull request #482 from embark-framework/fuzzer
...
Fuzzer
2018-06-06 10:54:28 -04:00
Iuri Matias
f44ed981b5
Merge pull request #481 from embark-framework/ipc
...
add socket support
2018-06-05 16:42:44 -04:00
Iuri Matias
a41cf99be0
reverse condition
2018-06-05 16:13:17 -04:00
VoR0220
e42cbb4ade
one last change
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-05 15:07:41 -05:00
VoR0220
95a06e0bf9
formatting fixes
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
one more
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-05 14:44:05 -05:00
VoR0220
773f5a7921
convert console logs to embark logger and this baby is ready to rock
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-05 14:16:38 -05:00
VoR0220
a7629d2ac0
fix linting
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-05 13:54:43 -05:00
VoR0220
ffe26d052a
some changes to the way randomness is calculated and getting rid of unnecessary garbage and added logging
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-05 13:39:18 -05:00
VoR0220
28d1d585fe
checkpoint
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-05 13:39:18 -05:00
VoR0220
4858f8a19f
convert to BN instead of number
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-05 13:39:18 -05:00
VoR0220
a0d0d9692b
flesh it out further and add a console command and fix annoying bugs
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-05 13:39:18 -05:00
VoR0220
7812951164
wip
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-05 13:39:18 -05:00
VoR0220
f4bca2710f
gas estimator and fuzzer
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-06-05 13:39:18 -05:00
Iuri Matias
0e6d526ab4
comply with linter
2018-06-05 08:37:27 -04:00
Iuri Matias
85443959e0
remove unneded option
2018-06-05 08:04:27 -04:00
Eric Mastro
c45fdb12df
Improve storage logging (during --loglevel trace)
...
Includes IPFS command run
Includes response from IPFS/Swarm service checks
Includes url being checked during IPFS/Swarm service checks.
2018-06-05 11:39:28 +10:00
Iuri Matias
c0e559a7d9
assign roles so ipc connections don't conflict; fallback if can't connect to ipc
2018-06-04 18:15:37 -04:00
Iuri Matias
a57bce2a40
refactor to use callbacks on ipc requests
2018-06-04 18:15:37 -04:00
Iuri Matias
1821e89346
refactor ipc to a module
2018-06-04 18:15:37 -04:00
Iuri Matias
6e37c2d91b
only reply to compile action
2018-06-04 18:15:37 -04:00
Iuri Matias
e96842f9da
use .embark instead of /tmp
2018-06-04 18:15:37 -04:00
Iuri Matias
b16c06025b
use ipc for compiler
2018-06-04 18:15:37 -04:00
Iuri Matias
74df72fc0d
lint is king
2018-06-01 19:35:41 -04:00
Iuri Matias
60c687aa41
refactor storage module
2018-06-01 19:32:14 -04:00
Iuri Matias
37d54e22db
refactor services monitor to use events instead of passing addCheck around
2018-06-01 19:32:14 -04:00
Iuri Matias
0282e7d71c
Merge pull request #476 from embark-framework/fix_events_limit_issue
...
fix events limit issue
2018-06-01 19:30:23 -04:00
Iuri Matias
2ade8cfd09
lint is king
2018-06-01 19:12:54 -04:00
Iuri Matias
152dfe2815
initialize web3 in the whisper module itself; use defined configuration
2018-06-01 18:11:23 -04:00
Jonathan Rainville
33bd52e9ec
add id to solc process to avoid multiple callback calls
2018-06-01 13:44:35 -04:00
Eric Mastro
421f9a4096
Merge in remote
2018-06-01 14:10:54 +10:00
emizzle
74d5ee3984
small fixes
2018-06-01 14:06:02 +10:00
emizzle
a11047c681
Further fixes for starting dappConnection processes automatically
...
moved storage process launching to storage module
refactored all cases of storage url building to util methods
updated cors so that a processes will not include itself in cors list
changed child process command console output to trace, so it's visible when --logLevel == trace
2018-06-01 13:36:46 +10:00
emizzle
927f562a41
Fixed issue with CORS domains for auto-started geth, swarm, and ipfs processes.
...
Fixes after rebase:
* De-duped i18n en.json
* Re-built package-lock.json
Current WIP is auto-starting storage processes defined in dappConnection config.
2018-06-01 13:35:25 +10:00
emizzle
85117cf55c
Dynamic selection of storage provider now working based on improved storage config.
...
swarm plugin now re-initialises the bzz object when it's availability is checked. this creates a much more stable swarm implementation on the dapp side.
surrounded the storage provider init code block with embark env ready
added alternate swarm gateway url
can now upload dapp to ipfs and run swarm storage and vice versa
2018-06-01 13:35:11 +10:00
emizzle
6ac8672a31
Added a global storage module that inits ipfs or swarm depending on dappConnection options. WIP.
2018-06-01 13:34:49 +10:00
emizzle
942a57aa3a
Storage config improvements start. Adjusted the config and have started to support those improvements through the codebase.
...
Currently stuck on starting multiple storage servcies at once. Might need a change in storage config spec.
WIP.
2018-06-01 13:33:44 +10:00
emizzle
0cb79d84a0
Dynamic selection of storage provider now working based on improved storage config.
...
swarm plugin now re-initialises the bzz object when it's availability is checked. this creates a much more stable swarm implementation on the dapp side.
surrounded the storage provider init code block with embark env ready
added alternate swarm gateway url
can now upload dapp to ipfs and run swarm storage and vice versa
2018-06-01 13:30:01 +10:00
emizzle
ec15823dbc
Added a global storage module that inits ipfs or swarm depending on dappConnection options. WIP.
2018-06-01 13:28:28 +10:00
emizzle
f6667b6948
Storage config improvements start. Adjusted the config and have started to support those improvements through the codebase.
...
Currently stuck on starting multiple storage servcies at once. Might need a change in storage config spec.
WIP.
2018-06-01 13:28:05 +10:00
Iuri Matias
75c91992e3
Merge pull request #469 from embark-framework/refactor_contracts_part2
...
Refactor contracts part2
2018-05-31 10:37:43 -04:00
emizzle
0aa96aa504
Fixed issue with CORS domains for auto-started geth, swarm, and ipfs processes.
...
Fixes after rebase:
* De-duped i18n en.json
* Re-built package-lock.json
Current WIP is auto-starting storage processes defined in dappConnection config.
2018-05-31 20:18:25 +10:00
emizzle
30f0f4dc72
Dynamic selection of storage provider now working based on improved storage config.
...
swarm plugin now re-initialises the bzz object when it's availability is checked. this creates a much more stable swarm implementation on the dapp side.
surrounded the storage provider init code block with embark env ready
added alternate swarm gateway url
can now upload dapp to ipfs and run swarm storage and vice versa
2018-05-31 15:18:58 +10:00
emizzle
0a331e9352
Added a global storage module that inits ipfs or swarm depending on dappConnection options. WIP.
2018-05-31 15:18:10 +10:00
emizzle
d0d73320aa
Storage config improvements start. Adjusted the config and have started to support those improvements through the codebase.
...
Currently stuck on starting multiple storage servcies at once. Might need a change in storage config spec.
WIP.
2018-05-31 15:18:10 +10:00
Iuri Matias
7ee62adb24
remove unused assignment
2018-05-30 17:30:51 -04:00
Iuri Matias
b3173c1ff3
register ipfs cmd correctly
2018-05-30 17:22:12 -04:00
Iuri Matias
b43a766de7
cleanup module call
2018-05-30 13:38:08 -04:00
Iuri Matias
71cd523f30
remove old methods
2018-05-30 13:35:36 -04:00
Iuri Matias
16653d491b
move onDeploy to new api
2018-05-30 13:35:36 -04:00
Iuri Matias
4f45b4fa13
add new plugin method for generalized event actions
2018-05-30 13:35:36 -04:00
Iuri Matias
033613d7f6
lint is king
2018-05-28 12:29:47 -04:00
Iuri Matias
ee460e3309
add missing promise returns
2018-05-28 11:42:01 -04:00
Iuri Matias
32a9b25fe3
fix reference to ens object
2018-05-28 11:21:52 -04:00
Iuri Matias
e988bd6b4a
use import instead of require
2018-05-28 11:10:20 -04:00
Iuri Matias
8fa325a7af
Merge pull request #452 from embark-framework/DomainNameResolution
...
ENS Domain name resolution initial integration
2018-05-27 08:12:26 -04:00
Iuri Matias
2d67061fe3
put compiling message only after checking for binary
2018-05-27 08:00:18 -04:00
VoR0220
2ae9e7e0e7
add a warning for vyper installation
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-05-25 14:44:07 -05:00
VoR0220
8ace5653cd
fix some linting issues and add a few forgotten lines to the config function
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-05-25 12:52:57 -05:00
VoR0220
9cb10c7ce7
bring free wheeling vars into the ensEmbark namespace
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-05-25 12:25:28 -05:00
VoR0220
91d3ccbc70
cringy ending of the line break
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-05-24 07:57:14 -05:00
VoR0220
16e7fe9fde
added some logic for error handling in lookup and fixed some linting issues
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-05-23 23:34:19 -05:00
VoR0220
8b07039907
should work to create the reverse lookup
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-05-23 16:53:39 -05:00
VoR0220
fe84cc8de4
last major issue
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-05-23 13:05:42 -05:00
VoR0220
793a618c12
more fixes
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-05-23 13:00:34 -05:00
VoR0220
bf40bdb93b
linting fixes and import fixes and some cleanup of the logic
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-05-23 12:13:06 -05:00
VoR0220
ea17e235f3
fix further linting issues
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-05-23 11:55:11 -05:00
VoR0220
8748084a6b
fix indentations for linting purposes
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-05-23 11:50:55 -05:00
VoR0220
5028bd90e0
flesh out the index for ENS a bit further
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-05-23 11:47:57 -05:00
VoR0220
4de830ca29
resolve appears to be done, now I just need some help wiring the module together
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-05-23 11:47:57 -05:00
VoR0220
3aa4c9fd1f
beginning of creating the ens provider
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-05-23 11:47:57 -05:00
Jonathan Rainville
29a50ea9cd
refactor assertNodeConnection to use it in watch
2018-05-23 11:17:02 -04:00
Jonathan Rainville
5f3361d030
conflict in en.json
2018-05-23 11:16:56 -04:00
Iuri Matias
3e9376138b
move runCode
2018-05-23 11:16:17 -04:00
Iuri Matias
a664492d1f
move onDeploy to special configs module
2018-05-23 11:15:06 -04:00
Iuri Matias
31833579a7
finish converting afterDeploy module
2018-05-23 11:15:06 -04:00
Iuri Matias
c800598e9b
move afterDeploy code into a special configs module
2018-05-23 11:15:06 -04:00
Iuri Matias
af8a720e90
guard against currentChain not set
2018-05-23 11:15:05 -04:00
Iuri Matias
2ac38fb84a
if no chain set then contract is not tracked
2018-05-23 11:15:05 -04:00
Iuri Matias
ba29f0e928
move deploy tracker into a module
2018-05-23 11:15:05 -04:00
Iuri Matias
ac45b7a19b
remove unneded assigment; add clarification/TODO
2018-05-23 11:15:05 -04:00
RJ Catalano
6bcf03adc5
Merge pull request #441 from embark-framework/ipfs_object
...
make Ipfs object available in environment
2018-05-21 10:31:30 -05:00
Iuri Matias
0363c676d4
initialized ipfs object to environment
2018-05-18 15:56:36 -04:00
Jonathan Rainville
a7be2cda26
convert solcw to use once
2018-05-18 14:22:58 -04:00
Jonathan Rainville
c5c00fc3b4
conflict in solcW
2018-05-18 14:11:29 -04:00
Iuri Matias
46c2be16de
don't unnecessary reload solc
2018-05-18 13:41:25 -04:00
Iuri Matias
c6593f6168
Merge pull request #426 from embark-framework/features/update_solc_wrapper
...
update solc wrapper
2018-05-18 13:17:01 -04:00
VoR0220
dc0c8c5622
fix profiler and this is ready to go
...
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-05-18 10:41:23 -05:00