@webex/calling 3.12.0-next.5 → 3.12.0-next.50
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.
- package/dist/CallingClient/CallingClient.js +506 -223
- package/dist/CallingClient/CallingClient.js.map +1 -1
- package/dist/CallingClient/CallingClient.test.js +236 -77
- package/dist/CallingClient/CallingClient.test.js.map +1 -1
- package/dist/CallingClient/calling/call.js +589 -445
- package/dist/CallingClient/calling/call.js.map +1 -1
- package/dist/CallingClient/calling/call.test.js +695 -445
- package/dist/CallingClient/calling/call.test.js.map +1 -1
- package/dist/CallingClient/calling/callManager.js +53 -30
- package/dist/CallingClient/calling/callManager.js.map +1 -1
- package/dist/CallingClient/calling/callManager.test.js +35 -0
- package/dist/CallingClient/calling/callManager.test.js.map +1 -1
- package/dist/CallingClient/calling/types.js +2 -0
- package/dist/CallingClient/calling/types.js.map +1 -1
- package/dist/CallingClient/constants.js +27 -3
- package/dist/CallingClient/constants.js.map +1 -1
- package/dist/CallingClient/line/index.js +4 -1
- package/dist/CallingClient/line/index.js.map +1 -1
- package/dist/CallingClient/line/line.test.js +16 -1
- package/dist/CallingClient/line/line.test.js.map +1 -1
- package/dist/CallingClient/registration/register.js +714 -407
- package/dist/CallingClient/registration/register.js.map +1 -1
- package/dist/CallingClient/registration/register.test.js +311 -58
- package/dist/CallingClient/registration/register.test.js.map +1 -1
- package/dist/CallingClient/registration/types.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.js +41 -104
- package/dist/CallingClient/registration/webWorker.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.test.js +39 -153
- package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
- package/dist/CallingClient/registration/webWorkerStr.js +1 -1
- package/dist/CallingClient/registration/webWorkerStr.js.map +1 -1
- package/dist/CallingClient/types.js.map +1 -1
- package/dist/CallingClient/utils/constants.js +58 -0
- package/dist/CallingClient/utils/constants.js.map +1 -0
- package/dist/CallingClient/utils/index.js +63 -0
- package/dist/CallingClient/utils/index.js.map +1 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.js +122 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.js.map +1 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.test.js +221 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.test.js.map +1 -0
- package/dist/CallingClient/utils/request.js +415 -0
- package/dist/CallingClient/utils/request.js.map +1 -0
- package/dist/CallingClient/utils/request.test.js +968 -0
- package/dist/CallingClient/utils/request.test.js.map +1 -0
- package/dist/CallingClient/utils/types.js +7 -0
- package/dist/CallingClient/utils/types.js.map +1 -0
- package/dist/CallingClient/utils/wsFeatureFlag.js +70 -0
- package/dist/CallingClient/utils/wsFeatureFlag.js.map +1 -0
- package/dist/CallingClient/utils/wsFeatureFlag.test.js +139 -0
- package/dist/CallingClient/utils/wsFeatureFlag.test.js.map +1 -0
- package/dist/Contacts/ContactsClient.js +13 -11
- package/dist/Contacts/ContactsClient.js.map +1 -1
- package/dist/Contacts/ContactsClient.test.js +3 -8
- package/dist/Contacts/ContactsClient.test.js.map +1 -1
- package/dist/Events/types.js +11 -11
- package/dist/Events/types.js.map +1 -1
- package/dist/Metrics/index.js +63 -2
- package/dist/Metrics/index.js.map +1 -1
- package/dist/Metrics/index.test.js +357 -1
- package/dist/Metrics/index.test.js.map +1 -1
- package/dist/Metrics/types.js +19 -1
- package/dist/Metrics/types.js.map +1 -1
- package/dist/SDKConnector/types.js.map +1 -1
- package/dist/common/Utils.js +138 -44
- package/dist/common/Utils.js.map +1 -1
- package/dist/common/testUtil.js +8 -4
- package/dist/common/testUtil.js.map +1 -1
- package/dist/common/types.js +2 -0
- package/dist/common/types.js.map +1 -1
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/mobius-socket/config.js +24 -0
- package/dist/mobius-socket/config.js.map +1 -0
- package/dist/mobius-socket/errors.js +143 -0
- package/dist/mobius-socket/errors.js.map +1 -0
- package/dist/mobius-socket/errors.test.js +20 -0
- package/dist/mobius-socket/errors.test.js.map +1 -0
- package/dist/mobius-socket/index.js +57 -0
- package/dist/mobius-socket/index.js.map +1 -0
- package/dist/mobius-socket/mobius-socket-events.test.js +492 -0
- package/dist/mobius-socket/mobius-socket-events.test.js.map +1 -0
- package/dist/mobius-socket/mobius-socket.js +849 -0
- package/dist/mobius-socket/mobius-socket.js.map +1 -0
- package/dist/mobius-socket/mobius-socket.test.js +1898 -0
- package/dist/mobius-socket/mobius-socket.test.js.map +1 -0
- package/dist/mobius-socket/socket/constants.js +55 -0
- package/dist/mobius-socket/socket/constants.js.map +1 -0
- package/dist/mobius-socket/socket/index.js +15 -0
- package/dist/mobius-socket/socket/index.js.map +1 -0
- package/dist/mobius-socket/socket/socket-base.js +604 -0
- package/dist/mobius-socket/socket/socket-base.js.map +1 -0
- package/dist/mobius-socket/socket/socket.js +19 -0
- package/dist/mobius-socket/socket/socket.js.map +1 -0
- package/dist/mobius-socket/socket/socket.shim.js +26 -0
- package/dist/mobius-socket/socket/socket.shim.js.map +1 -0
- package/dist/mobius-socket/socket/types.js +7 -0
- package/dist/mobius-socket/socket/types.js.map +1 -0
- package/dist/mobius-socket/socket.test.js +727 -0
- package/dist/mobius-socket/socket.test.js.map +1 -0
- package/dist/mobius-socket/test/mocha-helpers.js +23 -0
- package/dist/mobius-socket/test/mocha-helpers.js.map +1 -0
- package/dist/mobius-socket/test/promise-tick.js +28 -0
- package/dist/mobius-socket/test/promise-tick.js.map +1 -0
- package/dist/mobius-socket/types.js +7 -0
- package/dist/mobius-socket/types.js.map +1 -0
- package/dist/module/CallingClient/CallingClient.js +148 -10
- package/dist/module/CallingClient/calling/call.js +177 -61
- package/dist/module/CallingClient/calling/callManager.js +27 -7
- package/dist/module/CallingClient/calling/types.js +2 -0
- package/dist/module/CallingClient/constants.js +23 -0
- package/dist/module/CallingClient/line/index.js +2 -2
- package/dist/module/CallingClient/registration/register.js +236 -63
- package/dist/module/CallingClient/registration/webWorker.js +42 -61
- package/dist/module/CallingClient/registration/webWorkerStr.js +47 -82
- package/dist/module/CallingClient/utils/constants.js +36 -0
- package/dist/module/CallingClient/utils/index.js +5 -0
- package/dist/module/CallingClient/utils/mobiusSocketMapper.js +72 -0
- package/dist/module/CallingClient/utils/request.js +204 -0
- package/dist/module/CallingClient/utils/types.js +1 -0
- package/dist/module/CallingClient/utils/wsFeatureFlag.js +41 -0
- package/dist/module/Contacts/ContactsClient.js +1 -1
- package/dist/module/Events/types.js +4 -10
- package/dist/module/Metrics/index.js +48 -1
- package/dist/module/Metrics/types.js +18 -0
- package/dist/module/common/Utils.js +52 -12
- package/dist/module/common/testUtil.js +5 -1
- package/dist/module/common/types.js +2 -0
- package/dist/module/index.js +1 -1
- package/dist/module/mobius-socket/config.js +15 -0
- package/dist/module/mobius-socket/errors.js +58 -0
- package/dist/module/mobius-socket/index.js +24 -0
- package/dist/module/mobius-socket/mobius-socket.js +593 -0
- package/dist/module/mobius-socket/socket/constants.js +26 -0
- package/dist/module/mobius-socket/socket/index.js +4 -0
- package/dist/module/mobius-socket/socket/socket-base.js +368 -0
- package/dist/module/mobius-socket/socket/socket.js +9 -0
- package/dist/module/mobius-socket/socket/socket.shim.js +12 -0
- package/dist/module/mobius-socket/socket/types.js +1 -0
- package/dist/module/mobius-socket/types.js +1 -0
- package/dist/types/CallingClient/CallingClient.d.ts +8 -0
- package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/call.d.ts +12 -0
- package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/callManager.d.ts +3 -2
- package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/types.d.ts +34 -9
- package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
- package/dist/types/CallingClient/constants.d.ts +23 -0
- package/dist/types/CallingClient/constants.d.ts.map +1 -1
- package/dist/types/CallingClient/line/index.d.ts +1 -1
- package/dist/types/CallingClient/line/index.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +7 -1
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/types.d.ts +4 -2
- package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
- package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
- package/dist/types/CallingClient/types.d.ts +1 -0
- package/dist/types/CallingClient/types.d.ts.map +1 -1
- package/dist/types/CallingClient/utils/constants.d.ts +35 -0
- package/dist/types/CallingClient/utils/constants.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/index.d.ts +6 -0
- package/dist/types/CallingClient/utils/index.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts +5 -0
- package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/request.d.ts +27 -0
- package/dist/types/CallingClient/utils/request.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/types.d.ts +34 -0
- package/dist/types/CallingClient/utils/types.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts +4 -0
- package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts.map +1 -0
- package/dist/types/Events/types.d.ts +14 -13
- package/dist/types/Events/types.d.ts.map +1 -1
- package/dist/types/Metrics/index.d.ts.map +1 -1
- package/dist/types/Metrics/types.d.ts +19 -2
- package/dist/types/Metrics/types.d.ts.map +1 -1
- package/dist/types/SDKConnector/types.d.ts +24 -0
- package/dist/types/SDKConnector/types.d.ts.map +1 -1
- package/dist/types/common/Utils.d.ts +9 -2
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/dist/types/common/testUtil.d.ts +4 -1
- package/dist/types/common/testUtil.d.ts.map +1 -1
- package/dist/types/common/types.d.ts +3 -0
- package/dist/types/common/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/mobius-socket/config.d.ts +17 -0
- package/dist/types/mobius-socket/config.d.ts.map +1 -0
- package/dist/types/mobius-socket/errors.d.ts +32 -0
- package/dist/types/mobius-socket/errors.d.ts.map +1 -0
- package/dist/types/mobius-socket/index.d.ts +14 -0
- package/dist/types/mobius-socket/index.d.ts.map +1 -0
- package/dist/types/mobius-socket/mobius-socket.d.ts +48 -0
- package/dist/types/mobius-socket/mobius-socket.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/constants.d.ts +27 -0
- package/dist/types/mobius-socket/socket/constants.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/index.d.ts +5 -0
- package/dist/types/mobius-socket/socket/index.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/socket-base.d.ts +43 -0
- package/dist/types/mobius-socket/socket/socket-base.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/socket.d.ts +6 -0
- package/dist/types/mobius-socket/socket/socket.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/socket.shim.d.ts +6 -0
- package/dist/types/mobius-socket/socket/socket.shim.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/types.d.ts +61 -0
- package/dist/types/mobius-socket/socket/types.d.ts.map +1 -0
- package/dist/types/mobius-socket/types.d.ts +21 -0
- package/dist/types/mobius-socket/types.d.ts.map +1 -0
- package/package.json +20 -5
- package/src/mobius-socket/socket/socket.shim.ts +22 -0
- package/src/mobius-socket/socket/socket.ts +14 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_crypto","require","_sinon","_interopRequireDefault","_testHelperChai","_testHelperMockWebex","_testHelperMockWebSocket","_index","_config","_socket","_constants","_promiseTick","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty3","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty2","crypto","randomUUID","_defineProperty2","value","configurable","describe","createUuid","mobiusSocket","mockWebSocket","originalSendSpy","socketOpenStub","usingFakeTimers","webex","fakeTestMessage","id","data","eventType","timestamp","_now","trackingId","concat","statusStartTypingMessage","actor","conversationId","emitAuthResponse","_ref","undefined","_ref$statusCode","statusCode","_ref$statusMessage","statusMessage","sendSpy","send","lastCall","authRequest","JSON","parse","args","emit","_stringify","type","subtype","MESSAGE_TYPES","AUTH","beforeEach","jest","useFakeTimers","doNotFake","afterEach","_asyncToGenerator2","_regenerator","mark","_callee","_t","wrap","_context","prev","next","useRealTimers","disconnect","close","Socket","getWebSocketConstructor","restore","stop","MockWebex","internal","device","registered","metrics","submitClientMetrics","sinon","stub","logger","console","callsFake","_len","Array","_key","_construct2","MockWebSocket","origOpen","prototype","open","_len2","_key2","promise","_apply","process","nextTick","MobiusSocket","mobiusConfig","debug","fn","error","info","log","warn","it","firstListener","secondListener","on","off","assert","notCalled","spy","connect","then","called","disconnectPromise","code","reason","calledOnce","calledTwice","resolveTest","rejectTest","bufferStateSpy","onlineSpy","_len3","_key3","_wrap2","_this","_len4","sendArgs","_key4","isTrue","connecting","isFalse","connected","lengthOf","readyState","promiseTick","catch","_promise","resolve","reject","events","action","def","description","reconnect","offlineSpy","permanentSpy","transientSpy","replacedSpy","resetHistory","calledWith","url","startSpy","stopSpy"],"sources":["mobius-socket-events.test.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {randomUUID} from 'crypto';\nimport sinon from 'sinon';\nimport {assert} from '@webex/test-helper-chai';\nimport MockWebex from '@webex/test-helper-mock-webex';\nimport MockWebSocket from '@webex/test-helper-mock-web-socket';\nimport {wrap} from 'lodash';\nimport MobiusSocket from './index';\nimport mobiusConfig from './config';\nimport Socket from './socket';\nimport {MESSAGE_TYPES} from './socket/constants';\n\nimport promiseTick from './test/promise-tick';\n\nif (!crypto.randomUUID) {\n Object.defineProperty(crypto, 'randomUUID', {\n value: randomUUID,\n configurable: true,\n });\n}\n\ndescribe('plugin-mobiusSocket', () => {\n const createUuid = () => crypto.randomUUID();\n\n describe('MobiusSocket', () => {\n describe('Events', () => {\n let mobiusSocket;\n let mockWebSocket;\n let originalSendSpy;\n let socketOpenStub;\n let usingFakeTimers;\n let webex;\n\n const fakeTestMessage = {\n id: createUuid(),\n data: {\n eventType: 'fake.test',\n },\n timestamp: Date.now(),\n trackingId: `suffix_${createUuid()}_${Date.now()}`,\n };\n\n const statusStartTypingMessage = {\n id: createUuid(),\n data: {\n eventType: 'status.start_typing',\n actor: {\n id: 'actorId',\n },\n conversationId: createUuid(),\n },\n timestamp: Date.now(),\n trackingId: `suffix_${createUuid()}_${Date.now()}`,\n };\n\n const emitAuthResponse = ({statusCode = 200, statusMessage = 'OK'} = {}) => {\n const sendSpy = mockWebSocket.send.lastCall ? mockWebSocket.send : originalSendSpy;\n const authRequest = JSON.parse(sendSpy.lastCall.args[0]);\n\n mockWebSocket.emit('message', {\n data: JSON.stringify({\n type: 'response_event',\n subtype: MESSAGE_TYPES.AUTH,\n trackingId: authRequest.trackingId,\n statusCode,\n statusMessage,\n }),\n });\n };\n\n beforeEach(() => {\n jest.useFakeTimers({doNotFake: ['nextTick']});\n usingFakeTimers = true;\n });\n\n afterEach(async () => {\n if (usingFakeTimers) {\n jest.useRealTimers();\n usingFakeTimers = false;\n }\n if (mobiusSocket) {\n try {\n await mobiusSocket.disconnect();\n } catch (e) {\n // Ignore cleanup errors in tests.\n }\n }\n if (mockWebSocket && typeof mockWebSocket.close === 'function') {\n try {\n mockWebSocket.close();\n } catch (e) {\n // Ignore cleanup errors in tests.\n }\n }\n // Restore stubs\n if (Socket.getWebSocketConstructor.restore) {\n Socket.getWebSocketConstructor.restore();\n }\n if (socketOpenStub && socketOpenStub.restore) {\n socketOpenStub.restore();\n }\n });\n\n beforeEach(() => {\n webex = new MockWebex();\n\n webex.internal.device.registered = true;\n webex.internal.metrics.submitClientMetrics = sinon.stub();\n webex.trackingId = 'fakeTrackingId';\n\n webex.logger = console;\n\n sinon.stub(Socket, 'getWebSocketConstructor').callsFake(\n () =>\n function (...args) {\n mockWebSocket = new MockWebSocket(...args);\n originalSendSpy = mockWebSocket.send;\n\n return mockWebSocket;\n }\n );\n\n const origOpen = Socket.prototype.open;\n\n socketOpenStub = sinon.stub(Socket.prototype, 'open').callsFake(function (...args) {\n const promise = Reflect.apply(origOpen, this, args);\n\n process.nextTick(() => {\n mockWebSocket.open();\n // Simulate Mobius auth response after socket open\n process.nextTick(() => {\n emitAuthResponse();\n });\n });\n\n return promise;\n });\n\n mobiusSocket = new MobiusSocket(webex, {...mobiusConfig.mobiusSocket});\n\n (mobiusSocket as any).logger = {\n debug: jest.fn(),\n error: jest.fn(),\n info: jest.fn(),\n log: jest.fn(),\n warn: jest.fn(),\n };\n });\n\n it('removes all listeners for an event when off() is called without a listener', () => {\n const firstListener = sinon.stub();\n const secondListener = sinon.stub();\n\n mobiusSocket.on('event:fake.test', firstListener);\n mobiusSocket.on('event:fake.test', secondListener);\n\n mobiusSocket.off('event:fake.test');\n mobiusSocket.emit('event:fake.test', fakeTestMessage);\n\n assert.notCalled(firstListener);\n assert.notCalled(secondListener);\n });\n\n afterEach(() => {\n if (socketOpenStub) {\n socketOpenStub.restore();\n }\n\n if (Socket.getWebSocketConstructor.restore) {\n Socket.getWebSocketConstructor.restore();\n }\n });\n\n describe('when connected', () => {\n it('emits the `online` event', () => {\n const spy = sinon.spy();\n\n mobiusSocket.on('online', spy);\n const promise = mobiusSocket.connect();\n\n return promise.then(() => assert.called(spy));\n });\n });\n\n describe('when disconnected', () => {\n it('emits the `offline` event', () => {\n const spy = sinon.spy();\n\n mobiusSocket.on('offline', spy);\n const promise = mobiusSocket.connect();\n\n mockWebSocket.open();\n\n return promise\n .then(() => {\n const disconnectPromise = mobiusSocket.disconnect();\n\n mockWebSocket.emit('close', {\n code: 1000,\n reason: 'Done',\n });\n\n return disconnectPromise;\n })\n .then(() => assert.calledOnce(spy));\n });\n\n describe('when reconnected', () => {\n it('emits the `online` event', () => {\n const spy = sinon.spy();\n\n mobiusSocket.on('online', spy);\n\n const promise = mobiusSocket.connect();\n\n mockWebSocket.open();\n\n return promise\n .then(() => assert.calledOnce(spy))\n .then(() => mockWebSocket.emit('close', {code: 1000, reason: 'Idle'}))\n .then(() => mobiusSocket.connect())\n .then(() => assert.calledTwice(spy));\n });\n });\n });\n\n describe('when `mercury.buffer_state` is received', () => {\n // This test is here because the buffer states message may arrive before\n // the mobiusSocket Promise resolves.\n it('gets emitted', () => {\n let sendSpy;\n let resolveTest;\n let rejectTest;\n const bufferStateSpy = sinon.spy();\n const onlineSpy = sinon.spy();\n\n mobiusSocket.on('event:mercury.buffer_state', bufferStateSpy);\n mobiusSocket.on('online', onlineSpy);\n\n Socket.getWebSocketConstructor.callsFake(\n () =>\n function (...args) {\n mockWebSocket = new MockWebSocket(...args);\n sendSpy = mockWebSocket.send;\n mockWebSocket.send = wrap(mockWebSocket.send, function (fn, ...sendArgs) {\n process.nextTick(() => {\n Reflect.apply(fn, this, sendArgs);\n });\n });\n\n process.nextTick(() => {\n assert.isTrue(mobiusSocket.connecting, 'MobiusSocket is still connecting');\n assert.isFalse(mobiusSocket.connected, 'MobiusSocket has not yet connected');\n assert.notCalled(onlineSpy);\n assert.lengthOf(sendSpy.args, 0, 'The client has not yet sent the auth message');\n // set websocket readystate to 1 to allow a successful send message\n mockWebSocket.readyState = 1;\n mockWebSocket.emit('open');\n mockWebSocket.emit('message', {\n data: JSON.stringify({\n id: createUuid(),\n data: {\n eventType: 'mercury.buffer_state',\n },\n }),\n });\n // using lengthOf because notCalled doesn't allow the helpful\n // string assertion\n assert.lengthOf(\n sendSpy.args,\n 0,\n 'The client has not acked the buffer_state message'\n );\n\n promiseTick(1)\n .then(() => {\n assert.called(bufferStateSpy);\n resolveTest();\n })\n .catch(rejectTest);\n });\n\n return mockWebSocket;\n }\n );\n\n return new Promise((resolve, reject) => {\n resolveTest = resolve;\n rejectTest = reject;\n mobiusSocket.connect().catch(() => {});\n });\n });\n });\n\n describe('when a CloseEvent is received', () => {\n const events = [\n {\n code: 1000,\n reason: 'idle',\n action: 'close',\n },\n {\n code: 1000,\n reason: 'done (forced)',\n action: 'close',\n },\n {\n code: 1000,\n reason: 'pong not received',\n action: 'close',\n },\n {\n code: 1000,\n reason: 'pong mismatch',\n action: 'close',\n },\n {\n code: 1000,\n action: 'close',\n },\n {\n code: 1003,\n action: 'close',\n },\n {\n code: 1001,\n action: 'close',\n },\n {\n code: 1005,\n action: 'reconnect',\n },\n {\n code: 1006,\n action: 'reconnect',\n },\n {\n code: 1011,\n action: 'reconnect',\n },\n {\n code: 4000,\n action: 'replace',\n },\n {\n action: 'close',\n },\n ];\n\n events.forEach((def) => {\n const {action, reason, code} = def;\n let description;\n\n if (code && reason) {\n description = `with code \\`${code}\\` and reason \\`${reason}\\``;\n } else if (code) {\n description = `with code \\`${code}\\``;\n } else if (reason) {\n description = `with reason \\`${reason}\\``;\n }\n\n describe(`when an event ${description} is received`, () => {\n it(`takes the ${action} action`, () => {\n if (mobiusSocket.reconnect.restore) {\n mobiusSocket.reconnect.restore();\n }\n\n sinon.spy(mobiusSocket, 'connect');\n\n const offlineSpy = sinon.spy();\n const permanentSpy = sinon.spy();\n const transientSpy = sinon.spy();\n const replacedSpy = sinon.spy();\n\n mobiusSocket.on('offline', offlineSpy);\n mobiusSocket.on('offline.permanent', permanentSpy);\n mobiusSocket.on('offline.transient', transientSpy);\n mobiusSocket.on('offline.replaced', replacedSpy);\n\n const promise = mobiusSocket.connect();\n\n mockWebSocket.open();\n\n return promise\n .then(() => {\n // Make sure mobiusSocket.connect has a call count of zero\n mobiusSocket.connect.resetHistory();\n\n mockWebSocket.emit('close', {code, reason});\n\n return promiseTick(1);\n })\n .then(() => {\n assert.called(offlineSpy);\n assert.calledWith(offlineSpy, {\n code,\n reason,\n });\n switch (action) {\n case 'close':\n assert.called(permanentSpy);\n assert.notCalled(transientSpy);\n assert.notCalled(replacedSpy);\n break;\n case 'reconnect':\n assert.notCalled(permanentSpy);\n assert.called(transientSpy);\n assert.notCalled(replacedSpy);\n break;\n case 'replace':\n assert.notCalled(permanentSpy);\n assert.notCalled(transientSpy);\n assert.called(replacedSpy);\n break;\n default:\n assert(false, 'unreachable code reached');\n }\n assert.isFalse(mobiusSocket.connected, 'MobiusSocket is not connected');\n if (action === 'reconnect') {\n assert.called(mobiusSocket.connect);\n assert.calledWith(mobiusSocket.connect, mockWebSocket.url);\n assert.isTrue(mobiusSocket.connecting, 'MobiusSocket is connecting');\n\n // Block until reconnect completes so logs don't overlap\n return mobiusSocket.connect();\n }\n\n assert.notCalled(mobiusSocket.connect);\n assert.isFalse(mobiusSocket.connecting, 'MobiusSocket is not connecting');\n\n return Promise.resolve();\n });\n });\n });\n });\n });\n\n describe('when a MessageEvent is received', () => {\n it('emits the MobiusSocket envelope', () => {\n const startSpy = sinon.spy();\n const stopSpy = sinon.spy();\n\n mobiusSocket.on('event:status.start_typing', startSpy);\n mobiusSocket.on('event:status.stop_typing', stopSpy);\n\n const promise = mobiusSocket.connect();\n\n mockWebSocket.open();\n\n return promise\n .then(() => {\n mockWebSocket.emit('message', {data: JSON.stringify(statusStartTypingMessage)});\n\n return promiseTick(1);\n })\n .then(() => {\n assert.calledOnce(startSpy);\n assert.notCalled(stopSpy);\n assert.calledWith(startSpy, statusStartTypingMessage);\n });\n });\n\n it(\"emits the MobiusSocket envelope named by the MobiusSocket event's eventType\", () => {\n const startSpy = sinon.spy();\n const stopSpy = sinon.spy();\n\n mobiusSocket.on('event:status.start_typing', startSpy);\n mobiusSocket.on('event:status.stop_typing', stopSpy);\n\n const promise = mobiusSocket.connect();\n\n mockWebSocket.open();\n\n return promise\n .then(() => {\n mockWebSocket.emit('message', {data: JSON.stringify(statusStartTypingMessage)});\n\n return promiseTick(1);\n })\n .then(() => {\n assert.calledOnce(startSpy);\n assert.notCalled(stopSpy);\n assert.calledWith(startSpy, statusStartTypingMessage);\n });\n });\n });\n\n // Mobius does not use sequence numbers, so sequence-mismatch tests are not applicable\n });\n });\n\n /*\n // On mobiusSocket:\n online\n offline\n offline.transient\n offline.permanent\n offline.replaced\n event\n event:locus.participant_joined\n mockWebSocket.connection-failed\n mockWebSocket.sequence-mismatch\n\n // On webex:\n mobiusSocket.online\n mobiusSocket.offline\n mobiusSocket.offline.transient\n mobiusSocket.offline.permanent\n mobiusSocket.offline.replaced\n mobiusSocket.event\n mobiusSocket.event:locus.participant_joined\n mobiusSocket.mockWebSocket.connection-failed\n mobiusSocket.mockWebSocket.sequence-mismatch\n\n // TODO go through all it(`emits...`) and make sure corresponding tests are here\n */\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAIA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,wBAAA,GAAAH,sBAAA,CAAAF,OAAA;AAEA,IAAAM,MAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,OAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,OAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AAEA,IAAAU,YAAA,GAAAR,sBAAA,CAAAF,OAAA;AAA8C,SAAAW,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAH,CAAA,OAAAI,6BAAA,QAAAC,CAAA,GAAAD,6BAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAM,gCAAA,CAAAP,CAAA,EAAAC,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAS,cAAAX,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAAC,MAAA,EAAAZ,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAe,MAAA,CAAAZ,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,CAAAC,OAAA,EAAAjB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAiB,iCAAA,GAAAC,wBAAA,CAAAnB,CAAA,EAAAkB,iCAAA,CAAAhB,CAAA,KAAAH,OAAA,CAAAe,MAAA,CAAAZ,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAmB,uBAAA,CAAApB,CAAA,EAAAC,CAAA,EAAAM,gCAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAD,CAAA,IAf9C;AACA;AACA;AAeA,IAAI,CAACqB,MAAM,CAACC,UAAU,EAAE;EACtB,IAAAC,gBAAA,CAAAN,OAAA,EAAsBI,MAAM,EAAE,YAAY,EAAE;IAC1CG,KAAK,EAAEF,kBAAU;IACjBG,YAAY,EAAE;EAChB,CAAC,CAAC;AACJ;AAEAC,QAAQ,CAAC,qBAAqB,EAAE,YAAM;EACpC,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAA;IAAA,OAASN,MAAM,CAACC,UAAU,CAAC,CAAC;EAAA;EAE5CI,QAAQ,CAAC,cAAc,EAAE,YAAM;IAC7BA,QAAQ,CAAC,QAAQ,EAAE,YAAM;MACvB,IAAIE,YAAY;MAChB,IAAIC,aAAa;MACjB,IAAIC,eAAe;MACnB,IAAIC,cAAc;MAClB,IAAIC,eAAe;MACnB,IAAIC,KAAK;MAET,IAAMC,eAAe,GAAG;QACtBC,EAAE,EAAER,UAAU,CAAC,CAAC;QAChBS,IAAI,EAAE;UACJC,SAAS,EAAE;QACb,CAAC;QACDC,SAAS,EAAE,IAAAC,IAAA,CAAAtB,OAAA,EAAS,CAAC;QACrBuB,UAAU,YAAAC,MAAA,CAAYd,UAAU,CAAC,CAAC,OAAAc,MAAA,CAAI,IAAAF,IAAA,CAAAtB,OAAA,EAAS,CAAC;MAClD,CAAC;MAED,IAAMyB,wBAAwB,GAAG;QAC/BP,EAAE,EAAER,UAAU,CAAC,CAAC;QAChBS,IAAI,EAAE;UACJC,SAAS,EAAE,qBAAqB;UAChCM,KAAK,EAAE;YACLR,EAAE,EAAE;UACN,CAAC;UACDS,cAAc,EAAEjB,UAAU,CAAC;QAC7B,CAAC;QACDW,SAAS,EAAE,IAAAC,IAAA,CAAAtB,OAAA,EAAS,CAAC;QACrBuB,UAAU,YAAAC,MAAA,CAAYd,UAAU,CAAC,CAAC,OAAAc,MAAA,CAAI,IAAAF,IAAA,CAAAtB,OAAA,EAAS,CAAC;MAClD,CAAC;MAED,IAAM4B,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA,EAAsD;QAAA,IAAAC,IAAA,GAAAlC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmC,SAAA,GAAAnC,SAAA,MAAP,CAAC,CAAC;UAAAoC,eAAA,GAAAF,IAAA,CAA5CG,UAAU;UAAVA,UAAU,GAAAD,eAAA,cAAG,GAAG,GAAAA,eAAA;UAAAE,kBAAA,GAAAJ,IAAA,CAAEK,aAAa;UAAbA,aAAa,GAAAD,kBAAA,cAAG,IAAI,GAAAA,kBAAA;QAC/D,IAAME,OAAO,GAAGvB,aAAa,CAACwB,IAAI,CAACC,QAAQ,GAAGzB,aAAa,CAACwB,IAAI,GAAGvB,eAAe;QAClF,IAAMyB,WAAW,GAAGC,IAAI,CAACC,KAAK,CAACL,OAAO,CAACE,QAAQ,CAACI,IAAI,CAAC,CAAC,CAAC,CAAC;QAExD7B,aAAa,CAAC8B,IAAI,CAAC,SAAS,EAAE;UAC5BvB,IAAI,EAAE,IAAAwB,UAAA,CAAA3C,OAAA,EAAe;YACnB4C,IAAI,EAAE,gBAAgB;YACtBC,OAAO,EAAEC,wBAAa,CAACC,IAAI;YAC3BxB,UAAU,EAAEe,WAAW,CAACf,UAAU;YAClCS,UAAU,EAAVA,UAAU;YACVE,aAAa,EAAbA;UACF,CAAC;QACH,CAAC,CAAC;MACJ,CAAC;MAEDc,UAAU,CAAC,YAAM;QACfC,IAAI,CAACC,aAAa,CAAC;UAACC,SAAS,EAAE,CAAC,UAAU;QAAC,CAAC,CAAC;QAC7CpC,eAAe,GAAG,IAAI;MACxB,CAAC,CAAC;MAEFqC,SAAS,kBAAAC,kBAAA,CAAArD,OAAA,eAAAsD,YAAA,CAAAtD,OAAA,CAAAuD,IAAA,CAAC,SAAAC,QAAA;QAAA,IAAAC,EAAA;QAAA,OAAAH,YAAA,CAAAtD,OAAA,CAAA0D,IAAA,WAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cACR,IAAI9C,eAAe,EAAE;gBACnBkC,IAAI,CAACa,aAAa,CAAC,CAAC;gBACpB/C,eAAe,GAAG,KAAK;cACzB;cAAC,KACGJ,YAAY;gBAAAgD,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAAF,QAAA,CAAAC,IAAA;cAAAD,QAAA,CAAAE,IAAA;cAAA,OAENlD,YAAY,CAACoD,UAAU,CAAC,CAAC;YAAA;cAAAJ,QAAA,CAAAE,IAAA;cAAA;YAAA;cAAAF,QAAA,CAAAC,IAAA;cAAAH,EAAA,GAAAE,QAAA;YAAA;cAKnC,IAAI/C,aAAa,IAAI,OAAOA,aAAa,CAACoD,KAAK,KAAK,UAAU,EAAE;gBAC9D,IAAI;kBACFpD,aAAa,CAACoD,KAAK,CAAC,CAAC;gBACvB,CAAC,CAAC,OAAOjF,CAAC,EAAE;kBACV;gBAAA;cAEJ;cACA;cACA,IAAIkF,eAAM,CAACC,uBAAuB,CAACC,OAAO,EAAE;gBAC1CF,eAAM,CAACC,uBAAuB,CAACC,OAAO,CAAC,CAAC;cAC1C;cACA,IAAIrD,cAAc,IAAIA,cAAc,CAACqD,OAAO,EAAE;gBAC5CrD,cAAc,CAACqD,OAAO,CAAC,CAAC;cAC1B;YAAC;YAAA;cAAA,OAAAR,QAAA,CAAAS,IAAA;UAAA;QAAA,GAAAZ,OAAA;MAAA,CACF,GAAC;MAEFR,UAAU,CAAC,YAAM;QACfhC,KAAK,GAAG,IAAIqD,4BAAS,CAAC,CAAC;QAEvBrD,KAAK,CAACsD,QAAQ,CAACC,MAAM,CAACC,UAAU,GAAG,IAAI;QACvCxD,KAAK,CAACsD,QAAQ,CAACG,OAAO,CAACC,mBAAmB,GAAGC,cAAK,CAACC,IAAI,CAAC,CAAC;QACzD5D,KAAK,CAACO,UAAU,GAAG,gBAAgB;QAEnCP,KAAK,CAAC6D,MAAM,GAAGC,OAAO;QAEtBH,cAAK,CAACC,IAAI,CAACX,eAAM,EAAE,yBAAyB,CAAC,CAACc,SAAS,CACrD;UAAA,OACE,YAAmB;YAAA,SAAAC,IAAA,GAAArF,SAAA,CAAAC,MAAA,EAAN6C,IAAI,OAAAwC,KAAA,CAAAD,IAAA,GAAAE,IAAA,MAAAA,IAAA,GAAAF,IAAA,EAAAE,IAAA;cAAJzC,IAAI,CAAAyC,IAAA,IAAAvF,SAAA,CAAAuF,IAAA;YAAA;YACftE,aAAa,OAAAuE,WAAA,CAAAnF,OAAA,EAAOoF,gCAAa,EAAI3C,IAAI,CAAC;YAC1C5B,eAAe,GAAGD,aAAa,CAACwB,IAAI;YAEpC,OAAOxB,aAAa;UACtB,CAAC;QAAA,CACL,CAAC;QAED,IAAMyE,QAAQ,GAAGpB,eAAM,CAACqB,SAAS,CAACC,IAAI;QAEtCzE,cAAc,GAAG6D,cAAK,CAACC,IAAI,CAACX,eAAM,CAACqB,SAAS,EAAE,MAAM,CAAC,CAACP,SAAS,CAAC,YAAmB;UAAA,SAAAS,KAAA,GAAA7F,SAAA,CAAAC,MAAA,EAAN6C,IAAI,OAAAwC,KAAA,CAAAO,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;YAAJhD,IAAI,CAAAgD,KAAA,IAAA9F,SAAA,CAAA8F,KAAA;UAAA;UAC/E,IAAMC,OAAO,GAAG,IAAAC,MAAA,CAAA3F,OAAA,EAAcqF,QAAQ,EAAE,IAAI,EAAE5C,IAAI,CAAC;UAEnDmD,OAAO,CAACC,QAAQ,CAAC,YAAM;YACrBjF,aAAa,CAAC2E,IAAI,CAAC,CAAC;YACpB;YACAK,OAAO,CAACC,QAAQ,CAAC,YAAM;cACrBjE,gBAAgB,CAAC,CAAC;YACpB,CAAC,CAAC;UACJ,CAAC,CAAC;UAEF,OAAO8D,OAAO;QAChB,CAAC,CAAC;QAEF/E,YAAY,GAAG,IAAImF,cAAY,CAAC9E,KAAK,EAAAtB,aAAA,KAAMqG,eAAY,CAACpF,YAAY,CAAC,CAAC;QAErEA,YAAY,CAASkE,MAAM,GAAG;UAC7BmB,KAAK,EAAE/C,IAAI,CAACgD,EAAE,CAAC,CAAC;UAChBC,KAAK,EAAEjD,IAAI,CAACgD,EAAE,CAAC,CAAC;UAChBE,IAAI,EAAElD,IAAI,CAACgD,EAAE,CAAC,CAAC;UACfG,GAAG,EAAEnD,IAAI,CAACgD,EAAE,CAAC,CAAC;UACdI,IAAI,EAAEpD,IAAI,CAACgD,EAAE,CAAC;QAChB,CAAC;MACH,CAAC,CAAC;MAEFK,EAAE,CAAC,4EAA4E,EAAE,YAAM;QACrF,IAAMC,aAAa,GAAG5B,cAAK,CAACC,IAAI,CAAC,CAAC;QAClC,IAAM4B,cAAc,GAAG7B,cAAK,CAACC,IAAI,CAAC,CAAC;QAEnCjE,YAAY,CAAC8F,EAAE,CAAC,iBAAiB,EAAEF,aAAa,CAAC;QACjD5F,YAAY,CAAC8F,EAAE,CAAC,iBAAiB,EAAED,cAAc,CAAC;QAElD7F,YAAY,CAAC+F,GAAG,CAAC,iBAAiB,CAAC;QACnC/F,YAAY,CAAC+B,IAAI,CAAC,iBAAiB,EAAEzB,eAAe,CAAC;QAErD0F,sBAAM,CAACC,SAAS,CAACL,aAAa,CAAC;QAC/BI,sBAAM,CAACC,SAAS,CAACJ,cAAc,CAAC;MAClC,CAAC,CAAC;MAEFpD,SAAS,CAAC,YAAM;QACd,IAAItC,cAAc,EAAE;UAClBA,cAAc,CAACqD,OAAO,CAAC,CAAC;QAC1B;QAEA,IAAIF,eAAM,CAACC,uBAAuB,CAACC,OAAO,EAAE;UAC1CF,eAAM,CAACC,uBAAuB,CAACC,OAAO,CAAC,CAAC;QAC1C;MACF,CAAC,CAAC;MAEF1D,QAAQ,CAAC,gBAAgB,EAAE,YAAM;QAC/B6F,EAAE,CAAC,0BAA0B,EAAE,YAAM;UACnC,IAAMO,GAAG,GAAGlC,cAAK,CAACkC,GAAG,CAAC,CAAC;UAEvBlG,YAAY,CAAC8F,EAAE,CAAC,QAAQ,EAAEI,GAAG,CAAC;UAC9B,IAAMnB,OAAO,GAAG/E,YAAY,CAACmG,OAAO,CAAC,CAAC;UAEtC,OAAOpB,OAAO,CAACqB,IAAI,CAAC;YAAA,OAAMJ,sBAAM,CAACK,MAAM,CAACH,GAAG,CAAC;UAAA,EAAC;QAC/C,CAAC,CAAC;MACJ,CAAC,CAAC;MAEFpG,QAAQ,CAAC,mBAAmB,EAAE,YAAM;QAClC6F,EAAE,CAAC,2BAA2B,EAAE,YAAM;UACpC,IAAMO,GAAG,GAAGlC,cAAK,CAACkC,GAAG,CAAC,CAAC;UAEvBlG,YAAY,CAAC8F,EAAE,CAAC,SAAS,EAAEI,GAAG,CAAC;UAC/B,IAAMnB,OAAO,GAAG/E,YAAY,CAACmG,OAAO,CAAC,CAAC;UAEtClG,aAAa,CAAC2E,IAAI,CAAC,CAAC;UAEpB,OAAOG,OAAO,CACXqB,IAAI,CAAC,YAAM;YACV,IAAME,iBAAiB,GAAGtG,YAAY,CAACoD,UAAU,CAAC,CAAC;YAEnDnD,aAAa,CAAC8B,IAAI,CAAC,OAAO,EAAE;cAC1BwE,IAAI,EAAE,IAAI;cACVC,MAAM,EAAE;YACV,CAAC,CAAC;YAEF,OAAOF,iBAAiB;UAC1B,CAAC,CAAC,CACDF,IAAI,CAAC;YAAA,OAAMJ,sBAAM,CAACS,UAAU,CAACP,GAAG,CAAC;UAAA,EAAC;QACvC,CAAC,CAAC;QAEFpG,QAAQ,CAAC,kBAAkB,EAAE,YAAM;UACjC6F,EAAE,CAAC,0BAA0B,EAAE,YAAM;YACnC,IAAMO,GAAG,GAAGlC,cAAK,CAACkC,GAAG,CAAC,CAAC;YAEvBlG,YAAY,CAAC8F,EAAE,CAAC,QAAQ,EAAEI,GAAG,CAAC;YAE9B,IAAMnB,OAAO,GAAG/E,YAAY,CAACmG,OAAO,CAAC,CAAC;YAEtClG,aAAa,CAAC2E,IAAI,CAAC,CAAC;YAEpB,OAAOG,OAAO,CACXqB,IAAI,CAAC;cAAA,OAAMJ,sBAAM,CAACS,UAAU,CAACP,GAAG,CAAC;YAAA,EAAC,CAClCE,IAAI,CAAC;cAAA,OAAMnG,aAAa,CAAC8B,IAAI,CAAC,OAAO,EAAE;gBAACwE,IAAI,EAAE,IAAI;gBAAEC,MAAM,EAAE;cAAM,CAAC,CAAC;YAAA,EAAC,CACrEJ,IAAI,CAAC;cAAA,OAAMpG,YAAY,CAACmG,OAAO,CAAC,CAAC;YAAA,EAAC,CAClCC,IAAI,CAAC;cAAA,OAAMJ,sBAAM,CAACU,WAAW,CAACR,GAAG,CAAC;YAAA,EAAC;UACxC,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,CAAC;MAEFpG,QAAQ,CAAC,yCAAyC,EAAE,YAAM;QACxD;QACA;QACA6F,EAAE,CAAC,cAAc,EAAE,YAAM;UACvB,IAAInE,OAAO;UACX,IAAImF,WAAW;UACf,IAAIC,UAAU;UACd,IAAMC,cAAc,GAAG7C,cAAK,CAACkC,GAAG,CAAC,CAAC;UAClC,IAAMY,SAAS,GAAG9C,cAAK,CAACkC,GAAG,CAAC,CAAC;UAE7BlG,YAAY,CAAC8F,EAAE,CAAC,4BAA4B,EAAEe,cAAc,CAAC;UAC7D7G,YAAY,CAAC8F,EAAE,CAAC,QAAQ,EAAEgB,SAAS,CAAC;UAEpCxD,eAAM,CAACC,uBAAuB,CAACa,SAAS,CACtC;YAAA,OACE,YAAmB;cAAA,SAAA2C,KAAA,GAAA/H,SAAA,CAAAC,MAAA,EAAN6C,IAAI,OAAAwC,KAAA,CAAAyC,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;gBAAJlF,IAAI,CAAAkF,KAAA,IAAAhI,SAAA,CAAAgI,KAAA;cAAA;cACf/G,aAAa,OAAAuE,WAAA,CAAAnF,OAAA,EAAOoF,gCAAa,EAAI3C,IAAI,CAAC;cAC1CN,OAAO,GAAGvB,aAAa,CAACwB,IAAI;cAC5BxB,aAAa,CAACwB,IAAI,GAAG,IAAAwF,MAAA,CAAA5H,OAAA,EAAKY,aAAa,CAACwB,IAAI,EAAE,UAAU6D,EAAE,EAAe;gBAAA,IAAA4B,KAAA;gBAAA,SAAAC,KAAA,GAAAnI,SAAA,CAAAC,MAAA,EAAVmI,QAAQ,OAAA9C,KAAA,CAAA6C,KAAA,OAAAA,KAAA,WAAAE,KAAA,MAAAA,KAAA,GAAAF,KAAA,EAAAE,KAAA;kBAARD,QAAQ,CAAAC,KAAA,QAAArI,SAAA,CAAAqI,KAAA;gBAAA;gBACrEpC,OAAO,CAACC,QAAQ,CAAC,YAAM;kBACrB,IAAAF,MAAA,CAAA3F,OAAA,EAAciG,EAAE,EAAE4B,KAAI,EAAEE,QAAQ,CAAC;gBACnC,CAAC,CAAC;cACJ,CAAC,CAAC;cAEFnC,OAAO,CAACC,QAAQ,CAAC,YAAM;gBACrBc,sBAAM,CAACsB,MAAM,CAACtH,YAAY,CAACuH,UAAU,EAAE,kCAAkC,CAAC;gBAC1EvB,sBAAM,CAACwB,OAAO,CAACxH,YAAY,CAACyH,SAAS,EAAE,oCAAoC,CAAC;gBAC5EzB,sBAAM,CAACC,SAAS,CAACa,SAAS,CAAC;gBAC3Bd,sBAAM,CAAC0B,QAAQ,CAAClG,OAAO,CAACM,IAAI,EAAE,CAAC,EAAE,8CAA8C,CAAC;gBAChF;gBACA7B,aAAa,CAAC0H,UAAU,GAAG,CAAC;gBAC5B1H,aAAa,CAAC8B,IAAI,CAAC,MAAM,CAAC;gBAC1B9B,aAAa,CAAC8B,IAAI,CAAC,SAAS,EAAE;kBAC5BvB,IAAI,EAAE,IAAAwB,UAAA,CAAA3C,OAAA,EAAe;oBACnBkB,EAAE,EAAER,UAAU,CAAC,CAAC;oBAChBS,IAAI,EAAE;sBACJC,SAAS,EAAE;oBACb;kBACF,CAAC;gBACH,CAAC,CAAC;gBACF;gBACA;gBACAuF,sBAAM,CAAC0B,QAAQ,CACblG,OAAO,CAACM,IAAI,EACZ,CAAC,EACD,mDACF,CAAC;gBAED,IAAA8F,oBAAW,EAAC,CAAC,CAAC,CACXxB,IAAI,CAAC,YAAM;kBACVJ,sBAAM,CAACK,MAAM,CAACQ,cAAc,CAAC;kBAC7BF,WAAW,CAAC,CAAC;gBACf,CAAC,CAAC,CACDkB,KAAK,CAACjB,UAAU,CAAC;cACtB,CAAC,CAAC;cAEF,OAAO3G,aAAa;YACtB,CAAC;UAAA,CACL,CAAC;UAED,OAAO,IAAA6H,QAAA,CAAAzI,OAAA,CAAY,UAAC0I,OAAO,EAAEC,MAAM,EAAK;YACtCrB,WAAW,GAAGoB,OAAO;YACrBnB,UAAU,GAAGoB,MAAM;YACnBhI,YAAY,CAACmG,OAAO,CAAC,CAAC,CAAC0B,KAAK,CAAC,YAAM,CAAC,CAAC,CAAC;UACxC,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,CAAC;MAEF/H,QAAQ,CAAC,+BAA+B,EAAE,YAAM;QAC9C,IAAMmI,MAAM,GAAG,CACb;UACE1B,IAAI,EAAE,IAAI;UACVC,MAAM,EAAE,MAAM;UACd0B,MAAM,EAAE;QACV,CAAC,EACD;UACE3B,IAAI,EAAE,IAAI;UACVC,MAAM,EAAE,eAAe;UACvB0B,MAAM,EAAE;QACV,CAAC,EACD;UACE3B,IAAI,EAAE,IAAI;UACVC,MAAM,EAAE,mBAAmB;UAC3B0B,MAAM,EAAE;QACV,CAAC,EACD;UACE3B,IAAI,EAAE,IAAI;UACVC,MAAM,EAAE,eAAe;UACvB0B,MAAM,EAAE;QACV,CAAC,EACD;UACE3B,IAAI,EAAE,IAAI;UACV2B,MAAM,EAAE;QACV,CAAC,EACD;UACE3B,IAAI,EAAE,IAAI;UACV2B,MAAM,EAAE;QACV,CAAC,EACD;UACE3B,IAAI,EAAE,IAAI;UACV2B,MAAM,EAAE;QACV,CAAC,EACD;UACE3B,IAAI,EAAE,IAAI;UACV2B,MAAM,EAAE;QACV,CAAC,EACD;UACE3B,IAAI,EAAE,IAAI;UACV2B,MAAM,EAAE;QACV,CAAC,EACD;UACE3B,IAAI,EAAE,IAAI;UACV2B,MAAM,EAAE;QACV,CAAC,EACD;UACE3B,IAAI,EAAE,IAAI;UACV2B,MAAM,EAAE;QACV,CAAC,EACD;UACEA,MAAM,EAAE;QACV,CAAC,CACF;QAEDD,MAAM,CAAC9I,OAAO,CAAC,UAACgJ,GAAG,EAAK;UACtB,IAAOD,MAAM,GAAkBC,GAAG,CAA3BD,MAAM;YAAE1B,MAAM,GAAU2B,GAAG,CAAnB3B,MAAM;YAAED,IAAI,GAAI4B,GAAG,CAAX5B,IAAI;UAC3B,IAAI6B,WAAW;UAEf,IAAI7B,IAAI,IAAIC,MAAM,EAAE;YAClB4B,WAAW,iBAAAvH,MAAA,CAAkB0F,IAAI,oBAAA1F,MAAA,CAAmB2F,MAAM,MAAI;UAChE,CAAC,MAAM,IAAID,IAAI,EAAE;YACf6B,WAAW,iBAAAvH,MAAA,CAAkB0F,IAAI,MAAI;UACvC,CAAC,MAAM,IAAIC,MAAM,EAAE;YACjB4B,WAAW,mBAAAvH,MAAA,CAAoB2F,MAAM,MAAI;UAC3C;UAEA1G,QAAQ,kBAAAe,MAAA,CAAkBuH,WAAW,mBAAgB,YAAM;YACzDzC,EAAE,cAAA9E,MAAA,CAAcqH,MAAM,cAAW,YAAM;cACrC,IAAIlI,YAAY,CAACqI,SAAS,CAAC7E,OAAO,EAAE;gBAClCxD,YAAY,CAACqI,SAAS,CAAC7E,OAAO,CAAC,CAAC;cAClC;cAEAQ,cAAK,CAACkC,GAAG,CAAClG,YAAY,EAAE,SAAS,CAAC;cAElC,IAAMsI,UAAU,GAAGtE,cAAK,CAACkC,GAAG,CAAC,CAAC;cAC9B,IAAMqC,YAAY,GAAGvE,cAAK,CAACkC,GAAG,CAAC,CAAC;cAChC,IAAMsC,YAAY,GAAGxE,cAAK,CAACkC,GAAG,CAAC,CAAC;cAChC,IAAMuC,WAAW,GAAGzE,cAAK,CAACkC,GAAG,CAAC,CAAC;cAE/BlG,YAAY,CAAC8F,EAAE,CAAC,SAAS,EAAEwC,UAAU,CAAC;cACtCtI,YAAY,CAAC8F,EAAE,CAAC,mBAAmB,EAAEyC,YAAY,CAAC;cAClDvI,YAAY,CAAC8F,EAAE,CAAC,mBAAmB,EAAE0C,YAAY,CAAC;cAClDxI,YAAY,CAAC8F,EAAE,CAAC,kBAAkB,EAAE2C,WAAW,CAAC;cAEhD,IAAM1D,OAAO,GAAG/E,YAAY,CAACmG,OAAO,CAAC,CAAC;cAEtClG,aAAa,CAAC2E,IAAI,CAAC,CAAC;cAEpB,OAAOG,OAAO,CACXqB,IAAI,CAAC,YAAM;gBACV;gBACApG,YAAY,CAACmG,OAAO,CAACuC,YAAY,CAAC,CAAC;gBAEnCzI,aAAa,CAAC8B,IAAI,CAAC,OAAO,EAAE;kBAACwE,IAAI,EAAJA,IAAI;kBAAEC,MAAM,EAANA;gBAAM,CAAC,CAAC;gBAE3C,OAAO,IAAAoB,oBAAW,EAAC,CAAC,CAAC;cACvB,CAAC,CAAC,CACDxB,IAAI,CAAC,YAAM;gBACVJ,sBAAM,CAACK,MAAM,CAACiC,UAAU,CAAC;gBACzBtC,sBAAM,CAAC2C,UAAU,CAACL,UAAU,EAAE;kBAC5B/B,IAAI,EAAJA,IAAI;kBACJC,MAAM,EAANA;gBACF,CAAC,CAAC;gBACF,QAAQ0B,MAAM;kBACZ,KAAK,OAAO;oBACVlC,sBAAM,CAACK,MAAM,CAACkC,YAAY,CAAC;oBAC3BvC,sBAAM,CAACC,SAAS,CAACuC,YAAY,CAAC;oBAC9BxC,sBAAM,CAACC,SAAS,CAACwC,WAAW,CAAC;oBAC7B;kBACF,KAAK,WAAW;oBACdzC,sBAAM,CAACC,SAAS,CAACsC,YAAY,CAAC;oBAC9BvC,sBAAM,CAACK,MAAM,CAACmC,YAAY,CAAC;oBAC3BxC,sBAAM,CAACC,SAAS,CAACwC,WAAW,CAAC;oBAC7B;kBACF,KAAK,SAAS;oBACZzC,sBAAM,CAACC,SAAS,CAACsC,YAAY,CAAC;oBAC9BvC,sBAAM,CAACC,SAAS,CAACuC,YAAY,CAAC;oBAC9BxC,sBAAM,CAACK,MAAM,CAACoC,WAAW,CAAC;oBAC1B;kBACF;oBACE,IAAAzC,sBAAM,EAAC,KAAK,EAAE,0BAA0B,CAAC;gBAC7C;gBACAA,sBAAM,CAACwB,OAAO,CAACxH,YAAY,CAACyH,SAAS,EAAE,+BAA+B,CAAC;gBACvE,IAAIS,MAAM,KAAK,WAAW,EAAE;kBAC1BlC,sBAAM,CAACK,MAAM,CAACrG,YAAY,CAACmG,OAAO,CAAC;kBACnCH,sBAAM,CAAC2C,UAAU,CAAC3I,YAAY,CAACmG,OAAO,EAAElG,aAAa,CAAC2I,GAAG,CAAC;kBAC1D5C,sBAAM,CAACsB,MAAM,CAACtH,YAAY,CAACuH,UAAU,EAAE,4BAA4B,CAAC;;kBAEpE;kBACA,OAAOvH,YAAY,CAACmG,OAAO,CAAC,CAAC;gBAC/B;gBAEAH,sBAAM,CAACC,SAAS,CAACjG,YAAY,CAACmG,OAAO,CAAC;gBACtCH,sBAAM,CAACwB,OAAO,CAACxH,YAAY,CAACuH,UAAU,EAAE,gCAAgC,CAAC;gBAEzE,OAAOO,QAAA,CAAAzI,OAAA,CAAQ0I,OAAO,CAAC,CAAC;cAC1B,CAAC,CAAC;YACN,CAAC,CAAC;UACJ,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,CAAC;MAEFjI,QAAQ,CAAC,iCAAiC,EAAE,YAAM;QAChD6F,EAAE,CAAC,iCAAiC,EAAE,YAAM;UAC1C,IAAMkD,QAAQ,GAAG7E,cAAK,CAACkC,GAAG,CAAC,CAAC;UAC5B,IAAM4C,OAAO,GAAG9E,cAAK,CAACkC,GAAG,CAAC,CAAC;UAE3BlG,YAAY,CAAC8F,EAAE,CAAC,2BAA2B,EAAE+C,QAAQ,CAAC;UACtD7I,YAAY,CAAC8F,EAAE,CAAC,0BAA0B,EAAEgD,OAAO,CAAC;UAEpD,IAAM/D,OAAO,GAAG/E,YAAY,CAACmG,OAAO,CAAC,CAAC;UAEtClG,aAAa,CAAC2E,IAAI,CAAC,CAAC;UAEpB,OAAOG,OAAO,CACXqB,IAAI,CAAC,YAAM;YACVnG,aAAa,CAAC8B,IAAI,CAAC,SAAS,EAAE;cAACvB,IAAI,EAAE,IAAAwB,UAAA,CAAA3C,OAAA,EAAeyB,wBAAwB;YAAC,CAAC,CAAC;YAE/E,OAAO,IAAA8G,oBAAW,EAAC,CAAC,CAAC;UACvB,CAAC,CAAC,CACDxB,IAAI,CAAC,YAAM;YACVJ,sBAAM,CAACS,UAAU,CAACoC,QAAQ,CAAC;YAC3B7C,sBAAM,CAACC,SAAS,CAAC6C,OAAO,CAAC;YACzB9C,sBAAM,CAAC2C,UAAU,CAACE,QAAQ,EAAE/H,wBAAwB,CAAC;UACvD,CAAC,CAAC;QACN,CAAC,CAAC;QAEF6E,EAAE,CAAC,6EAA6E,EAAE,YAAM;UACtF,IAAMkD,QAAQ,GAAG7E,cAAK,CAACkC,GAAG,CAAC,CAAC;UAC5B,IAAM4C,OAAO,GAAG9E,cAAK,CAACkC,GAAG,CAAC,CAAC;UAE3BlG,YAAY,CAAC8F,EAAE,CAAC,2BAA2B,EAAE+C,QAAQ,CAAC;UACtD7I,YAAY,CAAC8F,EAAE,CAAC,0BAA0B,EAAEgD,OAAO,CAAC;UAEpD,IAAM/D,OAAO,GAAG/E,YAAY,CAACmG,OAAO,CAAC,CAAC;UAEtClG,aAAa,CAAC2E,IAAI,CAAC,CAAC;UAEpB,OAAOG,OAAO,CACXqB,IAAI,CAAC,YAAM;YACVnG,aAAa,CAAC8B,IAAI,CAAC,SAAS,EAAE;cAACvB,IAAI,EAAE,IAAAwB,UAAA,CAAA3C,OAAA,EAAeyB,wBAAwB;YAAC,CAAC,CAAC;YAE/E,OAAO,IAAA8G,oBAAW,EAAC,CAAC,CAAC;UACvB,CAAC,CAAC,CACDxB,IAAI,CAAC,YAAM;YACVJ,sBAAM,CAACS,UAAU,CAACoC,QAAQ,CAAC;YAC3B7C,sBAAM,CAACC,SAAS,CAAC6C,OAAO,CAAC;YACzB9C,sBAAM,CAAC2C,UAAU,CAACE,QAAQ,EAAE/H,wBAAwB,CAAC;UACvD,CAAC,CAAC;QACN,CAAC,CAAC;MACJ,CAAC,CAAC;;MAEF;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;;EAEF;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,CAAC,CAAC","ignoreList":[]}
|