From c5bbe12b4723729303e1564cc5e812f9d2cfbde4 Mon Sep 17 00:00:00 2001 From: ivcosla Date: Tue, 1 Oct 2019 16:19:13 +0200 Subject: [PATCH] transport to stream Former-commit-id: 801caf6c0ba0917d5a136ce65207b524d590d8b4 --- README.md | 48 +- TESTING.md | 40 +- client.go | 12 +- client_conn.go | 30 +- client_test.go | 36 +- examples/basics/main.go | 24 +- go.sum | 1 + listener.go | 20 +- new_client_test.go | 4 +- server.go | 2 +- server_conn.go | 6 +- server_test.go | 40 +- test-output.txt | 7195 +++++++++++++++++++++++++++++++++++++++ testing.go | 6 +- transport.go | 68 +- transport_test.go | 22 +- types.go | 8 +- window.go | 8 +- window_test.go | 2 +- 19 files changed, 7384 insertions(+), 188 deletions(-) create mode 100644 test-output.txt diff --git a/README.md b/README.md index 3dd196f9b..5828d6dc2 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,9 @@ Distributed messaging system. >**TODO:** > ->- `ACK` frames should include the first 4 bytes of the rolling hash of incoming payloads, enforcing reliability of data. Transports should therefore keep track of incoming/outgoing rolling hashes. ->- Transports should also be noise-encrypted. `REQUEST` and `ACCEPT` frames should include noise handshake messages (`KK` handshake pattern), and the `FWD` and `ACK` payloads are to be encrypted. -> - Transports should implement read/write deadlines and local/remote addresses (like `net.Conn`). +>- `ACK` frames should include the first 4 bytes of the rolling hash of incoming payloads, enforcing reliability of data. Streams should therefore keep track of incoming/outgoing rolling hashes. +>- Streams should also be noise-encrypted. `REQUEST` and `ACCEPT` frames should include noise handshake messages (`KK` handshake pattern), and the `FWD` and `ACK` payloads are to be encrypted. +> - Streams should implement read/write deadlines and local/remote addresses (like `net.Conn`). > - `dmsg.Server` should check incoming frames to disallow excessive sending of `CLOSE`, `ACCEPT` and `REQUEST` frames. ## Terminology @@ -17,15 +17,15 @@ Distributed messaging system. - **frame -** The data unit of the `dmsg` system. - **frame type -** The type of `dmsg` frame. There are four frame types; `REQUEST`, `ACCEPT`, `CLOSE`, `FWD`, `ACK`. - **connection -** The direct line of duplex communication between a `dmsg.Server` and `dmsg.Client`. -- **transport -** A line of communication between two `dmsg.Client`s that is proxied via a `dmsg.Server`. -- **transport ID -** A uint16 value that identifies a transport. +- **stream -** A line of communication between two `dmsg.Client`s that is proxied via a `dmsg.Server`. +- **stream ID -** A uint16 value that identifies a stream. ## Entities The `dmsg` system is made up of three entity types: - `dmsg.Discovery` is a RESTful API that allows `dmsg.Client`s to find remote `dmg.Client`s and `dmsg.Server`s. - `dmsg.Server` proxies frames between clients. -- `dmsg.Client` establishes transports between itself and remote `dmsg.Client`s. +- `dmsg.Client` establishes streams between itself and remote `dmsg.Client`s. Entities of types `dmsg.Server` or `dmsg.Client` are represented by a `secp256k1` public key. @@ -56,12 +56,12 @@ Note that `dmsg.Client` always initiates the `dmsg` connection, and it is a give Frames are sent and received within a `dmsg` connection after the noise handshake. A frame has two sections; the header and the payload. Here are the fields of a frame: ``` -|| FrameType | TransportID | PayloadSize || Payload || +|| FrameType | StreamID | PayloadSize || Payload || || 1 byte | 2 bytes | 2 bytes || ~ bytes || ``` - The `FrameType` specifies the frame type via the one byte. -- The `TransportID` contains an encoded `uint16` which represents a identifier for a transport. A set of IDs are unique for a given `dmsg` connection. +- The `StreamID` contains an encoded `uint16` which represents a identifier for a stream. A set of IDs are unique for a given `dmsg` connection. - The `PayloadSize` contains an encoded `uint16` which represents the size (in bytes) of the payload. - The `Payload` have a size that is obtainable via `PayloadSize`. @@ -72,28 +72,28 @@ The following is a summary of the frame types: | `0x1` | `REQUEST` | initiating client's public key + responding client's public key | 66 | | `0x2` | `ACCEPT` | initiating client's public key + responding client's public key | 66 | | `0x3` | `CLOSE` | 1 byte that represents the reason for closing | 1 | -| `0xa` | `FWD` | uint16 sequence + transport payload | >2 | +| `0xa` | `FWD` | uint16 sequence + stream payload | >2 | | `0xb` | `ACK` | uint16 sequence | 2 | -## Transports +## Streams -Transports are represented by transport IDs and facilitate duplex communication between two `dmsg.Client`s which are connected to a common `dmsg.Server`. +Streams are represented by stream IDs and facilitate duplex communication between two `dmsg.Client`s which are connected to a common `dmsg.Server`. -Transport IDs are assigned in such a manner: -- A `dmsg.Client` manages the assignment of even transport IDs between itself and each connected `dmsg.Server`. The set of transport IDs will be unique between itself and each `dmsg.Server`. -- A `dmsg.Server` manages the assignment of odd transport IDs between itself and each connected `dmsg.Client`. The set of transport IDs will be unique between itself and each `dmsg.Client`. +Stream IDs are assigned in such a manner: +- A `dmsg.Client` manages the assignment of even stream IDs between itself and each connected `dmsg.Server`. The set of stream IDs will be unique between itself and each `dmsg.Server`. +- A `dmsg.Server` manages the assignment of odd stream IDs between itself and each connected `dmsg.Client`. The set of stream IDs will be unique between itself and each `dmsg.Client`. -For a given transport: -- Between the initiating client and the common server - the transport ID is always a even value. -- Between the responding client and the common server - the transport ID is always a odd value. +For a given stream: +- Between the initiating client and the common server - the stream ID is always a even value. +- Between the responding client and the common server - the stream ID is always a odd value. -Hence, a transport in it's entirety, is represented by 2 transport IDs. +Hence, a stream in it's entirety, is represented by 2 stream IDs. -### Transport Establishment +### Stream Establishment -1. The initiating client chooses an even transport ID and forms a `REQUEST` frame with the chosen transport ID, initiating client's public key (itself) and also the responding client's public key. The `REQUEST` frame is then sent to the common server. The transport ID chosen must be unused between the initiating client and the server. -2. The common server receives the `REQUEST` frame and checks the contents. If valid, and the responding client exists, the server chooses an odd transport ID, swaps this original transport ID of the `REQUEST` frame with the chosen odd transport ID, and continues to forward it to the responding client. In doing this, the server records a rule relating the initiating/responding clients and the associated odd/even transport IDs. -3. The responding client receives the `REQUEST` frame and checks the contents. If valid, the responding client sends an `ACCEPT` frame (containing the same payload as the `REQUEST`) back to the common server. The common server changes the transport ID, and forwards the `ACCEPT` to the initiating client. +1. The initiating client chooses an even stream ID and forms a `REQUEST` frame with the chosen stream ID, initiating client's public key (itself) and also the responding client's public key. The `REQUEST` frame is then sent to the common server. The stream ID chosen must be unused between the initiating client and the server. +2. The common server receives the `REQUEST` frame and checks the contents. If valid, and the responding client exists, the server chooses an odd stream ID, swaps this original stream ID of the `REQUEST` frame with the chosen odd stream ID, and continues to forward it to the responding client. In doing this, the server records a rule relating the initiating/responding clients and the associated odd/even stream IDs. +3. The responding client receives the `REQUEST` frame and checks the contents. If valid, the responding client sends an `ACCEPT` frame (containing the same payload as the `REQUEST`) back to the common server. The common server changes the stream ID, and forwards the `ACCEPT` to the initiating client. On any step, if an error occurs, any entity can send a `CLOSE` frame. @@ -101,8 +101,8 @@ On any step, if an error occurs, any entity can send a `CLOSE` frame. Each `FWD` frame is to be met with an `ACK` frame in order to be considered delivered. -- Each `FWD` payload has a 2-byte prefix (represented by a uint16 sequence). This sequence is unique per transport. -- The destination of the transport, after receiving the `FWD` frame, responds with an `ACK` frame with the same sequence as the payload. +- Each `FWD` payload has a 2-byte prefix (represented by a uint16 sequence). This sequence is unique per stream. +- The destination of the stream, after receiving the `FWD` frame, responds with an `ACK` frame with the same sequence as the payload. ## `dmsg.Discovery` diff --git a/TESTING.md b/TESTING.md index 488696339..e6eb6cd38 100644 --- a/TESTING.md +++ b/TESTING.md @@ -14,20 +14,20 @@ Note that even though `dmsg-discovery` is also considered to be an entity of `dm - Given: - clientA is connected to clientB via a server. - - There is already a single transport established between clientA and clientB. - - The single transport is being written/read to/from in a continuous loop. + - There is already a single stream established between clientA and clientB. + - The single stream is being written/read to/from in a continuous loop. - When: - - clientA dials transports to clientB until failure (in which clientB does not call `.Accept()`). + - clientA dials streams to clientB until failure (in which clientB does not call `.Accept()`). - Then: - - Read/writes to/from the existing transport should still work. + - Read/writes to/from the existing stream should still work. -**`capped_transport_buffer_should_not_result_in_hang`** +**`capped_stream_buffer_should_not_result_in_hang`** - Given: - - A transport is established between clientA and clientB. + - A stream is established between clientA and clientB. - clientA writes to clientB until clientB's buffer is capped (or in other words, clientA's write blocks). - When: - - clientB dials to clientA and begins reading/writing to/from the newly established transport. + - clientB dials to clientA and begins reading/writing to/from the newly established stream. - Then: - It should work as expected still. @@ -39,31 +39,31 @@ Note that even though `dmsg-discovery` is also considered to be an entity of `dm - The server restarts. - Then: - Both clients will automatically reconnect to the server. - - Transports can be established between clientA and clientB. + - Streams can be established between clientA and clientB. -**`server_disconnect_should_close_transports`** +**`server_disconnect_should_close_streams`** - Given: - clientA and clientB are connected to a server - clientB dials clientA - clientA accepts connection - - Transports are being created - - Some read/write operations are performed on transports + - Streams are being created + - Some read/write operations are performed on streams - Server disconnects - Then: - - Transports should be closed + - Streams should be closed -**`server_disconnect_should_close_transports_while_communication_is_going_on`** +**`server_disconnect_should_close_streams_while_communication_is_going_on`** - Given: - clientA and clientB are connected to a server - clientB dials clientA - clientA accepts connection - - Transports are being created + - Streams are being created - Read/write operations are being performed - Server disconnects - Then: - - Transports should be closed + - Streams should be closed **`self_dial_should_work`** @@ -71,8 +71,8 @@ Note that even though `dmsg-discovery` is also considered to be an entity of `dm - clientA is connected to a server - clientA dials himself - Then: - - clientA accept connections, transports are being created successfully - - clientA is able to write/read to/from transports without errors + - clientA accept connections, streams are being created successfully + - clientA is able to write/read to/from streams without errors ### Fuzz testing @@ -85,10 +85,10 @@ Possible events: 2. Stop random server. 3. Start random client. 1. With or without `Accept()` handling. - 2. With or without `transport.Read()` handling. + 2. With or without `stream.Read()` handling. 4. Stop random client. 5. Random client dials to another random client. -6. Random write (in len/count) from random established transport. +6. Random write (in len/count) from random established stream. Notes: 1. We have a set number of possible servers and we are to start all these servers prior to running the test. This way the discovery has entries of the servers which the clients can access when starting. @@ -96,7 +96,7 @@ Notes: and run the check every x "events". -For this test we must have a set up system consisting of X number of servers, Y number of clients, Z number of transports and a single discovery. +For this test we must have a set up system consisting of X number of servers, Y number of clients, Z number of streams and a single discovery. Also we need some kind of control panel from which we will run events. Events maybe picked as following: - each event has it's own probability - first, we pick a random number of events to be executed diff --git a/client.go b/client.go index 66bfdc7cc..995f97eab 100644 --- a/client.go +++ b/client.go @@ -44,7 +44,7 @@ func SetLogger(log *logging.Logger) ClientOption { } } -// Client implements transport.Factory +// Client implements stream.Factory type Client struct { log *logging.Logger @@ -205,7 +205,7 @@ func (c *Client) findOrConnectToServer(ctx context.Context, srvPK cipher.PubKey) if err != nil { return nil, err } - nc, err := noise.WrapConn(tcpConn, ns, TransportHandshakeTimeout) + nc, err := noise.WrapConn(tcpConn, ns, StreamHandshakeTimeout) if err != nil { return nil, err } @@ -248,8 +248,8 @@ func (c *Client) Listen(port uint16) (*Listener, error) { return l, nil } -// Dial dials a transport to remote dms_client. -func (c *Client) Dial(ctx context.Context, remote cipher.PubKey, port uint16) (*Transport, error) { +// Dial dials a stream to remote dms_client. +func (c *Client) Dial(ctx context.Context, remote cipher.PubKey, port uint16) (*Stream, error) { entry, err := c.dc.Entry(ctx, remote) if err != nil { return nil, fmt.Errorf("get entry failure: %s", err) @@ -266,7 +266,7 @@ func (c *Client) Dial(ctx context.Context, remote cipher.PubKey, port uint16) (* c.log.WithError(err).Warn("failed to connect to server") continue } - return conn.DialTransport(ctx, remote, port) + return conn.DialStream(ctx, remote, port) } return nil, errors.New("failed to find dms_servers for given client pk") } @@ -278,7 +278,7 @@ func (c *Client) Addr() net.Addr { } } -// Type returns the transport type. +// Type returns the stream type. func (c *Client) Type() string { return Type } diff --git a/client_conn.go b/client_conn.go index b8d2f24b1..57a3a75cc 100644 --- a/client_conn.go +++ b/client_conn.go @@ -25,8 +25,8 @@ type ClientConn struct { // locally-initiated tps use an even tp_id between local and intermediary dms_server. nextInitID uint16 - // Transports: map of transports to remote dms_clients (key: tp_id, val: transport). - tps map[uint16]*Transport + // Streams: map of streams to remote dms_clients (key: tp_id, val: stream). + tps map[uint16]*Stream mx sync.RWMutex // to protect tps pm *PortManager @@ -44,7 +44,7 @@ func NewClientConn(log *logging.Logger, pm *PortManager, conn net.Conn, lPK, rPK lPK: lPK, srvPK: rPK, nextInitID: randID(true), - tps: make(map[uint16]*Transport), + tps: make(map[uint16]*Stream), pm: pm, done: make(chan struct{}), } @@ -75,7 +75,7 @@ func (c *ClientConn) getNextInitID(ctx context.Context) (uint16, error) { } } -func (c *ClientConn) addTp(ctx context.Context, rPK cipher.PubKey, lPort, rPort uint16, closeCB func()) (*Transport, error) { +func (c *ClientConn) addTp(ctx context.Context, rPK cipher.PubKey, lPort, rPort uint16, closeCB func()) (*Stream, error) { c.mx.Lock() defer c.mx.Unlock() @@ -83,7 +83,7 @@ func (c *ClientConn) addTp(ctx context.Context, rPK cipher.PubKey, lPort, rPort if err != nil { return nil, err } - tp := NewTransport(c.Conn, c.log, Addr{c.lPK, lPort}, Addr{rPK, rPort}, id, maxFwdPayLen, func() { + tp := NewStream(c.Conn, c.log, Addr{c.lPK, lPort}, Addr{rPK, rPort}, id, maxFwdPayLen, func() { c.delTp(id) closeCB() }) @@ -91,7 +91,7 @@ func (c *ClientConn) addTp(ctx context.Context, rPK cipher.PubKey, lPort, rPort return tp, nil } -func (c *ClientConn) setTp(tp *Transport) { +func (c *ClientConn) setTp(tp *Stream) { c.mx.Lock() c.tps[tp.id] = tp c.mx.Unlock() @@ -103,7 +103,7 @@ func (c *ClientConn) delTp(id uint16) { c.mx.Unlock() } -func (c *ClientConn) getTp(id uint16) (*Transport, bool) { +func (c *ClientConn) getTp(id uint16) (*Stream, bool) { c.mx.RLock() tp := c.tps[id] c.mx.RUnlock() @@ -143,7 +143,7 @@ func (c *ClientConn) handleRequestFrame(log *logrus.Entry, id uint16, p []byte) // TODO(evanlinjin): derive close reason from error. closeTp := func(origErr error) (cipher.PubKey, error) { if err := writeCloseFrame(c.Conn, id, PlaceholderReason); err != nil { - log.WithError(err).Warn("handleRequestFrame: failed to close transport: ending conn to server.") + log.WithError(err).Warn("handleRequestFrame: failed to close stream: ending conn to server.") log.WithError(c.Close()).Warn("handleRequestFrame: closing connection to server.") return initPK, origErr } @@ -171,13 +171,13 @@ func (c *ClientConn) handleRequestFrame(log *logrus.Entry, id uint16, p []byte) return closeTp(ErrClientClosed) // TODO(nkryuchkov): reason = client is closed. } - tp := NewTransport(c.Conn, c.log, pay.RespAddr, pay.InitAddr, id, maxFwdPayLen, func() { c.delTp(id) }) + tp := NewStream(c.Conn, c.log, pay.RespAddr, pay.InitAddr, id, maxFwdPayLen, func() { c.delTp(id) }) if err := tp.WriteAccept(int(pay.Window)); err != nil { return initPK, err } go tp.Serve() - if err := lis.IntroduceTransport(tp); err != nil { + if err := lis.IntroduceStream(tp); err != nil { return initPK, err } c.setTp(tp) @@ -206,7 +206,7 @@ func (c *ClientConn) Serve(ctx context.Context) (err error) { // Delete tp on any failure. if tp, ok := c.getTp(df.TpID); ok { if err := tp.HandleFrame(f); err != nil { - log.WithError(err).Warnf("Rejected [%s]: Transport closed.", df.Type) + log.WithError(err).Warnf("Rejected [%s]: Stream closed.", df.Type) } continue } @@ -227,7 +227,7 @@ func (c *ClientConn) Serve(ctx context.Context) (err error) { }(log) default: - log.Debugf("Ignored [%s]: No transport of given ID.", df.Type) + log.Debugf("Ignored [%s]: No stream of given ID.", df.Type) if df.Type != CloseType { if err := writeCloseFrame(c.Conn, df.TpID, PlaceholderReason); err != nil { return err @@ -237,8 +237,8 @@ func (c *ClientConn) Serve(ctx context.Context) (err error) { } } -// DialTransport dials a transport to remote dms_client. -func (c *ClientConn) DialTransport(ctx context.Context, rPK cipher.PubKey, rPort uint16) (*Transport, error) { +// DialStream dials a stream to remote dms_client. +func (c *ClientConn) DialStream(ctx context.Context, rPK cipher.PubKey, rPort uint16) (*Stream, error) { lPort, closeCB, err := c.pm.ReserveEphemeral(ctx) if err != nil { return nil, err @@ -270,7 +270,7 @@ func (c *ClientConn) close() (closed bool) { tp := tp go func() { if err := tp.Close(); err != nil { - log.WithError(err).Warn("Failed to close transport") + log.WithError(err).Warn("Failed to close stream") } }() } diff --git a/client_test.go b/client_test.go index 3dbb7bfba..7a71bf457 100644 --- a/client_test.go +++ b/client_test.go @@ -16,8 +16,8 @@ import ( "github.com/SkycoinProject/dmsg/cipher" ) -type transportWithError struct { - tr *Transport +type streamWithError struct { + tr *Stream err error } @@ -100,7 +100,7 @@ func clientConnWithTps(n int) (*ClientConn, []uint16) { for i := 0; i < n; i++ { id := uint16(rand.Intn(math.MaxUint16)) ids = append(ids, id) - tp := NewTransport(p1, log, Addr{}, Addr{}, id, maxFwdPayLen, func() { cc.delTp(id) }) + tp := NewStream(p1, log, Addr{}, Addr{}, id, maxFwdPayLen, func() { cc.delTp(id) }) cc.setTp(tp) } @@ -120,7 +120,7 @@ func BenchmarkClientConn_setTp(b *testing.B) { b.ResetTimer() for i := 0; i < b.N; i++ { id := uint16(rand.Intn(math.MaxUint16)) - tp := NewTransport(p1, log, Addr{}, Addr{}, id, maxFwdPayLen, func() { cc.delTp(id) }) + tp := NewStream(p1, log, Addr{}, Addr{}, id, maxFwdPayLen, func() { cc.delTp(id) }) cc.setTp(tp) } } @@ -128,8 +128,8 @@ func BenchmarkClientConn_setTp(b *testing.B) { func TestClient(t *testing.T) { logger := logging.MustGetLogger("dmsg_client") - // Runs two ClientConn's and dials a transport from one to another. - // Checks if states change properly and if closing of transport and connections works. + // Runs two ClientConn's and dials a stream from one to another. + // Checks if states change properly and if closing of stream and connections works. t.Run("Two connections", func(t *testing.T) { p1, p2 := net.Pipe() p1, p2 = invertedIDConn{p1}, invertedIDConn{p2} @@ -175,7 +175,7 @@ func TestClient(t *testing.T) { fmt.Println("dialing...") - tr1, err := conn1.DialTransport(ctx, pk2, port) + tr1, err := conn1.DialStream(ctx, pk2, port) require.NoError(t, err) fmt.Println("Dialed") @@ -196,8 +196,8 @@ func TestClient(t *testing.T) { assert.True(t, tr1.IsClosed()) }) - // Runs four ClientConn's and dials two transports between them. - // Checks if states change properly and if closing of transports and connections works. + // Runs four ClientConn's and dials two streams between them. + // Checks if states change properly and if closing of streams and connections works. t.Run("Four connections", func(t *testing.T) { pipe1, pipe2 := net.Pipe() pipe1, pipe2 = invertedIDConn{pipe1}, invertedIDConn{pipe2} @@ -268,20 +268,20 @@ func TestClient(t *testing.T) { _, ok = conn4.getTp(initID4) assert.False(t, ok) - trCh1 := make(chan transportWithError) - trCh2 := make(chan transportWithError) + trCh1 := make(chan streamWithError) + trCh2 := make(chan streamWithError) go func() { - tr, err := conn1.DialTransport(ctx, pk2, port) - trCh1 <- transportWithError{ + tr, err := conn1.DialStream(ctx, pk2, port) + trCh1 <- streamWithError{ tr: tr, err: err, } }() go func() { - tr, err := conn3.DialTransport(ctx, pk3, port) - trCh2 <- transportWithError{ + tr, err := conn3.DialStream(ctx, pk3, port) + trCh2 <- streamWithError{ tr: tr, err: err, } @@ -311,7 +311,7 @@ func TestClient(t *testing.T) { assert.Equal(t, initID3+2, newInitID3) assert.NoError(t, closeClosers(tr1, tr2, conn1, conn2, conn3, conn4, pm1, pm2, pm3)) - checkTransportsClosed(t, tr1, tr2) + checkStreamsClosed(t, tr1, tr2) checkClientConnsClosed(t, conn1, conn3) assert.Error(t, errWithTimeout(serveErrCh1)) @@ -320,7 +320,7 @@ func TestClient(t *testing.T) { assert.Error(t, errWithTimeout(serveErrCh4)) }) - // After a transport is established, attempt and single write and close. + // After a stream is established, attempt and single write and close. // The reading edge should read the message correctly. t.Run("close_tp_after_single_write", func(t *testing.T) { p1, p2 := net.Pipe() @@ -355,7 +355,7 @@ func TestClient(t *testing.T) { }() defer func() { require.NoError(t, conn2.Close()) }() - tp1, err := conn1.DialTransport(context.TODO(), pk2, port) + tp1, err := conn1.DialStream(context.TODO(), pk2, port) require.NoError(t, err) defer func() { require.NoError(t, tp1.Close()) }() diff --git a/examples/basics/main.go b/examples/basics/main.go index 46ad37dfb..c63b56bad 100644 --- a/examples/basics/main.go +++ b/examples/basics/main.go @@ -62,37 +62,37 @@ func main() { log.Fatalf("Error dialing responder: %v", err) } - // Accept connection. `AcceptTransport` returns an object exposing `transport` features + // Accept connection. `AcceptStream` returns an object exposing `stream` features // thus, `Accept` could also be used here returning `net.Conn` interface. depends on your needs - respTp, err := respL.AcceptTransport() + respTp, err := respL.AcceptStream() if err != nil { log.Fatalf("Error accepting inititator: %v", err) } - // initiator writes to it's transport + // initiator writes to it's stream payload := "Hello there!" _, err = initTp.Write([]byte(payload)) if err != nil { - log.Fatalf("Error writing to initiator's transport: %v", err) + log.Fatalf("Error writing to initiator's stream: %v", err) } - // responder reads from it's transport + // responder reads from it's stream recvBuf := make([]byte, len(payload)) _, err = respTp.Read(recvBuf) if err != nil { - log.Fatalf("Error reading from responder's transport: %v", err) + log.Fatalf("Error reading from responder's stream: %v", err) } log.Printf("Responder accepted: %s", string(recvBuf)) - // responder writes to it's transport + // responder writes to it's stream payload = "General Kenobi" _, err = respTp.Write([]byte(payload)) if err != nil { log.Fatalf("Error writing response: %v", err) } - // initiator reads from it's transport + // initiator reads from it's stream initRecvBuf := make([]byte, len(payload)) _, err = initTp.Read(initRecvBuf) if err != nil { @@ -101,14 +101,14 @@ func main() { log.Printf("Initiator accepted: %s", string(initRecvBuf)) - // close transport + // close stream if err := initTp.Close(); err != nil { - log.Fatalf("Error closing initiator's transport: %v", err) + log.Fatalf("Error closing initiator's stream: %v", err) } - // close transport + // close stream if err := respTp.Close(); err != nil { - log.Fatalf("Error closing responder's transport: %v", err) + log.Fatalf("Error closing responder's stream: %v", err) } // close listener diff --git a/go.sum b/go.sum index ec781e1d2..d49e6e193 100644 --- a/go.sum +++ b/go.sum @@ -7,6 +7,7 @@ github.com/flynn/noise v0.0.0-20180327030543-2492fe189ae6 h1:u/UEqS66A5ckRmS4yNp github.com/flynn/noise v0.0.0-20180327030543-2492fe189ae6/go.mod h1:1i71OnUq3iUe1ma7Lr6yG6/rjvM3emb6yoL7xLFzcVQ= github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= diff --git a/listener.go b/listener.go index 594b5028d..c8262bc50 100644 --- a/listener.go +++ b/listener.go @@ -6,11 +6,11 @@ import ( "sync" ) -// Listener listens for remote-initiated transports. +// Listener listens for remote-initiated streams. type Listener struct { addr Addr // local listening address - accept chan *Transport + accept chan *Stream mx sync.Mutex // protects 'accept' doneFunc func() // callback when done @@ -21,7 +21,7 @@ type Listener struct { func newListener(addr Addr) *Listener { return &Listener{ addr: addr, - accept: make(chan *Transport, AcceptBufferSize), + accept: make(chan *Stream, AcceptBufferSize), done: make(chan struct{}), } } @@ -30,10 +30,10 @@ func newListener(addr Addr) *Listener { // This should be called right after the listener is created and is not thread safe. func (l *Listener) AddCloseCallback(cb func()) { l.doneFunc = cb } -// IntroduceTransport handles a transport after receiving a REQUEST frame. -func (l *Listener) IntroduceTransport(tp *Transport) error { +// IntroduceStream handles a stream after receiving a REQUEST frame. +func (l *Listener) IntroduceStream(tp *Stream) error { if tp.LocalAddr() != l.addr { - return fmt.Errorf("failed to accept transport as local addresses does not match: we expected %s but got %s", + return fmt.Errorf("failed to accept stream as local addresses does not match: we expected %s but got %s", l.addr, tp.LocalAddr()) } @@ -59,11 +59,11 @@ func (l *Listener) IntroduceTransport(tp *Transport) error { // Accept accepts a connection. func (l *Listener) Accept() (net.Conn, error) { - return l.AcceptTransport() + return l.AcceptStream() } -// AcceptTransport accepts a transport connection. -func (l *Listener) AcceptTransport() (*Transport, error) { +// AcceptStream accepts a stream connection. +func (l *Listener) AcceptStream() (*Stream, error) { select { case <-l.done: return nil, ErrClientClosed @@ -116,5 +116,5 @@ func (l *Listener) isClosed() bool { // Addr returns the listener's address. func (l *Listener) Addr() net.Addr { return l.addr } -// Type returns the transport type. +// Type returns the stream type. func (l *Listener) Type() string { return Type } diff --git a/new_client_test.go b/new_client_test.go index 696f81cfe..3b2df0084 100644 --- a/new_client_test.go +++ b/new_client_test.go @@ -17,8 +17,8 @@ import ( // TODO: update comments mentioning a & b // Given two client instances (a & b) and a server instance (s), -// Client b should be able to dial a transport with client b -// Data should be sent and delivered successfully via the transport. +// Client b should be able to dial a stream with client b +// Data should be sent and delivered successfully via the stream. // TODO: fix this. func TestNewClient(t *testing.T) { srvPK, srvSK := cipher.GenerateKeyPair() diff --git a/server.go b/server.go index 1039d549a..b339c94da 100644 --- a/server.go +++ b/server.go @@ -135,7 +135,7 @@ func (s *Server) Serve() error { ctx, cancel := context.WithCancel(context.Background()) defer cancel() - if err := s.retryUpdateEntry(ctx, TransportHandshakeTimeout); err != nil { + if err := s.retryUpdateEntry(ctx, StreamHandshakeTimeout); err != nil { return fmt.Errorf("updating server's client entry failed with: %s", err) } diff --git a/server_conn.go b/server_conn.go index d33a71a66..a8a917c8a 100644 --- a/server_conn.go +++ b/server_conn.go @@ -120,8 +120,8 @@ func (c *ServerConn) Serve(ctx context.Context, getConn getConnFunc) (err error) }() defer func() { - // Send CLOSE frames to all transports which are established with this dmsg.Client - // This ensures that all parties are informed about the transport closing. + // Send CLOSE frames to all streams which are established with this dmsg.Client + // This ensures that all parties are informed about the stream closing. c.mx.Lock() for _, conn := range c.nextConns { why := byte(0) @@ -153,7 +153,7 @@ func (c *ServerConn) Serve(ctx context.Context, getConn getConnFunc) (err error) switch df.Type { case RequestType: - ctx, cancel := context.WithTimeout(ctx, TransportHandshakeTimeout) + ctx, cancel := context.WithTimeout(ctx, StreamHandshakeTimeout) _, why, ok := c.handleRequest(ctx, getConn, df.TpID, df.Pay) cancel() if !ok { diff --git a/server_test.go b/server_test.go index b7f8e5bd8..f46f5d8f1 100644 --- a/server_test.go +++ b/server_test.go @@ -202,14 +202,14 @@ func TestNewServer(t *testing.T) { } // TestServer_Serve ensures that Server processes request frames and -// instantiates transports properly. +// instantiates streams properly. func TestServer_Serve(t *testing.T) { - t.Run("Transport establishes", func(t *testing.T) { - testServerTransportEstablishment(t) + t.Run("Stream establishes", func(t *testing.T) { + testServerStreamEstablishment(t) }) - t.Run("Transport establishes concurrently", func(t *testing.T) { - testServerConcurrentTransportEstablishment(t) + t.Run("Stream establishes concurrently", func(t *testing.T) { + testServerConcurrentStreamEstablishment(t) }) t.Run("Failed accepts do not result in hang", func(t *testing.T) { @@ -220,15 +220,15 @@ func TestServer_Serve(t *testing.T) { testServerMessageConsistency(t) }) - t.Run("Capped transport buffer does not result in hang", func(t *testing.T) { - testServerCappedTransport(t) + t.Run("Capped stream buffer does not result in hang", func(t *testing.T) { + testServerCappedStream(t) }) t.Run("Self dialing works", func(t *testing.T) { testServerSelfDialing(t) }) - t.Run("Server disconnection closes transports", func(t *testing.T) { + t.Run("Server disconnection closes streams", func(t *testing.T) { testServerDisconnection(t) }) @@ -255,15 +255,15 @@ func testServerDisconnection(t *testing.T) { responder := createClient(t, dc, responderName) initiator := createClient(t, dc, initiatorName) initConn, respConns := dial(t, initiator, responder, port, noDelay) - testTransportMessaging(t, initConn, respConns) + testStreamMessaging(t, initConn, respConns) require.NoError(t, srv.Close()) require.NoError(t, errWithTimeout(srvErrCh)) time.Sleep(smallDelay) - require.True(t, initConn.(*Transport).IsClosed()) - require.True(t, respConns.(*Transport).IsClosed()) + require.True(t, initConn.(*Stream).IsClosed()) + require.True(t, respConns.(*Stream).IsClosed()) } func testServerSelfDialing(t *testing.T) { @@ -276,14 +276,14 @@ func testServerSelfDialing(t *testing.T) { client := createClient(t, dc, "client") selfWrTp, selfRdTp := dial(t, client, client, port, noDelay) // try to write/read message to/from self - testTransportMessaging(t, selfWrTp, selfRdTp) + testStreamMessaging(t, selfWrTp, selfRdTp) require.NoError(t, closeClosers(selfRdTp, selfWrTp, client)) assert.NoError(t, srv.Close()) assert.NoError(t, errWithTimeout(srvErrCh)) } -func testTransportMessaging(t *testing.T, init, resp io.ReadWriter) { +func testStreamMessaging(t *testing.T, init, resp io.ReadWriter) { for i := 0; i < msgCount; i++ { _, err := init.Write([]byte(message)) require.NoError(t, err) // TODO: Sometimes this returns error: "io: read/write on closed pipe" @@ -296,7 +296,7 @@ func testTransportMessaging(t *testing.T, init, resp io.ReadWriter) { } } -func testServerCappedTransport(t *testing.T) { +func testServerCappedStream(t *testing.T) { // TODO(evanlinjin): I've disabled this as it was causing writes to closed connections. //t.Parallel() @@ -325,7 +325,7 @@ func testServerCappedTransport(t *testing.T) { }() // wait till it's definitely blocked initiatorWrConn, responderRdConn := dial(t, initiator, responder, port, smallDelay) - // try to write/read message via the new transports + // try to write/read message via the new streams for i := 0; i < msgCount; i++ { _, err := initiatorWrConn.Write(msg) require.NoError(t, err) @@ -419,9 +419,9 @@ func testServerFailedAccepts(t *testing.T) { assert.NoError(t, errWithTimeout(srvErrCh)) } -// connect two clients, establish transport, check if there are +// connect two clients, establish stream, check if there are // two ServerConn's and that both conn's `nextConn` is filled correctly -func testServerTransportEstablishment(t *testing.T) { +func testServerStreamEstablishment(t *testing.T) { t.Parallel() dc := disc.NewMock() @@ -468,7 +468,7 @@ func testServerTransportEstablishment(t *testing.T) { assert.NoError(t, errWithTimeout(srvErrCh)) } -func testServerConcurrentTransportEstablishment(t *testing.T) { +func testServerConcurrentStreamEstablishment(t *testing.T) { t.Parallel() dc := disc.NewMock() @@ -479,7 +479,7 @@ func testServerConcurrentTransportEstablishment(t *testing.T) { initiatorsCount := 50 respondersCount := 50 rand := rand.New(rand.NewSource(time.Now().UnixNano())) - // store the number of transports each responder should handle + // store the number of streams each responder should handle listenersConnsCount := make(map[int]int) // mapping initiators to responders; one initiator performs a single connection, // while responders may handle from 0 to `initiatorsCount` connections @@ -749,7 +749,7 @@ func testServerReconnection(t *testing.T, randomAddr bool) { assert.NoError(t, srv.Close()) assert.NoError(t, errWithTimeout(srvErrCh)) - checkTransportsClosed(t, initConn, respConn) + checkStreamsClosed(t, initConn, respConn) checkConnCount(t, smallDelay, 0, srv) addr := "" diff --git a/test-output.txt b/test-output.txt new file mode 100644 index 000000000..9a5d7df87 --- /dev/null +++ b/test-output.txt @@ -0,0 +1,7195 @@ +go clean -testcache &>/dev/null +GO111MODULE=on go test -race -tags no_ci -cover -timeout=5m ./... +Created zstuf +dialing... +Dialed +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Enqueue() remaining: 65511 +LocalWindow.Enqueue() remaining: 65499 +LocalWindow.Enqueue() remaining: 65487 +LocalWindow.Enqueue() remaining: 65475 +LocalWindow.Enqueue() remaining: 65463 +LocalWindow.Enqueue() remaining: 65451 +LocalWindow.Enqueue() remaining: 65439 +LocalWindow.Enqueue() remaining: 65427 +LocalWindow.Enqueue() remaining: 65415 +LocalWindow.Enqueue() remaining: 65403 +LocalWindow.Enqueue() remaining: 65391 +LocalWindow.Enqueue() remaining: 65379 +LocalWindow.Enqueue() remaining: 65367 +LocalWindow.Enqueue() remaining: 65355 +LocalWindow.Enqueue() remaining: 65343 +LocalWindow.Enqueue() remaining: 65331 +LocalWindow.Enqueue() remaining: 65319 +LocalWindow.Enqueue() remaining: 65307 +LocalWindow.Enqueue() remaining: 65295 +LocalWindow.Enqueue() remaining: 65283 +LocalWindow.Enqueue() remaining: 65271 +LocalWindow.Enqueue() remaining: 65259 +LocalWindow.Enqueue() remaining: 65247 +LocalWindow.Enqueue() remaining: 65235 +LocalWindow.Enqueue() remaining: 65223 +LocalWindow.Enqueue() remaining: 65211 +LocalWindow.Enqueue() remaining: 65199 +LocalWindow.Enqueue() remaining: 65187 +LocalWindow.Enqueue() remaining: 65175 +LocalWindow.Enqueue() remaining: 65163 +LocalWindow.Enqueue() remaining: 65151 +LocalWindow.Enqueue() remaining: 65139 +LocalWindow.Enqueue() remaining: 65127 +LocalWindow.Enqueue() remaining: 65115 +LocalWindow.Enqueue() remaining: 65103 +LocalWindow.Enqueue() remaining: 65091 +LocalWindow.Enqueue() remaining: 65079 +LocalWindow.Enqueue() remaining: 65067 +LocalWindow.Enqueue() remaining: 65055 +LocalWindow.Enqueue() remaining: 65043 +LocalWindow.Enqueue() remaining: 65031 +LocalWindow.Enqueue() remaining: 65019 +LocalWindow.Enqueue() remaining: 65007 +LocalWindow.Enqueue() remaining: 64995 +LocalWindow.Enqueue() remaining: 64983 +LocalWindow.Enqueue() remaining: 64971 +LocalWindow.Enqueue() remaining: 64959 +LocalWindow.Enqueue() remaining: 64947 +LocalWindow.Enqueue() remaining: 64935 +LocalWindow.Enqueue() remaining: 64923 +LocalWindow.Enqueue() remaining: 64911 +LocalWindow.Enqueue() remaining: 64899 +LocalWindow.Enqueue() remaining: 64887 +LocalWindow.Enqueue() remaining: 64875 +LocalWindow.Enqueue() remaining: 64863 +LocalWindow.Enqueue() remaining: 64851 +LocalWindow.Enqueue() remaining: 64839 +LocalWindow.Enqueue() remaining: 64827 +LocalWindow.Enqueue() remaining: 64815 +LocalWindow.Enqueue() remaining: 64803 +LocalWindow.Enqueue() remaining: 64791 +LocalWindow.Enqueue() remaining: 64779 +LocalWindow.Enqueue() remaining: 64767 +LocalWindow.Enqueue() remaining: 64755 +LocalWindow.Enqueue() remaining: 64743 +LocalWindow.Enqueue() remaining: 64731 +LocalWindow.Enqueue() remaining: 64719 +LocalWindow.Enqueue() remaining: 64707 +LocalWindow.Enqueue() remaining: 64695 +LocalWindow.Enqueue() remaining: 64683 +LocalWindow.Enqueue() remaining: 64671 +LocalWindow.Enqueue() remaining: 64659 +LocalWindow.Enqueue() remaining: 64647 +LocalWindow.Enqueue() remaining: 64635 +LocalWindow.Enqueue() remaining: 64623 +LocalWindow.Enqueue() remaining: 64611 +LocalWindow.Enqueue() remaining: 64599 +LocalWindow.Enqueue() remaining: 64587 +LocalWindow.Enqueue() remaining: 64575 +LocalWindow.Enqueue() remaining: 64563 +LocalWindow.Enqueue() remaining: 64551 +LocalWindow.Enqueue() remaining: 64539 +LocalWindow.Enqueue() remaining: 64527 +LocalWindow.Enqueue() remaining: 64515 +LocalWindow.Enqueue() remaining: 64503 +LocalWindow.Enqueue() remaining: 64491 +LocalWindow.Enqueue() remaining: 64479 +LocalWindow.Enqueue() remaining: 64467 +LocalWindow.Enqueue() remaining: 64455 +LocalWindow.Enqueue() remaining: 64443 +LocalWindow.Enqueue() remaining: 64431 +LocalWindow.Enqueue() remaining: 64419 +LocalWindow.Enqueue() remaining: 64407 +LocalWindow.Enqueue() remaining: 64395 +LocalWindow.Enqueue() remaining: 64383 +LocalWindow.Enqueue() remaining: 64371 +LocalWindow.Enqueue() remaining: 64359 +LocalWindow.Enqueue() remaining: 64347 +LocalWindow.Enqueue() remaining: 64335 +LocalWindow.Enqueue() remaining: 64323 +LocalWindow.Enqueue() remaining: 64311 +LocalWindow.Enqueue() remaining: 64299 +LocalWindow.Enqueue() remaining: 64287 +LocalWindow.Enqueue() remaining: 64275 +LocalWindow.Enqueue() remaining: 64263 +LocalWindow.Enqueue() remaining: 64251 +LocalWindow.Enqueue() remaining: 64239 +LocalWindow.Enqueue() remaining: 64227 +LocalWindow.Enqueue() remaining: 64215 +LocalWindow.Enqueue() remaining: 64203 +LocalWindow.Enqueue() remaining: 64191 +LocalWindow.Enqueue() remaining: 64179 +LocalWindow.Enqueue() remaining: 64167 +LocalWindow.Enqueue() remaining: 64155 +LocalWindow.Enqueue() remaining: 64143 +LocalWindow.Enqueue() remaining: 64131 +LocalWindow.Enqueue() remaining: 64119 +LocalWindow.Enqueue() remaining: 64107 +LocalWindow.Enqueue() remaining: 64095 +LocalWindow.Enqueue() remaining: 64083 +LocalWindow.Enqueue() remaining: 64071 +LocalWindow.Enqueue() remaining: 64059 +LocalWindow.Enqueue() remaining: 64047 +LocalWindow.Enqueue() remaining: 64035 +LocalWindow.Enqueue() remaining: 64023 +LocalWindow.Enqueue() remaining: 64011 +LocalWindow.Enqueue() remaining: 63999 +LocalWindow.Enqueue() remaining: 63987 +LocalWindow.Enqueue() remaining: 63975 +LocalWindow.Enqueue() remaining: 63963 +LocalWindow.Enqueue() remaining: 63951 +LocalWindow.Enqueue() remaining: 63939 +LocalWindow.Enqueue() remaining: 63927 +LocalWindow.Enqueue() remaining: 63915 +LocalWindow.Enqueue() remaining: 63903 +LocalWindow.Enqueue() remaining: 63891 +LocalWindow.Enqueue() remaining: 63879 +LocalWindow.Enqueue() remaining: 63867 +LocalWindow.Enqueue() remaining: 63855 +LocalWindow.Enqueue() remaining: 63843 +LocalWindow.Enqueue() remaining: 63831 +LocalWindow.Enqueue() remaining: 63819 +LocalWindow.Enqueue() remaining: 63807 +LocalWindow.Enqueue() remaining: 63795 +LocalWindow.Enqueue() remaining: 63783 +LocalWindow.Enqueue() remaining: 63771 +LocalWindow.Enqueue() remaining: 63759 +LocalWindow.Enqueue() remaining: 63747 +LocalWindow.Enqueue() remaining: 63735 +LocalWindow.Enqueue() remaining: 63723 +LocalWindow.Enqueue() remaining: 63711 +LocalWindow.Enqueue() remaining: 63699 +LocalWindow.Enqueue() remaining: 63687 +LocalWindow.Enqueue() remaining: 63675 +LocalWindow.Enqueue() remaining: 63663 +LocalWindow.Enqueue() remaining: 63651 +LocalWindow.Enqueue() remaining: 63639 +LocalWindow.Enqueue() remaining: 63627 +LocalWindow.Enqueue() remaining: 63615 +LocalWindow.Enqueue() remaining: 63603 +LocalWindow.Enqueue() remaining: 63591 +LocalWindow.Enqueue() remaining: 63579 +LocalWindow.Enqueue() remaining: 63567 +LocalWindow.Enqueue() remaining: 63555 +LocalWindow.Enqueue() remaining: 63543 +LocalWindow.Enqueue() remaining: 63531 +LocalWindow.Enqueue() remaining: 63519 +LocalWindow.Enqueue() remaining: 63507 +LocalWindow.Enqueue() remaining: 63495 +LocalWindow.Enqueue() remaining: 63483 +LocalWindow.Enqueue() remaining: 63471 +LocalWindow.Enqueue() remaining: 63459 +LocalWindow.Enqueue() remaining: 63447 +LocalWindow.Enqueue() remaining: 63435 +LocalWindow.Enqueue() remaining: 63423 +LocalWindow.Enqueue() remaining: 63411 +LocalWindow.Enqueue() remaining: 63399 +LocalWindow.Enqueue() remaining: 63387 +LocalWindow.Enqueue() remaining: 63375 +LocalWindow.Enqueue() remaining: 63363 +LocalWindow.Enqueue() remaining: 63351 +LocalWindow.Enqueue() remaining: 63339 +LocalWindow.Enqueue() remaining: 63327 +LocalWindow.Enqueue() remaining: 63315 +LocalWindow.Enqueue() remaining: 63303 +LocalWindow.Enqueue() remaining: 63291 +LocalWindow.Enqueue() remaining: 63279 +LocalWindow.Enqueue() remaining: 63267 +LocalWindow.Enqueue() remaining: 63255 +LocalWindow.Enqueue() remaining: 63243 +LocalWindow.Enqueue() remaining: 63231 +LocalWindow.Enqueue() remaining: 63219 +LocalWindow.Enqueue() remaining: 63207 +LocalWindow.Enqueue() remaining: 63195 +LocalWindow.Enqueue() remaining: 63183 +LocalWindow.Enqueue() remaining: 63171 +LocalWindow.Enqueue() remaining: 63159 +LocalWindow.Enqueue() remaining: 63147 +LocalWindow.Enqueue() remaining: 63135 +LocalWindow.Enqueue() remaining: 63123 +LocalWindow.Enqueue() remaining: 63111 +LocalWindow.Enqueue() remaining: 63099 +LocalWindow.Enqueue() remaining: 63087 +LocalWindow.Enqueue() remaining: 63075 +LocalWindow.Enqueue() remaining: 63063 +LocalWindow.Enqueue() remaining: 63051 +LocalWindow.Enqueue() remaining: 63039 +LocalWindow.Enqueue() remaining: 63027 +LocalWindow.Enqueue() remaining: 63015 +LocalWindow.Enqueue() remaining: 63003 +LocalWindow.Enqueue() remaining: 62991 +LocalWindow.Enqueue() remaining: 62979 +LocalWindow.Enqueue() remaining: 62967 +LocalWindow.Enqueue() remaining: 62955 +LocalWindow.Enqueue() remaining: 62943 +LocalWindow.Enqueue() remaining: 62931 +LocalWindow.Enqueue() remaining: 62919 +LocalWindow.Enqueue() remaining: 62907 +LocalWindow.Enqueue() remaining: 62895 +LocalWindow.Enqueue() remaining: 62883 +LocalWindow.Enqueue() remaining: 62871 +LocalWindow.Enqueue() remaining: 62859 +LocalWindow.Enqueue() remaining: 62847 +LocalWindow.Enqueue() remaining: 62835 +LocalWindow.Enqueue() remaining: 62823 +LocalWindow.Enqueue() remaining: 62811 +LocalWindow.Enqueue() remaining: 62799 +LocalWindow.Enqueue() remaining: 62787 +LocalWindow.Enqueue() remaining: 62775 +LocalWindow.Enqueue() remaining: 62763 +LocalWindow.Enqueue() remaining: 62751 +LocalWindow.Enqueue() remaining: 62739 +LocalWindow.Enqueue() remaining: 62727 +LocalWindow.Enqueue() remaining: 62715 +LocalWindow.Enqueue() remaining: 62703 +LocalWindow.Enqueue() remaining: 62691 +LocalWindow.Enqueue() remaining: 62679 +LocalWindow.Enqueue() remaining: 62667 +LocalWindow.Enqueue() remaining: 62655 +LocalWindow.Enqueue() remaining: 62643 +LocalWindow.Enqueue() remaining: 62631 +LocalWindow.Enqueue() remaining: 62619 +LocalWindow.Enqueue() remaining: 62607 +LocalWindow.Enqueue() remaining: 62595 +LocalWindow.Enqueue() remaining: 62583 +LocalWindow.Enqueue() remaining: 62571 +LocalWindow.Enqueue() remaining: 62559 +LocalWindow.Enqueue() remaining: 62547 +LocalWindow.Enqueue() remaining: 62535 +LocalWindow.Enqueue() remaining: 62523 +LocalWindow.Enqueue() remaining: 62511 +LocalWindow.Enqueue() remaining: 62499 +LocalWindow.Enqueue() remaining: 62487 +LocalWindow.Enqueue() remaining: 62475 +LocalWindow.Enqueue() remaining: 62463 +LocalWindow.Enqueue() remaining: 62451 +LocalWindow.Enqueue() remaining: 62439 +LocalWindow.Enqueue() remaining: 62427 +LocalWindow.Enqueue() remaining: 62415 +LocalWindow.Enqueue() remaining: 62403 +LocalWindow.Enqueue() remaining: 62391 +LocalWindow.Enqueue() remaining: 62379 +LocalWindow.Enqueue() remaining: 62367 +LocalWindow.Enqueue() remaining: 62355 +LocalWindow.Enqueue() remaining: 62343 +LocalWindow.Enqueue() remaining: 62331 +LocalWindow.Enqueue() remaining: 62319 +LocalWindow.Enqueue() remaining: 62307 +LocalWindow.Enqueue() remaining: 62295 +LocalWindow.Enqueue() remaining: 62283 +LocalWindow.Enqueue() remaining: 62271 +LocalWindow.Enqueue() remaining: 62259 +LocalWindow.Enqueue() remaining: 62247 +LocalWindow.Enqueue() remaining: 62235 +LocalWindow.Enqueue() remaining: 62223 +LocalWindow.Enqueue() remaining: 62211 +LocalWindow.Enqueue() remaining: 62199 +LocalWindow.Enqueue() remaining: 62187 +LocalWindow.Enqueue() remaining: 62175 +LocalWindow.Enqueue() remaining: 62163 +LocalWindow.Enqueue() remaining: 62151 +LocalWindow.Enqueue() remaining: 62139 +LocalWindow.Enqueue() remaining: 62127 +LocalWindow.Enqueue() remaining: 62115 +LocalWindow.Enqueue() remaining: 62103 +LocalWindow.Enqueue() remaining: 62091 +LocalWindow.Enqueue() remaining: 62079 +LocalWindow.Enqueue() remaining: 62067 +LocalWindow.Enqueue() remaining: 62055 +LocalWindow.Enqueue() remaining: 62043 +LocalWindow.Enqueue() remaining: 62031 +LocalWindow.Enqueue() remaining: 62019 +LocalWindow.Enqueue() remaining: 62007 +LocalWindow.Enqueue() remaining: 61995 +LocalWindow.Enqueue() remaining: 61983 +LocalWindow.Enqueue() remaining: 61971 +LocalWindow.Enqueue() remaining: 61959 +LocalWindow.Enqueue() remaining: 61947 +LocalWindow.Enqueue() remaining: 61935 +LocalWindow.Enqueue() remaining: 61923 +LocalWindow.Enqueue() remaining: 61911 +LocalWindow.Enqueue() remaining: 61899 +LocalWindow.Enqueue() remaining: 61887 +LocalWindow.Enqueue() remaining: 61875 +LocalWindow.Enqueue() remaining: 61863 +LocalWindow.Enqueue() remaining: 61851 +LocalWindow.Enqueue() remaining: 61839 +LocalWindow.Enqueue() remaining: 61827 +LocalWindow.Enqueue() remaining: 61815 +LocalWindow.Enqueue() remaining: 61803 +LocalWindow.Enqueue() remaining: 61791 +LocalWindow.Enqueue() remaining: 61779 +LocalWindow.Enqueue() remaining: 61767 +LocalWindow.Enqueue() remaining: 61755 +LocalWindow.Enqueue() remaining: 61743 +LocalWindow.Enqueue() remaining: 61731 +LocalWindow.Enqueue() remaining: 61719 +LocalWindow.Enqueue() remaining: 61707 +LocalWindow.Enqueue() remaining: 61695 +LocalWindow.Enqueue() remaining: 61683 +LocalWindow.Enqueue() remaining: 61671 +LocalWindow.Enqueue() remaining: 61659 +LocalWindow.Enqueue() remaining: 61647 +LocalWindow.Enqueue() remaining: 61635 +LocalWindow.Enqueue() remaining: 61623 +LocalWindow.Enqueue() remaining: 61611 +LocalWindow.Enqueue() remaining: 61599 +LocalWindow.Enqueue() remaining: 61587 +LocalWindow.Enqueue() remaining: 61575 +LocalWindow.Enqueue() remaining: 61563 +LocalWindow.Enqueue() remaining: 61551 +LocalWindow.Enqueue() remaining: 61539 +LocalWindow.Enqueue() remaining: 61527 +LocalWindow.Enqueue() remaining: 61515 +LocalWindow.Enqueue() remaining: 61503 +LocalWindow.Enqueue() remaining: 61491 +LocalWindow.Enqueue() remaining: 61479 +LocalWindow.Enqueue() remaining: 61467 +LocalWindow.Enqueue() remaining: 61455 +LocalWindow.Enqueue() remaining: 61443 +LocalWindow.Enqueue() remaining: 61431 +LocalWindow.Enqueue() remaining: 61419 +LocalWindow.Enqueue() remaining: 61407 +LocalWindow.Enqueue() remaining: 61395 +LocalWindow.Enqueue() remaining: 61383 +LocalWindow.Enqueue() remaining: 61371 +LocalWindow.Enqueue() remaining: 61359 +LocalWindow.Enqueue() remaining: 61347 +LocalWindow.Enqueue() remaining: 61335 +LocalWindow.Enqueue() remaining: 61323 +LocalWindow.Enqueue() remaining: 61311 +LocalWindow.Enqueue() remaining: 61299 +LocalWindow.Enqueue() remaining: 61287 +LocalWindow.Enqueue() remaining: 61275 +LocalWindow.Enqueue() remaining: 61263 +LocalWindow.Enqueue() remaining: 61251 +LocalWindow.Enqueue() remaining: 61239 +LocalWindow.Enqueue() remaining: 61227 +LocalWindow.Enqueue() remaining: 61215 +LocalWindow.Enqueue() remaining: 61203 +LocalWindow.Enqueue() remaining: 61191 +LocalWindow.Enqueue() remaining: 61179 +LocalWindow.Enqueue() remaining: 61167 +LocalWindow.Enqueue() remaining: 61155 +LocalWindow.Enqueue() remaining: 61143 +LocalWindow.Enqueue() remaining: 61131 +LocalWindow.Enqueue() remaining: 61119 +LocalWindow.Enqueue() remaining: 61107 +LocalWindow.Enqueue() remaining: 61095 +LocalWindow.Enqueue() remaining: 61083 +LocalWindow.Enqueue() remaining: 61071 +LocalWindow.Enqueue() remaining: 61059 +LocalWindow.Enqueue() remaining: 61047 +LocalWindow.Enqueue() remaining: 61035 +LocalWindow.Enqueue() remaining: 61023 +LocalWindow.Enqueue() remaining: 61011 +LocalWindow.Enqueue() remaining: 60999 +LocalWindow.Enqueue() remaining: 60987 +LocalWindow.Enqueue() remaining: 60975 +LocalWindow.Enqueue() remaining: 60963 +LocalWindow.Enqueue() remaining: 60951 +LocalWindow.Enqueue() remaining: 60939 +LocalWindow.Enqueue() remaining: 60927 +LocalWindow.Enqueue() remaining: 60915 +LocalWindow.Enqueue() remaining: 60903 +LocalWindow.Enqueue() remaining: 60891 +LocalWindow.Enqueue() remaining: 60879 +LocalWindow.Enqueue() remaining: 60867 +LocalWindow.Enqueue() remaining: 60855 +LocalWindow.Enqueue() remaining: 60843 +LocalWindow.Enqueue() remaining: 60831 +LocalWindow.Enqueue() remaining: 60819 +LocalWindow.Enqueue() remaining: 60807 +LocalWindow.Enqueue() remaining: 60795 +LocalWindow.Enqueue() remaining: 60783 +LocalWindow.Enqueue() remaining: 60771 +LocalWindow.Enqueue() remaining: 60759 +LocalWindow.Enqueue() remaining: 60747 +LocalWindow.Enqueue() remaining: 60735 +LocalWindow.Enqueue() remaining: 60723 +LocalWindow.Enqueue() remaining: 60711 +LocalWindow.Enqueue() remaining: 60699 +LocalWindow.Enqueue() remaining: 60687 +LocalWindow.Enqueue() remaining: 60675 +LocalWindow.Enqueue() remaining: 60663 +LocalWindow.Enqueue() remaining: 60651 +LocalWindow.Enqueue() remaining: 60639 +LocalWindow.Enqueue() remaining: 60627 +LocalWindow.Enqueue() remaining: 60615 +LocalWindow.Enqueue() remaining: 60603 +LocalWindow.Enqueue() remaining: 60591 +LocalWindow.Enqueue() remaining: 60579 +LocalWindow.Enqueue() remaining: 60567 +LocalWindow.Enqueue() remaining: 60555 +LocalWindow.Enqueue() remaining: 60543 +LocalWindow.Enqueue() remaining: 60531 +LocalWindow.Enqueue() remaining: 60519 +LocalWindow.Enqueue() remaining: 60507 +LocalWindow.Enqueue() remaining: 60495 +LocalWindow.Enqueue() remaining: 60483 +LocalWindow.Enqueue() remaining: 60471 +LocalWindow.Enqueue() remaining: 60459 +LocalWindow.Enqueue() remaining: 60447 +LocalWindow.Enqueue() remaining: 60435 +LocalWindow.Enqueue() remaining: 60423 +LocalWindow.Enqueue() remaining: 60411 +LocalWindow.Enqueue() remaining: 60399 +LocalWindow.Enqueue() remaining: 60387 +LocalWindow.Enqueue() remaining: 60375 +LocalWindow.Enqueue() remaining: 60363 +LocalWindow.Enqueue() remaining: 60351 +LocalWindow.Enqueue() remaining: 60339 +LocalWindow.Enqueue() remaining: 60327 +LocalWindow.Enqueue() remaining: 60315 +LocalWindow.Enqueue() remaining: 60303 +LocalWindow.Enqueue() remaining: 60291 +LocalWindow.Enqueue() remaining: 60279 +LocalWindow.Enqueue() remaining: 60267 +LocalWindow.Enqueue() remaining: 60255 +LocalWindow.Enqueue() remaining: 60243 +LocalWindow.Enqueue() remaining: 60231 +LocalWindow.Enqueue() remaining: 60219 +LocalWindow.Enqueue() remaining: 60207 +LocalWindow.Enqueue() remaining: 60195 +LocalWindow.Enqueue() remaining: 60183 +LocalWindow.Enqueue() remaining: 60171 +LocalWindow.Enqueue() remaining: 60159 +LocalWindow.Enqueue() remaining: 60147 +LocalWindow.Enqueue() remaining: 60135 +LocalWindow.Enqueue() remaining: 60123 +LocalWindow.Enqueue() remaining: 60111 +LocalWindow.Enqueue() remaining: 60099 +LocalWindow.Enqueue() remaining: 60087 +LocalWindow.Enqueue() remaining: 60075 +LocalWindow.Enqueue() remaining: 60063 +LocalWindow.Enqueue() remaining: 60051 +LocalWindow.Enqueue() remaining: 60039 +LocalWindow.Enqueue() remaining: 60027 +LocalWindow.Enqueue() remaining: 60015 +LocalWindow.Enqueue() remaining: 60003 +LocalWindow.Enqueue() remaining: 59991 +LocalWindow.Enqueue() remaining: 59979 +LocalWindow.Enqueue() remaining: 59967 +LocalWindow.Enqueue() remaining: 59955 +LocalWindow.Enqueue() remaining: 59943 +LocalWindow.Enqueue() remaining: 59931 +LocalWindow.Enqueue() remaining: 59919 +LocalWindow.Enqueue() remaining: 59907 +LocalWindow.Enqueue() remaining: 59895 +LocalWindow.Enqueue() remaining: 59883 +LocalWindow.Enqueue() remaining: 59871 +LocalWindow.Enqueue() remaining: 59859 +LocalWindow.Enqueue() remaining: 59847 +LocalWindow.Enqueue() remaining: 59835 +LocalWindow.Enqueue() remaining: 59823 +LocalWindow.Enqueue() remaining: 59811 +LocalWindow.Enqueue() remaining: 59799 +LocalWindow.Enqueue() remaining: 59787 +LocalWindow.Enqueue() remaining: 59775 +LocalWindow.Enqueue() remaining: 59763 +LocalWindow.Enqueue() remaining: 59751 +LocalWindow.Enqueue() remaining: 59739 +LocalWindow.Enqueue() remaining: 59727 +LocalWindow.Enqueue() remaining: 59715 +LocalWindow.Enqueue() remaining: 59703 +LocalWindow.Enqueue() remaining: 59691 +LocalWindow.Enqueue() remaining: 59679 +LocalWindow.Enqueue() remaining: 59667 +LocalWindow.Enqueue() remaining: 59655 +LocalWindow.Enqueue() remaining: 59643 +LocalWindow.Enqueue() remaining: 59631 +LocalWindow.Enqueue() remaining: 59619 +LocalWindow.Enqueue() remaining: 59607 +LocalWindow.Enqueue() remaining: 59595 +LocalWindow.Enqueue() remaining: 59583 +LocalWindow.Enqueue() remaining: 59571 +LocalWindow.Enqueue() remaining: 59559 +LocalWindow.Enqueue() remaining: 59547 +LocalWindow.Enqueue() remaining: 59535 +LocalWindow.Enqueue() remaining: 59523 +LocalWindow.Enqueue() remaining: 59511 +LocalWindow.Enqueue() remaining: 59499 +LocalWindow.Enqueue() remaining: 59487 +LocalWindow.Enqueue() remaining: 59475 +LocalWindow.Enqueue() remaining: 59463 +LocalWindow.Enqueue() remaining: 59451 +LocalWindow.Enqueue() remaining: 59439 +LocalWindow.Enqueue() remaining: 59427 +LocalWindow.Enqueue() remaining: 59415 +LocalWindow.Enqueue() remaining: 59403 +LocalWindow.Enqueue() remaining: 59391 +LocalWindow.Enqueue() remaining: 59379 +LocalWindow.Enqueue() remaining: 59367 +LocalWindow.Enqueue() remaining: 59355 +LocalWindow.Enqueue() remaining: 59343 +LocalWindow.Enqueue() remaining: 59331 +LocalWindow.Enqueue() remaining: 59319 +LocalWindow.Enqueue() remaining: 59307 +LocalWindow.Enqueue() remaining: 59295 +LocalWindow.Enqueue() remaining: 59283 +LocalWindow.Enqueue() remaining: 59271 +LocalWindow.Enqueue() remaining: 59259 +LocalWindow.Enqueue() remaining: 59247 +LocalWindow.Enqueue() remaining: 59235 +LocalWindow.Enqueue() remaining: 59223 +LocalWindow.Enqueue() remaining: 59211 +LocalWindow.Enqueue() remaining: 59199 +LocalWindow.Enqueue() remaining: 59187 +LocalWindow.Enqueue() remaining: 59175 +LocalWindow.Enqueue() remaining: 59163 +LocalWindow.Enqueue() remaining: 59151 +LocalWindow.Enqueue() remaining: 59139 +LocalWindow.Enqueue() remaining: 59127 +LocalWindow.Enqueue() remaining: 59115 +LocalWindow.Enqueue() remaining: 59103 +LocalWindow.Enqueue() remaining: 59091 +LocalWindow.Enqueue() remaining: 59079 +LocalWindow.Enqueue() remaining: 59067 +LocalWindow.Enqueue() remaining: 59055 +LocalWindow.Enqueue() remaining: 59043 +LocalWindow.Enqueue() remaining: 59031 +LocalWindow.Enqueue() remaining: 59019 +LocalWindow.Enqueue() remaining: 59007 +LocalWindow.Enqueue() remaining: 58995 +LocalWindow.Enqueue() remaining: 58983 +LocalWindow.Enqueue() remaining: 58971 +LocalWindow.Enqueue() remaining: 58959 +LocalWindow.Enqueue() remaining: 58947 +LocalWindow.Enqueue() remaining: 58935 +LocalWindow.Enqueue() remaining: 58923 +LocalWindow.Enqueue() remaining: 58911 +LocalWindow.Enqueue() remaining: 58899 +LocalWindow.Enqueue() remaining: 58887 +LocalWindow.Enqueue() remaining: 58875 +LocalWindow.Enqueue() remaining: 58863 +LocalWindow.Enqueue() remaining: 58851 +LocalWindow.Enqueue() remaining: 58839 +LocalWindow.Enqueue() remaining: 58827 +LocalWindow.Enqueue() remaining: 58815 +LocalWindow.Enqueue() remaining: 58803 +LocalWindow.Enqueue() remaining: 58791 +LocalWindow.Enqueue() remaining: 58779 +LocalWindow.Enqueue() remaining: 58767 +LocalWindow.Enqueue() remaining: 58755 +LocalWindow.Enqueue() remaining: 58743 +LocalWindow.Enqueue() remaining: 58731 +LocalWindow.Enqueue() remaining: 58719 +LocalWindow.Enqueue() remaining: 58707 +LocalWindow.Enqueue() remaining: 58695 +LocalWindow.Enqueue() remaining: 58683 +LocalWindow.Enqueue() remaining: 58671 +LocalWindow.Enqueue() remaining: 58659 +LocalWindow.Enqueue() remaining: 58647 +LocalWindow.Enqueue() remaining: 58635 +LocalWindow.Enqueue() remaining: 58623 +LocalWindow.Enqueue() remaining: 58611 +LocalWindow.Enqueue() remaining: 58599 +LocalWindow.Enqueue() remaining: 58587 +LocalWindow.Enqueue() remaining: 58575 +LocalWindow.Enqueue() remaining: 58563 +LocalWindow.Enqueue() remaining: 58551 +LocalWindow.Enqueue() remaining: 58539 +LocalWindow.Enqueue() remaining: 58527 +LocalWindow.Enqueue() remaining: 58515 +LocalWindow.Enqueue() remaining: 58503 +LocalWindow.Enqueue() remaining: 58491 +LocalWindow.Enqueue() remaining: 58479 +LocalWindow.Enqueue() remaining: 58467 +LocalWindow.Enqueue() remaining: 58455 +LocalWindow.Enqueue() remaining: 58443 +LocalWindow.Enqueue() remaining: 58431 +LocalWindow.Enqueue() remaining: 58419 +LocalWindow.Enqueue() remaining: 58407 +LocalWindow.Enqueue() remaining: 58395 +LocalWindow.Enqueue() remaining: 58383 +LocalWindow.Enqueue() remaining: 58371 +LocalWindow.Enqueue() remaining: 58359 +LocalWindow.Enqueue() remaining: 58347 +LocalWindow.Enqueue() remaining: 58335 +LocalWindow.Enqueue() remaining: 58323 +LocalWindow.Enqueue() remaining: 58311 +LocalWindow.Enqueue() remaining: 58299 +LocalWindow.Enqueue() remaining: 58287 +LocalWindow.Enqueue() remaining: 58275 +LocalWindow.Enqueue() remaining: 58263 +LocalWindow.Enqueue() remaining: 58251 +LocalWindow.Enqueue() remaining: 58239 +LocalWindow.Enqueue() remaining: 58227 +LocalWindow.Enqueue() remaining: 58215 +LocalWindow.Enqueue() remaining: 58203 +LocalWindow.Enqueue() remaining: 58191 +LocalWindow.Enqueue() remaining: 58179 +LocalWindow.Enqueue() remaining: 58167 +LocalWindow.Enqueue() remaining: 58155 +LocalWindow.Enqueue() remaining: 58143 +LocalWindow.Enqueue() remaining: 58131 +LocalWindow.Enqueue() remaining: 58119 +LocalWindow.Enqueue() remaining: 58107 +LocalWindow.Enqueue() remaining: 58095 +LocalWindow.Enqueue() remaining: 58083 +LocalWindow.Enqueue() remaining: 58071 +LocalWindow.Enqueue() remaining: 58059 +LocalWindow.Enqueue() remaining: 58047 +LocalWindow.Enqueue() remaining: 58035 +LocalWindow.Enqueue() remaining: 58023 +LocalWindow.Enqueue() remaining: 58011 +LocalWindow.Enqueue() remaining: 57999 +LocalWindow.Enqueue() remaining: 57987 +LocalWindow.Enqueue() remaining: 57975 +LocalWindow.Enqueue() remaining: 57963 +LocalWindow.Enqueue() remaining: 57951 +LocalWindow.Enqueue() remaining: 57939 +LocalWindow.Enqueue() remaining: 57927 +LocalWindow.Enqueue() remaining: 57915 +LocalWindow.Enqueue() remaining: 57903 +LocalWindow.Enqueue() remaining: 57891 +LocalWindow.Enqueue() remaining: 57879 +LocalWindow.Enqueue() remaining: 57867 +LocalWindow.Enqueue() remaining: 57855 +LocalWindow.Enqueue() remaining: 57843 +LocalWindow.Enqueue() remaining: 57831 +LocalWindow.Enqueue() remaining: 57819 +LocalWindow.Enqueue() remaining: 57807 +LocalWindow.Enqueue() remaining: 57795 +LocalWindow.Enqueue() remaining: 57783 +LocalWindow.Enqueue() remaining: 57771 +LocalWindow.Enqueue() remaining: 57759 +LocalWindow.Enqueue() remaining: 57747 +LocalWindow.Enqueue() remaining: 57735 +LocalWindow.Enqueue() remaining: 57723 +LocalWindow.Enqueue() remaining: 57711 +LocalWindow.Enqueue() remaining: 57699 +LocalWindow.Enqueue() remaining: 57687 +LocalWindow.Enqueue() remaining: 57675 +LocalWindow.Enqueue() remaining: 57663 +LocalWindow.Enqueue() remaining: 57651 +LocalWindow.Enqueue() remaining: 57639 +LocalWindow.Enqueue() remaining: 57627 +LocalWindow.Enqueue() remaining: 57615 +LocalWindow.Enqueue() remaining: 57603 +LocalWindow.Enqueue() remaining: 57591 +LocalWindow.Enqueue() remaining: 57579 +LocalWindow.Enqueue() remaining: 57567 +LocalWindow.Enqueue() remaining: 57555 +LocalWindow.Enqueue() remaining: 57543 +LocalWindow.Enqueue() remaining: 57531 +LocalWindow.Enqueue() remaining: 57519 +LocalWindow.Enqueue() remaining: 57507 +LocalWindow.Enqueue() remaining: 57495 +LocalWindow.Enqueue() remaining: 57483 +LocalWindow.Enqueue() remaining: 57471 +LocalWindow.Enqueue() remaining: 57459 +LocalWindow.Enqueue() remaining: 57447 +LocalWindow.Enqueue() remaining: 57435 +LocalWindow.Enqueue() remaining: 57423 +LocalWindow.Enqueue() remaining: 57411 +LocalWindow.Enqueue() remaining: 57399 +LocalWindow.Enqueue() remaining: 57387 +LocalWindow.Enqueue() remaining: 57375 +LocalWindow.Enqueue() remaining: 57363 +LocalWindow.Enqueue() remaining: 57351 +LocalWindow.Enqueue() remaining: 57339 +LocalWindow.Enqueue() remaining: 57327 +LocalWindow.Enqueue() remaining: 57315 +LocalWindow.Enqueue() remaining: 57303 +LocalWindow.Enqueue() remaining: 57291 +LocalWindow.Enqueue() remaining: 57279 +LocalWindow.Enqueue() remaining: 57267 +LocalWindow.Enqueue() remaining: 57255 +LocalWindow.Enqueue() remaining: 57243 +LocalWindow.Enqueue() remaining: 57231 +LocalWindow.Enqueue() remaining: 57219 +LocalWindow.Enqueue() remaining: 57207 +LocalWindow.Enqueue() remaining: 57195 +LocalWindow.Enqueue() remaining: 57183 +LocalWindow.Enqueue() remaining: 57171 +LocalWindow.Enqueue() remaining: 57159 +LocalWindow.Enqueue() remaining: 57147 +LocalWindow.Enqueue() remaining: 57135 +LocalWindow.Enqueue() remaining: 57123 +LocalWindow.Enqueue() remaining: 57111 +LocalWindow.Enqueue() remaining: 57099 +LocalWindow.Enqueue() remaining: 57087 +LocalWindow.Enqueue() remaining: 57075 +LocalWindow.Enqueue() remaining: 57063 +LocalWindow.Enqueue() remaining: 57051 +LocalWindow.Enqueue() remaining: 57039 +LocalWindow.Enqueue() remaining: 57027 +LocalWindow.Enqueue() remaining: 57015 +LocalWindow.Enqueue() remaining: 57003 +LocalWindow.Enqueue() remaining: 56991 +LocalWindow.Enqueue() remaining: 56979 +LocalWindow.Enqueue() remaining: 56967 +LocalWindow.Enqueue() remaining: 56955 +LocalWindow.Enqueue() remaining: 56943 +LocalWindow.Enqueue() remaining: 56931 +LocalWindow.Enqueue() remaining: 56919 +LocalWindow.Enqueue() remaining: 56907 +LocalWindow.Enqueue() remaining: 56895 +LocalWindow.Enqueue() remaining: 56883 +LocalWindow.Enqueue() remaining: 56871 +LocalWindow.Enqueue() remaining: 56859 +LocalWindow.Enqueue() remaining: 56847 +LocalWindow.Enqueue() remaining: 56835 +LocalWindow.Enqueue() remaining: 56823 +LocalWindow.Enqueue() remaining: 56811 +LocalWindow.Enqueue() remaining: 56799 +LocalWindow.Enqueue() remaining: 56787 +LocalWindow.Enqueue() remaining: 56775 +LocalWindow.Enqueue() remaining: 56763 +LocalWindow.Enqueue() remaining: 56751 +LocalWindow.Enqueue() remaining: 56739 +LocalWindow.Enqueue() remaining: 56727 +LocalWindow.Enqueue() remaining: 56715 +LocalWindow.Enqueue() remaining: 56703 +LocalWindow.Enqueue() remaining: 56691 +LocalWindow.Enqueue() remaining: 56679 +LocalWindow.Enqueue() remaining: 56667 +LocalWindow.Enqueue() remaining: 56655 +LocalWindow.Enqueue() remaining: 56643 +LocalWindow.Enqueue() remaining: 56631 +LocalWindow.Enqueue() remaining: 56619 +LocalWindow.Enqueue() remaining: 56607 +LocalWindow.Enqueue() remaining: 56595 +LocalWindow.Enqueue() remaining: 56583 +LocalWindow.Enqueue() remaining: 56571 +LocalWindow.Enqueue() remaining: 56559 +LocalWindow.Enqueue() remaining: 56547 +LocalWindow.Enqueue() remaining: 56535 +LocalWindow.Enqueue() remaining: 56523 +LocalWindow.Enqueue() remaining: 56511 +LocalWindow.Enqueue() remaining: 56499 +LocalWindow.Enqueue() remaining: 56487 +LocalWindow.Enqueue() remaining: 56475 +LocalWindow.Enqueue() remaining: 56463 +LocalWindow.Enqueue() remaining: 56451 +LocalWindow.Enqueue() remaining: 56439 +LocalWindow.Enqueue() remaining: 56427 +LocalWindow.Enqueue() remaining: 56415 +LocalWindow.Enqueue() remaining: 56403 +LocalWindow.Enqueue() remaining: 56391 +LocalWindow.Enqueue() remaining: 56379 +LocalWindow.Enqueue() remaining: 56367 +LocalWindow.Enqueue() remaining: 56355 +LocalWindow.Enqueue() remaining: 56343 +LocalWindow.Enqueue() remaining: 56331 +LocalWindow.Enqueue() remaining: 56319 +LocalWindow.Enqueue() remaining: 56307 +LocalWindow.Enqueue() remaining: 56295 +LocalWindow.Enqueue() remaining: 56283 +LocalWindow.Enqueue() remaining: 56271 +LocalWindow.Enqueue() remaining: 56259 +LocalWindow.Enqueue() remaining: 56247 +LocalWindow.Enqueue() remaining: 56235 +LocalWindow.Enqueue() remaining: 56223 +LocalWindow.Enqueue() remaining: 56211 +LocalWindow.Enqueue() remaining: 56199 +LocalWindow.Enqueue() remaining: 56187 +LocalWindow.Enqueue() remaining: 56175 +LocalWindow.Enqueue() remaining: 56163 +LocalWindow.Enqueue() remaining: 56151 +LocalWindow.Enqueue() remaining: 56139 +LocalWindow.Enqueue() remaining: 56127 +LocalWindow.Enqueue() remaining: 56115 +LocalWindow.Enqueue() remaining: 56103 +LocalWindow.Enqueue() remaining: 56091 +LocalWindow.Enqueue() remaining: 56079 +LocalWindow.Enqueue() remaining: 56067 +LocalWindow.Enqueue() remaining: 56055 +LocalWindow.Enqueue() remaining: 56043 +LocalWindow.Enqueue() remaining: 56031 +LocalWindow.Enqueue() remaining: 56019 +LocalWindow.Enqueue() remaining: 56007 +LocalWindow.Enqueue() remaining: 55995 +LocalWindow.Enqueue() remaining: 55983 +LocalWindow.Enqueue() remaining: 55971 +LocalWindow.Enqueue() remaining: 55959 +LocalWindow.Enqueue() remaining: 55947 +LocalWindow.Enqueue() remaining: 55935 +LocalWindow.Enqueue() remaining: 55923 +LocalWindow.Enqueue() remaining: 55911 +LocalWindow.Enqueue() remaining: 55899 +LocalWindow.Enqueue() remaining: 55887 +LocalWindow.Enqueue() remaining: 55875 +LocalWindow.Enqueue() remaining: 55863 +LocalWindow.Enqueue() remaining: 55851 +LocalWindow.Enqueue() remaining: 55839 +LocalWindow.Enqueue() remaining: 55827 +LocalWindow.Enqueue() remaining: 55815 +LocalWindow.Enqueue() remaining: 55803 +LocalWindow.Enqueue() remaining: 55791 +LocalWindow.Enqueue() remaining: 55779 +LocalWindow.Enqueue() remaining: 55767 +LocalWindow.Enqueue() remaining: 55755 +LocalWindow.Enqueue() remaining: 55743 +LocalWindow.Enqueue() remaining: 55731 +LocalWindow.Enqueue() remaining: 55719 +LocalWindow.Enqueue() remaining: 55707 +LocalWindow.Enqueue() remaining: 55695 +LocalWindow.Enqueue() remaining: 55683 +LocalWindow.Enqueue() remaining: 55671 +LocalWindow.Enqueue() remaining: 55659 +LocalWindow.Enqueue() remaining: 55647 +LocalWindow.Enqueue() remaining: 55635 +LocalWindow.Enqueue() remaining: 55623 +LocalWindow.Enqueue() remaining: 55611 +LocalWindow.Enqueue() remaining: 55599 +LocalWindow.Enqueue() remaining: 55587 +LocalWindow.Enqueue() remaining: 55575 +LocalWindow.Enqueue() remaining: 55563 +LocalWindow.Enqueue() remaining: 55551 +LocalWindow.Enqueue() remaining: 55539 +LocalWindow.Enqueue() remaining: 55527 +LocalWindow.Enqueue() remaining: 55515 +LocalWindow.Enqueue() remaining: 55503 +LocalWindow.Enqueue() remaining: 55491 +LocalWindow.Enqueue() remaining: 55479 +LocalWindow.Enqueue() remaining: 55467 +LocalWindow.Enqueue() remaining: 55455 +LocalWindow.Enqueue() remaining: 55443 +LocalWindow.Enqueue() remaining: 55431 +LocalWindow.Enqueue() remaining: 55419 +LocalWindow.Enqueue() remaining: 55407 +LocalWindow.Enqueue() remaining: 55395 +LocalWindow.Enqueue() remaining: 55383 +LocalWindow.Enqueue() remaining: 55371 +LocalWindow.Enqueue() remaining: 55359 +LocalWindow.Enqueue() remaining: 55347 +LocalWindow.Enqueue() remaining: 55335 +LocalWindow.Enqueue() remaining: 55323 +LocalWindow.Enqueue() remaining: 55311 +LocalWindow.Enqueue() remaining: 55299 +LocalWindow.Enqueue() remaining: 55287 +LocalWindow.Enqueue() remaining: 55275 +LocalWindow.Enqueue() remaining: 55263 +LocalWindow.Enqueue() remaining: 55251 +LocalWindow.Enqueue() remaining: 55239 +LocalWindow.Enqueue() remaining: 55227 +LocalWindow.Enqueue() remaining: 55215 +LocalWindow.Enqueue() remaining: 55203 +LocalWindow.Enqueue() remaining: 55191 +LocalWindow.Enqueue() remaining: 55179 +LocalWindow.Enqueue() remaining: 55167 +LocalWindow.Enqueue() remaining: 55155 +LocalWindow.Enqueue() remaining: 55143 +LocalWindow.Enqueue() remaining: 55131 +LocalWindow.Enqueue() remaining: 55119 +LocalWindow.Enqueue() remaining: 55107 +LocalWindow.Enqueue() remaining: 55095 +LocalWindow.Enqueue() remaining: 55083 +LocalWindow.Enqueue() remaining: 55071 +LocalWindow.Enqueue() remaining: 55059 +LocalWindow.Enqueue() remaining: 55047 +LocalWindow.Enqueue() remaining: 55035 +LocalWindow.Enqueue() remaining: 55023 +LocalWindow.Enqueue() remaining: 55011 +LocalWindow.Enqueue() remaining: 54999 +LocalWindow.Enqueue() remaining: 54987 +LocalWindow.Enqueue() remaining: 54975 +LocalWindow.Enqueue() remaining: 54963 +LocalWindow.Enqueue() remaining: 54951 +LocalWindow.Enqueue() remaining: 54939 +LocalWindow.Enqueue() remaining: 54927 +LocalWindow.Enqueue() remaining: 54915 +LocalWindow.Enqueue() remaining: 54903 +LocalWindow.Enqueue() remaining: 54891 +LocalWindow.Enqueue() remaining: 54879 +LocalWindow.Enqueue() remaining: 54867 +LocalWindow.Enqueue() remaining: 54855 +LocalWindow.Enqueue() remaining: 54843 +LocalWindow.Enqueue() remaining: 54831 +LocalWindow.Enqueue() remaining: 54819 +LocalWindow.Enqueue() remaining: 54807 +LocalWindow.Enqueue() remaining: 54795 +LocalWindow.Enqueue() remaining: 54783 +LocalWindow.Enqueue() remaining: 54771 +LocalWindow.Enqueue() remaining: 54759 +LocalWindow.Enqueue() remaining: 54747 +LocalWindow.Enqueue() remaining: 54735 +LocalWindow.Enqueue() remaining: 54723 +LocalWindow.Enqueue() remaining: 54711 +LocalWindow.Enqueue() remaining: 54699 +LocalWindow.Enqueue() remaining: 54687 +LocalWindow.Enqueue() remaining: 54675 +LocalWindow.Enqueue() remaining: 54663 +LocalWindow.Enqueue() remaining: 54651 +LocalWindow.Enqueue() remaining: 54639 +LocalWindow.Enqueue() remaining: 54627 +LocalWindow.Enqueue() remaining: 54615 +LocalWindow.Enqueue() remaining: 54603 +LocalWindow.Enqueue() remaining: 54591 +LocalWindow.Enqueue() remaining: 54579 +LocalWindow.Enqueue() remaining: 54567 +LocalWindow.Enqueue() remaining: 54555 +LocalWindow.Enqueue() remaining: 54543 +LocalWindow.Enqueue() remaining: 54531 +LocalWindow.Enqueue() remaining: 54519 +LocalWindow.Enqueue() remaining: 54507 +LocalWindow.Enqueue() remaining: 54495 +LocalWindow.Enqueue() remaining: 54483 +LocalWindow.Enqueue() remaining: 54471 +LocalWindow.Enqueue() remaining: 54459 +LocalWindow.Enqueue() remaining: 54447 +LocalWindow.Enqueue() remaining: 54435 +LocalWindow.Enqueue() remaining: 54423 +LocalWindow.Enqueue() remaining: 54411 +LocalWindow.Enqueue() remaining: 54399 +LocalWindow.Enqueue() remaining: 54387 +LocalWindow.Enqueue() remaining: 54375 +LocalWindow.Enqueue() remaining: 54363 +LocalWindow.Enqueue() remaining: 54351 +LocalWindow.Enqueue() remaining: 54339 +LocalWindow.Enqueue() remaining: 54327 +LocalWindow.Enqueue() remaining: 54315 +LocalWindow.Enqueue() remaining: 54303 +LocalWindow.Enqueue() remaining: 54291 +LocalWindow.Enqueue() remaining: 54279 +LocalWindow.Enqueue() remaining: 54267 +LocalWindow.Enqueue() remaining: 54255 +LocalWindow.Enqueue() remaining: 54243 +LocalWindow.Enqueue() remaining: 54231 +LocalWindow.Enqueue() remaining: 54219 +LocalWindow.Enqueue() remaining: 54207 +LocalWindow.Enqueue() remaining: 54195 +LocalWindow.Enqueue() remaining: 54183 +LocalWindow.Enqueue() remaining: 54171 +LocalWindow.Enqueue() remaining: 54159 +LocalWindow.Enqueue() remaining: 54147 +LocalWindow.Enqueue() remaining: 54135 +LocalWindow.Enqueue() remaining: 54123 +LocalWindow.Enqueue() remaining: 54111 +LocalWindow.Enqueue() remaining: 54099 +LocalWindow.Enqueue() remaining: 54087 +LocalWindow.Enqueue() remaining: 54075 +LocalWindow.Enqueue() remaining: 54063 +LocalWindow.Enqueue() remaining: 54051 +LocalWindow.Enqueue() remaining: 54039 +LocalWindow.Enqueue() remaining: 54027 +LocalWindow.Enqueue() remaining: 54015 +LocalWindow.Enqueue() remaining: 54003 +LocalWindow.Enqueue() remaining: 53991 +LocalWindow.Enqueue() remaining: 53979 +LocalWindow.Enqueue() remaining: 53967 +LocalWindow.Enqueue() remaining: 53955 +LocalWindow.Enqueue() remaining: 53943 +LocalWindow.Enqueue() remaining: 53931 +LocalWindow.Enqueue() remaining: 53919 +LocalWindow.Enqueue() remaining: 53907 +LocalWindow.Enqueue() remaining: 53895 +LocalWindow.Enqueue() remaining: 53883 +LocalWindow.Enqueue() remaining: 53871 +LocalWindow.Enqueue() remaining: 53859 +LocalWindow.Enqueue() remaining: 53847 +LocalWindow.Enqueue() remaining: 53835 +LocalWindow.Enqueue() remaining: 53823 +LocalWindow.Enqueue() remaining: 53811 +LocalWindow.Enqueue() remaining: 53799 +LocalWindow.Enqueue() remaining: 53787 +LocalWindow.Enqueue() remaining: 53775 +LocalWindow.Enqueue() remaining: 53763 +LocalWindow.Enqueue() remaining: 53751 +LocalWindow.Enqueue() remaining: 53739 +LocalWindow.Enqueue() remaining: 53727 +LocalWindow.Enqueue() remaining: 53715 +LocalWindow.Enqueue() remaining: 53703 +LocalWindow.Enqueue() remaining: 53691 +LocalWindow.Enqueue() remaining: 53679 +LocalWindow.Enqueue() remaining: 53667 +LocalWindow.Enqueue() remaining: 53655 +LocalWindow.Enqueue() remaining: 53643 +LocalWindow.Enqueue() remaining: 53631 +LocalWindow.Enqueue() remaining: 53619 +LocalWindow.Enqueue() remaining: 53607 +LocalWindow.Enqueue() remaining: 53595 +LocalWindow.Enqueue() remaining: 53583 +LocalWindow.Enqueue() remaining: 53571 +LocalWindow.Enqueue() remaining: 53559 +LocalWindow.Enqueue() remaining: 53547 +LocalWindow.Enqueue() remaining: 53535 +LocalWindow.Enqueue() remaining: 53523 +LocalWindow.Enqueue() remaining: 53511 +LocalWindow.Enqueue() remaining: 53499 +LocalWindow.Enqueue() remaining: 53487 +LocalWindow.Enqueue() remaining: 53475 +LocalWindow.Enqueue() remaining: 53463 +LocalWindow.Enqueue() remaining: 53451 +LocalWindow.Enqueue() remaining: 53439 +LocalWindow.Enqueue() remaining: 53427 +LocalWindow.Enqueue() remaining: 53415 +LocalWindow.Enqueue() remaining: 53403 +LocalWindow.Enqueue() remaining: 53391 +LocalWindow.Enqueue() remaining: 53379 +LocalWindow.Enqueue() remaining: 53367 +LocalWindow.Enqueue() remaining: 53355 +LocalWindow.Enqueue() remaining: 53343 +LocalWindow.Enqueue() remaining: 53331 +LocalWindow.Enqueue() remaining: 53319 +LocalWindow.Enqueue() remaining: 53307 +LocalWindow.Enqueue() remaining: 53295 +LocalWindow.Enqueue() remaining: 53283 +LocalWindow.Enqueue() remaining: 53271 +LocalWindow.Enqueue() remaining: 53259 +LocalWindow.Enqueue() remaining: 53247 +LocalWindow.Enqueue() remaining: 53235 +LocalWindow.Enqueue() remaining: 53223 +LocalWindow.Enqueue() remaining: 53211 +LocalWindow.Enqueue() remaining: 53199 +LocalWindow.Enqueue() remaining: 53187 +LocalWindow.Enqueue() remaining: 53175 +LocalWindow.Enqueue() remaining: 53163 +LocalWindow.Enqueue() remaining: 53151 +LocalWindow.Enqueue() remaining: 53139 +LocalWindow.Enqueue() remaining: 53127 +LocalWindow.Enqueue() remaining: 53115 +LocalWindow.Enqueue() remaining: 53103 +LocalWindow.Enqueue() remaining: 53091 +LocalWindow.Enqueue() remaining: 53079 +LocalWindow.Enqueue() remaining: 53067 +LocalWindow.Enqueue() remaining: 53055 +LocalWindow.Enqueue() remaining: 53043 +LocalWindow.Enqueue() remaining: 53031 +LocalWindow.Enqueue() remaining: 53019 +LocalWindow.Enqueue() remaining: 53007 +LocalWindow.Enqueue() remaining: 52995 +LocalWindow.Enqueue() remaining: 52983 +LocalWindow.Enqueue() remaining: 52971 +LocalWindow.Enqueue() remaining: 52959 +LocalWindow.Enqueue() remaining: 52947 +LocalWindow.Enqueue() remaining: 52935 +LocalWindow.Enqueue() remaining: 52923 +LocalWindow.Enqueue() remaining: 52911 +LocalWindow.Enqueue() remaining: 52899 +LocalWindow.Enqueue() remaining: 52887 +LocalWindow.Enqueue() remaining: 52875 +LocalWindow.Enqueue() remaining: 52863 +LocalWindow.Enqueue() remaining: 52851 +LocalWindow.Enqueue() remaining: 52839 +LocalWindow.Enqueue() remaining: 52827 +LocalWindow.Enqueue() remaining: 52815 +LocalWindow.Enqueue() remaining: 52803 +LocalWindow.Enqueue() remaining: 52791 +LocalWindow.Enqueue() remaining: 52779 +LocalWindow.Enqueue() remaining: 52767 +LocalWindow.Enqueue() remaining: 52755 +LocalWindow.Enqueue() remaining: 52743 +LocalWindow.Enqueue() remaining: 52731 +LocalWindow.Enqueue() remaining: 52719 +LocalWindow.Enqueue() remaining: 52707 +LocalWindow.Enqueue() remaining: 52695 +LocalWindow.Enqueue() remaining: 52683 +LocalWindow.Enqueue() remaining: 52671 +LocalWindow.Enqueue() remaining: 52659 +LocalWindow.Enqueue() remaining: 52647 +LocalWindow.Enqueue() remaining: 52635 +LocalWindow.Enqueue() remaining: 52623 +LocalWindow.Enqueue() remaining: 52611 +LocalWindow.Enqueue() remaining: 52599 +LocalWindow.Enqueue() remaining: 52587 +LocalWindow.Enqueue() remaining: 52575 +LocalWindow.Enqueue() remaining: 52563 +LocalWindow.Enqueue() remaining: 52551 +LocalWindow.Enqueue() remaining: 52539 +LocalWindow.Enqueue() remaining: 52527 +LocalWindow.Enqueue() remaining: 52515 +LocalWindow.Enqueue() remaining: 52503 +LocalWindow.Enqueue() remaining: 52491 +LocalWindow.Enqueue() remaining: 52479 +LocalWindow.Enqueue() remaining: 52467 +LocalWindow.Enqueue() remaining: 52455 +LocalWindow.Enqueue() remaining: 52443 +LocalWindow.Enqueue() remaining: 52431 +LocalWindow.Enqueue() remaining: 52419 +LocalWindow.Enqueue() remaining: 52407 +LocalWindow.Enqueue() remaining: 52395 +LocalWindow.Enqueue() remaining: 52383 +LocalWindow.Enqueue() remaining: 52371 +LocalWindow.Enqueue() remaining: 52359 +LocalWindow.Enqueue() remaining: 52347 +LocalWindow.Enqueue() remaining: 52335 +LocalWindow.Enqueue() remaining: 52323 +LocalWindow.Enqueue() remaining: 52311 +LocalWindow.Enqueue() remaining: 52299 +LocalWindow.Enqueue() remaining: 52287 +LocalWindow.Enqueue() remaining: 52275 +LocalWindow.Enqueue() remaining: 52263 +LocalWindow.Enqueue() remaining: 52251 +LocalWindow.Enqueue() remaining: 52239 +LocalWindow.Enqueue() remaining: 52227 +LocalWindow.Enqueue() remaining: 52215 +LocalWindow.Enqueue() remaining: 52203 +LocalWindow.Enqueue() remaining: 52191 +LocalWindow.Enqueue() remaining: 52179 +LocalWindow.Enqueue() remaining: 52167 +LocalWindow.Enqueue() remaining: 52155 +LocalWindow.Enqueue() remaining: 52143 +LocalWindow.Enqueue() remaining: 52131 +LocalWindow.Enqueue() remaining: 52119 +LocalWindow.Enqueue() remaining: 52107 +LocalWindow.Enqueue() remaining: 52095 +LocalWindow.Enqueue() remaining: 52083 +LocalWindow.Enqueue() remaining: 52071 +LocalWindow.Enqueue() remaining: 52059 +LocalWindow.Enqueue() remaining: 52047 +LocalWindow.Enqueue() remaining: 52035 +LocalWindow.Enqueue() remaining: 52023 +LocalWindow.Enqueue() remaining: 52011 +LocalWindow.Enqueue() remaining: 51999 +LocalWindow.Enqueue() remaining: 51987 +LocalWindow.Enqueue() remaining: 51975 +LocalWindow.Enqueue() remaining: 51963 +LocalWindow.Enqueue() remaining: 51951 +LocalWindow.Enqueue() remaining: 51939 +LocalWindow.Enqueue() remaining: 51927 +LocalWindow.Enqueue() remaining: 51915 +LocalWindow.Enqueue() remaining: 51903 +LocalWindow.Enqueue() remaining: 51891 +LocalWindow.Enqueue() remaining: 51879 +LocalWindow.Enqueue() remaining: 51867 +LocalWindow.Enqueue() remaining: 51855 +LocalWindow.Enqueue() remaining: 51843 +LocalWindow.Enqueue() remaining: 51831 +LocalWindow.Enqueue() remaining: 51819 +LocalWindow.Enqueue() remaining: 51807 +LocalWindow.Enqueue() remaining: 51795 +LocalWindow.Enqueue() remaining: 51783 +LocalWindow.Enqueue() remaining: 51771 +LocalWindow.Enqueue() remaining: 51759 +LocalWindow.Enqueue() remaining: 51747 +LocalWindow.Enqueue() remaining: 51735 +LocalWindow.Enqueue() remaining: 51723 +LocalWindow.Enqueue() remaining: 51711 +LocalWindow.Enqueue() remaining: 51699 +LocalWindow.Enqueue() remaining: 51687 +LocalWindow.Enqueue() remaining: 51675 +LocalWindow.Enqueue() remaining: 51663 +LocalWindow.Enqueue() remaining: 51651 +LocalWindow.Enqueue() remaining: 51639 +LocalWindow.Enqueue() remaining: 51627 +LocalWindow.Enqueue() remaining: 51615 +LocalWindow.Enqueue() remaining: 51603 +LocalWindow.Enqueue() remaining: 51591 +LocalWindow.Enqueue() remaining: 51579 +LocalWindow.Enqueue() remaining: 51567 +LocalWindow.Enqueue() remaining: 51555 +LocalWindow.Enqueue() remaining: 51543 +LocalWindow.Enqueue() remaining: 51531 +LocalWindow.Enqueue() remaining: 51519 +LocalWindow.Enqueue() remaining: 51507 +LocalWindow.Enqueue() remaining: 51495 +LocalWindow.Enqueue() remaining: 51483 +LocalWindow.Enqueue() remaining: 51471 +LocalWindow.Enqueue() remaining: 51459 +LocalWindow.Enqueue() remaining: 51447 +LocalWindow.Enqueue() remaining: 51435 +LocalWindow.Enqueue() remaining: 51423 +LocalWindow.Enqueue() remaining: 51411 +LocalWindow.Enqueue() remaining: 51399 +LocalWindow.Enqueue() remaining: 51387 +LocalWindow.Enqueue() remaining: 51375 +LocalWindow.Enqueue() remaining: 51363 +LocalWindow.Enqueue() remaining: 51351 +LocalWindow.Enqueue() remaining: 51339 +LocalWindow.Enqueue() remaining: 51327 +LocalWindow.Enqueue() remaining: 51315 +LocalWindow.Enqueue() remaining: 51303 +LocalWindow.Enqueue() remaining: 51291 +LocalWindow.Enqueue() remaining: 51279 +LocalWindow.Enqueue() remaining: 51267 +LocalWindow.Enqueue() remaining: 51255 +LocalWindow.Enqueue() remaining: 51243 +LocalWindow.Enqueue() remaining: 51231 +LocalWindow.Enqueue() remaining: 51219 +LocalWindow.Enqueue() remaining: 51207 +LocalWindow.Enqueue() remaining: 51195 +LocalWindow.Enqueue() remaining: 51183 +LocalWindow.Enqueue() remaining: 51171 +LocalWindow.Enqueue() remaining: 51159 +LocalWindow.Enqueue() remaining: 51147 +LocalWindow.Enqueue() remaining: 51135 +LocalWindow.Enqueue() remaining: 51123 +LocalWindow.Enqueue() remaining: 51111 +LocalWindow.Enqueue() remaining: 51099 +LocalWindow.Enqueue() remaining: 51087 +LocalWindow.Enqueue() remaining: 51075 +LocalWindow.Enqueue() remaining: 51063 +LocalWindow.Enqueue() remaining: 51051 +LocalWindow.Enqueue() remaining: 51039 +LocalWindow.Enqueue() remaining: 51027 +LocalWindow.Enqueue() remaining: 51015 +LocalWindow.Enqueue() remaining: 51003 +LocalWindow.Enqueue() remaining: 50991 +LocalWindow.Enqueue() remaining: 50979 +LocalWindow.Enqueue() remaining: 50967 +LocalWindow.Enqueue() remaining: 50955 +LocalWindow.Enqueue() remaining: 50943 +LocalWindow.Enqueue() remaining: 50931 +LocalWindow.Enqueue() remaining: 50919 +LocalWindow.Enqueue() remaining: 50907 +LocalWindow.Enqueue() remaining: 50895 +LocalWindow.Enqueue() remaining: 50883 +LocalWindow.Enqueue() remaining: 50871 +LocalWindow.Enqueue() remaining: 50859 +LocalWindow.Enqueue() remaining: 50847 +LocalWindow.Enqueue() remaining: 50835 +LocalWindow.Enqueue() remaining: 50823 +LocalWindow.Enqueue() remaining: 50811 +LocalWindow.Enqueue() remaining: 50799 +LocalWindow.Enqueue() remaining: 50787 +LocalWindow.Enqueue() remaining: 50775 +LocalWindow.Enqueue() remaining: 50763 +LocalWindow.Enqueue() remaining: 50751 +LocalWindow.Enqueue() remaining: 50739 +LocalWindow.Enqueue() remaining: 50727 +LocalWindow.Enqueue() remaining: 50715 +LocalWindow.Enqueue() remaining: 50703 +LocalWindow.Enqueue() remaining: 50691 +LocalWindow.Enqueue() remaining: 50679 +LocalWindow.Enqueue() remaining: 50667 +LocalWindow.Enqueue() remaining: 50655 +LocalWindow.Enqueue() remaining: 50643 +LocalWindow.Enqueue() remaining: 50631 +LocalWindow.Enqueue() remaining: 50619 +LocalWindow.Enqueue() remaining: 50607 +LocalWindow.Enqueue() remaining: 50595 +LocalWindow.Enqueue() remaining: 50583 +LocalWindow.Enqueue() remaining: 50571 +LocalWindow.Enqueue() remaining: 50559 +LocalWindow.Enqueue() remaining: 50547 +LocalWindow.Enqueue() remaining: 50535 +LocalWindow.Enqueue() remaining: 50523 +LocalWindow.Enqueue() remaining: 50511 +LocalWindow.Enqueue() remaining: 50499 +LocalWindow.Enqueue() remaining: 50487 +LocalWindow.Enqueue() remaining: 50475 +LocalWindow.Enqueue() remaining: 50463 +LocalWindow.Enqueue() remaining: 50451 +LocalWindow.Enqueue() remaining: 50439 +LocalWindow.Enqueue() remaining: 50427 +LocalWindow.Enqueue() remaining: 50415 +LocalWindow.Enqueue() remaining: 50403 +LocalWindow.Enqueue() remaining: 50391 +LocalWindow.Enqueue() remaining: 50379 +LocalWindow.Enqueue() remaining: 50367 +LocalWindow.Enqueue() remaining: 50355 +LocalWindow.Enqueue() remaining: 50343 +LocalWindow.Enqueue() remaining: 50331 +LocalWindow.Enqueue() remaining: 50319 +LocalWindow.Enqueue() remaining: 50307 +LocalWindow.Enqueue() remaining: 50295 +LocalWindow.Enqueue() remaining: 50283 +LocalWindow.Enqueue() remaining: 50271 +LocalWindow.Enqueue() remaining: 50259 +LocalWindow.Enqueue() remaining: 50247 +LocalWindow.Enqueue() remaining: 50235 +LocalWindow.Enqueue() remaining: 50223 +LocalWindow.Enqueue() remaining: 50211 +LocalWindow.Enqueue() remaining: 50199 +LocalWindow.Enqueue() remaining: 50187 +LocalWindow.Enqueue() remaining: 50175 +LocalWindow.Enqueue() remaining: 50163 +LocalWindow.Enqueue() remaining: 50151 +LocalWindow.Enqueue() remaining: 50139 +LocalWindow.Enqueue() remaining: 50127 +LocalWindow.Enqueue() remaining: 50115 +LocalWindow.Enqueue() remaining: 50103 +LocalWindow.Enqueue() remaining: 50091 +LocalWindow.Enqueue() remaining: 50079 +LocalWindow.Enqueue() remaining: 50067 +LocalWindow.Enqueue() remaining: 50055 +LocalWindow.Enqueue() remaining: 50043 +LocalWindow.Enqueue() remaining: 50031 +LocalWindow.Enqueue() remaining: 50019 +LocalWindow.Enqueue() remaining: 50007 +LocalWindow.Enqueue() remaining: 49995 +LocalWindow.Enqueue() remaining: 49983 +LocalWindow.Enqueue() remaining: 49971 +LocalWindow.Enqueue() remaining: 49959 +LocalWindow.Enqueue() remaining: 49947 +LocalWindow.Enqueue() remaining: 49935 +LocalWindow.Enqueue() remaining: 49923 +LocalWindow.Enqueue() remaining: 49911 +LocalWindow.Enqueue() remaining: 49899 +LocalWindow.Enqueue() remaining: 49887 +LocalWindow.Enqueue() remaining: 49875 +LocalWindow.Enqueue() remaining: 49863 +LocalWindow.Enqueue() remaining: 49851 +LocalWindow.Enqueue() remaining: 49839 +LocalWindow.Enqueue() remaining: 49827 +LocalWindow.Enqueue() remaining: 49815 +LocalWindow.Enqueue() remaining: 49803 +LocalWindow.Enqueue() remaining: 49791 +LocalWindow.Enqueue() remaining: 49779 +LocalWindow.Enqueue() remaining: 49767 +LocalWindow.Enqueue() remaining: 49755 +LocalWindow.Enqueue() remaining: 49743 +LocalWindow.Enqueue() remaining: 49731 +LocalWindow.Enqueue() remaining: 49719 +LocalWindow.Enqueue() remaining: 49707 +LocalWindow.Enqueue() remaining: 49695 +LocalWindow.Enqueue() remaining: 49683 +LocalWindow.Enqueue() remaining: 49671 +LocalWindow.Enqueue() remaining: 49659 +LocalWindow.Enqueue() remaining: 49647 +LocalWindow.Enqueue() remaining: 49635 +LocalWindow.Enqueue() remaining: 49623 +LocalWindow.Enqueue() remaining: 49611 +LocalWindow.Enqueue() remaining: 49599 +LocalWindow.Enqueue() remaining: 49587 +LocalWindow.Enqueue() remaining: 49575 +LocalWindow.Enqueue() remaining: 49563 +LocalWindow.Enqueue() remaining: 49551 +LocalWindow.Enqueue() remaining: 49539 +LocalWindow.Enqueue() remaining: 49527 +LocalWindow.Enqueue() remaining: 49515 +LocalWindow.Enqueue() remaining: 49503 +LocalWindow.Enqueue() remaining: 49491 +LocalWindow.Enqueue() remaining: 49479 +LocalWindow.Enqueue() remaining: 49467 +LocalWindow.Enqueue() remaining: 49455 +LocalWindow.Enqueue() remaining: 49443 +LocalWindow.Enqueue() remaining: 49431 +LocalWindow.Enqueue() remaining: 49419 +LocalWindow.Enqueue() remaining: 49407 +LocalWindow.Enqueue() remaining: 49395 +LocalWindow.Enqueue() remaining: 49383 +LocalWindow.Enqueue() remaining: 49371 +LocalWindow.Enqueue() remaining: 49359 +LocalWindow.Enqueue() remaining: 49347 +LocalWindow.Enqueue() remaining: 49335 +LocalWindow.Enqueue() remaining: 49323 +LocalWindow.Enqueue() remaining: 49311 +LocalWindow.Enqueue() remaining: 49299 +LocalWindow.Enqueue() remaining: 49287 +LocalWindow.Enqueue() remaining: 49275 +LocalWindow.Enqueue() remaining: 49263 +LocalWindow.Enqueue() remaining: 49251 +LocalWindow.Enqueue() remaining: 49239 +LocalWindow.Enqueue() remaining: 49227 +LocalWindow.Enqueue() remaining: 49215 +LocalWindow.Enqueue() remaining: 49203 +LocalWindow.Enqueue() remaining: 49191 +LocalWindow.Enqueue() remaining: 49179 +LocalWindow.Enqueue() remaining: 49167 +LocalWindow.Enqueue() remaining: 49155 +LocalWindow.Enqueue() remaining: 49143 +LocalWindow.Enqueue() remaining: 49131 +LocalWindow.Enqueue() remaining: 49119 +LocalWindow.Enqueue() remaining: 49107 +LocalWindow.Enqueue() remaining: 49095 +LocalWindow.Enqueue() remaining: 49083 +LocalWindow.Enqueue() remaining: 49071 +LocalWindow.Enqueue() remaining: 49059 +LocalWindow.Enqueue() remaining: 49047 +LocalWindow.Enqueue() remaining: 49035 +LocalWindow.Enqueue() remaining: 49023 +LocalWindow.Enqueue() remaining: 49011 +LocalWindow.Enqueue() remaining: 48999 +LocalWindow.Enqueue() remaining: 48987 +LocalWindow.Enqueue() remaining: 48975 +LocalWindow.Enqueue() remaining: 48963 +LocalWindow.Enqueue() remaining: 48951 +LocalWindow.Enqueue() remaining: 48939 +LocalWindow.Enqueue() remaining: 48927 +LocalWindow.Enqueue() remaining: 48915 +LocalWindow.Enqueue() remaining: 48903 +LocalWindow.Enqueue() remaining: 48891 +LocalWindow.Enqueue() remaining: 48879 +LocalWindow.Enqueue() remaining: 48867 +LocalWindow.Enqueue() remaining: 48855 +LocalWindow.Enqueue() remaining: 48843 +LocalWindow.Enqueue() remaining: 48831 +LocalWindow.Enqueue() remaining: 48819 +LocalWindow.Enqueue() remaining: 48807 +LocalWindow.Enqueue() remaining: 48795 +LocalWindow.Enqueue() remaining: 48783 +LocalWindow.Enqueue() remaining: 48771 +LocalWindow.Enqueue() remaining: 48759 +LocalWindow.Enqueue() remaining: 48747 +LocalWindow.Enqueue() remaining: 48735 +LocalWindow.Enqueue() remaining: 48723 +LocalWindow.Enqueue() remaining: 48711 +LocalWindow.Enqueue() remaining: 48699 +LocalWindow.Enqueue() remaining: 48687 +LocalWindow.Enqueue() remaining: 48675 +LocalWindow.Enqueue() remaining: 48663 +LocalWindow.Enqueue() remaining: 48651 +LocalWindow.Enqueue() remaining: 48639 +LocalWindow.Enqueue() remaining: 48627 +LocalWindow.Enqueue() remaining: 48615 +LocalWindow.Enqueue() remaining: 48603 +LocalWindow.Enqueue() remaining: 48591 +LocalWindow.Enqueue() remaining: 48579 +LocalWindow.Enqueue() remaining: 48567 +LocalWindow.Enqueue() remaining: 48555 +LocalWindow.Enqueue() remaining: 48543 +LocalWindow.Enqueue() remaining: 48531 +LocalWindow.Enqueue() remaining: 48519 +LocalWindow.Enqueue() remaining: 48507 +LocalWindow.Enqueue() remaining: 48495 +LocalWindow.Enqueue() remaining: 48483 +LocalWindow.Enqueue() remaining: 48471 +LocalWindow.Enqueue() remaining: 48459 +LocalWindow.Enqueue() remaining: 48447 +LocalWindow.Enqueue() remaining: 48435 +LocalWindow.Enqueue() remaining: 48423 +LocalWindow.Enqueue() remaining: 48411 +LocalWindow.Enqueue() remaining: 48399 +LocalWindow.Enqueue() remaining: 48387 +LocalWindow.Enqueue() remaining: 48375 +LocalWindow.Enqueue() remaining: 48363 +LocalWindow.Enqueue() remaining: 48351 +LocalWindow.Enqueue() remaining: 48339 +LocalWindow.Enqueue() remaining: 48327 +LocalWindow.Enqueue() remaining: 48315 +LocalWindow.Enqueue() remaining: 48303 +LocalWindow.Enqueue() remaining: 48291 +LocalWindow.Enqueue() remaining: 48279 +LocalWindow.Enqueue() remaining: 48267 +LocalWindow.Enqueue() remaining: 48255 +LocalWindow.Enqueue() remaining: 48243 +LocalWindow.Enqueue() remaining: 48231 +LocalWindow.Enqueue() remaining: 48219 +LocalWindow.Enqueue() remaining: 48207 +LocalWindow.Enqueue() remaining: 48195 +LocalWindow.Enqueue() remaining: 48183 +LocalWindow.Enqueue() remaining: 48171 +LocalWindow.Enqueue() remaining: 48159 +LocalWindow.Enqueue() remaining: 48147 +LocalWindow.Enqueue() remaining: 48135 +LocalWindow.Enqueue() remaining: 48123 +LocalWindow.Enqueue() remaining: 48111 +LocalWindow.Enqueue() remaining: 48099 +LocalWindow.Enqueue() remaining: 48087 +LocalWindow.Enqueue() remaining: 48075 +LocalWindow.Enqueue() remaining: 48063 +LocalWindow.Enqueue() remaining: 48051 +LocalWindow.Enqueue() remaining: 48039 +LocalWindow.Enqueue() remaining: 48027 +LocalWindow.Enqueue() remaining: 48015 +LocalWindow.Enqueue() remaining: 48003 +LocalWindow.Enqueue() remaining: 47991 +LocalWindow.Enqueue() remaining: 47979 +LocalWindow.Enqueue() remaining: 47967 +LocalWindow.Enqueue() remaining: 47955 +LocalWindow.Enqueue() remaining: 47943 +LocalWindow.Enqueue() remaining: 47931 +LocalWindow.Enqueue() remaining: 47919 +LocalWindow.Enqueue() remaining: 47907 +LocalWindow.Enqueue() remaining: 47895 +LocalWindow.Enqueue() remaining: 47883 +LocalWindow.Enqueue() remaining: 47871 +LocalWindow.Enqueue() remaining: 47859 +LocalWindow.Enqueue() remaining: 47847 +LocalWindow.Enqueue() remaining: 47835 +LocalWindow.Enqueue() remaining: 47823 +LocalWindow.Enqueue() remaining: 47811 +LocalWindow.Enqueue() remaining: 47799 +LocalWindow.Enqueue() remaining: 47787 +LocalWindow.Enqueue() remaining: 47775 +LocalWindow.Enqueue() remaining: 47763 +LocalWindow.Enqueue() remaining: 47751 +LocalWindow.Enqueue() remaining: 47739 +LocalWindow.Enqueue() remaining: 47727 +LocalWindow.Enqueue() remaining: 47715 +LocalWindow.Enqueue() remaining: 47703 +LocalWindow.Enqueue() remaining: 47691 +LocalWindow.Enqueue() remaining: 47679 +LocalWindow.Enqueue() remaining: 47667 +LocalWindow.Enqueue() remaining: 47655 +LocalWindow.Enqueue() remaining: 47643 +LocalWindow.Enqueue() remaining: 47631 +LocalWindow.Enqueue() remaining: 47619 +LocalWindow.Enqueue() remaining: 47607 +LocalWindow.Enqueue() remaining: 47595 +LocalWindow.Enqueue() remaining: 47583 +LocalWindow.Enqueue() remaining: 47571 +LocalWindow.Enqueue() remaining: 47559 +LocalWindow.Enqueue() remaining: 47547 +LocalWindow.Enqueue() remaining: 47535 +LocalWindow.Enqueue() remaining: 47523 +LocalWindow.Enqueue() remaining: 47511 +LocalWindow.Enqueue() remaining: 47499 +LocalWindow.Enqueue() remaining: 47487 +LocalWindow.Enqueue() remaining: 47475 +LocalWindow.Enqueue() remaining: 47463 +LocalWindow.Enqueue() remaining: 47451 +LocalWindow.Enqueue() remaining: 47439 +LocalWindow.Enqueue() remaining: 47427 +LocalWindow.Enqueue() remaining: 47415 +LocalWindow.Enqueue() remaining: 47403 +LocalWindow.Enqueue() remaining: 47391 +LocalWindow.Enqueue() remaining: 47379 +LocalWindow.Enqueue() remaining: 47367 +LocalWindow.Enqueue() remaining: 47355 +LocalWindow.Enqueue() remaining: 47343 +LocalWindow.Enqueue() remaining: 47331 +LocalWindow.Enqueue() remaining: 47319 +LocalWindow.Enqueue() remaining: 47307 +LocalWindow.Enqueue() remaining: 47295 +LocalWindow.Enqueue() remaining: 47283 +LocalWindow.Enqueue() remaining: 47271 +LocalWindow.Enqueue() remaining: 47259 +LocalWindow.Enqueue() remaining: 47247 +LocalWindow.Enqueue() remaining: 47235 +LocalWindow.Enqueue() remaining: 47223 +LocalWindow.Enqueue() remaining: 47211 +LocalWindow.Enqueue() remaining: 47199 +LocalWindow.Enqueue() remaining: 47187 +LocalWindow.Enqueue() remaining: 47175 +LocalWindow.Enqueue() remaining: 47163 +LocalWindow.Enqueue() remaining: 47151 +LocalWindow.Enqueue() remaining: 47139 +LocalWindow.Enqueue() remaining: 47127 +LocalWindow.Enqueue() remaining: 47115 +LocalWindow.Enqueue() remaining: 47103 +LocalWindow.Enqueue() remaining: 47091 +LocalWindow.Enqueue() remaining: 47079 +LocalWindow.Enqueue() remaining: 47067 +LocalWindow.Enqueue() remaining: 47055 +LocalWindow.Enqueue() remaining: 47043 +LocalWindow.Enqueue() remaining: 47031 +LocalWindow.Enqueue() remaining: 47019 +LocalWindow.Enqueue() remaining: 47007 +LocalWindow.Enqueue() remaining: 46995 +LocalWindow.Enqueue() remaining: 46983 +LocalWindow.Enqueue() remaining: 46971 +LocalWindow.Enqueue() remaining: 46959 +LocalWindow.Enqueue() remaining: 46947 +LocalWindow.Enqueue() remaining: 46935 +LocalWindow.Enqueue() remaining: 46923 +LocalWindow.Enqueue() remaining: 46911 +LocalWindow.Enqueue() remaining: 46899 +LocalWindow.Enqueue() remaining: 46887 +LocalWindow.Enqueue() remaining: 46875 +LocalWindow.Enqueue() remaining: 46863 +LocalWindow.Enqueue() remaining: 46851 +LocalWindow.Enqueue() remaining: 46839 +LocalWindow.Enqueue() remaining: 46827 +LocalWindow.Enqueue() remaining: 46815 +LocalWindow.Enqueue() remaining: 46803 +LocalWindow.Enqueue() remaining: 46791 +LocalWindow.Enqueue() remaining: 46779 +LocalWindow.Enqueue() remaining: 46767 +LocalWindow.Enqueue() remaining: 46755 +LocalWindow.Enqueue() remaining: 46743 +LocalWindow.Enqueue() remaining: 46731 +LocalWindow.Enqueue() remaining: 46719 +LocalWindow.Enqueue() remaining: 46707 +LocalWindow.Enqueue() remaining: 46695 +LocalWindow.Enqueue() remaining: 46683 +LocalWindow.Enqueue() remaining: 46671 +LocalWindow.Enqueue() remaining: 46659 +LocalWindow.Enqueue() remaining: 46647 +LocalWindow.Enqueue() remaining: 46635 +LocalWindow.Enqueue() remaining: 46623 +LocalWindow.Enqueue() remaining: 46611 +LocalWindow.Enqueue() remaining: 46599 +LocalWindow.Enqueue() remaining: 46587 +LocalWindow.Enqueue() remaining: 46575 +LocalWindow.Enqueue() remaining: 46563 +LocalWindow.Enqueue() remaining: 46551 +LocalWindow.Enqueue() remaining: 46539 +LocalWindow.Enqueue() remaining: 46527 +LocalWindow.Enqueue() remaining: 46515 +LocalWindow.Enqueue() remaining: 46503 +LocalWindow.Enqueue() remaining: 46491 +LocalWindow.Enqueue() remaining: 46479 +LocalWindow.Enqueue() remaining: 46467 +LocalWindow.Enqueue() remaining: 46455 +LocalWindow.Enqueue() remaining: 46443 +LocalWindow.Enqueue() remaining: 46431 +LocalWindow.Enqueue() remaining: 46419 +LocalWindow.Enqueue() remaining: 46407 +LocalWindow.Enqueue() remaining: 46395 +LocalWindow.Enqueue() remaining: 46383 +LocalWindow.Enqueue() remaining: 46371 +LocalWindow.Enqueue() remaining: 46359 +LocalWindow.Enqueue() remaining: 46347 +LocalWindow.Enqueue() remaining: 46335 +LocalWindow.Enqueue() remaining: 46323 +LocalWindow.Enqueue() remaining: 46311 +LocalWindow.Enqueue() remaining: 46299 +LocalWindow.Enqueue() remaining: 46287 +LocalWindow.Enqueue() remaining: 46275 +LocalWindow.Enqueue() remaining: 46263 +LocalWindow.Enqueue() remaining: 46251 +LocalWindow.Enqueue() remaining: 46239 +LocalWindow.Enqueue() remaining: 46227 +LocalWindow.Enqueue() remaining: 46215 +LocalWindow.Enqueue() remaining: 46203 +LocalWindow.Enqueue() remaining: 46191 +LocalWindow.Enqueue() remaining: 46179 +LocalWindow.Enqueue() remaining: 46167 +LocalWindow.Enqueue() remaining: 46155 +LocalWindow.Enqueue() remaining: 46143 +LocalWindow.Enqueue() remaining: 46131 +LocalWindow.Enqueue() remaining: 46119 +LocalWindow.Enqueue() remaining: 46107 +LocalWindow.Enqueue() remaining: 46095 +LocalWindow.Enqueue() remaining: 46083 +LocalWindow.Enqueue() remaining: 46071 +LocalWindow.Enqueue() remaining: 46059 +LocalWindow.Enqueue() remaining: 46047 +LocalWindow.Enqueue() remaining: 46035 +LocalWindow.Enqueue() remaining: 46023 +LocalWindow.Enqueue() remaining: 46011 +LocalWindow.Enqueue() remaining: 45999 +LocalWindow.Enqueue() remaining: 45987 +LocalWindow.Enqueue() remaining: 45975 +LocalWindow.Enqueue() remaining: 45963 +LocalWindow.Enqueue() remaining: 45951 +LocalWindow.Enqueue() remaining: 45939 +LocalWindow.Enqueue() remaining: 45927 +LocalWindow.Enqueue() remaining: 45915 +LocalWindow.Enqueue() remaining: 45903 +LocalWindow.Enqueue() remaining: 45891 +LocalWindow.Enqueue() remaining: 45879 +LocalWindow.Enqueue() remaining: 45867 +LocalWindow.Enqueue() remaining: 45855 +LocalWindow.Enqueue() remaining: 45843 +LocalWindow.Enqueue() remaining: 45831 +LocalWindow.Enqueue() remaining: 45819 +LocalWindow.Enqueue() remaining: 45807 +LocalWindow.Enqueue() remaining: 45795 +LocalWindow.Enqueue() remaining: 45783 +LocalWindow.Enqueue() remaining: 45771 +LocalWindow.Enqueue() remaining: 45759 +LocalWindow.Enqueue() remaining: 45747 +LocalWindow.Enqueue() remaining: 45735 +LocalWindow.Enqueue() remaining: 45723 +LocalWindow.Enqueue() remaining: 45711 +LocalWindow.Enqueue() remaining: 45699 +LocalWindow.Enqueue() remaining: 45687 +LocalWindow.Enqueue() remaining: 45675 +LocalWindow.Enqueue() remaining: 45663 +LocalWindow.Enqueue() remaining: 45651 +LocalWindow.Enqueue() remaining: 45639 +LocalWindow.Enqueue() remaining: 45627 +LocalWindow.Enqueue() remaining: 45615 +LocalWindow.Enqueue() remaining: 45603 +LocalWindow.Enqueue() remaining: 45591 +LocalWindow.Enqueue() remaining: 45579 +LocalWindow.Enqueue() remaining: 45567 +LocalWindow.Enqueue() remaining: 45555 +LocalWindow.Enqueue() remaining: 45543 +LocalWindow.Enqueue() remaining: 45531 +LocalWindow.Enqueue() remaining: 45519 +LocalWindow.Enqueue() remaining: 45507 +LocalWindow.Enqueue() remaining: 45495 +LocalWindow.Enqueue() remaining: 45483 +LocalWindow.Enqueue() remaining: 45471 +LocalWindow.Enqueue() remaining: 45459 +LocalWindow.Enqueue() remaining: 45447 +LocalWindow.Enqueue() remaining: 45435 +LocalWindow.Enqueue() remaining: 45423 +LocalWindow.Enqueue() remaining: 45411 +LocalWindow.Enqueue() remaining: 45399 +LocalWindow.Enqueue() remaining: 45387 +LocalWindow.Enqueue() remaining: 45375 +LocalWindow.Enqueue() remaining: 45363 +LocalWindow.Enqueue() remaining: 45351 +LocalWindow.Enqueue() remaining: 45339 +LocalWindow.Enqueue() remaining: 45327 +LocalWindow.Enqueue() remaining: 45315 +LocalWindow.Enqueue() remaining: 45303 +LocalWindow.Enqueue() remaining: 45291 +LocalWindow.Enqueue() remaining: 45279 +LocalWindow.Enqueue() remaining: 45267 +LocalWindow.Enqueue() remaining: 45255 +LocalWindow.Enqueue() remaining: 45243 +LocalWindow.Enqueue() remaining: 45231 +LocalWindow.Enqueue() remaining: 45219 +LocalWindow.Enqueue() remaining: 45207 +LocalWindow.Enqueue() remaining: 45195 +LocalWindow.Enqueue() remaining: 45183 +LocalWindow.Enqueue() remaining: 45171 +LocalWindow.Enqueue() remaining: 45159 +LocalWindow.Enqueue() remaining: 45147 +LocalWindow.Enqueue() remaining: 45135 +LocalWindow.Enqueue() remaining: 45123 +LocalWindow.Enqueue() remaining: 45111 +LocalWindow.Enqueue() remaining: 45099 +LocalWindow.Enqueue() remaining: 45087 +LocalWindow.Enqueue() remaining: 45075 +LocalWindow.Enqueue() remaining: 45063 +LocalWindow.Enqueue() remaining: 45051 +LocalWindow.Enqueue() remaining: 45039 +LocalWindow.Enqueue() remaining: 45027 +LocalWindow.Enqueue() remaining: 45015 +LocalWindow.Enqueue() remaining: 45003 +LocalWindow.Enqueue() remaining: 44991 +LocalWindow.Enqueue() remaining: 44979 +LocalWindow.Enqueue() remaining: 44967 +LocalWindow.Enqueue() remaining: 44955 +LocalWindow.Enqueue() remaining: 44943 +LocalWindow.Enqueue() remaining: 44931 +LocalWindow.Enqueue() remaining: 44919 +LocalWindow.Enqueue() remaining: 44907 +LocalWindow.Enqueue() remaining: 44895 +LocalWindow.Enqueue() remaining: 44883 +LocalWindow.Enqueue() remaining: 44871 +LocalWindow.Enqueue() remaining: 44859 +LocalWindow.Enqueue() remaining: 44847 +LocalWindow.Enqueue() remaining: 44835 +LocalWindow.Enqueue() remaining: 44823 +LocalWindow.Enqueue() remaining: 44811 +LocalWindow.Enqueue() remaining: 44799 +LocalWindow.Enqueue() remaining: 44787 +LocalWindow.Enqueue() remaining: 44775 +LocalWindow.Enqueue() remaining: 44763 +LocalWindow.Enqueue() remaining: 44751 +LocalWindow.Enqueue() remaining: 44739 +LocalWindow.Enqueue() remaining: 44727 +LocalWindow.Enqueue() remaining: 44715 +LocalWindow.Enqueue() remaining: 44703 +LocalWindow.Enqueue() remaining: 44691 +LocalWindow.Enqueue() remaining: 44679 +LocalWindow.Enqueue() remaining: 44667 +LocalWindow.Enqueue() remaining: 44655 +LocalWindow.Enqueue() remaining: 44643 +LocalWindow.Enqueue() remaining: 44631 +LocalWindow.Enqueue() remaining: 44619 +LocalWindow.Enqueue() remaining: 44607 +LocalWindow.Enqueue() remaining: 44595 +LocalWindow.Enqueue() remaining: 44583 +LocalWindow.Enqueue() remaining: 44571 +LocalWindow.Enqueue() remaining: 44559 +LocalWindow.Enqueue() remaining: 44547 +LocalWindow.Enqueue() remaining: 44535 +LocalWindow.Enqueue() remaining: 44523 +LocalWindow.Enqueue() remaining: 44511 +LocalWindow.Enqueue() remaining: 44499 +LocalWindow.Enqueue() remaining: 44487 +LocalWindow.Enqueue() remaining: 44475 +LocalWindow.Enqueue() remaining: 44463 +LocalWindow.Enqueue() remaining: 44451 +LocalWindow.Enqueue() remaining: 44439 +LocalWindow.Enqueue() remaining: 44427 +LocalWindow.Enqueue() remaining: 44415 +LocalWindow.Enqueue() remaining: 44403 +LocalWindow.Enqueue() remaining: 44391 +LocalWindow.Enqueue() remaining: 44379 +LocalWindow.Enqueue() remaining: 44367 +LocalWindow.Enqueue() remaining: 44355 +LocalWindow.Enqueue() remaining: 44343 +LocalWindow.Enqueue() remaining: 44331 +LocalWindow.Enqueue() remaining: 44319 +LocalWindow.Enqueue() remaining: 44307 +LocalWindow.Enqueue() remaining: 44295 +LocalWindow.Enqueue() remaining: 44283 +LocalWindow.Enqueue() remaining: 44271 +LocalWindow.Enqueue() remaining: 44259 +LocalWindow.Enqueue() remaining: 44247 +LocalWindow.Enqueue() remaining: 44235 +LocalWindow.Enqueue() remaining: 44223 +LocalWindow.Enqueue() remaining: 44211 +LocalWindow.Enqueue() remaining: 44199 +LocalWindow.Enqueue() remaining: 44187 +LocalWindow.Enqueue() remaining: 44175 +LocalWindow.Enqueue() remaining: 44163 +LocalWindow.Enqueue() remaining: 44151 +LocalWindow.Enqueue() remaining: 44139 +LocalWindow.Enqueue() remaining: 44127 +LocalWindow.Enqueue() remaining: 44115 +LocalWindow.Enqueue() remaining: 44103 +LocalWindow.Enqueue() remaining: 44091 +LocalWindow.Enqueue() remaining: 44079 +LocalWindow.Enqueue() remaining: 44067 +LocalWindow.Enqueue() remaining: 44055 +LocalWindow.Enqueue() remaining: 44043 +LocalWindow.Enqueue() remaining: 44031 +LocalWindow.Enqueue() remaining: 44019 +LocalWindow.Enqueue() remaining: 44007 +LocalWindow.Enqueue() remaining: 43995 +LocalWindow.Enqueue() remaining: 43983 +LocalWindow.Enqueue() remaining: 43971 +LocalWindow.Enqueue() remaining: 43959 +LocalWindow.Enqueue() remaining: 43947 +LocalWindow.Enqueue() remaining: 43935 +LocalWindow.Enqueue() remaining: 43923 +LocalWindow.Enqueue() remaining: 43911 +LocalWindow.Enqueue() remaining: 43899 +LocalWindow.Enqueue() remaining: 43887 +LocalWindow.Enqueue() remaining: 43875 +LocalWindow.Enqueue() remaining: 43863 +LocalWindow.Enqueue() remaining: 43851 +LocalWindow.Enqueue() remaining: 43839 +LocalWindow.Enqueue() remaining: 43827 +LocalWindow.Enqueue() remaining: 43815 +LocalWindow.Enqueue() remaining: 43803 +LocalWindow.Enqueue() remaining: 43791 +LocalWindow.Enqueue() remaining: 43779 +LocalWindow.Enqueue() remaining: 43767 +LocalWindow.Enqueue() remaining: 43755 +LocalWindow.Enqueue() remaining: 43743 +LocalWindow.Enqueue() remaining: 43731 +LocalWindow.Enqueue() remaining: 43719 +LocalWindow.Enqueue() remaining: 43707 +LocalWindow.Enqueue() remaining: 43695 +LocalWindow.Enqueue() remaining: 43683 +LocalWindow.Enqueue() remaining: 43671 +LocalWindow.Enqueue() remaining: 43659 +LocalWindow.Enqueue() remaining: 43647 +LocalWindow.Enqueue() remaining: 43635 +LocalWindow.Enqueue() remaining: 43623 +LocalWindow.Enqueue() remaining: 43611 +LocalWindow.Enqueue() remaining: 43599 +LocalWindow.Enqueue() remaining: 43587 +LocalWindow.Enqueue() remaining: 43575 +LocalWindow.Enqueue() remaining: 43563 +LocalWindow.Enqueue() remaining: 43551 +LocalWindow.Enqueue() remaining: 43539 +LocalWindow.Enqueue() remaining: 43527 +LocalWindow.Enqueue() remaining: 43515 +LocalWindow.Enqueue() remaining: 43503 +LocalWindow.Enqueue() remaining: 43491 +LocalWindow.Enqueue() remaining: 43479 +LocalWindow.Enqueue() remaining: 43467 +LocalWindow.Enqueue() remaining: 43455 +LocalWindow.Enqueue() remaining: 43443 +LocalWindow.Enqueue() remaining: 43431 +LocalWindow.Enqueue() remaining: 43419 +LocalWindow.Enqueue() remaining: 43407 +LocalWindow.Enqueue() remaining: 43395 +LocalWindow.Enqueue() remaining: 43383 +LocalWindow.Enqueue() remaining: 43371 +LocalWindow.Enqueue() remaining: 43359 +LocalWindow.Enqueue() remaining: 43347 +LocalWindow.Enqueue() remaining: 43335 +LocalWindow.Enqueue() remaining: 43323 +LocalWindow.Enqueue() remaining: 43311 +LocalWindow.Enqueue() remaining: 43299 +LocalWindow.Enqueue() remaining: 43287 +LocalWindow.Enqueue() remaining: 43275 +LocalWindow.Enqueue() remaining: 43263 +LocalWindow.Enqueue() remaining: 43251 +LocalWindow.Enqueue() remaining: 43239 +LocalWindow.Enqueue() remaining: 43227 +LocalWindow.Enqueue() remaining: 43215 +LocalWindow.Enqueue() remaining: 43203 +LocalWindow.Enqueue() remaining: 43191 +LocalWindow.Enqueue() remaining: 43179 +LocalWindow.Enqueue() remaining: 43167 +LocalWindow.Enqueue() remaining: 43155 +LocalWindow.Enqueue() remaining: 43143 +LocalWindow.Enqueue() remaining: 43131 +LocalWindow.Enqueue() remaining: 43119 +LocalWindow.Enqueue() remaining: 43107 +LocalWindow.Enqueue() remaining: 43095 +LocalWindow.Enqueue() remaining: 43083 +LocalWindow.Enqueue() remaining: 43071 +LocalWindow.Enqueue() remaining: 43059 +LocalWindow.Enqueue() remaining: 43047 +LocalWindow.Enqueue() remaining: 43035 +LocalWindow.Enqueue() remaining: 43023 +LocalWindow.Enqueue() remaining: 43011 +LocalWindow.Enqueue() remaining: 42999 +LocalWindow.Enqueue() remaining: 42987 +LocalWindow.Enqueue() remaining: 42975 +LocalWindow.Enqueue() remaining: 42963 +LocalWindow.Enqueue() remaining: 42951 +LocalWindow.Enqueue() remaining: 42939 +LocalWindow.Enqueue() remaining: 42927 +LocalWindow.Enqueue() remaining: 42915 +LocalWindow.Enqueue() remaining: 42903 +LocalWindow.Enqueue() remaining: 42891 +LocalWindow.Enqueue() remaining: 42879 +LocalWindow.Enqueue() remaining: 42867 +LocalWindow.Enqueue() remaining: 42855 +LocalWindow.Enqueue() remaining: 42843 +LocalWindow.Enqueue() remaining: 42831 +LocalWindow.Enqueue() remaining: 42819 +LocalWindow.Enqueue() remaining: 42807 +LocalWindow.Enqueue() remaining: 42795 +LocalWindow.Enqueue() remaining: 42783 +LocalWindow.Enqueue() remaining: 42771 +LocalWindow.Enqueue() remaining: 42759 +LocalWindow.Enqueue() remaining: 42747 +LocalWindow.Enqueue() remaining: 42735 +LocalWindow.Enqueue() remaining: 42723 +LocalWindow.Enqueue() remaining: 42711 +LocalWindow.Enqueue() remaining: 42699 +LocalWindow.Enqueue() remaining: 42687 +LocalWindow.Enqueue() remaining: 42675 +LocalWindow.Enqueue() remaining: 42663 +LocalWindow.Enqueue() remaining: 42651 +LocalWindow.Enqueue() remaining: 42639 +LocalWindow.Enqueue() remaining: 42627 +LocalWindow.Enqueue() remaining: 42615 +LocalWindow.Enqueue() remaining: 42603 +LocalWindow.Enqueue() remaining: 42591 +LocalWindow.Enqueue() remaining: 42579 +LocalWindow.Enqueue() remaining: 42567 +LocalWindow.Enqueue() remaining: 42555 +LocalWindow.Enqueue() remaining: 42543 +LocalWindow.Enqueue() remaining: 42531 +LocalWindow.Enqueue() remaining: 42519 +LocalWindow.Enqueue() remaining: 42507 +LocalWindow.Enqueue() remaining: 42495 +LocalWindow.Enqueue() remaining: 42483 +LocalWindow.Enqueue() remaining: 42471 +LocalWindow.Enqueue() remaining: 42459 +LocalWindow.Enqueue() remaining: 42447 +LocalWindow.Enqueue() remaining: 42435 +LocalWindow.Enqueue() remaining: 42423 +LocalWindow.Enqueue() remaining: 42411 +LocalWindow.Enqueue() remaining: 42399 +LocalWindow.Enqueue() remaining: 42387 +LocalWindow.Enqueue() remaining: 42375 +LocalWindow.Enqueue() remaining: 42363 +LocalWindow.Enqueue() remaining: 42351 +LocalWindow.Enqueue() remaining: 42339 +LocalWindow.Enqueue() remaining: 42327 +LocalWindow.Enqueue() remaining: 42315 +LocalWindow.Enqueue() remaining: 42303 +LocalWindow.Enqueue() remaining: 42291 +LocalWindow.Enqueue() remaining: 42279 +LocalWindow.Enqueue() remaining: 42267 +LocalWindow.Enqueue() remaining: 42255 +LocalWindow.Enqueue() remaining: 42243 +LocalWindow.Enqueue() remaining: 42231 +LocalWindow.Enqueue() remaining: 42219 +LocalWindow.Enqueue() remaining: 42207 +LocalWindow.Enqueue() remaining: 42195 +LocalWindow.Enqueue() remaining: 42183 +LocalWindow.Enqueue() remaining: 42171 +LocalWindow.Enqueue() remaining: 42159 +LocalWindow.Enqueue() remaining: 42147 +LocalWindow.Enqueue() remaining: 42135 +LocalWindow.Enqueue() remaining: 42123 +LocalWindow.Enqueue() remaining: 42111 +LocalWindow.Enqueue() remaining: 42099 +LocalWindow.Enqueue() remaining: 42087 +LocalWindow.Enqueue() remaining: 42075 +LocalWindow.Enqueue() remaining: 42063 +LocalWindow.Enqueue() remaining: 42051 +LocalWindow.Enqueue() remaining: 42039 +LocalWindow.Enqueue() remaining: 42027 +LocalWindow.Enqueue() remaining: 42015 +LocalWindow.Enqueue() remaining: 42003 +LocalWindow.Enqueue() remaining: 41991 +LocalWindow.Enqueue() remaining: 41979 +LocalWindow.Enqueue() remaining: 41967 +LocalWindow.Enqueue() remaining: 41955 +LocalWindow.Enqueue() remaining: 41943 +LocalWindow.Enqueue() remaining: 41931 +LocalWindow.Enqueue() remaining: 41919 +LocalWindow.Enqueue() remaining: 41907 +LocalWindow.Enqueue() remaining: 41895 +LocalWindow.Enqueue() remaining: 41883 +LocalWindow.Enqueue() remaining: 41871 +LocalWindow.Enqueue() remaining: 41859 +LocalWindow.Enqueue() remaining: 41847 +LocalWindow.Enqueue() remaining: 41835 +LocalWindow.Enqueue() remaining: 41823 +LocalWindow.Enqueue() remaining: 41811 +LocalWindow.Enqueue() remaining: 41799 +LocalWindow.Enqueue() remaining: 41787 +LocalWindow.Enqueue() remaining: 41775 +LocalWindow.Enqueue() remaining: 41763 +LocalWindow.Enqueue() remaining: 41751 +LocalWindow.Enqueue() remaining: 41739 +LocalWindow.Enqueue() remaining: 41727 +LocalWindow.Enqueue() remaining: 41715 +LocalWindow.Enqueue() remaining: 41703 +LocalWindow.Enqueue() remaining: 41691 +LocalWindow.Enqueue() remaining: 41679 +LocalWindow.Enqueue() remaining: 41667 +LocalWindow.Enqueue() remaining: 41655 +LocalWindow.Enqueue() remaining: 41643 +LocalWindow.Enqueue() remaining: 41631 +LocalWindow.Enqueue() remaining: 41619 +LocalWindow.Enqueue() remaining: 41607 +LocalWindow.Enqueue() remaining: 41595 +LocalWindow.Enqueue() remaining: 41583 +LocalWindow.Enqueue() remaining: 41571 +LocalWindow.Enqueue() remaining: 41559 +LocalWindow.Enqueue() remaining: 41547 +LocalWindow.Enqueue() remaining: 41535 +LocalWindow.Enqueue() remaining: 41523 +LocalWindow.Enqueue() remaining: 41511 +LocalWindow.Enqueue() remaining: 41499 +LocalWindow.Enqueue() remaining: 41487 +LocalWindow.Enqueue() remaining: 41475 +LocalWindow.Enqueue() remaining: 41463 +LocalWindow.Enqueue() remaining: 41451 +LocalWindow.Enqueue() remaining: 41439 +LocalWindow.Enqueue() remaining: 41427 +LocalWindow.Enqueue() remaining: 41415 +LocalWindow.Enqueue() remaining: 41403 +LocalWindow.Enqueue() remaining: 41391 +LocalWindow.Enqueue() remaining: 41379 +LocalWindow.Enqueue() remaining: 41367 +LocalWindow.Enqueue() remaining: 41355 +LocalWindow.Enqueue() remaining: 41343 +LocalWindow.Enqueue() remaining: 41331 +LocalWindow.Enqueue() remaining: 41319 +LocalWindow.Enqueue() remaining: 41307 +LocalWindow.Enqueue() remaining: 41295 +LocalWindow.Enqueue() remaining: 41283 +LocalWindow.Enqueue() remaining: 41271 +LocalWindow.Enqueue() remaining: 41259 +LocalWindow.Enqueue() remaining: 41247 +LocalWindow.Enqueue() remaining: 41235 +LocalWindow.Enqueue() remaining: 41223 +LocalWindow.Enqueue() remaining: 41211 +LocalWindow.Enqueue() remaining: 41199 +LocalWindow.Enqueue() remaining: 41187 +LocalWindow.Enqueue() remaining: 41175 +LocalWindow.Enqueue() remaining: 41163 +LocalWindow.Enqueue() remaining: 41151 +LocalWindow.Enqueue() remaining: 41139 +LocalWindow.Enqueue() remaining: 41127 +LocalWindow.Enqueue() remaining: 41115 +LocalWindow.Enqueue() remaining: 41103 +LocalWindow.Enqueue() remaining: 41091 +LocalWindow.Enqueue() remaining: 41079 +LocalWindow.Enqueue() remaining: 41067 +LocalWindow.Enqueue() remaining: 41055 +LocalWindow.Enqueue() remaining: 41043 +LocalWindow.Enqueue() remaining: 41031 +LocalWindow.Enqueue() remaining: 41019 +LocalWindow.Enqueue() remaining: 41007 +LocalWindow.Enqueue() remaining: 40995 +LocalWindow.Enqueue() remaining: 40983 +LocalWindow.Enqueue() remaining: 40971 +LocalWindow.Enqueue() remaining: 40959 +LocalWindow.Enqueue() remaining: 40947 +LocalWindow.Enqueue() remaining: 40935 +LocalWindow.Enqueue() remaining: 40923 +LocalWindow.Enqueue() remaining: 40911 +LocalWindow.Enqueue() remaining: 40899 +LocalWindow.Enqueue() remaining: 40887 +LocalWindow.Enqueue() remaining: 40875 +LocalWindow.Enqueue() remaining: 40863 +LocalWindow.Enqueue() remaining: 40851 +LocalWindow.Enqueue() remaining: 40839 +LocalWindow.Enqueue() remaining: 40827 +LocalWindow.Enqueue() remaining: 40815 +LocalWindow.Enqueue() remaining: 40803 +LocalWindow.Enqueue() remaining: 40791 +LocalWindow.Enqueue() remaining: 40779 +LocalWindow.Enqueue() remaining: 40767 +LocalWindow.Enqueue() remaining: 40755 +LocalWindow.Enqueue() remaining: 40743 +LocalWindow.Enqueue() remaining: 40731 +LocalWindow.Enqueue() remaining: 40719 +LocalWindow.Enqueue() remaining: 40707 +LocalWindow.Enqueue() remaining: 40695 +LocalWindow.Enqueue() remaining: 40683 +LocalWindow.Enqueue() remaining: 40671 +LocalWindow.Enqueue() remaining: 40659 +LocalWindow.Enqueue() remaining: 40647 +LocalWindow.Enqueue() remaining: 40635 +LocalWindow.Enqueue() remaining: 40623 +LocalWindow.Enqueue() remaining: 40611 +LocalWindow.Enqueue() remaining: 40599 +LocalWindow.Enqueue() remaining: 40587 +LocalWindow.Enqueue() remaining: 40575 +LocalWindow.Enqueue() remaining: 40563 +LocalWindow.Enqueue() remaining: 40551 +LocalWindow.Enqueue() remaining: 40539 +LocalWindow.Enqueue() remaining: 40527 +LocalWindow.Enqueue() remaining: 40515 +LocalWindow.Enqueue() remaining: 40503 +LocalWindow.Enqueue() remaining: 40491 +LocalWindow.Enqueue() remaining: 40479 +LocalWindow.Enqueue() remaining: 40467 +LocalWindow.Enqueue() remaining: 40455 +LocalWindow.Enqueue() remaining: 40443 +LocalWindow.Enqueue() remaining: 40431 +LocalWindow.Enqueue() remaining: 40419 +LocalWindow.Enqueue() remaining: 40407 +LocalWindow.Enqueue() remaining: 40395 +LocalWindow.Enqueue() remaining: 40383 +LocalWindow.Enqueue() remaining: 40371 +LocalWindow.Enqueue() remaining: 40359 +LocalWindow.Enqueue() remaining: 40347 +LocalWindow.Enqueue() remaining: 40335 +LocalWindow.Enqueue() remaining: 40323 +LocalWindow.Enqueue() remaining: 40311 +LocalWindow.Enqueue() remaining: 40299 +LocalWindow.Enqueue() remaining: 40287 +LocalWindow.Enqueue() remaining: 40275 +LocalWindow.Enqueue() remaining: 40263 +LocalWindow.Enqueue() remaining: 40251 +LocalWindow.Enqueue() remaining: 40239 +LocalWindow.Enqueue() remaining: 40227 +LocalWindow.Enqueue() remaining: 40215 +LocalWindow.Enqueue() remaining: 40203 +LocalWindow.Enqueue() remaining: 40191 +LocalWindow.Enqueue() remaining: 40179 +LocalWindow.Enqueue() remaining: 40167 +LocalWindow.Enqueue() remaining: 40155 +LocalWindow.Enqueue() remaining: 40143 +LocalWindow.Enqueue() remaining: 40131 +LocalWindow.Enqueue() remaining: 40119 +LocalWindow.Enqueue() remaining: 40107 +LocalWindow.Enqueue() remaining: 40095 +LocalWindow.Enqueue() remaining: 40083 +LocalWindow.Enqueue() remaining: 40071 +LocalWindow.Enqueue() remaining: 40059 +LocalWindow.Enqueue() remaining: 40047 +LocalWindow.Enqueue() remaining: 40035 +LocalWindow.Enqueue() remaining: 40023 +LocalWindow.Enqueue() remaining: 40011 +LocalWindow.Enqueue() remaining: 39999 +LocalWindow.Enqueue() remaining: 39987 +LocalWindow.Enqueue() remaining: 39975 +LocalWindow.Enqueue() remaining: 39963 +LocalWindow.Enqueue() remaining: 39951 +LocalWindow.Enqueue() remaining: 39939 +LocalWindow.Enqueue() remaining: 39927 +LocalWindow.Enqueue() remaining: 39915 +LocalWindow.Enqueue() remaining: 39903 +LocalWindow.Enqueue() remaining: 39891 +LocalWindow.Enqueue() remaining: 39879 +LocalWindow.Enqueue() remaining: 39867 +LocalWindow.Enqueue() remaining: 39855 +LocalWindow.Enqueue() remaining: 39843 +LocalWindow.Enqueue() remaining: 39831 +LocalWindow.Enqueue() remaining: 39819 +LocalWindow.Enqueue() remaining: 39807 +LocalWindow.Enqueue() remaining: 39795 +LocalWindow.Enqueue() remaining: 39783 +LocalWindow.Enqueue() remaining: 39771 +LocalWindow.Enqueue() remaining: 39759 +LocalWindow.Enqueue() remaining: 39747 +LocalWindow.Enqueue() remaining: 39735 +LocalWindow.Enqueue() remaining: 39723 +LocalWindow.Enqueue() remaining: 39711 +LocalWindow.Enqueue() remaining: 39699 +LocalWindow.Enqueue() remaining: 39687 +LocalWindow.Enqueue() remaining: 39675 +LocalWindow.Enqueue() remaining: 39663 +LocalWindow.Enqueue() remaining: 39651 +LocalWindow.Enqueue() remaining: 39639 +LocalWindow.Enqueue() remaining: 39627 +LocalWindow.Enqueue() remaining: 39615 +LocalWindow.Enqueue() remaining: 39603 +LocalWindow.Enqueue() remaining: 39591 +LocalWindow.Enqueue() remaining: 39579 +LocalWindow.Enqueue() remaining: 39567 +LocalWindow.Enqueue() remaining: 39555 +LocalWindow.Enqueue() remaining: 39543 +LocalWindow.Enqueue() remaining: 39531 +LocalWindow.Enqueue() remaining: 39519 +LocalWindow.Enqueue() remaining: 39507 +LocalWindow.Enqueue() remaining: 39495 +LocalWindow.Enqueue() remaining: 39483 +LocalWindow.Enqueue() remaining: 39471 +LocalWindow.Enqueue() remaining: 39459 +LocalWindow.Enqueue() remaining: 39447 +LocalWindow.Enqueue() remaining: 39435 +LocalWindow.Enqueue() remaining: 39423 +LocalWindow.Enqueue() remaining: 39411 +LocalWindow.Enqueue() remaining: 39399 +LocalWindow.Enqueue() remaining: 39387 +LocalWindow.Enqueue() remaining: 39375 +LocalWindow.Enqueue() remaining: 39363 +LocalWindow.Enqueue() remaining: 39351 +LocalWindow.Enqueue() remaining: 39339 +LocalWindow.Enqueue() remaining: 39327 +LocalWindow.Enqueue() remaining: 39315 +LocalWindow.Enqueue() remaining: 39303 +LocalWindow.Enqueue() remaining: 39291 +LocalWindow.Enqueue() remaining: 39279 +LocalWindow.Enqueue() remaining: 39267 +LocalWindow.Enqueue() remaining: 39255 +LocalWindow.Enqueue() remaining: 39243 +LocalWindow.Enqueue() remaining: 39231 +LocalWindow.Enqueue() remaining: 39219 +LocalWindow.Enqueue() remaining: 39207 +LocalWindow.Enqueue() remaining: 39195 +LocalWindow.Enqueue() remaining: 39183 +LocalWindow.Enqueue() remaining: 39171 +LocalWindow.Enqueue() remaining: 39159 +LocalWindow.Enqueue() remaining: 39147 +LocalWindow.Enqueue() remaining: 39135 +LocalWindow.Enqueue() remaining: 39123 +LocalWindow.Enqueue() remaining: 39111 +LocalWindow.Enqueue() remaining: 39099 +LocalWindow.Enqueue() remaining: 39087 +LocalWindow.Enqueue() remaining: 39075 +LocalWindow.Enqueue() remaining: 39063 +LocalWindow.Enqueue() remaining: 39051 +LocalWindow.Enqueue() remaining: 39039 +LocalWindow.Enqueue() remaining: 39027 +LocalWindow.Enqueue() remaining: 39015 +LocalWindow.Enqueue() remaining: 39003 +LocalWindow.Enqueue() remaining: 38991 +LocalWindow.Enqueue() remaining: 38979 +LocalWindow.Enqueue() remaining: 38967 +LocalWindow.Enqueue() remaining: 38955 +LocalWindow.Enqueue() remaining: 38943 +LocalWindow.Enqueue() remaining: 38931 +LocalWindow.Enqueue() remaining: 38919 +LocalWindow.Enqueue() remaining: 38907 +LocalWindow.Enqueue() remaining: 38895 +LocalWindow.Enqueue() remaining: 38883 +LocalWindow.Enqueue() remaining: 38871 +LocalWindow.Enqueue() remaining: 38859 +LocalWindow.Enqueue() remaining: 38847 +LocalWindow.Enqueue() remaining: 38835 +LocalWindow.Enqueue() remaining: 38823 +LocalWindow.Enqueue() remaining: 38811 +LocalWindow.Enqueue() remaining: 38799 +LocalWindow.Enqueue() remaining: 38787 +LocalWindow.Enqueue() remaining: 38775 +LocalWindow.Enqueue() remaining: 38763 +LocalWindow.Enqueue() remaining: 38751 +LocalWindow.Enqueue() remaining: 38739 +LocalWindow.Enqueue() remaining: 38727 +LocalWindow.Enqueue() remaining: 38715 +LocalWindow.Enqueue() remaining: 38703 +LocalWindow.Enqueue() remaining: 38691 +LocalWindow.Enqueue() remaining: 38679 +LocalWindow.Enqueue() remaining: 38667 +LocalWindow.Enqueue() remaining: 38655 +LocalWindow.Enqueue() remaining: 38643 +LocalWindow.Enqueue() remaining: 38631 +LocalWindow.Enqueue() remaining: 38619 +LocalWindow.Enqueue() remaining: 38607 +LocalWindow.Enqueue() remaining: 38595 +LocalWindow.Enqueue() remaining: 38583 +LocalWindow.Enqueue() remaining: 38571 +LocalWindow.Enqueue() remaining: 38559 +LocalWindow.Enqueue() remaining: 38547 +LocalWindow.Enqueue() remaining: 38535 +LocalWindow.Enqueue() remaining: 38523 +LocalWindow.Enqueue() remaining: 38511 +LocalWindow.Enqueue() remaining: 38499 +LocalWindow.Enqueue() remaining: 38487 +LocalWindow.Enqueue() remaining: 38475 +LocalWindow.Enqueue() remaining: 38463 +LocalWindow.Enqueue() remaining: 38451 +LocalWindow.Enqueue() remaining: 38439 +LocalWindow.Enqueue() remaining: 38427 +LocalWindow.Enqueue() remaining: 38415 +LocalWindow.Enqueue() remaining: 38403 +LocalWindow.Enqueue() remaining: 38391 +LocalWindow.Enqueue() remaining: 38379 +LocalWindow.Enqueue() remaining: 38367 +LocalWindow.Enqueue() remaining: 38355 +LocalWindow.Enqueue() remaining: 38343 +LocalWindow.Enqueue() remaining: 38331 +LocalWindow.Enqueue() remaining: 38319 +LocalWindow.Enqueue() remaining: 38307 +LocalWindow.Enqueue() remaining: 38295 +LocalWindow.Enqueue() remaining: 38283 +LocalWindow.Enqueue() remaining: 38271 +LocalWindow.Enqueue() remaining: 38259 +LocalWindow.Enqueue() remaining: 38247 +LocalWindow.Enqueue() remaining: 38235 +LocalWindow.Enqueue() remaining: 38223 +LocalWindow.Enqueue() remaining: 38211 +LocalWindow.Enqueue() remaining: 38199 +LocalWindow.Enqueue() remaining: 38187 +LocalWindow.Enqueue() remaining: 38175 +LocalWindow.Enqueue() remaining: 38163 +LocalWindow.Enqueue() remaining: 38151 +LocalWindow.Enqueue() remaining: 38139 +LocalWindow.Enqueue() remaining: 38127 +LocalWindow.Enqueue() remaining: 38115 +LocalWindow.Enqueue() remaining: 38103 +LocalWindow.Enqueue() remaining: 38091 +LocalWindow.Enqueue() remaining: 38079 +LocalWindow.Enqueue() remaining: 38067 +LocalWindow.Enqueue() remaining: 38055 +LocalWindow.Enqueue() remaining: 38043 +LocalWindow.Enqueue() remaining: 38031 +LocalWindow.Enqueue() remaining: 38019 +LocalWindow.Enqueue() remaining: 38007 +LocalWindow.Enqueue() remaining: 37995 +LocalWindow.Enqueue() remaining: 37983 +LocalWindow.Enqueue() remaining: 37971 +LocalWindow.Enqueue() remaining: 37959 +LocalWindow.Enqueue() remaining: 37947 +LocalWindow.Enqueue() remaining: 37935 +LocalWindow.Enqueue() remaining: 37923 +LocalWindow.Enqueue() remaining: 37911 +LocalWindow.Enqueue() remaining: 37899 +LocalWindow.Enqueue() remaining: 37887 +LocalWindow.Enqueue() remaining: 37875 +LocalWindow.Enqueue() remaining: 37863 +LocalWindow.Enqueue() remaining: 37851 +LocalWindow.Enqueue() remaining: 37839 +LocalWindow.Enqueue() remaining: 37827 +LocalWindow.Enqueue() remaining: 37815 +LocalWindow.Enqueue() remaining: 37803 +LocalWindow.Enqueue() remaining: 37791 +LocalWindow.Enqueue() remaining: 37779 +LocalWindow.Enqueue() remaining: 37767 +LocalWindow.Enqueue() remaining: 37755 +LocalWindow.Enqueue() remaining: 37743 +LocalWindow.Enqueue() remaining: 37731 +LocalWindow.Enqueue() remaining: 37719 +LocalWindow.Enqueue() remaining: 37707 +LocalWindow.Enqueue() remaining: 37695 +LocalWindow.Enqueue() remaining: 37683 +LocalWindow.Enqueue() remaining: 37671 +LocalWindow.Enqueue() remaining: 37659 +LocalWindow.Enqueue() remaining: 37647 +LocalWindow.Enqueue() remaining: 37635 +LocalWindow.Enqueue() remaining: 37623 +LocalWindow.Enqueue() remaining: 37611 +LocalWindow.Enqueue() remaining: 37599 +LocalWindow.Enqueue() remaining: 37587 +LocalWindow.Enqueue() remaining: 37575 +LocalWindow.Enqueue() remaining: 37563 +LocalWindow.Enqueue() remaining: 37551 +LocalWindow.Enqueue() remaining: 37539 +LocalWindow.Enqueue() remaining: 37527 +LocalWindow.Enqueue() remaining: 37515 +LocalWindow.Enqueue() remaining: 37503 +LocalWindow.Enqueue() remaining: 37491 +LocalWindow.Enqueue() remaining: 37479 +LocalWindow.Enqueue() remaining: 37467 +LocalWindow.Enqueue() remaining: 37455 +LocalWindow.Enqueue() remaining: 37443 +LocalWindow.Enqueue() remaining: 37431 +LocalWindow.Enqueue() remaining: 37419 +LocalWindow.Enqueue() remaining: 37407 +LocalWindow.Enqueue() remaining: 37395 +LocalWindow.Enqueue() remaining: 37383 +LocalWindow.Enqueue() remaining: 37371 +LocalWindow.Enqueue() remaining: 37359 +LocalWindow.Enqueue() remaining: 37347 +LocalWindow.Enqueue() remaining: 37335 +LocalWindow.Enqueue() remaining: 37323 +LocalWindow.Enqueue() remaining: 37311 +LocalWindow.Enqueue() remaining: 37299 +LocalWindow.Enqueue() remaining: 37287 +LocalWindow.Enqueue() remaining: 37275 +LocalWindow.Enqueue() remaining: 37263 +LocalWindow.Enqueue() remaining: 37251 +LocalWindow.Enqueue() remaining: 37239 +LocalWindow.Enqueue() remaining: 37227 +LocalWindow.Enqueue() remaining: 37215 +LocalWindow.Enqueue() remaining: 37203 +LocalWindow.Enqueue() remaining: 37191 +LocalWindow.Enqueue() remaining: 37179 +LocalWindow.Enqueue() remaining: 37167 +LocalWindow.Enqueue() remaining: 37155 +LocalWindow.Enqueue() remaining: 37143 +LocalWindow.Enqueue() remaining: 37131 +LocalWindow.Enqueue() remaining: 37119 +LocalWindow.Enqueue() remaining: 37107 +LocalWindow.Enqueue() remaining: 37095 +LocalWindow.Enqueue() remaining: 37083 +LocalWindow.Enqueue() remaining: 37071 +LocalWindow.Enqueue() remaining: 37059 +LocalWindow.Enqueue() remaining: 37047 +LocalWindow.Enqueue() remaining: 37035 +LocalWindow.Enqueue() remaining: 37023 +LocalWindow.Enqueue() remaining: 37011 +LocalWindow.Enqueue() remaining: 36999 +LocalWindow.Enqueue() remaining: 36987 +LocalWindow.Enqueue() remaining: 36975 +LocalWindow.Enqueue() remaining: 36963 +LocalWindow.Enqueue() remaining: 36951 +LocalWindow.Enqueue() remaining: 36939 +LocalWindow.Enqueue() remaining: 36927 +LocalWindow.Enqueue() remaining: 36915 +LocalWindow.Enqueue() remaining: 36903 +LocalWindow.Enqueue() remaining: 36891 +LocalWindow.Enqueue() remaining: 36879 +LocalWindow.Enqueue() remaining: 36867 +LocalWindow.Enqueue() remaining: 36855 +LocalWindow.Enqueue() remaining: 36843 +LocalWindow.Enqueue() remaining: 36831 +LocalWindow.Enqueue() remaining: 36819 +LocalWindow.Enqueue() remaining: 36807 +LocalWindow.Enqueue() remaining: 36795 +LocalWindow.Enqueue() remaining: 36783 +LocalWindow.Enqueue() remaining: 36771 +LocalWindow.Enqueue() remaining: 36759 +LocalWindow.Enqueue() remaining: 36747 +LocalWindow.Enqueue() remaining: 36735 +LocalWindow.Enqueue() remaining: 36723 +LocalWindow.Enqueue() remaining: 36711 +LocalWindow.Enqueue() remaining: 36699 +LocalWindow.Enqueue() remaining: 36687 +LocalWindow.Enqueue() remaining: 36675 +LocalWindow.Enqueue() remaining: 36663 +LocalWindow.Enqueue() remaining: 36651 +LocalWindow.Enqueue() remaining: 36639 +LocalWindow.Enqueue() remaining: 36627 +LocalWindow.Enqueue() remaining: 36615 +LocalWindow.Enqueue() remaining: 36603 +LocalWindow.Enqueue() remaining: 36591 +LocalWindow.Enqueue() remaining: 36579 +LocalWindow.Enqueue() remaining: 36567 +LocalWindow.Enqueue() remaining: 36555 +LocalWindow.Enqueue() remaining: 36543 +LocalWindow.Enqueue() remaining: 36531 +LocalWindow.Enqueue() remaining: 36519 +LocalWindow.Enqueue() remaining: 36507 +LocalWindow.Enqueue() remaining: 36495 +LocalWindow.Enqueue() remaining: 36483 +LocalWindow.Enqueue() remaining: 36471 +LocalWindow.Enqueue() remaining: 36459 +LocalWindow.Enqueue() remaining: 36447 +LocalWindow.Enqueue() remaining: 36435 +LocalWindow.Enqueue() remaining: 36423 +LocalWindow.Enqueue() remaining: 36411 +LocalWindow.Enqueue() remaining: 36399 +LocalWindow.Enqueue() remaining: 36387 +LocalWindow.Enqueue() remaining: 36375 +LocalWindow.Enqueue() remaining: 36363 +LocalWindow.Enqueue() remaining: 36351 +LocalWindow.Enqueue() remaining: 36339 +LocalWindow.Enqueue() remaining: 36327 +LocalWindow.Enqueue() remaining: 36315 +LocalWindow.Enqueue() remaining: 36303 +LocalWindow.Enqueue() remaining: 36291 +LocalWindow.Enqueue() remaining: 36279 +LocalWindow.Enqueue() remaining: 36267 +LocalWindow.Enqueue() remaining: 36255 +LocalWindow.Enqueue() remaining: 36243 +LocalWindow.Enqueue() remaining: 36231 +LocalWindow.Enqueue() remaining: 36219 +LocalWindow.Enqueue() remaining: 36207 +LocalWindow.Enqueue() remaining: 36195 +LocalWindow.Enqueue() remaining: 36183 +LocalWindow.Enqueue() remaining: 36171 +LocalWindow.Enqueue() remaining: 36159 +LocalWindow.Enqueue() remaining: 36147 +LocalWindow.Enqueue() remaining: 36135 +LocalWindow.Enqueue() remaining: 36123 +LocalWindow.Enqueue() remaining: 36111 +LocalWindow.Enqueue() remaining: 36099 +LocalWindow.Enqueue() remaining: 36087 +LocalWindow.Enqueue() remaining: 36075 +LocalWindow.Enqueue() remaining: 36063 +LocalWindow.Enqueue() remaining: 36051 +LocalWindow.Enqueue() remaining: 36039 +LocalWindow.Enqueue() remaining: 36027 +LocalWindow.Enqueue() remaining: 36015 +LocalWindow.Enqueue() remaining: 36003 +LocalWindow.Enqueue() remaining: 35991 +LocalWindow.Enqueue() remaining: 35979 +LocalWindow.Enqueue() remaining: 35967 +LocalWindow.Enqueue() remaining: 35955 +LocalWindow.Enqueue() remaining: 35943 +LocalWindow.Enqueue() remaining: 35931 +LocalWindow.Enqueue() remaining: 35919 +LocalWindow.Enqueue() remaining: 35907 +LocalWindow.Enqueue() remaining: 35895 +LocalWindow.Enqueue() remaining: 35883 +LocalWindow.Enqueue() remaining: 35871 +LocalWindow.Enqueue() remaining: 35859 +LocalWindow.Enqueue() remaining: 35847 +LocalWindow.Enqueue() remaining: 35835 +LocalWindow.Enqueue() remaining: 35823 +LocalWindow.Enqueue() remaining: 35811 +LocalWindow.Enqueue() remaining: 35799 +LocalWindow.Enqueue() remaining: 35787 +LocalWindow.Enqueue() remaining: 35775 +LocalWindow.Enqueue() remaining: 35763 +LocalWindow.Enqueue() remaining: 35751 +LocalWindow.Enqueue() remaining: 35739 +LocalWindow.Enqueue() remaining: 35727 +LocalWindow.Enqueue() remaining: 35715 +LocalWindow.Enqueue() remaining: 35703 +LocalWindow.Enqueue() remaining: 35691 +LocalWindow.Enqueue() remaining: 35679 +LocalWindow.Enqueue() remaining: 35667 +LocalWindow.Enqueue() remaining: 35655 +LocalWindow.Enqueue() remaining: 35643 +LocalWindow.Enqueue() remaining: 35631 +LocalWindow.Enqueue() remaining: 35619 +LocalWindow.Enqueue() remaining: 35607 +LocalWindow.Enqueue() remaining: 35595 +LocalWindow.Enqueue() remaining: 35583 +LocalWindow.Enqueue() remaining: 35571 +LocalWindow.Enqueue() remaining: 35559 +LocalWindow.Enqueue() remaining: 35547 +LocalWindow.Enqueue() remaining: 35535 +LocalWindow.Enqueue() remaining: 35523 +LocalWindow.Enqueue() remaining: 35511 +LocalWindow.Enqueue() remaining: 35499 +LocalWindow.Enqueue() remaining: 35487 +LocalWindow.Enqueue() remaining: 35475 +LocalWindow.Enqueue() remaining: 35463 +LocalWindow.Enqueue() remaining: 35451 +LocalWindow.Enqueue() remaining: 35439 +LocalWindow.Enqueue() remaining: 35427 +LocalWindow.Enqueue() remaining: 35415 +LocalWindow.Enqueue() remaining: 35403 +LocalWindow.Enqueue() remaining: 35391 +LocalWindow.Enqueue() remaining: 35379 +LocalWindow.Enqueue() remaining: 35367 +LocalWindow.Enqueue() remaining: 35355 +LocalWindow.Enqueue() remaining: 35343 +LocalWindow.Enqueue() remaining: 35331 +LocalWindow.Enqueue() remaining: 35319 +LocalWindow.Enqueue() remaining: 35307 +LocalWindow.Enqueue() remaining: 35295 +LocalWindow.Enqueue() remaining: 35283 +LocalWindow.Enqueue() remaining: 35271 +LocalWindow.Enqueue() remaining: 35259 +LocalWindow.Enqueue() remaining: 35247 +LocalWindow.Enqueue() remaining: 35235 +LocalWindow.Enqueue() remaining: 35223 +LocalWindow.Enqueue() remaining: 35211 +LocalWindow.Enqueue() remaining: 35199 +LocalWindow.Enqueue() remaining: 35187 +LocalWindow.Enqueue() remaining: 35175 +LocalWindow.Enqueue() remaining: 35163 +LocalWindow.Enqueue() remaining: 35151 +LocalWindow.Enqueue() remaining: 35139 +LocalWindow.Enqueue() remaining: 35127 +LocalWindow.Enqueue() remaining: 35115 +LocalWindow.Enqueue() remaining: 35103 +LocalWindow.Enqueue() remaining: 35091 +LocalWindow.Enqueue() remaining: 35079 +LocalWindow.Enqueue() remaining: 35067 +LocalWindow.Enqueue() remaining: 35055 +LocalWindow.Enqueue() remaining: 35043 +LocalWindow.Enqueue() remaining: 35031 +LocalWindow.Enqueue() remaining: 35019 +LocalWindow.Enqueue() remaining: 35007 +LocalWindow.Enqueue() remaining: 34995 +LocalWindow.Enqueue() remaining: 34983 +LocalWindow.Enqueue() remaining: 34971 +LocalWindow.Enqueue() remaining: 34959 +LocalWindow.Enqueue() remaining: 34947 +LocalWindow.Enqueue() remaining: 34935 +LocalWindow.Enqueue() remaining: 34923 +LocalWindow.Enqueue() remaining: 34911 +LocalWindow.Enqueue() remaining: 34899 +LocalWindow.Enqueue() remaining: 34887 +LocalWindow.Enqueue() remaining: 34875 +LocalWindow.Enqueue() remaining: 34863 +LocalWindow.Enqueue() remaining: 34851 +LocalWindow.Enqueue() remaining: 34839 +LocalWindow.Enqueue() remaining: 34827 +LocalWindow.Enqueue() remaining: 34815 +LocalWindow.Enqueue() remaining: 34803 +LocalWindow.Enqueue() remaining: 34791 +LocalWindow.Enqueue() remaining: 34779 +LocalWindow.Enqueue() remaining: 34767 +LocalWindow.Enqueue() remaining: 34755 +LocalWindow.Enqueue() remaining: 34743 +LocalWindow.Enqueue() remaining: 34731 +LocalWindow.Enqueue() remaining: 34719 +LocalWindow.Enqueue() remaining: 34707 +LocalWindow.Enqueue() remaining: 34695 +LocalWindow.Enqueue() remaining: 34683 +LocalWindow.Enqueue() remaining: 34671 +LocalWindow.Enqueue() remaining: 34659 +LocalWindow.Enqueue() remaining: 34647 +LocalWindow.Enqueue() remaining: 34635 +LocalWindow.Enqueue() remaining: 34623 +LocalWindow.Enqueue() remaining: 34611 +LocalWindow.Enqueue() remaining: 34599 +LocalWindow.Enqueue() remaining: 34587 +LocalWindow.Enqueue() remaining: 34575 +LocalWindow.Enqueue() remaining: 34563 +LocalWindow.Enqueue() remaining: 34551 +LocalWindow.Enqueue() remaining: 34539 +LocalWindow.Enqueue() remaining: 34527 +LocalWindow.Enqueue() remaining: 34515 +LocalWindow.Enqueue() remaining: 34503 +LocalWindow.Enqueue() remaining: 34491 +LocalWindow.Enqueue() remaining: 34479 +LocalWindow.Enqueue() remaining: 34467 +LocalWindow.Enqueue() remaining: 34455 +LocalWindow.Enqueue() remaining: 34443 +LocalWindow.Enqueue() remaining: 34431 +LocalWindow.Enqueue() remaining: 34419 +LocalWindow.Enqueue() remaining: 34407 +LocalWindow.Enqueue() remaining: 34395 +LocalWindow.Enqueue() remaining: 34383 +LocalWindow.Enqueue() remaining: 34371 +LocalWindow.Enqueue() remaining: 34359 +LocalWindow.Enqueue() remaining: 34347 +LocalWindow.Enqueue() remaining: 34335 +LocalWindow.Enqueue() remaining: 34323 +LocalWindow.Enqueue() remaining: 34311 +LocalWindow.Enqueue() remaining: 34299 +LocalWindow.Enqueue() remaining: 34287 +LocalWindow.Enqueue() remaining: 34275 +LocalWindow.Enqueue() remaining: 34263 +LocalWindow.Enqueue() remaining: 34251 +LocalWindow.Enqueue() remaining: 34239 +LocalWindow.Enqueue() remaining: 34227 +LocalWindow.Enqueue() remaining: 34215 +LocalWindow.Enqueue() remaining: 34203 +LocalWindow.Enqueue() remaining: 34191 +LocalWindow.Enqueue() remaining: 34179 +LocalWindow.Enqueue() remaining: 34167 +LocalWindow.Enqueue() remaining: 34155 +LocalWindow.Enqueue() remaining: 34143 +LocalWindow.Enqueue() remaining: 34131 +LocalWindow.Enqueue() remaining: 34119 +LocalWindow.Enqueue() remaining: 34107 +LocalWindow.Enqueue() remaining: 34095 +LocalWindow.Enqueue() remaining: 34083 +LocalWindow.Enqueue() remaining: 34071 +LocalWindow.Enqueue() remaining: 34059 +LocalWindow.Enqueue() remaining: 34047 +LocalWindow.Enqueue() remaining: 34035 +LocalWindow.Enqueue() remaining: 34023 +LocalWindow.Enqueue() remaining: 34011 +LocalWindow.Enqueue() remaining: 33999 +LocalWindow.Enqueue() remaining: 33987 +LocalWindow.Enqueue() remaining: 33975 +LocalWindow.Enqueue() remaining: 33963 +LocalWindow.Enqueue() remaining: 33951 +LocalWindow.Enqueue() remaining: 33939 +LocalWindow.Enqueue() remaining: 33927 +LocalWindow.Enqueue() remaining: 33915 +LocalWindow.Enqueue() remaining: 33903 +LocalWindow.Enqueue() remaining: 33891 +LocalWindow.Enqueue() remaining: 33879 +LocalWindow.Enqueue() remaining: 33867 +LocalWindow.Enqueue() remaining: 33855 +LocalWindow.Enqueue() remaining: 33843 +LocalWindow.Enqueue() remaining: 33831 +LocalWindow.Enqueue() remaining: 33819 +LocalWindow.Enqueue() remaining: 33807 +LocalWindow.Enqueue() remaining: 33795 +LocalWindow.Enqueue() remaining: 33783 +LocalWindow.Enqueue() remaining: 33771 +LocalWindow.Enqueue() remaining: 33759 +LocalWindow.Enqueue() remaining: 33747 +LocalWindow.Enqueue() remaining: 33735 +LocalWindow.Enqueue() remaining: 33723 +LocalWindow.Enqueue() remaining: 33711 +LocalWindow.Enqueue() remaining: 33699 +LocalWindow.Enqueue() remaining: 33687 +LocalWindow.Enqueue() remaining: 33675 +LocalWindow.Enqueue() remaining: 33663 +LocalWindow.Enqueue() remaining: 33651 +LocalWindow.Enqueue() remaining: 33639 +LocalWindow.Enqueue() remaining: 33627 +LocalWindow.Enqueue() remaining: 33615 +LocalWindow.Enqueue() remaining: 33603 +LocalWindow.Enqueue() remaining: 33591 +LocalWindow.Enqueue() remaining: 33579 +LocalWindow.Enqueue() remaining: 33567 +LocalWindow.Enqueue() remaining: 33555 +LocalWindow.Enqueue() remaining: 33543 +LocalWindow.Enqueue() remaining: 33531 +LocalWindow.Enqueue() remaining: 33519 +LocalWindow.Enqueue() remaining: 33507 +LocalWindow.Enqueue() remaining: 33495 +LocalWindow.Enqueue() remaining: 33483 +LocalWindow.Enqueue() remaining: 33471 +LocalWindow.Enqueue() remaining: 33459 +LocalWindow.Enqueue() remaining: 33447 +LocalWindow.Enqueue() remaining: 33435 +LocalWindow.Enqueue() remaining: 33423 +LocalWindow.Enqueue() remaining: 33411 +LocalWindow.Enqueue() remaining: 33399 +LocalWindow.Enqueue() remaining: 33387 +LocalWindow.Enqueue() remaining: 33375 +LocalWindow.Enqueue() remaining: 33363 +LocalWindow.Enqueue() remaining: 33351 +LocalWindow.Enqueue() remaining: 33339 +LocalWindow.Enqueue() remaining: 33327 +LocalWindow.Enqueue() remaining: 33315 +LocalWindow.Enqueue() remaining: 33303 +LocalWindow.Enqueue() remaining: 33291 +LocalWindow.Enqueue() remaining: 33279 +LocalWindow.Enqueue() remaining: 33267 +LocalWindow.Enqueue() remaining: 33255 +LocalWindow.Enqueue() remaining: 33243 +LocalWindow.Enqueue() remaining: 33231 +LocalWindow.Enqueue() remaining: 33219 +LocalWindow.Enqueue() remaining: 33207 +LocalWindow.Enqueue() remaining: 33195 +LocalWindow.Enqueue() remaining: 33183 +LocalWindow.Enqueue() remaining: 33171 +LocalWindow.Enqueue() remaining: 33159 +LocalWindow.Enqueue() remaining: 33147 +LocalWindow.Enqueue() remaining: 33135 +LocalWindow.Enqueue() remaining: 33123 +LocalWindow.Enqueue() remaining: 33111 +LocalWindow.Enqueue() remaining: 33099 +LocalWindow.Enqueue() remaining: 33087 +LocalWindow.Enqueue() remaining: 33075 +LocalWindow.Enqueue() remaining: 33063 +LocalWindow.Enqueue() remaining: 33051 +LocalWindow.Enqueue() remaining: 33039 +LocalWindow.Enqueue() remaining: 33027 +LocalWindow.Enqueue() remaining: 33015 +LocalWindow.Enqueue() remaining: 33003 +LocalWindow.Enqueue() remaining: 32991 +LocalWindow.Enqueue() remaining: 32979 +LocalWindow.Enqueue() remaining: 32967 +LocalWindow.Enqueue() remaining: 32955 +LocalWindow.Enqueue() remaining: 32943 +LocalWindow.Enqueue() remaining: 32931 +LocalWindow.Enqueue() remaining: 32919 +LocalWindow.Enqueue() remaining: 32907 +LocalWindow.Enqueue() remaining: 32895 +LocalWindow.Enqueue() remaining: 32883 +LocalWindow.Enqueue() remaining: 32871 +LocalWindow.Enqueue() remaining: 32859 +LocalWindow.Enqueue() remaining: 32847 +LocalWindow.Enqueue() remaining: 32835 +LocalWindow.Enqueue() remaining: 32823 +LocalWindow.Enqueue() remaining: 32811 +LocalWindow.Enqueue() remaining: 32799 +LocalWindow.Enqueue() remaining: 32787 +LocalWindow.Enqueue() remaining: 32775 +LocalWindow.Enqueue() remaining: 32763 +LocalWindow.Enqueue() remaining: 32751 +LocalWindow.Enqueue() remaining: 32739 +LocalWindow.Enqueue() remaining: 32727 +LocalWindow.Enqueue() remaining: 32715 +LocalWindow.Enqueue() remaining: 32703 +LocalWindow.Enqueue() remaining: 32691 +LocalWindow.Enqueue() remaining: 32679 +LocalWindow.Enqueue() remaining: 32667 +LocalWindow.Enqueue() remaining: 32655 +LocalWindow.Enqueue() remaining: 32643 +LocalWindow.Enqueue() remaining: 32631 +LocalWindow.Enqueue() remaining: 32619 +LocalWindow.Enqueue() remaining: 32607 +LocalWindow.Enqueue() remaining: 32595 +LocalWindow.Enqueue() remaining: 32583 +LocalWindow.Enqueue() remaining: 32571 +LocalWindow.Enqueue() remaining: 32559 +LocalWindow.Enqueue() remaining: 32547 +LocalWindow.Enqueue() remaining: 32535 +LocalWindow.Enqueue() remaining: 32523 +LocalWindow.Enqueue() remaining: 32511 +LocalWindow.Enqueue() remaining: 32499 +LocalWindow.Enqueue() remaining: 32487 +LocalWindow.Enqueue() remaining: 32475 +LocalWindow.Enqueue() remaining: 32463 +LocalWindow.Enqueue() remaining: 32451 +LocalWindow.Enqueue() remaining: 32439 +LocalWindow.Enqueue() remaining: 32427 +LocalWindow.Enqueue() remaining: 32415 +LocalWindow.Enqueue() remaining: 32403 +LocalWindow.Enqueue() remaining: 32391 +LocalWindow.Enqueue() remaining: 32379 +LocalWindow.Enqueue() remaining: 32367 +LocalWindow.Enqueue() remaining: 32355 +LocalWindow.Enqueue() remaining: 32343 +LocalWindow.Enqueue() remaining: 32331 +LocalWindow.Enqueue() remaining: 32319 +LocalWindow.Enqueue() remaining: 32307 +LocalWindow.Enqueue() remaining: 32295 +LocalWindow.Enqueue() remaining: 32283 +LocalWindow.Enqueue() remaining: 32271 +LocalWindow.Enqueue() remaining: 32259 +LocalWindow.Enqueue() remaining: 32247 +LocalWindow.Enqueue() remaining: 32235 +LocalWindow.Enqueue() remaining: 32223 +LocalWindow.Enqueue() remaining: 32211 +LocalWindow.Enqueue() remaining: 32199 +LocalWindow.Enqueue() remaining: 32187 +LocalWindow.Enqueue() remaining: 32175 +LocalWindow.Enqueue() remaining: 32163 +LocalWindow.Enqueue() remaining: 32151 +LocalWindow.Enqueue() remaining: 32139 +LocalWindow.Enqueue() remaining: 32127 +LocalWindow.Enqueue() remaining: 32115 +LocalWindow.Enqueue() remaining: 32103 +LocalWindow.Enqueue() remaining: 32091 +LocalWindow.Enqueue() remaining: 32079 +LocalWindow.Enqueue() remaining: 32067 +LocalWindow.Enqueue() remaining: 32055 +LocalWindow.Enqueue() remaining: 32043 +LocalWindow.Enqueue() remaining: 32031 +LocalWindow.Enqueue() remaining: 32019 +LocalWindow.Enqueue() remaining: 32007 +LocalWindow.Enqueue() remaining: 31995 +LocalWindow.Enqueue() remaining: 31983 +LocalWindow.Enqueue() remaining: 31971 +LocalWindow.Enqueue() remaining: 31959 +LocalWindow.Enqueue() remaining: 31947 +LocalWindow.Enqueue() remaining: 31935 +LocalWindow.Enqueue() remaining: 31923 +LocalWindow.Enqueue() remaining: 31911 +LocalWindow.Enqueue() remaining: 31899 +LocalWindow.Enqueue() remaining: 31887 +LocalWindow.Enqueue() remaining: 31875 +LocalWindow.Enqueue() remaining: 31863 +LocalWindow.Enqueue() remaining: 31851 +LocalWindow.Enqueue() remaining: 31839 +LocalWindow.Enqueue() remaining: 31827 +LocalWindow.Enqueue() remaining: 31815 +LocalWindow.Enqueue() remaining: 31803 +LocalWindow.Enqueue() remaining: 31791 +LocalWindow.Enqueue() remaining: 31779 +LocalWindow.Enqueue() remaining: 31767 +LocalWindow.Enqueue() remaining: 31755 +LocalWindow.Enqueue() remaining: 31743 +LocalWindow.Enqueue() remaining: 31731 +LocalWindow.Enqueue() remaining: 31719 +LocalWindow.Enqueue() remaining: 31707 +LocalWindow.Enqueue() remaining: 31695 +LocalWindow.Enqueue() remaining: 31683 +LocalWindow.Enqueue() remaining: 31671 +LocalWindow.Enqueue() remaining: 31659 +LocalWindow.Enqueue() remaining: 31647 +LocalWindow.Enqueue() remaining: 31635 +LocalWindow.Enqueue() remaining: 31623 +LocalWindow.Enqueue() remaining: 31611 +LocalWindow.Enqueue() remaining: 31599 +LocalWindow.Enqueue() remaining: 31587 +LocalWindow.Enqueue() remaining: 31575 +LocalWindow.Enqueue() remaining: 31563 +LocalWindow.Enqueue() remaining: 31551 +LocalWindow.Enqueue() remaining: 31539 +LocalWindow.Enqueue() remaining: 31527 +LocalWindow.Enqueue() remaining: 31515 +LocalWindow.Enqueue() remaining: 31503 +LocalWindow.Enqueue() remaining: 31491 +LocalWindow.Enqueue() remaining: 31479 +LocalWindow.Enqueue() remaining: 31467 +LocalWindow.Enqueue() remaining: 31455 +LocalWindow.Enqueue() remaining: 31443 +LocalWindow.Enqueue() remaining: 31431 +LocalWindow.Enqueue() remaining: 31419 +LocalWindow.Enqueue() remaining: 31407 +LocalWindow.Enqueue() remaining: 31395 +LocalWindow.Enqueue() remaining: 31383 +LocalWindow.Enqueue() remaining: 31371 +LocalWindow.Enqueue() remaining: 31359 +LocalWindow.Enqueue() remaining: 31347 +LocalWindow.Enqueue() remaining: 31335 +LocalWindow.Enqueue() remaining: 31323 +LocalWindow.Enqueue() remaining: 31311 +LocalWindow.Enqueue() remaining: 31299 +LocalWindow.Enqueue() remaining: 31287 +LocalWindow.Enqueue() remaining: 31275 +LocalWindow.Enqueue() remaining: 31263 +LocalWindow.Enqueue() remaining: 31251 +LocalWindow.Enqueue() remaining: 31239 +LocalWindow.Enqueue() remaining: 31227 +LocalWindow.Enqueue() remaining: 31215 +LocalWindow.Enqueue() remaining: 31203 +LocalWindow.Enqueue() remaining: 31191 +LocalWindow.Enqueue() remaining: 31179 +LocalWindow.Enqueue() remaining: 31167 +LocalWindow.Enqueue() remaining: 31155 +LocalWindow.Enqueue() remaining: 31143 +LocalWindow.Enqueue() remaining: 31131 +LocalWindow.Enqueue() remaining: 31119 +LocalWindow.Enqueue() remaining: 31107 +LocalWindow.Enqueue() remaining: 31095 +LocalWindow.Enqueue() remaining: 31083 +LocalWindow.Enqueue() remaining: 31071 +LocalWindow.Enqueue() remaining: 31059 +LocalWindow.Enqueue() remaining: 31047 +LocalWindow.Enqueue() remaining: 31035 +LocalWindow.Enqueue() remaining: 31023 +LocalWindow.Enqueue() remaining: 31011 +LocalWindow.Enqueue() remaining: 30999 +LocalWindow.Enqueue() remaining: 30987 +LocalWindow.Enqueue() remaining: 30975 +LocalWindow.Enqueue() remaining: 30963 +LocalWindow.Enqueue() remaining: 30951 +LocalWindow.Enqueue() remaining: 30939 +LocalWindow.Enqueue() remaining: 30927 +LocalWindow.Enqueue() remaining: 30915 +LocalWindow.Enqueue() remaining: 30903 +LocalWindow.Enqueue() remaining: 30891 +LocalWindow.Enqueue() remaining: 30879 +LocalWindow.Enqueue() remaining: 30867 +LocalWindow.Enqueue() remaining: 30855 +LocalWindow.Enqueue() remaining: 30843 +LocalWindow.Enqueue() remaining: 30831 +LocalWindow.Enqueue() remaining: 30819 +LocalWindow.Enqueue() remaining: 30807 +LocalWindow.Enqueue() remaining: 30795 +LocalWindow.Enqueue() remaining: 30783 +LocalWindow.Enqueue() remaining: 30771 +LocalWindow.Enqueue() remaining: 30759 +LocalWindow.Enqueue() remaining: 30747 +LocalWindow.Enqueue() remaining: 30735 +LocalWindow.Enqueue() remaining: 30723 +LocalWindow.Enqueue() remaining: 30711 +LocalWindow.Enqueue() remaining: 30699 +LocalWindow.Enqueue() remaining: 30687 +LocalWindow.Enqueue() remaining: 30675 +LocalWindow.Enqueue() remaining: 30663 +LocalWindow.Enqueue() remaining: 30651 +LocalWindow.Enqueue() remaining: 30639 +LocalWindow.Enqueue() remaining: 30627 +LocalWindow.Enqueue() remaining: 30615 +LocalWindow.Enqueue() remaining: 30603 +LocalWindow.Enqueue() remaining: 30591 +LocalWindow.Enqueue() remaining: 30579 +LocalWindow.Enqueue() remaining: 30567 +LocalWindow.Enqueue() remaining: 30555 +LocalWindow.Enqueue() remaining: 30543 +LocalWindow.Enqueue() remaining: 30531 +LocalWindow.Enqueue() remaining: 30519 +LocalWindow.Enqueue() remaining: 30507 +LocalWindow.Enqueue() remaining: 30495 +LocalWindow.Enqueue() remaining: 30483 +LocalWindow.Enqueue() remaining: 30471 +LocalWindow.Enqueue() remaining: 30459 +LocalWindow.Enqueue() remaining: 30447 +LocalWindow.Enqueue() remaining: 30435 +LocalWindow.Enqueue() remaining: 30423 +LocalWindow.Enqueue() remaining: 30411 +LocalWindow.Enqueue() remaining: 30399 +LocalWindow.Enqueue() remaining: 30387 +LocalWindow.Enqueue() remaining: 30375 +LocalWindow.Enqueue() remaining: 30363 +LocalWindow.Enqueue() remaining: 30351 +LocalWindow.Enqueue() remaining: 30339 +LocalWindow.Enqueue() remaining: 30327 +LocalWindow.Enqueue() remaining: 30315 +LocalWindow.Enqueue() remaining: 30303 +LocalWindow.Enqueue() remaining: 30291 +LocalWindow.Enqueue() remaining: 30279 +LocalWindow.Enqueue() remaining: 30267 +LocalWindow.Enqueue() remaining: 30255 +LocalWindow.Enqueue() remaining: 30243 +LocalWindow.Enqueue() remaining: 30231 +LocalWindow.Enqueue() remaining: 30219 +LocalWindow.Enqueue() remaining: 30207 +LocalWindow.Enqueue() remaining: 30195 +LocalWindow.Enqueue() remaining: 30183 +LocalWindow.Enqueue() remaining: 30171 +LocalWindow.Enqueue() remaining: 30159 +LocalWindow.Enqueue() remaining: 30147 +LocalWindow.Enqueue() remaining: 30135 +LocalWindow.Enqueue() remaining: 30123 +LocalWindow.Enqueue() remaining: 30111 +LocalWindow.Enqueue() remaining: 30099 +LocalWindow.Enqueue() remaining: 30087 +LocalWindow.Enqueue() remaining: 30075 +LocalWindow.Enqueue() remaining: 30063 +LocalWindow.Enqueue() remaining: 30051 +LocalWindow.Enqueue() remaining: 30039 +LocalWindow.Enqueue() remaining: 30027 +LocalWindow.Enqueue() remaining: 30015 +LocalWindow.Enqueue() remaining: 30003 +LocalWindow.Enqueue() remaining: 29991 +LocalWindow.Enqueue() remaining: 29979 +LocalWindow.Enqueue() remaining: 29967 +LocalWindow.Enqueue() remaining: 29955 +LocalWindow.Enqueue() remaining: 29943 +LocalWindow.Enqueue() remaining: 29931 +LocalWindow.Enqueue() remaining: 29919 +LocalWindow.Enqueue() remaining: 29907 +LocalWindow.Enqueue() remaining: 29895 +LocalWindow.Enqueue() remaining: 29883 +LocalWindow.Enqueue() remaining: 29871 +LocalWindow.Enqueue() remaining: 29859 +LocalWindow.Enqueue() remaining: 29847 +LocalWindow.Enqueue() remaining: 29835 +LocalWindow.Enqueue() remaining: 29823 +LocalWindow.Enqueue() remaining: 29811 +LocalWindow.Enqueue() remaining: 29799 +LocalWindow.Enqueue() remaining: 29787 +LocalWindow.Enqueue() remaining: 29775 +LocalWindow.Enqueue() remaining: 29763 +LocalWindow.Enqueue() remaining: 29751 +LocalWindow.Enqueue() remaining: 29739 +LocalWindow.Enqueue() remaining: 29727 +LocalWindow.Enqueue() remaining: 29715 +LocalWindow.Enqueue() remaining: 29703 +LocalWindow.Enqueue() remaining: 29691 +LocalWindow.Enqueue() remaining: 29679 +LocalWindow.Enqueue() remaining: 29667 +LocalWindow.Enqueue() remaining: 29655 +LocalWindow.Enqueue() remaining: 29643 +LocalWindow.Enqueue() remaining: 29631 +LocalWindow.Enqueue() remaining: 29619 +LocalWindow.Enqueue() remaining: 29607 +LocalWindow.Enqueue() remaining: 29595 +LocalWindow.Enqueue() remaining: 29583 +LocalWindow.Enqueue() remaining: 29571 +LocalWindow.Enqueue() remaining: 29559 +LocalWindow.Enqueue() remaining: 29547 +LocalWindow.Enqueue() remaining: 29535 +LocalWindow.Enqueue() remaining: 29523 +LocalWindow.Enqueue() remaining: 29511 +LocalWindow.Enqueue() remaining: 29499 +LocalWindow.Enqueue() remaining: 29487 +LocalWindow.Enqueue() remaining: 29475 +LocalWindow.Enqueue() remaining: 29463 +LocalWindow.Enqueue() remaining: 29451 +LocalWindow.Enqueue() remaining: 29439 +LocalWindow.Enqueue() remaining: 29427 +LocalWindow.Enqueue() remaining: 29415 +LocalWindow.Enqueue() remaining: 29403 +LocalWindow.Enqueue() remaining: 29391 +LocalWindow.Enqueue() remaining: 29379 +LocalWindow.Enqueue() remaining: 29367 +LocalWindow.Enqueue() remaining: 29355 +LocalWindow.Enqueue() remaining: 29343 +LocalWindow.Enqueue() remaining: 29331 +LocalWindow.Enqueue() remaining: 29319 +LocalWindow.Enqueue() remaining: 29307 +LocalWindow.Enqueue() remaining: 29295 +LocalWindow.Enqueue() remaining: 29283 +LocalWindow.Enqueue() remaining: 29271 +LocalWindow.Enqueue() remaining: 29259 +LocalWindow.Enqueue() remaining: 29247 +LocalWindow.Enqueue() remaining: 29235 +LocalWindow.Enqueue() remaining: 29223 +LocalWindow.Enqueue() remaining: 29211 +LocalWindow.Enqueue() remaining: 29199 +LocalWindow.Enqueue() remaining: 29187 +LocalWindow.Enqueue() remaining: 29175 +LocalWindow.Enqueue() remaining: 29163 +LocalWindow.Enqueue() remaining: 29151 +LocalWindow.Enqueue() remaining: 29139 +LocalWindow.Enqueue() remaining: 29127 +LocalWindow.Enqueue() remaining: 29115 +LocalWindow.Enqueue() remaining: 29103 +LocalWindow.Enqueue() remaining: 29091 +LocalWindow.Enqueue() remaining: 29079 +LocalWindow.Enqueue() remaining: 29067 +LocalWindow.Enqueue() remaining: 29055 +LocalWindow.Enqueue() remaining: 29043 +LocalWindow.Enqueue() remaining: 29031 +LocalWindow.Enqueue() remaining: 29019 +LocalWindow.Enqueue() remaining: 29007 +LocalWindow.Enqueue() remaining: 28995 +LocalWindow.Enqueue() remaining: 28983 +LocalWindow.Enqueue() remaining: 28971 +LocalWindow.Enqueue() remaining: 28959 +LocalWindow.Enqueue() remaining: 28947 +LocalWindow.Enqueue() remaining: 28935 +LocalWindow.Enqueue() remaining: 28923 +LocalWindow.Enqueue() remaining: 28911 +LocalWindow.Enqueue() remaining: 28899 +LocalWindow.Enqueue() remaining: 28887 +LocalWindow.Enqueue() remaining: 28875 +LocalWindow.Enqueue() remaining: 28863 +LocalWindow.Enqueue() remaining: 28851 +LocalWindow.Enqueue() remaining: 28839 +LocalWindow.Enqueue() remaining: 28827 +LocalWindow.Enqueue() remaining: 28815 +LocalWindow.Enqueue() remaining: 28803 +LocalWindow.Enqueue() remaining: 28791 +LocalWindow.Enqueue() remaining: 28779 +LocalWindow.Enqueue() remaining: 28767 +LocalWindow.Enqueue() remaining: 28755 +LocalWindow.Enqueue() remaining: 28743 +LocalWindow.Enqueue() remaining: 28731 +LocalWindow.Enqueue() remaining: 28719 +LocalWindow.Enqueue() remaining: 28707 +LocalWindow.Enqueue() remaining: 28695 +LocalWindow.Enqueue() remaining: 28683 +LocalWindow.Enqueue() remaining: 28671 +LocalWindow.Enqueue() remaining: 28659 +LocalWindow.Enqueue() remaining: 28647 +LocalWindow.Enqueue() remaining: 28635 +LocalWindow.Enqueue() remaining: 28623 +LocalWindow.Enqueue() remaining: 28611 +LocalWindow.Enqueue() remaining: 28599 +LocalWindow.Enqueue() remaining: 28587 +LocalWindow.Enqueue() remaining: 28575 +LocalWindow.Enqueue() remaining: 28563 +LocalWindow.Enqueue() remaining: 28551 +LocalWindow.Enqueue() remaining: 28539 +LocalWindow.Enqueue() remaining: 28527 +LocalWindow.Enqueue() remaining: 28515 +LocalWindow.Enqueue() remaining: 28503 +LocalWindow.Enqueue() remaining: 28491 +LocalWindow.Enqueue() remaining: 28479 +LocalWindow.Enqueue() remaining: 28467 +LocalWindow.Enqueue() remaining: 28455 +LocalWindow.Enqueue() remaining: 28443 +LocalWindow.Enqueue() remaining: 28431 +LocalWindow.Enqueue() remaining: 28419 +LocalWindow.Enqueue() remaining: 28407 +LocalWindow.Enqueue() remaining: 28395 +LocalWindow.Enqueue() remaining: 28383 +LocalWindow.Enqueue() remaining: 28371 +LocalWindow.Enqueue() remaining: 28359 +LocalWindow.Enqueue() remaining: 28347 +LocalWindow.Enqueue() remaining: 28335 +LocalWindow.Enqueue() remaining: 28323 +LocalWindow.Enqueue() remaining: 28311 +LocalWindow.Enqueue() remaining: 28299 +LocalWindow.Enqueue() remaining: 28287 +LocalWindow.Enqueue() remaining: 28275 +LocalWindow.Enqueue() remaining: 28263 +LocalWindow.Enqueue() remaining: 28251 +LocalWindow.Enqueue() remaining: 28239 +LocalWindow.Enqueue() remaining: 28227 +LocalWindow.Enqueue() remaining: 28215 +LocalWindow.Enqueue() remaining: 28203 +LocalWindow.Enqueue() remaining: 28191 +LocalWindow.Enqueue() remaining: 28179 +LocalWindow.Enqueue() remaining: 28167 +LocalWindow.Enqueue() remaining: 28155 +LocalWindow.Enqueue() remaining: 28143 +LocalWindow.Enqueue() remaining: 28131 +LocalWindow.Enqueue() remaining: 28119 +LocalWindow.Enqueue() remaining: 28107 +LocalWindow.Enqueue() remaining: 28095 +LocalWindow.Enqueue() remaining: 28083 +LocalWindow.Enqueue() remaining: 28071 +LocalWindow.Enqueue() remaining: 28059 +LocalWindow.Enqueue() remaining: 28047 +LocalWindow.Enqueue() remaining: 28035 +LocalWindow.Enqueue() remaining: 28023 +LocalWindow.Enqueue() remaining: 28011 +LocalWindow.Enqueue() remaining: 27999 +LocalWindow.Enqueue() remaining: 27987 +LocalWindow.Enqueue() remaining: 27975 +LocalWindow.Enqueue() remaining: 27963 +LocalWindow.Enqueue() remaining: 27951 +LocalWindow.Enqueue() remaining: 27939 +LocalWindow.Enqueue() remaining: 27927 +LocalWindow.Enqueue() remaining: 27915 +LocalWindow.Enqueue() remaining: 27903 +LocalWindow.Enqueue() remaining: 27891 +LocalWindow.Enqueue() remaining: 27879 +LocalWindow.Enqueue() remaining: 27867 +LocalWindow.Enqueue() remaining: 27855 +LocalWindow.Enqueue() remaining: 27843 +LocalWindow.Enqueue() remaining: 27831 +LocalWindow.Enqueue() remaining: 27819 +LocalWindow.Enqueue() remaining: 27807 +LocalWindow.Enqueue() remaining: 27795 +LocalWindow.Enqueue() remaining: 27783 +LocalWindow.Enqueue() remaining: 27771 +LocalWindow.Enqueue() remaining: 27759 +LocalWindow.Enqueue() remaining: 27747 +LocalWindow.Enqueue() remaining: 27735 +LocalWindow.Enqueue() remaining: 27723 +LocalWindow.Enqueue() remaining: 27711 +LocalWindow.Enqueue() remaining: 27699 +LocalWindow.Enqueue() remaining: 27687 +LocalWindow.Enqueue() remaining: 27675 +LocalWindow.Enqueue() remaining: 27663 +LocalWindow.Enqueue() remaining: 27651 +LocalWindow.Enqueue() remaining: 27639 +LocalWindow.Enqueue() remaining: 27627 +LocalWindow.Enqueue() remaining: 27615 +LocalWindow.Enqueue() remaining: 27603 +LocalWindow.Enqueue() remaining: 27591 +LocalWindow.Enqueue() remaining: 27579 +LocalWindow.Enqueue() remaining: 27567 +LocalWindow.Enqueue() remaining: 27555 +LocalWindow.Enqueue() remaining: 27543 +LocalWindow.Enqueue() remaining: 27531 +LocalWindow.Enqueue() remaining: 27519 +LocalWindow.Enqueue() remaining: 27507 +LocalWindow.Enqueue() remaining: 27495 +LocalWindow.Enqueue() remaining: 27483 +LocalWindow.Enqueue() remaining: 27471 +LocalWindow.Enqueue() remaining: 27459 +LocalWindow.Enqueue() remaining: 27447 +LocalWindow.Enqueue() remaining: 27435 +LocalWindow.Enqueue() remaining: 27423 +LocalWindow.Enqueue() remaining: 27411 +LocalWindow.Enqueue() remaining: 27399 +LocalWindow.Enqueue() remaining: 27387 +LocalWindow.Enqueue() remaining: 27375 +LocalWindow.Enqueue() remaining: 27363 +LocalWindow.Enqueue() remaining: 27351 +LocalWindow.Enqueue() remaining: 27339 +LocalWindow.Enqueue() remaining: 27327 +LocalWindow.Enqueue() remaining: 27315 +LocalWindow.Enqueue() remaining: 27303 +LocalWindow.Enqueue() remaining: 27291 +LocalWindow.Enqueue() remaining: 27279 +LocalWindow.Enqueue() remaining: 27267 +LocalWindow.Enqueue() remaining: 27255 +LocalWindow.Enqueue() remaining: 27243 +LocalWindow.Enqueue() remaining: 27231 +LocalWindow.Enqueue() remaining: 27219 +LocalWindow.Enqueue() remaining: 27207 +LocalWindow.Enqueue() remaining: 27195 +LocalWindow.Enqueue() remaining: 27183 +LocalWindow.Enqueue() remaining: 27171 +LocalWindow.Enqueue() remaining: 27159 +LocalWindow.Enqueue() remaining: 27147 +LocalWindow.Enqueue() remaining: 27135 +LocalWindow.Enqueue() remaining: 27123 +LocalWindow.Enqueue() remaining: 27111 +LocalWindow.Enqueue() remaining: 27099 +LocalWindow.Enqueue() remaining: 27087 +LocalWindow.Enqueue() remaining: 27075 +LocalWindow.Enqueue() remaining: 27063 +LocalWindow.Enqueue() remaining: 27051 +LocalWindow.Enqueue() remaining: 27039 +LocalWindow.Enqueue() remaining: 27027 +LocalWindow.Enqueue() remaining: 27015 +LocalWindow.Enqueue() remaining: 27003 +LocalWindow.Enqueue() remaining: 26991 +LocalWindow.Enqueue() remaining: 26979 +LocalWindow.Enqueue() remaining: 26967 +LocalWindow.Enqueue() remaining: 26955 +LocalWindow.Enqueue() remaining: 26943 +LocalWindow.Enqueue() remaining: 26931 +LocalWindow.Enqueue() remaining: 26919 +LocalWindow.Enqueue() remaining: 26907 +LocalWindow.Enqueue() remaining: 26895 +LocalWindow.Enqueue() remaining: 26883 +LocalWindow.Enqueue() remaining: 26871 +LocalWindow.Enqueue() remaining: 26859 +LocalWindow.Enqueue() remaining: 26847 +LocalWindow.Enqueue() remaining: 26835 +LocalWindow.Enqueue() remaining: 26823 +LocalWindow.Enqueue() remaining: 26811 +LocalWindow.Enqueue() remaining: 26799 +LocalWindow.Enqueue() remaining: 26787 +LocalWindow.Enqueue() remaining: 26775 +LocalWindow.Enqueue() remaining: 26763 +LocalWindow.Enqueue() remaining: 26751 +LocalWindow.Enqueue() remaining: 26739 +LocalWindow.Enqueue() remaining: 26727 +LocalWindow.Enqueue() remaining: 26715 +LocalWindow.Enqueue() remaining: 26703 +LocalWindow.Enqueue() remaining: 26691 +LocalWindow.Enqueue() remaining: 26679 +LocalWindow.Enqueue() remaining: 26667 +LocalWindow.Enqueue() remaining: 26655 +LocalWindow.Enqueue() remaining: 26643 +LocalWindow.Enqueue() remaining: 26631 +LocalWindow.Enqueue() remaining: 26619 +LocalWindow.Enqueue() remaining: 26607 +LocalWindow.Enqueue() remaining: 26595 +LocalWindow.Enqueue() remaining: 26583 +LocalWindow.Enqueue() remaining: 26571 +LocalWindow.Enqueue() remaining: 26559 +LocalWindow.Enqueue() remaining: 26547 +LocalWindow.Enqueue() remaining: 26535 +LocalWindow.Enqueue() remaining: 26523 +LocalWindow.Enqueue() remaining: 26511 +LocalWindow.Enqueue() remaining: 26499 +LocalWindow.Enqueue() remaining: 26487 +LocalWindow.Enqueue() remaining: 26475 +LocalWindow.Enqueue() remaining: 26463 +LocalWindow.Enqueue() remaining: 26451 +LocalWindow.Enqueue() remaining: 26439 +LocalWindow.Enqueue() remaining: 26427 +LocalWindow.Enqueue() remaining: 26415 +LocalWindow.Enqueue() remaining: 26403 +LocalWindow.Enqueue() remaining: 26391 +LocalWindow.Enqueue() remaining: 26379 +LocalWindow.Enqueue() remaining: 26367 +LocalWindow.Enqueue() remaining: 26355 +LocalWindow.Enqueue() remaining: 26343 +LocalWindow.Enqueue() remaining: 26331 +LocalWindow.Enqueue() remaining: 26319 +LocalWindow.Enqueue() remaining: 26307 +LocalWindow.Enqueue() remaining: 26295 +LocalWindow.Enqueue() remaining: 26283 +LocalWindow.Enqueue() remaining: 26271 +LocalWindow.Enqueue() remaining: 26259 +LocalWindow.Enqueue() remaining: 26247 +LocalWindow.Enqueue() remaining: 26235 +LocalWindow.Enqueue() remaining: 26223 +LocalWindow.Enqueue() remaining: 26211 +LocalWindow.Enqueue() remaining: 26199 +LocalWindow.Enqueue() remaining: 26187 +LocalWindow.Enqueue() remaining: 26175 +LocalWindow.Enqueue() remaining: 26163 +LocalWindow.Enqueue() remaining: 26151 +LocalWindow.Enqueue() remaining: 26139 +LocalWindow.Enqueue() remaining: 26127 +LocalWindow.Enqueue() remaining: 26115 +LocalWindow.Enqueue() remaining: 26103 +LocalWindow.Enqueue() remaining: 26091 +LocalWindow.Enqueue() remaining: 26079 +LocalWindow.Enqueue() remaining: 26067 +LocalWindow.Enqueue() remaining: 26055 +LocalWindow.Enqueue() remaining: 26043 +LocalWindow.Enqueue() remaining: 26031 +LocalWindow.Enqueue() remaining: 26019 +LocalWindow.Enqueue() remaining: 26007 +LocalWindow.Enqueue() remaining: 25995 +LocalWindow.Enqueue() remaining: 25983 +LocalWindow.Enqueue() remaining: 25971 +LocalWindow.Enqueue() remaining: 25959 +LocalWindow.Enqueue() remaining: 25947 +LocalWindow.Enqueue() remaining: 25935 +LocalWindow.Enqueue() remaining: 25923 +LocalWindow.Enqueue() remaining: 25911 +LocalWindow.Enqueue() remaining: 25899 +LocalWindow.Enqueue() remaining: 25887 +LocalWindow.Enqueue() remaining: 25875 +LocalWindow.Enqueue() remaining: 25863 +LocalWindow.Enqueue() remaining: 25851 +LocalWindow.Enqueue() remaining: 25839 +LocalWindow.Enqueue() remaining: 25827 +LocalWindow.Enqueue() remaining: 25815 +LocalWindow.Enqueue() remaining: 25803 +LocalWindow.Enqueue() remaining: 25791 +LocalWindow.Enqueue() remaining: 25779 +LocalWindow.Enqueue() remaining: 25767 +LocalWindow.Enqueue() remaining: 25755 +LocalWindow.Enqueue() remaining: 25743 +LocalWindow.Enqueue() remaining: 25731 +LocalWindow.Enqueue() remaining: 25719 +LocalWindow.Enqueue() remaining: 25707 +LocalWindow.Enqueue() remaining: 25695 +LocalWindow.Enqueue() remaining: 25683 +LocalWindow.Enqueue() remaining: 25671 +LocalWindow.Enqueue() remaining: 25659 +LocalWindow.Enqueue() remaining: 25647 +LocalWindow.Enqueue() remaining: 25635 +LocalWindow.Enqueue() remaining: 25623 +LocalWindow.Enqueue() remaining: 25611 +LocalWindow.Enqueue() remaining: 25599 +LocalWindow.Enqueue() remaining: 25587 +LocalWindow.Enqueue() remaining: 25575 +LocalWindow.Enqueue() remaining: 25563 +LocalWindow.Enqueue() remaining: 25551 +LocalWindow.Enqueue() remaining: 25539 +LocalWindow.Enqueue() remaining: 25527 +LocalWindow.Enqueue() remaining: 25515 +LocalWindow.Enqueue() remaining: 25503 +LocalWindow.Enqueue() remaining: 25491 +LocalWindow.Enqueue() remaining: 25479 +LocalWindow.Enqueue() remaining: 25467 +LocalWindow.Enqueue() remaining: 25455 +LocalWindow.Enqueue() remaining: 25443 +LocalWindow.Enqueue() remaining: 25431 +LocalWindow.Enqueue() remaining: 25419 +LocalWindow.Enqueue() remaining: 25407 +LocalWindow.Enqueue() remaining: 25395 +LocalWindow.Enqueue() remaining: 25383 +LocalWindow.Enqueue() remaining: 25371 +LocalWindow.Enqueue() remaining: 25359 +LocalWindow.Enqueue() remaining: 25347 +LocalWindow.Enqueue() remaining: 25335 +LocalWindow.Enqueue() remaining: 25323 +LocalWindow.Enqueue() remaining: 25311 +LocalWindow.Enqueue() remaining: 25299 +LocalWindow.Enqueue() remaining: 25287 +LocalWindow.Enqueue() remaining: 25275 +LocalWindow.Enqueue() remaining: 25263 +LocalWindow.Enqueue() remaining: 25251 +LocalWindow.Enqueue() remaining: 25239 +LocalWindow.Enqueue() remaining: 25227 +LocalWindow.Enqueue() remaining: 25215 +LocalWindow.Enqueue() remaining: 25203 +LocalWindow.Enqueue() remaining: 25191 +LocalWindow.Enqueue() remaining: 25179 +LocalWindow.Enqueue() remaining: 25167 +LocalWindow.Enqueue() remaining: 25155 +LocalWindow.Enqueue() remaining: 25143 +LocalWindow.Enqueue() remaining: 25131 +LocalWindow.Enqueue() remaining: 25119 +LocalWindow.Enqueue() remaining: 25107 +LocalWindow.Enqueue() remaining: 25095 +LocalWindow.Enqueue() remaining: 25083 +LocalWindow.Enqueue() remaining: 25071 +LocalWindow.Enqueue() remaining: 25059 +LocalWindow.Enqueue() remaining: 25047 +LocalWindow.Enqueue() remaining: 25035 +LocalWindow.Enqueue() remaining: 25023 +LocalWindow.Enqueue() remaining: 25011 +LocalWindow.Enqueue() remaining: 24999 +LocalWindow.Enqueue() remaining: 24987 +LocalWindow.Enqueue() remaining: 24975 +LocalWindow.Enqueue() remaining: 24963 +LocalWindow.Enqueue() remaining: 24951 +LocalWindow.Enqueue() remaining: 24939 +LocalWindow.Enqueue() remaining: 24927 +LocalWindow.Enqueue() remaining: 24915 +LocalWindow.Enqueue() remaining: 24903 +LocalWindow.Enqueue() remaining: 24891 +LocalWindow.Enqueue() remaining: 24879 +LocalWindow.Enqueue() remaining: 24867 +LocalWindow.Enqueue() remaining: 24855 +LocalWindow.Enqueue() remaining: 24843 +LocalWindow.Enqueue() remaining: 24831 +LocalWindow.Enqueue() remaining: 24819 +LocalWindow.Enqueue() remaining: 24807 +LocalWindow.Enqueue() remaining: 24795 +LocalWindow.Enqueue() remaining: 24783 +LocalWindow.Enqueue() remaining: 24771 +LocalWindow.Enqueue() remaining: 24759 +LocalWindow.Enqueue() remaining: 24747 +LocalWindow.Enqueue() remaining: 24735 +LocalWindow.Enqueue() remaining: 24723 +LocalWindow.Enqueue() remaining: 24711 +LocalWindow.Enqueue() remaining: 24699 +LocalWindow.Enqueue() remaining: 24687 +LocalWindow.Enqueue() remaining: 24675 +LocalWindow.Enqueue() remaining: 24663 +LocalWindow.Enqueue() remaining: 24651 +LocalWindow.Enqueue() remaining: 24639 +LocalWindow.Enqueue() remaining: 24627 +LocalWindow.Enqueue() remaining: 24615 +LocalWindow.Enqueue() remaining: 24603 +LocalWindow.Enqueue() remaining: 24591 +LocalWindow.Enqueue() remaining: 24579 +LocalWindow.Enqueue() remaining: 24567 +LocalWindow.Enqueue() remaining: 24555 +LocalWindow.Enqueue() remaining: 24543 +LocalWindow.Enqueue() remaining: 24531 +LocalWindow.Enqueue() remaining: 24519 +LocalWindow.Enqueue() remaining: 24507 +LocalWindow.Enqueue() remaining: 24495 +LocalWindow.Enqueue() remaining: 24483 +LocalWindow.Enqueue() remaining: 24471 +LocalWindow.Enqueue() remaining: 24459 +LocalWindow.Enqueue() remaining: 24447 +LocalWindow.Enqueue() remaining: 24435 +LocalWindow.Enqueue() remaining: 24423 +LocalWindow.Enqueue() remaining: 24411 +LocalWindow.Enqueue() remaining: 24399 +LocalWindow.Enqueue() remaining: 24387 +LocalWindow.Enqueue() remaining: 24375 +LocalWindow.Enqueue() remaining: 24363 +LocalWindow.Enqueue() remaining: 24351 +LocalWindow.Enqueue() remaining: 24339 +LocalWindow.Enqueue() remaining: 24327 +LocalWindow.Enqueue() remaining: 24315 +LocalWindow.Enqueue() remaining: 24303 +LocalWindow.Enqueue() remaining: 24291 +LocalWindow.Enqueue() remaining: 24279 +LocalWindow.Enqueue() remaining: 24267 +LocalWindow.Enqueue() remaining: 24255 +LocalWindow.Enqueue() remaining: 24243 +LocalWindow.Enqueue() remaining: 24231 +LocalWindow.Enqueue() remaining: 24219 +LocalWindow.Enqueue() remaining: 24207 +LocalWindow.Enqueue() remaining: 24195 +LocalWindow.Enqueue() remaining: 24183 +LocalWindow.Enqueue() remaining: 24171 +LocalWindow.Enqueue() remaining: 24159 +LocalWindow.Enqueue() remaining: 24147 +LocalWindow.Enqueue() remaining: 24135 +LocalWindow.Enqueue() remaining: 24123 +LocalWindow.Enqueue() remaining: 24111 +LocalWindow.Enqueue() remaining: 24099 +LocalWindow.Enqueue() remaining: 24087 +LocalWindow.Enqueue() remaining: 24075 +LocalWindow.Enqueue() remaining: 24063 +LocalWindow.Enqueue() remaining: 24051 +LocalWindow.Enqueue() remaining: 24039 +LocalWindow.Enqueue() remaining: 24027 +LocalWindow.Enqueue() remaining: 24015 +LocalWindow.Enqueue() remaining: 24003 +LocalWindow.Enqueue() remaining: 23991 +LocalWindow.Enqueue() remaining: 23979 +LocalWindow.Enqueue() remaining: 23967 +LocalWindow.Enqueue() remaining: 23955 +LocalWindow.Enqueue() remaining: 23943 +LocalWindow.Enqueue() remaining: 23931 +LocalWindow.Enqueue() remaining: 23919 +LocalWindow.Enqueue() remaining: 23907 +LocalWindow.Enqueue() remaining: 23895 +LocalWindow.Enqueue() remaining: 23883 +LocalWindow.Enqueue() remaining: 23871 +LocalWindow.Enqueue() remaining: 23859 +LocalWindow.Enqueue() remaining: 23847 +LocalWindow.Enqueue() remaining: 23835 +LocalWindow.Enqueue() remaining: 23823 +LocalWindow.Enqueue() remaining: 23811 +LocalWindow.Enqueue() remaining: 23799 +LocalWindow.Enqueue() remaining: 23787 +LocalWindow.Enqueue() remaining: 23775 +LocalWindow.Enqueue() remaining: 23763 +LocalWindow.Enqueue() remaining: 23751 +LocalWindow.Enqueue() remaining: 23739 +LocalWindow.Enqueue() remaining: 23727 +LocalWindow.Enqueue() remaining: 23715 +LocalWindow.Enqueue() remaining: 23703 +LocalWindow.Enqueue() remaining: 23691 +LocalWindow.Enqueue() remaining: 23679 +LocalWindow.Enqueue() remaining: 23667 +LocalWindow.Enqueue() remaining: 23655 +LocalWindow.Enqueue() remaining: 23643 +LocalWindow.Enqueue() remaining: 23631 +LocalWindow.Enqueue() remaining: 23619 +LocalWindow.Enqueue() remaining: 23607 +LocalWindow.Enqueue() remaining: 23595 +LocalWindow.Enqueue() remaining: 23583 +LocalWindow.Enqueue() remaining: 23571 +LocalWindow.Enqueue() remaining: 23559 +LocalWindow.Enqueue() remaining: 23547 +LocalWindow.Enqueue() remaining: 23535 +LocalWindow.Enqueue() remaining: 23523 +LocalWindow.Enqueue() remaining: 23511 +LocalWindow.Enqueue() remaining: 23499 +LocalWindow.Enqueue() remaining: 23487 +LocalWindow.Enqueue() remaining: 23475 +LocalWindow.Enqueue() remaining: 23463 +LocalWindow.Enqueue() remaining: 23451 +LocalWindow.Enqueue() remaining: 23439 +LocalWindow.Enqueue() remaining: 23427 +LocalWindow.Enqueue() remaining: 23415 +LocalWindow.Enqueue() remaining: 23403 +LocalWindow.Enqueue() remaining: 23391 +LocalWindow.Enqueue() remaining: 23379 +LocalWindow.Enqueue() remaining: 23367 +LocalWindow.Enqueue() remaining: 23355 +LocalWindow.Enqueue() remaining: 23343 +LocalWindow.Enqueue() remaining: 23331 +LocalWindow.Enqueue() remaining: 23319 +LocalWindow.Enqueue() remaining: 23307 +LocalWindow.Enqueue() remaining: 23295 +LocalWindow.Enqueue() remaining: 23283 +LocalWindow.Enqueue() remaining: 23271 +LocalWindow.Enqueue() remaining: 23259 +LocalWindow.Enqueue() remaining: 23247 +LocalWindow.Enqueue() remaining: 23235 +LocalWindow.Enqueue() remaining: 23223 +LocalWindow.Enqueue() remaining: 23211 +LocalWindow.Enqueue() remaining: 23199 +LocalWindow.Enqueue() remaining: 23187 +LocalWindow.Enqueue() remaining: 23175 +LocalWindow.Enqueue() remaining: 23163 +LocalWindow.Enqueue() remaining: 23151 +LocalWindow.Enqueue() remaining: 23139 +LocalWindow.Enqueue() remaining: 23127 +LocalWindow.Enqueue() remaining: 23115 +LocalWindow.Enqueue() remaining: 23103 +LocalWindow.Enqueue() remaining: 23091 +LocalWindow.Enqueue() remaining: 23079 +LocalWindow.Enqueue() remaining: 23067 +LocalWindow.Enqueue() remaining: 23055 +LocalWindow.Enqueue() remaining: 23043 +LocalWindow.Enqueue() remaining: 23031 +LocalWindow.Enqueue() remaining: 23019 +LocalWindow.Enqueue() remaining: 23007 +LocalWindow.Enqueue() remaining: 22995 +LocalWindow.Enqueue() remaining: 22983 +LocalWindow.Enqueue() remaining: 22971 +LocalWindow.Enqueue() remaining: 22959 +LocalWindow.Enqueue() remaining: 22947 +LocalWindow.Enqueue() remaining: 22935 +LocalWindow.Enqueue() remaining: 22923 +LocalWindow.Enqueue() remaining: 22911 +LocalWindow.Enqueue() remaining: 22899 +LocalWindow.Enqueue() remaining: 22887 +LocalWindow.Enqueue() remaining: 22875 +LocalWindow.Enqueue() remaining: 22863 +LocalWindow.Enqueue() remaining: 22851 +LocalWindow.Enqueue() remaining: 22839 +LocalWindow.Enqueue() remaining: 22827 +LocalWindow.Enqueue() remaining: 22815 +LocalWindow.Enqueue() remaining: 22803 +LocalWindow.Enqueue() remaining: 22791 +LocalWindow.Enqueue() remaining: 22779 +LocalWindow.Enqueue() remaining: 22767 +LocalWindow.Enqueue() remaining: 22755 +LocalWindow.Enqueue() remaining: 22743 +LocalWindow.Enqueue() remaining: 22731 +LocalWindow.Enqueue() remaining: 22719 +LocalWindow.Enqueue() remaining: 22707 +LocalWindow.Enqueue() remaining: 22695 +LocalWindow.Enqueue() remaining: 22683 +LocalWindow.Enqueue() remaining: 22671 +LocalWindow.Enqueue() remaining: 22659 +LocalWindow.Enqueue() remaining: 22647 +LocalWindow.Enqueue() remaining: 22635 +LocalWindow.Enqueue() remaining: 22623 +LocalWindow.Enqueue() remaining: 22611 +LocalWindow.Enqueue() remaining: 22599 +LocalWindow.Enqueue() remaining: 22587 +LocalWindow.Enqueue() remaining: 22575 +LocalWindow.Enqueue() remaining: 22563 +LocalWindow.Enqueue() remaining: 22551 +LocalWindow.Enqueue() remaining: 22539 +LocalWindow.Enqueue() remaining: 22527 +LocalWindow.Enqueue() remaining: 22515 +LocalWindow.Enqueue() remaining: 22503 +LocalWindow.Enqueue() remaining: 22491 +LocalWindow.Enqueue() remaining: 22479 +LocalWindow.Enqueue() remaining: 22467 +LocalWindow.Enqueue() remaining: 22455 +LocalWindow.Enqueue() remaining: 22443 +LocalWindow.Enqueue() remaining: 22431 +LocalWindow.Enqueue() remaining: 22419 +LocalWindow.Enqueue() remaining: 22407 +LocalWindow.Enqueue() remaining: 22395 +LocalWindow.Enqueue() remaining: 22383 +LocalWindow.Enqueue() remaining: 22371 +LocalWindow.Enqueue() remaining: 22359 +LocalWindow.Enqueue() remaining: 22347 +LocalWindow.Enqueue() remaining: 22335 +LocalWindow.Enqueue() remaining: 22323 +LocalWindow.Enqueue() remaining: 22311 +LocalWindow.Enqueue() remaining: 22299 +LocalWindow.Enqueue() remaining: 22287 +LocalWindow.Enqueue() remaining: 22275 +LocalWindow.Enqueue() remaining: 22263 +LocalWindow.Enqueue() remaining: 22251 +LocalWindow.Enqueue() remaining: 22239 +LocalWindow.Enqueue() remaining: 22227 +LocalWindow.Enqueue() remaining: 22215 +LocalWindow.Enqueue() remaining: 22203 +LocalWindow.Enqueue() remaining: 22191 +LocalWindow.Enqueue() remaining: 22179 +LocalWindow.Enqueue() remaining: 22167 +LocalWindow.Enqueue() remaining: 22155 +LocalWindow.Enqueue() remaining: 22143 +LocalWindow.Enqueue() remaining: 22131 +LocalWindow.Enqueue() remaining: 22119 +LocalWindow.Enqueue() remaining: 22107 +LocalWindow.Enqueue() remaining: 22095 +LocalWindow.Enqueue() remaining: 22083 +LocalWindow.Enqueue() remaining: 22071 +LocalWindow.Enqueue() remaining: 22059 +LocalWindow.Enqueue() remaining: 22047 +LocalWindow.Enqueue() remaining: 22035 +LocalWindow.Enqueue() remaining: 22023 +LocalWindow.Enqueue() remaining: 22011 +LocalWindow.Enqueue() remaining: 21999 +LocalWindow.Enqueue() remaining: 21987 +LocalWindow.Enqueue() remaining: 21975 +LocalWindow.Enqueue() remaining: 21963 +LocalWindow.Enqueue() remaining: 21951 +LocalWindow.Enqueue() remaining: 21939 +LocalWindow.Enqueue() remaining: 21927 +LocalWindow.Enqueue() remaining: 21915 +LocalWindow.Enqueue() remaining: 21903 +LocalWindow.Enqueue() remaining: 21891 +LocalWindow.Enqueue() remaining: 21879 +LocalWindow.Enqueue() remaining: 21867 +LocalWindow.Enqueue() remaining: 21855 +LocalWindow.Enqueue() remaining: 21843 +LocalWindow.Enqueue() remaining: 21831 +LocalWindow.Enqueue() remaining: 21819 +LocalWindow.Enqueue() remaining: 21807 +LocalWindow.Enqueue() remaining: 21795 +LocalWindow.Enqueue() remaining: 21783 +LocalWindow.Enqueue() remaining: 21771 +LocalWindow.Enqueue() remaining: 21759 +LocalWindow.Enqueue() remaining: 21747 +LocalWindow.Enqueue() remaining: 21735 +LocalWindow.Enqueue() remaining: 21723 +LocalWindow.Enqueue() remaining: 21711 +LocalWindow.Enqueue() remaining: 21699 +LocalWindow.Enqueue() remaining: 21687 +LocalWindow.Enqueue() remaining: 21675 +LocalWindow.Enqueue() remaining: 21663 +LocalWindow.Enqueue() remaining: 21651 +LocalWindow.Enqueue() remaining: 21639 +LocalWindow.Enqueue() remaining: 21627 +LocalWindow.Enqueue() remaining: 21615 +LocalWindow.Enqueue() remaining: 21603 +LocalWindow.Enqueue() remaining: 21591 +LocalWindow.Enqueue() remaining: 21579 +LocalWindow.Enqueue() remaining: 21567 +LocalWindow.Enqueue() remaining: 21555 +LocalWindow.Enqueue() remaining: 21543 +LocalWindow.Enqueue() remaining: 21531 +LocalWindow.Enqueue() remaining: 21519 +LocalWindow.Enqueue() remaining: 21507 +LocalWindow.Enqueue() remaining: 21495 +LocalWindow.Enqueue() remaining: 21483 +LocalWindow.Enqueue() remaining: 21471 +LocalWindow.Enqueue() remaining: 21459 +LocalWindow.Enqueue() remaining: 21447 +LocalWindow.Enqueue() remaining: 21435 +LocalWindow.Enqueue() remaining: 21423 +LocalWindow.Enqueue() remaining: 21411 +LocalWindow.Enqueue() remaining: 21399 +LocalWindow.Enqueue() remaining: 21387 +LocalWindow.Enqueue() remaining: 21375 +LocalWindow.Enqueue() remaining: 21363 +LocalWindow.Enqueue() remaining: 21351 +LocalWindow.Enqueue() remaining: 21339 +LocalWindow.Enqueue() remaining: 21327 +LocalWindow.Enqueue() remaining: 21315 +LocalWindow.Enqueue() remaining: 21303 +LocalWindow.Enqueue() remaining: 21291 +LocalWindow.Enqueue() remaining: 21279 +LocalWindow.Enqueue() remaining: 21267 +LocalWindow.Enqueue() remaining: 21255 +LocalWindow.Enqueue() remaining: 21243 +LocalWindow.Enqueue() remaining: 21231 +LocalWindow.Enqueue() remaining: 21219 +LocalWindow.Enqueue() remaining: 21207 +LocalWindow.Enqueue() remaining: 21195 +LocalWindow.Enqueue() remaining: 21183 +LocalWindow.Enqueue() remaining: 21171 +LocalWindow.Enqueue() remaining: 21159 +LocalWindow.Enqueue() remaining: 21147 +LocalWindow.Enqueue() remaining: 21135 +LocalWindow.Enqueue() remaining: 21123 +LocalWindow.Enqueue() remaining: 21111 +LocalWindow.Enqueue() remaining: 21099 +LocalWindow.Enqueue() remaining: 21087 +LocalWindow.Enqueue() remaining: 21075 +LocalWindow.Enqueue() remaining: 21063 +LocalWindow.Enqueue() remaining: 21051 +LocalWindow.Enqueue() remaining: 21039 +LocalWindow.Enqueue() remaining: 21027 +LocalWindow.Enqueue() remaining: 21015 +LocalWindow.Enqueue() remaining: 21003 +LocalWindow.Enqueue() remaining: 20991 +LocalWindow.Enqueue() remaining: 20979 +LocalWindow.Enqueue() remaining: 20967 +LocalWindow.Enqueue() remaining: 20955 +LocalWindow.Enqueue() remaining: 20943 +LocalWindow.Enqueue() remaining: 20931 +LocalWindow.Enqueue() remaining: 20919 +LocalWindow.Enqueue() remaining: 20907 +LocalWindow.Enqueue() remaining: 20895 +LocalWindow.Enqueue() remaining: 20883 +LocalWindow.Enqueue() remaining: 20871 +LocalWindow.Enqueue() remaining: 20859 +LocalWindow.Enqueue() remaining: 20847 +LocalWindow.Enqueue() remaining: 20835 +LocalWindow.Enqueue() remaining: 20823 +LocalWindow.Enqueue() remaining: 20811 +LocalWindow.Enqueue() remaining: 20799 +LocalWindow.Enqueue() remaining: 20787 +LocalWindow.Enqueue() remaining: 20775 +LocalWindow.Enqueue() remaining: 20763 +LocalWindow.Enqueue() remaining: 20751 +LocalWindow.Enqueue() remaining: 20739 +LocalWindow.Enqueue() remaining: 20727 +LocalWindow.Enqueue() remaining: 20715 +LocalWindow.Enqueue() remaining: 20703 +LocalWindow.Enqueue() remaining: 20691 +LocalWindow.Enqueue() remaining: 20679 +LocalWindow.Enqueue() remaining: 20667 +LocalWindow.Enqueue() remaining: 20655 +LocalWindow.Enqueue() remaining: 20643 +LocalWindow.Enqueue() remaining: 20631 +LocalWindow.Enqueue() remaining: 20619 +LocalWindow.Enqueue() remaining: 20607 +LocalWindow.Enqueue() remaining: 20595 +LocalWindow.Enqueue() remaining: 20583 +LocalWindow.Enqueue() remaining: 20571 +LocalWindow.Enqueue() remaining: 20559 +LocalWindow.Enqueue() remaining: 20547 +LocalWindow.Enqueue() remaining: 20535 +LocalWindow.Enqueue() remaining: 20523 +LocalWindow.Enqueue() remaining: 20511 +LocalWindow.Enqueue() remaining: 20499 +LocalWindow.Enqueue() remaining: 20487 +LocalWindow.Enqueue() remaining: 20475 +LocalWindow.Enqueue() remaining: 20463 +LocalWindow.Enqueue() remaining: 20451 +LocalWindow.Enqueue() remaining: 20439 +LocalWindow.Enqueue() remaining: 20427 +LocalWindow.Enqueue() remaining: 20415 +LocalWindow.Enqueue() remaining: 20403 +LocalWindow.Enqueue() remaining: 20391 +LocalWindow.Enqueue() remaining: 20379 +LocalWindow.Enqueue() remaining: 20367 +LocalWindow.Enqueue() remaining: 20355 +LocalWindow.Enqueue() remaining: 20343 +LocalWindow.Enqueue() remaining: 20331 +LocalWindow.Enqueue() remaining: 20319 +LocalWindow.Enqueue() remaining: 20307 +LocalWindow.Enqueue() remaining: 20295 +LocalWindow.Enqueue() remaining: 20283 +LocalWindow.Enqueue() remaining: 20271 +LocalWindow.Enqueue() remaining: 20259 +LocalWindow.Enqueue() remaining: 20247 +LocalWindow.Enqueue() remaining: 20235 +LocalWindow.Enqueue() remaining: 20223 +LocalWindow.Enqueue() remaining: 20211 +LocalWindow.Enqueue() remaining: 20199 +LocalWindow.Enqueue() remaining: 20187 +LocalWindow.Enqueue() remaining: 20175 +LocalWindow.Enqueue() remaining: 20163 +LocalWindow.Enqueue() remaining: 20151 +LocalWindow.Enqueue() remaining: 20139 +LocalWindow.Enqueue() remaining: 20127 +LocalWindow.Enqueue() remaining: 20115 +LocalWindow.Enqueue() remaining: 20103 +LocalWindow.Enqueue() remaining: 20091 +LocalWindow.Enqueue() remaining: 20079 +LocalWindow.Enqueue() remaining: 20067 +LocalWindow.Enqueue() remaining: 20055 +LocalWindow.Enqueue() remaining: 20043 +LocalWindow.Enqueue() remaining: 20031 +LocalWindow.Enqueue() remaining: 20019 +LocalWindow.Enqueue() remaining: 20007 +LocalWindow.Enqueue() remaining: 19995 +LocalWindow.Enqueue() remaining: 19983 +LocalWindow.Enqueue() remaining: 19971 +LocalWindow.Enqueue() remaining: 19959 +LocalWindow.Enqueue() remaining: 19947 +LocalWindow.Enqueue() remaining: 19935 +LocalWindow.Enqueue() remaining: 19923 +LocalWindow.Enqueue() remaining: 19911 +LocalWindow.Enqueue() remaining: 19899 +LocalWindow.Enqueue() remaining: 19887 +LocalWindow.Enqueue() remaining: 19875 +LocalWindow.Enqueue() remaining: 19863 +LocalWindow.Enqueue() remaining: 19851 +LocalWindow.Enqueue() remaining: 19839 +LocalWindow.Enqueue() remaining: 19827 +LocalWindow.Enqueue() remaining: 19815 +LocalWindow.Enqueue() remaining: 19803 +LocalWindow.Enqueue() remaining: 19791 +LocalWindow.Enqueue() remaining: 19779 +LocalWindow.Enqueue() remaining: 19767 +LocalWindow.Enqueue() remaining: 19755 +LocalWindow.Enqueue() remaining: 19743 +LocalWindow.Enqueue() remaining: 19731 +LocalWindow.Enqueue() remaining: 19719 +LocalWindow.Enqueue() remaining: 19707 +LocalWindow.Enqueue() remaining: 19695 +LocalWindow.Enqueue() remaining: 19683 +LocalWindow.Enqueue() remaining: 19671 +LocalWindow.Enqueue() remaining: 19659 +LocalWindow.Enqueue() remaining: 19647 +LocalWindow.Enqueue() remaining: 19635 +LocalWindow.Enqueue() remaining: 19623 +LocalWindow.Enqueue() remaining: 19611 +LocalWindow.Enqueue() remaining: 19599 +LocalWindow.Enqueue() remaining: 19587 +LocalWindow.Enqueue() remaining: 19575 +LocalWindow.Enqueue() remaining: 19563 +LocalWindow.Enqueue() remaining: 19551 +LocalWindow.Enqueue() remaining: 19539 +LocalWindow.Enqueue() remaining: 19527 +LocalWindow.Enqueue() remaining: 19515 +LocalWindow.Enqueue() remaining: 19503 +LocalWindow.Enqueue() remaining: 19491 +LocalWindow.Enqueue() remaining: 19479 +LocalWindow.Enqueue() remaining: 19467 +LocalWindow.Enqueue() remaining: 19455 +LocalWindow.Enqueue() remaining: 19443 +LocalWindow.Enqueue() remaining: 19431 +LocalWindow.Enqueue() remaining: 19419 +LocalWindow.Enqueue() remaining: 19407 +LocalWindow.Enqueue() remaining: 19395 +LocalWindow.Enqueue() remaining: 19383 +LocalWindow.Enqueue() remaining: 19371 +LocalWindow.Enqueue() remaining: 19359 +LocalWindow.Enqueue() remaining: 19347 +LocalWindow.Enqueue() remaining: 19335 +LocalWindow.Enqueue() remaining: 19323 +LocalWindow.Enqueue() remaining: 19311 +LocalWindow.Enqueue() remaining: 19299 +LocalWindow.Enqueue() remaining: 19287 +LocalWindow.Enqueue() remaining: 19275 +LocalWindow.Enqueue() remaining: 19263 +LocalWindow.Enqueue() remaining: 19251 +LocalWindow.Enqueue() remaining: 19239 +LocalWindow.Enqueue() remaining: 19227 +LocalWindow.Enqueue() remaining: 19215 +LocalWindow.Enqueue() remaining: 19203 +LocalWindow.Enqueue() remaining: 19191 +LocalWindow.Enqueue() remaining: 19179 +LocalWindow.Enqueue() remaining: 19167 +LocalWindow.Enqueue() remaining: 19155 +LocalWindow.Enqueue() remaining: 19143 +LocalWindow.Enqueue() remaining: 19131 +LocalWindow.Enqueue() remaining: 19119 +LocalWindow.Enqueue() remaining: 19107 +LocalWindow.Enqueue() remaining: 19095 +LocalWindow.Enqueue() remaining: 19083 +LocalWindow.Enqueue() remaining: 19071 +LocalWindow.Enqueue() remaining: 19059 +LocalWindow.Enqueue() remaining: 19047 +LocalWindow.Enqueue() remaining: 19035 +LocalWindow.Enqueue() remaining: 19023 +LocalWindow.Enqueue() remaining: 19011 +LocalWindow.Enqueue() remaining: 18999 +LocalWindow.Enqueue() remaining: 18987 +LocalWindow.Enqueue() remaining: 18975 +LocalWindow.Enqueue() remaining: 18963 +LocalWindow.Enqueue() remaining: 18951 +LocalWindow.Enqueue() remaining: 18939 +LocalWindow.Enqueue() remaining: 18927 +LocalWindow.Enqueue() remaining: 18915 +LocalWindow.Enqueue() remaining: 18903 +LocalWindow.Enqueue() remaining: 18891 +LocalWindow.Enqueue() remaining: 18879 +LocalWindow.Enqueue() remaining: 18867 +LocalWindow.Enqueue() remaining: 18855 +LocalWindow.Enqueue() remaining: 18843 +LocalWindow.Enqueue() remaining: 18831 +LocalWindow.Enqueue() remaining: 18819 +LocalWindow.Enqueue() remaining: 18807 +LocalWindow.Enqueue() remaining: 18795 +LocalWindow.Enqueue() remaining: 18783 +LocalWindow.Enqueue() remaining: 18771 +LocalWindow.Enqueue() remaining: 18759 +LocalWindow.Enqueue() remaining: 18747 +LocalWindow.Enqueue() remaining: 18735 +LocalWindow.Enqueue() remaining: 18723 +LocalWindow.Enqueue() remaining: 18711 +LocalWindow.Enqueue() remaining: 18699 +LocalWindow.Enqueue() remaining: 18687 +LocalWindow.Enqueue() remaining: 18675 +LocalWindow.Enqueue() remaining: 18663 +LocalWindow.Enqueue() remaining: 18651 +LocalWindow.Enqueue() remaining: 18639 +LocalWindow.Enqueue() remaining: 18627 +LocalWindow.Enqueue() remaining: 18615 +LocalWindow.Enqueue() remaining: 18603 +LocalWindow.Enqueue() remaining: 18591 +LocalWindow.Enqueue() remaining: 18579 +LocalWindow.Enqueue() remaining: 18567 +LocalWindow.Enqueue() remaining: 18555 +LocalWindow.Enqueue() remaining: 18543 +LocalWindow.Enqueue() remaining: 18531 +LocalWindow.Enqueue() remaining: 18519 +LocalWindow.Enqueue() remaining: 18507 +LocalWindow.Enqueue() remaining: 18495 +LocalWindow.Enqueue() remaining: 18483 +LocalWindow.Enqueue() remaining: 18471 +LocalWindow.Enqueue() remaining: 18459 +LocalWindow.Enqueue() remaining: 18447 +LocalWindow.Enqueue() remaining: 18435 +LocalWindow.Enqueue() remaining: 18423 +LocalWindow.Enqueue() remaining: 18411 +LocalWindow.Enqueue() remaining: 18399 +LocalWindow.Enqueue() remaining: 18387 +LocalWindow.Enqueue() remaining: 18375 +LocalWindow.Enqueue() remaining: 18363 +LocalWindow.Enqueue() remaining: 18351 +LocalWindow.Enqueue() remaining: 18339 +LocalWindow.Enqueue() remaining: 18327 +LocalWindow.Enqueue() remaining: 18315 +LocalWindow.Enqueue() remaining: 18303 +LocalWindow.Enqueue() remaining: 18291 +LocalWindow.Enqueue() remaining: 18279 +LocalWindow.Enqueue() remaining: 18267 +LocalWindow.Enqueue() remaining: 18255 +LocalWindow.Enqueue() remaining: 18243 +LocalWindow.Enqueue() remaining: 18231 +LocalWindow.Enqueue() remaining: 18219 +LocalWindow.Enqueue() remaining: 18207 +LocalWindow.Enqueue() remaining: 18195 +LocalWindow.Enqueue() remaining: 18183 +LocalWindow.Enqueue() remaining: 18171 +LocalWindow.Enqueue() remaining: 18159 +LocalWindow.Enqueue() remaining: 18147 +LocalWindow.Enqueue() remaining: 18135 +LocalWindow.Enqueue() remaining: 18123 +LocalWindow.Enqueue() remaining: 18111 +LocalWindow.Enqueue() remaining: 18099 +LocalWindow.Enqueue() remaining: 18087 +LocalWindow.Enqueue() remaining: 18075 +LocalWindow.Enqueue() remaining: 18063 +LocalWindow.Enqueue() remaining: 18051 +LocalWindow.Enqueue() remaining: 18039 +LocalWindow.Enqueue() remaining: 18027 +LocalWindow.Enqueue() remaining: 18015 +LocalWindow.Enqueue() remaining: 18003 +LocalWindow.Enqueue() remaining: 17991 +LocalWindow.Enqueue() remaining: 17979 +LocalWindow.Enqueue() remaining: 17967 +LocalWindow.Enqueue() remaining: 17955 +LocalWindow.Enqueue() remaining: 17943 +LocalWindow.Enqueue() remaining: 17931 +LocalWindow.Enqueue() remaining: 17919 +LocalWindow.Enqueue() remaining: 17907 +LocalWindow.Enqueue() remaining: 17895 +LocalWindow.Enqueue() remaining: 17883 +LocalWindow.Enqueue() remaining: 17871 +LocalWindow.Enqueue() remaining: 17859 +LocalWindow.Enqueue() remaining: 17847 +LocalWindow.Enqueue() remaining: 17835 +LocalWindow.Enqueue() remaining: 17823 +LocalWindow.Enqueue() remaining: 17811 +LocalWindow.Enqueue() remaining: 17799 +LocalWindow.Enqueue() remaining: 17787 +LocalWindow.Enqueue() remaining: 17775 +LocalWindow.Enqueue() remaining: 17763 +LocalWindow.Enqueue() remaining: 17751 +LocalWindow.Enqueue() remaining: 17739 +LocalWindow.Enqueue() remaining: 17727 +LocalWindow.Enqueue() remaining: 17715 +LocalWindow.Enqueue() remaining: 17703 +LocalWindow.Enqueue() remaining: 17691 +LocalWindow.Enqueue() remaining: 17679 +LocalWindow.Enqueue() remaining: 17667 +LocalWindow.Enqueue() remaining: 17655 +LocalWindow.Enqueue() remaining: 17643 +LocalWindow.Enqueue() remaining: 17631 +LocalWindow.Enqueue() remaining: 17619 +LocalWindow.Enqueue() remaining: 17607 +LocalWindow.Enqueue() remaining: 17595 +LocalWindow.Enqueue() remaining: 17583 +LocalWindow.Enqueue() remaining: 17571 +LocalWindow.Enqueue() remaining: 17559 +LocalWindow.Enqueue() remaining: 17547 +LocalWindow.Enqueue() remaining: 17535 +LocalWindow.Enqueue() remaining: 17523 +LocalWindow.Enqueue() remaining: 17511 +LocalWindow.Enqueue() remaining: 17499 +LocalWindow.Enqueue() remaining: 17487 +LocalWindow.Enqueue() remaining: 17475 +LocalWindow.Enqueue() remaining: 17463 +LocalWindow.Enqueue() remaining: 17451 +LocalWindow.Enqueue() remaining: 17439 +LocalWindow.Enqueue() remaining: 17427 +LocalWindow.Enqueue() remaining: 17415 +LocalWindow.Enqueue() remaining: 17403 +LocalWindow.Enqueue() remaining: 17391 +LocalWindow.Enqueue() remaining: 17379 +LocalWindow.Enqueue() remaining: 17367 +LocalWindow.Enqueue() remaining: 17355 +LocalWindow.Enqueue() remaining: 17343 +LocalWindow.Enqueue() remaining: 17331 +LocalWindow.Enqueue() remaining: 17319 +LocalWindow.Enqueue() remaining: 17307 +LocalWindow.Enqueue() remaining: 17295 +LocalWindow.Enqueue() remaining: 17283 +LocalWindow.Enqueue() remaining: 17271 +LocalWindow.Enqueue() remaining: 17259 +LocalWindow.Enqueue() remaining: 17247 +LocalWindow.Enqueue() remaining: 17235 +LocalWindow.Enqueue() remaining: 17223 +LocalWindow.Enqueue() remaining: 17211 +LocalWindow.Enqueue() remaining: 17199 +LocalWindow.Enqueue() remaining: 17187 +LocalWindow.Enqueue() remaining: 17175 +LocalWindow.Enqueue() remaining: 17163 +LocalWindow.Enqueue() remaining: 17151 +LocalWindow.Enqueue() remaining: 17139 +LocalWindow.Enqueue() remaining: 17127 +LocalWindow.Enqueue() remaining: 17115 +LocalWindow.Enqueue() remaining: 17103 +LocalWindow.Enqueue() remaining: 17091 +LocalWindow.Enqueue() remaining: 17079 +LocalWindow.Enqueue() remaining: 17067 +LocalWindow.Enqueue() remaining: 17055 +LocalWindow.Enqueue() remaining: 17043 +LocalWindow.Enqueue() remaining: 17031 +LocalWindow.Enqueue() remaining: 17019 +LocalWindow.Enqueue() remaining: 17007 +LocalWindow.Enqueue() remaining: 16995 +LocalWindow.Enqueue() remaining: 16983 +LocalWindow.Enqueue() remaining: 16971 +LocalWindow.Enqueue() remaining: 16959 +LocalWindow.Enqueue() remaining: 16947 +LocalWindow.Enqueue() remaining: 16935 +LocalWindow.Enqueue() remaining: 16923 +LocalWindow.Enqueue() remaining: 16911 +LocalWindow.Enqueue() remaining: 16899 +LocalWindow.Enqueue() remaining: 16887 +LocalWindow.Enqueue() remaining: 16875 +LocalWindow.Enqueue() remaining: 16863 +LocalWindow.Enqueue() remaining: 16851 +LocalWindow.Enqueue() remaining: 16839 +LocalWindow.Enqueue() remaining: 16827 +LocalWindow.Enqueue() remaining: 16815 +LocalWindow.Enqueue() remaining: 16803 +LocalWindow.Enqueue() remaining: 16791 +LocalWindow.Enqueue() remaining: 16779 +LocalWindow.Enqueue() remaining: 16767 +LocalWindow.Enqueue() remaining: 16755 +LocalWindow.Enqueue() remaining: 16743 +LocalWindow.Enqueue() remaining: 16731 +LocalWindow.Enqueue() remaining: 16719 +LocalWindow.Enqueue() remaining: 16707 +LocalWindow.Enqueue() remaining: 16695 +LocalWindow.Enqueue() remaining: 16683 +LocalWindow.Enqueue() remaining: 16671 +LocalWindow.Enqueue() remaining: 16659 +LocalWindow.Enqueue() remaining: 16647 +LocalWindow.Enqueue() remaining: 16635 +LocalWindow.Enqueue() remaining: 16623 +LocalWindow.Enqueue() remaining: 16611 +LocalWindow.Enqueue() remaining: 16599 +LocalWindow.Enqueue() remaining: 16587 +LocalWindow.Enqueue() remaining: 16575 +LocalWindow.Enqueue() remaining: 16563 +LocalWindow.Enqueue() remaining: 16551 +LocalWindow.Enqueue() remaining: 16539 +LocalWindow.Enqueue() remaining: 16527 +LocalWindow.Enqueue() remaining: 16515 +LocalWindow.Enqueue() remaining: 16503 +LocalWindow.Enqueue() remaining: 16491 +LocalWindow.Enqueue() remaining: 16479 +LocalWindow.Enqueue() remaining: 16467 +LocalWindow.Enqueue() remaining: 16455 +LocalWindow.Enqueue() remaining: 16443 +LocalWindow.Enqueue() remaining: 16431 +LocalWindow.Enqueue() remaining: 16419 +LocalWindow.Enqueue() remaining: 16407 +LocalWindow.Enqueue() remaining: 16395 +LocalWindow.Enqueue() remaining: 16383 +LocalWindow.Enqueue() remaining: 16371 +LocalWindow.Enqueue() remaining: 16359 +LocalWindow.Enqueue() remaining: 16347 +LocalWindow.Enqueue() remaining: 16335 +LocalWindow.Enqueue() remaining: 16323 +LocalWindow.Enqueue() remaining: 16311 +LocalWindow.Enqueue() remaining: 16299 +LocalWindow.Enqueue() remaining: 16287 +LocalWindow.Enqueue() remaining: 16275 +LocalWindow.Enqueue() remaining: 16263 +LocalWindow.Enqueue() remaining: 16251 +LocalWindow.Enqueue() remaining: 16239 +LocalWindow.Enqueue() remaining: 16227 +LocalWindow.Enqueue() remaining: 16215 +LocalWindow.Enqueue() remaining: 16203 +LocalWindow.Enqueue() remaining: 16191 +LocalWindow.Enqueue() remaining: 16179 +LocalWindow.Enqueue() remaining: 16167 +LocalWindow.Enqueue() remaining: 16155 +LocalWindow.Enqueue() remaining: 16143 +LocalWindow.Enqueue() remaining: 16131 +LocalWindow.Enqueue() remaining: 16119 +LocalWindow.Enqueue() remaining: 16107 +LocalWindow.Enqueue() remaining: 16095 +LocalWindow.Enqueue() remaining: 16083 +LocalWindow.Enqueue() remaining: 16071 +LocalWindow.Enqueue() remaining: 16059 +LocalWindow.Enqueue() remaining: 16047 +LocalWindow.Enqueue() remaining: 16035 +LocalWindow.Enqueue() remaining: 16023 +LocalWindow.Enqueue() remaining: 16011 +LocalWindow.Enqueue() remaining: 15999 +LocalWindow.Enqueue() remaining: 15987 +LocalWindow.Enqueue() remaining: 15975 +LocalWindow.Enqueue() remaining: 15963 +LocalWindow.Enqueue() remaining: 15951 +LocalWindow.Enqueue() remaining: 15939 +LocalWindow.Enqueue() remaining: 15927 +LocalWindow.Enqueue() remaining: 15915 +LocalWindow.Enqueue() remaining: 15903 +LocalWindow.Enqueue() remaining: 15891 +LocalWindow.Enqueue() remaining: 15879 +LocalWindow.Enqueue() remaining: 15867 +LocalWindow.Enqueue() remaining: 15855 +LocalWindow.Enqueue() remaining: 15843 +LocalWindow.Enqueue() remaining: 15831 +LocalWindow.Enqueue() remaining: 15819 +LocalWindow.Enqueue() remaining: 15807 +LocalWindow.Enqueue() remaining: 15795 +LocalWindow.Enqueue() remaining: 15783 +LocalWindow.Enqueue() remaining: 15771 +LocalWindow.Enqueue() remaining: 15759 +LocalWindow.Enqueue() remaining: 15747 +LocalWindow.Enqueue() remaining: 15735 +LocalWindow.Enqueue() remaining: 15723 +LocalWindow.Enqueue() remaining: 15711 +LocalWindow.Enqueue() remaining: 15699 +LocalWindow.Enqueue() remaining: 15687 +LocalWindow.Enqueue() remaining: 15675 +LocalWindow.Enqueue() remaining: 15663 +LocalWindow.Enqueue() remaining: 15651 +LocalWindow.Enqueue() remaining: 15639 +LocalWindow.Enqueue() remaining: 15627 +LocalWindow.Enqueue() remaining: 15615 +LocalWindow.Enqueue() remaining: 15603 +LocalWindow.Enqueue() remaining: 15591 +LocalWindow.Enqueue() remaining: 15579 +LocalWindow.Enqueue() remaining: 15567 +LocalWindow.Enqueue() remaining: 15555 +LocalWindow.Enqueue() remaining: 15543 +LocalWindow.Enqueue() remaining: 15531 +LocalWindow.Enqueue() remaining: 15519 +LocalWindow.Enqueue() remaining: 15507 +LocalWindow.Enqueue() remaining: 15495 +LocalWindow.Enqueue() remaining: 15483 +LocalWindow.Enqueue() remaining: 15471 +LocalWindow.Enqueue() remaining: 15459 +LocalWindow.Enqueue() remaining: 15447 +LocalWindow.Enqueue() remaining: 15435 +LocalWindow.Enqueue() remaining: 15423 +LocalWindow.Enqueue() remaining: 15411 +LocalWindow.Enqueue() remaining: 15399 +LocalWindow.Enqueue() remaining: 15387 +LocalWindow.Enqueue() remaining: 15375 +LocalWindow.Enqueue() remaining: 15363 +LocalWindow.Enqueue() remaining: 15351 +LocalWindow.Enqueue() remaining: 15339 +LocalWindow.Enqueue() remaining: 15327 +LocalWindow.Enqueue() remaining: 15315 +LocalWindow.Enqueue() remaining: 15303 +LocalWindow.Enqueue() remaining: 15291 +LocalWindow.Enqueue() remaining: 15279 +LocalWindow.Enqueue() remaining: 15267 +LocalWindow.Enqueue() remaining: 15255 +LocalWindow.Enqueue() remaining: 15243 +LocalWindow.Enqueue() remaining: 15231 +LocalWindow.Enqueue() remaining: 15219 +LocalWindow.Enqueue() remaining: 15207 +LocalWindow.Enqueue() remaining: 15195 +LocalWindow.Enqueue() remaining: 15183 +LocalWindow.Enqueue() remaining: 15171 +LocalWindow.Enqueue() remaining: 15159 +LocalWindow.Enqueue() remaining: 15147 +LocalWindow.Enqueue() remaining: 15135 +LocalWindow.Enqueue() remaining: 15123 +LocalWindow.Enqueue() remaining: 15111 +LocalWindow.Enqueue() remaining: 15099 +LocalWindow.Enqueue() remaining: 15087 +LocalWindow.Enqueue() remaining: 15075 +LocalWindow.Enqueue() remaining: 15063 +LocalWindow.Enqueue() remaining: 15051 +LocalWindow.Enqueue() remaining: 15039 +LocalWindow.Enqueue() remaining: 15027 +LocalWindow.Enqueue() remaining: 15015 +LocalWindow.Enqueue() remaining: 15003 +LocalWindow.Enqueue() remaining: 14991 +LocalWindow.Enqueue() remaining: 14979 +LocalWindow.Enqueue() remaining: 14967 +LocalWindow.Enqueue() remaining: 14955 +LocalWindow.Enqueue() remaining: 14943 +LocalWindow.Enqueue() remaining: 14931 +LocalWindow.Enqueue() remaining: 14919 +LocalWindow.Enqueue() remaining: 14907 +LocalWindow.Enqueue() remaining: 14895 +LocalWindow.Enqueue() remaining: 14883 +LocalWindow.Enqueue() remaining: 14871 +LocalWindow.Enqueue() remaining: 14859 +LocalWindow.Enqueue() remaining: 14847 +LocalWindow.Enqueue() remaining: 14835 +LocalWindow.Enqueue() remaining: 14823 +LocalWindow.Enqueue() remaining: 14811 +LocalWindow.Enqueue() remaining: 14799 +LocalWindow.Enqueue() remaining: 14787 +LocalWindow.Enqueue() remaining: 14775 +LocalWindow.Enqueue() remaining: 14763 +LocalWindow.Enqueue() remaining: 14751 +LocalWindow.Enqueue() remaining: 14739 +LocalWindow.Enqueue() remaining: 14727 +LocalWindow.Enqueue() remaining: 14715 +LocalWindow.Enqueue() remaining: 14703 +LocalWindow.Enqueue() remaining: 14691 +LocalWindow.Enqueue() remaining: 14679 +LocalWindow.Enqueue() remaining: 14667 +LocalWindow.Enqueue() remaining: 14655 +LocalWindow.Enqueue() remaining: 14643 +LocalWindow.Enqueue() remaining: 14631 +LocalWindow.Enqueue() remaining: 14619 +LocalWindow.Enqueue() remaining: 14607 +LocalWindow.Enqueue() remaining: 14595 +LocalWindow.Enqueue() remaining: 14583 +LocalWindow.Enqueue() remaining: 14571 +LocalWindow.Enqueue() remaining: 14559 +LocalWindow.Enqueue() remaining: 14547 +LocalWindow.Enqueue() remaining: 14535 +LocalWindow.Enqueue() remaining: 14523 +LocalWindow.Enqueue() remaining: 14511 +LocalWindow.Enqueue() remaining: 14499 +LocalWindow.Enqueue() remaining: 14487 +LocalWindow.Enqueue() remaining: 14475 +LocalWindow.Enqueue() remaining: 14463 +LocalWindow.Enqueue() remaining: 14451 +LocalWindow.Enqueue() remaining: 14439 +LocalWindow.Enqueue() remaining: 14427 +LocalWindow.Enqueue() remaining: 14415 +LocalWindow.Enqueue() remaining: 14403 +LocalWindow.Enqueue() remaining: 14391 +LocalWindow.Enqueue() remaining: 14379 +LocalWindow.Enqueue() remaining: 14367 +LocalWindow.Enqueue() remaining: 14355 +LocalWindow.Enqueue() remaining: 14343 +LocalWindow.Enqueue() remaining: 14331 +LocalWindow.Enqueue() remaining: 14319 +LocalWindow.Enqueue() remaining: 14307 +LocalWindow.Enqueue() remaining: 14295 +LocalWindow.Enqueue() remaining: 14283 +LocalWindow.Enqueue() remaining: 14271 +LocalWindow.Enqueue() remaining: 14259 +LocalWindow.Enqueue() remaining: 14247 +LocalWindow.Enqueue() remaining: 14235 +LocalWindow.Enqueue() remaining: 14223 +LocalWindow.Enqueue() remaining: 14211 +LocalWindow.Enqueue() remaining: 14199 +LocalWindow.Enqueue() remaining: 14187 +LocalWindow.Enqueue() remaining: 14175 +LocalWindow.Enqueue() remaining: 14163 +LocalWindow.Enqueue() remaining: 14151 +LocalWindow.Enqueue() remaining: 14139 +LocalWindow.Enqueue() remaining: 14127 +LocalWindow.Enqueue() remaining: 14115 +LocalWindow.Enqueue() remaining: 14103 +LocalWindow.Enqueue() remaining: 14091 +LocalWindow.Enqueue() remaining: 14079 +LocalWindow.Enqueue() remaining: 14067 +LocalWindow.Enqueue() remaining: 14055 +LocalWindow.Enqueue() remaining: 14043 +LocalWindow.Enqueue() remaining: 14031 +LocalWindow.Enqueue() remaining: 14019 +LocalWindow.Enqueue() remaining: 14007 +LocalWindow.Enqueue() remaining: 13995 +LocalWindow.Enqueue() remaining: 13983 +LocalWindow.Enqueue() remaining: 13971 +LocalWindow.Enqueue() remaining: 13959 +LocalWindow.Enqueue() remaining: 13947 +LocalWindow.Enqueue() remaining: 13935 +LocalWindow.Enqueue() remaining: 13923 +LocalWindow.Enqueue() remaining: 13911 +LocalWindow.Enqueue() remaining: 13899 +LocalWindow.Enqueue() remaining: 13887 +LocalWindow.Enqueue() remaining: 13875 +LocalWindow.Enqueue() remaining: 13863 +LocalWindow.Enqueue() remaining: 13851 +LocalWindow.Enqueue() remaining: 13839 +LocalWindow.Enqueue() remaining: 13827 +LocalWindow.Enqueue() remaining: 13815 +LocalWindow.Enqueue() remaining: 13803 +LocalWindow.Enqueue() remaining: 13791 +LocalWindow.Enqueue() remaining: 13779 +LocalWindow.Enqueue() remaining: 13767 +LocalWindow.Enqueue() remaining: 13755 +LocalWindow.Enqueue() remaining: 13743 +LocalWindow.Enqueue() remaining: 13731 +LocalWindow.Enqueue() remaining: 13719 +LocalWindow.Enqueue() remaining: 13707 +LocalWindow.Enqueue() remaining: 13695 +LocalWindow.Enqueue() remaining: 13683 +LocalWindow.Enqueue() remaining: 13671 +LocalWindow.Enqueue() remaining: 13659 +LocalWindow.Enqueue() remaining: 13647 +LocalWindow.Enqueue() remaining: 13635 +LocalWindow.Enqueue() remaining: 13623 +LocalWindow.Enqueue() remaining: 13611 +LocalWindow.Enqueue() remaining: 13599 +LocalWindow.Enqueue() remaining: 13587 +LocalWindow.Enqueue() remaining: 13575 +LocalWindow.Enqueue() remaining: 13563 +LocalWindow.Enqueue() remaining: 13551 +LocalWindow.Enqueue() remaining: 13539 +LocalWindow.Enqueue() remaining: 13527 +LocalWindow.Enqueue() remaining: 13515 +LocalWindow.Enqueue() remaining: 13503 +LocalWindow.Enqueue() remaining: 13491 +LocalWindow.Enqueue() remaining: 13479 +LocalWindow.Enqueue() remaining: 13467 +LocalWindow.Enqueue() remaining: 13455 +LocalWindow.Enqueue() remaining: 13443 +LocalWindow.Enqueue() remaining: 13431 +LocalWindow.Enqueue() remaining: 13419 +LocalWindow.Enqueue() remaining: 13407 +LocalWindow.Enqueue() remaining: 13395 +LocalWindow.Enqueue() remaining: 13383 +LocalWindow.Enqueue() remaining: 13371 +LocalWindow.Enqueue() remaining: 13359 +LocalWindow.Enqueue() remaining: 13347 +LocalWindow.Enqueue() remaining: 13335 +LocalWindow.Enqueue() remaining: 13323 +LocalWindow.Enqueue() remaining: 13311 +LocalWindow.Enqueue() remaining: 13299 +LocalWindow.Enqueue() remaining: 13287 +LocalWindow.Enqueue() remaining: 13275 +LocalWindow.Enqueue() remaining: 13263 +LocalWindow.Enqueue() remaining: 13251 +LocalWindow.Enqueue() remaining: 13239 +LocalWindow.Enqueue() remaining: 13227 +LocalWindow.Enqueue() remaining: 13215 +LocalWindow.Enqueue() remaining: 13203 +LocalWindow.Enqueue() remaining: 13191 +LocalWindow.Enqueue() remaining: 13179 +LocalWindow.Enqueue() remaining: 13167 +LocalWindow.Enqueue() remaining: 13155 +LocalWindow.Enqueue() remaining: 13143 +LocalWindow.Enqueue() remaining: 13131 +LocalWindow.Enqueue() remaining: 13119 +LocalWindow.Enqueue() remaining: 13107 +LocalWindow.Enqueue() remaining: 13095 +LocalWindow.Enqueue() remaining: 13083 +LocalWindow.Enqueue() remaining: 13071 +LocalWindow.Enqueue() remaining: 13059 +LocalWindow.Enqueue() remaining: 13047 +LocalWindow.Enqueue() remaining: 13035 +LocalWindow.Enqueue() remaining: 13023 +LocalWindow.Enqueue() remaining: 13011 +LocalWindow.Enqueue() remaining: 12999 +LocalWindow.Enqueue() remaining: 12987 +LocalWindow.Enqueue() remaining: 12975 +LocalWindow.Enqueue() remaining: 12963 +LocalWindow.Enqueue() remaining: 12951 +LocalWindow.Enqueue() remaining: 12939 +LocalWindow.Enqueue() remaining: 12927 +LocalWindow.Enqueue() remaining: 12915 +LocalWindow.Enqueue() remaining: 12903 +LocalWindow.Enqueue() remaining: 12891 +LocalWindow.Enqueue() remaining: 12879 +LocalWindow.Enqueue() remaining: 12867 +LocalWindow.Enqueue() remaining: 12855 +LocalWindow.Enqueue() remaining: 12843 +LocalWindow.Enqueue() remaining: 12831 +LocalWindow.Enqueue() remaining: 12819 +LocalWindow.Enqueue() remaining: 12807 +LocalWindow.Enqueue() remaining: 12795 +LocalWindow.Enqueue() remaining: 12783 +LocalWindow.Enqueue() remaining: 12771 +LocalWindow.Enqueue() remaining: 12759 +LocalWindow.Enqueue() remaining: 12747 +LocalWindow.Enqueue() remaining: 12735 +LocalWindow.Enqueue() remaining: 12723 +LocalWindow.Enqueue() remaining: 12711 +LocalWindow.Enqueue() remaining: 12699 +LocalWindow.Enqueue() remaining: 12687 +LocalWindow.Enqueue() remaining: 12675 +LocalWindow.Enqueue() remaining: 12663 +LocalWindow.Enqueue() remaining: 12651 +LocalWindow.Enqueue() remaining: 12639 +LocalWindow.Enqueue() remaining: 12627 +LocalWindow.Enqueue() remaining: 12615 +LocalWindow.Enqueue() remaining: 12603 +LocalWindow.Enqueue() remaining: 12591 +LocalWindow.Enqueue() remaining: 12579 +LocalWindow.Enqueue() remaining: 12567 +LocalWindow.Enqueue() remaining: 12555 +LocalWindow.Enqueue() remaining: 12543 +LocalWindow.Enqueue() remaining: 12531 +LocalWindow.Enqueue() remaining: 12519 +LocalWindow.Enqueue() remaining: 12507 +LocalWindow.Enqueue() remaining: 12495 +LocalWindow.Enqueue() remaining: 12483 +LocalWindow.Enqueue() remaining: 12471 +LocalWindow.Enqueue() remaining: 12459 +LocalWindow.Enqueue() remaining: 12447 +LocalWindow.Enqueue() remaining: 12435 +LocalWindow.Enqueue() remaining: 12423 +LocalWindow.Enqueue() remaining: 12411 +LocalWindow.Enqueue() remaining: 12399 +LocalWindow.Enqueue() remaining: 12387 +LocalWindow.Enqueue() remaining: 12375 +LocalWindow.Enqueue() remaining: 12363 +LocalWindow.Enqueue() remaining: 12351 +LocalWindow.Enqueue() remaining: 12339 +LocalWindow.Enqueue() remaining: 12327 +LocalWindow.Enqueue() remaining: 12315 +LocalWindow.Enqueue() remaining: 12303 +LocalWindow.Enqueue() remaining: 12291 +LocalWindow.Enqueue() remaining: 12279 +LocalWindow.Enqueue() remaining: 12267 +LocalWindow.Enqueue() remaining: 12255 +LocalWindow.Enqueue() remaining: 12243 +LocalWindow.Enqueue() remaining: 12231 +LocalWindow.Enqueue() remaining: 12219 +LocalWindow.Enqueue() remaining: 12207 +LocalWindow.Enqueue() remaining: 12195 +LocalWindow.Enqueue() remaining: 12183 +LocalWindow.Enqueue() remaining: 12171 +LocalWindow.Enqueue() remaining: 12159 +LocalWindow.Enqueue() remaining: 12147 +LocalWindow.Enqueue() remaining: 12135 +LocalWindow.Enqueue() remaining: 12123 +LocalWindow.Enqueue() remaining: 12111 +LocalWindow.Enqueue() remaining: 12099 +LocalWindow.Enqueue() remaining: 12087 +LocalWindow.Enqueue() remaining: 12075 +LocalWindow.Enqueue() remaining: 12063 +LocalWindow.Enqueue() remaining: 12051 +LocalWindow.Enqueue() remaining: 12039 +LocalWindow.Enqueue() remaining: 12027 +LocalWindow.Enqueue() remaining: 12015 +LocalWindow.Enqueue() remaining: 12003 +LocalWindow.Enqueue() remaining: 11991 +LocalWindow.Enqueue() remaining: 11979 +LocalWindow.Enqueue() remaining: 11967 +LocalWindow.Enqueue() remaining: 11955 +LocalWindow.Enqueue() remaining: 11943 +LocalWindow.Enqueue() remaining: 11931 +LocalWindow.Enqueue() remaining: 11919 +LocalWindow.Enqueue() remaining: 11907 +LocalWindow.Enqueue() remaining: 11895 +LocalWindow.Enqueue() remaining: 11883 +LocalWindow.Enqueue() remaining: 11871 +LocalWindow.Enqueue() remaining: 11859 +LocalWindow.Enqueue() remaining: 11847 +LocalWindow.Enqueue() remaining: 11835 +LocalWindow.Enqueue() remaining: 11823 +LocalWindow.Enqueue() remaining: 11811 +LocalWindow.Enqueue() remaining: 11799 +LocalWindow.Enqueue() remaining: 11787 +LocalWindow.Enqueue() remaining: 11775 +LocalWindow.Enqueue() remaining: 11763 +LocalWindow.Enqueue() remaining: 11751 +LocalWindow.Enqueue() remaining: 11739 +LocalWindow.Enqueue() remaining: 11727 +LocalWindow.Enqueue() remaining: 11715 +LocalWindow.Enqueue() remaining: 11703 +LocalWindow.Enqueue() remaining: 11691 +LocalWindow.Enqueue() remaining: 11679 +LocalWindow.Enqueue() remaining: 11667 +LocalWindow.Enqueue() remaining: 11655 +LocalWindow.Enqueue() remaining: 11643 +LocalWindow.Enqueue() remaining: 11631 +LocalWindow.Enqueue() remaining: 11619 +LocalWindow.Enqueue() remaining: 11607 +LocalWindow.Enqueue() remaining: 11595 +LocalWindow.Enqueue() remaining: 11583 +LocalWindow.Enqueue() remaining: 11571 +LocalWindow.Enqueue() remaining: 11559 +LocalWindow.Enqueue() remaining: 11547 +LocalWindow.Enqueue() remaining: 11535 +LocalWindow.Enqueue() remaining: 11523 +LocalWindow.Enqueue() remaining: 11511 +LocalWindow.Enqueue() remaining: 11499 +LocalWindow.Enqueue() remaining: 11487 +LocalWindow.Enqueue() remaining: 11475 +LocalWindow.Enqueue() remaining: 11463 +LocalWindow.Enqueue() remaining: 11451 +LocalWindow.Enqueue() remaining: 11439 +LocalWindow.Enqueue() remaining: 11427 +LocalWindow.Enqueue() remaining: 11415 +LocalWindow.Enqueue() remaining: 11403 +LocalWindow.Enqueue() remaining: 11391 +LocalWindow.Enqueue() remaining: 11379 +LocalWindow.Enqueue() remaining: 11367 +LocalWindow.Enqueue() remaining: 11355 +LocalWindow.Enqueue() remaining: 11343 +LocalWindow.Enqueue() remaining: 11331 +LocalWindow.Enqueue() remaining: 11319 +LocalWindow.Enqueue() remaining: 11307 +LocalWindow.Enqueue() remaining: 11295 +LocalWindow.Enqueue() remaining: 11283 +LocalWindow.Enqueue() remaining: 11271 +LocalWindow.Enqueue() remaining: 11259 +LocalWindow.Enqueue() remaining: 11247 +LocalWindow.Enqueue() remaining: 11235 +LocalWindow.Enqueue() remaining: 11223 +LocalWindow.Enqueue() remaining: 11211 +LocalWindow.Enqueue() remaining: 11199 +LocalWindow.Enqueue() remaining: 11187 +LocalWindow.Enqueue() remaining: 11175 +LocalWindow.Enqueue() remaining: 11163 +LocalWindow.Enqueue() remaining: 11151 +LocalWindow.Enqueue() remaining: 11139 +LocalWindow.Enqueue() remaining: 11127 +LocalWindow.Enqueue() remaining: 11115 +LocalWindow.Enqueue() remaining: 11103 +LocalWindow.Enqueue() remaining: 11091 +LocalWindow.Enqueue() remaining: 11079 +LocalWindow.Enqueue() remaining: 11067 +LocalWindow.Enqueue() remaining: 11055 +LocalWindow.Enqueue() remaining: 11043 +LocalWindow.Enqueue() remaining: 11031 +LocalWindow.Enqueue() remaining: 11019 +LocalWindow.Enqueue() remaining: 11007 +LocalWindow.Enqueue() remaining: 10995 +LocalWindow.Enqueue() remaining: 10983 +LocalWindow.Enqueue() remaining: 10971 +LocalWindow.Enqueue() remaining: 10959 +LocalWindow.Enqueue() remaining: 10947 +LocalWindow.Enqueue() remaining: 10935 +LocalWindow.Enqueue() remaining: 10923 +LocalWindow.Enqueue() remaining: 10911 +LocalWindow.Enqueue() remaining: 10899 +LocalWindow.Enqueue() remaining: 10887 +LocalWindow.Enqueue() remaining: 10875 +LocalWindow.Enqueue() remaining: 10863 +LocalWindow.Enqueue() remaining: 10851 +LocalWindow.Enqueue() remaining: 10839 +LocalWindow.Enqueue() remaining: 10827 +LocalWindow.Enqueue() remaining: 10815 +LocalWindow.Enqueue() remaining: 10803 +LocalWindow.Enqueue() remaining: 10791 +LocalWindow.Enqueue() remaining: 10779 +LocalWindow.Enqueue() remaining: 10767 +LocalWindow.Enqueue() remaining: 10755 +LocalWindow.Enqueue() remaining: 10743 +LocalWindow.Enqueue() remaining: 10731 +LocalWindow.Enqueue() remaining: 10719 +LocalWindow.Enqueue() remaining: 10707 +LocalWindow.Enqueue() remaining: 10695 +LocalWindow.Enqueue() remaining: 10683 +LocalWindow.Enqueue() remaining: 10671 +LocalWindow.Enqueue() remaining: 10659 +LocalWindow.Enqueue() remaining: 10647 +LocalWindow.Enqueue() remaining: 10635 +LocalWindow.Enqueue() remaining: 10623 +LocalWindow.Enqueue() remaining: 10611 +LocalWindow.Enqueue() remaining: 10599 +LocalWindow.Enqueue() remaining: 10587 +LocalWindow.Enqueue() remaining: 10575 +LocalWindow.Enqueue() remaining: 10563 +LocalWindow.Enqueue() remaining: 10551 +LocalWindow.Enqueue() remaining: 10539 +LocalWindow.Enqueue() remaining: 10527 +LocalWindow.Enqueue() remaining: 10515 +LocalWindow.Enqueue() remaining: 10503 +LocalWindow.Enqueue() remaining: 10491 +LocalWindow.Enqueue() remaining: 10479 +LocalWindow.Enqueue() remaining: 10467 +LocalWindow.Enqueue() remaining: 10455 +LocalWindow.Enqueue() remaining: 10443 +LocalWindow.Enqueue() remaining: 10431 +LocalWindow.Enqueue() remaining: 10419 +LocalWindow.Enqueue() remaining: 10407 +LocalWindow.Enqueue() remaining: 10395 +LocalWindow.Enqueue() remaining: 10383 +LocalWindow.Enqueue() remaining: 10371 +LocalWindow.Enqueue() remaining: 10359 +LocalWindow.Enqueue() remaining: 10347 +LocalWindow.Enqueue() remaining: 10335 +LocalWindow.Enqueue() remaining: 10323 +LocalWindow.Enqueue() remaining: 10311 +LocalWindow.Enqueue() remaining: 10299 +LocalWindow.Enqueue() remaining: 10287 +LocalWindow.Enqueue() remaining: 10275 +LocalWindow.Enqueue() remaining: 10263 +LocalWindow.Enqueue() remaining: 10251 +LocalWindow.Enqueue() remaining: 10239 +LocalWindow.Enqueue() remaining: 10227 +LocalWindow.Enqueue() remaining: 10215 +LocalWindow.Enqueue() remaining: 10203 +LocalWindow.Enqueue() remaining: 10191 +LocalWindow.Enqueue() remaining: 10179 +LocalWindow.Enqueue() remaining: 10167 +LocalWindow.Enqueue() remaining: 10155 +LocalWindow.Enqueue() remaining: 10143 +LocalWindow.Enqueue() remaining: 10131 +LocalWindow.Enqueue() remaining: 10119 +LocalWindow.Enqueue() remaining: 10107 +LocalWindow.Enqueue() remaining: 10095 +LocalWindow.Enqueue() remaining: 10083 +LocalWindow.Enqueue() remaining: 10071 +LocalWindow.Enqueue() remaining: 10059 +LocalWindow.Enqueue() remaining: 10047 +LocalWindow.Enqueue() remaining: 10035 +LocalWindow.Enqueue() remaining: 10023 +LocalWindow.Enqueue() remaining: 10011 +LocalWindow.Enqueue() remaining: 9999 +LocalWindow.Enqueue() remaining: 9987 +LocalWindow.Enqueue() remaining: 9975 +LocalWindow.Enqueue() remaining: 9963 +LocalWindow.Enqueue() remaining: 9951 +LocalWindow.Enqueue() remaining: 9939 +LocalWindow.Enqueue() remaining: 9927 +LocalWindow.Enqueue() remaining: 9915 +LocalWindow.Enqueue() remaining: 9903 +LocalWindow.Enqueue() remaining: 9891 +LocalWindow.Enqueue() remaining: 9879 +LocalWindow.Enqueue() remaining: 9867 +LocalWindow.Enqueue() remaining: 9855 +LocalWindow.Enqueue() remaining: 9843 +LocalWindow.Enqueue() remaining: 9831 +LocalWindow.Enqueue() remaining: 9819 +LocalWindow.Enqueue() remaining: 9807 +LocalWindow.Enqueue() remaining: 9795 +LocalWindow.Enqueue() remaining: 9783 +LocalWindow.Enqueue() remaining: 9771 +LocalWindow.Enqueue() remaining: 9759 +LocalWindow.Enqueue() remaining: 9747 +LocalWindow.Enqueue() remaining: 9735 +LocalWindow.Enqueue() remaining: 9723 +LocalWindow.Enqueue() remaining: 9711 +LocalWindow.Enqueue() remaining: 9699 +LocalWindow.Enqueue() remaining: 9687 +LocalWindow.Enqueue() remaining: 9675 +LocalWindow.Enqueue() remaining: 9663 +LocalWindow.Enqueue() remaining: 9651 +LocalWindow.Enqueue() remaining: 9639 +LocalWindow.Enqueue() remaining: 9627 +LocalWindow.Enqueue() remaining: 9615 +LocalWindow.Enqueue() remaining: 9603 +LocalWindow.Enqueue() remaining: 9591 +LocalWindow.Enqueue() remaining: 9579 +LocalWindow.Enqueue() remaining: 9567 +LocalWindow.Enqueue() remaining: 9555 +LocalWindow.Enqueue() remaining: 9543 +LocalWindow.Enqueue() remaining: 9531 +LocalWindow.Enqueue() remaining: 9519 +LocalWindow.Enqueue() remaining: 9507 +LocalWindow.Enqueue() remaining: 9495 +LocalWindow.Enqueue() remaining: 9483 +LocalWindow.Enqueue() remaining: 9471 +LocalWindow.Enqueue() remaining: 9459 +LocalWindow.Enqueue() remaining: 9447 +LocalWindow.Enqueue() remaining: 9435 +LocalWindow.Enqueue() remaining: 9423 +LocalWindow.Enqueue() remaining: 9411 +LocalWindow.Enqueue() remaining: 9399 +LocalWindow.Enqueue() remaining: 9387 +LocalWindow.Enqueue() remaining: 9375 +LocalWindow.Enqueue() remaining: 9363 +LocalWindow.Enqueue() remaining: 9351 +LocalWindow.Enqueue() remaining: 9339 +LocalWindow.Enqueue() remaining: 9327 +LocalWindow.Enqueue() remaining: 9315 +LocalWindow.Enqueue() remaining: 9303 +LocalWindow.Enqueue() remaining: 9291 +LocalWindow.Enqueue() remaining: 9279 +LocalWindow.Enqueue() remaining: 9267 +LocalWindow.Enqueue() remaining: 9255 +LocalWindow.Enqueue() remaining: 9243 +LocalWindow.Enqueue() remaining: 9231 +LocalWindow.Enqueue() remaining: 9219 +LocalWindow.Enqueue() remaining: 9207 +LocalWindow.Enqueue() remaining: 9195 +LocalWindow.Enqueue() remaining: 9183 +LocalWindow.Enqueue() remaining: 9171 +LocalWindow.Enqueue() remaining: 9159 +LocalWindow.Enqueue() remaining: 9147 +LocalWindow.Enqueue() remaining: 9135 +LocalWindow.Enqueue() remaining: 9123 +LocalWindow.Enqueue() remaining: 9111 +LocalWindow.Enqueue() remaining: 9099 +LocalWindow.Enqueue() remaining: 9087 +LocalWindow.Enqueue() remaining: 9075 +LocalWindow.Enqueue() remaining: 9063 +LocalWindow.Enqueue() remaining: 9051 +LocalWindow.Enqueue() remaining: 9039 +LocalWindow.Enqueue() remaining: 9027 +LocalWindow.Enqueue() remaining: 9015 +LocalWindow.Enqueue() remaining: 9003 +LocalWindow.Enqueue() remaining: 8991 +LocalWindow.Enqueue() remaining: 8979 +LocalWindow.Enqueue() remaining: 8967 +LocalWindow.Enqueue() remaining: 8955 +LocalWindow.Enqueue() remaining: 8943 +LocalWindow.Enqueue() remaining: 8931 +LocalWindow.Enqueue() remaining: 8919 +LocalWindow.Enqueue() remaining: 8907 +LocalWindow.Enqueue() remaining: 8895 +LocalWindow.Enqueue() remaining: 8883 +LocalWindow.Enqueue() remaining: 8871 +LocalWindow.Enqueue() remaining: 8859 +LocalWindow.Enqueue() remaining: 8847 +LocalWindow.Enqueue() remaining: 8835 +LocalWindow.Enqueue() remaining: 8823 +LocalWindow.Enqueue() remaining: 8811 +LocalWindow.Enqueue() remaining: 8799 +LocalWindow.Enqueue() remaining: 8787 +LocalWindow.Enqueue() remaining: 8775 +LocalWindow.Enqueue() remaining: 8763 +LocalWindow.Enqueue() remaining: 8751 +LocalWindow.Enqueue() remaining: 8739 +LocalWindow.Enqueue() remaining: 8727 +LocalWindow.Enqueue() remaining: 8715 +LocalWindow.Enqueue() remaining: 8703 +LocalWindow.Enqueue() remaining: 8691 +LocalWindow.Enqueue() remaining: 8679 +LocalWindow.Enqueue() remaining: 8667 +LocalWindow.Enqueue() remaining: 8655 +LocalWindow.Enqueue() remaining: 8643 +LocalWindow.Enqueue() remaining: 8631 +LocalWindow.Enqueue() remaining: 8619 +LocalWindow.Enqueue() remaining: 8607 +LocalWindow.Enqueue() remaining: 8595 +LocalWindow.Enqueue() remaining: 8583 +LocalWindow.Enqueue() remaining: 8571 +LocalWindow.Enqueue() remaining: 8559 +LocalWindow.Enqueue() remaining: 8547 +LocalWindow.Enqueue() remaining: 8535 +LocalWindow.Enqueue() remaining: 8523 +LocalWindow.Enqueue() remaining: 8511 +LocalWindow.Enqueue() remaining: 8499 +LocalWindow.Enqueue() remaining: 8487 +LocalWindow.Enqueue() remaining: 8475 +LocalWindow.Enqueue() remaining: 8463 +LocalWindow.Enqueue() remaining: 8451 +LocalWindow.Enqueue() remaining: 8439 +LocalWindow.Enqueue() remaining: 8427 +LocalWindow.Enqueue() remaining: 8415 +LocalWindow.Enqueue() remaining: 8403 +LocalWindow.Enqueue() remaining: 8391 +LocalWindow.Enqueue() remaining: 8379 +LocalWindow.Enqueue() remaining: 8367 +LocalWindow.Enqueue() remaining: 8355 +LocalWindow.Enqueue() remaining: 8343 +LocalWindow.Enqueue() remaining: 8331 +LocalWindow.Enqueue() remaining: 8319 +LocalWindow.Enqueue() remaining: 8307 +LocalWindow.Enqueue() remaining: 8295 +LocalWindow.Enqueue() remaining: 8283 +LocalWindow.Enqueue() remaining: 8271 +LocalWindow.Enqueue() remaining: 8259 +LocalWindow.Enqueue() remaining: 8247 +LocalWindow.Enqueue() remaining: 8235 +LocalWindow.Enqueue() remaining: 8223 +LocalWindow.Enqueue() remaining: 8211 +LocalWindow.Enqueue() remaining: 8199 +LocalWindow.Enqueue() remaining: 8187 +LocalWindow.Enqueue() remaining: 8175 +LocalWindow.Enqueue() remaining: 8163 +LocalWindow.Enqueue() remaining: 8151 +LocalWindow.Enqueue() remaining: 8139 +LocalWindow.Enqueue() remaining: 8127 +LocalWindow.Enqueue() remaining: 8115 +LocalWindow.Enqueue() remaining: 8103 +LocalWindow.Enqueue() remaining: 8091 +LocalWindow.Enqueue() remaining: 8079 +LocalWindow.Enqueue() remaining: 8067 +LocalWindow.Enqueue() remaining: 8055 +LocalWindow.Enqueue() remaining: 8043 +LocalWindow.Enqueue() remaining: 8031 +LocalWindow.Enqueue() remaining: 8019 +LocalWindow.Enqueue() remaining: 8007 +LocalWindow.Enqueue() remaining: 7995 +LocalWindow.Enqueue() remaining: 7983 +LocalWindow.Enqueue() remaining: 7971 +LocalWindow.Enqueue() remaining: 7959 +LocalWindow.Enqueue() remaining: 7947 +LocalWindow.Enqueue() remaining: 7935 +LocalWindow.Enqueue() remaining: 7923 +LocalWindow.Enqueue() remaining: 7911 +LocalWindow.Enqueue() remaining: 7899 +LocalWindow.Enqueue() remaining: 7887 +LocalWindow.Enqueue() remaining: 7875 +LocalWindow.Enqueue() remaining: 7863 +LocalWindow.Enqueue() remaining: 7851 +LocalWindow.Enqueue() remaining: 7839 +LocalWindow.Enqueue() remaining: 7827 +LocalWindow.Enqueue() remaining: 7815 +LocalWindow.Enqueue() remaining: 7803 +LocalWindow.Enqueue() remaining: 7791 +LocalWindow.Enqueue() remaining: 7779 +LocalWindow.Enqueue() remaining: 7767 +LocalWindow.Enqueue() remaining: 7755 +LocalWindow.Enqueue() remaining: 7743 +LocalWindow.Enqueue() remaining: 7731 +LocalWindow.Enqueue() remaining: 7719 +LocalWindow.Enqueue() remaining: 7707 +LocalWindow.Enqueue() remaining: 7695 +LocalWindow.Enqueue() remaining: 7683 +LocalWindow.Enqueue() remaining: 7671 +LocalWindow.Enqueue() remaining: 7659 +LocalWindow.Enqueue() remaining: 7647 +LocalWindow.Enqueue() remaining: 7635 +LocalWindow.Enqueue() remaining: 7623 +LocalWindow.Enqueue() remaining: 7611 +LocalWindow.Enqueue() remaining: 7599 +LocalWindow.Enqueue() remaining: 7587 +LocalWindow.Enqueue() remaining: 7575 +LocalWindow.Enqueue() remaining: 7563 +LocalWindow.Enqueue() remaining: 7551 +LocalWindow.Enqueue() remaining: 7539 +LocalWindow.Enqueue() remaining: 7527 +LocalWindow.Enqueue() remaining: 7515 +LocalWindow.Enqueue() remaining: 7503 +LocalWindow.Enqueue() remaining: 7491 +LocalWindow.Enqueue() remaining: 7479 +LocalWindow.Enqueue() remaining: 7467 +LocalWindow.Enqueue() remaining: 7455 +LocalWindow.Enqueue() remaining: 7443 +LocalWindow.Enqueue() remaining: 7431 +LocalWindow.Enqueue() remaining: 7419 +LocalWindow.Enqueue() remaining: 7407 +LocalWindow.Enqueue() remaining: 7395 +LocalWindow.Enqueue() remaining: 7383 +LocalWindow.Enqueue() remaining: 7371 +LocalWindow.Enqueue() remaining: 7359 +LocalWindow.Enqueue() remaining: 7347 +LocalWindow.Enqueue() remaining: 7335 +LocalWindow.Enqueue() remaining: 7323 +LocalWindow.Enqueue() remaining: 7311 +LocalWindow.Enqueue() remaining: 7299 +LocalWindow.Enqueue() remaining: 7287 +LocalWindow.Enqueue() remaining: 7275 +LocalWindow.Enqueue() remaining: 7263 +LocalWindow.Enqueue() remaining: 7251 +LocalWindow.Enqueue() remaining: 7239 +LocalWindow.Enqueue() remaining: 7227 +LocalWindow.Enqueue() remaining: 7215 +LocalWindow.Enqueue() remaining: 7203 +LocalWindow.Enqueue() remaining: 7191 +LocalWindow.Enqueue() remaining: 7179 +LocalWindow.Enqueue() remaining: 7167 +LocalWindow.Enqueue() remaining: 7155 +LocalWindow.Enqueue() remaining: 7143 +LocalWindow.Enqueue() remaining: 7131 +LocalWindow.Enqueue() remaining: 7119 +LocalWindow.Enqueue() remaining: 7107 +LocalWindow.Enqueue() remaining: 7095 +LocalWindow.Enqueue() remaining: 7083 +LocalWindow.Enqueue() remaining: 7071 +LocalWindow.Enqueue() remaining: 7059 +LocalWindow.Enqueue() remaining: 7047 +LocalWindow.Enqueue() remaining: 7035 +LocalWindow.Enqueue() remaining: 7023 +LocalWindow.Enqueue() remaining: 7011 +LocalWindow.Enqueue() remaining: 6999 +LocalWindow.Enqueue() remaining: 6987 +LocalWindow.Enqueue() remaining: 6975 +LocalWindow.Enqueue() remaining: 6963 +LocalWindow.Enqueue() remaining: 6951 +LocalWindow.Enqueue() remaining: 6939 +LocalWindow.Enqueue() remaining: 6927 +LocalWindow.Enqueue() remaining: 6915 +LocalWindow.Enqueue() remaining: 6903 +LocalWindow.Enqueue() remaining: 6891 +LocalWindow.Enqueue() remaining: 6879 +LocalWindow.Enqueue() remaining: 6867 +LocalWindow.Enqueue() remaining: 6855 +LocalWindow.Enqueue() remaining: 6843 +LocalWindow.Enqueue() remaining: 6831 +LocalWindow.Enqueue() remaining: 6819 +LocalWindow.Enqueue() remaining: 6807 +LocalWindow.Enqueue() remaining: 6795 +LocalWindow.Enqueue() remaining: 6783 +LocalWindow.Enqueue() remaining: 6771 +LocalWindow.Enqueue() remaining: 6759 +LocalWindow.Enqueue() remaining: 6747 +LocalWindow.Enqueue() remaining: 6735 +LocalWindow.Enqueue() remaining: 6723 +LocalWindow.Enqueue() remaining: 6711 +LocalWindow.Enqueue() remaining: 6699 +LocalWindow.Enqueue() remaining: 6687 +LocalWindow.Enqueue() remaining: 6675 +LocalWindow.Enqueue() remaining: 6663 +LocalWindow.Enqueue() remaining: 6651 +LocalWindow.Enqueue() remaining: 6639 +LocalWindow.Enqueue() remaining: 6627 +LocalWindow.Enqueue() remaining: 6615 +LocalWindow.Enqueue() remaining: 6603 +LocalWindow.Enqueue() remaining: 6591 +LocalWindow.Enqueue() remaining: 6579 +LocalWindow.Enqueue() remaining: 6567 +LocalWindow.Enqueue() remaining: 6555 +LocalWindow.Enqueue() remaining: 6543 +LocalWindow.Enqueue() remaining: 6531 +LocalWindow.Enqueue() remaining: 6519 +LocalWindow.Enqueue() remaining: 6507 +LocalWindow.Enqueue() remaining: 6495 +LocalWindow.Enqueue() remaining: 6483 +LocalWindow.Enqueue() remaining: 6471 +LocalWindow.Enqueue() remaining: 6459 +LocalWindow.Enqueue() remaining: 6447 +LocalWindow.Enqueue() remaining: 6435 +LocalWindow.Enqueue() remaining: 6423 +LocalWindow.Enqueue() remaining: 6411 +LocalWindow.Enqueue() remaining: 6399 +LocalWindow.Enqueue() remaining: 6387 +LocalWindow.Enqueue() remaining: 6375 +LocalWindow.Enqueue() remaining: 6363 +LocalWindow.Enqueue() remaining: 6351 +LocalWindow.Enqueue() remaining: 6339 +LocalWindow.Enqueue() remaining: 6327 +LocalWindow.Enqueue() remaining: 6315 +LocalWindow.Enqueue() remaining: 6303 +LocalWindow.Enqueue() remaining: 6291 +LocalWindow.Enqueue() remaining: 6279 +LocalWindow.Enqueue() remaining: 6267 +LocalWindow.Enqueue() remaining: 6255 +LocalWindow.Enqueue() remaining: 6243 +LocalWindow.Enqueue() remaining: 6231 +LocalWindow.Enqueue() remaining: 6219 +LocalWindow.Enqueue() remaining: 6207 +LocalWindow.Enqueue() remaining: 6195 +LocalWindow.Enqueue() remaining: 6183 +LocalWindow.Enqueue() remaining: 6171 +LocalWindow.Enqueue() remaining: 6159 +LocalWindow.Enqueue() remaining: 6147 +LocalWindow.Enqueue() remaining: 6135 +LocalWindow.Enqueue() remaining: 6123 +LocalWindow.Enqueue() remaining: 6111 +LocalWindow.Enqueue() remaining: 6099 +LocalWindow.Enqueue() remaining: 6087 +LocalWindow.Enqueue() remaining: 6075 +LocalWindow.Enqueue() remaining: 6063 +LocalWindow.Enqueue() remaining: 6051 +LocalWindow.Enqueue() remaining: 6039 +LocalWindow.Enqueue() remaining: 6027 +LocalWindow.Enqueue() remaining: 6015 +LocalWindow.Enqueue() remaining: 6003 +LocalWindow.Enqueue() remaining: 5991 +LocalWindow.Enqueue() remaining: 5979 +LocalWindow.Enqueue() remaining: 5967 +LocalWindow.Enqueue() remaining: 5955 +LocalWindow.Enqueue() remaining: 5943 +LocalWindow.Enqueue() remaining: 5931 +LocalWindow.Enqueue() remaining: 5919 +LocalWindow.Enqueue() remaining: 5907 +LocalWindow.Enqueue() remaining: 5895 +LocalWindow.Enqueue() remaining: 5883 +LocalWindow.Enqueue() remaining: 5871 +LocalWindow.Enqueue() remaining: 5859 +LocalWindow.Enqueue() remaining: 5847 +LocalWindow.Enqueue() remaining: 5835 +LocalWindow.Enqueue() remaining: 5823 +LocalWindow.Enqueue() remaining: 5811 +LocalWindow.Enqueue() remaining: 5799 +LocalWindow.Enqueue() remaining: 5787 +LocalWindow.Enqueue() remaining: 5775 +LocalWindow.Enqueue() remaining: 5763 +LocalWindow.Enqueue() remaining: 5751 +LocalWindow.Enqueue() remaining: 5739 +LocalWindow.Enqueue() remaining: 5727 +LocalWindow.Enqueue() remaining: 5715 +LocalWindow.Enqueue() remaining: 5703 +LocalWindow.Enqueue() remaining: 5691 +LocalWindow.Enqueue() remaining: 5679 +LocalWindow.Enqueue() remaining: 5667 +LocalWindow.Enqueue() remaining: 5655 +LocalWindow.Enqueue() remaining: 5643 +LocalWindow.Enqueue() remaining: 5631 +LocalWindow.Enqueue() remaining: 5619 +LocalWindow.Enqueue() remaining: 5607 +LocalWindow.Enqueue() remaining: 5595 +LocalWindow.Enqueue() remaining: 5583 +LocalWindow.Enqueue() remaining: 5571 +LocalWindow.Enqueue() remaining: 5559 +LocalWindow.Enqueue() remaining: 5547 +LocalWindow.Enqueue() remaining: 5535 +LocalWindow.Enqueue() remaining: 5523 +LocalWindow.Enqueue() remaining: 5511 +LocalWindow.Enqueue() remaining: 5499 +LocalWindow.Enqueue() remaining: 5487 +LocalWindow.Enqueue() remaining: 5475 +LocalWindow.Enqueue() remaining: 5463 +LocalWindow.Enqueue() remaining: 5451 +LocalWindow.Enqueue() remaining: 5439 +LocalWindow.Enqueue() remaining: 5427 +LocalWindow.Enqueue() remaining: 5415 +LocalWindow.Enqueue() remaining: 5403 +LocalWindow.Enqueue() remaining: 5391 +LocalWindow.Enqueue() remaining: 5379 +LocalWindow.Enqueue() remaining: 5367 +LocalWindow.Enqueue() remaining: 5355 +LocalWindow.Enqueue() remaining: 5343 +LocalWindow.Enqueue() remaining: 5331 +LocalWindow.Enqueue() remaining: 5319 +LocalWindow.Enqueue() remaining: 5307 +LocalWindow.Enqueue() remaining: 5295 +LocalWindow.Enqueue() remaining: 5283 +LocalWindow.Enqueue() remaining: 5271 +LocalWindow.Enqueue() remaining: 5259 +LocalWindow.Enqueue() remaining: 5247 +LocalWindow.Enqueue() remaining: 5235 +LocalWindow.Enqueue() remaining: 5223 +LocalWindow.Enqueue() remaining: 5211 +LocalWindow.Enqueue() remaining: 5199 +LocalWindow.Enqueue() remaining: 5187 +LocalWindow.Enqueue() remaining: 5175 +LocalWindow.Enqueue() remaining: 5163 +LocalWindow.Enqueue() remaining: 5151 +LocalWindow.Enqueue() remaining: 5139 +LocalWindow.Enqueue() remaining: 5127 +LocalWindow.Enqueue() remaining: 5115 +LocalWindow.Enqueue() remaining: 5103 +LocalWindow.Enqueue() remaining: 5091 +LocalWindow.Enqueue() remaining: 5079 +LocalWindow.Enqueue() remaining: 5067 +LocalWindow.Enqueue() remaining: 5055 +LocalWindow.Enqueue() remaining: 5043 +LocalWindow.Enqueue() remaining: 5031 +LocalWindow.Enqueue() remaining: 5019 +LocalWindow.Enqueue() remaining: 5007 +LocalWindow.Enqueue() remaining: 4995 +LocalWindow.Enqueue() remaining: 4983 +LocalWindow.Enqueue() remaining: 4971 +LocalWindow.Enqueue() remaining: 4959 +LocalWindow.Enqueue() remaining: 4947 +LocalWindow.Enqueue() remaining: 4935 +LocalWindow.Enqueue() remaining: 4923 +LocalWindow.Enqueue() remaining: 4911 +LocalWindow.Enqueue() remaining: 4899 +LocalWindow.Enqueue() remaining: 4887 +LocalWindow.Enqueue() remaining: 4875 +LocalWindow.Enqueue() remaining: 4863 +LocalWindow.Enqueue() remaining: 4851 +LocalWindow.Enqueue() remaining: 4839 +LocalWindow.Enqueue() remaining: 4827 +LocalWindow.Enqueue() remaining: 4815 +LocalWindow.Enqueue() remaining: 4803 +LocalWindow.Enqueue() remaining: 4791 +LocalWindow.Enqueue() remaining: 4779 +LocalWindow.Enqueue() remaining: 4767 +LocalWindow.Enqueue() remaining: 4755 +LocalWindow.Enqueue() remaining: 4743 +LocalWindow.Enqueue() remaining: 4731 +LocalWindow.Enqueue() remaining: 4719 +LocalWindow.Enqueue() remaining: 4707 +LocalWindow.Enqueue() remaining: 4695 +LocalWindow.Enqueue() remaining: 4683 +LocalWindow.Enqueue() remaining: 4671 +LocalWindow.Enqueue() remaining: 4659 +LocalWindow.Enqueue() remaining: 4647 +LocalWindow.Enqueue() remaining: 4635 +LocalWindow.Enqueue() remaining: 4623 +LocalWindow.Enqueue() remaining: 4611 +LocalWindow.Enqueue() remaining: 4599 +LocalWindow.Enqueue() remaining: 4587 +LocalWindow.Enqueue() remaining: 4575 +LocalWindow.Enqueue() remaining: 4563 +LocalWindow.Enqueue() remaining: 4551 +LocalWindow.Enqueue() remaining: 4539 +LocalWindow.Enqueue() remaining: 4527 +LocalWindow.Enqueue() remaining: 4515 +LocalWindow.Enqueue() remaining: 4503 +LocalWindow.Enqueue() remaining: 4491 +LocalWindow.Enqueue() remaining: 4479 +LocalWindow.Enqueue() remaining: 4467 +LocalWindow.Enqueue() remaining: 4455 +LocalWindow.Enqueue() remaining: 4443 +LocalWindow.Enqueue() remaining: 4431 +LocalWindow.Enqueue() remaining: 4419 +LocalWindow.Enqueue() remaining: 4407 +LocalWindow.Enqueue() remaining: 4395 +LocalWindow.Enqueue() remaining: 4383 +LocalWindow.Enqueue() remaining: 4371 +LocalWindow.Enqueue() remaining: 4359 +LocalWindow.Enqueue() remaining: 4347 +LocalWindow.Enqueue() remaining: 4335 +LocalWindow.Enqueue() remaining: 4323 +LocalWindow.Enqueue() remaining: 4311 +LocalWindow.Enqueue() remaining: 4299 +LocalWindow.Enqueue() remaining: 4287 +LocalWindow.Enqueue() remaining: 4275 +LocalWindow.Enqueue() remaining: 4263 +LocalWindow.Enqueue() remaining: 4251 +LocalWindow.Enqueue() remaining: 4239 +LocalWindow.Enqueue() remaining: 4227 +LocalWindow.Enqueue() remaining: 4215 +LocalWindow.Enqueue() remaining: 4203 +LocalWindow.Enqueue() remaining: 4191 +LocalWindow.Enqueue() remaining: 4179 +LocalWindow.Enqueue() remaining: 4167 +LocalWindow.Enqueue() remaining: 4155 +LocalWindow.Enqueue() remaining: 4143 +LocalWindow.Enqueue() remaining: 4131 +LocalWindow.Enqueue() remaining: 4119 +LocalWindow.Enqueue() remaining: 4107 +LocalWindow.Enqueue() remaining: 4095 +LocalWindow.Enqueue() remaining: 4083 +LocalWindow.Enqueue() remaining: 4071 +LocalWindow.Enqueue() remaining: 4059 +LocalWindow.Enqueue() remaining: 4047 +LocalWindow.Enqueue() remaining: 4035 +LocalWindow.Enqueue() remaining: 4023 +LocalWindow.Enqueue() remaining: 4011 +LocalWindow.Enqueue() remaining: 3999 +LocalWindow.Enqueue() remaining: 3987 +LocalWindow.Enqueue() remaining: 3975 +LocalWindow.Enqueue() remaining: 3963 +LocalWindow.Enqueue() remaining: 3951 +LocalWindow.Enqueue() remaining: 3939 +LocalWindow.Enqueue() remaining: 3927 +LocalWindow.Enqueue() remaining: 3915 +LocalWindow.Enqueue() remaining: 3903 +LocalWindow.Enqueue() remaining: 3891 +LocalWindow.Enqueue() remaining: 3879 +LocalWindow.Enqueue() remaining: 3867 +LocalWindow.Enqueue() remaining: 3855 +LocalWindow.Enqueue() remaining: 3843 +LocalWindow.Enqueue() remaining: 3831 +LocalWindow.Enqueue() remaining: 3819 +LocalWindow.Enqueue() remaining: 3807 +LocalWindow.Enqueue() remaining: 3795 +LocalWindow.Enqueue() remaining: 3783 +LocalWindow.Enqueue() remaining: 3771 +LocalWindow.Enqueue() remaining: 3759 +LocalWindow.Enqueue() remaining: 3747 +LocalWindow.Enqueue() remaining: 3735 +LocalWindow.Enqueue() remaining: 3723 +LocalWindow.Enqueue() remaining: 3711 +LocalWindow.Enqueue() remaining: 3699 +LocalWindow.Enqueue() remaining: 3687 +LocalWindow.Enqueue() remaining: 3675 +LocalWindow.Enqueue() remaining: 3663 +LocalWindow.Enqueue() remaining: 3651 +LocalWindow.Enqueue() remaining: 3639 +LocalWindow.Enqueue() remaining: 3627 +LocalWindow.Enqueue() remaining: 3615 +LocalWindow.Enqueue() remaining: 3603 +LocalWindow.Enqueue() remaining: 3591 +LocalWindow.Enqueue() remaining: 3579 +LocalWindow.Enqueue() remaining: 3567 +LocalWindow.Enqueue() remaining: 3555 +LocalWindow.Enqueue() remaining: 3543 +LocalWindow.Enqueue() remaining: 3531 +LocalWindow.Enqueue() remaining: 3519 +LocalWindow.Enqueue() remaining: 3507 +LocalWindow.Enqueue() remaining: 3495 +LocalWindow.Enqueue() remaining: 3483 +LocalWindow.Enqueue() remaining: 3471 +LocalWindow.Enqueue() remaining: 3459 +LocalWindow.Enqueue() remaining: 3447 +LocalWindow.Enqueue() remaining: 3435 +LocalWindow.Enqueue() remaining: 3423 +LocalWindow.Enqueue() remaining: 3411 +LocalWindow.Enqueue() remaining: 3399 +LocalWindow.Enqueue() remaining: 3387 +LocalWindow.Enqueue() remaining: 3375 +LocalWindow.Enqueue() remaining: 3363 +LocalWindow.Enqueue() remaining: 3351 +LocalWindow.Enqueue() remaining: 3339 +LocalWindow.Enqueue() remaining: 3327 +LocalWindow.Enqueue() remaining: 3315 +LocalWindow.Enqueue() remaining: 3303 +LocalWindow.Enqueue() remaining: 3291 +LocalWindow.Enqueue() remaining: 3279 +LocalWindow.Enqueue() remaining: 3267 +LocalWindow.Enqueue() remaining: 3255 +LocalWindow.Enqueue() remaining: 3243 +LocalWindow.Enqueue() remaining: 3231 +LocalWindow.Enqueue() remaining: 3219 +LocalWindow.Enqueue() remaining: 3207 +LocalWindow.Enqueue() remaining: 3195 +LocalWindow.Enqueue() remaining: 3183 +LocalWindow.Enqueue() remaining: 3171 +LocalWindow.Enqueue() remaining: 3159 +LocalWindow.Enqueue() remaining: 3147 +LocalWindow.Enqueue() remaining: 3135 +LocalWindow.Enqueue() remaining: 3123 +LocalWindow.Enqueue() remaining: 3111 +LocalWindow.Enqueue() remaining: 3099 +LocalWindow.Enqueue() remaining: 3087 +LocalWindow.Enqueue() remaining: 3075 +LocalWindow.Enqueue() remaining: 3063 +LocalWindow.Enqueue() remaining: 3051 +LocalWindow.Enqueue() remaining: 3039 +LocalWindow.Enqueue() remaining: 3027 +LocalWindow.Enqueue() remaining: 3015 +LocalWindow.Enqueue() remaining: 3003 +LocalWindow.Enqueue() remaining: 2991 +LocalWindow.Enqueue() remaining: 2979 +LocalWindow.Enqueue() remaining: 2967 +LocalWindow.Enqueue() remaining: 2955 +LocalWindow.Enqueue() remaining: 2943 +LocalWindow.Enqueue() remaining: 2931 +LocalWindow.Enqueue() remaining: 2919 +LocalWindow.Enqueue() remaining: 2907 +LocalWindow.Enqueue() remaining: 2895 +LocalWindow.Enqueue() remaining: 2883 +LocalWindow.Enqueue() remaining: 2871 +LocalWindow.Enqueue() remaining: 2859 +LocalWindow.Enqueue() remaining: 2847 +LocalWindow.Enqueue() remaining: 2835 +LocalWindow.Enqueue() remaining: 2823 +LocalWindow.Enqueue() remaining: 2811 +LocalWindow.Enqueue() remaining: 2799 +LocalWindow.Enqueue() remaining: 2787 +LocalWindow.Enqueue() remaining: 2775 +LocalWindow.Enqueue() remaining: 2763 +LocalWindow.Enqueue() remaining: 2751 +LocalWindow.Enqueue() remaining: 2739 +LocalWindow.Enqueue() remaining: 2727 +LocalWindow.Enqueue() remaining: 2715 +LocalWindow.Enqueue() remaining: 2703 +LocalWindow.Enqueue() remaining: 2691 +LocalWindow.Enqueue() remaining: 2679 +LocalWindow.Enqueue() remaining: 2667 +LocalWindow.Enqueue() remaining: 2655 +LocalWindow.Enqueue() remaining: 2643 +LocalWindow.Enqueue() remaining: 2631 +LocalWindow.Enqueue() remaining: 2619 +LocalWindow.Enqueue() remaining: 2607 +LocalWindow.Enqueue() remaining: 2595 +LocalWindow.Enqueue() remaining: 2583 +LocalWindow.Enqueue() remaining: 2571 +LocalWindow.Enqueue() remaining: 2559 +LocalWindow.Enqueue() remaining: 2547 +LocalWindow.Enqueue() remaining: 2535 +LocalWindow.Enqueue() remaining: 2523 +LocalWindow.Enqueue() remaining: 2511 +LocalWindow.Enqueue() remaining: 2499 +LocalWindow.Enqueue() remaining: 2487 +LocalWindow.Enqueue() remaining: 2475 +LocalWindow.Enqueue() remaining: 2463 +LocalWindow.Enqueue() remaining: 2451 +LocalWindow.Enqueue() remaining: 2439 +LocalWindow.Enqueue() remaining: 2427 +LocalWindow.Enqueue() remaining: 2415 +LocalWindow.Enqueue() remaining: 2403 +LocalWindow.Enqueue() remaining: 2391 +LocalWindow.Enqueue() remaining: 2379 +LocalWindow.Enqueue() remaining: 2367 +LocalWindow.Enqueue() remaining: 2355 +LocalWindow.Enqueue() remaining: 2343 +LocalWindow.Enqueue() remaining: 2331 +LocalWindow.Enqueue() remaining: 2319 +LocalWindow.Enqueue() remaining: 2307 +LocalWindow.Enqueue() remaining: 2295 +LocalWindow.Enqueue() remaining: 2283 +LocalWindow.Enqueue() remaining: 2271 +LocalWindow.Enqueue() remaining: 2259 +LocalWindow.Enqueue() remaining: 2247 +LocalWindow.Enqueue() remaining: 2235 +LocalWindow.Enqueue() remaining: 2223 +LocalWindow.Enqueue() remaining: 2211 +LocalWindow.Enqueue() remaining: 2199 +LocalWindow.Enqueue() remaining: 2187 +LocalWindow.Enqueue() remaining: 2175 +LocalWindow.Enqueue() remaining: 2163 +LocalWindow.Enqueue() remaining: 2151 +LocalWindow.Enqueue() remaining: 2139 +LocalWindow.Enqueue() remaining: 2127 +LocalWindow.Enqueue() remaining: 2115 +LocalWindow.Enqueue() remaining: 2103 +LocalWindow.Enqueue() remaining: 2091 +LocalWindow.Enqueue() remaining: 2079 +LocalWindow.Enqueue() remaining: 2067 +LocalWindow.Enqueue() remaining: 2055 +LocalWindow.Enqueue() remaining: 2043 +LocalWindow.Enqueue() remaining: 2031 +LocalWindow.Enqueue() remaining: 2019 +LocalWindow.Enqueue() remaining: 2007 +LocalWindow.Enqueue() remaining: 1995 +LocalWindow.Enqueue() remaining: 1983 +LocalWindow.Enqueue() remaining: 1971 +LocalWindow.Enqueue() remaining: 1959 +LocalWindow.Enqueue() remaining: 1947 +LocalWindow.Enqueue() remaining: 1935 +LocalWindow.Enqueue() remaining: 1923 +LocalWindow.Enqueue() remaining: 1911 +LocalWindow.Enqueue() remaining: 1899 +LocalWindow.Enqueue() remaining: 1887 +LocalWindow.Enqueue() remaining: 1875 +LocalWindow.Enqueue() remaining: 1863 +LocalWindow.Enqueue() remaining: 1851 +LocalWindow.Enqueue() remaining: 1839 +LocalWindow.Enqueue() remaining: 1827 +LocalWindow.Enqueue() remaining: 1815 +LocalWindow.Enqueue() remaining: 1803 +LocalWindow.Enqueue() remaining: 1791 +LocalWindow.Enqueue() remaining: 1779 +LocalWindow.Enqueue() remaining: 1767 +LocalWindow.Enqueue() remaining: 1755 +LocalWindow.Enqueue() remaining: 1743 +LocalWindow.Enqueue() remaining: 1731 +LocalWindow.Enqueue() remaining: 1719 +LocalWindow.Enqueue() remaining: 1707 +LocalWindow.Enqueue() remaining: 1695 +LocalWindow.Enqueue() remaining: 1683 +LocalWindow.Enqueue() remaining: 1671 +LocalWindow.Enqueue() remaining: 1659 +LocalWindow.Enqueue() remaining: 1647 +LocalWindow.Enqueue() remaining: 1635 +LocalWindow.Enqueue() remaining: 1623 +LocalWindow.Enqueue() remaining: 1611 +LocalWindow.Enqueue() remaining: 1599 +LocalWindow.Enqueue() remaining: 1587 +LocalWindow.Enqueue() remaining: 1575 +LocalWindow.Enqueue() remaining: 1563 +LocalWindow.Enqueue() remaining: 1551 +LocalWindow.Enqueue() remaining: 1539 +LocalWindow.Enqueue() remaining: 1527 +LocalWindow.Enqueue() remaining: 1515 +LocalWindow.Enqueue() remaining: 1503 +LocalWindow.Enqueue() remaining: 1491 +LocalWindow.Enqueue() remaining: 1479 +LocalWindow.Enqueue() remaining: 1467 +LocalWindow.Enqueue() remaining: 1455 +LocalWindow.Enqueue() remaining: 1443 +LocalWindow.Enqueue() remaining: 1431 +LocalWindow.Enqueue() remaining: 1419 +LocalWindow.Enqueue() remaining: 1407 +LocalWindow.Enqueue() remaining: 1395 +LocalWindow.Enqueue() remaining: 1383 +LocalWindow.Enqueue() remaining: 1371 +LocalWindow.Enqueue() remaining: 1359 +LocalWindow.Enqueue() remaining: 1347 +LocalWindow.Enqueue() remaining: 1335 +LocalWindow.Enqueue() remaining: 1323 +LocalWindow.Enqueue() remaining: 1311 +LocalWindow.Enqueue() remaining: 1299 +LocalWindow.Enqueue() remaining: 1287 +LocalWindow.Enqueue() remaining: 1275 +LocalWindow.Enqueue() remaining: 1263 +LocalWindow.Enqueue() remaining: 1251 +LocalWindow.Enqueue() remaining: 1239 +LocalWindow.Enqueue() remaining: 1227 +LocalWindow.Enqueue() remaining: 1215 +LocalWindow.Enqueue() remaining: 1203 +LocalWindow.Enqueue() remaining: 1191 +LocalWindow.Enqueue() remaining: 1179 +LocalWindow.Enqueue() remaining: 1167 +LocalWindow.Enqueue() remaining: 1155 +LocalWindow.Enqueue() remaining: 1143 +LocalWindow.Enqueue() remaining: 1131 +LocalWindow.Enqueue() remaining: 1119 +LocalWindow.Enqueue() remaining: 1107 +LocalWindow.Enqueue() remaining: 1095 +LocalWindow.Enqueue() remaining: 1083 +LocalWindow.Enqueue() remaining: 1071 +LocalWindow.Enqueue() remaining: 1059 +LocalWindow.Enqueue() remaining: 1047 +LocalWindow.Enqueue() remaining: 1035 +LocalWindow.Enqueue() remaining: 1023 +LocalWindow.Enqueue() remaining: 1011 +LocalWindow.Enqueue() remaining: 999 +LocalWindow.Enqueue() remaining: 987 +LocalWindow.Enqueue() remaining: 975 +LocalWindow.Enqueue() remaining: 963 +LocalWindow.Enqueue() remaining: 951 +LocalWindow.Enqueue() remaining: 939 +LocalWindow.Enqueue() remaining: 927 +LocalWindow.Enqueue() remaining: 915 +LocalWindow.Enqueue() remaining: 903 +LocalWindow.Enqueue() remaining: 891 +LocalWindow.Enqueue() remaining: 879 +LocalWindow.Enqueue() remaining: 867 +LocalWindow.Enqueue() remaining: 855 +LocalWindow.Enqueue() remaining: 843 +LocalWindow.Enqueue() remaining: 831 +LocalWindow.Enqueue() remaining: 819 +LocalWindow.Enqueue() remaining: 807 +LocalWindow.Enqueue() remaining: 795 +LocalWindow.Enqueue() remaining: 783 +LocalWindow.Enqueue() remaining: 771 +LocalWindow.Enqueue() remaining: 759 +LocalWindow.Enqueue() remaining: 747 +LocalWindow.Enqueue() remaining: 735 +LocalWindow.Enqueue() remaining: 723 +LocalWindow.Enqueue() remaining: 711 +LocalWindow.Enqueue() remaining: 699 +LocalWindow.Enqueue() remaining: 687 +LocalWindow.Enqueue() remaining: 675 +LocalWindow.Enqueue() remaining: 663 +LocalWindow.Enqueue() remaining: 651 +LocalWindow.Enqueue() remaining: 639 +LocalWindow.Enqueue() remaining: 627 +LocalWindow.Enqueue() remaining: 615 +LocalWindow.Enqueue() remaining: 603 +LocalWindow.Enqueue() remaining: 591 +LocalWindow.Enqueue() remaining: 579 +LocalWindow.Enqueue() remaining: 567 +LocalWindow.Enqueue() remaining: 555 +LocalWindow.Enqueue() remaining: 543 +LocalWindow.Enqueue() remaining: 531 +LocalWindow.Enqueue() remaining: 519 +LocalWindow.Enqueue() remaining: 507 +LocalWindow.Enqueue() remaining: 495 +LocalWindow.Enqueue() remaining: 483 +LocalWindow.Enqueue() remaining: 471 +LocalWindow.Enqueue() remaining: 459 +LocalWindow.Enqueue() remaining: 447 +LocalWindow.Enqueue() remaining: 435 +LocalWindow.Enqueue() remaining: 423 +LocalWindow.Enqueue() remaining: 411 +LocalWindow.Enqueue() remaining: 399 +LocalWindow.Enqueue() remaining: 387 +LocalWindow.Enqueue() remaining: 375 +LocalWindow.Enqueue() remaining: 363 +LocalWindow.Enqueue() remaining: 351 +LocalWindow.Enqueue() remaining: 339 +LocalWindow.Enqueue() remaining: 327 +LocalWindow.Enqueue() remaining: 315 +LocalWindow.Enqueue() remaining: 303 +LocalWindow.Enqueue() remaining: 291 +LocalWindow.Enqueue() remaining: 279 +LocalWindow.Enqueue() remaining: 267 +LocalWindow.Enqueue() remaining: 255 +LocalWindow.Enqueue() remaining: 243 +LocalWindow.Enqueue() remaining: 231 +LocalWindow.Enqueue() remaining: 219 +LocalWindow.Enqueue() remaining: 207 +LocalWindow.Enqueue() remaining: 195 +LocalWindow.Enqueue() remaining: 183 +LocalWindow.Enqueue() remaining: 171 +LocalWindow.Enqueue() remaining: 159 +LocalWindow.Enqueue() remaining: 147 +LocalWindow.Enqueue() remaining: 135 +LocalWindow.Enqueue() remaining: 123 +LocalWindow.Enqueue() remaining: 111 +LocalWindow.Enqueue() remaining: 99 +LocalWindow.Enqueue() remaining: 87 +LocalWindow.Enqueue() remaining: 75 +LocalWindow.Enqueue() remaining: 63 +LocalWindow.Enqueue() remaining: 51 +LocalWindow.Enqueue() remaining: 39 +LocalWindow.Enqueue() remaining: 27 +LocalWindow.Enqueue() remaining: 15 +LocalWindow.Enqueue() remaining: 3 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65528 +LocalWindow.Read() remaining: 65533 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +LocalWindow.Enqueue() remaining: 65523 +LocalWindow.Read() remaining: 65535 +--- FAIL: TestServer_Serve (2.94s) + --- FAIL: TestServer_Serve/Server_disconnection_closes_streams (3.31s) + require.go:1159: + Error Trace: server_test.go:265 + server_test.go:232 + Error: Should be true + Test: TestServer_Serve/Server_disconnection_closes_streams +LocalWindow.Enqueue() remaining: 64063 +LocalWindow.Enqueue() remaining: 62518 +LocalWindow.Enqueue() remaining: 56117 +LocalWindow.Enqueue() remaining: 54037 +LocalWindow.Enqueue() remaining: 47777 +LocalWindow.Enqueue() remaining: 42593 +LocalWindow.Enqueue() remaining: 36645 +LocalWindow.Enqueue() remaining: 30581 +LocalWindow.Enqueue() remaining: 24806 +LocalWindow.Enqueue() remaining: 19389 +LocalWindow.Enqueue() remaining: 17215 +LocalWindow.Enqueue() remaining: 10965 +LocalWindow.Enqueue() remaining: 8251 +LocalWindow.Enqueue() remaining: 7147 +LocalWindow.Enqueue() remaining: 1609 +LocalWindow.Enqueue() remaining: 64733 +LocalWindow.Enqueue() remaining: 62044 +LocalWindow.Enqueue() remaining: 56533 +LocalWindow.Enqueue() remaining: 56393 +LocalWindow.Enqueue() remaining: 53956 +LocalWindow.Enqueue() remaining: 52823 +LocalWindow.Enqueue() remaining: 50590 +LocalWindow.Enqueue() remaining: 50123 +LocalWindow.Enqueue() remaining: 47044 +LocalWindow.Enqueue() remaining: 40965 +LocalWindow.Enqueue() remaining: 36303 +LocalWindow.Enqueue() remaining: 34962 +LocalWindow.Enqueue() remaining: 28806 +LocalWindow.Enqueue() remaining: 23304 +LocalWindow.Enqueue() remaining: 22296 +LocalWindow.Enqueue() remaining: 20963 +LocalWindow.Enqueue() remaining: 15981 +LocalWindow.Enqueue() remaining: 15809 +LocalWindow.Enqueue() remaining: 12968 +LocalWindow.Enqueue() remaining: 8073 +LocalWindow.Enqueue() remaining: 3308 +LocalWindow.Enqueue() remaining: 499 +LocalWindow.Read() remaining: 7042 +LocalWindow.Read() remaining: 7562 +LocalWindow.Read() remaining: 13033 +LocalWindow.Read() remaining: 14502 +LocalWindow.Read() remaining: 19308 +LocalWindow.Read() remaining: 20678 +LocalWindow.Read() remaining: 22291 +LocalWindow.Read() remaining: 27258 +LocalWindow.Read() remaining: 32262 +LocalWindow.Read() remaining: 36972 +LocalWindow.Read() remaining: 38774 +LocalWindow.Read() remaining: 43945 +LocalWindow.Read() remaining: 48268 +LocalWindow.Read() remaining: 50134 +LocalWindow.Read() remaining: 55725 +LocalWindow.Read() remaining: 58540 +LocalWindow.Read() remaining: 64460 +LocalWindow.Read() remaining: 65535 +FAIL +coverage: 82.0% of statements +FAIL github.com/SkycoinProject/dmsg 53.262s +ok github.com/SkycoinProject/dmsg/cipher 2.231s coverage: 48.7% of statements +ok github.com/SkycoinProject/dmsg/disc 5.660s coverage: 42.3% of statements +? github.com/SkycoinProject/dmsg/examples/basics [no test files] +ok github.com/SkycoinProject/dmsg/ioutil 1.227s coverage: 50.0% of statements +? github.com/SkycoinProject/dmsg/netutil [no test files] +ok github.com/SkycoinProject/dmsg/noise 16.269s coverage: 83.6% of statements diff --git a/testing.go b/testing.go index 49a181b75..a87490725 100644 --- a/testing.go +++ b/testing.go @@ -43,9 +43,9 @@ func checkConnCount(t *testing.T, delay time.Duration, count int, ccs ...connCou })) } -func checkTransportsClosed(t *testing.T, transports ...net.Conn) { - for _, tr := range transports { - if tr, ok := tr.(*Transport); ok && tr != nil { +func checkStreamsClosed(t *testing.T, streams ...net.Conn) { + for _, tr := range streams { + if tr, ok := tr.(*Stream); ok && tr != nil { assert.False(t, isDoneChanOpen(tr.done)) assert.False(t, isReadChanOpen(tr.inCh)) } diff --git a/transport.go b/transport.go index 386abc95a..6c7bd04ea 100644 --- a/transport.go +++ b/transport.go @@ -14,19 +14,19 @@ import ( // Errors related to REQUEST frames. var ( - ErrRequestRejected = errors.New("failed to create transport: request rejected") - ErrRequestCheckFailed = errors.New("failed to create transport: request check failed") - ErrAcceptCheckFailed = errors.New("failed to create transport: accept check failed") - ErrPortNotListening = errors.New("failed to create transport: port not listening") + ErrRequestRejected = errors.New("failed to create stream: request rejected") + ErrRequestCheckFailed = errors.New("failed to create stream: request check failed") + ErrAcceptCheckFailed = errors.New("failed to create stream: accept check failed") + ErrPortNotListening = errors.New("failed to create stream: port not listening") ) -// Transport represents communication between two nodes via a single hop: +// Stream represents communication between two nodes via a single hop: // a connection from dmsg.Client to remote dmsg.Client (via dmsg.Server intermediary). -type Transport struct { +type Stream struct { net.Conn // underlying connection to dmsg.Server log *logging.Logger - id uint16 // tp ID that identifies this dmsg.transport + id uint16 // tp ID that identifies this dmsg.stream lAddr Addr // local address rAddr Addr // remote address @@ -38,14 +38,14 @@ type Transport struct { serving chan struct{} // chan which closes when serving begins servingOnce sync.Once // ensures 'serving' only closes once - done chan struct{} // chan which closes when transport stops serving + done chan struct{} // chan which closes when stream stops serving doneOnce sync.Once // ensures 'done' only closes once doneFunc func() // contains a method that triggers when dmsg.Client closes } -// NewTransport creates a new dms_tp. -func NewTransport(conn net.Conn, log *logging.Logger, local, remote Addr, id uint16, lWindow int, doneFunc func()) *Transport { - tp := &Transport{ +// NewStream creates a new dms_tp. +func NewStream(conn net.Conn, log *logging.Logger, local, remote Addr, id uint16, lWindow int, doneFunc func()) *Stream { + tp := &Stream{ Conn: conn, log: log, id: id, @@ -60,7 +60,7 @@ func NewTransport(conn net.Conn, log *logging.Logger, local, remote Addr, id uin return tp } -func (tp *Transport) serve() (started bool) { +func (tp *Stream) serve() (started bool) { tp.servingOnce.Do(func() { started = true close(tp.serving) @@ -74,7 +74,7 @@ func (tp *Transport) serve() (started bool) { // 3. Our worry now, is writing to `inCh`/`lCh` AFTER they have been closed. // 4. But as, under the mutexes protecting `inCh`/`lCh`, checking `done` comes first, // and we know that `done` is closed before `inCh`/`lCh`, we can guarantee that it avoids writing to closed chan. -func (tp *Transport) close() (closed bool) { +func (tp *Stream) close() (closed bool) { if tp == nil { return false } @@ -98,7 +98,7 @@ func (tp *Transport) close() (closed bool) { } // Close closes the dmsg_tp. -func (tp *Transport) Close() error { +func (tp *Stream) Close() error { if tp.close() { if err := writeCloseFrame(tp.Conn, tp.id, PlaceholderReason); err != nil { log.WithError(err).Warn("Failed to write frame") @@ -108,7 +108,7 @@ func (tp *Transport) Close() error { } // IsClosed returns whether dms_tp is closed. -func (tp *Transport) IsClosed() bool { +func (tp *Stream) IsClosed() bool { select { case <-tp.done: return true @@ -117,29 +117,29 @@ func (tp *Transport) IsClosed() bool { } } -// LocalPK returns the local public key of the transport. -func (tp *Transport) LocalPK() cipher.PubKey { +// LocalPK returns the local public key of the stream. +func (tp *Stream) LocalPK() cipher.PubKey { return tp.lAddr.PK } -// RemotePK returns the remote public key of the transport. -func (tp *Transport) RemotePK() cipher.PubKey { +// RemotePK returns the remote public key of the stream. +func (tp *Stream) RemotePK() cipher.PubKey { return tp.rAddr.PK } // LocalAddr returns local address in from : -func (tp *Transport) LocalAddr() net.Addr { return tp.lAddr } +func (tp *Stream) LocalAddr() net.Addr { return tp.lAddr } // RemoteAddr returns remote address in form : -func (tp *Transport) RemoteAddr() net.Addr { return tp.rAddr } +func (tp *Stream) RemoteAddr() net.Addr { return tp.rAddr } -// Type returns the transport type. -func (tp *Transport) Type() string { +// Type returns the stream type. +func (tp *Stream) Type() string { return Type } // HandleFrame allows 'tp.Serve' to handle the frame (typically from 'ClientConn'). -func (tp *Transport) HandleFrame(f Frame) error { +func (tp *Stream) HandleFrame(f Frame) error { tp.inMx.Lock() defer tp.inMx.Unlock() for { @@ -155,7 +155,7 @@ func (tp *Transport) HandleFrame(f Frame) error { } // WriteRequest writes a REQUEST frame to dmsg_server to be forwarded to associated client. -func (tp *Transport) WriteRequest() error { +func (tp *Stream) WriteRequest() error { if err := writeRequestFrame(tp.Conn, tp.id, tp.lAddr, tp.rAddr, int32(tp.lW.Max())); err != nil { tp.log.WithError(err).Error("HandshakeFailed") tp.close() @@ -165,7 +165,7 @@ func (tp *Transport) WriteRequest() error { } // WriteAccept writes an ACCEPT frame to dmsg_server to be forwarded to associated client. -func (tp *Transport) WriteAccept(rWindow int) (err error) { +func (tp *Stream) WriteAccept(rWindow int) (err error) { defer func() { if err != nil { tp.log.WithError(err).WithField("remote", tp.rAddr).Warnln("(HANDSHAKE) Rejected locally.") @@ -185,7 +185,7 @@ func (tp *Transport) WriteAccept(rWindow int) (err error) { // ReadAccept awaits for an ACCEPT frame to be read from the remote client. // TODO(evanlinjin): Cleanup errors. -func (tp *Transport) ReadAccept(ctx context.Context) (err error) { +func (tp *Stream) ReadAccept(ctx context.Context) (err error) { defer func() { if err != nil { switch err { @@ -193,7 +193,7 @@ func (tp *Transport) ReadAccept(ctx context.Context) (err error) { tp.close() default: if err := tp.Close(); err != nil { - log.WithError(err).Warn("Failed to close transport") + log.WithError(err).Warn("Failed to close stream") } } tp.log.WithError(err).WithField("remote", tp.rAddr).Warnln("(HANDSHAKE) Rejected by remote.") @@ -236,13 +236,13 @@ func (tp *Transport) ReadAccept(ctx context.Context) (err error) { } // Serve handles received frames. -func (tp *Transport) Serve() { - // return is transport is already being served, or is closed +func (tp *Stream) Serve() { + // return is stream is already being served, or is closed if !tp.serve() { return } - // ensure transport closes when serving stops + // ensure stream closes when serving stops // also write CLOSE frame if this is the first time 'close' is triggered defer func() { if tp.close() { @@ -285,7 +285,7 @@ func (tp *Transport) Serve() { log.Debug("Injected [ACK]") case CloseType: - log.Info("Injected [CLOSE]: Closing transport...") + log.Info("Injected [CLOSE]: Closing stream...") tp.close() // ensure there is no sending of CLOSE frame return @@ -305,7 +305,7 @@ func (tp *Transport) Serve() { // Read implements io.Reader // TODO(evanlinjin): read deadline. -func (tp *Transport) Read(p []byte) (n int, err error) { +func (tp *Stream) Read(p []byte) (n int, err error) { <-tp.serving return tp.lW.Read(p, tp.done, func(n uint16) { @@ -317,7 +317,7 @@ func (tp *Transport) Read(p []byte) (n int, err error) { // Write implements io.Writer // TODO(evanlinjin): write deadline. -func (tp *Transport) Write(p []byte) (int, error) { +func (tp *Stream) Write(p []byte) (int, error) { <-tp.serving if tp.IsClosed() { diff --git a/transport_test.go b/transport_test.go index 92095cd78..9579bc888 100644 --- a/transport_test.go +++ b/transport_test.go @@ -12,22 +12,22 @@ import ( "github.com/SkycoinProject/dmsg/disc" ) -func TestNewTransport(t *testing.T) { +func TestNewStream(t *testing.T) { log := logging.MustGetLogger("dmsg_test") - tr := NewTransport(nil, log, Addr{}, Addr{}, 0, maxFwdPayLen, func() {}) + tr := NewStream(nil, log, Addr{}, Addr{}, 0, maxFwdPayLen, func() {}) assert.NotNil(t, tr) } -func BenchmarkNewTransport(b *testing.B) { +func BenchmarkNewStream(b *testing.B) { log := logging.MustGetLogger("dmsg_test") for i := 0; i < b.N; i++ { - NewTransport(nil, log, Addr{}, Addr{}, 0, maxFwdPayLen, func() {}) + NewStream(nil, log, Addr{}, Addr{}, 0, maxFwdPayLen, func() {}) } } -func TestTransport_close(t *testing.T) { +func TestStream_close(t *testing.T) { log := logging.MustGetLogger("dmsg_test") - tr := NewTransport(nil, log, Addr{}, Addr{}, 0, maxFwdPayLen, func() {}) + tr := NewStream(nil, log, Addr{}, Addr{}, 0, maxFwdPayLen, func() {}) closed := tr.close() @@ -52,13 +52,13 @@ func TestTransport_close(t *testing.T) { }) t.Run("No panic with nil pointer receiver", func(t *testing.T) { - var tr1, tr2 *Transport + var tr1, tr2 *Stream assert.NoError(t, tr1.Close()) assert.False(t, tr2.close()) }) } -func BenchmarkTransport_Read(b *testing.B) { +func BenchmarkStream_Read(b *testing.B) { initTr, respTr, err := createBenchmarkClients() if err != nil { b.Error(err) @@ -84,7 +84,7 @@ func BenchmarkTransport_Read(b *testing.B) { } } -func BenchmarkTransport_Write(b *testing.B) { +func BenchmarkStream_Write(b *testing.B) { initTr, _, err := createBenchmarkClients() if err != nil { b.Error(err) @@ -109,7 +109,7 @@ func BenchmarkTransport_Write(b *testing.B) { } } -func createBenchmarkClients() (initTp, respTp *Transport, err error) { +func createBenchmarkClients() (initTp, respTp *Stream, err error) { dc := disc.NewMock() ctx := context.TODO() @@ -141,7 +141,7 @@ func createBenchmarkClients() (initTp, respTp *Transport, err error) { return nil, nil, err } - respTp, err = listener.AcceptTransport() + respTp, err = listener.AcceptStream() if err != nil { return nil, nil, err } diff --git a/types.go b/types.go index d1c5d9d7e..6dad0d3b6 100644 --- a/types.go +++ b/types.go @@ -14,7 +14,7 @@ import ( ) const ( - // Type returns the transport type string. + // Type returns the stream type string. Type = "dmsg" // HandshakePayloadVersion contains payload version to maintain compatibility with future versions @@ -26,8 +26,8 @@ const ( ) var ( - // TransportHandshakeTimeout defines the duration a transport handshake should take. - TransportHandshakeTimeout = time.Second * 10 + // StreamHandshakeTimeout defines the duration a stream handshake should take. + StreamHandshakeTimeout = time.Second * 10 // AcceptBufferSize defines the size of the accepts buffer. AcceptBufferSize = 20 @@ -76,7 +76,7 @@ func unmarshalHandshakeData(b []byte) (HandshakeData, error) { return p, err } -// determines whether the transport ID is of an initiator or responder. +// determines whether the stream ID is of an initiator or responder. func isInitiatorID(tpID uint16) bool { return tpID%2 == 0 } func randID(initiator bool) uint16 { diff --git a/window.go b/window.go index 9a3fffb02..c35769493 100644 --- a/window.go +++ b/window.go @@ -8,7 +8,7 @@ import ( "sync" ) -// LocalWindow represents the read window of a given dmsg.Transport +// LocalWindow represents the read window of a given dmsg.Stream type LocalWindow struct { r int // remaining window (in bytes) max int // max possible window (in bytes) @@ -40,7 +40,7 @@ func (lw *LocalWindow) Remaining() int { } // Enqueue adds the given payload 'p' to the internal buffer of the window. -// 'tpDone' indicates whether the associated dmsg.Transport has been closed. +// 'tpDone' indicates whether the associated dmsg.Stream has been closed. func (lw *LocalWindow) Enqueue(p []byte, tpDone chan struct{}) error { lw.mx.Lock() defer lw.mx.Unlock() @@ -143,7 +143,7 @@ func NewRemoteWindow(size int) *RemoteWindow { } // Grow should be triggered when we receive a remote ACK to grow our record of the remote window. -// 'tpDone' signals when the associated dmsg.Transport is closed. +// 'tpDone' signals when the associated dmsg.Stream is closed. func (rw *RemoteWindow) Grow(n int, tpDone <-chan struct{}) error { rw.mx.Lock() defer rw.mx.Unlock() @@ -163,7 +163,7 @@ func (rw *RemoteWindow) Grow(n int, tpDone <-chan struct{}) error { return nil } -// Write blocks until all of 'p' is written, an error occurs, or the associated dmsg.Transport is closed. +// Write blocks until all of 'p' is written, an error occurs, or the associated dmsg.Stream is closed. // 'sendFwd' contains the logic to write a FWD frame. func (rw *RemoteWindow) Write(p []byte, sendFwd func([]byte) error) (n int, err error) { rw.wMx.Lock() diff --git a/window_test.go b/window_test.go index 1baa2ba4c..9681f9b07 100644 --- a/window_test.go +++ b/window_test.go @@ -19,7 +19,7 @@ func TestLocalWindow(t *testing.T) { var ( expR int // expected remaining size of the local window - tpDone chan struct{} // emulate done chan of originating dmsg.Transport + tpDone chan struct{} // emulate done chan of originating dmsg.Stream lw *LocalWindow )