0rpc / zerorpc-node Goto Github PK
View Code? Open in Web Editor NEWzerorpc for node.js
Home Page: http://www.zerorpc.io
License: Other
zerorpc for node.js
Home Page: http://www.zerorpc.io
License: Other
Currently, the introspection function mirrors the output of zerorpc-python, which in turn simply dumps the output from python introspection features. The result is crufty, and could be improved.
This will require a change for zerorpc-python as well.
It seems like that [email protected] will not work in Node.js 1.20.0, will you considering updating msgpack to the latest version? Here is the whole output when installing zerorpc:
root@kuajie-MS-7693:~/repos/msgpack-test# npm install zerorpc
> [email protected] install /root/repos/msgpack-test/node_modules/zerorpc/node_modules/msgpack
> node-gyp rebuild
child_process: customFds option is deprecated, use stdio instead.
make: Entering directory `/root/repos/msgpack-test/node_modules/zerorpc/node_modules/msgpack/build'
CXX(target) Release/obj.target/libmsgpack/deps/msgpack/object.o
In file included from ../deps/msgpack/msgpack/type/fixint.hpp:22:0,
from ../deps/msgpack/msgpack/type.hpp:3,
from ../deps/msgpack/msgpack/object.hpp:409,
from ../deps/msgpack/object.cpp:18:
../deps/msgpack/msgpack/type/int.hpp: In function ‘void msgpack::operator<<(msgpack::object&, signed char)’:
../deps/msgpack/msgpack/type/int.hpp:145:76: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
{ v < 0 ? o.type = type::NEGATIVE_INTEGER, o.via.i64 = v : o.type = type::POSITIVE_INTEGER, o.via.u64 = v; }
^
../deps/msgpack/msgpack/type/int.hpp: In function ‘void msgpack::operator<<(msgpack::object&, short int)’:
../deps/msgpack/msgpack/type/int.hpp:148:76: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
{ v < 0 ? o.type = type::NEGATIVE_INTEGER, o.via.i64 = v : o.type = type::POSITIVE_INTEGER, o.via.u64 = v; }
^
../deps/msgpack/msgpack/type/int.hpp: In function ‘void msgpack::operator<<(msgpack::object&, int)’:
../deps/msgpack/msgpack/type/int.hpp:151:76: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
{ v < 0 ? o.type = type::NEGATIVE_INTEGER, o.via.i64 = v : o.type = type::POSITIVE_INTEGER, o.via.u64 = v; }
^
../deps/msgpack/msgpack/type/int.hpp: In function ‘void msgpack::operator<<(msgpack::object&, long int)’:
../deps/msgpack/msgpack/type/int.hpp:154:76: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
{ v < 0 ? o.type = type::NEGATIVE_INTEGER, o.via.i64 = v : o.type = type::POSITIVE_INTEGER, o.via.u64 = v; }
^
../deps/msgpack/msgpack/type/int.hpp: In function ‘void msgpack::operator<<(msgpack::object&, long long int)’:
../deps/msgpack/msgpack/type/int.hpp:157:76: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
{ v < 0 ? o.type = type::NEGATIVE_INTEGER, o.via.i64 = v : o.type = type::POSITIVE_INTEGER, o.via.u64 = v; }
^
In file included from ../deps/msgpack/msgpack/type.hpp:3:0,
from ../deps/msgpack/msgpack/object.hpp:409,
from ../deps/msgpack/object.cpp:18:
../deps/msgpack/msgpack/type/fixint.hpp: In function ‘void msgpack::operator<<(msgpack::object&, msgpack::type::fix_int8)’:
../deps/msgpack/msgpack/type/fixint.hpp:118:88: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
{ v.get() < 0 ? o.type = type::NEGATIVE_INTEGER, o.via.i64 = v.get() : o.type = type::POSITIVE_INTEGER, o.via.u64 = v.get(); }
^
In file included from ../deps/msgpack/msgpack/type.hpp:3:0,
from ../deps/msgpack/msgpack/object.hpp:409,
from ../deps/msgpack/object.cpp:18:
../deps/msgpack/msgpack/type/fixint.hpp: In function ‘void msgpack::operator<<(msgpack::object&, msgpack::type::fix_int16)’:
../deps/msgpack/msgpack/type/fixint.hpp:121:88: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
{ v.get() < 0 ? o.type = type::NEGATIVE_INTEGER, o.via.i64 = v.get() : o.type = type::POSITIVE_INTEGER, o.via.u64 = v.get(); }
^
../deps/msgpack/msgpack/type/fixint.hpp: In function ‘void msgpack::operator<<(msgpack::object&, msgpack::type::fix_int32)’:
../deps/msgpack/msgpack/type/fixint.hpp:124:88: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
{ v.get() < 0 ? o.type = type::NEGATIVE_INTEGER, o.via.i64 = v.get() : o.type = type::POSITIVE_INTEGER, o.via.u64 = v.get(); }
^
../deps/msgpack/msgpack/type/fixint.hpp: In function ‘void msgpack::operator<<(msgpack::object&, msgpack::type::fix_int64)’:
../deps/msgpack/msgpack/type/fixint.hpp:127:88: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
{ v.get() < 0 ? o.type = type::NEGATIVE_INTEGER, o.via.i64 = v.get() : o.type = type::POSITIVE_INTEGER, o.via.u64 = v.get(); }
^
CC(target) Release/obj.target/libmsgpack/deps/msgpack/objectc.o
CC(target) Release/obj.target/libmsgpack/deps/msgpack/unpack.o
../deps/msgpack/unpack.c: In function ‘template_callback_root’:
../deps/msgpack/unpack.c:59:1: warning: missing initializer for field ‘type’ of ‘msgpack_object’ [-Wmissing-field-initializers]
{ msgpack_object o = {}; return o; }
^
In file included from ../deps/msgpack/msgpack/unpack.h:22:0,
from ../deps/msgpack/unpack.c:18:
../deps/msgpack/msgpack/object.h:76:22: note: ‘type’ declared here
msgpack_object_type type;
^
CC(target) Release/obj.target/libmsgpack/deps/msgpack/vrefbuffer.o
CC(target) Release/obj.target/libmsgpack/deps/msgpack/zone.o
CC(target) Release/obj.target/libmsgpack/deps/msgpack/version.o
AR(target) Release/obj.target/deps/msgpack/msgpack.a
COPY Release/msgpack.a
CXX(target) Release/obj.target/msgpackBinding/src/msgpack.o
../src/msgpack.cc: In constructor ‘MsgpackException::MsgpackException(const char*)’:
../src/msgpack.cc:19:17: error: ‘New’ is not a member of ‘v8::String’
msg(String::New(str)) {
^
../src/msgpack.cc: In function ‘void v8_to_msgpack(v8::Handle<v8::Value>, msgpack_object*, msgpack_zone*, MsgpackCycle*)’:
../src/msgpack.cc:180:66: error: ‘New’ is not a member of ‘v8::String’
Handle<Function> func = Handle<Function>::Cast(date->Get(String::New("toISOString")));
^
../src/msgpack.cc: In function ‘v8::Handle<v8::Value> msgpack_to_v8(msgpack_object*)’:
../src/msgpack.cc:239:21: error: too few arguments to function ‘v8::Handle<v8::Primitive> v8::Null(v8::Isolate*)’
return Null();
^
In file included from ../src/msgpack.cc:3:0:
/root/.node-gyp/0.12.0/deps/v8/include/v8.h:306:28: note: declared here
friend Handle<Primitive> Null(Isolate* isolate);
^
../src/msgpack.cc:243:18: error: too few arguments to function ‘v8::Handle<v8::Boolean> v8::True(v8::Isolate*)’
True() :
^
In file included from ../src/msgpack.cc:3:0:
/root/.node-gyp/0.12.0/deps/v8/include/v8.h:6624:17: note: declared here
Handle<Boolean> True(Isolate* isolate) {
^
../src/msgpack.cc:244:19: error: too few arguments to function ‘v8::Handle<v8::Boolean> v8::False(v8::Isolate*)’
False();
^
In file included from ../src/msgpack.cc:3:0:
/root/.node-gyp/0.12.0/deps/v8/include/v8.h:6633:17: note: declared here
Handle<Boolean> False(Isolate* isolate) {
^
../src/msgpack.cc:247:75: error: no matching function for call to ‘v8::Integer::NewFromUnsigned(uint32_t)’
return Integer::NewFromUnsigned(static_cast<uint32_t>(mo->via.u64));
^
../src/msgpack.cc:247:75: note: candidate is:
In file included from ../src/msgpack.cc:3:0:
/root/.node-gyp/0.12.0/deps/v8/include/v8.h:2013:25: note: static v8::Local<v8::Integer> v8::Integer::NewFromUnsigned(v8::Isolate*, uint32_t)
static Local<Integer> NewFromUnsigned(Isolate* isolate, uint32_t value);
^
/root/.node-gyp/0.12.0/deps/v8/include/v8.h:2013:25: note: candidate expects 2 arguments, 1 provided
../src/msgpack.cc:250:62: error: no matching function for call to ‘v8::Integer::New(int32_t)’
return Integer::New(static_cast<int32_t>(mo->via.i64));
^
../src/msgpack.cc:250:62: note: candidate is:
In file included from ../src/msgpack.cc:3:0:
/root/.node-gyp/0.12.0/deps/v8/include/v8.h:2012:25: note: static v8::Local<v8::Integer> v8::Integer::New(v8::Isolate*, int32_t)
static Local<Integer> New(Isolate* isolate, int32_t value);
^
/root/.node-gyp/0.12.0/deps/v8/include/v8.h:2012:25: note: candidate expects 2 arguments, 1 provided
../src/msgpack.cc:253:39: error: no matching function for call to ‘v8::Number::New(double&)’
return Number::New(mo->via.dec);
^
../src/msgpack.cc:253:39: note: candidate is:
In file included from ../src/msgpack.cc:3:0:
/root/.node-gyp/0.12.0/deps/v8/include/v8.h:1999:24: note: static v8::Local<v8::Number> v8::Number::New(v8::Isolate*, double)
static Local<Number> New(Isolate* isolate, double value);
^
/root/.node-gyp/0.12.0/deps/v8/include/v8.h:1999:24: note: candidate expects 2 arguments, 1 provided
../src/msgpack.cc:256:55: error: invalid conversion from ‘uint32_t {aka unsigned int}’ to ‘v8::Isolate*’ [-fpermissive]
Local<Array> a = Array::New(mo->via.array.size);
^
In file included from ../src/msgpack.cc:3:0:
/root/.node-gyp/0.12.0/deps/v8/include/v8.h:2417:23: error: initializing argument 1 of ‘static v8::Local<v8::Array> v8::Array::New(v8::Isolate*, int)’ [-fpermissive]
static Local<Array> New(Isolate* isolate, int length = 0);
^
../src/msgpack.cc:266:16: error: ‘New’ is not a member of ‘v8::String’
return String::New(mo->via.raw.ptr, mo->via.raw.size);
^
../src/msgpack.cc:269:39: error: no matching function for call to ‘v8::Object::New()’
Local<Object> o = Object::New();
^
../src/msgpack.cc:269:39: note: candidate is:
In file included from ../src/msgpack.cc:3:0:
/root/.node-gyp/0.12.0/deps/v8/include/v8.h:2388:24: note: static v8::Local<v8::Object> v8::Object::New(v8::Isolate*)
static Local<Object> New(Isolate* isolate);
^
/root/.node-gyp/0.12.0/deps/v8/include/v8.h:2388:24: note: candidate expects 1 argument, 0 provided
../src/msgpack.cc: At global scope:
../src/msgpack.cc:295:12: error: ‘Arguments’ does not name a type
pack(const Arguments &args) {
^
../src/msgpack.cc:295:23: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
pack(const Arguments &args) {
^
In file included from ../src/msgpack.cc:3:0:
/root/.node-gyp/0.12.0/deps/v8/include/v8.h: In function ‘v8::Handle<v8::Value> pack(const int&)’:
/root/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
V8_INLINE HandleScope() {}
^
../src/msgpack.cc:296:17: error: within this context
HandleScope scope;
^
../src/msgpack.cc:305:30: error: request for member ‘Length’ in ‘args’, which is of non-class type ‘const int’
for (int i = 0; i < args.Length(); i++) {
^
../src/msgpack.cc:309:33: error: invalid types ‘const int[int]’ for array subscript
v8_to_msgpack(args[i], &mo, &mz._mz, &mc);
^
../src/msgpack.cc:311:57: error: ‘ThrowException’ was not declared in this scope
return ThrowException(e.getThrownException());
^
../src/msgpack.cc:316:17: error: ‘New’ is not a member of ‘v8::String’
String::New("Error serializaing object")));
^
../src/msgpack.cc:316:58: error: ‘ThrowException’ was not declared in this scope
String::New("Error serializaing object")));
^
../src/msgpack.cc:320:12: error: expected primary-expression before ‘*’ token
Buffer *bp = Buffer::New(sb._sbuf.size);
^
../src/msgpack.cc:320:13: error: ‘bp’ was not declared in this scope
Buffer *bp = Buffer::New(sb._sbuf.size);
^
../src/msgpack.cc:323:18: error: ‘class v8::HandleScope’ has no member named ‘Close’
return scope.Close(bp->handle_);
^
../src/msgpack.cc: At global scope:
../src/msgpack.cc:332:14: error: ‘Arguments’ does not name a type
unpack(const Arguments &args) {
^
../src/msgpack.cc:332:25: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
unpack(const Arguments &args) {
^
../src/msgpack.cc: In function ‘v8::Handle<v8::Value> unpack(const int&)’:
../src/msgpack.cc:334:39: error: ‘NODE_PSYMBOL’ was not declared in this scope
NODE_PSYMBOL("bytes_remaining");
^
In file included from ../src/msgpack.cc:3:0:
/root/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
V8_INLINE HandleScope() {}
^
../src/msgpack.cc:336:17: error: within this context
HandleScope scope;
^
../src/msgpack.cc:338:14: error: request for member ‘Length’ in ‘args’, which is of non-class type ‘const int’
if (args.Length() < 0 || !Buffer::HasInstance(args[0])) {
^
../src/msgpack.cc:338:57: error: invalid types ‘const int[int]’ for array subscript
if (args.Length() < 0 || !Buffer::HasInstance(args[0])) {
^
../src/msgpack.cc:340:13: error: ‘New’ is not a member of ‘v8::String’
String::New("First argument must be a Buffer")));
^
../src/msgpack.cc:340:60: error: ‘ThrowException’ was not declared in this scope
String::New("First argument must be a Buffer")));
^
../src/msgpack.cc:343:31: error: invalid types ‘const int[int]’ for array subscript
Local<Object> buf = args[0]->ToObject();
^
../src/msgpack.cc:353:36: error: base operand of ‘->’ has non-pointer type ‘v8::Persistent<v8::FunctionTemplate>’
msgpack_unpack_template->GetFunction()->Set(
^
../src/msgpack.cc:355:77: error: no matching function for call to ‘v8::Integer::New(int32_t)’
Integer::New(static_cast<int32_t>(Buffer::Length(buf) - off))
^
../src/msgpack.cc:355:77: note: candidate is:
In file included from ../src/msgpack.cc:3:0:
/root/.node-gyp/0.12.0/deps/v8/include/v8.h:2012:25: note: static v8::Local<v8::Integer> v8::Integer::New(v8::Isolate*, int32_t)
static Local<Integer> New(Isolate* isolate, int32_t value);
^
/root/.node-gyp/0.12.0/deps/v8/include/v8.h:2012:25: note: candidate expects 2 arguments, 1 provided
../src/msgpack.cc:357:26: error: ‘class v8::HandleScope’ has no member named ‘Close’
return scope.Close(msgpack_to_v8(&mo));
^
../src/msgpack.cc:359:57: error: ‘ThrowException’ was not declared in this scope
return ThrowException(e.getThrownException());
^
../src/msgpack.cc:363:22: error: ‘class v8::HandleScope’ has no member named ‘Close’
return scope.Close(Undefined());
^
../src/msgpack.cc:363:38: error: too few arguments to function ‘v8::Handle<v8::Primitive> v8::Undefined(v8::Isolate*)’
return scope.Close(Undefined());
^
In file included from ../src/msgpack.cc:3:0:
/root/.node-gyp/0.12.0/deps/v8/include/v8.h:305:28: note: declared here
friend Handle<Primitive> Undefined(Isolate* isolate);
^
../src/msgpack.cc:367:13: error: ‘New’ is not a member of ‘v8::String’
String::New("Error de-serializing object")));
^
../src/msgpack.cc:367:56: error: ‘ThrowException’ was not declared in this scope
String::New("Error de-serializing object")));
^
In file included from ../src/msgpack.cc:3:0:
/root/.node-gyp/0.12.0/deps/v8/include/v8.h: In function ‘void init(v8::Handle<v8::Object>)’:
/root/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
V8_INLINE HandleScope() {}
^
../src/msgpack.cc:373:17: error: within this context
HandleScope scope;
^
../src/msgpack.cc:375:41: error: no matching function for call to ‘NODE_SET_METHOD(v8::Handle<v8::Object>&, const char [5], v8::Handle<v8::Value> (&)(const int&))’
NODE_SET_METHOD(target, "pack", pack);
^
../src/msgpack.cc:375:41: note: candidate is:
In file included from ../src/msgpack.cc:4:0:
/root/.node-gyp/0.12.0/src/node.h:228:13: note: template<class TypeName> void node::NODE_SET_METHOD(const TypeName&, const char*, v8::FunctionCallback)
inline void NODE_SET_METHOD(const TypeName& recv,
^
/root/.node-gyp/0.12.0/src/node.h:228:13: note: template argument deduction/substitution failed:
../src/msgpack.cc:375:41: note: cannot convert ‘pack’ (type ‘v8::Handle<v8::Value>(const int&)’) to type ‘v8::FunctionCallback {aka void (*)(const v8::FunctionCallbackInfo<v8::Value>&)}’
NODE_SET_METHOD(target, "pack", pack);
^
../src/msgpack.cc:380:37: error: no matching function for call to ‘v8::FunctionTemplate::New(v8::Handle<v8::Value> (&)(const int&))’
FunctionTemplate::New(unpack)
^
../src/msgpack.cc:380:37: note: candidate is:
In file included from ../src/msgpack.cc:3:0:
/root/.node-gyp/0.12.0/deps/v8/include/v8.h:3455:34: note: static v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::Isolate*, v8::FunctionCallback, v8::Handle<v8::Value>, v8::Handle<v8::Signature>, int)
static Local<FunctionTemplate> New(
^
/root/.node-gyp/0.12.0/deps/v8/include/v8.h:3455:34: note: no known conversion for argument 1 from ‘v8::Handle<v8::Value>(const int&)’ to ‘v8::Isolate*’
../src/msgpack.cc:383:9: error: ‘NewSymbol’ is not a member of ‘v8::String’
String::NewSymbol("unpack"),
^
../src/msgpack.cc:384:32: error: base operand of ‘->’ has non-pointer type ‘v8::Persistent<v8::FunctionTemplate>’
msgpack_unpack_template->GetFunction()
^
make: *** [Release/obj.target/msgpackBinding/src/msgpack.o] Error 1
make: Leaving directory `/root/repos/msgpack-test/node_modules/zerorpc/node_modules/msgpack/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack at ChildProcess.emit (events.js:110:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:1067:12)
gyp ERR! System Linux 3.13.0-32-generic
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /root/repos/msgpack-test/node_modules/zerorpc/node_modules/msgpack
gyp ERR! node -v v0.12.0
gyp ERR! node-gyp -v v1.0.2
gyp ERR! not ok
|
> [email protected] install /root/repos/msgpack-test/node_modules/zerorpc/node_modules/zmq
> node-gyp rebuild
child_process: customFds option is deprecated, use stdio instead.
make: Entering directory `/root/repos/msgpack-test/node_modules/zerorpc/node_modules/zmq/build'
CXX(target) Release/obj.target/zmq/binding.o
SOLINK_MODULE(target) Release/obj.target/zmq.node
SOLINK_MODULE(target) Release/obj.target/zmq.node: Finished
COPY Release/zmq.node
make: Leaving directory `/root/repos/msgpack-test/node_modules/zerorpc/node_modules/zmq/build'
npm ERR! Linux 3.13.0-32-generic
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "zerorpc"
npm ERR! node v0.12.0
npm ERR! npm v2.5.1
npm ERR! code ELIFECYCLE
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the msgpack package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls msgpack
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /root/repos/msgpack-test/npm-debug.log
Hi, there,
I recently found that zerorpc.Server instance will cause memory leak, after digged it a little, I found that the code in npmjs.org and github.com is no synced. In the file:
lib/channel.js
At line 151, code on github:
151 if(this._state == CHANNEL_CLOSING && this._outBuffer.length() == 0) {
the code is correct, while at line 150, code on npmjs, the code is:
150 if(this.state == CHANNEL_CLOSING && this._outBuffer.length() == 0) {
The judgement refers to this.state, which is always undefined. So the condition will always be false, the code within the block(which delete the used channels) will never be done, thus leading to the memory leak.
When I try to install zerorpc with "npm install zerorpc" on ubuntu 14.04 I get the following error:
npm http GET https://registry.npmjs.org/zerorpc
npm http 304 https://registry.npmjs.org/zerorpc
npm http GET https://registry.npmjs.org/underscore/1.3.3
npm http GET https://registry.npmjs.org/msgpack/0.1.8
npm http GET https://registry.npmjs.org/zmq
npm http GET https://registry.npmjs.org/node-uuid/1.3.3
npm http 304 https://registry.npmjs.org/underscore/1.3.3
npm http 304 https://registry.npmjs.org/msgpack/0.1.8
npm http 304 https://registry.npmjs.org/zmq
npm http 304 https://registry.npmjs.org/node-uuid/1.3.3
npm http GET https://registry.npmjs.org/nan
npm http GET https://registry.npmjs.org/bindings
npm http 304 https://registry.npmjs.org/nan
npm http 304 https://registry.npmjs.org/bindings
[email protected] install /home/dusan/Desktop/blavor/node_modules/zerorpc/node_modules/msgpack
node-gyp rebuild[email protected] install /home/dusan/Desktop/blavor/node_modules/zerorpc/node_modules/zmq
node-gyp rebuild
make: Entering directory /home/dusan/Desktop/blavor/node_modules/zerorpc/node_modules/msgpack/build' CXX(target) Release/obj.target/libmsgpack/deps/msgpack/object.o make: Entering directory
/home/dusan/Desktop/blavor/node_modules/zerorpc/node_modules/zmq/build'
CXX(target) Release/obj.target/zmq/binding.o
../binding.cc:28:17: fatal error: zmq.h: No such file or directory
#include <zmq.h>
^
compilation terminated.
make: *** [Release/obj.target/zmq/binding.o] Error 1
make: Leaving directory /home/dusan/Desktop/blavor/node_modules/zerorpc/node_modules/zmq/build' gyp ERR! build error gyp ERR! stack Error:
make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/home/dusan/Desktop/blavor/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:797:12)
gyp ERR! System Linux 3.13.0-32-generic
gyp ERR! command "node" "/home/dusan/Desktop/blavor/node_modules/.bin/node-gyp" "rebuild"
gyp ERR! cwd /home/dusan/Desktop/blavor/node_modules/zerorpc/node_modules/zmq
gyp ERR! node -v v0.10.25
gyp ERR! node-gyp -v v1.0.1
gyp ERR! not ok
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian
https://www.npmjs.com/package/zerorpc still lists 0.9.5 as the latest version
Would be great to get this updated so that it can be installed with the new msgpack
can client send events to server? like socket.io
MsgPack2 doesn't build properly MsgPack does but isn't compatible
After studying the source code of the zerorpc server, I thought that errors on the underlying socket would be forwarded to the server by the proxy in util.js
. I tested this with:
zerorpc = require("zerorpc")
server = new zerorpc.Server({})
server.on 'error', (err) -> console.log err.message
server.bind("tcp://0.0.0.0:12345")
# emit some error on the socket
server._socket.emit "error", new Error("some error")
It looks like the error is not forwarded. I changed the eventProxy
method in util.js
function eventProxy(from, to, name) {
from.on(name, function() {
var args = Array.prototype.slice.call(arguments);
args.shift(name);
to.emit.apply(to, args);
});
}
by modifying the shift
statement and hence prepending the event name to the args
array:
args.unshift(name);
With this change, the events are fowarded as expected from the socket to the server. Is this the intended behaviour or am I missing something?
I am unable to install Zerorpc
on centos 7.1.
``
[email protected] install /lib/node_modules/zerorpc/node_modules/msgpack
node-gyp rebuild
gyp WARN EACCES user "root" does not have permission to access the dev dir "/roo
t/.node-gyp/0.10.42"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/lib/node_modul
es/zerorpc/node_modules/msgpack/.node-gyp"
make: Entering directory/usr/lib/node_modules/zerorpc/node_modules/msgpack/build' CC(target) Release/obj.target/libmsgpack/deps/msgpack/objectc.o CC(target) Release/obj.target/libmsgpack/deps/msgpack/unpack.o CC(target) Release/obj.target/libmsgpack/deps/msgpack/vrefbuffer.o CC(target) Release/obj.target/libmsgpack/deps/msgpack/zone.o CC(target) Release/obj.target/libmsgpack/deps/msgpack/version.o AR(target) Release/obj.target/deps/msgpack/msgpack.a COPY Release/msgpack.a CXX(target) Release/obj.target/msgpackBinding/src/msgpack.o ../src/msgpack.cc: In function
void v8_to_msgpack(v8::Handlev8::Value, msgpac
k_object_, msgpack_zone_, size_t)':
../src/msgpack.cc:126:93: error: could not convertv8obj' from
v8::Handle<v8::
Value>' tov8::Local<v8::Value>' mo->via.str.size = static_cast<uint32_t>(Nan::DecodeBytes(v8obj, Nan::Encoding::UTF8)); ^ ../src/msgpack.cc:129:94: error: could not convert
v8obj' fromv8::Handle<v8:: Value>' to
v8::Localv8::Value'
Nan::DecodeWrite((char_)mo->via.str.ptr, mo->via.str.size, v8obj, Nan::
Encoding::UTF8);
../src/msgpack.cc:136:94: error: could not convertresult' from
v8::Handle<v8:
:Value>' tov8::Local<v8::Value>' mo->via.str.size = static_cast<uint32_t>(Nan::DecodeBytes(result, Nan:: Encoding::UTF8)); ../src/msgpack.cc:139:95: error: could not convert
result' fromv8::Handle<v8: :Value>' to
v8::Localv8::Value'
Nan::DecodeWrite((char_)mo->via.str.ptr, mo->via.str.size, result, Nan:
:Encoding::UTF8)
make: *** [Release/obj.target/msgpackBinding/src/msgpack.o] Error 1
make: Leaving directory/usr/lib/node_modules/zerorpc/node_modules/msgpack/build' gyp ERR! build error gyp ERR! stack Error:
make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_module
s/node-gyp/lib/build.js:276:23)
gyp ERR! stack at ChildProcess.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:820:12)
gyp ERR! System Linux 3.10.0-229.4.2.el7.x86_64
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/nod
e-gyp.js" "rebuild"
gyp ERR! cwd /usr/lib/node_modules/zerorpc/node_modules/msgpack
gyp ERR! node -v v0.10.42
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok/lib
└── (empty)
npm ERR! Linux 3.10.0-229.4.2.el7.x86_64
npm ERR! argv "node" "/bin/npm" "install" "-g" "zerorpc"
npm ERR! node v0.10.42
npm ERR! npm v3.9.0
npm ERR! code ELIFECYCLE
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the msgpack package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs msgpack
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls msgpack
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /root/npm-debug.log
``
I've just noticed that some large numbers (facebook ids, in this case) don't make it over the wire intact. They are silently converted into another number in transit.
Example server:
var zerorpc = require("zerorpc");
var server = new zerorpc.Server({
echo: function(obj, reply) {
reply(null, obj);
},
});
server.bind("ipc:///tmp/ipctest");
server.on("error", function(error) {
console.error("RPC server error:", error);
});
// Workaround to keep the server from being garbage collected...
setInterval(function() {
server;
},1000);
Example client:
var zerorpc = require("zerorpc");
var client = new zerorpc.Client();
client.connect("ipc:///tmp/ipctest");
client.on("error", function(error) {
console.error("RPC client error:", error);
});
client.invoke('echo', {id:100000886207365}, function(error,res,more){
console.log(res);
});
The expected answer would be exactly what I plugged in, but I get back the following:
$ node zrpc-client.js
{ id: 1162654597 }
I can work around it by using JSON.stringify and JSON.parse to flatten all arguments before pushing them through zerorpc... but that seems pretty horrible to me. Should I need to do this?
the first node.js example on http://zerorpc.dotcloud.com/ does not work. the server should return null as first argument (no error)
reply(null,"Hello, " + name);
sometimes we want to get multiple arguments from server side , for example, we want server side put arg1, arg2, arg3 to client side, I know we can use JSON ,like
callback(null,{arg1:"arg1",arg2:"arg2",arg3:"arg3"}) [server side]
but sometimes we want write it as:
callback(null,'arg1','arg2','arg3') [server side]
so how to do it?
client.invoke("method",'1', function(error, arg1,arg2,arg3, more) {
if (error) {
console.error(error);
} else {
console.log("UPDATE:", arg1,arg2,arg3);
}
if (!more) {
console.log("Done.");
}
});
I'm trying to do something like:
Network.hookPacket(0x0000, onKeepAlive);
function onKeepAlive(...
Now I wanted to use zerorpc like:
Network.hookPacket(0x0000, Login.invoke('onKeepAlive'));
But I guess it gets executed instead of being a callback. So how do you think this could work with zerorpc?
CXX(target) Release/obj.target/zmq/binding.o
../binding.cc:28:17: fatal error: zmq.h: No such file or directory
#include <zmq.h>
^
compilation terminated.
make: *** [Release/obj.target/zmq/binding.o] Error 1
make: Leaving directory /home/praveen/node_modules/zerorpc/node_modules/zmq/build' gyp ERR! build error gyp ERR! stack Error:
make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack at ChildProcess.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:810:12)
gyp ERR! System Linux 3.13.0-43-generic
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/praveen/node_modules/zerorpc/node_modules/zmq
gyp ERR! node -v v0.10.33
gyp ERR! node-gyp -v v1.0.1
gyp ERR! not ok
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the zmq package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls zmq
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.13.0-43-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "zerorpc"
npm ERR! cwd /home/praveen
npm ERR! node -v v0.10.33
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR! not ok code 0
praveen@Yoda:~$ ^C
CXX(target) Release/obj.target/zmq/binding.o
../binding.cc:28:17: fatal error: zmq.h: No such file or directory
#include <zmq.h>
msgpack2 relative ?
[email protected] install /home/vodnok/node/test1/node_modules/zerorpc/node_modules/zmq
node-gyp rebuild
make: entrant dans le répertoire « /home/vodnok/node/test1/node_modules/zerorpc/node_modules/zmq/build »
CXX(target) Release/obj.target/binding/binding.o
[email protected] preinstall /home/vodnok/node/test1/node_modules/zerorpc/node_modules/msgpack2
make
cd deps/msgpack-full/cpp &&
mkdir -p dist &&
./configure --enable-static --disable-shared
--prefix=/home/vodnok/node/test1/node_modules/zerorpc/node_modules/msgpack2/deps/msgpack-full/cpp/dist &&
make &&
make install
../binding.cc:28:17: erreur fatale: zmq.h : Aucun fichier ou dossier de ce type
compilation terminée.
checking for a BSD-compatible install... make: *** [Release/obj.target/binding/binding.o] Erreur 1
make: quittant le répertoire « /home/vodnok/node/test1/node_modules/zerorpc/node_modules/zmq/build »
gyp ERR! build error
gyp ERR! stack Error: make
failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:784:12)
gyp ERR! System Linux 3.5.0-27-generic
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/vodnok/node/test1/node_modules/zerorpc/node_modules/zmq
gyp ERR! node -v v0.10.4
gyp ERR! node-gyp -v v0.9.5
gyp ERR! not ok
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! sh "-c" "node-gyp rebuild"
failed with 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the zmq package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls zmq
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.5.0-27-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "zerorpc"
npm ERR! cwd /home/vodnok/node/test1
npm ERR! node -v v0.10.4
npm ERR! npm -v 1.2.18
npm ERR! code ELIFECYCLE
Running on node v0.8.12
Attempting to execute the code as listed below results in the following error:
Server:
var zerorpc = require("zerorpc");
var server = new zerorpc.Server({
hello: function(name, reply) {
reply("Hello, " + name);
}
});
server.bind("tcp://0.0.0.0:4242");
Client:
var zerorpc = require("zerorpc");
var client = new zerorpc.Client();
client.connect("tcp://127.0.0.1:4242");
client.invoke("hello", "RPC", function(error, res, more) {
if(error){
console.log("ERROR: ", error);
}
console.log(res);
});
{ name: 'Error',
message: 'hello, RPC!',
traceback: 'Error: hello, RPC!\n at Server._recv.result (/home/pdamra/training/python/zeromq/zerorpc/node_modules/zerorpc/lib/server.js:146:55)\n
at Object.zerorpc.Server.hello (/home/pdamra/training/python/zeromq/zerorpc/hwserver.js:5:3)\n at Server._recv (/home/pdamra/training/python/zeromq/zer
orpc/node_modules/zerorpc/lib/server.js:178:29)\n at MultiplexingSocket.<anonymous> (/home/pdamra/training/python/zeromq/zerorpc/node_modules/zerorpc/l
ib/server.js:86:46)\n at MultiplexingSocket.EventEmitter.emit (events.js:93:17)\n at MultiplexingSocket.<anonymous> (/home/pdamra/training/python/ze
romq/zerorpc/node_modules/zerorpc/lib/socket.js:106:18)\n at MultiplexingSocket.EventEmitter.emit (events.js:93:17)\n at Socket.<anonymous> (/home/p
damra/training/python/zeromq/zerorpc/node_modules/zerorpc/lib/socket.js:61:14)\n at Socket.EventEmitter.emit (events.js:103:17)\n at Socket._flush._
flushing (/home/pdamra/training/python/zeromq/zerorpc/node_modules/zerorpc/node_modules/zmq/lib/index.js:288:25)' }
Hi,
I am trying to make a little program using a python server and a nodejs client.
Here is my server:
# =====================================
# Function
# =====================================
class CMpyBikesWrapper():
def get_all_networks(self):
schemas = map(lambda name: re.sub(r'\.json$', '', name), pybikes.get_all_data())
i = 0
networks = []
for schema in schemas:
for cname, instance in pybikes.get_instances(schema):
networks.append(instance)
return networks
# =====================================
# Server
# =====================================
s = zerorpc.Server(CMpyBikesWrapper())
s.bind("tcp://0.0.0.0:9000")
print("Listening on port 9000")
s.run()
And this is my client:
var zerorpc = require("zerorpc");
var client = new zerorpc.Client();
client.connect("tcp://127.0.0.1:9000");
client.invoke("get_all_networks", function(error, res, more) {
console.log(res);
callback(res);
});
client.close()
My problem is that the answer never comes back from the server. I know that my request gets to the server and that there is no error.
Is there anything wrong in my node JS client. It also works when I try with a terminal as client
zerorpc --client --connect tcp://127.0.0.1:9000 get_all_networks
Any chances we can get a new release with the pending pull requests?
Hi,
I've been testing streaming responses example from http://zerorpc.dotcloud.com/ website and there seems to be a small problem when i set node.js as server and python as client. Oposite configuration works correctly. I've tried using different ports, etc. but nothing seems to solve the issue. Node server is started first and later I launch the client script.
Does somebody know what could solve the problem?
Python client response:
# python client.py
Traceback (most recent call last):
File "client.py", line 6, in <module>
for item in c.streaming_range(10, 20, 2):
File "/Library/Python/2.7/site-packages/zerorpc/core.py", line 260, in <lambda>
return lambda *args, **kargs: self(method, *args, **kargs)
File "/Library/Python/2.7/site-packages/zerorpc/core.py", line 245, in __call__
return self._process_response(request_event, bufchan, timeout)
File "/Library/Python/2.7/site-packages/zerorpc/core.py", line 220, in _process_response
reply_event, self._handle_remote_error)
File "/Library/Python/2.7/site-packages/zerorpc/patterns.py", line 44, in process_answer
raise exception
zerorpc.exceptions.RemoteError: Error: None
Node.js server response (after I run python client):
# node server.js
/usr/local/lib/node_modules/zerorpc/lib/channel.js:164
throw new Error("Cannot send on closed channel");
^
Error: Cannot send on closed channel
at ServerChannel.Channel.send (/usr/local/lib/node_modules/zerorpc/lib/channel.js:164:15)
at sendError (/usr/local/lib/node_modules/zerorpc/lib/server.js:125:12)
at Server._recv (/usr/local/lib/node_modules/zerorpc/lib/server.js:180:9)
at MultiplexingSocket.<anonymous> (/usr/local/lib/node_modules/zerorpc/lib/server.js:86:46)
at MultiplexingSocket.emit (events.js:95:17)
at MultiplexingSocket.<anonymous> (/usr/local/lib/node_modules/zerorpc/lib/socket.js:106:18)
at MultiplexingSocket.emit (events.js:95:17)
at null.<anonymous> (/usr/local/lib/node_modules/zerorpc/lib/socket.js:61:14)
at emit (events.js:106:17)
at /usr/local/lib/node_modules/zerorpc/node_modules/zmq/lib/index.js:473:27
That:
client.invoke("hello", ["RPC"], function(error, res, more) {
console.log(res);
});
Would be better written like that:
client.invoke("hello", "RPC", function(error, res, more) {
console.log(res);
});
invoke() could determine dynamically the numbers of arguments.
Currently, a new UUID is generated for each message, which is very expensive. This could be optimized using a similar method to zerorpc-python.
There are some trouble while installing zerorpc.
Here are the outputs:
gyp ERR! configure error gyp ERR! stack Error:
gyp` failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:355:16)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 16.1.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/andybear/node_modules/zerorpc/node_modules/zmq
gyp ERR! node -v v4.3.2
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
npm ERR! Darwin 16.1.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "zerorpc"
npm ERR! node v4.3.2
npm ERR! npm v2.14.12
npm ERR! code ELIFECYCLE
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.`
It shows that "No package 'libzmq' found", but I have installed and can get the version by using 'pkg-config --modversion libzmq'. So what should I do?
Here is the file of additional output - npm-debug.log.
npm-debug.txt
Hi all,
I have a zerorpc-python server and as a client I use zerorpc-node.
the client node.js invoke correctly the method on the server but before the server as finished I receive as error
LAST REMOTE AFTER 10000ms
I add a conf timeout : 240000 because the mean execution time of the method invoke is 1'44s but I always have the same error.
How to solve it please.
The recent version bump, v0.9.6, is broken on Mac OSX. v0.9.5 works fine.
This is my node env:
$ npm -v
3.3.6
$ node -v
v0.10.40
The stack:
$ npm install
npm WARN engine [email protected]: wanted: {"node":">=0.12.7"} (current: {"node":"0.10.40","npm":"3.3.6"})
> [email protected] install /Users/me/Code/fo/fo-vacon/node_modules/zerorpc/node_modules/msgpack
> node-gyp rebuild
CC(target) Release/obj.target/libmsgpack/deps/msgpack/objectc.o
CC(target) Release/obj.target/libmsgpack/deps/msgpack/unpack.o
CC(target) Release/obj.target/libmsgpack/deps/msgpack/vrefbuffer.o
CC(target) Release/obj.target/libmsgpack/deps/msgpack/zone.o
CC(target) Release/obj.target/libmsgpack/deps/msgpack/version.o
LIBTOOL-STATIC Release/msgpack.a
CXX(target) Release/obj.target/msgpackBinding/src/msgpack.o
../src/msgpack.cc:126:67: error: no viable conversion from 'Handle<v8::Value>' to 'v8::Local<v8::Value>'
mo->via.str.size = static_cast<uint32_t>(Nan::DecodeBytes(v8obj, Nan::Encoding::UTF8));
^~~~~
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:269:26: note: candidate constructor
(the implicit copy constructor) not viable: cannot bind base class object of type 'Handle<v8::Value>' to
derived class reference 'const v8::Local<v8::Value> &' for 1st argument
template <class T> class Local : public Handle<T> {
^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:269:26: note: candidate constructor
(the implicit move constructor) not viable: cannot bind base class object of type 'Handle<v8::Value>' to
derived class reference 'v8::Local<v8::Value> &&' for 1st argument
template <class T> class Local : public Handle<T> {
^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:272:29: note: candidate template ignored: could not match
'Local' against 'Handle'
template <class S> inline Local(Local<S> that)
^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:281:29: note: candidate template ignored: could not match
'S *' against 'Handle<v8::Value>'
template <class S> inline Local(S* that) : Handle<T>(that) { }
^
../../nan/nan.h:1774:26: note: passing argument to parameter 'val' here
v8::Local<v8::Value> val, enum Encoding encoding = BINARY) {
^
../src/msgpack.cc:129:68: error: no viable conversion from 'Handle<v8::Value>' to 'v8::Local<v8::Value>'
Nan::DecodeWrite((char*)mo->via.str.ptr, mo->via.str.size, v8obj, Nan::Encoding::UTF8);
^~~~~
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:269:26: note: candidate constructor
(the implicit copy constructor) not viable: cannot bind base class object of type 'Handle<v8::Value>' to
derived class reference 'const v8::Local<v8::Value> &' for 1st argument
template <class T> class Local : public Handle<T> {
^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:269:26: note: candidate constructor
(the implicit move constructor) not viable: cannot bind base class object of type 'Handle<v8::Value>' to
derived class reference 'v8::Local<v8::Value> &&' for 1st argument
template <class T> class Local : public Handle<T> {
^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:272:29: note: candidate template ignored: could not match
'Local' against 'Handle'
template <class S> inline Local(Local<S> that)
^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:281:29: note: candidate template ignored: could not match
'S *' against 'Handle<v8::Value>'
template <class S> inline Local(S* that) : Handle<T>(that) { }
^
../../nan/nan.h:1793:26: note: passing argument to parameter 'val' here
, v8::Local<v8::Value> val
^
../src/msgpack.cc:136:67: error: no viable conversion from 'Handle<v8::Value>' to 'v8::Local<v8::Value>'
mo->via.str.size = static_cast<uint32_t>(Nan::DecodeBytes(result, Nan::Encoding::UTF8));
^~~~~~
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:269:26: note: candidate constructor
(the implicit copy constructor) not viable: cannot bind base class object of type 'Handle<v8::Value>' to
derived class reference 'const v8::Local<v8::Value> &' for 1st argument
template <class T> class Local : public Handle<T> {
^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:269:26: note: candidate constructor
(the implicit move constructor) not viable: cannot bind base class object of type 'Handle<v8::Value>' to
derived class reference 'v8::Local<v8::Value> &&' for 1st argument
template <class T> class Local : public Handle<T> {
^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:272:29: note: candidate template ignored: could not match
'Local' against 'Handle'
template <class S> inline Local(Local<S> that)
^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:281:29: note: candidate template ignored: could not match
'S *' against 'Handle<v8::Value>'
template <class S> inline Local(S* that) : Handle<T>(that) { }
^
../../nan/nan.h:1774:26: note: passing argument to parameter 'val' here
v8::Local<v8::Value> val, enum Encoding encoding = BINARY) {
^
../src/msgpack.cc:139:68: error: no viable conversion from 'Handle<v8::Value>' to 'v8::Local<v8::Value>'
Nan::DecodeWrite((char*)mo->via.str.ptr, mo->via.str.size, result, Nan::Encoding::UTF8);
^~~~~~
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:269:26: note: candidate constructor
(the implicit copy constructor) not viable: cannot bind base class object of type 'Handle<v8::Value>' to
derived class reference 'const v8::Local<v8::Value> &' for 1st argument
template <class T> class Local : public Handle<T> {
^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:269:26: note: candidate constructor
(the implicit move constructor) not viable: cannot bind base class object of type 'Handle<v8::Value>' to
derived class reference 'v8::Local<v8::Value> &&' for 1st argument
template <class T> class Local : public Handle<T> {
^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:272:29: note: candidate template ignored: could not match
'Local' against 'Handle'
template <class S> inline Local(Local<S> that)
^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:281:29: note: candidate template ignored: could not match
'S *' against 'Handle<v8::Value>'
template <class S> inline Local(S* that) : Handle<T>(that) { }
^
../../nan/nan.h:1793:26: note: passing argument to parameter 'val' here
, v8::Local<v8::Value> val
^
4 errors generated.
make: *** [Release/obj.target/msgpackBinding/src/msgpack.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack at ChildProcess.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:820:12)
gyp ERR! System Darwin 14.5.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/me/Code/fo/fo-vacon/node_modules/zerorpc/node_modules/msgpack
gyp ERR! node -v v0.10.40
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
- [email protected] node_modules/msgpack
- [email protected] node_modules/nan
npm ERR! Darwin 14.5.0
npm ERR! argv "node" "/usr/local/bin/npm" "install"
npm ERR! node v0.10.40
npm ERR! npm v3.3.6
npm ERR! code ELIFECYCLE
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the msgpack package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls msgpack
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /Users/me/Code/fo/fo-vacon/npm-debug.log
I am getting the following error when I try to npm install --save zerorpc
`> node-gyp rebuild
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
CC(target) Release/obj.target/libmsgpack/deps/msgpack/objectc.o
./Release/.deps/Release/obj.target/libmsgpack/deps/msgpack/objectc.o.d.raw { dev: 16777220,
mode: 33188,
nlink: 1,
uid: 501,
gid: 20,
rdev: 0,
blksize: 4096,
ino: 3434821,
size: 302,
blocks: 8,
atime: Tue Aug 23 2016 12:33:51 GMT+0200 (CEST),
mtime: Tue Aug 23 2016 12:33:51 GMT+0200 (CEST),
ctime: Tue Aug 23 2016 12:33:51 GMT+0200 (CEST),
birthtime: Tue Aug 23 2016 12:33:51 GMT+0200 (CEST) }
CC(target) Release/obj.target/libmsgpack/deps/msgpack/unpack.o
./Release/.deps/Release/obj.target/libmsgpack/deps/msgpack/unpack.o.d.raw { dev: 16777220,
mode: 33188,
nlink: 1,
uid: 501,
gid: 20,
rdev: 0,
blksize: 4096,
ino: 3434826,
size: 341,
blocks: 8,
atime: Tue Aug 23 2016 12:33:51 GMT+0200 (CEST),
mtime: Tue Aug 23 2016 12:33:51 GMT+0200 (CEST),
ctime: Tue Aug 23 2016 12:33:51 GMT+0200 (CEST),
birthtime: Tue Aug 23 2016 12:33:51 GMT+0200 (CEST) }
CC(target) Release/obj.target/libmsgpack/deps/msgpack/vrefbuffer.o
./Release/.deps/Release/obj.target/libmsgpack/deps/msgpack/vrefbuffer.o.d.raw { dev: 16777220,
mode: 33188,
nlink: 1,
uid: 501,
gid: 20,
rdev: 0,
blksize: 4096,
ino: 3434833,
size: 195,
blocks: 8,
atime: Tue Aug 23 2016 12:33:52 GMT+0200 (CEST),
mtime: Tue Aug 23 2016 12:33:52 GMT+0200 (CEST),
ctime: Tue Aug 23 2016 12:33:52 GMT+0200 (CEST),
birthtime: Tue Aug 23 2016 12:33:51 GMT+0200 (CEST) }
CC(target) Release/obj.target/libmsgpack/deps/msgpack/zone.o
./Release/.deps/Release/obj.target/libmsgpack/deps/msgpack/zone.o.d.raw { dev: 16777220,
mode: 33188,
nlink: 1,
uid: 501,
gid: 20,
rdev: 0,
blksize: 4096,
ino: 3434838,
size: 142,
blocks: 8,
atime: Tue Aug 23 2016 12:33:52 GMT+0200 (CEST),
mtime: Tue Aug 23 2016 12:33:52 GMT+0200 (CEST),
ctime: Tue Aug 23 2016 12:33:52 GMT+0200 (CEST),
birthtime: Tue Aug 23 2016 12:33:52 GMT+0200 (CEST) }
CC(target) Release/obj.target/libmsgpack/deps/msgpack/version.o
./Release/.deps/Release/obj.target/libmsgpack/deps/msgpack/version.o.d.raw { dev: 16777220,
mode: 33188,
nlink: 1,
uid: 501,
gid: 20,
rdev: 0,
blksize: 4096,
ino: 3434841,
size: 554,
blocks: 8,
atime: Tue Aug 23 2016 12:33:52 GMT+0200 (CEST),
mtime: Tue Aug 23 2016 12:33:52 GMT+0200 (CEST),
ctime: Tue Aug 23 2016 12:33:52 GMT+0200 (CEST),
birthtime: Tue Aug 23 2016 12:33:52 GMT+0200 (CEST) }
LIBTOOL-STATIC Release/msgpack.a
libtool: unrecognized option -static' libtool: Try
libtool --help' for more information.
make: *** [Release/msgpack.a] Error 1
gyp ERR! build error
gyp ERR! stack Error: make
failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/Users/nicholaslarssen/.nvm/versions/node/v5.8.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack at emitTwo (events.js:100:13)
gyp ERR! stack at ChildProcess.emit (events.js:185:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:204:12)
gyp ERR! System Darwin 15.5.0
gyp ERR! command "/Users/nicholaslarssen/.nvm/versions/node/v5.8.0/bin/node" "/Users/nicholaslarssen/.nvm/versions/node/v5.8.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/msgpack
gyp ERR! node -v v5.8.0
gyp ERR! node-gyp -v v3.2.1
gyp ERR! not ok
[email protected] /Users/nicholaslarssen/ProWellPlan/pwp-api
└── (empty)
npm WARN [email protected] No description
npm WARN [email protected] No repository field.
npm ERR! Darwin 15.5.0
npm ERR! argv "/Users/nicholaslarssen/.nvm/versions/node/v5.8.0/bin/node" "/Users/nicholaslarssen/.nvm/versions/node/v5.8.0/bin/npm" "install" "--save" "zerorpc"
npm ERR! node v5.8.0
npm ERR! npm v3.7.3
npm ERR! code ELIFECYCLE
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the msgpack package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs msgpack
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls msgpack
npm ERR! There is likely additional logging output above.`
My npm-debug.log looks like this:
0 info it worked if it ends with ok 1 verbose cli [ '/Users/nicholaslarssen/.nvm/versions/node/v5.8.0/bin/node', 1 verbose cli '/Users/nicholaslarssen/.nvm/versions/node/v5.8.0/bin/npm', 1 verbose cli 'install', 1 verbose cli '--save', 1 verbose cli 'zerorpc' ] 2 info using [email protected] 3 info using [email protected] 4 silly loadCurrentTree Starting 5 silly install loadCurrentTree 6 silly install readLocalPackageData 7 silly fetchPackageMetaData zerorpc 8 silly fetchNamedPackageData zerorpc 9 silly mapToRegistry name zerorpc 10 silly mapToRegistry using default registry 11 silly mapToRegistry registry https://registry.npmjs.org/ 12 silly mapToRegistry uri https://registry.npmjs.org/zerorpc 13 verbose request uri https://registry.npmjs.org/zerorpc 14 verbose request no auth needed 15 info attempt registry request try #1 at 12:33:45 PM 16 verbose request id b0cae46e7f2d4c34 17 verbose etag "F0QZZP853S3BEJOSXI46B5IF" 18 http request GET https://registry.npmjs.org/zerorpc 19 http 304 https://registry.npmjs.org/zerorpc 20 verbose headers { date: 'Tue, 23 Aug 2016 10:33:45 GMT', 20 verbose headers via: '1.1 varnish', 20 verbose headers 'cache-control': 'max-age=300', 20 verbose headers etag: '"F0QZZP853S3BEJOSXI46B5IF"', 20 verbose headers age: '69', 20 verbose headers connection: 'keep-alive', 20 verbose headers 'x-served-by': 'cache-bma7035-BMA', 20 verbose headers 'x-cache': 'HIT', 20 verbose headers 'x-cache-hits': '1', 20 verbose headers 'x-timer': 'S1471948425.693183,VS0,VE0', 20 verbose headers vary: 'Accept-Encoding' } 21 silly get cb [ 304, 21 silly get { date: 'Tue, 23 Aug 2016 10:33:45 GMT', 21 silly get via: '1.1 varnish', 21 silly get 'cache-control': 'max-age=300', 21 silly get etag: '"F0QZZP853S3BEJOSXI46B5IF"', 21 silly get age: '69', 21 silly get connection: 'keep-alive', 21 silly get 'x-served-by': 'cache-bma7035-BMA', 21 silly get 'x-cache': 'HIT', 21 silly get 'x-cache-hits': '1', 21 silly get 'x-timer': 'S1471948425.693183,VS0,VE0', 21 silly get vary: 'Accept-Encoding' } ] 22 verbose etag https://registry.npmjs.org/zerorpc from cache 23 verbose get saving zerorpc to /Users/nicholaslarssen/.npm/registry.npmjs.org/zerorpc/.cache.json 24 verbose correctMkdir /Users/nicholaslarssen/.npm correctMkdir not in flight; initializing 25 silly install normalizeTree 26 silly loadCurrentTree Finishing 27 silly loadIdealTree Starting 28 silly install loadIdealTree 29 silly cloneCurrentTree Starting 30 silly install cloneCurrentTreeToIdealTree 31 silly cloneCurrentTree Finishing 32 silly loadShrinkwrap Starting 33 silly install loadShrinkwrap 34 silly loadShrinkwrap Finishing 35 silly loadAllDepsIntoIdealTree Starting 36 silly install loadAllDepsIntoIdealTree 37 silly resolveWithNewModule [email protected] checking installable status 38 silly cache add args [ 'zerorpc', null ] 39 verbose cache add spec zerorpc 40 silly cache add parsed spec Result { 40 silly cache add raw: 'zerorpc', 40 silly cache add scope: null, 40 silly cache add name: 'zerorpc', 40 silly cache add rawSpec: '', 40 silly cache add spec: 'latest', 40 silly cache add type: 'tag' } 41 silly addNamed zerorpc@latest 42 verbose addNamed "latest" is being treated as a dist-tag for zerorpc 43 info addNameTag [ 'zerorpc', 'latest' ] 44 silly mapToRegistry name zerorpc 45 silly mapToRegistry using default registry 46 silly mapToRegistry registry https://registry.npmjs.org/ 47 silly mapToRegistry uri https://registry.npmjs.org/zerorpc 48 verbose addNameTag registry:https://registry.npmjs.org/zerorpc not in flight; fetching 49 verbose get https://registry.npmjs.org/zerorpc not expired, no request 50 silly addNameTag next cb for zerorpc with tag latest 51 silly addNamed [email protected] 52 verbose addNamed "0.9.6" is a plain semver version for zerorpc 53 silly cache afterAdd [email protected] 54 verbose afterAdd /Users/nicholaslarssen/.npm/zerorpc/0.9.6/package/package.json not in flight; writing 55 verbose correctMkdir /Users/nicholaslarssen/.npm correctMkdir not in flight; initializing 56 verbose afterAdd /Users/nicholaslarssen/.npm/zerorpc/0.9.6/package/package.json written 57 silly fetchNamedPackageData msgpack 58 silly mapToRegistry name msgpack 59 silly mapToRegistry using default registry 60 silly mapToRegistry registry https://registry.npmjs.org/ 61 silly mapToRegistry uri https://registry.npmjs.org/msgpack 62 silly fetchNamedPackageData node-uuid 63 silly mapToRegistry name node-uuid 64 silly mapToRegistry using default registry 65 silly mapToRegistry registry https://registry.npmjs.org/ 66 silly mapToRegistry uri https://registry.npmjs.org/node-uuid 67 verbose request uri https://registry.npmjs.org/msgpack 68 verbose request no auth needed 69 info attempt registry request try #1 at 12:33:46 PM 70 verbose etag "AK58CPPGPCW0HYCUM932R6IAW" 71 http request GET https://registry.npmjs.org/msgpack 72 verbose request uri https://registry.npmjs.org/node-uuid 73 verbose request no auth needed 74 info attempt registry request try #1 at 12:33:46 PM 75 verbose etag "9Y8ZHY2VBDORDL23F0JOPB9PR" 76 http request GET https://registry.npmjs.org/node-uuid 77 http 304 https://registry.npmjs.org/node-uuid 78 verbose headers { date: 'Tue, 23 Aug 2016 10:33:46 GMT', 78 verbose headers via: '1.1 varnish', 78 verbose headers 'cache-control': 'max-age=300', 78 verbose headers etag: '"9Y8ZHY2VBDORDL23F0JOPB9PR"', 78 verbose headers age: '223', 78 verbose headers connection: 'keep-alive', 78 verbose headers 'x-served-by': 'cache-bma7022-BMA', 78 verbose headers 'x-cache': 'HIT', 78 verbose headers 'x-cache-hits': '12', 78 verbose headers 'x-timer': 'S1471948426.487037,VS0,VE0', 78 verbose headers vary: 'Accept-Encoding' } 79 silly get cb [ 304, 79 silly get { date: 'Tue, 23 Aug 2016 10:33:46 GMT', 79 silly get via: '1.1 varnish', 79 silly get 'cache-control': 'max-age=300', 79 silly get etag: '"9Y8ZHY2VBDORDL23F0JOPB9PR"', 79 silly get age: '223', 79 silly get connection: 'keep-alive', 79 silly get 'x-served-by': 'cache-bma7022-BMA', 79 silly get 'x-cache': 'HIT', 79 silly get 'x-cache-hits': '12', 79 silly get 'x-timer': 'S1471948426.487037,VS0,VE0', 79 silly get vary: 'Accept-Encoding' } ] 80 verbose etag https://registry.npmjs.org/node-uuid from cache 81 verbose get saving node-uuid to /Users/nicholaslarssen/.npm/registry.npmjs.org/node-uuid/.cache.json 82 verbose correctMkdir /Users/nicholaslarssen/.npm correctMkdir not in flight; initializing 83 http 304 https://registry.npmjs.org/msgpack 84 verbose headers { date: 'Tue, 23 Aug 2016 10:33:46 GMT', 84 verbose headers via: '1.1 varnish', 84 verbose headers 'cache-control': 'max-age=300', 84 verbose headers etag: '"AK58CPPGPCW0HYCUM932R6IAW"', 84 verbose headers age: '68', 84 verbose headers connection: 'keep-alive', 84 verbose headers 'x-served-by': 'cache-bma7025-BMA', 84 verbose headers 'x-cache': 'HIT', 84 verbose headers 'x-cache-hits': '1', 84 verbose headers 'x-timer': 'S1471948426.486205,VS0,VE0', 84 verbose headers vary: 'Accept-Encoding' } 85 silly get cb [ 304, 85 silly get { date: 'Tue, 23 Aug 2016 10:33:46 GMT', 85 silly get via: '1.1 varnish', 85 silly get 'cache-control': 'max-age=300', 85 silly get etag: '"AK58CPPGPCW0HYCUM932R6IAW"', 85 silly get age: '68', 85 silly get connection: 'keep-alive', 85 silly get 'x-served-by': 'cache-bma7025-BMA', 85 silly get 'x-cache': 'HIT', 85 silly get 'x-cache-hits': '1', 85 silly get 'x-timer': 'S1471948426.486205,VS0,VE0', 85 silly get vary: 'Accept-Encoding' } ] 86 verbose etag https://registry.npmjs.org/msgpack from cache 87 verbose get saving msgpack to /Users/nicholaslarssen/.npm/registry.npmjs.org/msgpack/.cache.json 88 verbose correctMkdir /Users/nicholaslarssen/.npm correctMkdir not in flight; initializing 89 silly resolveWithNewModule [email protected] checking installable status 90 silly cache add args [ '[email protected]', null ] 91 verbose cache add spec [email protected] 92 silly cache add parsed spec Result { 92 silly cache add raw: '[email protected]', 92 silly cache add scope: null, 92 silly cache add name: 'node-uuid', 92 silly cache add rawSpec: '1.3.3', 92 silly cache add spec: '1.3.3', 92 silly cache add type: 'version' } 93 silly addNamed [email protected] 94 verbose addNamed "1.3.3" is a plain semver version for node-uuid 95 silly mapToRegistry name node-uuid 96 silly mapToRegistry using default registry 97 silly mapToRegistry registry https://registry.npmjs.org/ 98 silly mapToRegistry uri https://registry.npmjs.org/node-uuid 99 verbose addNameVersion registry:https://registry.npmjs.org/node-uuid not in flight; fetching 100 silly resolveWithNewModule [email protected] checking installable status 101 silly cache add args [ '[email protected]', null ] 102 verbose cache add spec [email protected] 103 silly cache add parsed spec Result { 103 silly cache add raw: '[email protected]', 103 silly cache add scope: null, 103 silly cache add name: 'msgpack', 103 silly cache add rawSpec: '1.0.2', 103 silly cache add spec: '1.0.2', 103 silly cache add type: 'version' } 104 silly addNamed [email protected] 105 verbose addNamed "1.0.2" is a plain semver version for msgpack 106 silly mapToRegistry name msgpack 107 silly mapToRegistry using default registry 108 silly mapToRegistry registry https://registry.npmjs.org/ 109 silly mapToRegistry uri https://registry.npmjs.org/msgpack 110 verbose addNameVersion registry:https://registry.npmjs.org/msgpack not in flight; fetching 111 verbose get https://registry.npmjs.org/node-uuid not expired, no request 112 verbose get https://registry.npmjs.org/msgpack not expired, no request 113 silly cache afterAdd [email protected] 114 verbose afterAdd /Users/nicholaslarssen/.npm/node-uuid/1.3.3/package/package.json not in flight; writing 115 verbose correctMkdir /Users/nicholaslarssen/.npm correctMkdir not in flight; initializing 116 silly cache afterAdd [email protected] 117 verbose afterAdd /Users/nicholaslarssen/.npm/msgpack/1.0.2/package/package.json not in flight; writing 118 verbose correctMkdir /Users/nicholaslarssen/.npm correctMkdir not in flight; initializing 119 verbose afterAdd /Users/nicholaslarssen/.npm/node-uuid/1.3.3/package/package.json written 120 verbose afterAdd /Users/nicholaslarssen/.npm/msgpack/1.0.2/package/package.json written 121 silly loadAllDepsIntoIdealTree Finishing 122 silly idealTree:prePrune [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├─┬ [email protected] 122 silly idealTree:prePrune │ │ └── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├─┬ [email protected] 122 silly idealTree:prePrune │ │ └── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├─┬ [email protected] 122 silly idealTree:prePrune │ │ └── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├─┬ [email protected] 122 silly idealTree:prePrune │ │ └── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├─┬ [email protected] 122 silly idealTree:prePrune │ │ └── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ ├── [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├── [email protected] 122 silly idealTree:prePrune ├─┬ [email protected] 122 silly idealTree:prePrune │ └── [email protected] 122 silly idealTree:prePrune └─┬ [email protected] 122 silly idealTree:prePrune └── [email protected] 123 silly loadIdealTree Finishing 124 silly currentTree [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├─┬ [email protected] 124 silly currentTree │ │ └── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├─┬ [email protected] 124 silly currentTree │ │ └── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├─┬ [email protected] 124 silly currentTree │ │ └── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├─┬ [email protected] 124 silly currentTree │ │ └── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├─┬ [email protected] 124 silly currentTree │ │ └── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ ├── [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├─┬ [email protected] 124 silly currentTree │ └── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree ├── [email protected] 124 silly currentTree └─┬ [email protected] 124 silly currentTree └── [email protected] 125 silly idealTree [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├─┬ [email protected] 125 silly idealTree │ │ └── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├─┬ [email protected] 125 silly idealTree │ │ └── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├─┬ [email protected] 125 silly idealTree │ │ └── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├─┬ [email protected] 125 silly idealTree │ │ └── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├─┬ [email protected] 125 silly idealTree │ │ └── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ ├── [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├── [email protected] 125 silly idealTree ├─┬ [email protected] 125 silly idealTree │ └── [email protected] 125 silly idealTree └─┬ [email protected] 125 silly idealTree └── [email protected] 126 silly generateActionsToTake Starting 127 silly install generateActionsToTake 128 silly generateActionsToTake Finishing 129 silly diffTrees action count 3 130 silly diffTrees add [email protected] 131 silly diffTrees add [email protected] 132 silly diffTrees add [email protected] 133 silly decomposeActions action count 24 134 silly decomposeActions fetch [email protected] 135 silly decomposeActions extract [email protected] 136 silly decomposeActions test [email protected] 137 silly decomposeActions preinstall [email protected] 138 silly decomposeActions build [email protected] 139 silly decomposeActions install [email protected] 140 silly decomposeActions postinstall [email protected] 141 silly decomposeActions finalize [email protected] 142 silly decomposeActions fetch [email protected] 143 silly decomposeActions extract [email protected] 144 silly decomposeActions test [email protected] 145 silly decomposeActions preinstall [email protected] 146 silly decomposeActions build [email protected] 147 silly decomposeActions install [email protected] 148 silly decomposeActions postinstall [email protected] 149 silly decomposeActions finalize [email protected] 150 silly decomposeActions fetch [email protected] 151 silly decomposeActions extract [email protected] 152 silly decomposeActions test [email protected] 153 silly decomposeActions preinstall [email protected] 154 silly decomposeActions build [email protected] 155 silly decomposeActions install [email protected] 156 silly decomposeActions postinstall [email protected] 157 silly decomposeActions finalize [email protected] 158 silly executeActions Starting 159 silly install executeActions 160 silly doSerial global-install 0 161 silly doParallel fetch 3 162 verbose correctMkdir /Users/nicholaslarssen/.npm/_locks correctMkdir not in flight; initializing 163 verbose lock using /Users/nicholaslarssen/.npm/_locks/staging-b7421eda26479f9c.lock for /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging 164 silly doParallel extract 3 165 silly extract [email protected] 166 silly extract [email protected] 167 silly extract [email protected] 168 verbose unbuild node_modules/.staging/node-uuid-06872c2d 169 verbose unbuild node_modules/.staging/msgpack-f98ed59b 170 verbose unbuild node_modules/.staging/zerorpc-dc6d095f 171 silly gentlyRm /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/node-uuid-06872c2d is being purged from base /Users/nicholaslarssen/ProWellPlan/pwp-api 172 verbose gentlyRm don't care about contents; nuking /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/node-uuid-06872c2d 173 silly gentlyRm /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/msgpack-f98ed59b is being purged from base /Users/nicholaslarssen/ProWellPlan/pwp-api 174 verbose gentlyRm don't care about contents; nuking /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/msgpack-f98ed59b 175 silly gentlyRm /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/zerorpc-dc6d095f is being purged from base /Users/nicholaslarssen/ProWellPlan/pwp-api 176 verbose gentlyRm don't care about contents; nuking /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/zerorpc-dc6d095f 177 verbose tar unpack /Users/nicholaslarssen/.npm/node-uuid/1.3.3/package.tgz 178 verbose tar unpacking to /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/node-uuid-06872c2d 179 silly gentlyRm /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/node-uuid-06872c2d is being purged 180 verbose gentlyRm don't care about contents; nuking /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/node-uuid-06872c2d 181 verbose tar unpack /Users/nicholaslarssen/.npm/msgpack/1.0.2/package.tgz 182 verbose tar unpacking to /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/msgpack-f98ed59b 183 silly gentlyRm /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/msgpack-f98ed59b is being purged 184 verbose gentlyRm don't care about contents; nuking /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/msgpack-f98ed59b 185 verbose tar unpack /Users/nicholaslarssen/.npm/zerorpc/0.9.6/package.tgz 186 verbose tar unpacking to /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/zerorpc-dc6d095f 187 silly gentlyRm /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/zerorpc-dc6d095f is being purged 188 verbose gentlyRm don't care about contents; nuking /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/zerorpc-dc6d095f 189 silly gunzTarPerm modes [ '755', '644' ] 190 silly gunzTarPerm modes [ '755', '644' ] 191 silly gunzTarPerm modes [ '755', '644' ] 192 silly gunzTarPerm extractEntry uuid.js 193 silly gunzTarPerm extractEntry package.json 194 silly gunzTarPerm modified mode [ 'package.json', 416, 420 ] 195 silly gunzTarPerm extractEntry package.json 196 silly gunzTarPerm extractEntry package.json 197 silly gunzTarPerm extractEntry LICENSE.md 198 silly gunzTarPerm extractEntry .npmignore 199 silly gunzTarPerm modified mode [ '.npmignore', 416, 420 ] 200 silly gunzTarPerm extractEntry README.md 201 silly gunzTarPerm modified mode [ 'README.md', 416, 420 ] 202 silly gunzTarPerm extractEntry .npmignore 203 silly gunzTarPerm extractEntry README.md 204 silly gunzTarPerm extractEntry LICENSE 205 silly gunzTarPerm modified mode [ 'LICENSE', 416, 420 ] 206 silly gunzTarPerm extractEntry index.js 207 silly gunzTarPerm modified mode [ 'index.js', 416, 420 ] 208 silly gunzTarPerm extractEntry .gitignore 209 silly gunzTarPerm extractEntry README.md 210 silly gunzTarPerm extractEntry LICENSE 211 silly gunzTarPerm extractEntry bin/json2msgpack 212 silly gunzTarPerm extractEntry .travis.yml 213 silly gunzTarPerm modified mode [ '.travis.yml', 416, 420 ] 214 silly gunzTarPerm extractEntry lib/buffer.js 215 silly gunzTarPerm modified mode [ 'lib/buffer.js', 416, 420 ] 216 silly gunzTarPerm extractEntry bin/msgpack2json 217 silly gunzTarPerm extractEntry binding.gyp 218 silly gunzTarPerm extractEntry test/test.js 219 silly gunzTarPerm extractEntry lib/channel.js 220 silly gunzTarPerm modified mode [ 'lib/channel.js', 416, 420 ] 221 silly gunzTarPerm extractEntry lib/client.js 222 silly gunzTarPerm modified mode [ 'lib/client.js', 416, 420 ] 223 silly gunzTarPerm extractEntry lib/events.js 224 silly gunzTarPerm modified mode [ 'lib/events.js', 416, 420 ] 225 silly gunzTarPerm extractEntry lib/middleware.js 226 silly gunzTarPerm modified mode [ 'lib/middleware.js', 416, 420 ] 227 silly gunzTarPerm extractEntry lib/server.js 228 silly gunzTarPerm modified mode [ 'lib/server.js', 416, 420 ] 229 silly gunzTarPerm extractEntry lib/socket.js 230 silly gunzTarPerm modified mode [ 'lib/socket.js', 416, 420 ] 231 silly gunzTarPerm extractEntry lib/util.js 232 silly gunzTarPerm modified mode [ 'lib/util.js', 416, 420 ] 233 silly gunzTarPerm extractEntry test/buffers.js 234 silly gunzTarPerm modified mode [ 'test/buffers.js', 416, 420 ] 235 silly gunzTarPerm extractEntry test/errors.js 236 silly gunzTarPerm modified mode [ 'test/errors.js', 416, 420 ] 237 silly gunzTarPerm extractEntry test/heartbeats.js 238 silly gunzTarPerm modified mode [ 'test/heartbeats.js', 416, 420 ] 239 silly gunzTarPerm extractEntry test/invocation.js 240 silly gunzTarPerm modified mode [ 'test/invocation.js', 416, 420 ] 241 silly gunzTarPerm extractEntry test/repro-10.js 242 silly gunzTarPerm modified mode [ 'test/repro-10.js', 416, 420 ] 243 silly gunzTarPerm extractEntry test/streams.js 244 silly gunzTarPerm modified mode [ 'test/streams.js', 416, 420 ] 245 silly gunzTarPerm extractEntry test/timeouts.js 246 silly gunzTarPerm modified mode [ 'test/timeouts.js', 416, 420 ] 247 silly gunzTarPerm extractEntry test/lib/testutil.js 248 silly gunzTarPerm modified mode [ 'test/lib/testutil.js', 416, 420 ] 249 silly gunzTarPerm extractEntry test/compare_v1.js 250 silly gunzTarPerm extractEntry test/test.html 251 silly gunzTarPerm extractEntry deps/msgpack/LICENSE 252 silly gunzTarPerm extractEntry deps/msgpack/msgpack.h 253 silly gunzTarPerm extractEntry benchmark/benchmark.js 254 silly gunzTarPerm extractEntry benchmark/bench.gnu 255 silly gunzTarPerm extractEntry deps/msgpack/AUTHORS 256 silly gunzTarPerm extractEntry deps/msgpack/gcc_atomic.hpp 257 silly gunzTarPerm extractEntry benchmark/bench.sh 258 silly gunzTarPerm extractEntry benchmark/README.md 259 silly gunzTarPerm extractEntry deps/msgpack/msgpack/sysdep.h 260 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/list.hpp 261 silly gunzTarPerm extractEntry benchmark/benchmark-native.c 262 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/adaptor_base.hpp 263 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/char_ptr.hpp 264 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/check_container_size.hpp 265 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/cpp11/array.hpp 266 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/cpp11/array_char.hpp 267 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/cpp11/forward_list.hpp 268 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/cpp11/tuple.hpp 269 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/cpp11/unordered_map.hpp 270 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/cpp11/unordered_set.hpp 271 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/define.hpp 272 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/deque.hpp 273 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/detail/cpp03_define.hpp 274 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/detail/cpp03_msgpack_tuple.hpp 275 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/detail/cpp11_define.hpp 276 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/detail/cpp11_msgpack_tuple.hpp 277 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/fixint.hpp 278 silly gentlyRm /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/node-uuid-06872c2d/node_modules is being purged 279 verbose gentlyRm don't care about contents; nuking /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/node-uuid-06872c2d/node_modules 280 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/float.hpp 281 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/int.hpp 282 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/bool.hpp 283 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/map.hpp 284 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/msgpack_tuple.hpp 285 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/nil.hpp 286 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/pair.hpp 287 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/raw.hpp 288 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/set.hpp 289 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/string.hpp 290 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/tr1/unordered_map.hpp 291 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/tr1/unordered_set.hpp 292 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/vector.hpp 293 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/vector_bool.hpp 294 silly gunzTarPerm extractEntry deps/msgpack/msgpack/adaptor/vector_char.hpp 295 silly gunzTarPerm extractEntry deps/msgpack/msgpack/detail/cpp03_zone.hpp 296 silly gunzTarPerm extractEntry deps/msgpack/msgpack/detail/cpp11_zone.hpp 297 silly gunzTarPerm extractEntry deps/msgpack/msgpack/fbuffer.h 298 silly gentlyRm /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/zerorpc-dc6d095f/node_modules is being purged 299 verbose gentlyRm don't care about contents; nuking /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/zerorpc-dc6d095f/node_modules 300 silly gunzTarPerm extractEntry deps/msgpack/msgpack/fbuffer.hpp 301 silly gunzTarPerm extractEntry deps/msgpack/msgpack/gcc_atomic.h 302 silly gunzTarPerm extractEntry deps/msgpack/msgpack/iterator.hpp 303 silly gunzTarPerm extractEntry deps/msgpack/msgpack/object.h 304 silly gunzTarPerm extractEntry deps/msgpack/msgpack/object.hpp 305 silly gunzTarPerm extractEntry deps/msgpack/msgpack/object_fwd.hpp 306 silly gunzTarPerm extractEntry deps/msgpack/msgpack/pack.h 307 silly gunzTarPerm extractEntry deps/msgpack/msgpack/pack.hpp 308 silly gunzTarPerm extractEntry deps/msgpack/msgpack/pack_define.h 309 silly gunzTarPerm extractEntry deps/msgpack/msgpack/pack_template.h 310 silly gunzTarPerm extractEntry deps/msgpack/msgpack/sbuffer.h 311 silly gunzTarPerm extractEntry deps/msgpack/msgpack/sbuffer.hpp 312 silly gunzTarPerm extractEntry deps/msgpack/msgpack/cpp_config.hpp 313 silly gunzTarPerm extractEntry deps/msgpack/msgpack/type.hpp 314 silly gunzTarPerm extractEntry deps/msgpack/msgpack/unpack.h 315 silly gunzTarPerm extractEntry deps/msgpack/msgpack/unpack.hpp 316 silly gunzTarPerm extractEntry deps/msgpack/msgpack/unpack_define.h 317 silly gunzTarPerm extractEntry deps/msgpack/msgpack/unpack_template.h 318 silly gunzTarPerm extractEntry deps/msgpack/msgpack/util.h 319 silly gunzTarPerm extractEntry deps/msgpack/msgpack/version.h 320 silly gunzTarPerm extractEntry deps/msgpack/msgpack/version.hpp 321 silly gunzTarPerm extractEntry deps/msgpack/msgpack/version_master.h 322 silly gunzTarPerm extractEntry deps/msgpack/msgpack/versioning.hpp 323 silly gunzTarPerm extractEntry deps/msgpack/msgpack/vrefbuffer.h 324 silly gunzTarPerm extractEntry deps/msgpack/msgpack/vrefbuffer.hpp 325 silly gunzTarPerm extractEntry deps/msgpack/msgpack/zbuffer.h 326 silly gunzTarPerm extractEntry deps/msgpack/msgpack/zbuffer.hpp 327 silly gunzTarPerm extractEntry deps/msgpack/msgpack/zone.h 328 silly gunzTarPerm extractEntry deps/msgpack/msgpack/zone.hpp 329 silly gunzTarPerm extractEntry deps/msgpack/msgpack.gyp 330 silly gunzTarPerm extractEntry deps/msgpack/COPYING 331 silly gunzTarPerm extractEntry deps/msgpack/msgpack.hpp 332 silly gunzTarPerm extractEntry deps/msgpack/objectc.c 333 silly gunzTarPerm extractEntry deps/msgpack/unpack.c 334 silly gunzTarPerm extractEntry deps/msgpack/version.c 335 silly gunzTarPerm extractEntry deps/msgpack/vrefbuffer.c 336 silly gunzTarPerm extractEntry deps/msgpack/zone.c 337 silly gunzTarPerm extractEntry lib/msgpack.js 338 silly gunzTarPerm extractEntry src/msgpack.cc 339 silly gunzTarPerm extractEntry .travis.yml 340 silly gunzTarPerm extractEntry run_tests 341 silly gunzTarPerm extractEntry test/regression.js 342 silly gunzTarPerm extractEntry test/benchmark/benchmark.js 343 silly gunzTarPerm extractEntry test/fixtures/stub.js 344 silly gunzTarPerm extractEntry test/lib/msgpack.js 345 silly gentlyRm /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/msgpack-f98ed59b/node_modules is being purged 346 verbose gentlyRm don't care about contents; nuking /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/msgpack-f98ed59b/node_modules 347 silly doParallel preinstall 3 348 silly preinstall [email protected] /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/msgpack-f98ed59b 349 info lifecycle [email protected]~preinstall: [email protected] 350 silly preinstall [email protected] /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/node-uuid-06872c2d 351 info lifecycle [email protected]~preinstall: [email protected] 352 silly preinstall [email protected] /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/zerorpc-dc6d095f 353 info lifecycle [email protected]~preinstall: [email protected] 354 silly lifecycle [email protected]~preinstall: no script for preinstall, continuing 355 silly lifecycle [email protected]~preinstall: no script for preinstall, continuing 356 silly lifecycle [email protected]~preinstall: no script for preinstall, continuing 357 silly doReverseSerial remove 0 358 silly doSerial move 0 359 silly doSerial finalize 3 360 silly finalize /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/msgpack 361 silly finalize /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/zerorpc/node_modules/node-uuid 362 silly finalize /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/zerorpc 363 silly doSerial build 3 364 silly build [email protected] 365 info linkStuff [email protected] 366 silly linkStuff [email protected] has /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules as its parent node_modules 367 verbose linkBins [email protected] 368 verbose link bins [ { json2msgpack: './bin/json2msgpack', 368 verbose link bins msgpack2json: './bin/msgpack2json' }, 368 verbose link bins '/Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.bin', 368 verbose link bins false ] 369 verbose linkMans [email protected] 370 silly build [email protected] 371 info linkStuff [email protected] 372 silly linkStuff [email protected] has /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/zerorpc/node_modules as its parent node_modules 373 verbose linkBins [email protected] 374 verbose linkMans [email protected] 375 silly build [email protected] 376 info linkStuff [email protected] 377 silly linkStuff [email protected] has /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules as its parent node_modules 378 verbose linkBins [email protected] 379 verbose linkMans [email protected] 380 silly doSerial global-link 0 381 silly doParallel update-linked 0 382 silly doSerial install 3 383 silly install [email protected] /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging/msgpack-f98ed59b 384 info lifecycle [email protected]~install: [email protected] 385 verbose lifecycle [email protected]~install: unsafe-perm in lifecycle true 386 verbose lifecycle [email protected]~install: PATH: /Users/nicholaslarssen/.nvm/versions/node/v5.8.0/lib/node_modules/npm/bin/node-gyp-bin:/Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/msgpack/node_modules/.bin:/Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.bin:/Users/nicholaslarssen/.nvm/versions/node/v5.8.0/bin:/Users/nicholaslarssen/Library/Enthought/Canopy_64bit/User/bin:/Users/nicholaslarssen/.nvm/versions/node/v5.8.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin 387 verbose lifecycle [email protected]~install: CWD: /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/msgpack 388 silly lifecycle [email protected]~install: Args: [ '-c', 'node-gyp rebuild' ] 389 silly lifecycle [email protected]~install: Returned: code: 1 signal: null 390 info lifecycle [email protected]~install: Failed to exec install script 391 verbose unlock done using /Users/nicholaslarssen/.npm/_locks/staging-b7421eda26479f9c.lock for /Users/nicholaslarssen/ProWellPlan/pwp-api/node_modules/.staging 392 silly rollbackFailedOptional Starting 393 silly rollbackFailedOptional Finishing 394 silly runTopLevelLifecycles Starting 395 silly runTopLevelLifecycles Finishing 396 silly install printInstalled 397 warn [email protected] No description 398 warn [email protected] No repository field. 399 verbose stack Error: [email protected] install:
node-gyp rebuild 399 verbose stack Exit status 1 399 verbose stack at EventEmitter.<anonymous> (/Users/nicholaslarssen/.nvm/versions/node/v5.8.0/lib/node_modules/npm/lib/utils/lifecycle.js:239:16) 399 verbose stack at emitTwo (events.js:100:13) 399 verbose stack at EventEmitter.emit (events.js:185:7) 399 verbose stack at ChildProcess.<anonymous> (/Users/nicholaslarssen/.nvm/versions/node/v5.8.0/lib/node_modules/npm/lib/utils/spawn.js:24:14) 399 verbose stack at emitTwo (events.js:100:13) 399 verbose stack at ChildProcess.emit (events.js:185:7) 399 verbose stack at maybeClose (internal/child_process.js:850:16) 399 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:5) 400 verbose pkgid [email protected] 401 verbose cwd /Users/nicholaslarssen/ProWellPlan/pwp-api 402 error Darwin 15.5.0 403 error argv "/Users/nicholaslarssen/.nvm/versions/node/v5.8.0/bin/node" "/Users/nicholaslarssen/.nvm/versions/node/v5.8.0/bin/npm" "install" "--save" "zerorpc" 404 error node v5.8.0 405 error npm v3.7.3 406 error code ELIFECYCLE 407 error [email protected] install:
node-gyp rebuild407 error Exit status 1 408 error Failed at the [email protected] install script 'node-gyp rebuild'. 408 error Make sure you have the latest version of node.js and npm installed. 408 error If you do, this is most likely a problem with the msgpack package, 408 error not with npm itself. 408 error Tell the author that this fails on your system: 408 error node-gyp rebuild 408 error You can get information on how to open an issue for this project with: 408 error npm bugs msgpack 408 error Or if that isn't available, you can get their info via: 408 error npm owner ls msgpack 408 error There is likely additional logging output above. 409 verbose exit [ 1, true ]
I have tried different node versions as well.
The problem seems related to the msgpack
module. I've opened an issue there too:
msgpack/msgpack-node#27
npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/Cellar/nvm/versions/node/v4.1.0/bin/node" "/usr/local/Cellar/nvm/versions/node/v4.1.0/bin/npm" "install" "zerorpc"
npm ERR! node v4.1.0
npm ERR! npm v2.14.3
npm ERR! code ELIFECYCLE
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the msgpack package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls msgpack
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /Users/Ale/Dropbox/Docs/Good Karma/Projects/Distilled/code/back/koa/npm-debug.log
What worries me a bit, looking at the other msgpack
issues is that the build seems to fail on many Node versions: https://github.com/msgpack/msgpack-node/issues/
Should this module be swapped for another Node JS version of msgpak, or be substituted entirely with JSON.stringify
and JSON.parse
? The latter would produce slightly longer strings, but should be way faster with current implementation (as mentioned in msgpack-node
docs).
Is it possiable?
Hi,
Is there any way to cancel requests that are timed out. When my server is down and it comes back up it has to handle a lot of incoming requests that have already been timed out at the client side.
Is there a pattern or solution to prevents this without having to call close on the client connection?
Thanks,
Eelco
Running with node 0.8.7, the example server appears to quit after four to five seconds if nothing connects to it. Based on a hunch that this was caused by node garbage collection of the bound server, I managed to "fix" it by touching the server variable with a setInterval call.
var zerorpc = require("zerorpc");
var server = new zerorpc.Server({
addMan: function(sentence, reply) {
reply(null, sentence + ", man!");
},
add42: function(n, reply) {
reply(null, n + 42);
},
iter: function(from, to, step, reply) {
for(i=from; i<to; i+=step) {
reply(null, i, true);
}
reply();
}
});
server.bind("ipc:///tmp/ipctest");
server.on("error", function(error) {
console.error("RPC server error:", error);
});
// Keep the server from being garbage collected... le-sigh :(
setInterval(function() {
server;
},1000);
It looks related to this zmq issue, so could already be fixed upstream:
Hi there,
I'm trying to install the new release of 0rpc and can't. Apparently, the new version of msgpack added to package.json ([email protected]) doesn't install on all versions of node. What exactly are the prerequisites now?
Hi!
I had problems installing this on my OSX but after cloning and updating the zmq dependency to 2.2.0 it installed without problems and It seems to work properly (I ran the tests)
Could you update the dependency in the package?
Thanks!
Is it possible to add methods to the server once instantiated?
Something like this, perhaps:
var zerorpc = require("zerorpc");
var server = new zerorpc.Server();
server.add('addMan', function(sentence, reply) {
reply(null, sentence + ", man!");
})
If not currently possible, would you be open to a PR to add such functionality?
What about to define behavior of the system when server is down (some exception or redeploy) and up after (for example by supervisor)?
Hi!
After running npm install zerorpc
I got the Package libzmq was not found
error constantly. Tried the linked "fix" continuously but without any results. As it turns out I did not have zeromq installed and therefor the installation failed.
The formulation of the installation process is quite unclear and since there is a "fix" to when the same error is thrown but it is thrown for different reasons (okay kind of the same reason, npm can't find libzmq, but the reason why it can't find it is different).
I feel the installation part of the package should be clearer with this.
Maybe It is good idea to create object with methods to remove invokeMethod direct call
msgpack2 can not install in ubuntu 12.10
node:0.10
the package should replaced by msgpack
I have a fork that somewhat supports DEALER-ROUTER patterns as the python version of this library does, but I'm a little in the dark on what is needed for a 1:1 support between the two.
Hello,
I've tried to install zerorpc for both python and node.js. The first one installed without problems (just a few compilation warnings) but node.js fails on zmq package with the following error I've pasted on the end of my post.
This seems like an issue with zmq 2.7.0 package and not npm or zero-rpc but my question is that if there is a way to force using a different version of zmq which will work with zerorpc npm package?
Package libzmq was not found in the pkg-config search path.
Perhaps you should add the directory containing `libzmq.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libzmq' found
gyp: Call to 'pkg-config libzmq --libs' returned exit status 1. while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:343:16)
gyp ERR! stack at ChildProcess.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:809:12)
gyp ERR! System Darwin 13.2.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/zerorpc/node_modules/zmq
gyp ERR! node -v v0.10.29
gyp ERR! node-gyp -v v0.13.1
gyp ERR! not ok
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the zmq package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls zmq
npm ERR! There is likely additional logging output above.
npm ERR! System Darwin 13.2.0
npm ERR! command "node" "/usr/local/bin/npm" "-g" "install" "zerorpc"
npm ERR! cwd /Users/pb/Documents/tmp
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.5.0-alpha-1
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/pb/Documents/tmp/npm-debug.log
npm ERR! not ok code 0
Currently, it says zerorpc is only compatible with < 0.7.0.
nsp flags zerorpc 0.9.6 for including node-uuid 1.3.3 which contains 'Insecure Entropy Source - Math.random()'
I noticed that you've already upgraded from that version. Could you cut a new release to npm? Or are you wanting other changes in a 0.9.7 release?
The README.md claims that one can set heartbeatInterval
and timeout
in the options object passed to a new Client. However, looking at the codebase, this isn't true. There is an option for setting timeout, but not heartbeatInterval. You can see this pretty clearly here on L46 (atow) of ./lib/client.js.
The var HEARTBEAT gets set in channel.js and I don't see anything anywhere that can change it from it's default.
/Users/matejkramny/Developer/iOrder/server/node_modules/zerorpc/lib/server.js:80
var newInspector = self._createIntrospector(context.constructor.name || "O
^
TypeError: Object #<Object> has no method '_createIntrospector'
at Object.Server (/Users/matejkramny/Developer/iOrder/server/node_modules/zerorpc/lib/server.js:80:29)
at Object.<anonymous> (/Users/matejkramny/Developer/iOrder/server/app.js:20:26)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
22 Dec 11:33:41 - [nodemon] app crashed - waiting for file changes before starting...
^C22 Dec 11:34:02 - [nodemon] exiting
Using zerorpc:latest
Is there any plans for ZeroRPC for PHP ?
Since only one context can be exposed per server, this should be passed into the constructor.
hi, i'm using zerorpc for a service with high concurrent traffic and sometimes i receive this error:
Debug: internal, implementation, error
Error: Uncaught error: Too many open files
at new exports.Socket (/home/geeknux/Projects/netads_core/node_modules/zerorpc/node_modules/zmq/lib/index.js:190:15)
at Object.exports.socket.exports.createSocket (/home/geeknux/Projects/netads_core/node_modules/zerorpc/node_modules/zmq/lib/index.js:605:14)
at Object.client (/home/geeknux/Projects/netads_core/node_modules/zerorpc/lib/socket.js:158:39)
at new Client (/home/geeknux/Projects/netads_core/node_modules/zerorpc/lib/client.js:47:24)
msgpack seems to have an issue from version 0.1.7 on upwards (0.1.6 works) which does not let it compile on windows. for more details see: pgriess/node-msgpack#46
since zerorpc is referring to 0.1.8 it cannot compile on windows.
does zerorpc work with 0.1.6 or has there been any major reason to specify 0.1.8 explicitly instead of semvering ~0.1 ?
Currently, the response callback is passed in as the first argument. Either a generic, extendable context object should be passed in as the first object (in case we want to provide metadata about the request in the future), or, to fit javascript style, the callback should be the last argument.
Multiple forks of this package contain the exact same fix (to an apparent typo):
Maybe someone can apply it to the main branch?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.