@dcl/sdk 7.29.1-36624944101.commit-bb81ac6 → 7.29.1-36625469671.commit-2d5ffac
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -107,10 +107,10 @@ export function addSyncTransport(engine, sendBinary, getUserData, isServerFn, na
|
|
|
107
107
|
}
|
|
108
108
|
});
|
|
109
109
|
binaryMessageBus.on(CommsMessage.RES_CRDT_STATE, async (data, sender) => {
|
|
110
|
-
requestingState = false;
|
|
111
|
-
elapsedTimeSinceRequest = 0;
|
|
112
110
|
if (isServerAtom.getOrNull() || sender !== AUTH_SERVER_PEER_ID)
|
|
113
111
|
return;
|
|
112
|
+
requestingState = false;
|
|
113
|
+
elapsedTimeSinceRequest = 0;
|
|
114
114
|
DEBUG_NETWORK_MESSAGES() && console.log('[Processing CRDT State]', data.byteLength / 1024, 'KB');
|
|
115
115
|
if (data.byteLength > 0) {
|
|
116
116
|
transport.onmessage(serverValidator.processClientMessages(data, sender));
|
|
@@ -232,4 +232,4 @@ export function addSyncTransport(engine, sendBinary, getUserData, isServerFn, na
|
|
|
232
232
|
isRoomReadyAtom
|
|
233
233
|
};
|
|
234
234
|
}
|
|
235
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1idXMtc3luYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9uZXR3b3JrL21lc3NhZ2UtYnVzLXN5bmMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFHeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ3RDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ3RDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sVUFBVSxDQUFBO0FBRWhELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUVyRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQzlCLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFHN0QsK0NBQStDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHNCQUFzQixDQUFBO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsRUFBRSxDQUFFLFVBQWtCLENBQUMsc0JBQXNCLElBQUksS0FBSyxDQUFBO0FBRS9GLDhDQUE4QztBQUM5QyxNQUFNLGlCQUFpQixHQUFHLEdBQVksRUFBRTtJQUN0QyxJQUFJO1FBQ0YsSUFBSSxPQUFPLFVBQVUsS0FBSyxXQUFXO1lBQUUsT0FBTyxLQUFLLENBQUE7UUFDbkQsTUFBTSxpQkFBaUIsR0FBRyxVQUFzRSxDQUFBO1FBQ2hH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LElBQUksRUFBRSxDQUFBO1lBQzdCLElBQUksdUJBQXVCLElBQUksNEJBQTRCLEVBQUU7Z0JBQzNELHNCQUFzQixFQUFFLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFBO2dCQUMvRSx1QkFBdUIsR0FBRyxDQUFDLENBQUE7Z0JBQzNCLGVBQWUsR0FBRyxLQUFLLENBQUE7Z0JBQ3ZCLFlBQVksRUFBRSxDQUFBO2FBQ2Y7U0FDRjtJQUNILENBQUMsQ0FBQyxDQUFBO0lBRUYsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQzlCLHNCQUFzQixFQUFFLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUNuRSxDQUFDLENBQUMsQ0FBQTtJQUVGLFNBQVMsa0JBQWtCO1FBQ3pCLE9BQU8sa0JBQWtCLENBQUE7SUFDM0IsQ0FBQztJQUVELE9BQU87UUFDTCxHQUFHLGlCQUFpQjtRQUNwQixTQUFTO1FBQ1Qsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixRQUFRO1FBQ1IsZUFBZTtLQUNoQixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFbmdpbmUsIFRyYW5zcG9ydCwgUmVhbG1JbmZvIH0gZnJvbSAnQGRjbC9lY3MnXG5pbXBvcnQgdHlwZSB7IFNlbmRCaW5hcnlSZXF1ZXN0LCBTZW5kQmluYXJ5UmVzcG9uc2UgfSBmcm9tICd+c3lzdGVtL0NvbW11bmljYXRpb25zQ29udHJvbGxlcidcblxuaW1wb3J0IHsgc3luY0ZpbHRlciB9IGZyb20gJy4vZmlsdGVyJ1xuaW1wb3J0IHsgZW5naW5lVG9DcmR0IH0gZnJvbSAnLi9zdGF0ZSdcbmltcG9ydCB7IEJpbmFyeU1lc3NhZ2VCdXMsIENvbW1zTWVzc2FnZSB9IGZyb20gJy4vYmluYXJ5LW1lc3NhZ2UtYnVzJ1xuaW1wb3J0IHsgZmV0Y2hQcm9maWxlIH0gZnJvbSAnLi91dGlscydcbmltcG9ydCB7IGVudGl0eVV0aWxzIH0gZnJvbSAnLi9lbnRpdGllcydcbmltcG9ydCB7IGNyZWF0ZVNlcnZlclZhbGlkYXRvciB9IGZyb20gJy4vc2VydmVyJ1xuaW1wb3J0IHR5cGUgeyBHZXRVc2VyRGF0YVJlcXVlc3QsIEdldFVzZXJEYXRhUmVzcG9uc2UgfSBmcm9tICd+c3lzdGVtL1VzZXJJZGVudGl0eSdcbmltcG9ydCB7IGRlZmluZVBsYXllckhlbHBlciB9IGZyb20gJy4uL3BsYXllcnMnXG5pbXBvcnQgeyBzZXJpYWxpemVDcmR0TWVzc2FnZXMgfSBmcm9tICcuLi9pbnRlcm5hbC90cmFuc3BvcnRzL2xvZ2dlcidcbmltcG9ydCB7IElzU2VydmVyUmVxdWVzdCwgSXNTZXJ2ZXJSZXNwb25zZSB9IGZyb20gJ35zeXN0ZW0vRW5naW5lQXBpJ1xuaW1wb3J0IHsgQXRvbSB9IGZyb20gJy4uL2F0b20nXG5pbXBvcnQgeyBzZXRHbG9iYWxSb29tLCBSb29tIH0gZnJvbSAnLi9ldmVudHMvaW1wbGVtZW50YXRpb24nXG5cbmV4cG9ydCB0eXBlIElQcm9maWxlID0geyBuZXR3b3JrSWQ6IG51bWJlcjsgdXNlcklkOiBzdHJpbmcgfVxuLy8gdXNlciB0aGF0IHdlIGFza2VkIGZvciB0aGUgaW5pdGFsIGNyZHQgc3RhdGVcbmV4cG9ydCBjb25zdCBBVVRIX1NFUlZFUl9QRUVSX0lEID0gJ2F1dGhvcml0YXRpdmUtc2VydmVyJ1xuZXhwb3J0IGNvbnN0IERFQlVHX05FVFdPUktfTUVTU0FHRVMgPSAoKSA9PiAoZ2xvYmFsVGhpcyBhcyBhbnkpLkRFQlVHX05FVFdPUktfTUVTU0FHRVMgPz8gZmFsc2VcblxuLy8gVGVzdCBlbnZpcm9ubWVudCBkZXRlY3Rpb24gd2l0aG91dCAnYXMgYW55J1xuY29uc3QgaXNUZXN0RW52aXJvbm1lbnQgPSAoKTogYm9vbGVhbiA9PiB7XG4gIHRyeSB7XG4gICAgaWYgKHR5cGVvZiBnbG9iYWxUaGlzID09PSAndW5kZWZpbmVkJykgcmV0dXJuIGZhbHNlXG4gICAgY29uc3QgZ2xvYmFsV2l0aFByb2Nlc3MgPSBnbG9iYWxUaGlzIGFzIHVua25vd24gYXMgeyBwcm9jZXNzPzogeyBlbnY/OiB7IE5PREVfRU5WPzogc3RyaW5nIH0gfSB9XG4gICAgcmV0dXJuIGdsb2JhbFdpdGhQcm9jZXNzLnByb2Nlc3M/LmVudj8uTk9ERV9FTlYgPT09ICd0ZXN0J1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkU3luY1RyYW5zcG9ydChcbiAgZW5naW5lOiBJRW5naW5lLFxuICBzZW5kQmluYXJ5OiAobXNnOiBTZW5kQmluYXJ5UmVxdWVzdCkgPT4gUHJvbWlzZTxTZW5kQmluYXJ5UmVzcG9uc2U+LFxuICBnZXRVc2VyRGF0YTogKHZhbHVlOiBHZXRVc2VyRGF0YVJlcXVlc3QpID0+IFByb21pc2U8R2V0VXNlckRhdGFSZXNwb25zZT4sXG4gIGlzU2VydmVyRm46IChyZXF1ZXN0OiBJc1NlcnZlclJlcXVlc3QpID0+IFByb21pc2U8SXNTZXJ2ZXJSZXNwb25zZT4sXG4gIG5hbWU6IHN0cmluZ1xuKSB7XG4gIC8vIFByb2ZpbGUgSW5mb1xuICBjb25zdCBteVByb2ZpbGU6IElQcm9maWxlID0ge30gYXMgSVByb2ZpbGVcbiAgZmV0Y2hQcm9maWxlKG15UHJvZmlsZSEsIGdldFVzZXJEYXRhKVxuXG4gIGNvbnN0IGlzU2VydmVyQXRvbSA9IEF0b208Ym9vbGVhbj4oKVxuICBjb25zdCBpc1Jvb21SZWFkeUF0b20gPSBBdG9tPGJvb2xlYW4+KGZhbHNlKVxuXG4gIHZvaWQgaXNTZXJ2ZXJGbih7fSkudGhlbigoJDogSXNTZXJ2ZXJSZXNwb25zZSkgPT4ge1xuICAgIHJldHVybiBpc1NlcnZlckF0b20uc3dhcCghISQuaXNTZXJ2ZXIpXG4gIH0pXG5cbiAgLy8gRW50aXR5IHV0aWxzXG4gIGNvbnN0IGVudGl0eURlZmluaXRpb25zID0gZW50aXR5VXRpbHMoZW5naW5lLCBteVByb2ZpbGUpXG5cbiAgLy8gTGlzdCBvZiBNZXNzYWdlQnVzcyBtZXNzc2FnZXMgdG8gYmUgc2VudCBvbiBldmVyeSBmcmFtZSB0byBjb21tc1xuICBjb25zdCBwZW5kaW5nTWVzc2FnZUJ1c01lc3NhZ2VzVG9TZW5kOiB7IGRhdGE6IFVpbnQ4QXJyYXlbXTsgYWRkcmVzczogc3RyaW5nW10gfVtdID0gW11cblxuICBjb25zdCBiaW5hcnlNZXNzYWdlQnVzID0gQmluYXJ5TWVzc2FnZUJ1cygoZGF0YSwgYWRkcmVzcykgPT4ge1xuICAgIHBlbmRpbmdNZXNzYWdlQnVzTWVzc2FnZXNUb1NlbmQucHVzaCh7IGRhdGE6IFtkYXRhXSwgYWRkcmVzczogYWRkcmVzcyA/PyBbXSB9KVxuICB9KVxuXG4gIGZ1bmN0aW9uIGdldE1lc3NhZ2VzVG9TZW5kKCk6IHR5cGVvZiBwZW5kaW5nTWVzc2FnZUJ1c01lc3NhZ2VzVG9TZW5kIHtcbiAgICBjb25zdCBtZXNzYWdlcyA9IFsuLi5wZW5kaW5nTWVzc2FnZUJ1c01lc3NhZ2VzVG9TZW5kXVxuICAgIHBlbmRpbmdNZXNzYWdlQnVzTWVzc2FnZXNUb1NlbmQubGVuZ3RoID0gMFxuICAgIHJldHVybiBtZXNzYWdlc1xuICB9XG4gIGNvbnN0IHBsYXllcnMgPSBkZWZpbmVQbGF5ZXJIZWxwZXIoZW5naW5lKVxuXG4gIGxldCBzdGF0ZUlzU3luY3Jvbml6ZWQgPSBmYWxzZVxuXG4gIC8qKlxuICAgKiBXZSBuZWVkIHRvIHdhaXQgdGlsbCAyIHRpY2tzIHRoYXQgaXMgd2hlbiB0aGUgZW5naW5lIGlzIHJlYWR5IHRvIHNlbmQgbmV3IG1lc3NhZ2VzLlxuICAgKiBUaGUgZmlyc3QgdGljayBpcyBmb3IgdGhlIGNsaWVudCBlbmdpbmUgcHJvY2Vzc2luZyB0aGUgQ1JEVCBtZXNzYWdlcyxcbiAgICogYW5kIHRoZSBzZWNvbmQgb25lIGFyZSB0aGUgbWVzc2FnZXMgY3JlYXRlZCBieSB0aGUgbWFpbigpIGZ1bmN0aW9uLlxuICAgKiBTbyB0byBhdm9pZCBzZW5kaW5nIHRob3NlIG1lc3NhZ2VzLCB0aGF0IGFsbCB0aGUgY2xpZW50cyBoYXZlLCB0aHJvdWdoIHRoZSBuZXR3b3JrIHdlIHB1dCB0aGlzIHZhbGlkYXRpb24gaGVyZS5cbiAgICovXG4gIGxldCB0aWNrID0gMFxuICBjb25zdCBUUkFOU1BPUlRfSU5JVElBTElaRURfTlVNQkVSID0gaXNUZXN0RW52aXJvbm1lbnQoKSA/IDAgOiAyXG4gIC8vIEFkZCBTeW5jIFRyYW5zcG9ydFxuICBjb25zdCB0cmFuc3BvcnQ6IFRyYW5zcG9ydCA9IHtcbiAgICBmaWx0ZXI6IHN5bmNGaWx0ZXIoZW5naW5lKSxcbiAgICBzZW5kOiBhc3luYyAobWVzc2FnZXMpID0+IHtcbiAgICAgIGlmICh0aWNrIDw9IFRSQU5TUE9SVF9JTklUSUFMSVpFRF9OVU1CRVIpIHRpY2srK1xuICAgICAgZm9yIChjb25zdCBtZXNzYWdlIG9mIHRpY2sgPiBUUkFOU1BPUlRfSU5JVElBTElaRURfTlVNQkVSID8gW21lc3NhZ2VzXS5mbGF0KCkgOiBbXSkge1xuICAgICAgICBpZiAobWVzc2FnZS5ieXRlTGVuZ3RoKSB7XG4gICAgICAgICAgREVCVUdfTkVUV09SS19NRVNTQUdFUygpICYmXG4gICAgICAgICAgICBjb25zb2xlLmxvZyguLi5BcnJheS5mcm9tKHNlcmlhbGl6ZUNyZHRNZXNzYWdlcygnW05ldHdvcmtNZXNzYWdlIHNlbnRdOicsIG1lc3NhZ2UsIGVuZ2luZSkpKVxuXG4gICAgICAgICAgLy8gQ29udmVydCByZWd1bGFyIG1lc3NhZ2VzIHRvIG5ldHdvcmsgbWVzc2FnZXMgZm9yIGJyb2FkY2FzdGluZyB3aXRoIGNodW5raW5nXG4gICAgICAgICAgZm9yIChjb25zdCBjaHVuayBvZiBzZXJ2ZXJWYWxpZGF0b3IuY29udmVydFJlZ3VsYXJUb05ldHdvcmtNZXNzYWdlKG1lc3NhZ2UpKSB7XG4gICAgICAgICAgICBiaW5hcnlNZXNzYWdlQnVzLmVtaXQoQ29tbXNNZXNzYWdlLkNSRFQsIGNodW5rKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgcGVlck1lc3NhZ2VzID0gZ2V0TWVzc2FnZXNUb1NlbmQoKVxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBzZW5kQmluYXJ5KHsgZGF0YTogW10sIHBlZXJEYXRhOiBwZWVyTWVzc2FnZXMgfSlcbiAgICAgIGJpbmFyeU1lc3NhZ2VCdXMuX19wcm9jZXNzTWVzc2FnZXMocmVzcG9uc2UuZGF0YSlcbiAgICB9LFxuICAgIHR5cGU6IG5hbWVcbiAgfVxuXG4gIC8vIFNlcnZlciB2YWxpZGF0aW9uIHNldHVwXG4gIGNvbnN0IHNlcnZlclZhbGlkYXRvciA9IGNyZWF0ZVNlcnZlclZhbGlkYXRvcih7XG4gICAgZW5naW5lLFxuICAgIGJpbmFyeU1lc3NhZ2VCdXNcbiAgfSlcblxuICAvLyBJbml0aWFsaXplIEV2ZW50IEJ1cyB3aXRoIHJlZ2lzdGVyZWQgc2NoZW1hc1xuICBjb25zdCBldmVudEJ1cyA9IG5ldyBSb29tKGVuZ2luZSwgYmluYXJ5TWVzc2FnZUJ1cywgaXNTZXJ2ZXJBdG9tLCBpc1Jvb21SZWFkeUF0b20pXG5cbiAgLy8gU2V0IGdsb2JhbCBldmVudEJ1cyBpbnN0YW5jZVxuICBzZXRHbG9iYWxSb29tKGV2ZW50QnVzKVxuXG4gIGVuZ2luZS5hZGRUcmFuc3BvcnQodHJhbnNwb3J0KVxuICAvLyBFbmQgYWRkIHN5bmMgdHJhbnNwb3J0XG5cbiAgLy8gUmVjZWl2ZSAmIFByb2Nlc3MgQ1JEVF9TVEFURVxuICBiaW5hcnlNZXNzYWdlQnVzLm9uKENvbW1zTWVzc2FnZS5SRVFfQ1JEVF9TVEFURSwgYXN5bmMgKGRhdGEsIHNlbmRlcikgPT4ge1xuICAgIC8vIFJlcXVlc3RzIGFycml2aW5nIGJlZm9yZSByb2xlIHJlc29sdXRpb24gYXJlIHJlY292ZXJlZCBieSB0aGUgcmVxdWVzdGVyJ3MgcmV0cnkuXG4gICAgaWYgKCFpc1NlcnZlckF0b20uZ2V0T3JOdWxsKCkpIHJldHVyblxuXG4gICAgREVCVUdfTkVUV09SS19NRVNTQUdFUygpICYmIGNvbnNvbGUubG9nKCdbUkVRX0NSRFRfU1RBVEVdJywgc2VuZGVyLCBEYXRlLm5vdygpKVxuICAgIGNvbnN0IGNodW5rcyA9IGVuZ2luZVRvQ3JkdChlbmdpbmUpXG4gICAgaWYgKGNodW5rcy5sZW5ndGggPT09IDApIHtcbiAgICAgIERFQlVHX05FVFdPUktfTUVTU0FHRVMoKSAmJiBjb25zb2xlLmxvZygnW0VtaXRpbmcgZW1wdHkgc3RhdGU6XScsIHNlbmRlciwgRGF0ZS5ub3coKSlcbiAgICAgIGJpbmFyeU1lc3NhZ2VCdXMuZW1pdChDb21tc01lc3NhZ2UuUkVTX0NSRFRfU1RBVEUsIG5ldyBVaW50OEFycmF5KCksIFtzZW5kZXJdKVxuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKGNvbnN0IGNodW5rIG9mIGNodW5rcykge1xuICAgICAgICBERUJVR19ORVRXT1JLX01FU1NBR0VTKCkgJiYgY29uc29sZS5sb2coJ1tFbWl0aW5nOl0nLCBzZW5kZXIsIERhdGUubm93KCkpXG4gICAgICAgIGJpbmFyeU1lc3NhZ2VCdXMuZW1pdChDb21tc01lc3NhZ2UuUkVTX0NSRFRfU1RBVEUsIGNodW5rLCBbc2VuZGVyXSlcbiAgICAgIH1cbiAgICB9XG4gIH0pXG4gIGJpbmFyeU1lc3NhZ2VCdXMub24oQ29tbXNNZXNzYWdlLlJFU19DUkRUX1NUQVRFLCBhc3luYyAoZGF0YSwgc2VuZGVyKSA9PiB7XG4gICAgcmVxdWVzdGluZ1N0YXRlID0gZmFsc2VcbiAgICBlbGFwc2VkVGltZVNpbmNlUmVxdWVzdCA9IDBcbiAgICBpZiAoaXNTZXJ2ZXJBdG9tLmdldE9yTnVsbCgpIHx8IHNlbmRlciAhPT0gQVVUSF9TRVJWRVJfUEVFUl9JRCkgcmV0dXJuXG4gICAgREVCVUdfTkVUV09SS19NRVNTQUdFUygpICYmIGNvbnNvbGUubG9nKCdbUHJvY2Vzc2luZyBDUkRUIFN0YXRlXScsIGRhdGEuYnl0ZUxlbmd0aCAvIDEwMjQsICdLQicpXG4gICAgaWYgKGRhdGEuYnl0ZUxlbmd0aCA+IDApIHtcbiAgICAgIHRyYW5zcG9ydC5vbm1lc3NhZ2UhKHNlcnZlclZhbGlkYXRvci5wcm9jZXNzQ2xpZW50TWVzc2FnZXMoZGF0YSwgc2VuZGVyKSlcbiAgICB9XG4gICAgc3RhdGVJc1N5bmNyb25pemVkID0gdHJ1ZVxuXG4gICAgLy8gSU1QT1JUQU5UOiBPbmx5IG1hcmsgcm9vbSBhcyByZWFkeSBBRlRFUiBzdGF0ZSBpcyBzeW5jaHJvbml6ZWRcbiAgICAvLyBUaGlzIGVuc3VyZXMgY29tbXMgaXMgdHJ1bHkgY29ubmVjdGVkIGFuZCB3b3JraW5nXG4gICAgY29uc3QgcmVhbG1JbmZvID0gUmVhbG1JbmZvLmdldE9yTnVsbChlbmdpbmUuUm9vdEVudGl0eSlcbiAgICBpZiAocmVhbG1JbmZvKSB7XG4gICAgICBERUJVR19ORVRXT1JLX01FU1NBR0VTKCkgJiYgY29uc29sZS5sb2coJ1tpc1Jvb21SZWFkeV0gTWFya2luZyByb29tIGFzIHJlYWR5IGFmdGVyIHN0YXRlIHN5bmMnKVxuICAgICAgaXNSb29tUmVhZHlBdG9tLnN3YXAodHJ1ZSlcbiAgICB9XG4gIH0pXG5cbiAgLy8gcmVjZWl2ZWQgbWVzc2FnZSBmcm9tIHRoZSBuZXR3b3JrXG4gIGJpbmFyeU1lc3NhZ2VCdXMub24oQ29tbXNNZXNzYWdlLkNSRFQsICh2YWx1ZSwgc2VuZGVyKSA9PiB7XG4gICAgY29uc3QgaXNTZXJ2ZXIgPSBpc1NlcnZlckF0b20uZ2V0T3JOdWxsKClcbiAgICBERUJVR19ORVRXT1JLX01FU1NBR0VTKCkgJiZcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICB0cmFuc3BvcnQudHlwZSxcbiAgICAgICAgLi4uQXJyYXkuZnJvbShzZXJpYWxpemVDcmR0TWVzc2FnZXMoJ1tOZXR3b3JrTWVzc2FnZSByZWNlaXZlZF06JywgdmFsdWUsIGVuZ2luZSkpLFxuICAgICAgICBpc1NlcnZlclxuICAgICAgKVxuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgdHJhbnNwb3J0Lm9ubWVzc2FnZSEoc2VydmVyVmFsaWRhdG9yLnByb2Nlc3NTZXJ2ZXJNZXNzYWdlcyh2YWx1ZSwgc2VuZGVyKSlcbiAgICB9IGVsc2UgaWYgKHNlbmRlciA9PT0gQVVUSF9TRVJWRVJfUEVFUl9JRCkge1xuICAgICAgLy8gUHJvY2VzcyBuZXR3b3JrIG1lc3NhZ2VzIGZyb20gc2VydmVyIGFuZCBjb252ZXJ0IHRvIHJlZ3VsYXIgbWVzc2FnZXNcbiAgICAgIHRyYW5zcG9ydC5vbm1lc3NhZ2UhKHNlcnZlclZhbGlkYXRvci5wcm9jZXNzQ2xpZW50TWVzc2FnZXModmFsdWUsIHNlbmRlcikpXG4gICAgfVxuICB9KVxuXG4gIC8vIHJlY2VpdmVkIGF1dGhvcml0YXRpdmUgbWVzc2FnZSBmcm9tIHNlcnZlciAtIGZvcmNlIGFwcGx5IHRvIGZpeCBpbnZhbGlkIGxvY2FsIHN0YXRlXG4gIGJpbmFyeU1lc3NhZ2VCdXMub24oQ29tbXNNZXNzYWdlLkNSRFRfQVVUSE9SSVRBVElWRSwgKHZhbHVlLCBzZW5kZXIpID0+IHtcbiAgICAvLyBPbmx5IGFjY2VwdCBhdXRob3JpdGF0aXZlIG1lc3NhZ2VzIGZyb20gYXV0aG9yaXRhdGl2ZSBzZXJ2ZXJcbiAgICBpZiAoc2VuZGVyICE9PSBBVVRIX1NFUlZFUl9QRUVSX0lEKSByZXR1cm5cblxuICAgIC8vIERFQlVHX05FVFdPUktfTUVTU0FHRVMoKSAmJlxuICAgIGNvbnNvbGUubG9nKCdbQVVUSE9SSVRBVElWRV0gUmVjZWl2ZWQgYXV0aG9yaXRhdGl2ZSBtZXNzYWdlIGZyb20gc2VydmVyOicsIHZhbHVlLmJ5dGVMZW5ndGgsICdieXRlcycpXG5cbiAgICAvLyBQcm9jZXNzIGF1dGhvcml0YXRpdmUgbWVzc2FnZXMgYnkgZm9yY2luZyB0aGVtIHRocm91Z2ggbm9ybWFsIENSRFQgcHJvY2Vzc2luZ1xuICAgIC8vIGJ1dCB3aXRoIGEgdGltZXN0YW1wIHRoYXQncyBndWFyYW50ZWVkIHRvIGJlIGFjY2VwdGVkXG4gICAgY29uc3QgYXV0aG9yaXRhdGl2ZUJ1ZmZlciA9IHNlcnZlclZhbGlkYXRvci5wcm9jZXNzQ2xpZW50TWVzc2FnZXModmFsdWUsIHNlbmRlciwgdHJ1ZSlcbiAgICBpZiAoYXV0aG9yaXRhdGl2ZUJ1ZmZlci5ieXRlTGVuZ3RoID4gMCkge1xuICAgICAgLy8gQXBwbHkgYXV0aG9yaXRhdGl2ZSBtZXNzYWdlIHRocm91Z2ggbm9ybWFsIHRyYW5zcG9ydCwgYnV0IHRoZSBzZXJ2ZXIncyBtZXNzYWdlc1xuICAgICAgLy8gc2hvdWxkIGJlIHByb2Nlc3NlZCBhcyBhdXRob3JpdGF0aXZlIHdpdGggc3BlY2lhbCB0aW1lc3RhbXAgaGFuZGxpbmdcbiAgICAgIHRyYW5zcG9ydC5vbm1lc3NhZ2UhKGF1dGhvcml0YXRpdmVCdWZmZXIpXG5cbiAgICAgIERFQlVHX05FVFdPUktfTUVTU0FHRVMoKSAmJiBjb25zb2xlLmxvZygnW0FVVEhPUklUQVRJVkVdIEFwcGxpZWQgc2VydmVyIGF1dGhvcml0YXRpdmUgbWVzc2FnZSB0byBsb2NhbCBzdGF0ZScpXG4gICAgfVxuICB9KVxuXG4gIHBsYXllcnMub25FbnRlclNjZW5lKChwbGF5ZXIpID0+IHtcbiAgICBERUJVR19ORVRXT1JLX01FU1NBR0VTKCkgJiYgY29uc29sZS5sb2coJ1tvbkVudGVyU2NlbmVdJywgcGxheWVyLnVzZXJJZClcbiAgICBpZiAoIWlzU2VydmVyQXRvbS5nZXRPck51bGwoKSAmJiBteVByb2ZpbGUudXNlcklkID09PSBwbGF5ZXIudXNlcklkKSB7XG4gICAgICByZXF1ZXN0U3RhdGUoKVxuICAgIH1cbiAgfSlcblxuICAvLyBBc2tzIGZvciB0aGUgUkVRX0NSRFRfU1RBVEUgd2hlbiBpdHMgY29ubmVjdGVkIHRvIGNvbW1zXG4gIFJlYWxtSW5mby5vbkNoYW5nZShlbmdpbmUuUm9vdEVudGl0eSwgKHZhbHVlKSA9PiB7XG4gICAgY29uc3QgaXNTZXJ2ZXIgPSBpc1NlcnZlckF0b20uZ2V0T3JOdWxsKClcblxuICAgIGlmICghdmFsdWU/LmlzQ29ubmVjdGVkU2NlbmVSb29tKSB7XG4gICAgICAvLyBPbmx5IHJlYWN0IHdoZW4gYWN0dWFsbHkgdHJhbnNpdGlvbmluZyBmcm9tIHJlYWR5IHRvIG5vdCByZWFkeVxuICAgICAgaWYgKGlzUm9vbVJlYWR5QXRvbS5nZXRPck51bGwoKSA9PT0gdHJ1ZSkge1xuICAgICAgICBERUJVR19ORVRXT1JLX01FU1NBR0VTKCkgJiYgY29uc29sZS5sb2coJ0Rpc2Nvbm5lY3RlZCBmcm9tIGNvbW1zJylcbiAgICAgICAgaXNSb29tUmVhZHlBdG9tLnN3YXAoZmFsc2UpXG4gICAgICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgICAgICBzdGF0ZUlzU3luY3Jvbml6ZWQgPSBmYWxzZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlPy5pc0Nvbm5lY3RlZFNjZW5lUm9vbSkge1xuICAgICAgcmVxdWVzdFN0YXRlKClcblxuICAgICAgLy8gRm9yIHNlcnZlcnMsIG1hcmsgYXMgcmVhZHkgaW1tZWRpYXRlbHkgd2hlbiBjb25uZWN0ZWRcbiAgICAgIC8vIChzZXJ2ZXJzIGRvbid0IG5lZWQgdG8gc3luYyBzdGF0ZSBmcm9tIGFueW9uZSlcbiAgICAgIGlmIChpc1NlcnZlciAmJiBpc1Jvb21SZWFkeUF0b20uZ2V0T3JOdWxsKCkgPT09IGZhbHNlKSB7XG4gICAgICAgIERFQlVHX05FVFdPUktfTUVTU0FHRVMoKSAmJiBjb25zb2xlLmxvZygnW2lzUm9vbVJlYWR5XSBTZXJ2ZXIgbWFya2luZyByb29tIGFzIHJlYWR5JylcbiAgICAgICAgaXNSb29tUmVhZHlBdG9tLnN3YXAodHJ1ZSlcbiAgICAgIH1cbiAgICAgIC8vIEZvciBjbGllbnRzLCByb29tIHdpbGwgYmUgbWFya2VkIHJlYWR5IGFmdGVyIHJlY2VpdmluZyBDUkRUIHN0YXRlIChhYm92ZSlcbiAgICB9XG4gIH0pXG5cbiAgbGV0IHJlcXVlc3RpbmdTdGF0ZSA9IGZhbHNlXG4gIGxldCBlbGFwc2VkVGltZVNpbmNlUmVxdWVzdCA9IDBcbiAgY29uc3QgU1RBVEVfUkVRVUVTVF9SRVRSWV9JTlRFUlZBTCA9IDIuMCAvLyBzZWNvbmRzXG5cbiAgLyoqXG4gICAqIFdoeSB3ZSBoYXZlIHRvIHJlcXVlc3QgdGhlIHN0YXRlIGlmIHdlIGhhdmUgYSBzZXJ2ZXIgdGhhdCBjYW4gc2VuZCB1cyB0aGUgc3RhdGUgd2hlbiB3ZSBqb2luZWQ/XG4gICAqIFRoZSB0aGluZyBpcyB0aGF0IHdoZW4gdGhlIHNlcnZlciBkZXRlY3RzIGEgbmV3IEpPSU5fUEFSVElDSVBBTlQgb24gbGl2ZWtpdCByb29tLCBpdCBzZW5kcyBhdXRvbWF0aWNhbGx5IHRoZSBzdGF0ZSB0byB0aGF0IHBlZXIuXG4gICAqIEJ1dCBpbiB1bml0eSwgaXQgdGFrZXMgbW9yZSB0aW1lLCBzbyB0aGF0IG1lc3NhZ2UgaXMgbm90IGJlaW5nIGRlbGl2ZXJlZCB0byB0aGUgY2xpZW50LlxuICAgKiBTbyBpbnN0ZWFkLCB3aGVuIHdlIGFyZSBmaW5hbGx5IGNvbm5lY3RlZCB0byB0aGUgcm9vbSwgd2UgcmVxdWVzdCB0aGUgc3RhdGUsIGFuZCB0aGVuIHRoZSBzZXJ2ZXIgYW5zd2VycyB3aXRoIHRoZSBzdGF0ZSA6KVxuICAgKlxuICAgKiBJZiBubyByZXNwb25zZSBpcyByZWNlaXZlZCB3aXRoaW4gMiBzZWNvbmRzLCB0aGUgcmVxdWVzdCBpcyBhdXRvbWF0aWNhbGx5IHJldHJpZWQuXG4gICAqL1xuICBmdW5jdGlvbiByZXF1ZXN0U3RhdGUoKSB7XG4gICAgaWYgKGlzU2VydmVyQXRvbS5nZXRPck51bGwoKSkgcmV0dXJuXG4gICAgaWYgKFJlYWxtSW5mby5nZXRPck51bGwoZW5naW5lLlJvb3RFbnRpdHkpPy5pc0Nvbm5lY3RlZFNjZW5lUm9vbSAmJiAhcmVxdWVzdGluZ1N0YXRlKSB7XG4gICAgICByZXF1ZXN0aW5nU3RhdGUgPSB0cnVlXG4gICAgICBlbGFwc2VkVGltZVNpbmNlUmVxdWVzdCA9IDBcbiAgICAgIERFQlVHX05FVFdPUktfTUVTU0FHRVMoKSAmJiBjb25zb2xlLmxvZygnUmVxdWVzdGluZyBzdGF0ZS4uLicpXG4gICAgICBiaW5hcnlNZXNzYWdlQnVzLmVtaXQoQ29tbXNNZXNzYWdlLlJFUV9DUkRUX1NUQVRFLCBuZXcgVWludDhBcnJheSgpKVxuICAgIH1cbiAgfVxuXG4gIC8vIFN5c3RlbSB0byByZXRyeSBzdGF0ZSByZXF1ZXN0IGlmIG5vIHJlc3BvbnNlIGlzIHJlY2VpdmVkIHdpdGhpbiB0aGUgcmV0cnkgaW50ZXJ2YWxcbiAgZW5naW5lLmFkZFN5c3RlbSgoZHQ6IG51bWJlcikgPT4ge1xuICAgIGlmIChyZXF1ZXN0aW5nU3RhdGUgJiYgIXN0YXRlSXNTeW5jcm9uaXplZCkge1xuICAgICAgZWxhcHNlZFRpbWVTaW5jZVJlcXVlc3QgKz0gZHRcbiAgICAgIGlmIChlbGFwc2VkVGltZVNpbmNlUmVxdWVzdCA+PSBTVEFURV9SRVFVRVNUX1JFVFJZX0lOVEVSVkFMKSB7XG4gICAgICAgIERFQlVHX05FVFdPUktfTUVTU0FHRVMoKSAmJiBjb25zb2xlLmxvZygnU3RhdGUgcmVxdWVzdCB0aW1lZCBvdXQsIHJldHJ5aW5nLi4uJylcbiAgICAgICAgZWxhcHNlZFRpbWVTaW5jZVJlcXVlc3QgPSAwXG4gICAgICAgIHJlcXVlc3RpbmdTdGF0ZSA9IGZhbHNlXG4gICAgICAgIHJlcXVlc3RTdGF0ZSgpXG4gICAgICB9XG4gICAgfVxuICB9KVxuXG4gIHBsYXllcnMub25MZWF2ZVNjZW5lKCh1c2VySWQpID0+IHtcbiAgICBERUJVR19ORVRXT1JLX01FU1NBR0VTKCkgJiYgY29uc29sZS5sb2coJ1tvbkxlYXZlU2NlbmVdJywgdXNlcklkKVxuICB9KVxuXG4gIGZ1bmN0aW9uIGlzU3RhdGVTeW5jcm9uaXplZCgpIHtcbiAgICByZXR1cm4gc3RhdGVJc1N5bmNyb25pemVkXG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLmVudGl0eURlZmluaXRpb25zLFxuICAgIG15UHJvZmlsZSxcbiAgICBpc1N0YXRlU3luY3Jvbml6ZWQsXG4gICAgYmluYXJ5TWVzc2FnZUJ1cyxcbiAgICBldmVudEJ1cyxcbiAgICBpc1Jvb21SZWFkeUF0b21cbiAgfVxufVxuIl19
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1idXMtc3luYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9uZXR3b3JrL21lc3NhZ2UtYnVzLXN5bmMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFHeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ3RDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ3RDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sVUFBVSxDQUFBO0FBRWhELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUVyRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQzlCLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFHN0QsK0NBQStDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHNCQUFzQixDQUFBO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsRUFBRSxDQUFFLFVBQWtCLENBQUMsc0JBQXNCLElBQUksS0FBSyxDQUFBO0FBRS9GLDhDQUE4QztBQUM5QyxNQUFNLGlCQUFpQixHQUFHLEdBQVksRUFBRTtJQUN0QyxJQUFJO1FBQ0YsSUFBSSxPQUFPLFVBQVUsS0FBSyxXQUFXO1lBQUUsT0FBTyxLQUFLLENBQUE7UUFDbkQsTUFBTSxpQkFBaUIsR0FBRyxVQUFzRSxDQUFBO1FBQ2hH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LElBQUksRUFBRSxDQUFBO1lBQzdCLElBQUksdUJBQXVCLElBQUksNEJBQTRCLEVBQUU7Z0JBQzNELHNCQUFzQixFQUFFLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFBO2dCQUMvRSx1QkFBdUIsR0FBRyxDQUFDLENBQUE7Z0JBQzNCLGVBQWUsR0FBRyxLQUFLLENBQUE7Z0JBQ3ZCLFlBQVksRUFBRSxDQUFBO2FBQ2Y7U0FDRjtJQUNILENBQUMsQ0FBQyxDQUFBO0lBRUYsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQzlCLHNCQUFzQixFQUFFLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUNuRSxDQUFDLENBQUMsQ0FBQTtJQUVGLFNBQVMsa0JBQWtCO1FBQ3pCLE9BQU8sa0JBQWtCLENBQUE7SUFDM0IsQ0FBQztJQUVELE9BQU87UUFDTCxHQUFHLGlCQUFpQjtRQUNwQixTQUFTO1FBQ1Qsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixRQUFRO1FBQ1IsZUFBZTtLQUNoQixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFbmdpbmUsIFRyYW5zcG9ydCwgUmVhbG1JbmZvIH0gZnJvbSAnQGRjbC9lY3MnXG5pbXBvcnQgdHlwZSB7IFNlbmRCaW5hcnlSZXF1ZXN0LCBTZW5kQmluYXJ5UmVzcG9uc2UgfSBmcm9tICd+c3lzdGVtL0NvbW11bmljYXRpb25zQ29udHJvbGxlcidcblxuaW1wb3J0IHsgc3luY0ZpbHRlciB9IGZyb20gJy4vZmlsdGVyJ1xuaW1wb3J0IHsgZW5naW5lVG9DcmR0IH0gZnJvbSAnLi9zdGF0ZSdcbmltcG9ydCB7IEJpbmFyeU1lc3NhZ2VCdXMsIENvbW1zTWVzc2FnZSB9IGZyb20gJy4vYmluYXJ5LW1lc3NhZ2UtYnVzJ1xuaW1wb3J0IHsgZmV0Y2hQcm9maWxlIH0gZnJvbSAnLi91dGlscydcbmltcG9ydCB7IGVudGl0eVV0aWxzIH0gZnJvbSAnLi9lbnRpdGllcydcbmltcG9ydCB7IGNyZWF0ZVNlcnZlclZhbGlkYXRvciB9IGZyb20gJy4vc2VydmVyJ1xuaW1wb3J0IHR5cGUgeyBHZXRVc2VyRGF0YVJlcXVlc3QsIEdldFVzZXJEYXRhUmVzcG9uc2UgfSBmcm9tICd+c3lzdGVtL1VzZXJJZGVudGl0eSdcbmltcG9ydCB7IGRlZmluZVBsYXllckhlbHBlciB9IGZyb20gJy4uL3BsYXllcnMnXG5pbXBvcnQgeyBzZXJpYWxpemVDcmR0TWVzc2FnZXMgfSBmcm9tICcuLi9pbnRlcm5hbC90cmFuc3BvcnRzL2xvZ2dlcidcbmltcG9ydCB7IElzU2VydmVyUmVxdWVzdCwgSXNTZXJ2ZXJSZXNwb25zZSB9IGZyb20gJ35zeXN0ZW0vRW5naW5lQXBpJ1xuaW1wb3J0IHsgQXRvbSB9IGZyb20gJy4uL2F0b20nXG5pbXBvcnQgeyBzZXRHbG9iYWxSb29tLCBSb29tIH0gZnJvbSAnLi9ldmVudHMvaW1wbGVtZW50YXRpb24nXG5cbmV4cG9ydCB0eXBlIElQcm9maWxlID0geyBuZXR3b3JrSWQ6IG51bWJlcjsgdXNlcklkOiBzdHJpbmcgfVxuLy8gdXNlciB0aGF0IHdlIGFza2VkIGZvciB0aGUgaW5pdGFsIGNyZHQgc3RhdGVcbmV4cG9ydCBjb25zdCBBVVRIX1NFUlZFUl9QRUVSX0lEID0gJ2F1dGhvcml0YXRpdmUtc2VydmVyJ1xuZXhwb3J0IGNvbnN0IERFQlVHX05FVFdPUktfTUVTU0FHRVMgPSAoKSA9PiAoZ2xvYmFsVGhpcyBhcyBhbnkpLkRFQlVHX05FVFdPUktfTUVTU0FHRVMgPz8gZmFsc2VcblxuLy8gVGVzdCBlbnZpcm9ubWVudCBkZXRlY3Rpb24gd2l0aG91dCAnYXMgYW55J1xuY29uc3QgaXNUZXN0RW52aXJvbm1lbnQgPSAoKTogYm9vbGVhbiA9PiB7XG4gIHRyeSB7XG4gICAgaWYgKHR5cGVvZiBnbG9iYWxUaGlzID09PSAndW5kZWZpbmVkJykgcmV0dXJuIGZhbHNlXG4gICAgY29uc3QgZ2xvYmFsV2l0aFByb2Nlc3MgPSBnbG9iYWxUaGlzIGFzIHVua25vd24gYXMgeyBwcm9jZXNzPzogeyBlbnY/OiB7IE5PREVfRU5WPzogc3RyaW5nIH0gfSB9XG4gICAgcmV0dXJuIGdsb2JhbFdpdGhQcm9jZXNzLnByb2Nlc3M/LmVudj8uTk9ERV9FTlYgPT09ICd0ZXN0J1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkU3luY1RyYW5zcG9ydChcbiAgZW5naW5lOiBJRW5naW5lLFxuICBzZW5kQmluYXJ5OiAobXNnOiBTZW5kQmluYXJ5UmVxdWVzdCkgPT4gUHJvbWlzZTxTZW5kQmluYXJ5UmVzcG9uc2U+LFxuICBnZXRVc2VyRGF0YTogKHZhbHVlOiBHZXRVc2VyRGF0YVJlcXVlc3QpID0+IFByb21pc2U8R2V0VXNlckRhdGFSZXNwb25zZT4sXG4gIGlzU2VydmVyRm46IChyZXF1ZXN0OiBJc1NlcnZlclJlcXVlc3QpID0+IFByb21pc2U8SXNTZXJ2ZXJSZXNwb25zZT4sXG4gIG5hbWU6IHN0cmluZ1xuKSB7XG4gIC8vIFByb2ZpbGUgSW5mb1xuICBjb25zdCBteVByb2ZpbGU6IElQcm9maWxlID0ge30gYXMgSVByb2ZpbGVcbiAgZmV0Y2hQcm9maWxlKG15UHJvZmlsZSEsIGdldFVzZXJEYXRhKVxuXG4gIGNvbnN0IGlzU2VydmVyQXRvbSA9IEF0b208Ym9vbGVhbj4oKVxuICBjb25zdCBpc1Jvb21SZWFkeUF0b20gPSBBdG9tPGJvb2xlYW4+KGZhbHNlKVxuXG4gIHZvaWQgaXNTZXJ2ZXJGbih7fSkudGhlbigoJDogSXNTZXJ2ZXJSZXNwb25zZSkgPT4ge1xuICAgIHJldHVybiBpc1NlcnZlckF0b20uc3dhcCghISQuaXNTZXJ2ZXIpXG4gIH0pXG5cbiAgLy8gRW50aXR5IHV0aWxzXG4gIGNvbnN0IGVudGl0eURlZmluaXRpb25zID0gZW50aXR5VXRpbHMoZW5naW5lLCBteVByb2ZpbGUpXG5cbiAgLy8gTGlzdCBvZiBNZXNzYWdlQnVzcyBtZXNzc2FnZXMgdG8gYmUgc2VudCBvbiBldmVyeSBmcmFtZSB0byBjb21tc1xuICBjb25zdCBwZW5kaW5nTWVzc2FnZUJ1c01lc3NhZ2VzVG9TZW5kOiB7IGRhdGE6IFVpbnQ4QXJyYXlbXTsgYWRkcmVzczogc3RyaW5nW10gfVtdID0gW11cblxuICBjb25zdCBiaW5hcnlNZXNzYWdlQnVzID0gQmluYXJ5TWVzc2FnZUJ1cygoZGF0YSwgYWRkcmVzcykgPT4ge1xuICAgIHBlbmRpbmdNZXNzYWdlQnVzTWVzc2FnZXNUb1NlbmQucHVzaCh7IGRhdGE6IFtkYXRhXSwgYWRkcmVzczogYWRkcmVzcyA/PyBbXSB9KVxuICB9KVxuXG4gIGZ1bmN0aW9uIGdldE1lc3NhZ2VzVG9TZW5kKCk6IHR5cGVvZiBwZW5kaW5nTWVzc2FnZUJ1c01lc3NhZ2VzVG9TZW5kIHtcbiAgICBjb25zdCBtZXNzYWdlcyA9IFsuLi5wZW5kaW5nTWVzc2FnZUJ1c01lc3NhZ2VzVG9TZW5kXVxuICAgIHBlbmRpbmdNZXNzYWdlQnVzTWVzc2FnZXNUb1NlbmQubGVuZ3RoID0gMFxuICAgIHJldHVybiBtZXNzYWdlc1xuICB9XG4gIGNvbnN0IHBsYXllcnMgPSBkZWZpbmVQbGF5ZXJIZWxwZXIoZW5naW5lKVxuXG4gIGxldCBzdGF0ZUlzU3luY3Jvbml6ZWQgPSBmYWxzZVxuXG4gIC8qKlxuICAgKiBXZSBuZWVkIHRvIHdhaXQgdGlsbCAyIHRpY2tzIHRoYXQgaXMgd2hlbiB0aGUgZW5naW5lIGlzIHJlYWR5IHRvIHNlbmQgbmV3IG1lc3NhZ2VzLlxuICAgKiBUaGUgZmlyc3QgdGljayBpcyBmb3IgdGhlIGNsaWVudCBlbmdpbmUgcHJvY2Vzc2luZyB0aGUgQ1JEVCBtZXNzYWdlcyxcbiAgICogYW5kIHRoZSBzZWNvbmQgb25lIGFyZSB0aGUgbWVzc2FnZXMgY3JlYXRlZCBieSB0aGUgbWFpbigpIGZ1bmN0aW9uLlxuICAgKiBTbyB0byBhdm9pZCBzZW5kaW5nIHRob3NlIG1lc3NhZ2VzLCB0aGF0IGFsbCB0aGUgY2xpZW50cyBoYXZlLCB0aHJvdWdoIHRoZSBuZXR3b3JrIHdlIHB1dCB0aGlzIHZhbGlkYXRpb24gaGVyZS5cbiAgICovXG4gIGxldCB0aWNrID0gMFxuICBjb25zdCBUUkFOU1BPUlRfSU5JVElBTElaRURfTlVNQkVSID0gaXNUZXN0RW52aXJvbm1lbnQoKSA/IDAgOiAyXG4gIC8vIEFkZCBTeW5jIFRyYW5zcG9ydFxuICBjb25zdCB0cmFuc3BvcnQ6IFRyYW5zcG9ydCA9IHtcbiAgICBmaWx0ZXI6IHN5bmNGaWx0ZXIoZW5naW5lKSxcbiAgICBzZW5kOiBhc3luYyAobWVzc2FnZXMpID0+IHtcbiAgICAgIGlmICh0aWNrIDw9IFRSQU5TUE9SVF9JTklUSUFMSVpFRF9OVU1CRVIpIHRpY2srK1xuICAgICAgZm9yIChjb25zdCBtZXNzYWdlIG9mIHRpY2sgPiBUUkFOU1BPUlRfSU5JVElBTElaRURfTlVNQkVSID8gW21lc3NhZ2VzXS5mbGF0KCkgOiBbXSkge1xuICAgICAgICBpZiAobWVzc2FnZS5ieXRlTGVuZ3RoKSB7XG4gICAgICAgICAgREVCVUdfTkVUV09SS19NRVNTQUdFUygpICYmXG4gICAgICAgICAgICBjb25zb2xlLmxvZyguLi5BcnJheS5mcm9tKHNlcmlhbGl6ZUNyZHRNZXNzYWdlcygnW05ldHdvcmtNZXNzYWdlIHNlbnRdOicsIG1lc3NhZ2UsIGVuZ2luZSkpKVxuXG4gICAgICAgICAgLy8gQ29udmVydCByZWd1bGFyIG1lc3NhZ2VzIHRvIG5ldHdvcmsgbWVzc2FnZXMgZm9yIGJyb2FkY2FzdGluZyB3aXRoIGNodW5raW5nXG4gICAgICAgICAgZm9yIChjb25zdCBjaHVuayBvZiBzZXJ2ZXJWYWxpZGF0b3IuY29udmVydFJlZ3VsYXJUb05ldHdvcmtNZXNzYWdlKG1lc3NhZ2UpKSB7XG4gICAgICAgICAgICBiaW5hcnlNZXNzYWdlQnVzLmVtaXQoQ29tbXNNZXNzYWdlLkNSRFQsIGNodW5rKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgcGVlck1lc3NhZ2VzID0gZ2V0TWVzc2FnZXNUb1NlbmQoKVxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBzZW5kQmluYXJ5KHsgZGF0YTogW10sIHBlZXJEYXRhOiBwZWVyTWVzc2FnZXMgfSlcbiAgICAgIGJpbmFyeU1lc3NhZ2VCdXMuX19wcm9jZXNzTWVzc2FnZXMocmVzcG9uc2UuZGF0YSlcbiAgICB9LFxuICAgIHR5cGU6IG5hbWVcbiAgfVxuXG4gIC8vIFNlcnZlciB2YWxpZGF0aW9uIHNldHVwXG4gIGNvbnN0IHNlcnZlclZhbGlkYXRvciA9IGNyZWF0ZVNlcnZlclZhbGlkYXRvcih7XG4gICAgZW5naW5lLFxuICAgIGJpbmFyeU1lc3NhZ2VCdXNcbiAgfSlcblxuICAvLyBJbml0aWFsaXplIEV2ZW50IEJ1cyB3aXRoIHJlZ2lzdGVyZWQgc2NoZW1hc1xuICBjb25zdCBldmVudEJ1cyA9IG5ldyBSb29tKGVuZ2luZSwgYmluYXJ5TWVzc2FnZUJ1cywgaXNTZXJ2ZXJBdG9tLCBpc1Jvb21SZWFkeUF0b20pXG5cbiAgLy8gU2V0IGdsb2JhbCBldmVudEJ1cyBpbnN0YW5jZVxuICBzZXRHbG9iYWxSb29tKGV2ZW50QnVzKVxuXG4gIGVuZ2luZS5hZGRUcmFuc3BvcnQodHJhbnNwb3J0KVxuICAvLyBFbmQgYWRkIHN5bmMgdHJhbnNwb3J0XG5cbiAgLy8gUmVjZWl2ZSAmIFByb2Nlc3MgQ1JEVF9TVEFURVxuICBiaW5hcnlNZXNzYWdlQnVzLm9uKENvbW1zTWVzc2FnZS5SRVFfQ1JEVF9TVEFURSwgYXN5bmMgKGRhdGEsIHNlbmRlcikgPT4ge1xuICAgIC8vIFJlcXVlc3RzIGFycml2aW5nIGJlZm9yZSByb2xlIHJlc29sdXRpb24gYXJlIHJlY292ZXJlZCBieSB0aGUgcmVxdWVzdGVyJ3MgcmV0cnkuXG4gICAgaWYgKCFpc1NlcnZlckF0b20uZ2V0T3JOdWxsKCkpIHJldHVyblxuXG4gICAgREVCVUdfTkVUV09SS19NRVNTQUdFUygpICYmIGNvbnNvbGUubG9nKCdbUkVRX0NSRFRfU1RBVEVdJywgc2VuZGVyLCBEYXRlLm5vdygpKVxuICAgIGNvbnN0IGNodW5rcyA9IGVuZ2luZVRvQ3JkdChlbmdpbmUpXG4gICAgaWYgKGNodW5rcy5sZW5ndGggPT09IDApIHtcbiAgICAgIERFQlVHX05FVFdPUktfTUVTU0FHRVMoKSAmJiBjb25zb2xlLmxvZygnW0VtaXRpbmcgZW1wdHkgc3RhdGU6XScsIHNlbmRlciwgRGF0ZS5ub3coKSlcbiAgICAgIGJpbmFyeU1lc3NhZ2VCdXMuZW1pdChDb21tc01lc3NhZ2UuUkVTX0NSRFRfU1RBVEUsIG5ldyBVaW50OEFycmF5KCksIFtzZW5kZXJdKVxuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKGNvbnN0IGNodW5rIG9mIGNodW5rcykge1xuICAgICAgICBERUJVR19ORVRXT1JLX01FU1NBR0VTKCkgJiYgY29uc29sZS5sb2coJ1tFbWl0aW5nOl0nLCBzZW5kZXIsIERhdGUubm93KCkpXG4gICAgICAgIGJpbmFyeU1lc3NhZ2VCdXMuZW1pdChDb21tc01lc3NhZ2UuUkVTX0NSRFRfU1RBVEUsIGNodW5rLCBbc2VuZGVyXSlcbiAgICAgIH1cbiAgICB9XG4gIH0pXG4gIGJpbmFyeU1lc3NhZ2VCdXMub24oQ29tbXNNZXNzYWdlLlJFU19DUkRUX1NUQVRFLCBhc3luYyAoZGF0YSwgc2VuZGVyKSA9PiB7XG4gICAgaWYgKGlzU2VydmVyQXRvbS5nZXRPck51bGwoKSB8fCBzZW5kZXIgIT09IEFVVEhfU0VSVkVSX1BFRVJfSUQpIHJldHVyblxuXG4gICAgcmVxdWVzdGluZ1N0YXRlID0gZmFsc2VcbiAgICBlbGFwc2VkVGltZVNpbmNlUmVxdWVzdCA9IDBcbiAgICBERUJVR19ORVRXT1JLX01FU1NBR0VTKCkgJiYgY29uc29sZS5sb2coJ1tQcm9jZXNzaW5nIENSRFQgU3RhdGVdJywgZGF0YS5ieXRlTGVuZ3RoIC8gMTAyNCwgJ0tCJylcbiAgICBpZiAoZGF0YS5ieXRlTGVuZ3RoID4gMCkge1xuICAgICAgdHJhbnNwb3J0Lm9ubWVzc2FnZSEoc2VydmVyVmFsaWRhdG9yLnByb2Nlc3NDbGllbnRNZXNzYWdlcyhkYXRhLCBzZW5kZXIpKVxuICAgIH1cbiAgICBzdGF0ZUlzU3luY3Jvbml6ZWQgPSB0cnVlXG5cbiAgICAvLyBJTVBPUlRBTlQ6IE9ubHkgbWFyayByb29tIGFzIHJlYWR5IEFGVEVSIHN0YXRlIGlzIHN5bmNocm9uaXplZFxuICAgIC8vIFRoaXMgZW5zdXJlcyBjb21tcyBpcyB0cnVseSBjb25uZWN0ZWQgYW5kIHdvcmtpbmdcbiAgICBjb25zdCByZWFsbUluZm8gPSBSZWFsbUluZm8uZ2V0T3JOdWxsKGVuZ2luZS5Sb290RW50aXR5KVxuICAgIGlmIChyZWFsbUluZm8pIHtcbiAgICAgIERFQlVHX05FVFdPUktfTUVTU0FHRVMoKSAmJiBjb25zb2xlLmxvZygnW2lzUm9vbVJlYWR5XSBNYXJraW5nIHJvb20gYXMgcmVhZHkgYWZ0ZXIgc3RhdGUgc3luYycpXG4gICAgICBpc1Jvb21SZWFkeUF0b20uc3dhcCh0cnVlKVxuICAgIH1cbiAgfSlcblxuICAvLyByZWNlaXZlZCBtZXNzYWdlIGZyb20gdGhlIG5ldHdvcmtcbiAgYmluYXJ5TWVzc2FnZUJ1cy5vbihDb21tc01lc3NhZ2UuQ1JEVCwgKHZhbHVlLCBzZW5kZXIpID0+IHtcbiAgICBjb25zdCBpc1NlcnZlciA9IGlzU2VydmVyQXRvbS5nZXRPck51bGwoKVxuICAgIERFQlVHX05FVFdPUktfTUVTU0FHRVMoKSAmJlxuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIHRyYW5zcG9ydC50eXBlLFxuICAgICAgICAuLi5BcnJheS5mcm9tKHNlcmlhbGl6ZUNyZHRNZXNzYWdlcygnW05ldHdvcmtNZXNzYWdlIHJlY2VpdmVkXTonLCB2YWx1ZSwgZW5naW5lKSksXG4gICAgICAgIGlzU2VydmVyXG4gICAgICApXG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICB0cmFuc3BvcnQub25tZXNzYWdlIShzZXJ2ZXJWYWxpZGF0b3IucHJvY2Vzc1NlcnZlck1lc3NhZ2VzKHZhbHVlLCBzZW5kZXIpKVxuICAgIH0gZWxzZSBpZiAoc2VuZGVyID09PSBBVVRIX1NFUlZFUl9QRUVSX0lEKSB7XG4gICAgICAvLyBQcm9jZXNzIG5ldHdvcmsgbWVzc2FnZXMgZnJvbSBzZXJ2ZXIgYW5kIGNvbnZlcnQgdG8gcmVndWxhciBtZXNzYWdlc1xuICAgICAgdHJhbnNwb3J0Lm9ubWVzc2FnZSEoc2VydmVyVmFsaWRhdG9yLnByb2Nlc3NDbGllbnRNZXNzYWdlcyh2YWx1ZSwgc2VuZGVyKSlcbiAgICB9XG4gIH0pXG5cbiAgLy8gcmVjZWl2ZWQgYXV0aG9yaXRhdGl2ZSBtZXNzYWdlIGZyb20gc2VydmVyIC0gZm9yY2UgYXBwbHkgdG8gZml4IGludmFsaWQgbG9jYWwgc3RhdGVcbiAgYmluYXJ5TWVzc2FnZUJ1cy5vbihDb21tc01lc3NhZ2UuQ1JEVF9BVVRIT1JJVEFUSVZFLCAodmFsdWUsIHNlbmRlcikgPT4ge1xuICAgIC8vIE9ubHkgYWNjZXB0IGF1dGhvcml0YXRpdmUgbWVzc2FnZXMgZnJvbSBhdXRob3JpdGF0aXZlIHNlcnZlclxuICAgIGlmIChzZW5kZXIgIT09IEFVVEhfU0VSVkVSX1BFRVJfSUQpIHJldHVyblxuXG4gICAgLy8gREVCVUdfTkVUV09SS19NRVNTQUdFUygpICYmXG4gICAgY29uc29sZS5sb2coJ1tBVVRIT1JJVEFUSVZFXSBSZWNlaXZlZCBhdXRob3JpdGF0aXZlIG1lc3NhZ2UgZnJvbSBzZXJ2ZXI6JywgdmFsdWUuYnl0ZUxlbmd0aCwgJ2J5dGVzJylcblxuICAgIC8vIFByb2Nlc3MgYXV0aG9yaXRhdGl2ZSBtZXNzYWdlcyBieSBmb3JjaW5nIHRoZW0gdGhyb3VnaCBub3JtYWwgQ1JEVCBwcm9jZXNzaW5nXG4gICAgLy8gYnV0IHdpdGggYSB0aW1lc3RhbXAgdGhhdCdzIGd1YXJhbnRlZWQgdG8gYmUgYWNjZXB0ZWRcbiAgICBjb25zdCBhdXRob3JpdGF0aXZlQnVmZmVyID0gc2VydmVyVmFsaWRhdG9yLnByb2Nlc3NDbGllbnRNZXNzYWdlcyh2YWx1ZSwgc2VuZGVyLCB0cnVlKVxuICAgIGlmIChhdXRob3JpdGF0aXZlQnVmZmVyLmJ5dGVMZW5ndGggPiAwKSB7XG4gICAgICAvLyBBcHBseSBhdXRob3JpdGF0aXZlIG1lc3NhZ2UgdGhyb3VnaCBub3JtYWwgdHJhbnNwb3J0LCBidXQgdGhlIHNlcnZlcidzIG1lc3NhZ2VzXG4gICAgICAvLyBzaG91bGQgYmUgcHJvY2Vzc2VkIGFzIGF1dGhvcml0YXRpdmUgd2l0aCBzcGVjaWFsIHRpbWVzdGFtcCBoYW5kbGluZ1xuICAgICAgdHJhbnNwb3J0Lm9ubWVzc2FnZSEoYXV0aG9yaXRhdGl2ZUJ1ZmZlcilcblxuICAgICAgREVCVUdfTkVUV09SS19NRVNTQUdFUygpICYmIGNvbnNvbGUubG9nKCdbQVVUSE9SSVRBVElWRV0gQXBwbGllZCBzZXJ2ZXIgYXV0aG9yaXRhdGl2ZSBtZXNzYWdlIHRvIGxvY2FsIHN0YXRlJylcbiAgICB9XG4gIH0pXG5cbiAgcGxheWVycy5vbkVudGVyU2NlbmUoKHBsYXllcikgPT4ge1xuICAgIERFQlVHX05FVFdPUktfTUVTU0FHRVMoKSAmJiBjb25zb2xlLmxvZygnW29uRW50ZXJTY2VuZV0nLCBwbGF5ZXIudXNlcklkKVxuICAgIGlmICghaXNTZXJ2ZXJBdG9tLmdldE9yTnVsbCgpICYmIG15UHJvZmlsZS51c2VySWQgPT09IHBsYXllci51c2VySWQpIHtcbiAgICAgIHJlcXVlc3RTdGF0ZSgpXG4gICAgfVxuICB9KVxuXG4gIC8vIEFza3MgZm9yIHRoZSBSRVFfQ1JEVF9TVEFURSB3aGVuIGl0cyBjb25uZWN0ZWQgdG8gY29tbXNcbiAgUmVhbG1JbmZvLm9uQ2hhbmdlKGVuZ2luZS5Sb290RW50aXR5LCAodmFsdWUpID0+IHtcbiAgICBjb25zdCBpc1NlcnZlciA9IGlzU2VydmVyQXRvbS5nZXRPck51bGwoKVxuXG4gICAgaWYgKCF2YWx1ZT8uaXNDb25uZWN0ZWRTY2VuZVJvb20pIHtcbiAgICAgIC8vIE9ubHkgcmVhY3Qgd2hlbiBhY3R1YWxseSB0cmFuc2l0aW9uaW5nIGZyb20gcmVhZHkgdG8gbm90IHJlYWR5XG4gICAgICBpZiAoaXNSb29tUmVhZHlBdG9tLmdldE9yTnVsbCgpID09PSB0cnVlKSB7XG4gICAgICAgIERFQlVHX05FVFdPUktfTUVTU0FHRVMoKSAmJiBjb25zb2xlLmxvZygnRGlzY29ubmVjdGVkIGZyb20gY29tbXMnKVxuICAgICAgICBpc1Jvb21SZWFkeUF0b20uc3dhcChmYWxzZSlcbiAgICAgICAgaWYgKCFpc1NlcnZlcikge1xuICAgICAgICAgIHN0YXRlSXNTeW5jcm9uaXplZCA9IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmFsdWU/LmlzQ29ubmVjdGVkU2NlbmVSb29tKSB7XG4gICAgICByZXF1ZXN0U3RhdGUoKVxuXG4gICAgICAvLyBGb3Igc2VydmVycywgbWFyayBhcyByZWFkeSBpbW1lZGlhdGVseSB3aGVuIGNvbm5lY3RlZFxuICAgICAgLy8gKHNlcnZlcnMgZG9uJ3QgbmVlZCB0byBzeW5jIHN0YXRlIGZyb20gYW55b25lKVxuICAgICAgaWYgKGlzU2VydmVyICYmIGlzUm9vbVJlYWR5QXRvbS5nZXRPck51bGwoKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgREVCVUdfTkVUV09SS19NRVNTQUdFUygpICYmIGNvbnNvbGUubG9nKCdbaXNSb29tUmVhZHldIFNlcnZlciBtYXJraW5nIHJvb20gYXMgcmVhZHknKVxuICAgICAgICBpc1Jvb21SZWFkeUF0b20uc3dhcCh0cnVlKVxuICAgICAgfVxuICAgICAgLy8gRm9yIGNsaWVudHMsIHJvb20gd2lsbCBiZSBtYXJrZWQgcmVhZHkgYWZ0ZXIgcmVjZWl2aW5nIENSRFQgc3RhdGUgKGFib3ZlKVxuICAgIH1cbiAgfSlcblxuICBsZXQgcmVxdWVzdGluZ1N0YXRlID0gZmFsc2VcbiAgbGV0IGVsYXBzZWRUaW1lU2luY2VSZXF1ZXN0ID0gMFxuICBjb25zdCBTVEFURV9SRVFVRVNUX1JFVFJZX0lOVEVSVkFMID0gMi4wIC8vIHNlY29uZHNcblxuICAvKipcbiAgICogV2h5IHdlIGhhdmUgdG8gcmVxdWVzdCB0aGUgc3RhdGUgaWYgd2UgaGF2ZSBhIHNlcnZlciB0aGF0IGNhbiBzZW5kIHVzIHRoZSBzdGF0ZSB3aGVuIHdlIGpvaW5lZD9cbiAgICogVGhlIHRoaW5nIGlzIHRoYXQgd2hlbiB0aGUgc2VydmVyIGRldGVjdHMgYSBuZXcgSk9JTl9QQVJUSUNJUEFOVCBvbiBsaXZla2l0IHJvb20sIGl0IHNlbmRzIGF1dG9tYXRpY2FsbHkgdGhlIHN0YXRlIHRvIHRoYXQgcGVlci5cbiAgICogQnV0IGluIHVuaXR5LCBpdCB0YWtlcyBtb3JlIHRpbWUsIHNvIHRoYXQgbWVzc2FnZSBpcyBub3QgYmVpbmcgZGVsaXZlcmVkIHRvIHRoZSBjbGllbnQuXG4gICAqIFNvIGluc3RlYWQsIHdoZW4gd2UgYXJlIGZpbmFsbHkgY29ubmVjdGVkIHRvIHRoZSByb29tLCB3ZSByZXF1ZXN0IHRoZSBzdGF0ZSwgYW5kIHRoZW4gdGhlIHNlcnZlciBhbnN3ZXJzIHdpdGggdGhlIHN0YXRlIDopXG4gICAqXG4gICAqIElmIG5vIHJlc3BvbnNlIGlzIHJlY2VpdmVkIHdpdGhpbiAyIHNlY29uZHMsIHRoZSByZXF1ZXN0IGlzIGF1dG9tYXRpY2FsbHkgcmV0cmllZC5cbiAgICovXG4gIGZ1bmN0aW9uIHJlcXVlc3RTdGF0ZSgpIHtcbiAgICBpZiAoaXNTZXJ2ZXJBdG9tLmdldE9yTnVsbCgpKSByZXR1cm5cbiAgICBpZiAoUmVhbG1JbmZvLmdldE9yTnVsbChlbmdpbmUuUm9vdEVudGl0eSk/LmlzQ29ubmVjdGVkU2NlbmVSb29tICYmICFyZXF1ZXN0aW5nU3RhdGUpIHtcbiAgICAgIHJlcXVlc3RpbmdTdGF0ZSA9IHRydWVcbiAgICAgIGVsYXBzZWRUaW1lU2luY2VSZXF1ZXN0ID0gMFxuICAgICAgREVCVUdfTkVUV09SS19NRVNTQUdFUygpICYmIGNvbnNvbGUubG9nKCdSZXF1ZXN0aW5nIHN0YXRlLi4uJylcbiAgICAgIGJpbmFyeU1lc3NhZ2VCdXMuZW1pdChDb21tc01lc3NhZ2UuUkVRX0NSRFRfU1RBVEUsIG5ldyBVaW50OEFycmF5KCkpXG4gICAgfVxuICB9XG5cbiAgLy8gU3lzdGVtIHRvIHJldHJ5IHN0YXRlIHJlcXVlc3QgaWYgbm8gcmVzcG9uc2UgaXMgcmVjZWl2ZWQgd2l0aGluIHRoZSByZXRyeSBpbnRlcnZhbFxuICBlbmdpbmUuYWRkU3lzdGVtKChkdDogbnVtYmVyKSA9PiB7XG4gICAgaWYgKHJlcXVlc3RpbmdTdGF0ZSAmJiAhc3RhdGVJc1N5bmNyb25pemVkKSB7XG4gICAgICBlbGFwc2VkVGltZVNpbmNlUmVxdWVzdCArPSBkdFxuICAgICAgaWYgKGVsYXBzZWRUaW1lU2luY2VSZXF1ZXN0ID49IFNUQVRFX1JFUVVFU1RfUkVUUllfSU5URVJWQUwpIHtcbiAgICAgICAgREVCVUdfTkVUV09SS19NRVNTQUdFUygpICYmIGNvbnNvbGUubG9nKCdTdGF0ZSByZXF1ZXN0IHRpbWVkIG91dCwgcmV0cnlpbmcuLi4nKVxuICAgICAgICBlbGFwc2VkVGltZVNpbmNlUmVxdWVzdCA9IDBcbiAgICAgICAgcmVxdWVzdGluZ1N0YXRlID0gZmFsc2VcbiAgICAgICAgcmVxdWVzdFN0YXRlKClcbiAgICAgIH1cbiAgICB9XG4gIH0pXG5cbiAgcGxheWVycy5vbkxlYXZlU2NlbmUoKHVzZXJJZCkgPT4ge1xuICAgIERFQlVHX05FVFdPUktfTUVTU0FHRVMoKSAmJiBjb25zb2xlLmxvZygnW29uTGVhdmVTY2VuZV0nLCB1c2VySWQpXG4gIH0pXG5cbiAgZnVuY3Rpb24gaXNTdGF0ZVN5bmNyb25pemVkKCkge1xuICAgIHJldHVybiBzdGF0ZUlzU3luY3Jvbml6ZWRcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLi4uZW50aXR5RGVmaW5pdGlvbnMsXG4gICAgbXlQcm9maWxlLFxuICAgIGlzU3RhdGVTeW5jcm9uaXplZCxcbiAgICBiaW5hcnlNZXNzYWdlQnVzLFxuICAgIGV2ZW50QnVzLFxuICAgIGlzUm9vbVJlYWR5QXRvbVxuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dcl/sdk",
|
|
3
3
|
"description": "",
|
|
4
|
-
"version": "7.29.1-
|
|
4
|
+
"version": "7.29.1-36625469671.commit-2d5ffac",
|
|
5
5
|
"author": "Decentraland",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@dcl/ecs": "7.29.1-
|
|
7
|
+
"@dcl/ecs": "7.29.1-36625469671.commit-2d5ffac",
|
|
8
8
|
"@dcl/ecs-math": "2.1.0",
|
|
9
|
-
"@dcl/js-runtime": "7.29.1-
|
|
10
|
-
"@dcl/react-ecs": "7.29.1-
|
|
11
|
-
"@dcl/sdk-commands": "7.29.1-
|
|
9
|
+
"@dcl/js-runtime": "7.29.1-36625469671.commit-2d5ffac",
|
|
10
|
+
"@dcl/react-ecs": "7.29.1-36625469671.commit-2d5ffac",
|
|
11
|
+
"@dcl/sdk-commands": "7.29.1-36625469671.commit-2d5ffac"
|
|
12
12
|
},
|
|
13
13
|
"keywords": [],
|
|
14
14
|
"license": "Apache-2.0",
|
|
@@ -33,5 +33,5 @@
|
|
|
33
33
|
},
|
|
34
34
|
"types": "./index.d.ts",
|
|
35
35
|
"typings": "./index.d.ts",
|
|
36
|
-
"commit": "
|
|
36
|
+
"commit": "2d5ffaca13b81a16cd09d797bc95b052151a89df"
|
|
37
37
|
}
|
|
@@ -131,9 +131,10 @@ export function addSyncTransport(
|
|
|
131
131
|
}
|
|
132
132
|
})
|
|
133
133
|
binaryMessageBus.on(CommsMessage.RES_CRDT_STATE, async (data, sender) => {
|
|
134
|
+
if (isServerAtom.getOrNull() || sender !== AUTH_SERVER_PEER_ID) return
|
|
135
|
+
|
|
134
136
|
requestingState = false
|
|
135
137
|
elapsedTimeSinceRequest = 0
|
|
136
|
-
if (isServerAtom.getOrNull() || sender !== AUTH_SERVER_PEER_ID) return
|
|
137
138
|
DEBUG_NETWORK_MESSAGES() && console.log('[Processing CRDT State]', data.byteLength / 1024, 'KB')
|
|
138
139
|
if (data.byteLength > 0) {
|
|
139
140
|
transport.onmessage!(serverValidator.processClientMessages(data, sender))
|