From 3abc0be62bb452c4ce7c461e2ce9bfef430f85be Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Thu, 16 Jan 2025 17:15:05 -0800 Subject: [PATCH 01/37] Add documentation --- src/core/recv_buffer.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/core/recv_buffer.h b/src/core/recv_buffer.h index 932afc8cc1..be54a881df 100644 --- a/src/core/recv_buffer.h +++ b/src/core/recv_buffer.h @@ -38,7 +38,10 @@ typedef struct QUIC_RECV_BUFFER { QUIC_RECV_CHUNK* PreallocatedChunk; // - // The ranges that currently have bytes written to them. + // Ranges of stream offsets that have been written to the buffer, + // starting from 0 (not only what is currently in the buffer). + // The first sub-range includes [0, BaseOffset + ReadLength), + // and potentially more if ReadLength is constrained by the chunk size. // QUIC_RANGE WrittenRanges; From 3cd7e48d278c5aef7bebd7ba5250633878c0c866 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Tue, 21 Jan 2025 15:10:55 -0800 Subject: [PATCH 02/37] Add a QUIC_RECV_BUF_MODE_EXTERNAL mode for the receive buffer --- src/core/recv_buffer.c | 250 ++++++++++++++++++++++++++++++++--------- src/core/recv_buffer.h | 30 ++++- 2 files changed, 228 insertions(+), 52 deletions(-) diff --git a/src/core/recv_buffer.c b/src/core/recv_buffer.c index 87ac43b33c..90a90289bc 100644 --- a/src/core/recv_buffer.c +++ b/src/core/recv_buffer.c @@ -47,6 +47,19 @@ #include "recv_buffer.c.clog.h" #endif +_IRQL_requires_max_(DISPATCH_LEVEL) +void +QuicRecvChunkInitialize( + _Inout_ QUIC_RECV_CHUNK* Chunk, + _In_ uint32_t AllocLength, + _In_ uint8_t* Buffer + ) +{ + Chunk->AllocLength = AllocLength; + Chunk->Buffer = Buffer; + Chunk->ExternalReference = FALSE; +} + _IRQL_requires_max_(DISPATCH_LEVEL) QUIC_STATUS // TODO - Can only fail if PreallocatedChunk == NULL QuicRecvBufferInitialize( @@ -79,13 +92,12 @@ QuicRecvBufferInitialize( Status = QUIC_STATUS_OUT_OF_MEMORY; goto Error; } + QuicRecvChunkInitialize(Chunk, AllocBufferLength, (uint8_t*)(Chunk + 1)); } QuicRangeInitialize(QUIC_MAX_RANGE_ALLOC_SIZE, &RecvBuffer->WrittenRanges); CxPlatListInitializeHead(&RecvBuffer->Chunks); CxPlatListInsertHead(&RecvBuffer->Chunks, &Chunk->Link); - Chunk->AllocLength = AllocBufferLength; - Chunk->ExternalReference = FALSE; RecvBuffer->BaseOffset = 0; RecvBuffer->ReadStart = 0; RecvBuffer->ReadPendingLength = 0; @@ -170,10 +182,74 @@ QuicRecvBufferIncreaseVirtualBufferLength( _In_ uint32_t NewLength ) { + // TODO guhetier: Must make sure this can't be called in new mode + CXPLAT_DBG_ASSERT(RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL); CXPLAT_DBG_ASSERT(NewLength >= RecvBuffer->VirtualBufferLength); // Don't support decrease. RecvBuffer->VirtualBufferLength = NewLength; } +_IRQL_requires_max_(DISPATCH_LEVEL) +QUIC_STATUS +QuicRecvBufferProvideChunks( + _Inout_ QUIC_RECV_BUFFER* RecvBuffer, + _Inout_ CXPLAT_LIST_ENTRY* /* QUIC_RECV_CHUNKS */ Chunks + ) +{ + CXPLAT_DBG_ASSERT(!CxPlatListIsEmpty(Chunks)); + + // + // External chunks can be provided only if already in external mode, or if + // nothing has been written to the buffer yet. + // + uint64_t rangeMax; + if (RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL && + (QuicRangeGetMaxSafe(&RecvBuffer->WrittenRanges, &rangeMax) && rangeMax > 0)) { + return QUIC_STATUS_INVALID_STATE; + } + + if (RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL) { + // + // Remove all existing chunks. + // + while (!CxPlatListIsEmpty(&RecvBuffer->Chunks)) { + QUIC_RECV_CHUNK* Chunk = + CXPLAT_CONTAINING_RECORD( + CxPlatListRemoveHead(&RecvBuffer->Chunks), + QUIC_RECV_CHUNK, + Link); + if (Chunk != RecvBuffer->PreallocatedChunk) { + CXPLAT_FREE(Chunk, QUIC_POOL_RECVBUF); + } + } + + RecvBuffer->RecvMode = QUIC_RECV_BUF_MODE_EXTERNAL; + } + + if (CxPlatListIsEmpty(&RecvBuffer->Chunks)) { + // + // If a new chunk becomes the first chunk, update the capacity. + // + CXPLAT_DBG_ASSERT(RecvBuffer->ReadStart == 0); + CXPLAT_DBG_ASSERT(RecvBuffer->ReadLength == 0); + QUIC_RECV_CHUNK* firstChunk = CXPLAT_CONTAINING_RECORD(Chunks->Flink, QUIC_RECV_CHUNK, Link); + RecvBuffer->Capacity = firstChunk->AllocLength; + } + + uint32_t totalAdditionalLength = 0; + for (CXPLAT_LIST_ENTRY* Link = Chunks->Flink; + Link != Chunks; + Link = Link->Flink) { + QUIC_RECV_CHUNK* Chunk = CXPLAT_CONTAINING_RECORD(Link, QUIC_RECV_CHUNK, Link); + // TODO guhetier: Must deal with overflow? + totalAdditionalLength += Chunk->AllocLength; + } + + RecvBuffer->VirtualBufferLength += totalAdditionalLength; + CxPlatListMoveItems(Chunks, &RecvBuffer->Chunks); + + return QUIC_STATUS_SUCCESS; +} + // // Allocates a new contiguous buffer of the target size. Depending on the // receive mode and any external references, this may copy the existing buffer, @@ -186,6 +262,7 @@ QuicRecvBufferResize( _In_ uint32_t TargetBufferLength ) { + CXPLAT_DBG_ASSERT(RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL); // Should never resize in external mode CXPLAT_DBG_ASSERT( TargetBufferLength != 0 && (TargetBufferLength & (TargetBufferLength - 1)) == 0); // Power of 2 @@ -209,8 +286,7 @@ QuicRecvBufferResize( return FALSE; } - NewChunk->AllocLength = TargetBufferLength; - NewChunk->ExternalReference = FALSE; + QuicRecvChunkInitialize(NewChunk, TargetBufferLength, (uint8_t*)(NewChunk + 1)); CxPlatListInsertTail(&RecvBuffer->Chunks, &NewChunk->Link); if (!LastChunk->ExternalReference) { @@ -306,7 +382,8 @@ QuicRecvBufferGetTotalAllocLength( _In_ QUIC_RECV_BUFFER* RecvBuffer ) { - if (RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_MULTIPLE) { + if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_SINGLE || + RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_CIRCULAR) { // // In single and circular mode, the last chunk is the only chunk being // written to at any given time, and therefore the only chunk we care @@ -321,30 +398,32 @@ QuicRecvBufferGetTotalAllocLength( } // - // For multiple mode, several chunks may be used at any point in time, so we - // need to consider the space allocated for all of them. Additionally, the - // first one is special because it may be used as a circular buffer, and - // already be partially drained. + // For multiple mode and external mode, several chunks may be used at any + // point in time, so we need to consider the space allocated for all of them. + // Additionally, the first one is special because it may be already partially + // drained, making it only partially usable. // QUIC_RECV_CHUNK* Chunk = CXPLAT_CONTAINING_RECORD( RecvBuffer->Chunks.Flink, QUIC_RECV_CHUNK, Link); - if (Chunk->Link.Flink == &RecvBuffer->Chunks) { + if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_MULTIPLE && + Chunk->Link.Flink == &RecvBuffer->Chunks) { // - // Only one chunk means we don't have an artificial "end", and will just - // write to the whole allocated length. + // In Multiple mode, only one chunk means we don't have an artificial + // "end", and are using the full allocated length of the buffer in a + // circular fashion. // return Chunk->AllocLength; } // - // When we have additional chunks following this, then its possible part of - // the first chunk has already been drained, so we don't use the allocated - // length, but ReadLength instead when calculating total available space. + // Otherwise, it is possible part of the first chunk has already been + // drained, so we don't use the allocated length, but the Capacity instead + // when calculating total available space. // - uint32_t AllocLength = RecvBuffer->ReadLength; + uint32_t AllocLength = RecvBuffer->Capacity; while (Chunk->Link.Flink != &RecvBuffer->Chunks) { Chunk = CXPLAT_CONTAINING_RECORD( @@ -368,9 +447,9 @@ QuicRecvBufferCopyIntoChunks( ) { // - // Copy the data into the correct chunk(s). In multiple mode this may result - // in copies to multiple buffers. For single/circular it should always be - // just a single copy. + // Copy the data into the correct chunk(s). In multiple/external mode this + // may result in copies to multiple chunks. For single/circular it should + // always be just a single copy. // // @@ -412,7 +491,7 @@ QuicRecvBufferCopyIntoChunks( } } else { // - // In multiple mode we may have to write to multiple (two max) chunks. + // In multiple/external mode we may have to write to multiple chunks. // We need to find the first chunk to start writing at and then // continue copying data into the chunks until we run out. // @@ -426,14 +505,20 @@ QuicRecvBufferCopyIntoChunks( BOOLEAN IsFirstChunk = TRUE; uint64_t RelativeOffset = WriteOffset - RecvBuffer->BaseOffset; uint32_t ChunkOffset = RecvBuffer->ReadStart; - if (Chunk->Link.Flink == &RecvBuffer->Chunks) { + if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_MULTIPLE && + Chunk->Link.Flink == &RecvBuffer->Chunks) { + // + // In multiple mode, when there is only one chunk, it is used as a circular buffer: + // the whole allocated length is usable. + // CXPLAT_DBG_ASSERT(WriteLength <= Chunk->AllocLength); // Should always fit if we only have one ChunkLength = Chunk->AllocLength; RecvBuffer->ReadLength = (uint32_t)(QuicRangeGet(&RecvBuffer->WrittenRanges, 0)->Count - RecvBuffer->BaseOffset); } else { // - // In multiple mode, the first chunk may not start at the beginning. + // The first buffer might be partially drained and only the remaining capacity + // can be used. // ChunkLength = RecvBuffer->Capacity; @@ -466,13 +551,14 @@ QuicRecvBufferCopyIntoChunks( BOOLEAN IsFirstLoop = TRUE; do { + // TODO guhetier: No reason to have that in the loop, can be done once outside of it uint32_t ChunkWriteOffset = (ChunkOffset + RelativeOffset) % Chunk->AllocLength; if (!IsFirstChunk) { // This RelativeOffset is already shrunk to represent the offset from beginning of the current chunk. ChunkWriteOffset = (uint32_t)RelativeOffset; } if (!IsFirstLoop) { - // We are continue writing from previous chunk. So, start from the beginning of the currnet chunk. + // We continue writing from the previous chunk. So, start from the beginning of the current chunk. ChunkWriteOffset = 0; } @@ -486,6 +572,7 @@ QuicRecvBufferCopyIntoChunks( ChunkWriteLength = RecvBuffer->Capacity - (uint32_t)RelativeOffset; } if (Chunk->AllocLength < ChunkWriteOffset + ChunkWriteLength) { + CXPLAT_DBG_ASSERT(RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL); // External mode capacity will never allow a wrap around // Circular buffer wrap around case. CxPlatCopyMemory(Chunk->Buffer + ChunkWriteOffset, WriteBuffer, Chunk->AllocLength - ChunkWriteOffset); CxPlatCopyMemory(Chunk->Buffer, WriteBuffer + Chunk->AllocLength - ChunkWriteOffset, ChunkWriteLength - (Chunk->AllocLength - ChunkWriteOffset)); @@ -573,24 +660,28 @@ QuicRecvBufferWrite( // N.B. We do this before updating the written ranges below so we don't have // to support rolling back those changes on the possible allocation failure // here. + // This is skiped in external mode since the entire virtual length is + // always allocated. // - uint32_t AllocLength = QuicRecvBufferGetTotalAllocLength(RecvBuffer); - if (AbsoluteLength > RecvBuffer->BaseOffset + AllocLength) { - // - // If we don't currently have enough room then we will want to resize - // the last chunk to be big enough to hold everything. We do this by - // repeatedly doubling its size until it is large enough. - // - uint32_t NewBufferLength = - CXPLAT_CONTAINING_RECORD( - RecvBuffer->Chunks.Blink, - QUIC_RECV_CHUNK, - Link)->AllocLength << 1; - while (AbsoluteLength > RecvBuffer->BaseOffset + NewBufferLength + RecvBuffer->ReadPendingLength) { - NewBufferLength <<= 1; - } - if (!QuicRecvBufferResize(RecvBuffer, NewBufferLength)) { - return QUIC_STATUS_OUT_OF_MEMORY; + if (RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL) { + uint32_t AllocLength = QuicRecvBufferGetTotalAllocLength(RecvBuffer); + if (AbsoluteLength > RecvBuffer->BaseOffset + AllocLength) { + // + // If we don't currently have enough room then we will want to resize + // the last chunk to be big enough to hold everything. We do this by + // repeatedly doubling its size until it is large enough. + // + uint32_t NewBufferLength = + CXPLAT_CONTAINING_RECORD( + RecvBuffer->Chunks.Blink, + QUIC_RECV_CHUNK, + Link)->AllocLength << 1; + while (AbsoluteLength > RecvBuffer->BaseOffset + NewBufferLength + RecvBuffer->ReadPendingLength) { + NewBufferLength <<= 1; + } + if (!QuicRecvBufferResize(RecvBuffer, NewBufferLength)) { + return QUIC_STATUS_OUT_OF_MEMORY; + } } } @@ -632,6 +723,8 @@ QuicRecvBufferWrite( return QUIC_STATUS_SUCCESS; } +// TODO guhetier: This could return the number of buffers needed / extra buffer needed? +// For now, only fill up to the number of provided buffer and follow up _IRQL_requires_max_(DISPATCH_LEVEL) void QuicRecvBufferRead( @@ -644,12 +737,20 @@ QuicRecvBufferRead( { CXPLAT_DBG_ASSERT(QuicRangeGetSafe(&RecvBuffer->WrittenRanges, 0) != NULL); // Only fail if you call read before write indicates read ready. CXPLAT_DBG_ASSERT(!CxPlatListIsEmpty(&RecvBuffer->Chunks)); // Should always have at least one chunk + // + // Only MULTIPLE mode allows concurrent reads + // CXPLAT_DBG_ASSERT( RecvBuffer->ReadPendingLength == 0 || RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_MULTIPLE); + // + // Only MULTIPLE and EXTERNAL modes can have multiple chunks at read time. + // Other modes would coalesce chunks during a write or drain. + // CXPLAT_DBG_ASSERT( - RecvBuffer->Chunks.Flink->Flink == &RecvBuffer->Chunks || // Should only have one buffer if not using multiple receive mode - RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_MULTIPLE); + RecvBuffer->Chunks.Flink->Flink == &RecvBuffer->Chunks || + RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_MULTIPLE || + RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL ); // // Find the length of the data written in the front, after the BaseOffset. @@ -712,7 +813,7 @@ QuicRecvBufferRead( Buffers[0].Buffer = Chunk->Buffer + ReadStart; } - } else { + } else if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_MULTIPLE) { CXPLAT_DBG_ASSERT(RecvBuffer->ReadPendingLength < ContiguousLength); // Shouldn't call read if there is nothing new to read uint64_t UnreadLength = ContiguousLength - RecvBuffer->ReadPendingLength; CXPLAT_DBG_ASSERT(UnreadLength > 0); @@ -800,6 +901,36 @@ QuicRecvBufferRead( } CXPLAT_DBG_ASSERT(TotalBuffersLength <= RecvBuffer->ReadPendingLength); #endif + } else { // RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL + + uint64_t remainingDataToRead = ContiguousLength; + // Read from the first chunk + QUIC_RECV_CHUNK* Chunk = + CXPLAT_CONTAINING_RECORD( + RecvBuffer->Chunks.Flink, + QUIC_RECV_CHUNK, + Link); + Buffers[0].Buffer = Chunk->Buffer + RecvBuffer->ReadStart; + Buffers[0].Length = RecvBuffer->ReadLength; + remainingDataToRead -= RecvBuffer->ReadLength; + + // Continue reading from the next chunks until we run out of buffers or data + for (uint32_t i = 0; i < *BufferCount && remainingDataToRead > 0; ++i) + { + Chunk = + CXPLAT_CONTAINING_RECORD( + Chunk->Link.Flink, + QUIC_RECV_CHUNK, + Link); + + uint32_t ChunkReadLength = (uint32_t)min(Chunk->AllocLength, remainingDataToRead); + Buffers[i].Buffer = Chunk->Buffer; + Buffers[i].Length = ChunkReadLength; + remainingDataToRead -= ChunkReadLength; + } + + *BufferOffset = RecvBuffer->BaseOffset; + RecvBuffer->ReadPendingLength = ContiguousLength - remainingDataToRead; } } @@ -890,6 +1021,14 @@ QuicRecvBufferPartialDrain( CXPLAT_DBG_ASSERT(DrainLength <= RecvBuffer->ReadPendingLength); RecvBuffer->ReadPendingLength -= DrainLength; } + + if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL) { + // + // In EXTERNAL mode, memory is never re-used: a drain consumes + // virtual buffer length. + // + RecvBuffer->VirtualBufferLength -= RecvBuffer->ReadLength; + } } // @@ -919,6 +1058,13 @@ QuicRecvBufferFullDrain( if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_MULTIPLE) { RecvBuffer->ReadPendingLength -= RecvBuffer->ReadLength; } + if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL) { + // + // In EXTERNAL mode, memory is never re-used: a drain consumes + // virtual buffer length. + // + RecvBuffer->VirtualBufferLength -= RecvBuffer->ReadLength; + } RecvBuffer->ReadLength = (uint32_t)(QuicRangeGet(&RecvBuffer->WrittenRanges, 0)->Count - RecvBuffer->BaseOffset); @@ -940,7 +1086,8 @@ QuicRecvBufferFullDrain( CXPLAT_FREE(Chunk, QUIC_POOL_RECVBUF); } - if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_MULTIPLE) { + if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_MULTIPLE || + RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL) { // // The rest of the contiguous data might not fit in just the next chunk // so we need to update the ReadLength of the first chunk to be no more @@ -977,13 +1124,16 @@ QuicRecvBufferDrain( CXPLAT_DBG_ASSERT(FirstRange->Low == 0); do { BOOLEAN PartialDrain = (uint64_t)RecvBuffer->ReadLength > DrainLength; - if (PartialDrain || - (QuicRangeSize(&RecvBuffer->WrittenRanges) > 1 && - RecvBuffer->BaseOffset + RecvBuffer->ReadLength == FirstRange->Count)) { + // TODO guhetier: Seems wrong, if the end of the chunk aligns with the end of the first range, we still need a full drain + // Or we will end up with a first buffer with capacity == 0 + BOOLEAN GapInChunk = QuicRangeSize(&RecvBuffer->WrittenRanges) > 1 && + RecvBuffer->BaseOffset + RecvBuffer->ReadLength == FirstRange->Count; + if (PartialDrain || GapInChunk) { // - // If there are 2 or more written ranges in the first chunk, it means that there may be - // more data later in the chunk that couldn't be read because there is a gap. - // Reuse the partial drain logic to preserve data after the gap. + // If not all the data readable from the first chunk is being drained, + // or if there is data in the chunk that isn't readable yet because of a gap + // (2 or more written ranges, the end of the first range constraining the read length), + // use the partial drain logic to preserve the data that isn't being drained. // QuicRecvBufferPartialDrain(RecvBuffer, DrainLength); return !PartialDrain; diff --git a/src/core/recv_buffer.h b/src/core/recv_buffer.h index be54a881df..fddde16a6a 100644 --- a/src/core/recv_buffer.h +++ b/src/core/recv_buffer.h @@ -12,7 +12,10 @@ extern "C" { typedef enum QUIC_RECV_BUF_MODE { QUIC_RECV_BUF_MODE_SINGLE, // Only one receive with a single contiguous buffer at a time. QUIC_RECV_BUF_MODE_CIRCULAR, // Only one receive that may indicate two contiguous buffers at a time. - QUIC_RECV_BUF_MODE_MULTIPLE // Multiple independent receives that may indicate up to two contiguous buffers at a time. + QUIC_RECV_BUF_MODE_MULTIPLE, // Multiple independent receives that may indicate up to two contiguous buffers at a time. + // TODO guhetier: improve documentation + QUIC_RECV_BUF_MODE_EXTERNAL // Uses memory buffer provided by the app. Only one receive at a time, + // that may indicate up to the number of provided buffers. } QUIC_RECV_BUF_MODE; // @@ -22,9 +25,19 @@ typedef struct QUIC_RECV_CHUNK { CXPLAT_LIST_ENTRY Link; // Link in the list of chunks. uint32_t AllocLength : 31; // Allocation size of Buffer uint32_t ExternalReference : 1; // Indicates the buffer is being used externally. - uint8_t Buffer[0]; + uint8_t *Buffer; // Pointer to the buffer itself. Doesn't need to be freed independently: + // - for internally allocated buffers, points in the same allocation. + // - for exteral buffers, the buffer isn't owned } QUIC_RECV_CHUNK; +_IRQL_requires_max_(DISPATCH_LEVEL) +void +QuicRecvChunkInitialize( + _Inout_ QUIC_RECV_CHUNK* Chunk, + _In_ uint32_t AllocLength, + _In_ uint8_t* Buffer + ); + typedef struct QUIC_RECV_BUFFER { // @@ -68,6 +81,7 @@ typedef struct QUIC_RECV_BUFFER { // // Length of the buffer indicated to peers. + // Invariant: BaseOffset + VirtualBufferLength must never decrease. // uint32_t VirtualBufferLength; @@ -131,6 +145,18 @@ QuicRecvBufferIncreaseVirtualBufferLength( _In_ uint32_t NewLength ); +// +// Provide externally allocated chunks to the buffer. +// At least one chunk must be provided. +// Only valid for QUIC_RECV_BUF_MODE_EXTERNAL mode. +// +_IRQL_requires_max_(DISPATCH_LEVEL) +QUIC_STATUS +QuicRecvBufferProvideChunks( + _Inout_ QUIC_RECV_BUFFER* RecvBuffer, + _Inout_ CXPLAT_LIST_ENTRY* /* QUIC_RECV_CHUNKS */ Chunks + ); + // // Buffers a (possibly out-of-order or duplicate) range of bytes. // From 306b8652390632811eeda936183186f5ed65f0c6 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Wed, 22 Jan 2025 09:52:27 -0800 Subject: [PATCH 03/37] Fix read operation --- src/core/recv_buffer.c | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/core/recv_buffer.c b/src/core/recv_buffer.c index 90a90289bc..8a107c31c9 100644 --- a/src/core/recv_buffer.c +++ b/src/core/recv_buffer.c @@ -76,6 +76,8 @@ QuicRecvBufferInitialize( CXPLAT_DBG_ASSERT(VirtualBufferLength != 0 && (VirtualBufferLength & (VirtualBufferLength - 1)) == 0); // Power of 2 CXPLAT_DBG_ASSERT(AllocBufferLength <= VirtualBufferLength); + // TODO guhetier: What to do when starting in the EXTERNAL mode? + // Can the code handle not having any chunks? In practice we should never start directly in EXTERNAL QUIC_RECV_CHUNK* Chunk = NULL; if (PreallocatedChunk != NULL) { RecvBuffer->PreallocatedChunk = PreallocatedChunk; @@ -464,7 +466,8 @@ QuicRecvBufferCopyIntoChunks( WriteBuffer += Diff; } - if (RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_MULTIPLE) { + if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_SINGLE || + RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_CIRCULAR) { // // In single/circular mode we always just write to the last chunk. // @@ -904,18 +907,24 @@ QuicRecvBufferRead( } else { // RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL uint64_t remainingDataToRead = ContiguousLength; - // Read from the first chunk + // + // Read from the first chunk. + // QUIC_RECV_CHUNK* Chunk = CXPLAT_CONTAINING_RECORD( RecvBuffer->Chunks.Flink, QUIC_RECV_CHUNK, Link); + Chunk->ExternalReference = TRUE; Buffers[0].Buffer = Chunk->Buffer + RecvBuffer->ReadStart; Buffers[0].Length = RecvBuffer->ReadLength; remainingDataToRead -= RecvBuffer->ReadLength; - // Continue reading from the next chunks until we run out of buffers or data - for (uint32_t i = 0; i < *BufferCount && remainingDataToRead > 0; ++i) + // + // Continue reading from the next chunks until we run out of buffers or data. + // + uint32_t BufferId; + for (BufferId = 0; BufferId < *BufferCount && remainingDataToRead > 0; ++BufferId) { Chunk = CXPLAT_CONTAINING_RECORD( @@ -923,12 +932,13 @@ QuicRecvBufferRead( QUIC_RECV_CHUNK, Link); + Chunk->ExternalReference = TRUE; uint32_t ChunkReadLength = (uint32_t)min(Chunk->AllocLength, remainingDataToRead); - Buffers[i].Buffer = Chunk->Buffer; - Buffers[i].Length = ChunkReadLength; + Buffers[BufferId].Buffer = Chunk->Buffer; + Buffers[BufferId].Length = ChunkReadLength; remainingDataToRead -= ChunkReadLength; } - + *BufferCount = BufferId + 1; *BufferOffset = RecvBuffer->BaseOffset; RecvBuffer->ReadPendingLength = ContiguousLength - remainingDataToRead; } From dedf0592697a557edcb902e78bde97cba75d5a45 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Fri, 24 Jan 2025 15:11:48 -0800 Subject: [PATCH 04/37] Fixes --- src/core/recv_buffer.c | 174 +++++++++++++++++++++++++++++------------ src/core/recv_buffer.h | 8 +- 2 files changed, 128 insertions(+), 54 deletions(-) diff --git a/src/core/recv_buffer.c b/src/core/recv_buffer.c index 8a107c31c9..0b7805824a 100644 --- a/src/core/recv_buffer.c +++ b/src/core/recv_buffer.c @@ -197,6 +197,10 @@ QuicRecvBufferProvideChunks( _Inout_ CXPLAT_LIST_ENTRY* /* QUIC_RECV_CHUNKS */ Chunks ) { + // TODO guhetier: Consider making this valid in external mode only + // and have a reset function to change the mode. + // But that mean having to detect if the buffer is not empty + dealing with + // no chunks on init? CXPLAT_DBG_ASSERT(!CxPlatListIsEmpty(Chunks)); // @@ -209,6 +213,31 @@ QuicRecvBufferProvideChunks( return QUIC_STATUS_INVALID_STATE; } + uint64_t NewBufferLength = RecvBuffer->VirtualBufferLength; + if (RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL) { + NewBufferLength = 0; + } + + for (CXPLAT_LIST_ENTRY* Link = Chunks->Flink; + Link != Chunks; + Link = Link->Flink) { + QUIC_RECV_CHUNK* Chunk = CXPLAT_CONTAINING_RECORD(Link, QUIC_RECV_CHUNK, Link); + NewBufferLength += Chunk->AllocLength; + if (NewBufferLength < Chunk->AllocLength) { + // + // Overflow: we can't handle that much buffer space. + // + return QUIC_STATUS_INVALID_PARAMETER; + } + } + + if (NewBufferLength > MAXUINT32) { + // + // We can't handle that much buffer space. + // + return QUIC_STATUS_INVALID_PARAMETER; + } + if (RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL) { // // Remove all existing chunks. @@ -237,16 +266,7 @@ QuicRecvBufferProvideChunks( RecvBuffer->Capacity = firstChunk->AllocLength; } - uint32_t totalAdditionalLength = 0; - for (CXPLAT_LIST_ENTRY* Link = Chunks->Flink; - Link != Chunks; - Link = Link->Flink) { - QUIC_RECV_CHUNK* Chunk = CXPLAT_CONTAINING_RECORD(Link, QUIC_RECV_CHUNK, Link); - // TODO guhetier: Must deal with overflow? - totalAdditionalLength += Chunk->AllocLength; - } - - RecvBuffer->VirtualBufferLength += totalAdditionalLength; + RecvBuffer->VirtualBufferLength = (uint32_t)NewBufferLength; CxPlatListMoveItems(Chunks, &RecvBuffer->Chunks); return QUIC_STATUS_SUCCESS; @@ -489,6 +509,8 @@ QuicRecvBufferCopyIntoChunks( } if (Chunk->Link.Flink == &RecvBuffer->Chunks) { + // TODO guhetier: Isn't this always true by definition, since Chunk is the last chunk? + // Was this meant to update the ReadLength only if it is the first chunk instead? RecvBuffer->ReadLength = (uint32_t)(QuicRangeGet(&RecvBuffer->WrittenRanges, 0)->Count - RecvBuffer->BaseOffset); } @@ -907,6 +929,9 @@ QuicRecvBufferRead( } else { // RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL uint64_t remainingDataToRead = ContiguousLength; + const uint32_t ProvidedBufferCount = *BufferCount; + *BufferCount = 0; + // // Read from the first chunk. // @@ -916,15 +941,15 @@ QuicRecvBufferRead( QUIC_RECV_CHUNK, Link); Chunk->ExternalReference = TRUE; - Buffers[0].Buffer = Chunk->Buffer + RecvBuffer->ReadStart; - Buffers[0].Length = RecvBuffer->ReadLength; + Buffers[*BufferCount].Buffer = Chunk->Buffer + RecvBuffer->ReadStart; + Buffers[*BufferCount].Length = RecvBuffer->ReadLength; remainingDataToRead -= RecvBuffer->ReadLength; + (*BufferCount)++; // // Continue reading from the next chunks until we run out of buffers or data. // - uint32_t BufferId; - for (BufferId = 0; BufferId < *BufferCount && remainingDataToRead > 0; ++BufferId) + while (*BufferCount < ProvidedBufferCount && remainingDataToRead > 0) { Chunk = CXPLAT_CONTAINING_RECORD( @@ -934,11 +959,11 @@ QuicRecvBufferRead( Chunk->ExternalReference = TRUE; uint32_t ChunkReadLength = (uint32_t)min(Chunk->AllocLength, remainingDataToRead); - Buffers[BufferId].Buffer = Chunk->Buffer; - Buffers[BufferId].Length = ChunkReadLength; + Buffers[*BufferCount].Buffer = Chunk->Buffer; + Buffers[*BufferCount].Length = ChunkReadLength; remainingDataToRead -= ChunkReadLength; + (*BufferCount)++; } - *BufferCount = BufferId + 1; *BufferOffset = RecvBuffer->BaseOffset; RecvBuffer->ReadPendingLength = ContiguousLength - remainingDataToRead; } @@ -962,7 +987,8 @@ QuicRecvBufferPartialDrain( CXPLAT_DBG_ASSERT(Chunk->ExternalReference); if (Chunk->Link.Flink != &RecvBuffer->Chunks && - RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_MULTIPLE) { + (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_SINGLE || + RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_CIRCULAR)) { // // In single/circular mode, if there is another chunk, then that means // we no longer need this chunk at all because the other chunk contains @@ -998,16 +1024,19 @@ QuicRecvBufferPartialDrain( Chunk->Buffer + DrainLength, (size_t)(Chunk->AllocLength - (uint32_t)DrainLength)); // TODO - Might be able to copy less than the full alloc length - } else { // Circular and multiple mode. + } else { // Circular, multiple and external mode. // // Increment the buffer start, making sure to account for circular // buffer wrap around. // RecvBuffer->ReadStart = (uint32_t)((RecvBuffer->ReadStart + DrainLength) % Chunk->AllocLength); - if (Chunk->Link.Flink != &RecvBuffer->Chunks) { + if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL || + Chunk->Link.Flink != &RecvBuffer->Chunks) { // - // If there is another chunk, then the capacity of first chunk is shrunk. + // Shrink the capacity of the first chunk in external mode or + // if there is another chunk (in circular and multiple mode, + // when there is a single chunk, it is used as a circular buffer). // RecvBuffer->Capacity -= (uint32_t)DrainLength; } @@ -1054,6 +1083,7 @@ QuicRecvBufferFullDrain( ) { CXPLAT_DBG_ASSERT(!CxPlatListIsEmpty(&RecvBuffer->Chunks)); + QUIC_RECV_CHUNK* Chunk = CXPLAT_CONTAINING_RECORD( RecvBuffer->Chunks.Flink, @@ -1080,39 +1110,52 @@ QuicRecvBufferFullDrain( if (Chunk->Link.Flink == &RecvBuffer->Chunks) { // - // No more chunks to drain, so we should also be out of buffer length - // to drain too. Return TRUE to indicate all data has been drained. + // We are completely draining the last chunk we have: ensure we are not + // requested to drain more. // CXPLAT_FRE_ASSERTMSG(DrainLength == 0, "App drained more than was available!"); CXPLAT_DBG_ASSERT(RecvBuffer->ReadLength == 0); + + if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL) + { + // + // In EXTERNAL mode, external chunks are never re-used: + // free the last chunk. + // + CxPlatListEntryRemove(&Chunk->Link); + if (Chunk != RecvBuffer->PreallocatedChunk) { + CXPLAT_FREE(Chunk, QUIC_POOL_RECVBUF); + } + RecvBuffer->Capacity = 0; + } + return 0; } // - // Cleanup the chunk that was just drained. - // + // We have more chunks and just drained this one completely: we are never + // going to re-use this one. Free it. + // CxPlatListEntryRemove(&Chunk->Link); if (Chunk != RecvBuffer->PreallocatedChunk) { CXPLAT_FREE(Chunk, QUIC_POOL_RECVBUF); } - if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_MULTIPLE || - RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL) { - // - // The rest of the contiguous data might not fit in just the next chunk - // so we need to update the ReadLength of the first chunk to be no more - // than the next chunk's allocation length. - // Capacity is also updated to reflect the new first chunk's allocation length. - // - Chunk = - CXPLAT_CONTAINING_RECORD( - RecvBuffer->Chunks.Flink, - QUIC_RECV_CHUNK, - Link); - RecvBuffer->Capacity = Chunk->AllocLength; - if (Chunk->AllocLength < RecvBuffer->ReadLength) { - RecvBuffer->ReadLength = Chunk->AllocLength; - } + // + // The rest of the contiguous data might not fit in just the next chunk + // so we need to update the ReadLength of the first chunk to be no more + // than the next chunk's allocation length. + // Capacity is also updated to reflect the new first chunk's allocation length. + // + // Update the ReadLength and Capacity to match the new first chunk. + Chunk = + CXPLAT_CONTAINING_RECORD( + RecvBuffer->Chunks.Flink, + QUIC_RECV_CHUNK, + Link); + RecvBuffer->Capacity = Chunk->AllocLength; + if (Chunk->AllocLength < RecvBuffer->ReadLength) { + RecvBuffer->ReadLength = Chunk->AllocLength; } return DrainLength; @@ -1133,22 +1176,51 @@ QuicRecvBufferDrain( CXPLAT_DBG_ASSERT(FirstRange); CXPLAT_DBG_ASSERT(FirstRange->Low == 0); do { - BOOLEAN PartialDrain = (uint64_t)RecvBuffer->ReadLength > DrainLength; - // TODO guhetier: Seems wrong, if the end of the chunk aligns with the end of the first range, we still need a full drain - // Or we will end up with a first buffer with capacity == 0 + // + // Whether all the available data has been drained or more is readily available. + // + BOOLEAN MoreDataReadable = (uint64_t)RecvBuffer->ReadLength > DrainLength; BOOLEAN GapInChunk = QuicRangeSize(&RecvBuffer->WrittenRanges) > 1 && RecvBuffer->BaseOffset + RecvBuffer->ReadLength == FirstRange->Count; - if (PartialDrain || GapInChunk) { + + // + // In single/circular mode, a full drain must be done only all the data + // written in the buffer got read. + // A partial drain is done if not all the readily readable data was read + // or if the read is limited by a gap in the data. + // + BOOLEAN PartialDrain = MoreDataReadable || GapInChunk; + if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_MULTIPLE) { + // + // In addition to the above, in multiple mode, a chunk must be fully + // drained if its capacity is entirely consumed. // - // If not all the data readable from the first chunk is being drained, - // or if there is data in the chunk that isn't readable yet because of a gap - // (2 or more written ranges, the end of the first range constraining the read length), - // use the partial drain logic to preserve the data that isn't being drained. + PartialDrain &= (uint64_t)RecvBuffer->Capacity > DrainLength; + } else if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL) { + // + // In external mode, the chunk must be full drained only if its capacity reaches 0. + // Otherwise, we either have more bytes to read, or more space to write. + // Contrary to other modes, we can reset ReadStart to the start of the buffer whenever + // we drained all written data. + // + PartialDrain = (uint64_t)RecvBuffer->Capacity > DrainLength; + } + + if (PartialDrain) { + // + // In single/circular mode, a full drain must be done only all the data + // written to the buffer got read. + // A partial drain is done if not all the readily readable data was read + // or if the read is limited by a gap in the data. // QuicRecvBufferPartialDrain(RecvBuffer, DrainLength); - return !PartialDrain; + return !MoreDataReadable; } + // + // The chunk doesn't contain anything useful anymore, it can be + // discarded or reused without constraints. + // DrainLength = QuicRecvBufferFullDrain(RecvBuffer, DrainLength); } while (DrainLength != 0); diff --git a/src/core/recv_buffer.h b/src/core/recv_buffer.h index fddde16a6a..8ab3039baa 100644 --- a/src/core/recv_buffer.h +++ b/src/core/recv_buffer.h @@ -69,13 +69,15 @@ typedef struct QUIC_RECV_BUFFER { uint64_t BaseOffset; // - // Start of the head in the circular of the first chunk. + // Position of the reading head in the first chunk. // uint32_t ReadStart; // - // The length of data available to read in the first chunk, starting at - // ReadStart. + // The length of data available to read in the first "active" chunk, + // starting at ReadStart. + // ("Active" means a chunk that can targetted by a read or write. + // In SINGLE and CIRCULAR modes, only the last chunk is "active".) // uint32_t ReadLength; From 540da7bad3b859013b053627ceafcaf81c1418fb Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Fri, 24 Jan 2025 15:11:58 -0800 Subject: [PATCH 05/37] Add unit tests --- src/core/unittest/RecvBufferTest.cpp | 488 +++++++++++++++++++++++++-- 1 file changed, 455 insertions(+), 33 deletions(-) diff --git a/src/core/unittest/RecvBufferTest.cpp b/src/core/unittest/RecvBufferTest.cpp index bca7767609..1eada00b55 100644 --- a/src/core/unittest/RecvBufferTest.cpp +++ b/src/core/unittest/RecvBufferTest.cpp @@ -14,17 +14,24 @@ #include "RecvBufferTest.cpp.clog.h" #endif -#define DEF_TEST_BUFFER_LENGTH 64 -#define LARGE_TEST_BUFFER_LENGTH 1024 +#include +#include + +#define DEF_TEST_BUFFER_LENGTH 64u +#define LARGE_TEST_BUFFER_LENGTH 1024u struct RecvBuffer { QUIC_RECV_BUFFER RecvBuf {0}; QUIC_RECV_CHUNK* PreallocChunk {nullptr}; + uint8_t* ExternalBuffer {nullptr}; ~RecvBuffer() { QuicRecvBufferUninitialize(&RecvBuf); if (PreallocChunk) { CXPLAT_FREE(PreallocChunk, QUIC_POOL_TEST); } + if (ExternalBuffer) { + CXPLAT_FREE(ExternalBuffer, QUIC_POOL_TEST); + } } QUIC_STATUS Initialize( _In_ QUIC_RECV_BUF_MODE RecvMode = QUIC_RECV_BUF_MODE_SINGLE, @@ -39,7 +46,36 @@ struct RecvBuffer { QUIC_POOL_TEST); } printf("Initializing: [mode=%u,vlen=%u,alen=%u]\n", RecvMode, VirtualBufferLength, AllocBufferLength); - auto Result = QuicRecvBufferInitialize(&RecvBuf, AllocBufferLength, VirtualBufferLength, RecvMode, PreallocChunk); + + auto Result = QUIC_STATUS_SUCCESS; + if (RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL) { + // + // If the receive mode is EXTERNAL, simulate an initialization followed by providing external buffers. + // Provide up to two chunks, so that: + // - the first chunk has `AllocBufferLength` bytes + // - the sum of the two is `VirtualBufferLength` bytes + // + Result = QuicRecvBufferInitialize(&RecvBuf, AllocBufferLength, VirtualBufferLength, QUIC_RECV_BUF_MODE_CIRCULAR, PreallocChunk); + if (Result == QUIC_STATUS_SUCCESS) { + ExternalBuffer = (uint8_t *)CXPLAT_ALLOC_NONPAGED(VirtualBufferLength, QUIC_POOL_TEST); + auto Chunk = (QUIC_RECV_CHUNK *)CXPLAT_ALLOC_NONPAGED(sizeof(QUIC_RECV_CHUNK), QUIC_POOL_RECVBUF); + QuicRecvChunkInitialize(Chunk, AllocBufferLength, ExternalBuffer); + CXPLAT_LIST_ENTRY ChunkList; + CxPlatListInitializeHead(&ChunkList); + CxPlatListInsertHead(&ChunkList, &Chunk->Link); + if (VirtualBufferLength > AllocBufferLength) { + auto Chunk2 = (QUIC_RECV_CHUNK *)CXPLAT_ALLOC_NONPAGED(sizeof(QUIC_RECV_CHUNK), QUIC_POOL_RECVBUF); + QuicRecvChunkInitialize(Chunk2, VirtualBufferLength - AllocBufferLength, ExternalBuffer + AllocBufferLength); + CxPlatListInsertTail(&ChunkList, &Chunk2->Link); + } + Result = QuicRecvBufferProvideChunks(&RecvBuf, &ChunkList); + } + } + else + { + Result = QuicRecvBufferInitialize(&RecvBuf, AllocBufferLength, VirtualBufferLength, RecvMode, PreallocChunk); + } + Dump(); return Result; } @@ -49,6 +85,11 @@ struct RecvBuffer { bool HasUnreadData() { return QuicRecvBufferHasUnreadData(&RecvBuf) != FALSE; } + QUIC_STATUS ProvideChunks(_Inout_ CXPLAT_LIST_ENTRY* Chunks) { + auto Result = QuicRecvBufferProvideChunks(&RecvBuf, Chunks); + Dump(); + return Result; + } void IncreaseVirtualBufferLength(uint32_t Length) { QuicRecvBufferIncreaseVirtualBufferLength(&RecvBuf, Length); } @@ -100,21 +141,14 @@ struct RecvBuffer { ) { ASSERT_EQ(RecvBuf.ReadStart, ReadStart); ASSERT_EQ(RecvBuf.ReadLength, ReadLength); - int ChunkCount = 1; - QUIC_RECV_CHUNK* Chunk = - CXPLAT_CONTAINING_RECORD( - RecvBuf.Chunks.Flink, - QUIC_RECV_CHUNK, - Link); - ASSERT_EQ(Chunk->ExternalReference, ExternalReferences[0]); - while (Chunk->Link.Flink != &RecvBuf.Chunks) { + + int ChunkCount = 0; + for (CXPLAT_LIST_ENTRY* Entry = RecvBuf.Chunks.Flink; + Entry != &RecvBuf.Chunks; + Entry = Entry->Flink) { + auto* Chunk = CXPLAT_CONTAINING_RECORD(Entry, QUIC_RECV_CHUNK, Link); + ASSERT_EQ(Chunk->ExternalReference, ExternalReferences[ChunkCount]); ChunkCount++; - Chunk = - CXPLAT_CONTAINING_RECORD( - Chunk->Link.Flink, - QUIC_RECV_CHUNK, - Link); - ASSERT_EQ(Chunk->ExternalReference, ExternalReferences[ChunkCount - 1]); } ASSERT_EQ(ChunkCount, NumChunks); } @@ -148,9 +182,12 @@ struct RecvBuffer { _In_ BOOLEAN* ExternalReferences ) { uint64_t ReadOffset; - QUIC_BUFFER ReadBuffers[3]; - uint32_t ActualBufferCount = ARRAYSIZE(ReadBuffers); - Read(&ReadOffset, &ActualBufferCount, ReadBuffers); + // + // Always provide at least 3 buffers since some modes assume that many + // + uint32_t ActualBufferCount = std::max(BufferCount, 3u); + std::vector ReadBuffers(ActualBufferCount); + Read(&ReadOffset, &ActualBufferCount, ReadBuffers.data()); ASSERT_EQ(BufferCount, ActualBufferCount); for (uint32_t i = 0; i < ActualBufferCount; ++i) { @@ -515,8 +552,14 @@ TEST_P(WithMode, MultiWriteLarge) RecvBuf.Read(&ReadOffset, &BufferCount, ReadBuffers); ASSERT_FALSE(RecvBuf.HasUnreadData()); ASSERT_EQ(0ull, ReadOffset); - ASSERT_EQ(1u, BufferCount); - ASSERT_EQ(256u, ReadBuffers[0].Length); + if (Mode == QUIC_RECV_BUF_MODE_EXTERNAL) { + ASSERT_EQ(2u, BufferCount); + ASSERT_EQ(64u, ReadBuffers[0].Length); + ASSERT_EQ(192u, ReadBuffers[1].Length); + } else { + ASSERT_EQ(1u, BufferCount); + ASSERT_EQ(256u, ReadBuffers[0].Length); + } ASSERT_TRUE(RecvBuf.Drain(256)); ASSERT_FALSE(RecvBuf.HasUnreadData()); } @@ -569,17 +612,17 @@ TEST_P(WithMode, ReadPartial) ASSERT_EQ(2u, BufferCount); ASSERT_EQ(32u, ReadBuffers[0].Length); ASSERT_EQ(16u, ReadBuffers[1].Length); - } else { + } else if (Mode == QUIC_RECV_BUF_MODE_SINGLE) { ASSERT_EQ(16ull, ReadOffset); - if (Mode == QUIC_RECV_BUF_MODE_SINGLE) { - ASSERT_EQ(1u, BufferCount); - ASSERT_EQ(64u, ReadBuffers[0].Length); - } else { - ASSERT_EQ(2u, BufferCount); - ASSERT_EQ(48u, ReadBuffers[0].Length); - ASSERT_EQ(16u, ReadBuffers[1].Length); - } + ASSERT_EQ(1u, BufferCount); + ASSERT_EQ(64u, ReadBuffers[0].Length); + } else { // Mode == QUIC_RECV_BUF_MODE_CIRCULAR || QUIC_RECV_BUF_MODE_EXTERNAL + ASSERT_EQ(16ull, ReadOffset); + ASSERT_EQ(2u, BufferCount); + ASSERT_EQ(48u, ReadBuffers[0].Length); + ASSERT_EQ(16u, ReadBuffers[1].Length); } + ASSERT_TRUE(RecvBuf.Drain(64)); ASSERT_FALSE(RecvBuf.HasUnreadData()); } @@ -627,7 +670,8 @@ TEST_P(WithMode, ReadPendingMultiWrite) RecvBuf.Read(&ReadOffset, &BufferCount, ReadBuffers); ASSERT_FALSE(RecvBuf.HasUnreadData()); ASSERT_EQ(32ull, ReadOffset); - if (Mode == QUIC_RECV_BUF_MODE_MULTIPLE) { + if (Mode == QUIC_RECV_BUF_MODE_MULTIPLE || + Mode == QUIC_RECV_BUF_MODE_EXTERNAL) { ASSERT_EQ(2u, BufferCount); ASSERT_EQ(32u, ReadBuffers[0].Length); ASSERT_EQ(16u, ReadBuffers[1].Length); @@ -766,6 +810,129 @@ TEST_P(WithMode, DrainFrontChunkWithPendingGap) ASSERT_TRUE(RecvBuf.Drain(1)); } +TEST_P(WithMode, DrainFrontChunkWithPendingGap2) +{ + RecvBuffer RecvBuf; + auto Mode = GetParam(); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(Mode, false, 8, DEF_TEST_BUFFER_LENGTH)); + uint64_t InOutWriteLength = DEF_TEST_BUFFER_LENGTH; + BOOLEAN NewDataReady = FALSE; + + // Fill the first chunk partially + ASSERT_EQ(QUIC_STATUS_SUCCESS,RecvBuf.Write(0, 7, &InOutWriteLength, &NewDataReady)); + ASSERT_TRUE(RecvBuf.HasUnreadData()); + + // Read the data + uint64_t ReadOffset; + QUIC_BUFFER ReadBuffers[3]; + uint32_t BufferCount = ARRAYSIZE(ReadBuffers); + RecvBuf.Read(&ReadOffset, &BufferCount, ReadBuffers); + + // Before completing the read, write more non-ajacent data forcing the use of a new chunk + InOutWriteLength = DEF_TEST_BUFFER_LENGTH; + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Write(9, 4, &InOutWriteLength, &NewDataReady)); + + RecvBuf.Drain(7); + + // After draining, ensure the front chunk was removed only for mode that + // copied the data to the new chunk + BOOLEAN ExternalReferences[] = {FALSE, FALSE}; + if (Mode == QUIC_RECV_BUF_MODE_SINGLE) { + RecvBuf.Check(0, 0, 1, ExternalReferences); + } else if (Mode == QUIC_RECV_BUF_MODE_CIRCULAR) { + RecvBuf.Check(7, 0, 1, ExternalReferences); + } else { + RecvBuf.Check(7, 0, 2, ExternalReferences); + } + + // Write to fill the gap and read all data + InOutWriteLength = DEF_TEST_BUFFER_LENGTH; + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Write(7, 2, &InOutWriteLength, &NewDataReady)); + + BufferCount = ARRAYSIZE(ReadBuffers); + RecvBuf.Read(&ReadOffset, &BufferCount, ReadBuffers); + RecvBuf.Drain(6); +} + +TEST_P(WithMode, DrainFrontChunkExactly) +{ + RecvBuffer RecvBuf; + auto Mode = GetParam(); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(Mode, false, 8, DEF_TEST_BUFFER_LENGTH)); + uint64_t InOutWriteLength = DEF_TEST_BUFFER_LENGTH; + BOOLEAN NewDataReady = FALSE; + + // Fill the first chunk exactly + ASSERT_EQ(QUIC_STATUS_SUCCESS,RecvBuf.Write(0, 8, &InOutWriteLength, &NewDataReady)); + ASSERT_TRUE(RecvBuf.HasUnreadData()); + + // Read the data + uint64_t ReadOffset; + QUIC_BUFFER ReadBuffers[3]; + uint32_t BufferCount = ARRAYSIZE(ReadBuffers); + RecvBuf.Read(&ReadOffset, &BufferCount, ReadBuffers); + + // Before completing the read, write more non-ajacent data + InOutWriteLength = DEF_TEST_BUFFER_LENGTH; + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Write(9, 4, &InOutWriteLength, &NewDataReady)); + + RecvBuf.Drain(8); + + // After draining, ensure the front chunk was properly removed + BOOLEAN ExternalReferences[] = {FALSE, FALSE}; + if (Mode == QUIC_RECV_BUF_MODE_CIRCULAR) { + RecvBuf.Check(8, 0, 1, ExternalReferences); + } else { + RecvBuf.Check(0, 0, 1, ExternalReferences); + } + + // Write to fill the gap and read all data + InOutWriteLength = DEF_TEST_BUFFER_LENGTH; + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Write(8, 1, &InOutWriteLength, &NewDataReady)); + + BufferCount = ARRAYSIZE(ReadBuffers); + RecvBuf.Read(&ReadOffset, &BufferCount, ReadBuffers); + RecvBuf.Drain(5); +} + +TEST_P(WithMode, DrainFrontChunkExactly_NoGap) +{ + RecvBuffer RecvBuf; + auto Mode = GetParam(); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(Mode, false, 8, DEF_TEST_BUFFER_LENGTH)); + uint64_t InOutWriteLength = DEF_TEST_BUFFER_LENGTH; + BOOLEAN NewDataReady = FALSE; + + // Fill the first chunk exactly + ASSERT_EQ(QUIC_STATUS_SUCCESS,RecvBuf.Write(0, 8, &InOutWriteLength, &NewDataReady)); + ASSERT_TRUE(RecvBuf.HasUnreadData()); + + // Read the data + uint64_t ReadOffset; + QUIC_BUFFER ReadBuffers[3]; + uint32_t BufferCount = ARRAYSIZE(ReadBuffers); + RecvBuf.Read(&ReadOffset, &BufferCount, ReadBuffers); + + // Before completing the read, write more ajacent data + InOutWriteLength = DEF_TEST_BUFFER_LENGTH; + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Write(8, 4, &InOutWriteLength, &NewDataReady)); + + RecvBuf.Drain(8); + + // After draining, ensure the front chunk was properly removed + BOOLEAN ExternalReferences[] = {FALSE, FALSE}; + if (Mode == QUIC_RECV_BUF_MODE_CIRCULAR) { + RecvBuf.Check(8, 4, 1, ExternalReferences); + } else { + RecvBuf.Check(0, 4, 1, ExternalReferences); + } + + // Read the rest of the data + BufferCount = ARRAYSIZE(ReadBuffers); + RecvBuf.Read(&ReadOffset, &BufferCount, ReadBuffers); + RecvBuf.Drain(4); +} + // Validate the gap can span the edge of a chunk // |0, 1, 2, 3, x, x, x, x| ReadStart:0, ReadLength:4, Ext:0 // |R, R, R, R, x, x, x, x| ReadStart:0, ReadLength:4, Ext:1 @@ -1451,8 +1618,263 @@ TEST(MultiRecvTest, ReadPendingOver2Chunk) RecvBuf.Drain(8); } +// +// Helper to build a list of external chunks +// +QUIC_STATUS MakeExternalChunks( + const std::vector& ChunkSizes, + size_t BufferSize, + _In_reads_bytes_(BufferSize) uint8_t* Buffer, + _Out_ CXPLAT_LIST_ENTRY* ChunkList) { + + uint64_t totalSize = 0; + for (auto size: ChunkSizes) { + totalSize += size; + } + if (totalSize > BufferSize) { + QUIC_STATUS_INVALID_PARAMETER; + } + + CxPlatListInitializeHead(ChunkList); + for (auto size: ChunkSizes) { + auto* chunk = reinterpret_cast(CXPLAT_ALLOC_NONPAGED(sizeof(QUIC_RECV_CHUNK), QUIC_POOL_RECVBUF)); + QuicRecvChunkInitialize(chunk, size, Buffer); + Buffer = Buffer + size; + CxPlatListInsertTail(ChunkList, &chunk->Link); + } + + return QUIC_STATUS_SUCCESS; +} + +void FreeChunkList(_Inout_ CXPLAT_LIST_ENTRY* ChunkList) { + while (!CxPlatListIsEmpty(ChunkList)) { + QUIC_RECV_CHUNK *Chunk = CXPLAT_CONTAINING_RECORD(CxPlatListRemoveHead(ChunkList), QUIC_RECV_CHUNK, Link); + CXPLAT_FREE(Chunk, QUIC_POOL_RECVBUF); + } +} + +TEST(ExternalBuffersTest, EnableExternalMode) +{ + RecvBuffer RecvBuf; + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize()); + + // + // Providing external chunks succeeds and change the buffer mode to external. + // + std::array Buffer{}; + std::vector ChunkSizes{8u, 8u}; + CXPLAT_LIST_ENTRY ChunkList; + ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); + ASSERT_EQ(RecvBuf.RecvBuf.RecvMode, QUIC_RECV_BUF_MODE_EXTERNAL); + ASSERT_TRUE(CxPlatListIsEmpty(&ChunkList)); + + uint64_t InOutWriteLength = DEF_TEST_BUFFER_LENGTH; + BOOLEAN NewDataReady = FALSE; + RecvBuf.Write(0, 8, &InOutWriteLength, &NewDataReady); + + // + // More external buffers can be added, even after a write. + // + std::array Buffer2{}; + std::vector ChunkSizes2{8u, 8u}; + ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes2, Buffer2.size(), Buffer2.data(), &ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); + ASSERT_TRUE(CxPlatListIsEmpty(&ChunkList)); +} + +TEST(ExternalBuffersTest, ProvideChunksInOtherMode) +{ + RecvBuffer RecvBuf; + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize()); + + uint64_t InOutWriteLength = DEF_TEST_BUFFER_LENGTH; + BOOLEAN NewDataReady = FALSE; + RecvBuf.Write(0, 8, &InOutWriteLength, &NewDataReady); + + // + // Adding external chunks fails if data has already been written in another + // mode. + // + std::array Buffer{}; + std::vector ChunkSizes{8u, 8u}; + CXPLAT_LIST_ENTRY ChunkList; + ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); + ASSERT_EQ(QUIC_STATUS_INVALID_STATE, RecvBuf.ProvideChunks(&ChunkList)); + ASSERT_FALSE(CxPlatListIsEmpty(&ChunkList)); + + FreeChunkList(&ChunkList); +} + +TEST(ExternalBuffersTest, ProvideChunksOverflow) +{ + RecvBuffer RecvBuf; + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize()); + + // + // Ensure external buffers cannot be provided in a way that would overflow + // the virtual size. + // + std::array Buffer{}; + std::vector ChunkSizes{8u, 8u, 8u}; + CXPLAT_LIST_ENTRY ChunkList; + ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); + + for (CXPLAT_LIST_ENTRY* Entry = ChunkList.Flink; + Entry != &ChunkList; + Entry = Entry->Flink) { + auto* Chunk = CXPLAT_CONTAINING_RECORD(Entry, QUIC_RECV_CHUNK, Link); + // + // Lie about the actual size of the chunk, nobody will look at it. + // We don't want to allocate 4GB for real. + // + Chunk->AllocLength = 0x7000'0000; + } + + ASSERT_EQ(QUIC_STATUS_INVALID_PARAMETER, RecvBuf.ProvideChunks(&ChunkList)); + ASSERT_FALSE(CxPlatListIsEmpty(&ChunkList)); + + FreeChunkList(&ChunkList); +} + +TEST(ExternalBuffersTest, ReadWriteManyChunks) +{ + RecvBuffer RecvBuf; + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize()); + + const uint32_t NbChunks = 5; + std::array Buffer{}; + std::vector ChunkSizes(NbChunks, 8u); + CXPLAT_LIST_ENTRY ChunkList; + ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); + + std::vector ExternalReferences(NbChunks, FALSE); + RecvBuf.WriteAndCheck(10, 20, 0, 0, NbChunks, ExternalReferences.data()); + RecvBuf.WriteAndCheck(0, 10, 0, 8, NbChunks, ExternalReferences.data()); + + uint32_t LengthList[] = {8, 8, 8, 6}; + ExternalReferences[0] = TRUE; + ExternalReferences[1] = TRUE; + ExternalReferences[2] = TRUE; + ExternalReferences[3] = TRUE; + RecvBuf.ReadAndCheck(4, LengthList, 0, 8, NbChunks, ExternalReferences.data()); + RecvBuf.Drain(30); + + ExternalReferences[0] = FALSE; + ExternalReferences[1] = FALSE; + ExternalReferences[2] = FALSE; + ExternalReferences[3] = FALSE; + RecvBuf.Check(6, 0, 2, ExternalReferences.data()); +} + +TEST(ExternalBuffersTest, WriteTooLong) +{ + RecvBuffer RecvBuf; + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize()); + + std::array Buffer{}; + std::vector ChunkSizes{8u, 8u}; + CXPLAT_LIST_ENTRY ChunkList; + ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); + + uint64_t InOutWriteLength = DEF_TEST_BUFFER_LENGTH; + BOOLEAN NewDataReady = FALSE; + // + // Write 1 more byte than we have buffer space for. + // + ASSERT_EQ(QUIC_STATUS_BUFFER_TOO_SMALL, RecvBuf.Write(0, 17, &InOutWriteLength, &NewDataReady)); +} + +TEST(ExternalBuffersTest, OutOfBuffers) +{ + RecvBuffer RecvBuf; + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize()); + + std::array Buffer{}; + std::vector ChunkSizes{DEF_TEST_BUFFER_LENGTH}; + CXPLAT_LIST_ENTRY ChunkList; + ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); + + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); + + uint64_t InOutWriteLength = DEF_TEST_BUFFER_LENGTH; + BOOLEAN NewDataReady = FALSE; + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Write(0, DEF_TEST_BUFFER_LENGTH, &InOutWriteLength, &NewDataReady)); + + // + // Fully read and drain the only chunk, causing the chunk list to be empty. + // + uint32_t LengthList[] = {DEF_TEST_BUFFER_LENGTH}; + BOOLEAN ExternalReferences[] = {TRUE}; + RecvBuf.ReadAndCheck(1, LengthList, 0, DEF_TEST_BUFFER_LENGTH, 1, ExternalReferences); + + RecvBuf.Drain(DEF_TEST_BUFFER_LENGTH); + ExternalReferences[0] = FALSE; + RecvBuf.Check(0, 0, 0, ExternalReferences); + + // + // Make sure a write fail nicely in that state. + // + InOutWriteLength = DEF_TEST_BUFFER_LENGTH; + NewDataReady = FALSE; + ASSERT_EQ(QUIC_STATUS_BUFFER_TOO_SMALL, RecvBuf.Write(DEF_TEST_BUFFER_LENGTH, 8, &InOutWriteLength, &NewDataReady)); + + // + // Provide a new chunk and validate everything is back to normal. + // + ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); + + InOutWriteLength = DEF_TEST_BUFFER_LENGTH; + NewDataReady = FALSE; + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Write(DEF_TEST_BUFFER_LENGTH, 8, &InOutWriteLength, &NewDataReady)); + LengthList[0] = 8; + ExternalReferences[0] = TRUE; + RecvBuf.ReadAndCheck(1, LengthList, 0, 8, 1, ExternalReferences); + RecvBuf.Drain(8); +} + +TEST(ExternalBuffersTest, FreeBufferBeforeDrain) +{ + RecvBuffer RecvBuf; + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize()); + + auto Buffer1 = std::make_unique(DEF_TEST_BUFFER_LENGTH); + std::array Buffer2{}; + std::vector ChunkSizes{DEF_TEST_BUFFER_LENGTH}; + CXPLAT_LIST_ENTRY ChunkList; + ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, DEF_TEST_BUFFER_LENGTH, Buffer1.get(), &ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); + + ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, Buffer2.size(), Buffer2.data(), &ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); + + uint64_t InOutWriteLength = DEF_TEST_BUFFER_LENGTH; + BOOLEAN NewDataReady = FALSE; + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Write(0, DEF_TEST_BUFFER_LENGTH, &InOutWriteLength, &NewDataReady)); + uint32_t LengthList[] = {DEF_TEST_BUFFER_LENGTH}; + BOOLEAN ExternalReferences[] = {TRUE, FALSE}; + RecvBuf.ReadAndCheck(1, LengthList, 0, DEF_TEST_BUFFER_LENGTH, 2, ExternalReferences); + + // Free Buffer1 before draining. + Buffer1.reset(); + + RecvBuf.Drain(DEF_TEST_BUFFER_LENGTH); + + // Everything still good when writting and reading to the second chunk. + InOutWriteLength = DEF_TEST_BUFFER_LENGTH; + NewDataReady = FALSE; + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Write(DEF_TEST_BUFFER_LENGTH, 8, &InOutWriteLength, &NewDataReady)); + LengthList[0] = 8; + ExternalReferences[0] = TRUE; + RecvBuf.ReadAndCheck(1, LengthList, 0, 8, 1, ExternalReferences); + RecvBuf.Drain(8); +} + INSTANTIATE_TEST_SUITE_P( RecvBufferTest, WithMode, - ::testing::Values(QUIC_RECV_BUF_MODE_SINGLE, QUIC_RECV_BUF_MODE_CIRCULAR, QUIC_RECV_BUF_MODE_MULTIPLE), + ::testing::Values(QUIC_RECV_BUF_MODE_SINGLE, QUIC_RECV_BUF_MODE_CIRCULAR, QUIC_RECV_BUF_MODE_MULTIPLE, QUIC_RECV_BUF_MODE_EXTERNAL), testing::PrintToStringParamName()); From d7dc46bda19bfb8632246e60c41d23171964d8a8 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Fri, 24 Jan 2025 15:41:00 -0800 Subject: [PATCH 06/37] PR feedback --- src/core/recv_buffer.c | 18 ++++++------------ src/core/recv_buffer.h | 17 ++++++++--------- 2 files changed, 14 insertions(+), 21 deletions(-) diff --git a/src/core/recv_buffer.c b/src/core/recv_buffer.c index 0b7805824a..69a83a5dc1 100644 --- a/src/core/recv_buffer.c +++ b/src/core/recv_buffer.c @@ -52,7 +52,7 @@ void QuicRecvChunkInitialize( _Inout_ QUIC_RECV_CHUNK* Chunk, _In_ uint32_t AllocLength, - _In_ uint8_t* Buffer + _Inout_updates_(AllocLength) uint8_t* Buffer ) { Chunk->AllocLength = AllocLength; @@ -76,8 +76,6 @@ QuicRecvBufferInitialize( CXPLAT_DBG_ASSERT(VirtualBufferLength != 0 && (VirtualBufferLength & (VirtualBufferLength - 1)) == 0); // Power of 2 CXPLAT_DBG_ASSERT(AllocBufferLength <= VirtualBufferLength); - // TODO guhetier: What to do when starting in the EXTERNAL mode? - // Can the code handle not having any chunks? In practice we should never start directly in EXTERNAL QUIC_RECV_CHUNK* Chunk = NULL; if (PreallocatedChunk != NULL) { RecvBuffer->PreallocatedChunk = PreallocatedChunk; @@ -199,17 +197,15 @@ QuicRecvBufferProvideChunks( { // TODO guhetier: Consider making this valid in external mode only // and have a reset function to change the mode. - // But that mean having to detect if the buffer is not empty + dealing with - // no chunks on init? CXPLAT_DBG_ASSERT(!CxPlatListIsEmpty(Chunks)); // // External chunks can be provided only if already in external mode, or if // nothing has been written to the buffer yet. // - uint64_t rangeMax; + uint64_t RangeMax; if (RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL && - (QuicRangeGetMaxSafe(&RecvBuffer->WrittenRanges, &rangeMax) && rangeMax > 0)) { + (QuicRangeGetMaxSafe(&RecvBuffer->WrittenRanges, &RangeMax) && RangeMax > 0)) { return QUIC_STATUS_INVALID_STATE; } @@ -685,7 +681,7 @@ QuicRecvBufferWrite( // N.B. We do this before updating the written ranges below so we don't have // to support rolling back those changes on the possible allocation failure // here. - // This is skiped in external mode since the entire virtual length is + // This is skipped in external mode since the entire virtual length is // always allocated. // if (RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL) { @@ -949,8 +945,7 @@ QuicRecvBufferRead( // // Continue reading from the next chunks until we run out of buffers or data. // - while (*BufferCount < ProvidedBufferCount && remainingDataToRead > 0) - { + while (*BufferCount < ProvidedBufferCount && remainingDataToRead > 0) { Chunk = CXPLAT_CONTAINING_RECORD( Chunk->Link.Flink, @@ -1116,8 +1111,7 @@ QuicRecvBufferFullDrain( CXPLAT_FRE_ASSERTMSG(DrainLength == 0, "App drained more than was available!"); CXPLAT_DBG_ASSERT(RecvBuffer->ReadLength == 0); - if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL) - { + if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL) { // // In EXTERNAL mode, external chunks are never re-used: // free the last chunk. diff --git a/src/core/recv_buffer.h b/src/core/recv_buffer.h index 8ab3039baa..38053e581f 100644 --- a/src/core/recv_buffer.h +++ b/src/core/recv_buffer.h @@ -13,21 +13,20 @@ typedef enum QUIC_RECV_BUF_MODE { QUIC_RECV_BUF_MODE_SINGLE, // Only one receive with a single contiguous buffer at a time. QUIC_RECV_BUF_MODE_CIRCULAR, // Only one receive that may indicate two contiguous buffers at a time. QUIC_RECV_BUF_MODE_MULTIPLE, // Multiple independent receives that may indicate up to two contiguous buffers at a time. - // TODO guhetier: improve documentation QUIC_RECV_BUF_MODE_EXTERNAL // Uses memory buffer provided by the app. Only one receive at a time, - // that may indicate up to the number of provided buffers. + // that may indicate up to the number of provided buffers. } QUIC_RECV_BUF_MODE; // // Represents a single contiguous range of bytes. // typedef struct QUIC_RECV_CHUNK { - CXPLAT_LIST_ENTRY Link; // Link in the list of chunks. - uint32_t AllocLength : 31; // Allocation size of Buffer - uint32_t ExternalReference : 1; // Indicates the buffer is being used externally. - uint8_t *Buffer; // Pointer to the buffer itself. Doesn't need to be freed independently: - // - for internally allocated buffers, points in the same allocation. - // - for exteral buffers, the buffer isn't owned + CXPLAT_LIST_ENTRY Link; // Link in the list of chunks. + uint32_t AllocLength : 31; // Allocation size of Buffer + uint32_t ExternalReference : 1; // Indicates the buffer is being used externally. + _Field_size_(AllocLength) uint8_t *Buffer; // Pointer to the buffer itself. Doesn't need to be freed independently: + // - for internally allocated buffers, points in the same allocation. + // - for exteral buffers, the buffer isn't owned } QUIC_RECV_CHUNK; _IRQL_requires_max_(DISPATCH_LEVEL) @@ -35,7 +34,7 @@ void QuicRecvChunkInitialize( _Inout_ QUIC_RECV_CHUNK* Chunk, _In_ uint32_t AllocLength, - _In_ uint8_t* Buffer + _Inout_updates_(AllocLength) uint8_t* Buffer ); typedef struct QUIC_RECV_BUFFER { From 5ae889b958f32992ef31b6d2969a9efa13133538 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Fri, 24 Jan 2025 18:51:37 -0800 Subject: [PATCH 07/37] Fix somes todos --- src/core/recv_buffer.c | 115 +++++++++++---------------- src/core/recv_buffer.h | 4 +- src/core/unittest/RecvBufferTest.cpp | 73 ++++++----------- 3 files changed, 73 insertions(+), 119 deletions(-) diff --git a/src/core/recv_buffer.c b/src/core/recv_buffer.c index 69a83a5dc1..5c10439abb 100644 --- a/src/core/recv_buffer.c +++ b/src/core/recv_buffer.c @@ -70,46 +70,51 @@ QuicRecvBufferInitialize( _In_opt_ QUIC_RECV_CHUNK* PreallocatedChunk ) { - QUIC_STATUS Status; - - CXPLAT_DBG_ASSERT(AllocBufferLength != 0 && (AllocBufferLength & (AllocBufferLength - 1)) == 0); // Power of 2 - CXPLAT_DBG_ASSERT(VirtualBufferLength != 0 && (VirtualBufferLength & (VirtualBufferLength - 1)) == 0); // Power of 2 + CXPLAT_DBG_ASSERT(AllocBufferLength != 0 || RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL); + CXPLAT_DBG_ASSERT(VirtualBufferLength != 0 || RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL); + CXPLAT_DBG_ASSERT((AllocBufferLength & (AllocBufferLength - 1)) == 0); // Power of 2 + CXPLAT_DBG_ASSERT((VirtualBufferLength & (VirtualBufferLength - 1)) == 0); // Power of 2 CXPLAT_DBG_ASSERT(AllocBufferLength <= VirtualBufferLength); - QUIC_RECV_CHUNK* Chunk = NULL; - if (PreallocatedChunk != NULL) { - RecvBuffer->PreallocatedChunk = PreallocatedChunk; - Chunk = PreallocatedChunk; - } else { - RecvBuffer->PreallocatedChunk = NULL; - Chunk = CXPLAT_ALLOC_NONPAGED(sizeof(QUIC_RECV_CHUNK) + AllocBufferLength, QUIC_POOL_RECVBUF); - if (Chunk == NULL) { - QuicTraceEvent( - AllocFailure, - "Allocation of '%s' failed. (%llu bytes)", - "recv_buffer", - sizeof(QUIC_RECV_CHUNK) + AllocBufferLength); - Status = QUIC_STATUS_OUT_OF_MEMORY; - goto Error; - } - QuicRecvChunkInitialize(Chunk, AllocBufferLength, (uint8_t*)(Chunk + 1)); - } - - QuicRangeInitialize(QUIC_MAX_RANGE_ALLOC_SIZE, &RecvBuffer->WrittenRanges); - CxPlatListInitializeHead(&RecvBuffer->Chunks); - CxPlatListInsertHead(&RecvBuffer->Chunks, &Chunk->Link); RecvBuffer->BaseOffset = 0; RecvBuffer->ReadStart = 0; RecvBuffer->ReadPendingLength = 0; RecvBuffer->ReadLength = 0; - RecvBuffer->Capacity = AllocBufferLength; - RecvBuffer->VirtualBufferLength = VirtualBufferLength; RecvBuffer->RecvMode = RecvMode; - Status = QUIC_STATUS_SUCCESS; + QuicRangeInitialize(QUIC_MAX_RANGE_ALLOC_SIZE, &RecvBuffer->WrittenRanges); + CxPlatListInitializeHead(&RecvBuffer->Chunks); -Error: + if (RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL) { + // + // Setup an initial chunk. + // + QUIC_RECV_CHUNK* Chunk = NULL; + if (PreallocatedChunk != NULL) { + RecvBuffer->PreallocatedChunk = PreallocatedChunk; + Chunk = PreallocatedChunk; + } else { + RecvBuffer->PreallocatedChunk = NULL; + Chunk = CXPLAT_ALLOC_NONPAGED(sizeof(QUIC_RECV_CHUNK) + AllocBufferLength, QUIC_POOL_RECVBUF); + if (Chunk == NULL) { + QuicTraceEvent( + AllocFailure, + "Allocation of '%s' failed. (%llu bytes)", + "recv_buffer", + sizeof(QUIC_RECV_CHUNK) + AllocBufferLength); + return QUIC_STATUS_OUT_OF_MEMORY; + } + QuicRecvChunkInitialize(Chunk, AllocBufferLength, (uint8_t*)(Chunk + 1)); + } + CxPlatListInsertHead(&RecvBuffer->Chunks, &Chunk->Link); + RecvBuffer->Capacity = AllocBufferLength; + RecvBuffer->VirtualBufferLength = VirtualBufferLength; + } else { + RecvBuffer->PreallocatedChunk = NULL; + RecvBuffer->Capacity = 0; + RecvBuffer->VirtualBufferLength = 0; + } - return Status; + return QUIC_STATUS_SUCCESS; } _IRQL_requires_max_(DISPATCH_LEVEL) @@ -176,16 +181,19 @@ QuicRecvBufferHasUnreadData( } _IRQL_requires_max_(DISPATCH_LEVEL) -void -QuicRecvBufferIncreaseVirtualBufferLength( +BOOLEAN +QuicRecvBufferTryIncreaseVirtualBufferLength( _In_ QUIC_RECV_BUFFER* RecvBuffer, _In_ uint32_t NewLength ) { - // TODO guhetier: Must make sure this can't be called in new mode - CXPLAT_DBG_ASSERT(RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL); + if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL) { + return FALSE; + } + CXPLAT_DBG_ASSERT(NewLength >= RecvBuffer->VirtualBufferLength); // Don't support decrease. RecvBuffer->VirtualBufferLength = NewLength; + return TRUE; } _IRQL_requires_max_(DISPATCH_LEVEL) @@ -195,25 +203,10 @@ QuicRecvBufferProvideChunks( _Inout_ CXPLAT_LIST_ENTRY* /* QUIC_RECV_CHUNKS */ Chunks ) { - // TODO guhetier: Consider making this valid in external mode only - // and have a reset function to change the mode. + CXPLAT_DBG_ASSERT(RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL); CXPLAT_DBG_ASSERT(!CxPlatListIsEmpty(Chunks)); - // - // External chunks can be provided only if already in external mode, or if - // nothing has been written to the buffer yet. - // - uint64_t RangeMax; - if (RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL && - (QuicRangeGetMaxSafe(&RecvBuffer->WrittenRanges, &RangeMax) && RangeMax > 0)) { - return QUIC_STATUS_INVALID_STATE; - } - uint64_t NewBufferLength = RecvBuffer->VirtualBufferLength; - if (RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL) { - NewBufferLength = 0; - } - for (CXPLAT_LIST_ENTRY* Link = Chunks->Flink; Link != Chunks; Link = Link->Flink) { @@ -234,24 +227,6 @@ QuicRecvBufferProvideChunks( return QUIC_STATUS_INVALID_PARAMETER; } - if (RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL) { - // - // Remove all existing chunks. - // - while (!CxPlatListIsEmpty(&RecvBuffer->Chunks)) { - QUIC_RECV_CHUNK* Chunk = - CXPLAT_CONTAINING_RECORD( - CxPlatListRemoveHead(&RecvBuffer->Chunks), - QUIC_RECV_CHUNK, - Link); - if (Chunk != RecvBuffer->PreallocatedChunk) { - CXPLAT_FREE(Chunk, QUIC_POOL_RECVBUF); - } - } - - RecvBuffer->RecvMode = QUIC_RECV_BUF_MODE_EXTERNAL; - } - if (CxPlatListIsEmpty(&RecvBuffer->Chunks)) { // // If a new chunk becomes the first chunk, update the capacity. @@ -280,7 +255,7 @@ QuicRecvBufferResize( _In_ uint32_t TargetBufferLength ) { - CXPLAT_DBG_ASSERT(RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL); // Should never resize in external mode + CXPLAT_DBG_ASSERTMSG(RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL, "Should never resize in External mode"); CXPLAT_DBG_ASSERT( TargetBufferLength != 0 && (TargetBufferLength & (TargetBufferLength - 1)) == 0); // Power of 2 diff --git a/src/core/recv_buffer.h b/src/core/recv_buffer.h index 38053e581f..3647f3e7f1 100644 --- a/src/core/recv_buffer.h +++ b/src/core/recv_buffer.h @@ -140,8 +140,8 @@ QuicRecvBufferHasUnreadData( // Changes the buffer's virtual buffer length. // _IRQL_requires_max_(DISPATCH_LEVEL) -void -QuicRecvBufferIncreaseVirtualBufferLength( +BOOLEAN +QuicRecvBufferTryIncreaseVirtualBufferLength( _In_ QUIC_RECV_BUFFER* RecvBuffer, _In_ uint32_t NewLength ); diff --git a/src/core/unittest/RecvBufferTest.cpp b/src/core/unittest/RecvBufferTest.cpp index 1eada00b55..9c0f6e8732 100644 --- a/src/core/unittest/RecvBufferTest.cpp +++ b/src/core/unittest/RecvBufferTest.cpp @@ -48,28 +48,30 @@ struct RecvBuffer { printf("Initializing: [mode=%u,vlen=%u,alen=%u]\n", RecvMode, VirtualBufferLength, AllocBufferLength); auto Result = QUIC_STATUS_SUCCESS; - if (RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL) { + Result = QuicRecvBufferInitialize(&RecvBuf, AllocBufferLength, VirtualBufferLength, RecvMode, PreallocChunk); + if (Result != QUIC_STATUS_SUCCESS) { + return Result; + } + + if (RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL && AllocBufferLength > 0) { // - // If the receive mode is EXTERNAL, simulate an initialization followed by providing external buffers. + // If the receive mode is EXTERNAL, provide external buffers. // Provide up to two chunks, so that: // - the first chunk has `AllocBufferLength` bytes // - the sum of the two is `VirtualBufferLength` bytes // - Result = QuicRecvBufferInitialize(&RecvBuf, AllocBufferLength, VirtualBufferLength, QUIC_RECV_BUF_MODE_CIRCULAR, PreallocChunk); - if (Result == QUIC_STATUS_SUCCESS) { - ExternalBuffer = (uint8_t *)CXPLAT_ALLOC_NONPAGED(VirtualBufferLength, QUIC_POOL_TEST); - auto Chunk = (QUIC_RECV_CHUNK *)CXPLAT_ALLOC_NONPAGED(sizeof(QUIC_RECV_CHUNK), QUIC_POOL_RECVBUF); - QuicRecvChunkInitialize(Chunk, AllocBufferLength, ExternalBuffer); - CXPLAT_LIST_ENTRY ChunkList; - CxPlatListInitializeHead(&ChunkList); - CxPlatListInsertHead(&ChunkList, &Chunk->Link); - if (VirtualBufferLength > AllocBufferLength) { - auto Chunk2 = (QUIC_RECV_CHUNK *)CXPLAT_ALLOC_NONPAGED(sizeof(QUIC_RECV_CHUNK), QUIC_POOL_RECVBUF); - QuicRecvChunkInitialize(Chunk2, VirtualBufferLength - AllocBufferLength, ExternalBuffer + AllocBufferLength); - CxPlatListInsertTail(&ChunkList, &Chunk2->Link); - } - Result = QuicRecvBufferProvideChunks(&RecvBuf, &ChunkList); + CXPLAT_LIST_ENTRY ChunkList; + CxPlatListInitializeHead(&ChunkList); + ExternalBuffer = (uint8_t *)CXPLAT_ALLOC_NONPAGED(VirtualBufferLength, QUIC_POOL_TEST); + auto Chunk = (QUIC_RECV_CHUNK *)CXPLAT_ALLOC_NONPAGED(sizeof(QUIC_RECV_CHUNK), QUIC_POOL_RECVBUF); + QuicRecvChunkInitialize(Chunk, AllocBufferLength, ExternalBuffer); + CxPlatListInsertHead(&ChunkList, &Chunk->Link); + if (VirtualBufferLength > AllocBufferLength) { + auto Chunk2 = (QUIC_RECV_CHUNK *)CXPLAT_ALLOC_NONPAGED(sizeof(QUIC_RECV_CHUNK), QUIC_POOL_RECVBUF); + QuicRecvChunkInitialize(Chunk2, VirtualBufferLength - AllocBufferLength, ExternalBuffer + AllocBufferLength); + CxPlatListInsertTail(&ChunkList, &Chunk2->Link); } + Result = QuicRecvBufferProvideChunks(&RecvBuf, &ChunkList); } else { @@ -91,7 +93,7 @@ struct RecvBuffer { return Result; } void IncreaseVirtualBufferLength(uint32_t Length) { - QuicRecvBufferIncreaseVirtualBufferLength(&RecvBuf, Length); + QuicRecvBufferTryIncreaseVirtualBufferLength(&RecvBuf, Length); } QUIC_STATUS Write( _In_ uint64_t WriteOffset, @@ -1653,10 +1655,10 @@ void FreeChunkList(_Inout_ CXPLAT_LIST_ENTRY* ChunkList) { } } -TEST(ExternalBuffersTest, EnableExternalMode) +TEST(ExternalBuffersTest, ProvideChunks) { RecvBuffer RecvBuf; - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize()); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_EXTERNAL, false, 0, 0)); // // Providing external chunks succeeds and change the buffer mode to external. @@ -1683,33 +1685,10 @@ TEST(ExternalBuffersTest, EnableExternalMode) ASSERT_TRUE(CxPlatListIsEmpty(&ChunkList)); } -TEST(ExternalBuffersTest, ProvideChunksInOtherMode) -{ - RecvBuffer RecvBuf; - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize()); - - uint64_t InOutWriteLength = DEF_TEST_BUFFER_LENGTH; - BOOLEAN NewDataReady = FALSE; - RecvBuf.Write(0, 8, &InOutWriteLength, &NewDataReady); - - // - // Adding external chunks fails if data has already been written in another - // mode. - // - std::array Buffer{}; - std::vector ChunkSizes{8u, 8u}; - CXPLAT_LIST_ENTRY ChunkList; - ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); - ASSERT_EQ(QUIC_STATUS_INVALID_STATE, RecvBuf.ProvideChunks(&ChunkList)); - ASSERT_FALSE(CxPlatListIsEmpty(&ChunkList)); - - FreeChunkList(&ChunkList); -} - TEST(ExternalBuffersTest, ProvideChunksOverflow) { RecvBuffer RecvBuf; - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize()); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_EXTERNAL, false, 0, 0)); // // Ensure external buffers cannot be provided in a way that would overflow @@ -1740,7 +1719,7 @@ TEST(ExternalBuffersTest, ProvideChunksOverflow) TEST(ExternalBuffersTest, ReadWriteManyChunks) { RecvBuffer RecvBuf; - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize()); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_EXTERNAL, false, 0, 0)); const uint32_t NbChunks = 5; std::array Buffer{}; @@ -1771,7 +1750,7 @@ TEST(ExternalBuffersTest, ReadWriteManyChunks) TEST(ExternalBuffersTest, WriteTooLong) { RecvBuffer RecvBuf; - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize()); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_EXTERNAL, false, 0, 0)); std::array Buffer{}; std::vector ChunkSizes{8u, 8u}; @@ -1790,7 +1769,7 @@ TEST(ExternalBuffersTest, WriteTooLong) TEST(ExternalBuffersTest, OutOfBuffers) { RecvBuffer RecvBuf; - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize()); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_EXTERNAL, false, 0, 0)); std::array Buffer{}; std::vector ChunkSizes{DEF_TEST_BUFFER_LENGTH}; @@ -1839,7 +1818,7 @@ TEST(ExternalBuffersTest, OutOfBuffers) TEST(ExternalBuffersTest, FreeBufferBeforeDrain) { RecvBuffer RecvBuf; - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize()); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_EXTERNAL, false, 0, 0)); auto Buffer1 = std::make_unique(DEF_TEST_BUFFER_LENGTH); std::array Buffer2{}; From 8e28164bbf36b5fdd71f8aaeccb407cfc73cdf42 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Wed, 29 Jan 2025 12:29:58 -0800 Subject: [PATCH 08/37] Fix call point of QuicRecvBufferTryIncreaseVirtualBufferLength --- src/core/stream_recv.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/core/stream_recv.c b/src/core/stream_recv.c index 2550f39924..b1ff769d0a 100644 --- a/src/core/stream_recv.c +++ b/src/core/stream_recv.c @@ -793,18 +793,19 @@ QuicStreamOnBytesDelivered( // low. // - QuicTraceLogStreamVerbose( - IncreaseRxBuffer, - Stream, - "Increasing max RX buffer size to %u (MinRtt=%llu; TimeNow=%llu; LastUpdate=%llu)", - Stream->RecvBuffer.VirtualBufferLength * 2, - Stream->Connection->Paths[0].MinRtt, - TimeNow, - Stream->RecvWindowLastUpdate); - - QuicRecvBufferIncreaseVirtualBufferLength( + if (QuicRecvBufferTryIncreaseVirtualBufferLength( &Stream->RecvBuffer, - Stream->RecvBuffer.VirtualBufferLength * 2); + Stream->RecvBuffer.VirtualBufferLength * 2)) { + + QuicTraceLogStreamVerbose( + IncreaseRxBuffer, + Stream, + "Increasing max RX buffer size to %u (MinRtt=%llu; TimeNow=%llu; LastUpdate=%llu)", + Stream->RecvBuffer.VirtualBufferLength * 2, + Stream->Connection->Paths[0].MinRtt, + TimeNow, + Stream->RecvWindowLastUpdate); + } } } @@ -873,6 +874,7 @@ QuicStreamRecvFlush( while (FlushRecv) { CXPLAT_DBG_ASSERT(!Stream->Flags.SentStopSending); + // TODO guhetier: Need to allocate a variable nb of buffers QUIC_BUFFER RecvBuffers[3]; QUIC_STREAM_EVENT Event = {0}; Event.Type = QUIC_STREAM_EVENT_RECEIVE; From 5f8cdf5252183bf7d55b985f748bb5d9dac00fd5 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Thu, 30 Jan 2025 15:15:32 -0800 Subject: [PATCH 09/37] Minor PR feedback --- src/core/recv_buffer.c | 30 +++++++++++++--------------- src/core/recv_buffer.h | 15 +++++++------- src/core/unittest/RecvBufferTest.cpp | 7 ++----- 3 files changed, 24 insertions(+), 28 deletions(-) diff --git a/src/core/recv_buffer.c b/src/core/recv_buffer.c index 5c10439abb..f806dc2102 100644 --- a/src/core/recv_buffer.c +++ b/src/core/recv_buffer.c @@ -212,12 +212,6 @@ QuicRecvBufferProvideChunks( Link = Link->Flink) { QUIC_RECV_CHUNK* Chunk = CXPLAT_CONTAINING_RECORD(Link, QUIC_RECV_CHUNK, Link); NewBufferLength += Chunk->AllocLength; - if (NewBufferLength < Chunk->AllocLength) { - // - // Overflow: we can't handle that much buffer space. - // - return QUIC_STATUS_INVALID_PARAMETER; - } } if (NewBufferLength > MAXUINT32) { @@ -233,8 +227,8 @@ QuicRecvBufferProvideChunks( // CXPLAT_DBG_ASSERT(RecvBuffer->ReadStart == 0); CXPLAT_DBG_ASSERT(RecvBuffer->ReadLength == 0); - QUIC_RECV_CHUNK* firstChunk = CXPLAT_CONTAINING_RECORD(Chunks->Flink, QUIC_RECV_CHUNK, Link); - RecvBuffer->Capacity = firstChunk->AllocLength; + QUIC_RECV_CHUNK* FirstChunk = CXPLAT_CONTAINING_RECORD(Chunks->Flink, QUIC_RECV_CHUNK, Link); + RecvBuffer->Capacity = FirstChunk->AllocLength; } RecvBuffer->VirtualBufferLength = (uint32_t)NewBufferLength; @@ -255,17 +249,21 @@ QuicRecvBufferResize( _In_ uint32_t TargetBufferLength ) { - CXPLAT_DBG_ASSERTMSG(RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL, "Should never resize in External mode"); + CXPLAT_DBG_ASSERTMSG( + RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL, + "Should never resize in External mode"); CXPLAT_DBG_ASSERT( TargetBufferLength != 0 && (TargetBufferLength & (TargetBufferLength - 1)) == 0); // Power of 2 - CXPLAT_DBG_ASSERT(!CxPlatListIsEmpty(&RecvBuffer->Chunks)); // Should always have at least one chunk + // Should always have at least one chunk + CXPLAT_DBG_ASSERT(!CxPlatListIsEmpty(&RecvBuffer->Chunks)); QUIC_RECV_CHUNK* LastChunk = CXPLAT_CONTAINING_RECORD( RecvBuffer->Chunks.Blink, QUIC_RECV_CHUNK, Link); - CXPLAT_DBG_ASSERT(TargetBufferLength > LastChunk->AllocLength); // Should only be called when buffer needs to grow + // Should only be called when buffer needs to grow + CXPLAT_DBG_ASSERT(TargetBufferLength > LastChunk->AllocLength); BOOLEAN LastChunkIsFirst = LastChunk->Link.Blink == &RecvBuffer->Chunks; QUIC_RECV_CHUNK* NewChunk = @@ -734,13 +732,13 @@ QuicRecvBufferRead( CXPLAT_DBG_ASSERT(QuicRangeGetSafe(&RecvBuffer->WrittenRanges, 0) != NULL); // Only fail if you call read before write indicates read ready. CXPLAT_DBG_ASSERT(!CxPlatListIsEmpty(&RecvBuffer->Chunks)); // Should always have at least one chunk // - // Only MULTIPLE mode allows concurrent reads + // Only multiple mode allows concurrent reads // CXPLAT_DBG_ASSERT( RecvBuffer->ReadPendingLength == 0 || RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_MULTIPLE); // - // Only MULTIPLE and EXTERNAL modes can have multiple chunks at read time. + // Only multiple and external modes can have multiple chunks at read time. // Other modes would coalesce chunks during a write or drain. // CXPLAT_DBG_ASSERT( @@ -1033,7 +1031,7 @@ QuicRecvBufferPartialDrain( if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL) { // - // In EXTERNAL mode, memory is never re-used: a drain consumes + // In external mode, memory is never re-used: a drain consumes // virtual buffer length. // RecvBuffer->VirtualBufferLength -= RecvBuffer->ReadLength; @@ -1070,7 +1068,7 @@ QuicRecvBufferFullDrain( } if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL) { // - // In EXTERNAL mode, memory is never re-used: a drain consumes + // In external mode, memory is never re-used: a drain consumes // virtual buffer length. // RecvBuffer->VirtualBufferLength -= RecvBuffer->ReadLength; @@ -1088,7 +1086,7 @@ QuicRecvBufferFullDrain( if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL) { // - // In EXTERNAL mode, external chunks are never re-used: + // In external mode, external chunks are never re-used: // free the last chunk. // CxPlatListEntryRemove(&Chunk->Link); diff --git a/src/core/recv_buffer.h b/src/core/recv_buffer.h index 3647f3e7f1..94b6114f6e 100644 --- a/src/core/recv_buffer.h +++ b/src/core/recv_buffer.h @@ -14,19 +14,20 @@ typedef enum QUIC_RECV_BUF_MODE { QUIC_RECV_BUF_MODE_CIRCULAR, // Only one receive that may indicate two contiguous buffers at a time. QUIC_RECV_BUF_MODE_MULTIPLE, // Multiple independent receives that may indicate up to two contiguous buffers at a time. QUIC_RECV_BUF_MODE_EXTERNAL // Uses memory buffer provided by the app. Only one receive at a time, - // that may indicate up to the number of provided buffers. + // that may indicate up to the number of provided buffers. } QUIC_RECV_BUF_MODE; // // Represents a single contiguous range of bytes. // typedef struct QUIC_RECV_CHUNK { - CXPLAT_LIST_ENTRY Link; // Link in the list of chunks. - uint32_t AllocLength : 31; // Allocation size of Buffer - uint32_t ExternalReference : 1; // Indicates the buffer is being used externally. - _Field_size_(AllocLength) uint8_t *Buffer; // Pointer to the buffer itself. Doesn't need to be freed independently: - // - for internally allocated buffers, points in the same allocation. - // - for exteral buffers, the buffer isn't owned + CXPLAT_LIST_ENTRY Link; // Link in the list of chunks. + uint32_t AllocLength : 31; // Allocation size of Buffer + uint32_t ExternalReference : 1; // Indicates the buffer is being used externally. + _Field_size_(AllocLength) + uint8_t *Buffer; // Pointer to the buffer itself. Doesn't need to be freed independently: + // - for internally allocated buffers, points in the same allocation. + // - for exteral buffers, the buffer isn't owned } QUIC_RECV_CHUNK; _IRQL_requires_max_(DISPATCH_LEVEL) diff --git a/src/core/unittest/RecvBufferTest.cpp b/src/core/unittest/RecvBufferTest.cpp index 9c0f6e8732..134a2e3836 100644 --- a/src/core/unittest/RecvBufferTest.cpp +++ b/src/core/unittest/RecvBufferTest.cpp @@ -47,8 +47,7 @@ struct RecvBuffer { } printf("Initializing: [mode=%u,vlen=%u,alen=%u]\n", RecvMode, VirtualBufferLength, AllocBufferLength); - auto Result = QUIC_STATUS_SUCCESS; - Result = QuicRecvBufferInitialize(&RecvBuf, AllocBufferLength, VirtualBufferLength, RecvMode, PreallocChunk); + auto Result = QuicRecvBufferInitialize(&RecvBuf, AllocBufferLength, VirtualBufferLength, RecvMode, PreallocChunk); if (Result != QUIC_STATUS_SUCCESS) { return Result; } @@ -72,9 +71,7 @@ struct RecvBuffer { CxPlatListInsertTail(&ChunkList, &Chunk2->Link); } Result = QuicRecvBufferProvideChunks(&RecvBuf, &ChunkList); - } - else - { + } else { Result = QuicRecvBufferInitialize(&RecvBuf, AllocBufferLength, VirtualBufferLength, RecvMode, PreallocChunk); } From 2534a164f141e7af522385d5fbd7b5a4471cb673 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Fri, 31 Jan 2025 17:05:59 -0800 Subject: [PATCH 10/37] Implement the API --- docs/api/StreamOpen.md | 1 + src/core/api.c | 150 +++++++++++++++++++++++++++++++++++++++++ src/core/connection.c | 19 ++++++ src/core/operation.c | 2 + src/core/operation.h | 5 ++ src/core/recv_buffer.c | 62 ++++++++++++++++- src/core/recv_buffer.h | 10 +++ src/core/stream.c | 43 ++++++++++-- src/core/stream.h | 29 ++++++++ src/core/stream_recv.c | 43 ++++++++++-- src/core/stream_set.c | 3 + src/inc/msquic.h | 18 +++++ src/inc/quic_trace.h | 1 + 13 files changed, 373 insertions(+), 13 deletions(-) diff --git a/docs/api/StreamOpen.md b/docs/api/StreamOpen.md index f843045935..c878559365 100644 --- a/docs/api/StreamOpen.md +++ b/docs/api/StreamOpen.md @@ -35,6 +35,7 @@ Value | Meaning **QUIC_STREAM_OPEN_FLAG_UNIDIRECTIONAL**
1 | Opens a unidirectional stream. **QUIC_STREAM_OPEN_FLAG_0_RTT**
2 | Indicates that the stream may be sent in 0-RTT. **QUIC_STREAM_OPEN_FLAG_DELAY_ID_FC_UPDATES**
4 | Indicates stream ID flow control limit updates for the connection should be delayed to StreamClose. +**QUIC_STREAM_OPEN_FLAG_EXTERNAL_BUFFERS**
5 | No buffer will be allocated for the stream, external buffers must be provided using StreamProvideReceiveBuffers. `Handler` diff --git a/src/core/api.c b/src/core/api.c index f18a7f106c..f9bfd0d1c7 100644 --- a/src/core/api.c +++ b/src/core/api.c @@ -658,6 +658,15 @@ MsQuicStreamOpen( goto Error; } + if (!!(Flags & QUIC_STREAM_OPEN_FLAG_EXTERNAL_BUFFERS) && + Connection->Settings.StreamMultiReceiveEnabled) { + // + // External buffers are not supported with multi-receive. + // + Status = QUIC_STATUS_INVALID_PARAMETER; + goto Error; + } + Status = QuicStreamInitialize(Connection, FALSE, Flags, (QUIC_STREAM**)NewStream); if (QUIC_FAILED(Status)) { goto Error; @@ -1351,6 +1360,147 @@ MsQuicStreamReceiveComplete( "[ api] Exit"); } +_IRQL_requires_max_(DISPATCH_LEVEL) +QUIC_STATUS +QUIC_API +MsQuicStreamProvideReceiveBuffers( + _In_ _Pre_defensive_ HQUIC Handle, + _In_ uint32_t BufferCount, + _In_reads_(BufferCount) const QUIC_BUFFER* Buffers + ) +{ + QUIC_STATUS Status; + QUIC_OPERATION* Oper; + CXPLAT_LIST_ENTRY ChunkList; + CxPlatListInitializeHead(&ChunkList); + + QuicTraceEvent( + ApiEnter, + "[ api] Enter %u (%p).", + QUIC_TRACE_API_STREAM_PROVIDE_RECEIVE_BUFFERS, + Handle); + + if (!IS_STREAM_HANDLE(Handle) || Buffers == NULL || BufferCount == 0) { + Status = QUIC_STATUS_INVALID_PARAMETER; + goto Error; + } + + for (uint32_t i = 0; i < BufferCount; ++i) { + if (Buffers[i].Length == 0) { + Status = QUIC_STATUS_INVALID_PARAMETER; + goto Error; + } + } + +#pragma prefast(suppress: __WARNING_25024, "Pointer cast already validated.") + QUIC_STREAM* Stream = (QUIC_STREAM*)Handle; + + CXPLAT_TEL_ASSERT(!Stream->Flags.HandleClosed); + CXPLAT_TEL_ASSERT(!Stream->Flags.Freed); + + QUIC_CONNECTION* Connection = Stream->Connection; + QUIC_CONN_VERIFY(Connection, !Connection->State.Freed); + + // + // Execute this API call inline if called on the worker thread. + // + BOOLEAN IsWorkerThread = Connection->WorkerThreadID == CxPlatCurThreadID(); + BOOLEAN IsAlreadyInline = Connection->State.InlineApiExecution; + + if (!Stream->Flags.UseExternalRecvBuffers) { + if (Stream->Flags.PeerStreamStartEventActive) { + CXPLAT_DBG_ASSERT(IsWorkerThread); + // + // We are inline from the callback indicating a peer opened a stream. + // No data was received yet so we can setup external buffers. + // + Connection->State.InlineApiExecution = TRUE; + QuicStreamSwitchToExternalBuffers(Stream); + Connection->State.InlineApiExecution = IsAlreadyInline; + } else { + // + // External buffers can't be provided after the stream has been + // started using internal buffers. + // + Status = QUIC_STATUS_INVALID_STATE; + goto Error; + } + } + + // + // Allocate a chunk for each buffer, linking them together. + // The allocation is done here to make the worker thread task failure free. + // + for (uint32_t i = 0; i < BufferCount; ++i) { + QUIC_RECV_CHUNK* Chunk = CXPLAT_ALLOC_NONPAGED(sizeof(QUIC_RECV_CHUNK), QUIC_POOL_RECVBUF); + if (Chunk == NULL) { + QuicTraceEvent( + AllocFailure, + "Allocation of '%s' failed. (%llu bytes)", + "provided_chunk", + 0); + Status = QUIC_STATUS_OUT_OF_MEMORY; + goto Error; + } + QuicRecvChunkInitialize(Chunk, Buffers[i].Length, Buffers[i].Buffer); + CxPlatListInsertTail(&ChunkList, &Chunk->Link); + } + + if (IsWorkerThread) { + // + // Execute this API call inline if called on the worker thread. + // + Connection->State.InlineApiExecution = TRUE; + Status = QuicStreamProvideRecvBuffers(Stream, &ChunkList); + Connection->State.InlineApiExecution = IsAlreadyInline; + } else { + // + // Queue the operation to insert the chunks in the recv buffer, without waiting for the result. + // + Oper = QuicOperationAlloc(Connection->Worker, QUIC_OPER_TYPE_API_CALL); + if (Oper == NULL) { + Status = QUIC_STATUS_OUT_OF_MEMORY; + QuicTraceEvent( + AllocFailure, + "Allocation of '%s' failed. (%llu bytes)", + "STRM_PROVIDE_RECV_BUFFERS, operation", + 0); + goto Error; + } + Oper->API_CALL.Context->Type = QUIC_API_TYPE_STRM_PROVIDE_RECV_BUFFERS; + Oper->API_CALL.Context->STRM_PROVIDE_RECV_BUFFERS.Stream = Stream; + CxPlatListMoveItems(&ChunkList, &Oper->API_CALL.Context->STRM_PROVIDE_RECV_BUFFERS.Chunks); + + // + // Async stream operations need to hold a ref on the stream so that the + // stream isn't freed before the operation can be processed. The ref is + // released after the operation is processed. + // + QuicStreamAddRef(Stream, QUIC_STREAM_REF_OPERATION); + + // + // Queue the operation but don't wait for the completion. + // + QuicConnQueueOper(Connection, Oper); + } + + Status = QUIC_STATUS_SUCCESS; + +Error: + // Cleanup allocated chunks if the operation failed. + while (!CxPlatListIsEmpty(&ChunkList)) { + QUIC_RECV_CHUNK* Chunk = CXPLAT_CONTAINING_RECORD(CxPlatListRemoveHead(&ChunkList), QUIC_RECV_CHUNK, Link); + CXPLAT_FREE(Chunk, QUIC_POOL_RECVBUF); + } + + QuicTraceEvent( + ApiExitStatus, + "[ api] Exit %u", + Status); + + return Status; +} + _IRQL_requires_max_(PASSIVE_LEVEL) QUIC_STATUS QUIC_API diff --git a/src/core/connection.c b/src/core/connection.c index 11eb95bb24..6d6e694f1f 100644 --- a/src/core/connection.c +++ b/src/core/connection.c @@ -7561,6 +7561,25 @@ QuicConnProcessApiOperation( ApiCtx->STRM_RECV_SET_ENABLED.IsEnabled); break; + case QUIC_API_TYPE_STRM_PROVIDE_RECV_BUFFERS: + Status = + QuicStreamProvideRecvBuffers( + ApiCtx->STRM_PROVIDE_RECV_BUFFERS.Stream, + &ApiCtx->STRM_PROVIDE_RECV_BUFFERS.Chunks); + + if (Status != QUIC_STATUS_SUCCESS) { + // + // If we cannot accept the app provided buffers at this point, we need to abort + // the connection: otherwise, we break the contract with the app about writting + // data to the provided buffers in order. + // + QuicConnFatalError( + ApiCtx->STRM_PROVIDE_RECV_BUFFERS.Stream->Connection, + Status, + "Failed to accept app provided receive buffers"); + } + break; + case QUIC_API_TYPE_SET_PARAM: Status = QuicLibrarySetParam( diff --git a/src/core/operation.c b/src/core/operation.c index 96f1bfcc86..574abdff06 100644 --- a/src/core/operation.c +++ b/src/core/operation.c @@ -119,6 +119,8 @@ QuicOperationFree( } } else if (ApiCtx->Type == QUIC_API_TYPE_STRM_RECV_SET_ENABLED) { QuicStreamRelease(ApiCtx->STRM_RECV_SET_ENABLED.Stream, QUIC_STREAM_REF_OPERATION); + } else if (ApiCtx->Type == QUIC_API_TYPE_STRM_PROVIDE_RECV_BUFFERS) { + QuicStreamRelease(ApiCtx->STRM_PROVIDE_RECV_BUFFERS.Stream, QUIC_STREAM_REF_OPERATION); } CxPlatPoolFree(&Worker->ApiContextPool, ApiCtx); } else if (Oper->Type == QUIC_OPER_TYPE_FLUSH_STREAM_RECV) { diff --git a/src/core/operation.h b/src/core/operation.h index 3146588a07..7abb760a10 100644 --- a/src/core/operation.h +++ b/src/core/operation.h @@ -56,6 +56,7 @@ typedef enum QUIC_API_TYPE { QUIC_API_TYPE_STRM_SEND, QUIC_API_TYPE_STRM_RECV_COMPLETE, QUIC_API_TYPE_STRM_RECV_SET_ENABLED, + QUIC_API_TYPE_STRM_PROVIDE_RECV_BUFFERS, QUIC_API_TYPE_SET_PARAM, QUIC_API_TYPE_GET_PARAM, @@ -154,6 +155,10 @@ typedef struct QUIC_API_CONTEXT { QUIC_STREAM* Stream; BOOLEAN IsEnabled; } STRM_RECV_SET_ENABLED; + struct { + QUIC_STREAM* Stream; + CXPLAT_LIST_ENTRY /* QUIC_RECV_CHUNK */ Chunks; + } STRM_PROVIDE_RECV_BUFFERS; struct { HQUIC Handle; diff --git a/src/core/recv_buffer.c b/src/core/recv_buffer.c index f806dc2102..b8900fccb3 100644 --- a/src/core/recv_buffer.c +++ b/src/core/recv_buffer.c @@ -717,8 +717,65 @@ QuicRecvBufferWrite( return QUIC_STATUS_SUCCESS; } -// TODO guhetier: This could return the number of buffers needed / extra buffer needed? -// For now, only fill up to the number of provided buffer and follow up +_IRQL_requires_max_(DISPATCH_LEVEL) +uint32_t +QuicRecvBufferReadBufferNeededCount( + _In_ const QUIC_RECV_BUFFER* RecvBuffer +) +{ + if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_SINGLE) { + // + // Single mode only ever need one buffer, that's what it's designed for. + // + return 1; + } else if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_CIRCULAR) { + // + // Circular mode need up to two buffers to deal with wrap around. + // + return 2; + } else if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_MULTIPLE) { + // + // Multiple mode need up to three buffers to deal with wrap around and a + // potential second chunk for overflow data. + // + return 3; + } else { // RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL + // + // External mode can need any number of buffer, we must count. + // + + // + // Determine how much data is readable + // + const QUIC_SUBRANGE* FirstRange = QuicRangeGet(&RecvBuffer->WrittenRanges, 0); + const uint64_t ReadableData = FirstRange->Count - RecvBuffer->BaseOffset; + + // + // Iterate through the chunks until they can contain all the readable data, + // to find the number of buffers needed. + // + CXPLAT_DBG_ASSERT(!CxPlatListIsEmpty(&RecvBuffer->Chunks)); + QUIC_RECV_CHUNK* Chunk = + CXPLAT_CONTAINING_RECORD( + RecvBuffer->Chunks.Flink, + QUIC_RECV_CHUNK, + Link); + uint32_t DataInChunks = RecvBuffer->Capacity; + uint32_t BufferCount = 1; + + while (ReadableData > DataInChunks) { + Chunk = + CXPLAT_CONTAINING_RECORD( + Chunk->Link.Flink, + QUIC_RECV_CHUNK, + Link); + DataInChunks += Chunk->AllocLength; + BufferCount++; + } + return BufferCount; + } +} + _IRQL_requires_max_(DISPATCH_LEVEL) void QuicRecvBufferRead( @@ -765,7 +822,6 @@ QuicRecvBufferRead( Link); CXPLAT_DBG_ASSERT(!Chunk->ExternalReference); CXPLAT_DBG_ASSERT(RecvBuffer->ReadStart == 0); - CXPLAT_DBG_ASSERT(*BufferCount >= 1); CXPLAT_DBG_ASSERT(ContiguousLength <= (uint64_t)Chunk->AllocLength); *BufferCount = 1; diff --git a/src/core/recv_buffer.h b/src/core/recv_buffer.h index 94b6114f6e..50c2f2a8a2 100644 --- a/src/core/recv_buffer.h +++ b/src/core/recv_buffer.h @@ -177,6 +177,16 @@ QuicRecvBufferWrite( _Out_ BOOLEAN* NewDataReady ); +// +// Returns how many QUIC_BUFFERs should be passed to `QuicRecvBufferRead` to +// read all the available data in the buffer. +// +_IRQL_requires_max_(DISPATCH_LEVEL) +uint32_t +QuicRecvBufferReadBufferNeededCount( + _In_ const QUIC_RECV_BUFFER *RecvBuffer + ); + // // Returns a pointer into the buffer for data ready to be delivered to the // client. diff --git a/src/core/stream.c b/src/core/stream.c index a96ca37d7a..652a78f711 100644 --- a/src/core/stream.c +++ b/src/core/stream.c @@ -28,7 +28,6 @@ QuicStreamInitialize( QUIC_STATUS Status; QUIC_STREAM* Stream; QUIC_RECV_CHUNK* PreallocatedRecvChunk = NULL; - uint32_t InitialRecvBufferLength; QUIC_WORKER* Worker = Connection->Worker; Stream = CxPlatPoolAlloc(&Worker->StreamPool); @@ -63,6 +62,7 @@ QuicStreamInitialize( Stream, "Configured for delayed ID FC updates"); } + Stream->Flags.UseExternalRecvBuffers = !!(Flags & QUIC_STREAM_OPEN_FLAG_EXTERNAL_BUFFERS); Stream->Flags.Allocated = TRUE; Stream->Flags.SendEnabled = TRUE; Stream->Flags.ReceiveEnabled = TRUE; @@ -112,13 +112,26 @@ QuicStreamInitialize( } } - InitialRecvBufferLength = Connection->Settings.StreamRecvBufferDefault; - if (InitialRecvBufferLength == QUIC_DEFAULT_STREAM_RECV_BUFFER_SIZE) { + const uint32_t InitialRecvBufferLength = Connection->Settings.StreamRecvBufferDefault; + + QUIC_RECV_BUF_MODE RecvBufferMode = QUIC_RECV_BUF_MODE_CIRCULAR; + if (Stream->Flags.ReceiveMultiple) { + RecvBufferMode = QUIC_RECV_BUF_MODE_MULTIPLE; + } else if (Stream->Flags.UseExternalRecvBuffers) { + RecvBufferMode = QUIC_RECV_BUF_MODE_EXTERNAL; + } + + if (InitialRecvBufferLength == QUIC_DEFAULT_STREAM_RECV_BUFFER_SIZE && + RecvBufferMode != QUIC_RECV_BUF_MODE_EXTERNAL) { PreallocatedRecvChunk = CxPlatPoolAlloc(&Worker->DefaultReceiveBufferPool); if (PreallocatedRecvChunk == NULL) { Status = QUIC_STATUS_OUT_OF_MEMORY; goto Exit; } + QuicRecvChunkInitialize( + PreallocatedRecvChunk, + InitialRecvBufferLength, + (uint8_t *)(PreallocatedRecvChunk + 1)); } const uint32_t FlowControlWindowSize = Stream->Flags.Unidirectional @@ -132,8 +145,7 @@ QuicStreamInitialize( &Stream->RecvBuffer, InitialRecvBufferLength, FlowControlWindowSize, - Stream->Flags.ReceiveMultiple ? - QUIC_RECV_BUF_MODE_MULTIPLE : QUIC_RECV_BUF_MODE_CIRCULAR, + RecvBufferMode, PreallocatedRecvChunk); if (QUIC_FAILED(Status)) { goto Exit; @@ -957,3 +969,24 @@ QuicStreamParamGet( return Status; } + +_IRQL_requires_max_(DISPATCH_LEVEL) +void +QuicStreamSwitchToExternalBuffers( + _In_ QUIC_STREAM* Stream +) +{ + QuicRecvBufferUninitialize(&Stream->RecvBuffer); + (void)QuicRecvBufferInitialize(&Stream->RecvBuffer, 0, 0, QUIC_RECV_BUF_MODE_EXTERNAL, NULL); + Stream->Flags.UseExternalRecvBuffers = TRUE; +} + +_IRQL_requires_max_(DISPATCH_LEVEL) +QUIC_STATUS +QuicStreamProvideRecvBuffers( + _In_ QUIC_STREAM* Stream, + _Inout_ CXPLAT_LIST_ENTRY* /* QUIC_RECV_CHUNK */ Chunks +) +{ + return QuicRecvBufferProvideChunks(&Stream->RecvBuffer, Chunks); +} \ No newline at end of file diff --git a/src/core/stream.h b/src/core/stream.h index c210e129fb..87021e194d 100644 --- a/src/core/stream.h +++ b/src/core/stream.h @@ -112,6 +112,7 @@ typedef union QUIC_STREAM_FLAGS { BOOLEAN Initialized : 1; // Initialized successfully. Used for Debugging. BOOLEAN Started : 1; // The app has started the stream. BOOLEAN StartedIndicated : 1; // The app received a start complete event. + BOOLEAN PeerStreamStartEventActive : 1; // The app is processing QUIC_CONNECTION_EVENT_PEER_STREAM_STARTED BOOLEAN Unidirectional : 1; // Sends/receives in 1 direction only. BOOLEAN Opened0Rtt : 1; // A 0-RTT packet opened the stream. BOOLEAN IndicatePeerAccepted : 1; // The app requested the PEER_ACCEPTED event. @@ -140,6 +141,7 @@ typedef union QUIC_STREAM_FLAGS { BOOLEAN SendEnabled : 1; // Application is allowed to send data. BOOLEAN ReceiveEnabled : 1; // Application is ready for receive callbacks. BOOLEAN ReceiveMultiple : 1; // The app supports multiple parallel receive indications. + BOOLEAN UseExternalRecvBuffers : 1; // The stream is using external, app provided receive buffers. BOOLEAN ReceiveFlushQueued : 1; // The receive flush operation is queued. BOOLEAN ReceiveDataPending : 1; // Data (or FIN) is queued and ready for delivery. BOOLEAN ReceiveCallActive : 1; // There is an active receive to the app. @@ -389,7 +391,14 @@ typedef struct QUIC_STREAM { // uint64_t MaxAllowedRecvOffset; + // + // The number of bytes received since the last recv window update. + // uint64_t RecvWindowBytesDelivered; + + // + // Timestamp of the last recv window update. + // uint64_t RecvWindowLastUpdate; // @@ -1005,3 +1014,23 @@ QuicStreamRecvSetEnabledState( _In_ QUIC_STREAM* Stream, _In_ BOOLEAN NewRecvEnabled ); + +// +// Convert a stream receive buffer to external mode. +// +_IRQL_requires_max_(DISPATCH_LEVEL) +void +QuicStreamSwitchToExternalBuffers( + _In_ QUIC_STREAM *Stream + ); + +// +// Provide new chunks for the stream receive buffer. +// Terminate the connection on failure. +// +_IRQL_requires_max_(DISPATCH_LEVEL) +QUIC_STATUS +QuicStreamProvideRecvBuffers( + _In_ QUIC_STREAM* Stream, + _Inout_ CXPLAT_LIST_ENTRY* /* QUIC_RECV_CHUNK */ Chunks + ); \ No newline at end of file diff --git a/src/core/stream_recv.c b/src/core/stream_recv.c index b1ff769d0a..5223156d34 100644 --- a/src/core/stream_recv.c +++ b/src/core/stream_recv.c @@ -870,29 +870,55 @@ QuicStreamRecvFlush( return; } + // + // Have 3 buffers one the stack, it's enough for most use cases. + // + QUIC_BUFFER StackRecvBuffers[3]; + QUIC_BUFFER *RecvBuffers = StackRecvBuffers; + uint32_t RecvBufferCount = ARRAYSIZE(StackRecvBuffers); + BOOLEAN FlushRecv = TRUE; while (FlushRecv) { CXPLAT_DBG_ASSERT(!Stream->Flags.SentStopSending); - // TODO guhetier: Need to allocate a variable nb of buffers - QUIC_BUFFER RecvBuffers[3]; QUIC_STREAM_EVENT Event = {0}; Event.Type = QUIC_STREAM_EVENT_RECEIVE; - Event.RECEIVE.BufferCount = ARRAYSIZE(RecvBuffers); - Event.RECEIVE.Buffers = RecvBuffers; + Event.RECEIVE.BufferCount = ARRAYSIZE(StackRecvBuffers); + Event.RECEIVE.Buffers = StackRecvBuffers; // // Try to read the next available buffers. // BOOLEAN DataAvailable = QuicRecvBufferHasUnreadData(&Stream->RecvBuffer); if (DataAvailable) { + uint32_t NumBuffersNeeded = QuicRecvBufferReadBufferNeededCount(&Stream->RecvBuffer); + if (NumBuffersNeeded > RecvBufferCount) { + // + // We need more buffer than what we have currently, allocate them. + // If the allocation fails, we read what we can with the buffers we have. + // + QUIC_BUFFER* NewRecvBuffers = + CXPLAT_ALLOC_NONPAGED(sizeof(QUIC_BUFFER) * NumBuffersNeeded, QUIC_POOL_RECVBUF); + + if (NewRecvBuffers != NULL) { + if (RecvBuffers != StackRecvBuffers) { + CXPLAT_FREE(RecvBuffers, QUIC_POOL_RECVBUF); + } + RecvBuffers = NewRecvBuffers; + RecvBufferCount = NumBuffersNeeded; + } + } + + Event.RECEIVE.Buffers = RecvBuffers; + Event.RECEIVE.BufferCount = RecvBufferCount; + QuicRecvBufferRead( &Stream->RecvBuffer, &Event.RECEIVE.AbsoluteOffset, &Event.RECEIVE.BufferCount, RecvBuffers); for (uint32_t i = 0; i < Event.RECEIVE.BufferCount; ++i) { - Event.RECEIVE.TotalBufferLength += RecvBuffers[i].Length; + Event.RECEIVE.TotalBufferLength += Event.RECEIVE.Buffers[i].Length; } CXPLAT_DBG_ASSERT(Event.RECEIVE.TotalBufferLength != 0); @@ -984,6 +1010,13 @@ QuicStreamRecvFlush( FlushRecv = QuicStreamReceiveComplete(Stream, BufferLength); } } + + // + // Cleanup receive buffers if needed + // + if (RecvBuffers != StackRecvBuffers) { + CXPLAT_FREE(RecvBuffers, QUIC_POOL_RECVBUF); + } } _IRQL_requires_max_(PASSIVE_LEVEL) diff --git a/src/core/stream_set.c b/src/core/stream_set.c index 5d37a8a15c..fe7d71009b 100644 --- a/src/core/stream_set.c +++ b/src/core/stream_set.c @@ -706,7 +706,10 @@ QuicStreamSetGetStreamForPeer( "Indicating QUIC_CONNECTION_EVENT_PEER_STREAM_STARTED [%p, 0x%x]", Event.PEER_STREAM_STARTED.Stream, Event.PEER_STREAM_STARTED.Flags); + + Stream->Flags.PeerStreamStartEventActive = TRUE; Status = QuicConnIndicateEvent(Connection, &Event); + Stream->Flags.PeerStreamStartEventActive = FALSE; if (QUIC_FAILED(Status)) { QuicTraceLogStreamWarning( diff --git a/src/inc/msquic.h b/src/inc/msquic.h index b3cb7398fe..277e445995 100644 --- a/src/inc/msquic.h +++ b/src/inc/msquic.h @@ -199,6 +199,8 @@ typedef enum QUIC_STREAM_OPEN_FLAGS { QUIC_STREAM_OPEN_FLAG_0_RTT = 0x0002, // The stream was opened via a 0-RTT packet. QUIC_STREAM_OPEN_FLAG_DELAY_ID_FC_UPDATES = 0x0004, // Indicates stream ID flow control limit updates for the // connection should be delayed to StreamClose. + QUIC_STREAM_OPEN_FLAG_EXTERNAL_BUFFERS = 0x0005, // No buffer will be allocated for the stream, external buffers + // must be provided (see StreamProvideReceiveBuffers) } QUIC_STREAM_OPEN_FLAGS; DEFINE_ENUM_FLAG_OPERATORS(QUIC_STREAM_OPEN_FLAGS) @@ -1564,6 +1566,20 @@ QUIC_STATUS _In_ BOOLEAN IsEnabled ); +// +// Provides receive buffers to the stream. +// The buffers are owned by the caller and must remain valid until a receive +// indication for all bytes in the buffer, or the stream is closed. +// +typedef +_IRQL_requires_max_(DISPATCH_LEVEL) +QUIC_STATUS +(QUIC_API * QUIC_STREAM_PROVIDE_RECEIVE_BUFFERS_FN)( + _In_ _Pre_defensive_ HQUIC Stream, + _In_ uint32_t BufferCount, + _In_reads_(BufferCount) const QUIC_BUFFER* Buffers + ); + // // Datagrams // @@ -1632,6 +1648,8 @@ typedef struct QUIC_API_TABLE { QUIC_CONNECTION_COMP_RESUMPTION_FN ConnectionResumptionTicketValidationComplete; // Available from v2.2 QUIC_CONNECTION_COMP_CERT_FN ConnectionCertificateValidationComplete; // Available from v2.2 + QUIC_STREAM_PROVIDE_RECEIVE_BUFFERS_FN + StreamProvideReceiveBuffers; // Available from v2.2 } QUIC_API_TABLE; #define QUIC_API_VERSION_1 1 // Not supported any more diff --git a/src/inc/quic_trace.h b/src/inc/quic_trace.h index 367088438d..e868d06741 100644 --- a/src/inc/quic_trace.h +++ b/src/inc/quic_trace.h @@ -103,6 +103,7 @@ typedef enum QUIC_TRACE_API_TYPE { QUIC_TRACE_API_DATAGRAM_SEND, QUIC_TRACE_API_CONNECTION_COMPLETE_RESUMPTION_TICKET_VALIDATION, QUIC_TRACE_API_CONNECTION_COMPLETE_CERTIFICATE_VALIDATION, + QUIC_TRACE_API_STREAM_PROVIDE_RECEIVE_BUFFERS, QUIC_TRACE_API_COUNT // Must be last } QUIC_TRACE_API_TYPE; From 19ebe07112b9f577fc9b59554989f2229cb86e71 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Fri, 31 Jan 2025 17:44:00 -0800 Subject: [PATCH 11/37] Fix build error on non windows plateforms --- src/core/recv_buffer.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/core/recv_buffer.c b/src/core/recv_buffer.c index b8900fccb3..a41a65b939 100644 --- a/src/core/recv_buffer.c +++ b/src/core/recv_buffer.c @@ -214,7 +214,7 @@ QuicRecvBufferProvideChunks( NewBufferLength += Chunk->AllocLength; } - if (NewBufferLength > MAXUINT32) { + if (NewBufferLength > UINT32_MAX) { // // We can't handle that much buffer space. // @@ -982,7 +982,11 @@ QuicRecvBufferRead( Link); Chunk->ExternalReference = TRUE; - uint32_t ChunkReadLength = (uint32_t)min(Chunk->AllocLength, remainingDataToRead); + uint32_t ChunkReadLength = + (uint32_t)(Chunk->AllocLength < remainingDataToRead ? + Chunk->AllocLength : + remainingDataToRead); + Buffers[*BufferCount].Buffer = Chunk->Buffer; Buffers[*BufferCount].Length = ChunkReadLength; remainingDataToRead -= ChunkReadLength; From 73fbbf75b9b6071ccad63669ead694d95b90bc2d Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Mon, 3 Feb 2025 10:48:08 -0800 Subject: [PATCH 12/37] Fix test build warning --- src/core/unittest/RecvBufferTest.cpp | 38 +++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/src/core/unittest/RecvBufferTest.cpp b/src/core/unittest/RecvBufferTest.cpp index 134a2e3836..39a53827d5 100644 --- a/src/core/unittest/RecvBufferTest.cpp +++ b/src/core/unittest/RecvBufferTest.cpp @@ -84,6 +84,9 @@ struct RecvBuffer { bool HasUnreadData() { return QuicRecvBufferHasUnreadData(&RecvBuf) != FALSE; } + uint32_t ReadBufferNeededCount() { + return QuicRecvBufferReadBufferNeededCount(&RecvBuf) != FALSE; + } QUIC_STATUS ProvideChunks(_Inout_ CXPLAT_LIST_ENTRY* Chunks) { auto Result = QuicRecvBufferProvideChunks(&RecvBuf, Chunks); Dump(); @@ -1631,7 +1634,7 @@ QUIC_STATUS MakeExternalChunks( totalSize += size; } if (totalSize > BufferSize) { - QUIC_STATUS_INVALID_PARAMETER; + return QUIC_STATUS_INVALID_PARAMETER; } CxPlatListInitializeHead(ChunkList); @@ -1744,6 +1747,39 @@ TEST(ExternalBuffersTest, ReadWriteManyChunks) RecvBuf.Check(6, 0, 2, ExternalReferences.data()); } +TEST(ExternalBuffersTest, NumberOfBufferNeededForRead) +{ + RecvBuffer RecvBuf; + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_EXTERNAL, false, 0, 0)); + + const uint32_t NbChunks = 5; + std::array Buffer{}; + std::vector ChunkSizes(NbChunks, 8u); + CXPLAT_LIST_ENTRY ChunkList; + ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); + + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); + + uint64_t InOutWriteLength = DEF_TEST_BUFFER_LENGTH; + BOOLEAN NewDataReady = FALSE; + + ASSERT_EQ(RecvBuf.ReadBufferNeededCount(), 0); + + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Write(0, 5, &InOutWriteLength, &NewDataReady)); + ASSERT_EQ(RecvBuf.ReadBufferNeededCount(), 1); + + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Write(5, 11, &InOutWriteLength, &NewDataReady)); + ASSERT_EQ(RecvBuf.ReadBufferNeededCount(), 2); + + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Write(16, 20, &InOutWriteLength, &NewDataReady)); + ASSERT_EQ(RecvBuf.ReadBufferNeededCount(), 4); + + RecvBuf.Drain(5); + ASSERT_EQ(RecvBuf.ReadBufferNeededCount(), 4); + RecvBuf.Drain(20); + ASSERT_EQ(RecvBuf.ReadBufferNeededCount(), 1); +} + TEST(ExternalBuffersTest, WriteTooLong) { RecvBuffer RecvBuf; From b6406d7ead56895ce10e09b2b97f68f1e867d40e Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Mon, 3 Feb 2025 10:48:20 -0800 Subject: [PATCH 13/37] Remove todos --- src/core/recv_buffer.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/core/recv_buffer.c b/src/core/recv_buffer.c index a41a65b939..396b66b16e 100644 --- a/src/core/recv_buffer.c +++ b/src/core/recv_buffer.c @@ -478,8 +478,6 @@ QuicRecvBufferCopyIntoChunks( } if (Chunk->Link.Flink == &RecvBuffer->Chunks) { - // TODO guhetier: Isn't this always true by definition, since Chunk is the last chunk? - // Was this meant to update the ReadLength only if it is the first chunk instead? RecvBuffer->ReadLength = (uint32_t)(QuicRangeGet(&RecvBuffer->WrittenRanges, 0)->Count - RecvBuffer->BaseOffset); } @@ -545,7 +543,6 @@ QuicRecvBufferCopyIntoChunks( BOOLEAN IsFirstLoop = TRUE; do { - // TODO guhetier: No reason to have that in the loop, can be done once outside of it uint32_t ChunkWriteOffset = (ChunkOffset + RelativeOffset) % Chunk->AllocLength; if (!IsFirstChunk) { // This RelativeOffset is already shrunk to represent the offset from beginning of the current chunk. From dad20033591c654e8ab0e22703a08e95b107a79a Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Tue, 4 Feb 2025 15:54:07 -0800 Subject: [PATCH 14/37] Fixes and api completion --- src/core/api.c | 1 + src/core/api.h | 9 +++++++++ src/core/library.c | 1 + src/core/recv_buffer.c | 3 ++- src/core/stream_recv.c | 6 +++--- 5 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/core/api.c b/src/core/api.c index f9bfd0d1c7..cbcfc230ea 100644 --- a/src/core/api.c +++ b/src/core/api.c @@ -1469,6 +1469,7 @@ MsQuicStreamProvideReceiveBuffers( } Oper->API_CALL.Context->Type = QUIC_API_TYPE_STRM_PROVIDE_RECV_BUFFERS; Oper->API_CALL.Context->STRM_PROVIDE_RECV_BUFFERS.Stream = Stream; + CxPlatListInitializeHead(&Oper->API_CALL.Context->STRM_PROVIDE_RECV_BUFFERS.Chunks); CxPlatListMoveItems(&ChunkList, &Oper->API_CALL.Context->STRM_PROVIDE_RECV_BUFFERS.Chunks); // diff --git a/src/core/api.h b/src/core/api.h index 87c6631a04..0ee664a9f0 100644 --- a/src/core/api.h +++ b/src/core/api.h @@ -216,6 +216,15 @@ MsQuicStreamReceiveComplete( _In_ uint64_t BufferLength ); +_IRQL_requires_max_(DISPATCH_LEVEL) +QUIC_STATUS +QUIC_API +MsQuicStreamProvideReceiveBuffers( + _In_ _Pre_defensive_ HQUIC Handle, + _In_ uint32_t BufferCount, + _In_reads_(BufferCount) const QUIC_BUFFER *Buffers + ); + _IRQL_requires_max_(DISPATCH_LEVEL) QUIC_STATUS QUIC_API diff --git a/src/core/library.c b/src/core/library.c index a83973b8cc..09802a1168 100644 --- a/src/core/library.c +++ b/src/core/library.c @@ -1798,6 +1798,7 @@ MsQuicOpenVersion( Api->StreamSend = MsQuicStreamSend; Api->StreamReceiveComplete = MsQuicStreamReceiveComplete; Api->StreamReceiveSetEnabled = MsQuicStreamReceiveSetEnabled; + Api->StreamProvideReceiveBuffers = MsQuicStreamProvideReceiveBuffers; Api->DatagramSend = MsQuicDatagramSend; diff --git a/src/core/recv_buffer.c b/src/core/recv_buffer.c index 396b66b16e..e21fec8b78 100644 --- a/src/core/recv_buffer.c +++ b/src/core/recv_buffer.c @@ -1091,7 +1091,8 @@ QuicRecvBufferPartialDrain( // In external mode, memory is never re-used: a drain consumes // virtual buffer length. // - RecvBuffer->VirtualBufferLength -= RecvBuffer->ReadLength; + CXPLAT_DBG_ASSERT(RecvBuffer->VirtualBufferLength >= (uint32_t)DrainLength); + RecvBuffer->VirtualBufferLength -= (uint32_t)DrainLength; } } diff --git a/src/core/stream_recv.c b/src/core/stream_recv.c index 5223156d34..7b9dcf3a4c 100644 --- a/src/core/stream_recv.c +++ b/src/core/stream_recv.c @@ -767,8 +767,8 @@ QuicStreamOnBytesDelivered( // // Limit stream FC window growth by the connection FC window size. // - if (Stream->RecvBuffer.VirtualBufferLength < - Stream->Connection->Settings.ConnFlowControlWindow) { + if (Stream->RecvBuffer.VirtualBufferLength != 0 && + Stream->RecvBuffer.VirtualBufferLength < Stream->Connection->Settings.ConnFlowControlWindow) { uint64_t TimeThreshold = ((Stream->RecvWindowBytesDelivered * Stream->Connection->Paths[0].SmoothedRtt) / RecvBufferDrainThreshold); @@ -831,7 +831,7 @@ QuicStreamOnBytesDelivered( "Updating flow control window"); CXPLAT_DBG_ASSERT( - Stream->RecvBuffer.BaseOffset + Stream->RecvBuffer.VirtualBufferLength > + Stream->RecvBuffer.BaseOffset + Stream->RecvBuffer.VirtualBufferLength >= Stream->MaxAllowedRecvOffset); Stream->MaxAllowedRecvOffset = From 46c73d5c7f2f20c97cb2aed7375ac749e71ac7b8 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Wed, 5 Feb 2025 10:45:49 -0800 Subject: [PATCH 15/37] Small fixes --- src/core/stream.c | 11 ++++++++++- src/inc/msquic.h | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/core/stream.c b/src/core/stream.c index 652a78f711..b9265692c0 100644 --- a/src/core/stream.c +++ b/src/core/stream.c @@ -988,5 +988,14 @@ QuicStreamProvideRecvBuffers( _Inout_ CXPLAT_LIST_ENTRY* /* QUIC_RECV_CHUNK */ Chunks ) { - return QuicRecvBufferProvideChunks(&Stream->RecvBuffer, Chunks); + QUIC_STATUS Status = QuicRecvBufferProvideChunks(&Stream->RecvBuffer, Chunks); + if (Status == QUIC_STATUS_SUCCESS) { + // Update the maximum allowed received size to take into account the new + // capacity. + // TODO guhetier: If done outside of a receive / before the stream start, + // and the recv window was zero before, may need to send a MAX_STREAM_DATA update to the peer. + Stream->MaxAllowedRecvOffset = + Stream->RecvBuffer.BaseOffset + Stream->RecvBuffer.VirtualBufferLength; + } + return Status; } \ No newline at end of file diff --git a/src/inc/msquic.h b/src/inc/msquic.h index 277e445995..4500206699 100644 --- a/src/inc/msquic.h +++ b/src/inc/msquic.h @@ -199,7 +199,7 @@ typedef enum QUIC_STREAM_OPEN_FLAGS { QUIC_STREAM_OPEN_FLAG_0_RTT = 0x0002, // The stream was opened via a 0-RTT packet. QUIC_STREAM_OPEN_FLAG_DELAY_ID_FC_UPDATES = 0x0004, // Indicates stream ID flow control limit updates for the // connection should be delayed to StreamClose. - QUIC_STREAM_OPEN_FLAG_EXTERNAL_BUFFERS = 0x0005, // No buffer will be allocated for the stream, external buffers + QUIC_STREAM_OPEN_FLAG_EXTERNAL_BUFFERS = 0x0008, // No buffer will be allocated for the stream, external buffers // must be provided (see StreamProvideReceiveBuffers) } QUIC_STREAM_OPEN_FLAGS; From 7054263c5e0638c526ecb38c09be80e347271fad Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Wed, 5 Feb 2025 10:46:30 -0800 Subject: [PATCH 16/37] Add integration test --- src/test/MsQuicTests.h | 3 + src/test/bin/quic_gtest.cpp | 11 ++ src/test/lib/DataTest.cpp | 195 ++++++++++++++++++++++++++++++++++++ 3 files changed, 209 insertions(+) diff --git a/src/test/MsQuicTests.h b/src/test/MsQuicTests.h index 1286a8b4e6..2cb6a42068 100644 --- a/src/test/MsQuicTests.h +++ b/src/test/MsQuicTests.h @@ -603,6 +603,9 @@ QuicTestEcn( _In_ int Family ); +void QuicTestStreamAppProvidedBuffers( + ); + // // QuicDrill tests // diff --git a/src/test/bin/quic_gtest.cpp b/src/test/bin/quic_gtest.cpp index 409c11e6b0..873ba07366 100644 --- a/src/test/bin/quic_gtest.cpp +++ b/src/test/bin/quic_gtest.cpp @@ -2254,6 +2254,17 @@ TEST(Misc, StreamMultiReceive) { QuicTestStreamMultiReceive(); } } + +TEST(Misc, StreamAppProvidedBuffers) { + TestLogger Logger("StreamAppProvidedBuffers"); + if (TestingKernelMode) { + // GTEST_SKIP(); + // TODO guhetier: Implement + // ASSERT_TRUE(DriverClient.Run(IOCTL_QUIC_RUN_STREAM_APP_PROVIDED_BUFFERS)); + } else { + QuicTestStreamAppProvidedBuffers(); + } +} #endif // QUIC_API_ENABLE_PREVIEW_FEATURES TEST(Misc, StreamBlockUnblockUnidiConnFlowControl) { diff --git a/src/test/lib/DataTest.cpp b/src/test/lib/DataTest.cpp index 87f05ff115..ba12f4c658 100644 --- a/src/test/lib/DataTest.cpp +++ b/src/test/lib/DataTest.cpp @@ -4509,4 +4509,199 @@ QuicTestStreamMultiReceive( delete[] Context.RecvBuffer; } } + +// +// App provided buffers tests. +// + +// Helper context to get a stream to send data from on the server side +struct AppBuffersSenderContext { + MsQuicStream* SenderStream{}; + CxPlatEvent SenderStreamCreated{}; + + static QUIC_STATUS ConnCallback(_In_ MsQuicConnection*, _In_opt_ void* Context, _Inout_ QUIC_CONNECTION_EVENT* Event) { + auto* SenderContext = (AppBuffersSenderContext *)Context; + if (Event->Type == QUIC_CONNECTION_EVENT_PEER_STREAM_STARTED) { + SenderContext->SenderStream = new(std::nothrow) MsQuicStream(Event->PEER_STREAM_STARTED.Stream, CleanUpAutoDelete); + SenderContext->SenderStreamCreated.Set(); + } + return QUIC_STATUS_SUCCESS; + } + + MsQuicStream* WaitForSenderStream() { + SenderStreamCreated.WaitTimeout(TestWaitTimeout); + return SenderStream; + } +}; + +// Helper context to receive data on a stream +struct AppBuffersReceiverContext { + + QUIC_BUFFER *BuffersForStreamStarted{}; + uint32_t NumBuffersForStreamStarted{}; + + uint64_t ReceivedBytes{}; + CxPlatEvent StreamClosed{}; + + // Accept a stream on the listener side (no need to keep the handle to it) + static QUIC_STATUS ConnCallback(_In_ MsQuicConnection*, _In_opt_ void* Context, _Inout_ QUIC_CONNECTION_EVENT* Event) { + auto ReceiverContext = (AppBuffersReceiverContext*)Context; + + if (Event->Type == QUIC_CONNECTION_EVENT_PEER_STREAM_STARTED) { + new(std::nothrow) MsQuicStream(Event->PEER_STREAM_STARTED.Stream, CleanUpAutoDelete, AppBuffersReceiverContext::StreamCallback, Context); + MsQuic->StreamProvideReceiveBuffers( + Event->PEER_STREAM_STARTED.Stream, + ReceiverContext->NumBuffersForStreamStarted, + ReceiverContext->BuffersForStreamStarted); + } + return QUIC_STATUS_SUCCESS; + } + + static QUIC_STATUS StreamCallback(_In_ MsQuicStream* /* Stream */, _In_opt_ void* Context, _Inout_ QUIC_STREAM_EVENT* Event) { + auto ReceiverContext = (AppBuffersReceiverContext*)Context; + if (Event->Type == QUIC_STREAM_EVENT_RECEIVE) { + ReceiverContext->ReceivedBytes += Event->RECEIVE.TotalBufferLength; + } else if (Event->Type == QUIC_STREAM_EVENT_SHUTDOWN_COMPLETE) { + ReceiverContext->StreamClosed.Set(); + } + return QUIC_STATUS_SUCCESS; + } +}; + +void +QuicTestStreamAppProvidedBuffers( + ) +{ + MsQuicRegistration Registration(true); + TEST_QUIC_SUCCEEDED(Registration.GetInitStatus()); + + MsQuicConfiguration ServerConfiguration(Registration, "MsQuicTest", + MsQuicSettings().SetPeerUnidiStreamCount(1).SetPeerBidiStreamCount(1).SetConnFlowControlWindow(0x2000), + ServerSelfSignedCredConfig); + TEST_QUIC_SUCCEEDED(ServerConfiguration.GetInitStatus()); + + MsQuicConfiguration ClientConfiguration(Registration, "MsQuicTest", + MsQuicSettings().SetPeerUnidiStreamCount(1).SetPeerBidiStreamCount(1).SetConnFlowControlWindow(0x2000), + MsQuicCredentialConfig()); + TEST_QUIC_SUCCEEDED(ClientConfiguration.GetInitStatus()); + + // Client side sending data + { + // Create send and receive buffers + const uint32_t BufferSize = 0x5000; + uint8_t SendDataBuffer[BufferSize] = {}; + for (int i = 0; i < BufferSize; ++i) { + SendDataBuffer[i] = static_cast(i); + } + uint8_t ReceiveDataBuffer[BufferSize] = {}; + QUIC_BUFFER QuicBuffers[5]{}; + for (auto i = 0u; i < 5; ++i) { + QuicBuffers[i].Buffer = ReceiveDataBuffer + i * BufferSize / 5; + QuicBuffers[i].Length = BufferSize / 5; + } + + AppBuffersReceiverContext ReceiveContext; + ReceiveContext.BuffersForStreamStarted = QuicBuffers; + ReceiveContext.NumBuffersForStreamStarted = ARRAYSIZE(QuicBuffers); + + // Setup a listener + MsQuicAutoAcceptListener Listener(Registration, ServerConfiguration, AppBuffersReceiverContext::ConnCallback, &ReceiveContext); + TEST_QUIC_SUCCEEDED(Listener.GetInitStatus()); + TEST_QUIC_SUCCEEDED(Listener.Start("MsQuicTest")); + QuicAddr ServerLocalAddr; + TEST_QUIC_SUCCEEDED(Listener.GetLocalAddr(ServerLocalAddr)); + + // Setup and start a client connection + MsQuicConnection Connection(Registration); + TEST_QUIC_SUCCEEDED(Connection.GetInitStatus()); + + TEST_QUIC_SUCCEEDED(Connection.Start( + ClientConfiguration, + ServerLocalAddr.GetFamily(), + QUIC_TEST_LOOPBACK_FOR_AF(ServerLocalAddr.GetFamily()), + ServerLocalAddr.GetPort())); + TEST_TRUE(Connection.HandshakeCompleteEvent.WaitTimeout(TestWaitTimeout)); + TEST_TRUE(Connection.HandshakeComplete); + + MsQuicStream ClientStream(Connection, QUIC_STREAM_OPEN_FLAG_UNIDIRECTIONAL); + TEST_QUIC_SUCCEEDED(ClientStream.GetInitStatus()); + TEST_QUIC_SUCCEEDED(ClientStream.Start(QUIC_STREAM_START_FLAG_IMMEDIATE)); + + // Send data + QUIC_BUFFER Buffer{BufferSize, SendDataBuffer}; + TEST_QUIC_SUCCEEDED(ClientStream.Send(&Buffer, 1)); + + ReceiveContext.StreamClosed.WaitTimeout(TestWaitTimeout); + TEST_EQUAL(ReceiveContext.ReceivedBytes, BufferSize); + TEST_EQUAL(0, memcmp(SendDataBuffer, ReceiveDataBuffer, BufferSize)); + } + + // Server side sending data + { + // Setup a listener + AppBuffersSenderContext SenderContext{}; + MsQuicAutoAcceptListener Listener(Registration, ServerConfiguration, AppBuffersSenderContext::ConnCallback, &SenderContext); + TEST_QUIC_SUCCEEDED(Listener.GetInitStatus()); + TEST_QUIC_SUCCEEDED(Listener.Start("MsQuicTest")); + QuicAddr ServerLocalAddr; + TEST_QUIC_SUCCEEDED(Listener.GetLocalAddr(ServerLocalAddr)); + + // Setup a client connection + MsQuicConnection Connection(Registration); + TEST_QUIC_SUCCEEDED(Connection.GetInitStatus()); + + TEST_QUIC_SUCCEEDED(Connection.Start( + ClientConfiguration, + ServerLocalAddr.GetFamily(), + QUIC_TEST_LOOPBACK_FOR_AF(ServerLocalAddr.GetFamily()), + ServerLocalAddr.GetPort())); + TEST_TRUE(Connection.HandshakeCompleteEvent.WaitTimeout(TestWaitTimeout)); + TEST_TRUE(Connection.HandshakeComplete); + + + // Create send and receive buffers + const uint32_t BufferSize = 0x5000; + uint8_t SendDataBuffer[BufferSize] = {}; + for (int i = 0; i < BufferSize; ++i) { + SendDataBuffer[i] = static_cast(i); + } + + uint8_t ReceiveDataBuffer[BufferSize] = {}; + QUIC_BUFFER QuicBuffers[5]{}; + for (auto i = 0u; i < 5; ++i) { + QuicBuffers[i].Buffer = ReceiveDataBuffer + i * BufferSize / 5; + QuicBuffers[i].Length = BufferSize / 5; + } + + // Create and start a stream + AppBuffersReceiverContext ReceiveContext; + + MsQuicStream ClientStream( + Connection, + QUIC_STREAM_OPEN_FLAG_EXTERNAL_BUFFERS, + CleanUpManual, + AppBuffersReceiverContext::StreamCallback, + &ReceiveContext); + + TEST_QUIC_SUCCEEDED(ClientStream.GetInitStatus()); + + // Provide receive buffers before starting the stream + MsQuic->StreamProvideReceiveBuffers( + ClientStream, + ARRAYSIZE(QuicBuffers), + QuicBuffers); + + TEST_QUIC_SUCCEEDED(ClientStream.Start(QUIC_STREAM_START_FLAG_IMMEDIATE)); + + auto* SenderStream = SenderContext.WaitForSenderStream(); + + // Send data + QUIC_BUFFER Buffer{BufferSize, SendDataBuffer}; + TEST_QUIC_SUCCEEDED(SenderStream->Send(&Buffer, 1)); + + ReceiveContext.StreamClosed.WaitTimeout(TestWaitTimeout); + TEST_EQUAL(ReceiveContext.ReceivedBytes, BufferSize); + TEST_EQUAL(0, memcmp(SendDataBuffer, ReceiveDataBuffer, BufferSize)); + } +} #endif // QUIC_API_ENABLE_PREVIEW_FEATURES From a5d6413bcf9114c7608ffb12c8b203abc63c7aad Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Wed, 5 Feb 2025 13:58:46 -0800 Subject: [PATCH 17/37] Fix cross platform compilation error --- src/test/lib/DataTest.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/lib/DataTest.cpp b/src/test/lib/DataTest.cpp index ba12f4c658..fc25db9450 100644 --- a/src/test/lib/DataTest.cpp +++ b/src/test/lib/DataTest.cpp @@ -4590,7 +4590,7 @@ QuicTestStreamAppProvidedBuffers( // Create send and receive buffers const uint32_t BufferSize = 0x5000; uint8_t SendDataBuffer[BufferSize] = {}; - for (int i = 0; i < BufferSize; ++i) { + for (auto i = 0u; i < BufferSize; ++i) { SendDataBuffer[i] = static_cast(i); } uint8_t ReceiveDataBuffer[BufferSize] = {}; @@ -4662,7 +4662,7 @@ QuicTestStreamAppProvidedBuffers( // Create send and receive buffers const uint32_t BufferSize = 0x5000; uint8_t SendDataBuffer[BufferSize] = {}; - for (int i = 0; i < BufferSize; ++i) { + for (auto i = 0u; i < BufferSize; ++i) { SendDataBuffer[i] = static_cast(i); } From 5a3ea0174cca1f1b5884f70ea85b8f1c4e00fb14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guillaume=20H=C3=A9tier?= Date: Wed, 5 Feb 2025 14:28:31 -0800 Subject: [PATCH 18/37] Style and comments fixes Co-authored-by: Nick Banks --- src/inc/msquic.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/inc/msquic.h b/src/inc/msquic.h index 4500206699..5c547cb7d5 100644 --- a/src/inc/msquic.h +++ b/src/inc/msquic.h @@ -1649,7 +1649,7 @@ typedef struct QUIC_API_TABLE { QUIC_CONNECTION_COMP_CERT_FN ConnectionCertificateValidationComplete; // Available from v2.2 QUIC_STREAM_PROVIDE_RECEIVE_BUFFERS_FN - StreamProvideReceiveBuffers; // Available from v2.2 + StreamProvideReceiveBuffers; // Available from v2.5 } QUIC_API_TABLE; #define QUIC_API_VERSION_1 1 // Not supported any more From 44399756c0482212459e4a85fae5047d3b5a7866 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guillaume=20H=C3=A9tier?= Date: Wed, 5 Feb 2025 14:32:41 -0800 Subject: [PATCH 19/37] Fix missing newline at end of file From a5c88fcae68d17008868ac1c6b43c2df98e01676 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guillaume=20H=C3=A9tier?= Date: Wed, 5 Feb 2025 14:34:13 -0800 Subject: [PATCH 20/37] Style and comment fixes Co-authored-by: Nick Banks --- src/core/api.c | 10 ++++++++-- src/inc/msquic.h | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/core/api.c b/src/core/api.c index cbcfc230ea..b943582f98 100644 --- a/src/core/api.c +++ b/src/core/api.c @@ -1488,10 +1488,16 @@ MsQuicStreamProvideReceiveBuffers( Status = QUIC_STATUS_SUCCESS; Error: + // // Cleanup allocated chunks if the operation failed. + // while (!CxPlatListIsEmpty(&ChunkList)) { - QUIC_RECV_CHUNK* Chunk = CXPLAT_CONTAINING_RECORD(CxPlatListRemoveHead(&ChunkList), QUIC_RECV_CHUNK, Link); - CXPLAT_FREE(Chunk, QUIC_POOL_RECVBUF); + CXPLAT_FREE( + CXPLAT_CONTAINING_RECORD( + CxPlatListRemoveHead(&ChunkList), + QUIC_RECV_CHUNK, + Link), + QUIC_POOL_RECVBUF); } QuicTraceEvent( diff --git a/src/inc/msquic.h b/src/inc/msquic.h index 5c547cb7d5..965240da32 100644 --- a/src/inc/msquic.h +++ b/src/inc/msquic.h @@ -199,7 +199,7 @@ typedef enum QUIC_STREAM_OPEN_FLAGS { QUIC_STREAM_OPEN_FLAG_0_RTT = 0x0002, // The stream was opened via a 0-RTT packet. QUIC_STREAM_OPEN_FLAG_DELAY_ID_FC_UPDATES = 0x0004, // Indicates stream ID flow control limit updates for the // connection should be delayed to StreamClose. - QUIC_STREAM_OPEN_FLAG_EXTERNAL_BUFFERS = 0x0008, // No buffer will be allocated for the stream, external buffers + QUIC_STREAM_OPEN_FLAG_EXTERNAL_BUFFERS = 0x0008, // No buffer will be allocated for the stream, external buffers // must be provided (see StreamProvideReceiveBuffers) } QUIC_STREAM_OPEN_FLAGS; From 8d7a30fd87372b8ea04ee50a3e96b26c134f6819 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Wed, 5 Feb 2025 15:35:34 -0800 Subject: [PATCH 21/37] Etw manifest and operation cleanup --- src/core/operation.c | 8 ++++++++ src/core/stream.h | 2 +- src/manifest/MsQuicEtw.man | 8 ++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/core/operation.c b/src/core/operation.c index 574abdff06..b0be269d7a 100644 --- a/src/core/operation.c +++ b/src/core/operation.c @@ -120,6 +120,14 @@ QuicOperationFree( } else if (ApiCtx->Type == QUIC_API_TYPE_STRM_RECV_SET_ENABLED) { QuicStreamRelease(ApiCtx->STRM_RECV_SET_ENABLED.Stream, QUIC_STREAM_REF_OPERATION); } else if (ApiCtx->Type == QUIC_API_TYPE_STRM_PROVIDE_RECV_BUFFERS) { + while (!CxPlatListIsEmpty(&ApiCtx->STRM_PROVIDE_RECV_BUFFERS.Chunks)) { + CXPLAT_FREE( + CXPLAT_CONTAINING_RECORD( + CxPlatListRemoveHead(&ApiCtx->STRM_PROVIDE_RECV_BUFFERS.Chunks), + QUIC_RECV_CHUNK, + Link), + QUIC_POOL_RECVBUF); + } QuicStreamRelease(ApiCtx->STRM_PROVIDE_RECV_BUFFERS.Stream, QUIC_STREAM_REF_OPERATION); } CxPlatPoolFree(&Worker->ApiContextPool, ApiCtx); diff --git a/src/core/stream.h b/src/core/stream.h index 87021e194d..3c4bdb62a7 100644 --- a/src/core/stream.h +++ b/src/core/stream.h @@ -1033,4 +1033,4 @@ QUIC_STATUS QuicStreamProvideRecvBuffers( _In_ QUIC_STREAM* Stream, _Inout_ CXPLAT_LIST_ENTRY* /* QUIC_RECV_CHUNK */ Chunks - ); \ No newline at end of file + ); diff --git a/src/manifest/MsQuicEtw.man b/src/manifest/MsQuicEtw.man index 8c8dc8e2d0..aca0941bd0 100644 --- a/src/manifest/MsQuicEtw.man +++ b/src/manifest/MsQuicEtw.man @@ -500,6 +500,10 @@ message="$(string.Enum.QUIC_TRACE_API_TYPE.COMPLETE_CERTIFICATE_VALIDATION)" value="27" /> + + Date: Wed, 5 Feb 2025 17:38:00 -0800 Subject: [PATCH 22/37] Code generation --- src/cs/lib/msquic_generated.cs | 4 ++++ src/ffi/linux_bindings.rs | 13 ++++++++++++- src/generated/linux/recv_buffer.c.clog.h | 8 ++++---- src/generated/linux/recv_buffer.c.clog.h.lttng.h | 8 ++++---- src/generated/linux/stream_recv.c.clog.h | 14 +++++++------- src/generated/linux/stream_recv.c.clog.h.lttng.h | 14 +++++++------- 6 files changed, 38 insertions(+), 23 deletions(-) diff --git a/src/cs/lib/msquic_generated.cs b/src/cs/lib/msquic_generated.cs index b545481b5d..7a942a0c34 100644 --- a/src/cs/lib/msquic_generated.cs +++ b/src/cs/lib/msquic_generated.cs @@ -153,6 +153,7 @@ internal enum QUIC_STREAM_OPEN_FLAGS UNIDIRECTIONAL = 0x0001, ZERO_RTT = 0x0002, DELAY_ID_FC_UPDATES = 0x0004, + EXTERNAL_BUFFERS = 0x0008, } [System.Flags] @@ -3256,6 +3257,9 @@ internal unsafe partial struct QUIC_API_TABLE [NativeTypeName("QUIC_CONNECTION_COMP_CERT_FN")] internal delegate* unmanaged[Cdecl] ConnectionCertificateValidationComplete; + + [NativeTypeName("QUIC_STREAM_PROVIDE_RECEIVE_BUFFERS_FN")] + internal delegate* unmanaged[Cdecl] StreamProvideReceiveBuffers; } internal static unsafe partial class MsQuic diff --git a/src/ffi/linux_bindings.rs b/src/ffi/linux_bindings.rs index 35b5a86a8e..de66a70376 100644 --- a/src/ffi/linux_bindings.rs +++ b/src/ffi/linux_bindings.rs @@ -354,6 +354,7 @@ pub const QUIC_STREAM_OPEN_FLAGS_QUIC_STREAM_OPEN_FLAG_UNIDIRECTIONAL: QUIC_STRE pub const QUIC_STREAM_OPEN_FLAGS_QUIC_STREAM_OPEN_FLAG_0_RTT: QUIC_STREAM_OPEN_FLAGS = 2; pub const QUIC_STREAM_OPEN_FLAGS_QUIC_STREAM_OPEN_FLAG_DELAY_ID_FC_UPDATES: QUIC_STREAM_OPEN_FLAGS = 4; +pub const QUIC_STREAM_OPEN_FLAGS_QUIC_STREAM_OPEN_FLAG_EXTERNAL_BUFFERS: QUIC_STREAM_OPEN_FLAGS = 8; pub type QUIC_STREAM_OPEN_FLAGS = ::std::os::raw::c_uint; pub const QUIC_STREAM_START_FLAGS_QUIC_STREAM_START_FLAG_NONE: QUIC_STREAM_START_FLAGS = 0; pub const QUIC_STREAM_START_FLAGS_QUIC_STREAM_START_FLAG_IMMEDIATE: QUIC_STREAM_START_FLAGS = 1; @@ -5544,6 +5545,13 @@ pub type QUIC_STREAM_RECEIVE_COMPLETE_FN = pub type QUIC_STREAM_RECEIVE_SET_ENABLED_FN = ::std::option::Option< unsafe extern "C" fn(Stream: HQUIC, IsEnabled: BOOLEAN) -> ::std::os::raw::c_uint, >; +pub type QUIC_STREAM_PROVIDE_RECEIVE_BUFFERS_FN = ::std::option::Option< + unsafe extern "C" fn( + Stream: HQUIC, + BufferCount: u32, + Buffers: *const QUIC_BUFFER, + ) -> ::std::os::raw::c_uint, +>; pub type QUIC_DATAGRAM_SEND_FN = ::std::option::Option< unsafe extern "C" fn( Connection: HQUIC, @@ -5587,10 +5595,11 @@ pub struct QUIC_API_TABLE { pub DatagramSend: QUIC_DATAGRAM_SEND_FN, pub ConnectionResumptionTicketValidationComplete: QUIC_CONNECTION_COMP_RESUMPTION_FN, pub ConnectionCertificateValidationComplete: QUIC_CONNECTION_COMP_CERT_FN, + pub StreamProvideReceiveBuffers: QUIC_STREAM_PROVIDE_RECEIVE_BUFFERS_FN, } #[allow(clippy::unnecessary_operation, clippy::identity_op)] const _: () = { - ["Size of QUIC_API_TABLE"][::std::mem::size_of::() - 248usize]; + ["Size of QUIC_API_TABLE"][::std::mem::size_of::() - 256usize]; ["Alignment of QUIC_API_TABLE"][::std::mem::align_of::() - 8usize]; ["Offset of field: QUIC_API_TABLE::SetContext"] [::std::mem::offset_of!(QUIC_API_TABLE, SetContext) - 0usize]; @@ -5658,6 +5667,8 @@ const _: () = { QUIC_API_TABLE, ConnectionCertificateValidationComplete ) - 240usize]; + ["Offset of field: QUIC_API_TABLE::StreamProvideReceiveBuffers"] + [::std::mem::offset_of!(QUIC_API_TABLE, StreamProvideReceiveBuffers) - 248usize]; }; pub const QUIC_STATUS_SUCCESS: QUIC_STATUS = 0; pub const QUIC_STATUS_PENDING: QUIC_STATUS = 4294967294; diff --git a/src/generated/linux/recv_buffer.c.clog.h b/src/generated/linux/recv_buffer.c.clog.h index ec05204d7d..1d8e1e2435 100644 --- a/src/generated/linux/recv_buffer.c.clog.h +++ b/src/generated/linux/recv_buffer.c.clog.h @@ -25,10 +25,10 @@ extern "C" { // Decoder Ring for AllocFailure // Allocation of '%s' failed. (%llu bytes) // QuicTraceEvent( - AllocFailure, - "Allocation of '%s' failed. (%llu bytes)", - "recv_buffer", - sizeof(QUIC_RECV_CHUNK) + AllocBufferLength); + AllocFailure, + "Allocation of '%s' failed. (%llu bytes)", + "recv_buffer", + sizeof(QUIC_RECV_CHUNK) + AllocBufferLength); // arg2 = arg2 = "recv_buffer" = arg2 // arg3 = arg3 = sizeof(QUIC_RECV_CHUNK) + AllocBufferLength = arg3 ----------------------------------------------------------*/ diff --git a/src/generated/linux/recv_buffer.c.clog.h.lttng.h b/src/generated/linux/recv_buffer.c.clog.h.lttng.h index 3812027851..a4d53076a9 100644 --- a/src/generated/linux/recv_buffer.c.clog.h.lttng.h +++ b/src/generated/linux/recv_buffer.c.clog.h.lttng.h @@ -5,10 +5,10 @@ // Decoder Ring for AllocFailure // Allocation of '%s' failed. (%llu bytes) // QuicTraceEvent( - AllocFailure, - "Allocation of '%s' failed. (%llu bytes)", - "recv_buffer", - sizeof(QUIC_RECV_CHUNK) + AllocBufferLength); + AllocFailure, + "Allocation of '%s' failed. (%llu bytes)", + "recv_buffer", + sizeof(QUIC_RECV_CHUNK) + AllocBufferLength); // arg2 = arg2 = "recv_buffer" = arg2 // arg3 = arg3 = sizeof(QUIC_RECV_CHUNK) + AllocBufferLength = arg3 ----------------------------------------------------------*/ diff --git a/src/generated/linux/stream_recv.c.clog.h b/src/generated/linux/stream_recv.c.clog.h index 57e768e3f0..98a9c566cd 100644 --- a/src/generated/linux/stream_recv.c.clog.h +++ b/src/generated/linux/stream_recv.c.clog.h @@ -357,13 +357,13 @@ tracepoint(CLOG_STREAM_RECV_C, RemoteBlocked , arg1, arg3);\ // Decoder Ring for IncreaseRxBuffer // [strm][%p] Increasing max RX buffer size to %u (MinRtt=%llu; TimeNow=%llu; LastUpdate=%llu) // QuicTraceLogStreamVerbose( - IncreaseRxBuffer, - Stream, - "Increasing max RX buffer size to %u (MinRtt=%llu; TimeNow=%llu; LastUpdate=%llu)", - Stream->RecvBuffer.VirtualBufferLength * 2, - Stream->Connection->Paths[0].MinRtt, - TimeNow, - Stream->RecvWindowLastUpdate); + IncreaseRxBuffer, + Stream, + "Increasing max RX buffer size to %u (MinRtt=%llu; TimeNow=%llu; LastUpdate=%llu)", + Stream->RecvBuffer.VirtualBufferLength * 2, + Stream->Connection->Paths[0].MinRtt, + TimeNow, + Stream->RecvWindowLastUpdate); // arg1 = arg1 = Stream = arg1 // arg3 = arg3 = Stream->RecvBuffer.VirtualBufferLength * 2 = arg3 // arg4 = arg4 = Stream->Connection->Paths[0].MinRtt = arg4 diff --git a/src/generated/linux/stream_recv.c.clog.h.lttng.h b/src/generated/linux/stream_recv.c.clog.h.lttng.h index f750fe9c00..6fe88976b1 100644 --- a/src/generated/linux/stream_recv.c.clog.h.lttng.h +++ b/src/generated/linux/stream_recv.c.clog.h.lttng.h @@ -356,13 +356,13 @@ TRACEPOINT_EVENT(CLOG_STREAM_RECV_C, RemoteBlocked, // Decoder Ring for IncreaseRxBuffer // [strm][%p] Increasing max RX buffer size to %u (MinRtt=%llu; TimeNow=%llu; LastUpdate=%llu) // QuicTraceLogStreamVerbose( - IncreaseRxBuffer, - Stream, - "Increasing max RX buffer size to %u (MinRtt=%llu; TimeNow=%llu; LastUpdate=%llu)", - Stream->RecvBuffer.VirtualBufferLength * 2, - Stream->Connection->Paths[0].MinRtt, - TimeNow, - Stream->RecvWindowLastUpdate); + IncreaseRxBuffer, + Stream, + "Increasing max RX buffer size to %u (MinRtt=%llu; TimeNow=%llu; LastUpdate=%llu)", + Stream->RecvBuffer.VirtualBufferLength * 2, + Stream->Connection->Paths[0].MinRtt, + TimeNow, + Stream->RecvWindowLastUpdate); // arg1 = arg1 = Stream = arg1 // arg3 = arg3 = Stream->RecvBuffer.VirtualBufferLength * 2 = arg3 // arg4 = arg4 = Stream->Connection->Paths[0].MinRtt = arg4 From 50e7ea4bd8de5c1bcc879f95e22f56d5d4ee78ff Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Thu, 6 Feb 2025 17:15:16 -0800 Subject: [PATCH 23/37] Improve unit tests --- src/core/recv_buffer.c | 5 ++- src/core/unittest/RecvBufferTest.cpp | 58 +++++++++++++++++++++++----- 2 files changed, 53 insertions(+), 10 deletions(-) diff --git a/src/core/recv_buffer.c b/src/core/recv_buffer.c index e21fec8b78..d3c68569c9 100644 --- a/src/core/recv_buffer.c +++ b/src/core/recv_buffer.c @@ -744,7 +744,10 @@ QuicRecvBufferReadBufferNeededCount( // // Determine how much data is readable // - const QUIC_SUBRANGE* FirstRange = QuicRangeGet(&RecvBuffer->WrittenRanges, 0); + const QUIC_SUBRANGE* FirstRange = QuicRangeGetSafe(&RecvBuffer->WrittenRanges, 0); + if (!FirstRange) { + return 0; + } const uint64_t ReadableData = FirstRange->Count - RecvBuffer->BaseOffset; // diff --git a/src/core/unittest/RecvBufferTest.cpp b/src/core/unittest/RecvBufferTest.cpp index 39a53827d5..1de3f113d3 100644 --- a/src/core/unittest/RecvBufferTest.cpp +++ b/src/core/unittest/RecvBufferTest.cpp @@ -85,7 +85,7 @@ struct RecvBuffer { return QuicRecvBufferHasUnreadData(&RecvBuf) != FALSE; } uint32_t ReadBufferNeededCount() { - return QuicRecvBufferReadBufferNeededCount(&RecvBuf) != FALSE; + return QuicRecvBufferReadBufferNeededCount(&RecvBuf); } QUIC_STATUS ProvideChunks(_Inout_ CXPLAT_LIST_ENTRY* Chunks) { auto Result = QuicRecvBufferProvideChunks(&RecvBuf, Chunks); @@ -1661,14 +1661,13 @@ TEST(ExternalBuffersTest, ProvideChunks) ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_EXTERNAL, false, 0, 0)); // - // Providing external chunks succeeds and change the buffer mode to external. + // Providing external chunks succeeds right after initialization. // std::array Buffer{}; std::vector ChunkSizes{8u, 8u}; CXPLAT_LIST_ENTRY ChunkList; ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); - ASSERT_EQ(RecvBuf.RecvBuf.RecvMode, QUIC_RECV_BUF_MODE_EXTERNAL); ASSERT_TRUE(CxPlatListIsEmpty(&ChunkList)); uint64_t InOutWriteLength = DEF_TEST_BUFFER_LENGTH; @@ -1716,6 +1715,32 @@ TEST(ExternalBuffersTest, ProvideChunksOverflow) FreeChunkList(&ChunkList); } +TEST(ExternalBuffersTest, PartialDrain) +{ + RecvBuffer RecvBuf; + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_EXTERNAL, false, 0, 0)); + + const uint32_t NbChunks = 2; + std::array Buffer{}; + std::vector ChunkSizes(NbChunks, 8u); + CXPLAT_LIST_ENTRY ChunkList; + ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); + + std::vector ExternalReferences(NbChunks, FALSE); + RecvBuf.WriteAndCheck(0, 12, 0, 8, NbChunks, ExternalReferences.data()); + + uint32_t LengthList[] = {8, 4}; + ExternalReferences[0] = TRUE; + ExternalReferences[1] = TRUE; + RecvBuf.ReadAndCheck(2, LengthList, 0, 8, NbChunks, ExternalReferences.data()); + RecvBuf.Drain(10); + + ExternalReferences[0] = FALSE; + RecvBuf.Check(2, 2, 1, ExternalReferences.data()); + RecvBuf.RecvBuf.Capacity = 4; +} + TEST(ExternalBuffersTest, ReadWriteManyChunks) { RecvBuffer RecvBuf; @@ -1760,24 +1785,39 @@ TEST(ExternalBuffersTest, NumberOfBufferNeededForRead) ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); - uint64_t InOutWriteLength = DEF_TEST_BUFFER_LENGTH; - BOOLEAN NewDataReady = FALSE; - ASSERT_EQ(RecvBuf.ReadBufferNeededCount(), 0); + uint64_t InOutWriteLength = DEF_TEST_BUFFER_LENGTH; + BOOLEAN NewDataReady = FALSE; ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Write(0, 5, &InOutWriteLength, &NewDataReady)); ASSERT_EQ(RecvBuf.ReadBufferNeededCount(), 1); + InOutWriteLength = DEF_TEST_BUFFER_LENGTH; + NewDataReady = FALSE; ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Write(5, 11, &InOutWriteLength, &NewDataReady)); ASSERT_EQ(RecvBuf.ReadBufferNeededCount(), 2); + InOutWriteLength = DEF_TEST_BUFFER_LENGTH; + NewDataReady = FALSE; ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Write(16, 20, &InOutWriteLength, &NewDataReady)); - ASSERT_EQ(RecvBuf.ReadBufferNeededCount(), 4); + ASSERT_EQ(RecvBuf.ReadBufferNeededCount(), 5); - RecvBuf.Drain(5); + // Reading with less buffers than needed still works in external mode. + // (3 are needed for other modes) + QUIC_BUFFER Buffers[5]{}; + uint32_t NumBuffers = 3; + uint64_t BufferOffset = 0; + RecvBuf.Read(&BufferOffset, &NumBuffers, Buffers); + ASSERT_EQ(NumBuffers, 3); + + RecvBuf.Drain(8); ASSERT_EQ(RecvBuf.ReadBufferNeededCount(), 4); + + NumBuffers = 5; + BufferOffset = 0; + RecvBuf.Read(&BufferOffset, &NumBuffers, Buffers); RecvBuf.Drain(20); - ASSERT_EQ(RecvBuf.ReadBufferNeededCount(), 1); + ASSERT_EQ(RecvBuf.ReadBufferNeededCount(), 2); } TEST(ExternalBuffersTest, WriteTooLong) From 1cba545f67e403d5319afe35d32d74a33c985933 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Fri, 7 Feb 2025 13:43:05 -0800 Subject: [PATCH 24/37] Move the new API to the preview features section --- src/core/library.c | 3 +++ src/inc/msquic.h | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/src/core/library.c b/src/core/library.c index 09802a1168..4e74d8f32d 100644 --- a/src/core/library.c +++ b/src/core/library.c @@ -1798,7 +1798,10 @@ MsQuicOpenVersion( Api->StreamSend = MsQuicStreamSend; Api->StreamReceiveComplete = MsQuicStreamReceiveComplete; Api->StreamReceiveSetEnabled = MsQuicStreamReceiveSetEnabled; + +#ifdef QUIC_API_ENABLE_PREVIEW_FEATURES Api->StreamProvideReceiveBuffers = MsQuicStreamProvideReceiveBuffers; +#endif Api->DatagramSend = MsQuicDatagramSend; diff --git a/src/inc/msquic.h b/src/inc/msquic.h index 965240da32..ef87962e7b 100644 --- a/src/inc/msquic.h +++ b/src/inc/msquic.h @@ -199,8 +199,10 @@ typedef enum QUIC_STREAM_OPEN_FLAGS { QUIC_STREAM_OPEN_FLAG_0_RTT = 0x0002, // The stream was opened via a 0-RTT packet. QUIC_STREAM_OPEN_FLAG_DELAY_ID_FC_UPDATES = 0x0004, // Indicates stream ID flow control limit updates for the // connection should be delayed to StreamClose. +#ifdef QUIC_API_ENABLE_PREVIEW_FEATURES QUIC_STREAM_OPEN_FLAG_EXTERNAL_BUFFERS = 0x0008, // No buffer will be allocated for the stream, external buffers // must be provided (see StreamProvideReceiveBuffers) +#endif } QUIC_STREAM_OPEN_FLAGS; DEFINE_ENUM_FLAG_OPERATORS(QUIC_STREAM_OPEN_FLAGS) @@ -1566,6 +1568,7 @@ QUIC_STATUS _In_ BOOLEAN IsEnabled ); +#ifdef QUIC_API_ENABLE_PREVIEW_FEATURES // // Provides receive buffers to the stream. // The buffers are owned by the caller and must remain valid until a receive @@ -1580,6 +1583,8 @@ QUIC_STATUS _In_reads_(BufferCount) const QUIC_BUFFER* Buffers ); +#endif + // // Datagrams // @@ -1648,8 +1653,10 @@ typedef struct QUIC_API_TABLE { QUIC_CONNECTION_COMP_RESUMPTION_FN ConnectionResumptionTicketValidationComplete; // Available from v2.2 QUIC_CONNECTION_COMP_CERT_FN ConnectionCertificateValidationComplete; // Available from v2.2 +#ifdef QUIC_API_ENABLE_PREVIEW_FEATURES QUIC_STREAM_PROVIDE_RECEIVE_BUFFERS_FN StreamProvideReceiveBuffers; // Available from v2.5 +#endif } QUIC_API_TABLE; #define QUIC_API_VERSION_1 1 // Not supported any more From ae9366e55d386e510afa191b6a9061b9ad2c1ce6 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Fri, 7 Feb 2025 17:15:34 -0800 Subject: [PATCH 25/37] Use a pool to allocated app chunks --- src/core/api.c | 11 +- src/core/crypto.c | 1 + src/core/recv_buffer.c | 90 +++++++++------ src/core/recv_buffer.h | 30 +++-- src/core/stream.c | 15 ++- src/core/unittest/RecvBufferTest.cpp | 159 ++++++++++++++------------- src/core/worker.c | 2 + src/core/worker.h | 1 + 8 files changed, 185 insertions(+), 124 deletions(-) diff --git a/src/core/api.c b/src/core/api.c index b943582f98..11c505d5b1 100644 --- a/src/core/api.c +++ b/src/core/api.c @@ -1371,6 +1371,7 @@ MsQuicStreamProvideReceiveBuffers( { QUIC_STATUS Status; QUIC_OPERATION* Oper; + QUIC_CONNECTION* Connection = NULL; CXPLAT_LIST_ENTRY ChunkList; CxPlatListInitializeHead(&ChunkList); @@ -1398,7 +1399,7 @@ MsQuicStreamProvideReceiveBuffers( CXPLAT_TEL_ASSERT(!Stream->Flags.HandleClosed); CXPLAT_TEL_ASSERT(!Stream->Flags.Freed); - QUIC_CONNECTION* Connection = Stream->Connection; + Connection = Stream->Connection; QUIC_CONN_VERIFY(Connection, !Connection->State.Freed); // @@ -1432,7 +1433,8 @@ MsQuicStreamProvideReceiveBuffers( // The allocation is done here to make the worker thread task failure free. // for (uint32_t i = 0; i < BufferCount; ++i) { - QUIC_RECV_CHUNK* Chunk = CXPLAT_ALLOC_NONPAGED(sizeof(QUIC_RECV_CHUNK), QUIC_POOL_RECVBUF); + QUIC_RECV_CHUNK* Chunk = + CxPlatPoolAlloc(&Connection->Worker->AppBufferChunkPool); if (Chunk == NULL) { QuicTraceEvent( AllocFailure, @@ -1442,7 +1444,7 @@ MsQuicStreamProvideReceiveBuffers( Status = QUIC_STATUS_OUT_OF_MEMORY; goto Error; } - QuicRecvChunkInitialize(Chunk, Buffers[i].Length, Buffers[i].Buffer); + QuicRecvChunkInitialize(Chunk, Buffers[i].Length, Buffers[i].Buffer, TRUE); CxPlatListInsertTail(&ChunkList, &Chunk->Link); } @@ -1492,6 +1494,9 @@ MsQuicStreamProvideReceiveBuffers( // Cleanup allocated chunks if the operation failed. // while (!CxPlatListIsEmpty(&ChunkList)) { + CXPLAT_DBG_ASSERT(Connection != NULL); + CxPlatPoolFree(&Connection->Worker->AppBufferChunkPool, + CXPLAT_CONTAINING_RECORD(CxPlatListRemoveHead(&ChunkList), QUIC_RECV_CHUNK, Link)); CXPLAT_FREE( CXPLAT_CONTAINING_RECORD( CxPlatListRemoveHead(&ChunkList), diff --git a/src/core/crypto.c b/src/core/crypto.c index 7633f9b32f..82681a7a0b 100644 --- a/src/core/crypto.c +++ b/src/core/crypto.c @@ -153,6 +153,7 @@ QuicCryptoInitialize( InitialRecvBufferLength, QUIC_DEFAULT_STREAM_FC_WINDOW_SIZE / 2, QUIC_RECV_BUF_MODE_SINGLE, + &Connection->Worker->AppBufferChunkPool, NULL); if (QUIC_FAILED(Status)) { goto Exit; diff --git a/src/core/recv_buffer.c b/src/core/recv_buffer.c index d3c68569c9..a47ec7e418 100644 --- a/src/core/recv_buffer.c +++ b/src/core/recv_buffer.c @@ -52,21 +52,44 @@ void QuicRecvChunkInitialize( _Inout_ QUIC_RECV_CHUNK* Chunk, _In_ uint32_t AllocLength, - _Inout_updates_(AllocLength) uint8_t* Buffer + _Inout_updates_(AllocLength) uint8_t* Buffer, + _In_ BOOLEAN AppOwnedBuffer ) { Chunk->AllocLength = AllocLength; Chunk->Buffer = Buffer; Chunk->ExternalReference = FALSE; + Chunk->AppOwnedBuffer = AppOwnedBuffer; } _IRQL_requires_max_(DISPATCH_LEVEL) -QUIC_STATUS // TODO - Can only fail if PreallocatedChunk == NULL +void +QuicRecvChunkFree( + _In_ QUIC_RECV_BUFFER* RecvBuffer, + _In_ QUIC_RECV_CHUNK* Chunk + ) +{ + CXPLAT_DBG_ASSERT(!Chunk->ExternalReference); + + if (Chunk == RecvBuffer->PreallocatedChunk) { + return; + } + + if (Chunk->AppOwnedBuffer) { + CxPlatPoolFree(RecvBuffer->AppBufferChunkPool, Chunk); + } else { + CXPLAT_FREE(Chunk, QUIC_POOL_RECVBUF); + } +} + +_IRQL_requires_max_(DISPATCH_LEVEL) +QUIC_STATUS QuicRecvBufferInitialize( _Inout_ QUIC_RECV_BUFFER* RecvBuffer, _In_ uint32_t AllocBufferLength, _In_ uint32_t VirtualBufferLength, _In_ QUIC_RECV_BUF_MODE RecvMode, + _In_ CXPLAT_POOL* AppBufferChunkPool, _In_opt_ QUIC_RECV_CHUNK* PreallocatedChunk ) { @@ -81,6 +104,7 @@ QuicRecvBufferInitialize( RecvBuffer->ReadPendingLength = 0; RecvBuffer->ReadLength = 0; RecvBuffer->RecvMode = RecvMode; + RecvBuffer->AppBufferChunkPool = AppBufferChunkPool; QuicRangeInitialize(QUIC_MAX_RANGE_ALLOC_SIZE, &RecvBuffer->WrittenRanges); CxPlatListInitializeHead(&RecvBuffer->Chunks); @@ -103,7 +127,7 @@ QuicRecvBufferInitialize( sizeof(QUIC_RECV_CHUNK) + AllocBufferLength); return QUIC_STATUS_OUT_OF_MEMORY; } - QuicRecvChunkInitialize(Chunk, AllocBufferLength, (uint8_t*)(Chunk + 1)); + QuicRecvChunkInitialize(Chunk, AllocBufferLength, (uint8_t*)(Chunk + 1), FALSE); } CxPlatListInsertHead(&RecvBuffer->Chunks, &Chunk->Link); RecvBuffer->Capacity = AllocBufferLength; @@ -130,9 +154,7 @@ QuicRecvBufferUninitialize( CxPlatListRemoveHead(&RecvBuffer->Chunks), QUIC_RECV_CHUNK, Link); - if (Chunk != RecvBuffer->PreallocatedChunk) { - CXPLAT_FREE(Chunk, QUIC_POOL_RECVBUF); - } + QuicRecvChunkFree(RecvBuffer, Chunk); } } @@ -277,7 +299,7 @@ QuicRecvBufferResize( return FALSE; } - QuicRecvChunkInitialize(NewChunk, TargetBufferLength, (uint8_t*)(NewChunk + 1)); + QuicRecvChunkInitialize(NewChunk, TargetBufferLength, (uint8_t*)(NewChunk + 1), FALSE); CxPlatListInsertTail(&RecvBuffer->Chunks, &NewChunk->Link); if (!LastChunk->ExternalReference) { @@ -325,9 +347,7 @@ QuicRecvBufferResize( } CxPlatListEntryRemove(&LastChunk->Link); - if (LastChunk != RecvBuffer->PreallocatedChunk) { - CXPLAT_FREE(LastChunk, QUIC_POOL_RECVBUF); - } + QuicRecvChunkFree(RecvBuffer, LastChunk); return TRUE; } @@ -1012,7 +1032,6 @@ QuicRecvBufferPartialDrain( RecvBuffer->Chunks.Flink, QUIC_RECV_CHUNK, Link); - CXPLAT_DBG_ASSERT(Chunk->ExternalReference); if (Chunk->Link.Flink != &RecvBuffer->Chunks && (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_SINGLE || @@ -1024,9 +1043,7 @@ QuicRecvBufferPartialDrain( // operating on the next one. // CxPlatListEntryRemove(&Chunk->Link); - if (Chunk != RecvBuffer->PreallocatedChunk) { - CXPLAT_FREE(Chunk, QUIC_POOL_RECVBUF); - } + QuicRecvChunkFree(RecvBuffer, Chunk); CXPLAT_DBG_ASSERT(!CxPlatListIsEmpty(&RecvBuffer->Chunks)); Chunk = @@ -1034,7 +1051,6 @@ QuicRecvBufferPartialDrain( RecvBuffer->Chunks.Flink, QUIC_RECV_CHUNK, Link); - CXPLAT_DBG_ASSERT(!Chunk->ExternalReference); RecvBuffer->ReadStart = 0; } @@ -1074,15 +1090,9 @@ QuicRecvBufferPartialDrain( RecvBuffer->ReadLength -= (uint32_t)DrainLength; } - if (RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_MULTIPLE) { - // - // Unless we are in multiple mode, a partial drain means the app isn't - // referencing any chunks anymore. - // - Chunk->ExternalReference = FALSE; - } else { + if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_MULTIPLE) { // - // If all ReadPending data is drained, then we can release the external reference + // If all ReadPending data is drained, then we can release the external reference. // Chunk->ExternalReference = RecvBuffer->ReadPendingLength != DrainLength; CXPLAT_DBG_ASSERT(DrainLength <= RecvBuffer->ReadPendingLength); @@ -1118,13 +1128,12 @@ QuicRecvBufferFullDrain( RecvBuffer->Chunks.Flink, QUIC_RECV_CHUNK, Link); - CXPLAT_DBG_ASSERT(Chunk->ExternalReference); - Chunk->ExternalReference = FALSE; DrainLength -= RecvBuffer->ReadLength; RecvBuffer->ReadStart = 0; RecvBuffer->BaseOffset += RecvBuffer->ReadLength; if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_MULTIPLE) { + Chunk->ExternalReference = FALSE; RecvBuffer->ReadPendingLength -= RecvBuffer->ReadLength; } if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL) { @@ -1151,9 +1160,7 @@ QuicRecvBufferFullDrain( // free the last chunk. // CxPlatListEntryRemove(&Chunk->Link); - if (Chunk != RecvBuffer->PreallocatedChunk) { - CXPLAT_FREE(Chunk, QUIC_POOL_RECVBUF); - } + QuicRecvChunkFree(RecvBuffer, Chunk); RecvBuffer->Capacity = 0; } @@ -1165,9 +1172,7 @@ QuicRecvBufferFullDrain( // going to re-use this one. Free it. // CxPlatListEntryRemove(&Chunk->Link); - if (Chunk != RecvBuffer->PreallocatedChunk) { - CXPLAT_FREE(Chunk, QUIC_POOL_RECVBUF); - } + QuicRecvChunkFree(RecvBuffer, Chunk); // // The rest of the contiguous data might not fit in just the next chunk @@ -1197,9 +1202,22 @@ QuicRecvBufferDrain( ) { CXPLAT_DBG_ASSERT(DrainLength <= RecvBuffer->ReadPendingLength); + + // + // Mark chunks as no longer externally referenced reset the read-pending data length. + // For Multiple mode, this is done when each chunk is drained. + // if (RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_MULTIPLE) { + for (CXPLAT_LIST_ENTRY* Link = RecvBuffer->Chunks.Flink; + Link != &RecvBuffer->Chunks; + Link = Link->Flink) { + QUIC_RECV_CHUNK* Chunk = + CXPLAT_CONTAINING_RECORD(Link, QUIC_RECV_CHUNK, Link); + Chunk->ExternalReference = FALSE; + } RecvBuffer->ReadPendingLength = 0; } + QUIC_SUBRANGE* FirstRange = QuicRangeGet(&RecvBuffer->WrittenRanges, 0); CXPLAT_DBG_ASSERT(FirstRange); CXPLAT_DBG_ASSERT(FirstRange->Low == 0); @@ -1226,18 +1244,18 @@ QuicRecvBufferDrain( PartialDrain &= (uint64_t)RecvBuffer->Capacity > DrainLength; } else if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL) { // - // In external mode, the chunk must be full drained only if its capacity reaches 0. + // In external mode, the chunk must be fully drained only if its capacity reaches 0. // Otherwise, we either have more bytes to read, or more space to write. - // Contrary to other modes, we can reset ReadStart to the start of the buffer whenever - // we drained all written data. + // Contrary to other modes, we cannot reset ReadStart to the start of the buffer + // whenever we drained all written data. // PartialDrain = (uint64_t)RecvBuffer->Capacity > DrainLength; } if (PartialDrain) { // - // In single/circular mode, a full drain must be done only all the data - // written to the buffer got read. + // In single/circular mode, a full drain must be done only if all the data + // written to the buffer was read. // A partial drain is done if not all the readily readable data was read // or if the read is limited by a gap in the data. // diff --git a/src/core/recv_buffer.h b/src/core/recv_buffer.h index 50c2f2a8a2..5ab8f15f49 100644 --- a/src/core/recv_buffer.h +++ b/src/core/recv_buffer.h @@ -21,13 +21,13 @@ typedef enum QUIC_RECV_BUF_MODE { // Represents a single contiguous range of bytes. // typedef struct QUIC_RECV_CHUNK { - CXPLAT_LIST_ENTRY Link; // Link in the list of chunks. - uint32_t AllocLength : 31; // Allocation size of Buffer - uint32_t ExternalReference : 1; // Indicates the buffer is being used externally. - _Field_size_(AllocLength) - uint8_t *Buffer; // Pointer to the buffer itself. Doesn't need to be freed independently: - // - for internally allocated buffers, points in the same allocation. - // - for exteral buffers, the buffer isn't owned + CXPLAT_LIST_ENTRY Link; // Link in the list of chunks. + uint32_t AllocLength : 31; // Allocation size of Buffer + uint32_t ExternalReference : 1; // Indicates the buffer is being used externally. + uint8_t AppOwnedBuffer : 1; // Indicates the buffer is managed by the app. + uint8_t *Buffer; // Pointer to the buffer itself. Doesn't need to be freed independently: + // - for internally allocated buffers, points in the same allocation. + // - for exteral buffers, the buffer isn't owned } QUIC_RECV_CHUNK; _IRQL_requires_max_(DISPATCH_LEVEL) @@ -35,7 +35,8 @@ void QuicRecvChunkInitialize( _Inout_ QUIC_RECV_CHUNK* Chunk, _In_ uint32_t AllocLength, - _Inout_updates_(AllocLength) uint8_t* Buffer + _Inout_updates_(AllocLength) uint8_t* Buffer, + _In_ BOOLEAN AppOwnedBuffer ); typedef struct QUIC_RECV_BUFFER { @@ -45,6 +46,12 @@ typedef struct QUIC_RECV_BUFFER { // CXPLAT_LIST_ENTRY Chunks; + // + // Pool for the chunks managing app provided buffers. + // See QUIC_RECV_CHUNK::AppOwnedBuffer + // + CXPLAT_POOL *AppBufferChunkPool; + // // Optional, preallocated initial chunk. // @@ -101,6 +108,12 @@ typedef struct QUIC_RECV_BUFFER { } QUIC_RECV_BUFFER; +// +// Initialize a QUIC_RECV_BUFFER. +// Can only fail if PreallocatedChunk == NULL && RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL. +// PreallocatedChunk is owned by the caller and must be freed afte the buffer is uninitialized. +// AppBufferChunkPool is used to allocate and free the chunk managing app-provided buffers. +// _IRQL_requires_max_(DISPATCH_LEVEL) QUIC_STATUS QuicRecvBufferInitialize( @@ -108,6 +121,7 @@ QuicRecvBufferInitialize( _In_ uint32_t AllocBufferLength, _In_ uint32_t VirtualBufferLength, _In_ QUIC_RECV_BUF_MODE RecvMode, + _In_ CXPLAT_POOL* AppBufferChunkPool, _In_opt_ QUIC_RECV_CHUNK* PreallocatedChunk ); diff --git a/src/core/stream.c b/src/core/stream.c index b9265692c0..79aad2f8ed 100644 --- a/src/core/stream.c +++ b/src/core/stream.c @@ -131,7 +131,8 @@ QuicStreamInitialize( QuicRecvChunkInitialize( PreallocatedRecvChunk, InitialRecvBufferLength, - (uint8_t *)(PreallocatedRecvChunk + 1)); + (uint8_t *)(PreallocatedRecvChunk + 1), + FALSE); } const uint32_t FlowControlWindowSize = Stream->Flags.Unidirectional @@ -146,6 +147,7 @@ QuicStreamInitialize( InitialRecvBufferLength, FlowControlWindowSize, RecvBufferMode, + &Connection->Worker->AppBufferChunkPool, PreallocatedRecvChunk); if (QUIC_FAILED(Status)) { goto Exit; @@ -977,7 +979,16 @@ QuicStreamSwitchToExternalBuffers( ) { QuicRecvBufferUninitialize(&Stream->RecvBuffer); - (void)QuicRecvBufferInitialize(&Stream->RecvBuffer, 0, 0, QUIC_RECV_BUF_MODE_EXTERNAL, NULL); + // + // Rq: Can't fail when initializing in external mode. + // + (void)QuicRecvBufferInitialize( + &Stream->RecvBuffer, + 0, + 0, + QUIC_RECV_BUF_MODE_EXTERNAL, + &Stream->Connection->Worker->AppBufferChunkPool, + NULL); Stream->Flags.UseExternalRecvBuffers = TRUE; } diff --git a/src/core/unittest/RecvBufferTest.cpp b/src/core/unittest/RecvBufferTest.cpp index 1de3f113d3..f893f634f8 100644 --- a/src/core/unittest/RecvBufferTest.cpp +++ b/src/core/unittest/RecvBufferTest.cpp @@ -23,15 +23,21 @@ struct RecvBuffer { QUIC_RECV_BUFFER RecvBuf {0}; QUIC_RECV_CHUNK* PreallocChunk {nullptr}; + CXPLAT_POOL AppBufferChunkPool {}; uint8_t* ExternalBuffer {nullptr}; ~RecvBuffer() { + if (RecvBuf.ReadPendingLength != 0) { + Drain(RecvBuf.ReadPendingLength); + } QuicRecvBufferUninitialize(&RecvBuf); + if (PreallocChunk) { CXPLAT_FREE(PreallocChunk, QUIC_POOL_TEST); } if (ExternalBuffer) { CXPLAT_FREE(ExternalBuffer, QUIC_POOL_TEST); } + CxPlatPoolUninitialize(&AppBufferChunkPool); } QUIC_STATUS Initialize( _In_ QUIC_RECV_BUF_MODE RecvMode = QUIC_RECV_BUF_MODE_SINGLE, @@ -39,6 +45,7 @@ struct RecvBuffer { _In_ uint32_t AllocBufferLength = DEF_TEST_BUFFER_LENGTH, _In_ uint32_t VirtualBufferLength = DEF_TEST_BUFFER_LENGTH ) { + CxPlatPoolInitialize(FALSE, sizeof(QUIC_RECV_CHUNK), QUIC_POOL_TEST, &AppBufferChunkPool); if (PreallocatedChunk) { PreallocChunk = (QUIC_RECV_CHUNK*)CXPLAT_ALLOC_NONPAGED( @@ -47,7 +54,8 @@ struct RecvBuffer { } printf("Initializing: [mode=%u,vlen=%u,alen=%u]\n", RecvMode, VirtualBufferLength, AllocBufferLength); - auto Result = QuicRecvBufferInitialize(&RecvBuf, AllocBufferLength, VirtualBufferLength, RecvMode, PreallocChunk); + auto Result = QuicRecvBufferInitialize( + &RecvBuf, AllocBufferLength, VirtualBufferLength, RecvMode, &AppBufferChunkPool, PreallocChunk); if (Result != QUIC_STATUS_SUCCESS) { return Result; } @@ -62,17 +70,18 @@ struct RecvBuffer { CXPLAT_LIST_ENTRY ChunkList; CxPlatListInitializeHead(&ChunkList); ExternalBuffer = (uint8_t *)CXPLAT_ALLOC_NONPAGED(VirtualBufferLength, QUIC_POOL_TEST); - auto Chunk = (QUIC_RECV_CHUNK *)CXPLAT_ALLOC_NONPAGED(sizeof(QUIC_RECV_CHUNK), QUIC_POOL_RECVBUF); - QuicRecvChunkInitialize(Chunk, AllocBufferLength, ExternalBuffer); + auto* Chunk = (QUIC_RECV_CHUNK *)CxPlatPoolAlloc(&AppBufferChunkPool); + QuicRecvChunkInitialize(Chunk, AllocBufferLength, ExternalBuffer, TRUE); CxPlatListInsertHead(&ChunkList, &Chunk->Link); if (VirtualBufferLength > AllocBufferLength) { - auto Chunk2 = (QUIC_RECV_CHUNK *)CXPLAT_ALLOC_NONPAGED(sizeof(QUIC_RECV_CHUNK), QUIC_POOL_RECVBUF); - QuicRecvChunkInitialize(Chunk2, VirtualBufferLength - AllocBufferLength, ExternalBuffer + AllocBufferLength); + auto* Chunk2 = (QUIC_RECV_CHUNK *)CxPlatPoolAlloc(&AppBufferChunkPool); + QuicRecvChunkInitialize(Chunk2, VirtualBufferLength - AllocBufferLength, ExternalBuffer + AllocBufferLength, TRUE); CxPlatListInsertTail(&ChunkList, &Chunk2->Link); } Result = QuicRecvBufferProvideChunks(&RecvBuf, &ChunkList); } else { - Result = QuicRecvBufferInitialize(&RecvBuf, AllocBufferLength, VirtualBufferLength, RecvMode, PreallocChunk); + Result = QuicRecvBufferInitialize( + &RecvBuf, AllocBufferLength, VirtualBufferLength, RecvMode, &AppBufferChunkPool, PreallocChunk); } Dump(); @@ -87,11 +96,28 @@ struct RecvBuffer { uint32_t ReadBufferNeededCount() { return QuicRecvBufferReadBufferNeededCount(&RecvBuf); } - QUIC_STATUS ProvideChunks(_Inout_ CXPLAT_LIST_ENTRY* Chunks) { - auto Result = QuicRecvBufferProvideChunks(&RecvBuf, Chunks); + QUIC_STATUS ProvideChunks(CXPLAT_LIST_ENTRY& Chunks) { + auto Result = QuicRecvBufferProvideChunks(&RecvBuf, &Chunks); Dump(); return Result; } + QUIC_STATUS ProvideChunks( + const std::vector& Sizes, + size_t BufferSize, + _In_reads_bytes_(BufferSize) uint8_t* Buffer + ) + { + CXPLAT_LIST_ENTRY ChunkList; + QUIC_STATUS Status = MakeExternalChunks(Sizes, BufferSize, Buffer, &ChunkList); + if (Status != QUIC_STATUS_SUCCESS) { + return Status; + } + Status = ProvideChunks(ChunkList); + if (Status != QUIC_STATUS_SUCCESS) { + FreeChunkList(ChunkList); + } + return Status; + } void IncreaseVirtualBufferLength(uint32_t Length) { QuicRecvBufferTryIncreaseVirtualBufferLength(&RecvBuf, Length); } @@ -232,6 +258,41 @@ struct RecvBuffer { } printf("\n"); } + + // + // Helper to build a list of external chunks + // + QUIC_STATUS MakeExternalChunks( + const std::vector& ChunkSizes, + size_t BufferSize, + _In_reads_bytes_(BufferSize) uint8_t* Buffer, + _Out_ CXPLAT_LIST_ENTRY* ChunkList) { + + uint64_t totalSize = 0; + for (auto size: ChunkSizes) { + totalSize += size; + } + if (totalSize > BufferSize) { + return QUIC_STATUS_INVALID_PARAMETER; + } + + CxPlatListInitializeHead(ChunkList); + for (auto size: ChunkSizes) { + auto* chunk = reinterpret_cast(CxPlatPoolAlloc(&AppBufferChunkPool)); + QuicRecvChunkInitialize(chunk, size, Buffer, TRUE); + Buffer = Buffer + size; + CxPlatListInsertTail(ChunkList, &chunk->Link); + } + + return QUIC_STATUS_SUCCESS; + } + + void FreeChunkList(CXPLAT_LIST_ENTRY& ChunkList) { + while (!CxPlatListIsEmpty(&ChunkList)) { + QUIC_RECV_CHUNK *Chunk = CXPLAT_CONTAINING_RECORD(CxPlatListRemoveHead(&ChunkList), QUIC_RECV_CHUNK, Link); + CxPlatPoolFree(&AppBufferChunkPool, Chunk); + } + } }; struct WithMode : public ::testing::TestWithParam { @@ -1620,41 +1681,6 @@ TEST(MultiRecvTest, ReadPendingOver2Chunk) RecvBuf.Drain(8); } -// -// Helper to build a list of external chunks -// -QUIC_STATUS MakeExternalChunks( - const std::vector& ChunkSizes, - size_t BufferSize, - _In_reads_bytes_(BufferSize) uint8_t* Buffer, - _Out_ CXPLAT_LIST_ENTRY* ChunkList) { - - uint64_t totalSize = 0; - for (auto size: ChunkSizes) { - totalSize += size; - } - if (totalSize > BufferSize) { - return QUIC_STATUS_INVALID_PARAMETER; - } - - CxPlatListInitializeHead(ChunkList); - for (auto size: ChunkSizes) { - auto* chunk = reinterpret_cast(CXPLAT_ALLOC_NONPAGED(sizeof(QUIC_RECV_CHUNK), QUIC_POOL_RECVBUF)); - QuicRecvChunkInitialize(chunk, size, Buffer); - Buffer = Buffer + size; - CxPlatListInsertTail(ChunkList, &chunk->Link); - } - - return QUIC_STATUS_SUCCESS; -} - -void FreeChunkList(_Inout_ CXPLAT_LIST_ENTRY* ChunkList) { - while (!CxPlatListIsEmpty(ChunkList)) { - QUIC_RECV_CHUNK *Chunk = CXPLAT_CONTAINING_RECORD(CxPlatListRemoveHead(ChunkList), QUIC_RECV_CHUNK, Link); - CXPLAT_FREE(Chunk, QUIC_POOL_RECVBUF); - } -} - TEST(ExternalBuffersTest, ProvideChunks) { RecvBuffer RecvBuf; @@ -1666,8 +1692,8 @@ TEST(ExternalBuffersTest, ProvideChunks) std::array Buffer{}; std::vector ChunkSizes{8u, 8u}; CXPLAT_LIST_ENTRY ChunkList; - ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(ChunkList)); ASSERT_TRUE(CxPlatListIsEmpty(&ChunkList)); uint64_t InOutWriteLength = DEF_TEST_BUFFER_LENGTH; @@ -1679,8 +1705,8 @@ TEST(ExternalBuffersTest, ProvideChunks) // std::array Buffer2{}; std::vector ChunkSizes2{8u, 8u}; - ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes2, Buffer2.size(), Buffer2.data(), &ChunkList)); - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.MakeExternalChunks(ChunkSizes2, Buffer2.size(), Buffer2.data(), &ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(ChunkList)); ASSERT_TRUE(CxPlatListIsEmpty(&ChunkList)); } @@ -1696,7 +1722,7 @@ TEST(ExternalBuffersTest, ProvideChunksOverflow) std::array Buffer{}; std::vector ChunkSizes{8u, 8u, 8u}; CXPLAT_LIST_ENTRY ChunkList; - ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); for (CXPLAT_LIST_ENTRY* Entry = ChunkList.Flink; Entry != &ChunkList; @@ -1709,10 +1735,10 @@ TEST(ExternalBuffersTest, ProvideChunksOverflow) Chunk->AllocLength = 0x7000'0000; } - ASSERT_EQ(QUIC_STATUS_INVALID_PARAMETER, RecvBuf.ProvideChunks(&ChunkList)); + ASSERT_EQ(QUIC_STATUS_INVALID_PARAMETER, RecvBuf.ProvideChunks(ChunkList)); ASSERT_FALSE(CxPlatListIsEmpty(&ChunkList)); - FreeChunkList(&ChunkList); + RecvBuf.FreeChunkList(ChunkList); } TEST(ExternalBuffersTest, PartialDrain) @@ -1723,9 +1749,7 @@ TEST(ExternalBuffersTest, PartialDrain) const uint32_t NbChunks = 2; std::array Buffer{}; std::vector ChunkSizes(NbChunks, 8u); - CXPLAT_LIST_ENTRY ChunkList; - ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(ChunkSizes, Buffer.size(), Buffer.data())); std::vector ExternalReferences(NbChunks, FALSE); RecvBuf.WriteAndCheck(0, 12, 0, 8, NbChunks, ExternalReferences.data()); @@ -1749,9 +1773,7 @@ TEST(ExternalBuffersTest, ReadWriteManyChunks) const uint32_t NbChunks = 5; std::array Buffer{}; std::vector ChunkSizes(NbChunks, 8u); - CXPLAT_LIST_ENTRY ChunkList; - ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(ChunkSizes, Buffer.size(), Buffer.data())); std::vector ExternalReferences(NbChunks, FALSE); RecvBuf.WriteAndCheck(10, 20, 0, 0, NbChunks, ExternalReferences.data()); @@ -1780,10 +1802,7 @@ TEST(ExternalBuffersTest, NumberOfBufferNeededForRead) const uint32_t NbChunks = 5; std::array Buffer{}; std::vector ChunkSizes(NbChunks, 8u); - CXPLAT_LIST_ENTRY ChunkList; - ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); - - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(ChunkSizes, Buffer.size(), Buffer.data())); ASSERT_EQ(RecvBuf.ReadBufferNeededCount(), 0); @@ -1827,9 +1846,7 @@ TEST(ExternalBuffersTest, WriteTooLong) std::array Buffer{}; std::vector ChunkSizes{8u, 8u}; - CXPLAT_LIST_ENTRY ChunkList; - ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(ChunkSizes, Buffer.size(), Buffer.data())); uint64_t InOutWriteLength = DEF_TEST_BUFFER_LENGTH; BOOLEAN NewDataReady = FALSE; @@ -1846,10 +1863,7 @@ TEST(ExternalBuffersTest, OutOfBuffers) std::array Buffer{}; std::vector ChunkSizes{DEF_TEST_BUFFER_LENGTH}; - CXPLAT_LIST_ENTRY ChunkList; - ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); - - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(ChunkSizes, Buffer.size(), Buffer.data())); uint64_t InOutWriteLength = DEF_TEST_BUFFER_LENGTH; BOOLEAN NewDataReady = FALSE; @@ -1876,8 +1890,7 @@ TEST(ExternalBuffersTest, OutOfBuffers) // // Provide a new chunk and validate everything is back to normal. // - ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(ChunkSizes, Buffer.size(), Buffer.data())); InOutWriteLength = DEF_TEST_BUFFER_LENGTH; NewDataReady = FALSE; @@ -1896,12 +1909,8 @@ TEST(ExternalBuffersTest, FreeBufferBeforeDrain) auto Buffer1 = std::make_unique(DEF_TEST_BUFFER_LENGTH); std::array Buffer2{}; std::vector ChunkSizes{DEF_TEST_BUFFER_LENGTH}; - CXPLAT_LIST_ENTRY ChunkList; - ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, DEF_TEST_BUFFER_LENGTH, Buffer1.get(), &ChunkList)); - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); - - ASSERT_EQ(QUIC_STATUS_SUCCESS, MakeExternalChunks(ChunkSizes, Buffer2.size(), Buffer2.data(), &ChunkList)); - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(&ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(ChunkSizes, DEF_TEST_BUFFER_LENGTH, Buffer1.get())); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(ChunkSizes, Buffer2.size(), Buffer2.data())); uint64_t InOutWriteLength = DEF_TEST_BUFFER_LENGTH; BOOLEAN NewDataReady = FALSE; diff --git a/src/core/worker.c b/src/core/worker.c index 6338834413..5a153ae499 100644 --- a/src/core/worker.c +++ b/src/core/worker.c @@ -85,6 +85,7 @@ QuicWorkerInitialize( CxPlatPoolInitialize(FALSE, sizeof(QUIC_API_CONTEXT), QUIC_POOL_API_CTX, &Worker->ApiContextPool); CxPlatPoolInitialize(FALSE, sizeof(QUIC_STATELESS_CONTEXT), QUIC_POOL_STATELESS_CTX, &Worker->StatelessContextPool); CxPlatPoolInitialize(FALSE, sizeof(QUIC_OPERATION), QUIC_POOL_OPER, &Worker->OperPool); + CxPlatPoolInitialize(FALSE, sizeof(QUIC_RECV_CHUNK), QUIC_POOL_APP_BUFFER_CHUNK, &Worker->AppBufferChunkPool); QUIC_STATUS Status = QuicTimerWheelInitialize(&Worker->TimerWheel); if (QUIC_FAILED(Status)) { @@ -200,6 +201,7 @@ QuicWorkerUninitialize( CxPlatPoolUninitialize(&Worker->ApiContextPool); CxPlatPoolUninitialize(&Worker->StatelessContextPool); CxPlatPoolUninitialize(&Worker->OperPool); + CxPlatPoolUninitialize(&Worker->AppBufferChunkPool); CxPlatDispatchLockUninitialize(&Worker->Lock); QuicTimerWheelUninitialize(&Worker->TimerWheel); diff --git a/src/core/worker.h b/src/core/worker.h index 5cb4796bb6..64498612f0 100644 --- a/src/core/worker.h +++ b/src/core/worker.h @@ -86,6 +86,7 @@ typedef struct QUIC_CACHEALIGN QUIC_WORKER { CXPLAT_POOL ApiContextPool; // QUIC_API_CONTEXT CXPLAT_POOL StatelessContextPool; // QUIC_STATELESS_CONTEXT CXPLAT_POOL OperPool; // QUIC_OPERATION + CXPLAT_POOL AppBufferChunkPool; // QUIC_RECV_CHUNK } QUIC_WORKER; From 5ec4ef5d9111030237ff5d529b4650f716b69885 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Fri, 7 Feb 2025 17:18:56 -0800 Subject: [PATCH 26/37] Rust bindings --- src/ffi/win_bindings.rs | 9 ++++++++- src/inc/quic_platform.h | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/ffi/win_bindings.rs b/src/ffi/win_bindings.rs index df218d883b..32e8651269 100644 --- a/src/ffi/win_bindings.rs +++ b/src/ffi/win_bindings.rs @@ -353,6 +353,7 @@ pub const QUIC_STREAM_OPEN_FLAGS_QUIC_STREAM_OPEN_FLAG_UNIDIRECTIONAL: QUIC_STRE pub const QUIC_STREAM_OPEN_FLAGS_QUIC_STREAM_OPEN_FLAG_0_RTT: QUIC_STREAM_OPEN_FLAGS = 2; pub const QUIC_STREAM_OPEN_FLAGS_QUIC_STREAM_OPEN_FLAG_DELAY_ID_FC_UPDATES: QUIC_STREAM_OPEN_FLAGS = 4; +pub const QUIC_STREAM_OPEN_FLAGS_QUIC_STREAM_OPEN_FLAG_EXTERNAL_BUFFERS: QUIC_STREAM_OPEN_FLAGS = 8; pub type QUIC_STREAM_OPEN_FLAGS = ::std::os::raw::c_int; pub const QUIC_STREAM_START_FLAGS_QUIC_STREAM_START_FLAG_NONE: QUIC_STREAM_START_FLAGS = 0; pub const QUIC_STREAM_START_FLAGS_QUIC_STREAM_START_FLAG_IMMEDIATE: QUIC_STREAM_START_FLAGS = 1; @@ -5569,6 +5570,9 @@ pub type QUIC_STREAM_RECEIVE_COMPLETE_FN = ::std::option::Option; pub type QUIC_STREAM_RECEIVE_SET_ENABLED_FN = ::std::option::Option HRESULT>; +pub type QUIC_STREAM_PROVIDE_RECEIVE_BUFFERS_FN = ::std::option::Option< + unsafe extern "C" fn(Stream: HQUIC, BufferCount: u32, Buffers: *const QUIC_BUFFER) -> HRESULT, +>; pub type QUIC_DATAGRAM_SEND_FN = ::std::option::Option< unsafe extern "C" fn( Connection: HQUIC, @@ -5612,10 +5616,11 @@ pub struct QUIC_API_TABLE { pub DatagramSend: QUIC_DATAGRAM_SEND_FN, pub ConnectionResumptionTicketValidationComplete: QUIC_CONNECTION_COMP_RESUMPTION_FN, pub ConnectionCertificateValidationComplete: QUIC_CONNECTION_COMP_CERT_FN, + pub StreamProvideReceiveBuffers: QUIC_STREAM_PROVIDE_RECEIVE_BUFFERS_FN, } #[allow(clippy::unnecessary_operation, clippy::identity_op)] const _: () = { - ["Size of QUIC_API_TABLE"][::std::mem::size_of::() - 248usize]; + ["Size of QUIC_API_TABLE"][::std::mem::size_of::() - 256usize]; ["Alignment of QUIC_API_TABLE"][::std::mem::align_of::() - 8usize]; ["Offset of field: QUIC_API_TABLE::SetContext"] [::std::mem::offset_of!(QUIC_API_TABLE, SetContext) - 0usize]; @@ -5683,6 +5688,8 @@ const _: () = { QUIC_API_TABLE, ConnectionCertificateValidationComplete ) - 240usize]; + ["Offset of field: QUIC_API_TABLE::StreamProvideReceiveBuffers"] + [::std::mem::offset_of!(QUIC_API_TABLE, StreamProvideReceiveBuffers) - 248usize]; }; pub const QUIC_STATUS_SUCCESS: QUIC_STATUS = 0; pub const QUIC_STATUS_PENDING: QUIC_STATUS = 459749; diff --git a/src/inc/quic_platform.h b/src/inc/quic_platform.h index 4e56a87fd5..cf75a686f8 100644 --- a/src/inc/quic_platform.h +++ b/src/inc/quic_platform.h @@ -148,6 +148,7 @@ typedef struct CXPLAT_SLIST_ENTRY { #define QUIC_POOL_ROUTE_RESOLUTION_WORKER 'A4cQ' // Qc4A - QUIC route resolution worker #define QUIC_POOL_ROUTE_RESOLUTION_OPER 'B4cQ' // Qc4B - QUIC route resolution operation #define QUIC_POOL_EXECUTION_CONFIG 'C4cQ' // Qc4C - QUIC execution config +#define QUIC_POOL_APP_BUFFER_CHUNK 'D4cQ' // Qc4D - QUIC receive chunk for app buffers typedef enum CXPLAT_THREAD_FLAGS { CXPLAT_THREAD_FLAG_NONE = 0x0000, From 7068c61d3aaba89f672acda8e370adfa1c8bb838 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Fri, 7 Feb 2025 18:34:20 -0800 Subject: [PATCH 27/37] Validate buffer size --- src/core/api.c | 7 ++++++- src/core/recv_buffer.c | 5 ++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/core/api.c b/src/core/api.c index 11c505d5b1..036697514c 100644 --- a/src/core/api.c +++ b/src/core/api.c @@ -1387,7 +1387,12 @@ MsQuicStreamProvideReceiveBuffers( } for (uint32_t i = 0; i < BufferCount; ++i) { - if (Buffers[i].Length == 0) { + if (Buffers[i].Length == 0 || + (Buffers[i].Length & ~(UINT32_MAX >> 2)) != 0) { + // + // Check the buffer length is non-zero and fit on 31 bits. + // (Chunks lenghts are stored on 31 bits) + // Status = QUIC_STATUS_INVALID_PARAMETER; goto Error; } diff --git a/src/core/recv_buffer.c b/src/core/recv_buffer.c index a47ec7e418..add853c707 100644 --- a/src/core/recv_buffer.c +++ b/src/core/recv_buffer.c @@ -56,11 +56,14 @@ QuicRecvChunkInitialize( _In_ BOOLEAN AppOwnedBuffer ) { + CXPLAT_DBG_ASSERTMSG((AllocLength & ~(UINT32_MAX >> 2)) == 0, + "Chunk length must fit in 31 bits."); + Chunk->AllocLength = AllocLength; Chunk->Buffer = Buffer; Chunk->ExternalReference = FALSE; Chunk->AppOwnedBuffer = AppOwnedBuffer; -} + } _IRQL_requires_max_(DISPATCH_LEVEL) void From 6aa8e80cc5b080cb87251f6dabbcfb625961f4c8 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Mon, 10 Feb 2025 11:42:30 -0800 Subject: [PATCH 28/37] Rename external mode to app-owned mode --- docs/api/StreamOpen.md | 2 +- src/core/api.c | 12 ++--- src/core/recv_buffer.c | 61 +++++++++++----------- src/core/recv_buffer.h | 10 ++-- src/core/stream.c | 16 +++--- src/core/stream.h | 6 +-- src/core/unittest/RecvBufferTest.cpp | 76 ++++++++++++++-------------- src/inc/msquic.h | 4 +- src/test/lib/DataTest.cpp | 2 +- 9 files changed, 94 insertions(+), 95 deletions(-) diff --git a/docs/api/StreamOpen.md b/docs/api/StreamOpen.md index c878559365..3fcc8fb521 100644 --- a/docs/api/StreamOpen.md +++ b/docs/api/StreamOpen.md @@ -35,7 +35,7 @@ Value | Meaning **QUIC_STREAM_OPEN_FLAG_UNIDIRECTIONAL**
1 | Opens a unidirectional stream. **QUIC_STREAM_OPEN_FLAG_0_RTT**
2 | Indicates that the stream may be sent in 0-RTT. **QUIC_STREAM_OPEN_FLAG_DELAY_ID_FC_UPDATES**
4 | Indicates stream ID flow control limit updates for the connection should be delayed to StreamClose. -**QUIC_STREAM_OPEN_FLAG_EXTERNAL_BUFFERS**
5 | No buffer will be allocated for the stream, external buffers must be provided using StreamProvideReceiveBuffers. +**QUIC_STREAM_OPEN_FLAG_APP_OWNED_BUFFERS**
5 | Receive buffers are owned by the app and will be provided using StreamProvideReceiveBuffers. MsQuic won't allocate any buffers for the stream. `Handler` diff --git a/src/core/api.c b/src/core/api.c index 036697514c..bba1f2a0e7 100644 --- a/src/core/api.c +++ b/src/core/api.c @@ -658,10 +658,10 @@ MsQuicStreamOpen( goto Error; } - if (!!(Flags & QUIC_STREAM_OPEN_FLAG_EXTERNAL_BUFFERS) && + if (!!(Flags & QUIC_STREAM_OPEN_FLAG_APP_OWNED_BUFFERS) && Connection->Settings.StreamMultiReceiveEnabled) { // - // External buffers are not supported with multi-receive. + // App-owned buffers are not supported with multi-receive. // Status = QUIC_STATUS_INVALID_PARAMETER; goto Error; @@ -1413,19 +1413,19 @@ MsQuicStreamProvideReceiveBuffers( BOOLEAN IsWorkerThread = Connection->WorkerThreadID == CxPlatCurThreadID(); BOOLEAN IsAlreadyInline = Connection->State.InlineApiExecution; - if (!Stream->Flags.UseExternalRecvBuffers) { + if (!Stream->Flags.UseAppOwnedRecvBuffers) { if (Stream->Flags.PeerStreamStartEventActive) { CXPLAT_DBG_ASSERT(IsWorkerThread); // // We are inline from the callback indicating a peer opened a stream. - // No data was received yet so we can setup external buffers. + // No data was received yet so we can setup app-owned buffers. // Connection->State.InlineApiExecution = TRUE; - QuicStreamSwitchToExternalBuffers(Stream); + QuicStreamSwitchToAppOwnedBuffers(Stream); Connection->State.InlineApiExecution = IsAlreadyInline; } else { // - // External buffers can't be provided after the stream has been + // App-owned buffers can't be provided after the stream has been // started using internal buffers. // Status = QUIC_STATUS_INVALID_STATE; diff --git a/src/core/recv_buffer.c b/src/core/recv_buffer.c index add853c707..973f4bd1c4 100644 --- a/src/core/recv_buffer.c +++ b/src/core/recv_buffer.c @@ -63,7 +63,7 @@ QuicRecvChunkInitialize( Chunk->Buffer = Buffer; Chunk->ExternalReference = FALSE; Chunk->AppOwnedBuffer = AppOwnedBuffer; - } +} _IRQL_requires_max_(DISPATCH_LEVEL) void @@ -96,8 +96,8 @@ QuicRecvBufferInitialize( _In_opt_ QUIC_RECV_CHUNK* PreallocatedChunk ) { - CXPLAT_DBG_ASSERT(AllocBufferLength != 0 || RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL); - CXPLAT_DBG_ASSERT(VirtualBufferLength != 0 || RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL); + CXPLAT_DBG_ASSERT(AllocBufferLength != 0 || RecvMode == QUIC_RECV_BUF_MODE_APP_OWNED); + CXPLAT_DBG_ASSERT(VirtualBufferLength != 0 || RecvMode == QUIC_RECV_BUF_MODE_APP_OWNED); CXPLAT_DBG_ASSERT((AllocBufferLength & (AllocBufferLength - 1)) == 0); // Power of 2 CXPLAT_DBG_ASSERT((VirtualBufferLength & (VirtualBufferLength - 1)) == 0); // Power of 2 CXPLAT_DBG_ASSERT(AllocBufferLength <= VirtualBufferLength); @@ -111,7 +111,7 @@ QuicRecvBufferInitialize( QuicRangeInitialize(QUIC_MAX_RANGE_ALLOC_SIZE, &RecvBuffer->WrittenRanges); CxPlatListInitializeHead(&RecvBuffer->Chunks); - if (RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL) { + if (RecvMode != QUIC_RECV_BUF_MODE_APP_OWNED) { // // Setup an initial chunk. // @@ -212,7 +212,7 @@ QuicRecvBufferTryIncreaseVirtualBufferLength( _In_ uint32_t NewLength ) { - if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL) { + if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_APP_OWNED) { return FALSE; } @@ -228,7 +228,7 @@ QuicRecvBufferProvideChunks( _Inout_ CXPLAT_LIST_ENTRY* /* QUIC_RECV_CHUNKS */ Chunks ) { - CXPLAT_DBG_ASSERT(RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL); + CXPLAT_DBG_ASSERT(RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_APP_OWNED); CXPLAT_DBG_ASSERT(!CxPlatListIsEmpty(Chunks)); uint64_t NewBufferLength = RecvBuffer->VirtualBufferLength; @@ -275,8 +275,8 @@ QuicRecvBufferResize( ) { CXPLAT_DBG_ASSERTMSG( - RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL, - "Should never resize in External mode"); + RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_APP_OWNED, + "Should never resize in App-owned mode"); CXPLAT_DBG_ASSERT( TargetBufferLength != 0 && (TargetBufferLength & (TargetBufferLength - 1)) == 0); // Power of 2 @@ -412,7 +412,7 @@ QuicRecvBufferGetTotalAllocLength( } // - // For multiple mode and external mode, several chunks may be used at any + // For multiple mode and app-owned mode, several chunks may be used at any // point in time, so we need to consider the space allocated for all of them. // Additionally, the first one is special because it may be already partially // drained, making it only partially usable. @@ -461,7 +461,7 @@ QuicRecvBufferCopyIntoChunks( ) { // - // Copy the data into the correct chunk(s). In multiple/external mode this + // Copy the data into the correct chunk(s). In multiple/app-owned mode this // may result in copies to multiple chunks. For single/circular it should // always be just a single copy. // @@ -506,7 +506,7 @@ QuicRecvBufferCopyIntoChunks( } } else { // - // In multiple/external mode we may have to write to multiple chunks. + // In multiple/app-owned mode we may have to write to multiple chunks. // We need to find the first chunk to start writing at and then // continue copying data into the chunks until we run out. // @@ -586,7 +586,7 @@ QuicRecvBufferCopyIntoChunks( ChunkWriteLength = RecvBuffer->Capacity - (uint32_t)RelativeOffset; } if (Chunk->AllocLength < ChunkWriteOffset + ChunkWriteLength) { - CXPLAT_DBG_ASSERT(RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL); // External mode capacity will never allow a wrap around + CXPLAT_DBG_ASSERT(RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_APP_OWNED); // App-owned mode capacity will never allow a wrap around // Circular buffer wrap around case. CxPlatCopyMemory(Chunk->Buffer + ChunkWriteOffset, WriteBuffer, Chunk->AllocLength - ChunkWriteOffset); CxPlatCopyMemory(Chunk->Buffer, WriteBuffer + Chunk->AllocLength - ChunkWriteOffset, ChunkWriteLength - (Chunk->AllocLength - ChunkWriteOffset)); @@ -674,10 +674,10 @@ QuicRecvBufferWrite( // N.B. We do this before updating the written ranges below so we don't have // to support rolling back those changes on the possible allocation failure // here. - // This is skipped in external mode since the entire virtual length is + // This is skipped in app-owned mode since the entire virtual length is // always allocated. // - if (RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL) { + if (RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_APP_OWNED) { uint32_t AllocLength = QuicRecvBufferGetTotalAllocLength(RecvBuffer); if (AbsoluteLength > RecvBuffer->BaseOffset + AllocLength) { // @@ -759,9 +759,9 @@ QuicRecvBufferReadBufferNeededCount( // potential second chunk for overflow data. // return 3; - } else { // RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL + } else { // RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_APP_OWNED // - // External mode can need any number of buffer, we must count. + // App-owned mode can need any number of buffer, we must count. // // @@ -818,13 +818,13 @@ QuicRecvBufferRead( RecvBuffer->ReadPendingLength == 0 || RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_MULTIPLE); // - // Only multiple and external modes can have multiple chunks at read time. + // Only multiple and app-owned modes can have multiple chunks at read time. // Other modes would coalesce chunks during a write or drain. // CXPLAT_DBG_ASSERT( RecvBuffer->Chunks.Flink->Flink == &RecvBuffer->Chunks || RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_MULTIPLE || - RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL ); + RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_APP_OWNED ); // // Find the length of the data written in the front, after the BaseOffset. @@ -974,7 +974,7 @@ QuicRecvBufferRead( } CXPLAT_DBG_ASSERT(TotalBuffersLength <= RecvBuffer->ReadPendingLength); #endif - } else { // RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL + } else { // RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_APP_OWNED uint64_t remainingDataToRead = ContiguousLength; const uint32_t ProvidedBufferCount = *BufferCount; @@ -1071,17 +1071,17 @@ QuicRecvBufferPartialDrain( Chunk->Buffer + DrainLength, (size_t)(Chunk->AllocLength - (uint32_t)DrainLength)); // TODO - Might be able to copy less than the full alloc length - } else { // Circular, multiple and external mode. + } else { // Circular, multiple and app-owned mode. // // Increment the buffer start, making sure to account for circular // buffer wrap around. // RecvBuffer->ReadStart = (uint32_t)((RecvBuffer->ReadStart + DrainLength) % Chunk->AllocLength); - if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL || + if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_APP_OWNED || Chunk->Link.Flink != &RecvBuffer->Chunks) { // - // Shrink the capacity of the first chunk in external mode or + // Shrink the capacity of the first chunk in app-owned mode or // if there is another chunk (in circular and multiple mode, // when there is a single chunk, it is used as a circular buffer). // @@ -1102,9 +1102,9 @@ QuicRecvBufferPartialDrain( RecvBuffer->ReadPendingLength -= DrainLength; } - if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL) { + if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_APP_OWNED) { // - // In external mode, memory is never re-used: a drain consumes + // In app-owned mode, memory is never re-used: a drain consumes // virtual buffer length. // CXPLAT_DBG_ASSERT(RecvBuffer->VirtualBufferLength >= (uint32_t)DrainLength); @@ -1139,9 +1139,9 @@ QuicRecvBufferFullDrain( Chunk->ExternalReference = FALSE; RecvBuffer->ReadPendingLength -= RecvBuffer->ReadLength; } - if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL) { + if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_APP_OWNED) { // - // In external mode, memory is never re-used: a drain consumes + // In app-owned mode, memory is never re-used: a drain consumes // virtual buffer length. // RecvBuffer->VirtualBufferLength -= RecvBuffer->ReadLength; @@ -1157,10 +1157,9 @@ QuicRecvBufferFullDrain( CXPLAT_FRE_ASSERTMSG(DrainLength == 0, "App drained more than was available!"); CXPLAT_DBG_ASSERT(RecvBuffer->ReadLength == 0); - if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL) { + if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_APP_OWNED) { // - // In external mode, external chunks are never re-used: - // free the last chunk. + // In app-owned mode, chunks are never re-used: free the last chunk. // CxPlatListEntryRemove(&Chunk->Link); QuicRecvChunkFree(RecvBuffer, Chunk); @@ -1245,9 +1244,9 @@ QuicRecvBufferDrain( // drained if its capacity is entirely consumed. // PartialDrain &= (uint64_t)RecvBuffer->Capacity > DrainLength; - } else if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL) { + } else if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_APP_OWNED) { // - // In external mode, the chunk must be fully drained only if its capacity reaches 0. + // In app-owned mode, the chunk must be fully drained only if its capacity reaches 0. // Otherwise, we either have more bytes to read, or more space to write. // Contrary to other modes, we cannot reset ReadStart to the start of the buffer // whenever we drained all written data. diff --git a/src/core/recv_buffer.h b/src/core/recv_buffer.h index 5ab8f15f49..3abfd49621 100644 --- a/src/core/recv_buffer.h +++ b/src/core/recv_buffer.h @@ -13,7 +13,7 @@ typedef enum QUIC_RECV_BUF_MODE { QUIC_RECV_BUF_MODE_SINGLE, // Only one receive with a single contiguous buffer at a time. QUIC_RECV_BUF_MODE_CIRCULAR, // Only one receive that may indicate two contiguous buffers at a time. QUIC_RECV_BUF_MODE_MULTIPLE, // Multiple independent receives that may indicate up to two contiguous buffers at a time. - QUIC_RECV_BUF_MODE_EXTERNAL // Uses memory buffer provided by the app. Only one receive at a time, + QUIC_RECV_BUF_MODE_APP_OWNED // Uses memory buffers provided by the app. Only one receive at a time, // that may indicate up to the number of provided buffers. } QUIC_RECV_BUF_MODE; @@ -110,7 +110,7 @@ typedef struct QUIC_RECV_BUFFER { // // Initialize a QUIC_RECV_BUFFER. -// Can only fail if PreallocatedChunk == NULL && RecvMode != QUIC_RECV_BUF_MODE_EXTERNAL. +// Can only fail if PreallocatedChunk == NULL && RecvMode != QUIC_RECV_BUF_MODE_APP_OWNED. // PreallocatedChunk is owned by the caller and must be freed afte the buffer is uninitialized. // AppBufferChunkPool is used to allocate and free the chunk managing app-provided buffers. // @@ -162,9 +162,9 @@ QuicRecvBufferTryIncreaseVirtualBufferLength( ); // -// Provide externally allocated chunks to the buffer. -// At least one chunk must be provided. -// Only valid for QUIC_RECV_BUF_MODE_EXTERNAL mode. +// Provide app-owned buffers. At least one chunk must be provided. +// Chunks must be allocated using `AppBufferChunkPool`. +// Only valid for QUIC_RECV_BUF_MODE_APP_OWNED mode. // _IRQL_requires_max_(DISPATCH_LEVEL) QUIC_STATUS diff --git a/src/core/stream.c b/src/core/stream.c index 79aad2f8ed..a56002bdad 100644 --- a/src/core/stream.c +++ b/src/core/stream.c @@ -62,7 +62,7 @@ QuicStreamInitialize( Stream, "Configured for delayed ID FC updates"); } - Stream->Flags.UseExternalRecvBuffers = !!(Flags & QUIC_STREAM_OPEN_FLAG_EXTERNAL_BUFFERS); + Stream->Flags.UseAppOwnedRecvBuffers = !!(Flags & QUIC_STREAM_OPEN_FLAG_APP_OWNED_BUFFERS); Stream->Flags.Allocated = TRUE; Stream->Flags.SendEnabled = TRUE; Stream->Flags.ReceiveEnabled = TRUE; @@ -117,12 +117,12 @@ QuicStreamInitialize( QUIC_RECV_BUF_MODE RecvBufferMode = QUIC_RECV_BUF_MODE_CIRCULAR; if (Stream->Flags.ReceiveMultiple) { RecvBufferMode = QUIC_RECV_BUF_MODE_MULTIPLE; - } else if (Stream->Flags.UseExternalRecvBuffers) { - RecvBufferMode = QUIC_RECV_BUF_MODE_EXTERNAL; + } else if (Stream->Flags.UseAppOwnedRecvBuffers) { + RecvBufferMode = QUIC_RECV_BUF_MODE_APP_OWNED; } if (InitialRecvBufferLength == QUIC_DEFAULT_STREAM_RECV_BUFFER_SIZE && - RecvBufferMode != QUIC_RECV_BUF_MODE_EXTERNAL) { + RecvBufferMode != QUIC_RECV_BUF_MODE_APP_OWNED) { PreallocatedRecvChunk = CxPlatPoolAlloc(&Worker->DefaultReceiveBufferPool); if (PreallocatedRecvChunk == NULL) { Status = QUIC_STATUS_OUT_OF_MEMORY; @@ -974,22 +974,22 @@ QuicStreamParamGet( _IRQL_requires_max_(DISPATCH_LEVEL) void -QuicStreamSwitchToExternalBuffers( +QuicStreamSwitchToAppOwnedBuffers( _In_ QUIC_STREAM* Stream ) { QuicRecvBufferUninitialize(&Stream->RecvBuffer); // - // Rq: Can't fail when initializing in external mode. + // Rq: Can't fail when initializing in app-owned mode. // (void)QuicRecvBufferInitialize( &Stream->RecvBuffer, 0, 0, - QUIC_RECV_BUF_MODE_EXTERNAL, + QUIC_RECV_BUF_MODE_APP_OWNED, &Stream->Connection->Worker->AppBufferChunkPool, NULL); - Stream->Flags.UseExternalRecvBuffers = TRUE; + Stream->Flags.UseAppOwnedRecvBuffers = TRUE; } _IRQL_requires_max_(DISPATCH_LEVEL) diff --git a/src/core/stream.h b/src/core/stream.h index 3c4bdb62a7..6f78a8d8d6 100644 --- a/src/core/stream.h +++ b/src/core/stream.h @@ -141,7 +141,7 @@ typedef union QUIC_STREAM_FLAGS { BOOLEAN SendEnabled : 1; // Application is allowed to send data. BOOLEAN ReceiveEnabled : 1; // Application is ready for receive callbacks. BOOLEAN ReceiveMultiple : 1; // The app supports multiple parallel receive indications. - BOOLEAN UseExternalRecvBuffers : 1; // The stream is using external, app provided receive buffers. + BOOLEAN UseAppOwnedRecvBuffers : 1; // The stream is using app provided receive buffers. BOOLEAN ReceiveFlushQueued : 1; // The receive flush operation is queued. BOOLEAN ReceiveDataPending : 1; // Data (or FIN) is queued and ready for delivery. BOOLEAN ReceiveCallActive : 1; // There is an active receive to the app. @@ -1016,11 +1016,11 @@ QuicStreamRecvSetEnabledState( ); // -// Convert a stream receive buffer to external mode. +// Convert a stream receive buffer to app-owned mode. // _IRQL_requires_max_(DISPATCH_LEVEL) void -QuicStreamSwitchToExternalBuffers( +QuicStreamSwitchToAppOwnedBuffers( _In_ QUIC_STREAM *Stream ); diff --git a/src/core/unittest/RecvBufferTest.cpp b/src/core/unittest/RecvBufferTest.cpp index f893f634f8..14b7cd1b67 100644 --- a/src/core/unittest/RecvBufferTest.cpp +++ b/src/core/unittest/RecvBufferTest.cpp @@ -24,7 +24,7 @@ struct RecvBuffer { QUIC_RECV_BUFFER RecvBuf {0}; QUIC_RECV_CHUNK* PreallocChunk {nullptr}; CXPLAT_POOL AppBufferChunkPool {}; - uint8_t* ExternalBuffer {nullptr}; + uint8_t* AppOwnedBuffer {nullptr}; ~RecvBuffer() { if (RecvBuf.ReadPendingLength != 0) { Drain(RecvBuf.ReadPendingLength); @@ -34,8 +34,8 @@ struct RecvBuffer { if (PreallocChunk) { CXPLAT_FREE(PreallocChunk, QUIC_POOL_TEST); } - if (ExternalBuffer) { - CXPLAT_FREE(ExternalBuffer, QUIC_POOL_TEST); + if (AppOwnedBuffer) { + CXPLAT_FREE(AppOwnedBuffer, QUIC_POOL_TEST); } CxPlatPoolUninitialize(&AppBufferChunkPool); } @@ -60,22 +60,22 @@ struct RecvBuffer { return Result; } - if (RecvMode == QUIC_RECV_BUF_MODE_EXTERNAL && AllocBufferLength > 0) { + if (RecvMode == QUIC_RECV_BUF_MODE_APP_OWNED && AllocBufferLength > 0) { // - // If the receive mode is EXTERNAL, provide external buffers. + // In app-owned mode, provide app-owned buffers. // Provide up to two chunks, so that: // - the first chunk has `AllocBufferLength` bytes // - the sum of the two is `VirtualBufferLength` bytes // CXPLAT_LIST_ENTRY ChunkList; CxPlatListInitializeHead(&ChunkList); - ExternalBuffer = (uint8_t *)CXPLAT_ALLOC_NONPAGED(VirtualBufferLength, QUIC_POOL_TEST); + AppOwnedBuffer = (uint8_t *)CXPLAT_ALLOC_NONPAGED(VirtualBufferLength, QUIC_POOL_TEST); auto* Chunk = (QUIC_RECV_CHUNK *)CxPlatPoolAlloc(&AppBufferChunkPool); - QuicRecvChunkInitialize(Chunk, AllocBufferLength, ExternalBuffer, TRUE); + QuicRecvChunkInitialize(Chunk, AllocBufferLength, AppOwnedBuffer, TRUE); CxPlatListInsertHead(&ChunkList, &Chunk->Link); if (VirtualBufferLength > AllocBufferLength) { auto* Chunk2 = (QUIC_RECV_CHUNK *)CxPlatPoolAlloc(&AppBufferChunkPool); - QuicRecvChunkInitialize(Chunk2, VirtualBufferLength - AllocBufferLength, ExternalBuffer + AllocBufferLength, TRUE); + QuicRecvChunkInitialize(Chunk2, VirtualBufferLength - AllocBufferLength, AppOwnedBuffer + AllocBufferLength, TRUE); CxPlatListInsertTail(&ChunkList, &Chunk2->Link); } Result = QuicRecvBufferProvideChunks(&RecvBuf, &ChunkList); @@ -108,7 +108,7 @@ struct RecvBuffer { ) { CXPLAT_LIST_ENTRY ChunkList; - QUIC_STATUS Status = MakeExternalChunks(Sizes, BufferSize, Buffer, &ChunkList); + QUIC_STATUS Status = MakeAppOwnedChunks(Sizes, BufferSize, Buffer, &ChunkList); if (Status != QUIC_STATUS_SUCCESS) { return Status; } @@ -260,9 +260,9 @@ struct RecvBuffer { } // - // Helper to build a list of external chunks + // Helper to build a list of app-owned chunks // - QUIC_STATUS MakeExternalChunks( + QUIC_STATUS MakeAppOwnedChunks( const std::vector& ChunkSizes, size_t BufferSize, _In_reads_bytes_(BufferSize) uint8_t* Buffer, @@ -615,7 +615,7 @@ TEST_P(WithMode, MultiWriteLarge) RecvBuf.Read(&ReadOffset, &BufferCount, ReadBuffers); ASSERT_FALSE(RecvBuf.HasUnreadData()); ASSERT_EQ(0ull, ReadOffset); - if (Mode == QUIC_RECV_BUF_MODE_EXTERNAL) { + if (Mode == QUIC_RECV_BUF_MODE_APP_OWNED) { ASSERT_EQ(2u, BufferCount); ASSERT_EQ(64u, ReadBuffers[0].Length); ASSERT_EQ(192u, ReadBuffers[1].Length); @@ -679,7 +679,7 @@ TEST_P(WithMode, ReadPartial) ASSERT_EQ(16ull, ReadOffset); ASSERT_EQ(1u, BufferCount); ASSERT_EQ(64u, ReadBuffers[0].Length); - } else { // Mode == QUIC_RECV_BUF_MODE_CIRCULAR || QUIC_RECV_BUF_MODE_EXTERNAL + } else { // Mode == QUIC_RECV_BUF_MODE_CIRCULAR || QUIC_RECV_BUF_MODE_APP_OWNED ASSERT_EQ(16ull, ReadOffset); ASSERT_EQ(2u, BufferCount); ASSERT_EQ(48u, ReadBuffers[0].Length); @@ -734,7 +734,7 @@ TEST_P(WithMode, ReadPendingMultiWrite) ASSERT_FALSE(RecvBuf.HasUnreadData()); ASSERT_EQ(32ull, ReadOffset); if (Mode == QUIC_RECV_BUF_MODE_MULTIPLE || - Mode == QUIC_RECV_BUF_MODE_EXTERNAL) { + Mode == QUIC_RECV_BUF_MODE_APP_OWNED) { ASSERT_EQ(2u, BufferCount); ASSERT_EQ(32u, ReadBuffers[0].Length); ASSERT_EQ(16u, ReadBuffers[1].Length); @@ -1681,18 +1681,18 @@ TEST(MultiRecvTest, ReadPendingOver2Chunk) RecvBuf.Drain(8); } -TEST(ExternalBuffersTest, ProvideChunks) +TEST(AppOwnedBuffersTest, ProvideChunks) { RecvBuffer RecvBuf; - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_EXTERNAL, false, 0, 0)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_APP_OWNED, false, 0, 0)); // - // Providing external chunks succeeds right after initialization. + // Providing app-owned chunks succeeds right after initialization. // std::array Buffer{}; std::vector ChunkSizes{8u, 8u}; CXPLAT_LIST_ENTRY ChunkList; - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.MakeAppOwnedChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(ChunkList)); ASSERT_TRUE(CxPlatListIsEmpty(&ChunkList)); @@ -1701,28 +1701,28 @@ TEST(ExternalBuffersTest, ProvideChunks) RecvBuf.Write(0, 8, &InOutWriteLength, &NewDataReady); // - // More external buffers can be added, even after a write. + // More app-owned buffers can be added, even after a write. // std::array Buffer2{}; std::vector ChunkSizes2{8u, 8u}; - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.MakeExternalChunks(ChunkSizes2, Buffer2.size(), Buffer2.data(), &ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.MakeAppOwnedChunks(ChunkSizes2, Buffer2.size(), Buffer2.data(), &ChunkList)); ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.ProvideChunks(ChunkList)); ASSERT_TRUE(CxPlatListIsEmpty(&ChunkList)); } -TEST(ExternalBuffersTest, ProvideChunksOverflow) +TEST(AppOwnedBuffersTest, ProvideChunksOverflow) { RecvBuffer RecvBuf; - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_EXTERNAL, false, 0, 0)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_APP_OWNED, false, 0, 0)); // - // Ensure external buffers cannot be provided in a way that would overflow + // Ensure app-owned buffers cannot be provided in a way that would overflow // the virtual size. // std::array Buffer{}; std::vector ChunkSizes{8u, 8u, 8u}; CXPLAT_LIST_ENTRY ChunkList; - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.MakeExternalChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.MakeAppOwnedChunks(ChunkSizes, Buffer.size(), Buffer.data(), &ChunkList)); for (CXPLAT_LIST_ENTRY* Entry = ChunkList.Flink; Entry != &ChunkList; @@ -1741,10 +1741,10 @@ TEST(ExternalBuffersTest, ProvideChunksOverflow) RecvBuf.FreeChunkList(ChunkList); } -TEST(ExternalBuffersTest, PartialDrain) +TEST(AppOwnedBuffersTest, PartialDrain) { RecvBuffer RecvBuf; - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_EXTERNAL, false, 0, 0)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_APP_OWNED, false, 0, 0)); const uint32_t NbChunks = 2; std::array Buffer{}; @@ -1765,10 +1765,10 @@ TEST(ExternalBuffersTest, PartialDrain) RecvBuf.RecvBuf.Capacity = 4; } -TEST(ExternalBuffersTest, ReadWriteManyChunks) +TEST(AppOwnedBuffersTest, ReadWriteManyChunks) { RecvBuffer RecvBuf; - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_EXTERNAL, false, 0, 0)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_APP_OWNED, false, 0, 0)); const uint32_t NbChunks = 5; std::array Buffer{}; @@ -1794,10 +1794,10 @@ TEST(ExternalBuffersTest, ReadWriteManyChunks) RecvBuf.Check(6, 0, 2, ExternalReferences.data()); } -TEST(ExternalBuffersTest, NumberOfBufferNeededForRead) +TEST(AppOwnedBuffersTest, NumberOfBufferNeededForRead) { RecvBuffer RecvBuf; - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_EXTERNAL, false, 0, 0)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_APP_OWNED, false, 0, 0)); const uint32_t NbChunks = 5; std::array Buffer{}; @@ -1821,7 +1821,7 @@ TEST(ExternalBuffersTest, NumberOfBufferNeededForRead) ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Write(16, 20, &InOutWriteLength, &NewDataReady)); ASSERT_EQ(RecvBuf.ReadBufferNeededCount(), 5); - // Reading with less buffers than needed still works in external mode. + // Reading with less buffers than needed still works in app-owned mode. // (3 are needed for other modes) QUIC_BUFFER Buffers[5]{}; uint32_t NumBuffers = 3; @@ -1839,10 +1839,10 @@ TEST(ExternalBuffersTest, NumberOfBufferNeededForRead) ASSERT_EQ(RecvBuf.ReadBufferNeededCount(), 2); } -TEST(ExternalBuffersTest, WriteTooLong) +TEST(AppOwnedBuffersTest, WriteTooLong) { RecvBuffer RecvBuf; - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_EXTERNAL, false, 0, 0)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_APP_OWNED, false, 0, 0)); std::array Buffer{}; std::vector ChunkSizes{8u, 8u}; @@ -1856,10 +1856,10 @@ TEST(ExternalBuffersTest, WriteTooLong) ASSERT_EQ(QUIC_STATUS_BUFFER_TOO_SMALL, RecvBuf.Write(0, 17, &InOutWriteLength, &NewDataReady)); } -TEST(ExternalBuffersTest, OutOfBuffers) +TEST(AppOwnedBuffersTest, OutOfBuffers) { RecvBuffer RecvBuf; - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_EXTERNAL, false, 0, 0)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_APP_OWNED, false, 0, 0)); std::array Buffer{}; std::vector ChunkSizes{DEF_TEST_BUFFER_LENGTH}; @@ -1901,10 +1901,10 @@ TEST(ExternalBuffersTest, OutOfBuffers) RecvBuf.Drain(8); } -TEST(ExternalBuffersTest, FreeBufferBeforeDrain) +TEST(AppOwnedBuffersTest, FreeBufferBeforeDrain) { RecvBuffer RecvBuf; - ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_EXTERNAL, false, 0, 0)); + ASSERT_EQ(QUIC_STATUS_SUCCESS, RecvBuf.Initialize(QUIC_RECV_BUF_MODE_APP_OWNED, false, 0, 0)); auto Buffer1 = std::make_unique(DEF_TEST_BUFFER_LENGTH); std::array Buffer2{}; @@ -1937,5 +1937,5 @@ TEST(ExternalBuffersTest, FreeBufferBeforeDrain) INSTANTIATE_TEST_SUITE_P( RecvBufferTest, WithMode, - ::testing::Values(QUIC_RECV_BUF_MODE_SINGLE, QUIC_RECV_BUF_MODE_CIRCULAR, QUIC_RECV_BUF_MODE_MULTIPLE, QUIC_RECV_BUF_MODE_EXTERNAL), + ::testing::Values(QUIC_RECV_BUF_MODE_SINGLE, QUIC_RECV_BUF_MODE_CIRCULAR, QUIC_RECV_BUF_MODE_MULTIPLE, QUIC_RECV_BUF_MODE_APP_OWNED), testing::PrintToStringParamName()); diff --git a/src/inc/msquic.h b/src/inc/msquic.h index ef87962e7b..ab33320740 100644 --- a/src/inc/msquic.h +++ b/src/inc/msquic.h @@ -200,8 +200,8 @@ typedef enum QUIC_STREAM_OPEN_FLAGS { QUIC_STREAM_OPEN_FLAG_DELAY_ID_FC_UPDATES = 0x0004, // Indicates stream ID flow control limit updates for the // connection should be delayed to StreamClose. #ifdef QUIC_API_ENABLE_PREVIEW_FEATURES - QUIC_STREAM_OPEN_FLAG_EXTERNAL_BUFFERS = 0x0008, // No buffer will be allocated for the stream, external buffers - // must be provided (see StreamProvideReceiveBuffers) + QUIC_STREAM_OPEN_FLAG_APP_OWNED_BUFFERS = 0x0008, // No buffer will be allocated for the stream, the app must + // provide buffers (see StreamProvideReceiveBuffers) #endif } QUIC_STREAM_OPEN_FLAGS; diff --git a/src/test/lib/DataTest.cpp b/src/test/lib/DataTest.cpp index fc25db9450..044cf3381c 100644 --- a/src/test/lib/DataTest.cpp +++ b/src/test/lib/DataTest.cpp @@ -4678,7 +4678,7 @@ QuicTestStreamAppProvidedBuffers( MsQuicStream ClientStream( Connection, - QUIC_STREAM_OPEN_FLAG_EXTERNAL_BUFFERS, + QUIC_STREAM_OPEN_FLAG_APP_OWNED_BUFFERS, CleanUpManual, AppBuffersReceiverContext::StreamCallback, &ReceiveContext); From 72c24148415e710681aa2d9c001336638ba10ee6 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Mon, 10 Feb 2025 11:50:36 -0800 Subject: [PATCH 29/37] Send STREAM_SEND_MAX_DATA when new buffers are provided --- src/core/stream.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/core/stream.c b/src/core/stream.c index a56002bdad..782a9c9746 100644 --- a/src/core/stream.c +++ b/src/core/stream.c @@ -1003,10 +1003,13 @@ QuicStreamProvideRecvBuffers( if (Status == QUIC_STATUS_SUCCESS) { // Update the maximum allowed received size to take into account the new // capacity. - // TODO guhetier: If done outside of a receive / before the stream start, - // and the recv window was zero before, may need to send a MAX_STREAM_DATA update to the peer. Stream->MaxAllowedRecvOffset = Stream->RecvBuffer.BaseOffset + Stream->RecvBuffer.VirtualBufferLength; + QuicSendSetStreamSendFlag( + &Stream->Connection->Send, + Stream, + QUIC_STREAM_SEND_FLAG_MAX_DATA, + FALSE); } return Status; } \ No newline at end of file From b8ec4366a63f7bc884d8fa808e011354b0dec245 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Mon, 10 Feb 2025 11:57:01 -0800 Subject: [PATCH 30/37] C++ Api --- src/inc/msquic.hpp | 8 ++++++++ src/test/lib/DataTest.cpp | 12 ++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/inc/msquic.hpp b/src/inc/msquic.hpp index f051e84139..7e82641660 100644 --- a/src/inc/msquic.hpp +++ b/src/inc/msquic.hpp @@ -1597,6 +1597,14 @@ struct MsQuicStream { Offset); } + QUIC_STATUS + ProvideReceiveBuffers( + _In_ uint32_t BufferCount, + _In_reads_(BufferCount) const QUIC_BUFFER* Buffers + ) const noexcept { + return MsQuic->StreamProvideReceiveBuffers(Handle, BufferCount, Buffers); + } + QUIC_STATUS GetReliableOffsetRecv(_Out_ uint64_t* Offset) const noexcept { uint32_t Size = sizeof(*Offset); diff --git a/src/test/lib/DataTest.cpp b/src/test/lib/DataTest.cpp index 044cf3381c..ecea46bdab 100644 --- a/src/test/lib/DataTest.cpp +++ b/src/test/lib/DataTest.cpp @@ -4548,9 +4548,12 @@ struct AppBuffersReceiverContext { auto ReceiverContext = (AppBuffersReceiverContext*)Context; if (Event->Type == QUIC_CONNECTION_EVENT_PEER_STREAM_STARTED) { - new(std::nothrow) MsQuicStream(Event->PEER_STREAM_STARTED.Stream, CleanUpAutoDelete, AppBuffersReceiverContext::StreamCallback, Context); - MsQuic->StreamProvideReceiveBuffers( + auto* Stream = new(std::nothrow) MsQuicStream( Event->PEER_STREAM_STARTED.Stream, + CleanUpAutoDelete, + AppBuffersReceiverContext::StreamCallback, + Context); + Stream->ProvideReceiveBuffers( ReceiverContext->NumBuffersForStreamStarted, ReceiverContext->BuffersForStreamStarted); } @@ -4686,10 +4689,7 @@ QuicTestStreamAppProvidedBuffers( TEST_QUIC_SUCCEEDED(ClientStream.GetInitStatus()); // Provide receive buffers before starting the stream - MsQuic->StreamProvideReceiveBuffers( - ClientStream, - ARRAYSIZE(QuicBuffers), - QuicBuffers); + ClientStream.ProvideReceiveBuffers(ARRAYSIZE(QuicBuffers), QuicBuffers); TEST_QUIC_SUCCEEDED(ClientStream.Start(QUIC_STREAM_START_FLAG_IMMEDIATE)); From efd7360cdc62379cff1d78038aaba18d5fb70341 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Mon, 10 Feb 2025 11:59:38 -0800 Subject: [PATCH 31/37] Update C# bindings --- src/cs/lib/msquic_generated.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cs/lib/msquic_generated.cs b/src/cs/lib/msquic_generated.cs index 7a942a0c34..3fc4c0e3a6 100644 --- a/src/cs/lib/msquic_generated.cs +++ b/src/cs/lib/msquic_generated.cs @@ -153,7 +153,7 @@ internal enum QUIC_STREAM_OPEN_FLAGS UNIDIRECTIONAL = 0x0001, ZERO_RTT = 0x0002, DELAY_ID_FC_UPDATES = 0x0004, - EXTERNAL_BUFFERS = 0x0008, + APP_OWNED_BUFFERS = 0x0008, } [System.Flags] From 18356309ddfb3aa74fd76431cd41c9020853dfbe Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Mon, 10 Feb 2025 12:23:47 -0800 Subject: [PATCH 32/37] Update Rust bindings --- src/ffi/linux_bindings.rs | 13 +------------ src/ffi/win_bindings.rs | 9 +-------- 2 files changed, 2 insertions(+), 20 deletions(-) diff --git a/src/ffi/linux_bindings.rs b/src/ffi/linux_bindings.rs index de66a70376..35b5a86a8e 100644 --- a/src/ffi/linux_bindings.rs +++ b/src/ffi/linux_bindings.rs @@ -354,7 +354,6 @@ pub const QUIC_STREAM_OPEN_FLAGS_QUIC_STREAM_OPEN_FLAG_UNIDIRECTIONAL: QUIC_STRE pub const QUIC_STREAM_OPEN_FLAGS_QUIC_STREAM_OPEN_FLAG_0_RTT: QUIC_STREAM_OPEN_FLAGS = 2; pub const QUIC_STREAM_OPEN_FLAGS_QUIC_STREAM_OPEN_FLAG_DELAY_ID_FC_UPDATES: QUIC_STREAM_OPEN_FLAGS = 4; -pub const QUIC_STREAM_OPEN_FLAGS_QUIC_STREAM_OPEN_FLAG_EXTERNAL_BUFFERS: QUIC_STREAM_OPEN_FLAGS = 8; pub type QUIC_STREAM_OPEN_FLAGS = ::std::os::raw::c_uint; pub const QUIC_STREAM_START_FLAGS_QUIC_STREAM_START_FLAG_NONE: QUIC_STREAM_START_FLAGS = 0; pub const QUIC_STREAM_START_FLAGS_QUIC_STREAM_START_FLAG_IMMEDIATE: QUIC_STREAM_START_FLAGS = 1; @@ -5545,13 +5544,6 @@ pub type QUIC_STREAM_RECEIVE_COMPLETE_FN = pub type QUIC_STREAM_RECEIVE_SET_ENABLED_FN = ::std::option::Option< unsafe extern "C" fn(Stream: HQUIC, IsEnabled: BOOLEAN) -> ::std::os::raw::c_uint, >; -pub type QUIC_STREAM_PROVIDE_RECEIVE_BUFFERS_FN = ::std::option::Option< - unsafe extern "C" fn( - Stream: HQUIC, - BufferCount: u32, - Buffers: *const QUIC_BUFFER, - ) -> ::std::os::raw::c_uint, ->; pub type QUIC_DATAGRAM_SEND_FN = ::std::option::Option< unsafe extern "C" fn( Connection: HQUIC, @@ -5595,11 +5587,10 @@ pub struct QUIC_API_TABLE { pub DatagramSend: QUIC_DATAGRAM_SEND_FN, pub ConnectionResumptionTicketValidationComplete: QUIC_CONNECTION_COMP_RESUMPTION_FN, pub ConnectionCertificateValidationComplete: QUIC_CONNECTION_COMP_CERT_FN, - pub StreamProvideReceiveBuffers: QUIC_STREAM_PROVIDE_RECEIVE_BUFFERS_FN, } #[allow(clippy::unnecessary_operation, clippy::identity_op)] const _: () = { - ["Size of QUIC_API_TABLE"][::std::mem::size_of::() - 256usize]; + ["Size of QUIC_API_TABLE"][::std::mem::size_of::() - 248usize]; ["Alignment of QUIC_API_TABLE"][::std::mem::align_of::() - 8usize]; ["Offset of field: QUIC_API_TABLE::SetContext"] [::std::mem::offset_of!(QUIC_API_TABLE, SetContext) - 0usize]; @@ -5667,8 +5658,6 @@ const _: () = { QUIC_API_TABLE, ConnectionCertificateValidationComplete ) - 240usize]; - ["Offset of field: QUIC_API_TABLE::StreamProvideReceiveBuffers"] - [::std::mem::offset_of!(QUIC_API_TABLE, StreamProvideReceiveBuffers) - 248usize]; }; pub const QUIC_STATUS_SUCCESS: QUIC_STATUS = 0; pub const QUIC_STATUS_PENDING: QUIC_STATUS = 4294967294; diff --git a/src/ffi/win_bindings.rs b/src/ffi/win_bindings.rs index 32e8651269..df218d883b 100644 --- a/src/ffi/win_bindings.rs +++ b/src/ffi/win_bindings.rs @@ -353,7 +353,6 @@ pub const QUIC_STREAM_OPEN_FLAGS_QUIC_STREAM_OPEN_FLAG_UNIDIRECTIONAL: QUIC_STRE pub const QUIC_STREAM_OPEN_FLAGS_QUIC_STREAM_OPEN_FLAG_0_RTT: QUIC_STREAM_OPEN_FLAGS = 2; pub const QUIC_STREAM_OPEN_FLAGS_QUIC_STREAM_OPEN_FLAG_DELAY_ID_FC_UPDATES: QUIC_STREAM_OPEN_FLAGS = 4; -pub const QUIC_STREAM_OPEN_FLAGS_QUIC_STREAM_OPEN_FLAG_EXTERNAL_BUFFERS: QUIC_STREAM_OPEN_FLAGS = 8; pub type QUIC_STREAM_OPEN_FLAGS = ::std::os::raw::c_int; pub const QUIC_STREAM_START_FLAGS_QUIC_STREAM_START_FLAG_NONE: QUIC_STREAM_START_FLAGS = 0; pub const QUIC_STREAM_START_FLAGS_QUIC_STREAM_START_FLAG_IMMEDIATE: QUIC_STREAM_START_FLAGS = 1; @@ -5570,9 +5569,6 @@ pub type QUIC_STREAM_RECEIVE_COMPLETE_FN = ::std::option::Option; pub type QUIC_STREAM_RECEIVE_SET_ENABLED_FN = ::std::option::Option HRESULT>; -pub type QUIC_STREAM_PROVIDE_RECEIVE_BUFFERS_FN = ::std::option::Option< - unsafe extern "C" fn(Stream: HQUIC, BufferCount: u32, Buffers: *const QUIC_BUFFER) -> HRESULT, ->; pub type QUIC_DATAGRAM_SEND_FN = ::std::option::Option< unsafe extern "C" fn( Connection: HQUIC, @@ -5616,11 +5612,10 @@ pub struct QUIC_API_TABLE { pub DatagramSend: QUIC_DATAGRAM_SEND_FN, pub ConnectionResumptionTicketValidationComplete: QUIC_CONNECTION_COMP_RESUMPTION_FN, pub ConnectionCertificateValidationComplete: QUIC_CONNECTION_COMP_CERT_FN, - pub StreamProvideReceiveBuffers: QUIC_STREAM_PROVIDE_RECEIVE_BUFFERS_FN, } #[allow(clippy::unnecessary_operation, clippy::identity_op)] const _: () = { - ["Size of QUIC_API_TABLE"][::std::mem::size_of::() - 256usize]; + ["Size of QUIC_API_TABLE"][::std::mem::size_of::() - 248usize]; ["Alignment of QUIC_API_TABLE"][::std::mem::align_of::() - 8usize]; ["Offset of field: QUIC_API_TABLE::SetContext"] [::std::mem::offset_of!(QUIC_API_TABLE, SetContext) - 0usize]; @@ -5688,8 +5683,6 @@ const _: () = { QUIC_API_TABLE, ConnectionCertificateValidationComplete ) - 240usize]; - ["Offset of field: QUIC_API_TABLE::StreamProvideReceiveBuffers"] - [::std::mem::offset_of!(QUIC_API_TABLE, StreamProvideReceiveBuffers) - 248usize]; }; pub const QUIC_STATUS_SUCCESS: QUIC_STATUS = 0; pub const QUIC_STATUS_PENDING: QUIC_STATUS = 459749; From 6639212656a4a1b5958ef71809ad0b41677773cb Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Mon, 10 Feb 2025 13:09:49 -0800 Subject: [PATCH 33/37] Fix compilation errors --- src/core/api.c | 3 +- src/core/library.c | 3 -- src/core/recv_buffer.c | 73 ++++++++++++++++++++++-------------------- 3 files changed, 40 insertions(+), 39 deletions(-) diff --git a/src/core/api.c b/src/core/api.c index bba1f2a0e7..2c36fb08eb 100644 --- a/src/core/api.c +++ b/src/core/api.c @@ -1490,10 +1490,9 @@ MsQuicStreamProvideReceiveBuffers( // Queue the operation but don't wait for the completion. // QuicConnQueueOper(Connection, Oper); + Status = QUIC_STATUS_SUCCESS; } - Status = QUIC_STATUS_SUCCESS; - Error: // // Cleanup allocated chunks if the operation failed. diff --git a/src/core/library.c b/src/core/library.c index 4e74d8f32d..09802a1168 100644 --- a/src/core/library.c +++ b/src/core/library.c @@ -1798,10 +1798,7 @@ MsQuicOpenVersion( Api->StreamSend = MsQuicStreamSend; Api->StreamReceiveComplete = MsQuicStreamReceiveComplete; Api->StreamReceiveSetEnabled = MsQuicStreamReceiveSetEnabled; - -#ifdef QUIC_API_ENABLE_PREVIEW_FEATURES Api->StreamProvideReceiveBuffers = MsQuicStreamProvideReceiveBuffers; -#endif Api->DatagramSend = MsQuicDatagramSend; diff --git a/src/core/recv_buffer.c b/src/core/recv_buffer.c index 973f4bd1c4..1325878336 100644 --- a/src/core/recv_buffer.c +++ b/src/core/recv_buffer.c @@ -748,55 +748,60 @@ QuicRecvBufferReadBufferNeededCount( // Single mode only ever need one buffer, that's what it's designed for. // return 1; - } else if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_CIRCULAR) { + } + + if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_CIRCULAR) { // // Circular mode need up to two buffers to deal with wrap around. // return 2; - } else if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_MULTIPLE) { + } + + if (RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_MULTIPLE) { // // Multiple mode need up to three buffers to deal with wrap around and a // potential second chunk for overflow data. // return 3; - } else { // RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_APP_OWNED - // - // App-owned mode can need any number of buffer, we must count. - // + } - // - // Determine how much data is readable - // - const QUIC_SUBRANGE* FirstRange = QuicRangeGetSafe(&RecvBuffer->WrittenRanges, 0); - if (!FirstRange) { - return 0; - } - const uint64_t ReadableData = FirstRange->Count - RecvBuffer->BaseOffset; + // + // RecvBuffer->RecvMode == QUIC_RECV_BUF_MODE_APP_OWNED + // App-owned mode can need any number of buffer, we must count. + // - // - // Iterate through the chunks until they can contain all the readable data, - // to find the number of buffers needed. - // - CXPLAT_DBG_ASSERT(!CxPlatListIsEmpty(&RecvBuffer->Chunks)); - QUIC_RECV_CHUNK* Chunk = + // + // Determine how much data is readable + // + const QUIC_SUBRANGE* FirstRange = QuicRangeGetSafe(&RecvBuffer->WrittenRanges, 0); + if (!FirstRange) { + return 0; + } + const uint64_t ReadableData = FirstRange->Count - RecvBuffer->BaseOffset; + + // + // Iterate through the chunks until they can contain all the readable data, + // to find the number of buffers needed. + // + CXPLAT_DBG_ASSERT(!CxPlatListIsEmpty(&RecvBuffer->Chunks)); + QUIC_RECV_CHUNK* Chunk = + CXPLAT_CONTAINING_RECORD( + RecvBuffer->Chunks.Flink, + QUIC_RECV_CHUNK, + Link); + uint32_t DataInChunks = RecvBuffer->Capacity; + uint32_t BufferCount = 1; + + while (ReadableData > DataInChunks) { + Chunk = CXPLAT_CONTAINING_RECORD( - RecvBuffer->Chunks.Flink, + Chunk->Link.Flink, QUIC_RECV_CHUNK, Link); - uint32_t DataInChunks = RecvBuffer->Capacity; - uint32_t BufferCount = 1; - - while (ReadableData > DataInChunks) { - Chunk = - CXPLAT_CONTAINING_RECORD( - Chunk->Link.Flink, - QUIC_RECV_CHUNK, - Link); - DataInChunks += Chunk->AllocLength; - BufferCount++; - } - return BufferCount; + DataInChunks += Chunk->AllocLength; + BufferCount++; } + return BufferCount; } _IRQL_requires_max_(DISPATCH_LEVEL) From 41042030fb294c08db025b54d459c5c131f14ba2 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Mon, 10 Feb 2025 17:37:00 -0800 Subject: [PATCH 34/37] Remove invalid assertion --- src/core/recv_buffer.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/core/recv_buffer.c b/src/core/recv_buffer.c index 1325878336..1d944ef7fa 100644 --- a/src/core/recv_buffer.c +++ b/src/core/recv_buffer.c @@ -72,8 +72,6 @@ QuicRecvChunkFree( _In_ QUIC_RECV_CHUNK* Chunk ) { - CXPLAT_DBG_ASSERT(!Chunk->ExternalReference); - if (Chunk == RecvBuffer->PreallocatedChunk) { return; } @@ -1211,7 +1209,7 @@ QuicRecvBufferDrain( CXPLAT_DBG_ASSERT(DrainLength <= RecvBuffer->ReadPendingLength); // - // Mark chunks as no longer externally referenced reset the read-pending data length. + // Mark chunks as no longer externally referenced and reset the read-pending data length. // For Multiple mode, this is done when each chunk is drained. // if (RecvBuffer->RecvMode != QUIC_RECV_BUF_MODE_MULTIPLE) { From cab13f195a88f82d87401d1d361c3118a054907f Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Tue, 11 Feb 2025 15:27:27 -0800 Subject: [PATCH 35/37] Fix test and add a zero window test --- src/core/unittest/RecvBufferTest.cpp | 4 +- src/test/MsQuicTests.h | 3 + src/test/bin/quic_gtest.cpp | 11 ++ src/test/lib/DataTest.cpp | 239 ++++++++++++++++++++++++--- 4 files changed, 230 insertions(+), 27 deletions(-) diff --git a/src/core/unittest/RecvBufferTest.cpp b/src/core/unittest/RecvBufferTest.cpp index 14b7cd1b67..1cd273d2be 100644 --- a/src/core/unittest/RecvBufferTest.cpp +++ b/src/core/unittest/RecvBufferTest.cpp @@ -51,6 +51,7 @@ struct RecvBuffer { (QUIC_RECV_CHUNK*)CXPLAT_ALLOC_NONPAGED( sizeof(QUIC_RECV_CHUNK) + AllocBufferLength, QUIC_POOL_TEST); + QuicRecvChunkInitialize(PreallocChunk, AllocBufferLength, (uint8_t*)(PreallocChunk + 1), FALSE); } printf("Initializing: [mode=%u,vlen=%u,alen=%u]\n", RecvMode, VirtualBufferLength, AllocBufferLength); @@ -79,9 +80,6 @@ struct RecvBuffer { CxPlatListInsertTail(&ChunkList, &Chunk2->Link); } Result = QuicRecvBufferProvideChunks(&RecvBuf, &ChunkList); - } else { - Result = QuicRecvBufferInitialize( - &RecvBuf, AllocBufferLength, VirtualBufferLength, RecvMode, &AppBufferChunkPool, PreallocChunk); } Dump(); diff --git a/src/test/MsQuicTests.h b/src/test/MsQuicTests.h index 2cb6a42068..57e8561477 100644 --- a/src/test/MsQuicTests.h +++ b/src/test/MsQuicTests.h @@ -606,6 +606,9 @@ QuicTestEcn( void QuicTestStreamAppProvidedBuffers( ); +void QuicTestStreamAppProvidedBuffersZeroWindow( + ); + // // QuicDrill tests // diff --git a/src/test/bin/quic_gtest.cpp b/src/test/bin/quic_gtest.cpp index 873ba07366..866ccde69f 100644 --- a/src/test/bin/quic_gtest.cpp +++ b/src/test/bin/quic_gtest.cpp @@ -2265,6 +2265,17 @@ TEST(Misc, StreamAppProvidedBuffers) { QuicTestStreamAppProvidedBuffers(); } } + +TEST(Misc, StreamAppProvidedBuffersZeroWindow) { + TestLogger Logger("StreamAppProvidedBuffersZeroWindow"); + if (TestingKernelMode) { + // GTEST_SKIP(); + // TODO guhetier: Implement + // ASSERT_TRUE(DriverClient.Run(IOCTL_QUIC_RUN_STREAM_APP_PROVIDED_BUFFERS_ZERO_WINDOW)); + } else { + QuicTestStreamAppProvidedBuffersZeroWindow(); + } +} #endif // QUIC_API_ENABLE_PREVIEW_FEATURES TEST(Misc, StreamBlockUnblockUnidiConnFlowControl) { diff --git a/src/test/lib/DataTest.cpp b/src/test/lib/DataTest.cpp index ecea46bdab..a6ad2c4802 100644 --- a/src/test/lib/DataTest.cpp +++ b/src/test/lib/DataTest.cpp @@ -4536,24 +4536,37 @@ struct AppBuffersSenderContext { // Helper context to receive data on a stream struct AppBuffersReceiverContext { + MsQuicStream* Stream{}; + // App buffers to provide when a peer stream is received QUIC_BUFFER *BuffersForStreamStarted{}; uint32_t NumBuffersForStreamStarted{}; + // App buffers to provide when MoreBufferThreshold bytes have been received + QUIC_BUFFER *BuffersForThreshold{}; + uint32_t NumBuffersForThreshold{}; + uint64_t MoreBufferThreshold{}; + uint64_t ReceivedBytes{}; - CxPlatEvent StreamClosed{}; + + // Event to signal when the sender stream get closed + CxPlatEvent SenderStreamClosed{}; + + // Event to signal when at least + CxPlatEvent ReceivedBytesThresholdReached{}; + uint64_t ReceivedBytesThreshold{}; // Accept a stream on the listener side (no need to keep the handle to it) static QUIC_STATUS ConnCallback(_In_ MsQuicConnection*, _In_opt_ void* Context, _Inout_ QUIC_CONNECTION_EVENT* Event) { auto ReceiverContext = (AppBuffersReceiverContext*)Context; if (Event->Type == QUIC_CONNECTION_EVENT_PEER_STREAM_STARTED) { - auto* Stream = new(std::nothrow) MsQuicStream( + ReceiverContext->Stream = new(std::nothrow) MsQuicStream( Event->PEER_STREAM_STARTED.Stream, CleanUpAutoDelete, AppBuffersReceiverContext::StreamCallback, Context); - Stream->ProvideReceiveBuffers( + ReceiverContext->Stream->ProvideReceiveBuffers( ReceiverContext->NumBuffersForStreamStarted, ReceiverContext->BuffersForStreamStarted); } @@ -4564,8 +4577,23 @@ struct AppBuffersReceiverContext { auto ReceiverContext = (AppBuffersReceiverContext*)Context; if (Event->Type == QUIC_STREAM_EVENT_RECEIVE) { ReceiverContext->ReceivedBytes += Event->RECEIVE.TotalBufferLength; - } else if (Event->Type == QUIC_STREAM_EVENT_SHUTDOWN_COMPLETE) { - ReceiverContext->StreamClosed.Set(); + + if (ReceiverContext->MoreBufferThreshold > 0 && + ReceiverContext->ReceivedBytes >= ReceiverContext->MoreBufferThreshold) { + // Provide more buffers if needed + ReceiverContext->Stream->ProvideReceiveBuffers( + ReceiverContext->NumBuffersForThreshold, + ReceiverContext->BuffersForThreshold); + ReceiverContext->MoreBufferThreshold = 0; + } + + if (ReceiverContext->ReceivedBytesThreshold > 0 && + ReceiverContext->ReceivedBytes >= ReceiverContext->ReceivedBytesThreshold) { + ReceiverContext->ReceivedBytesThresholdReached.Set(); + ReceiverContext->ReceivedBytesThreshold = 0; + } + } else if (Event->Type == QUIC_STREAM_EVENT_PEER_SEND_SHUTDOWN) { + ReceiverContext->SenderStreamClosed.Set(); } return QUIC_STATUS_SUCCESS; } @@ -4579,12 +4607,12 @@ QuicTestStreamAppProvidedBuffers( TEST_QUIC_SUCCEEDED(Registration.GetInitStatus()); MsQuicConfiguration ServerConfiguration(Registration, "MsQuicTest", - MsQuicSettings().SetPeerUnidiStreamCount(1).SetPeerBidiStreamCount(1).SetConnFlowControlWindow(0x2000), + MsQuicSettings().SetPeerUnidiStreamCount(1).SetPeerBidiStreamCount(1).SetStreamRecvWindowDefault(0x2000), ServerSelfSignedCredConfig); TEST_QUIC_SUCCEEDED(ServerConfiguration.GetInitStatus()); MsQuicConfiguration ClientConfiguration(Registration, "MsQuicTest", - MsQuicSettings().SetPeerUnidiStreamCount(1).SetPeerBidiStreamCount(1).SetConnFlowControlWindow(0x2000), + MsQuicSettings().SetPeerUnidiStreamCount(1).SetPeerBidiStreamCount(1).SetStreamRecvWindowDefault(0x2000), MsQuicCredentialConfig()); TEST_QUIC_SUCCEEDED(ClientConfiguration.GetInitStatus()); @@ -4592,20 +4620,24 @@ QuicTestStreamAppProvidedBuffers( { // Create send and receive buffers const uint32_t BufferSize = 0x5000; + const uint32_t NumBuffers = 0x10; uint8_t SendDataBuffer[BufferSize] = {}; for (auto i = 0u; i < BufferSize; ++i) { SendDataBuffer[i] = static_cast(i); } uint8_t ReceiveDataBuffer[BufferSize] = {}; - QUIC_BUFFER QuicBuffers[5]{}; - for (auto i = 0u; i < 5; ++i) { - QuicBuffers[i].Buffer = ReceiveDataBuffer + i * BufferSize / 5; - QuicBuffers[i].Length = BufferSize / 5; + QUIC_BUFFER QuicBuffers[NumBuffers]{}; + for (auto i = 0u; i < NumBuffers; ++i) { + QuicBuffers[i].Buffer = ReceiveDataBuffer + i * BufferSize / NumBuffers; + QuicBuffers[i].Length = BufferSize / NumBuffers; } AppBuffersReceiverContext ReceiveContext; ReceiveContext.BuffersForStreamStarted = QuicBuffers; - ReceiveContext.NumBuffersForStreamStarted = ARRAYSIZE(QuicBuffers); + ReceiveContext.NumBuffersForStreamStarted = NumBuffers / 2; + ReceiveContext.BuffersForThreshold = QuicBuffers + NumBuffers / 2; + ReceiveContext.NumBuffersForThreshold = NumBuffers / 2; + ReceiveContext.MoreBufferThreshold = 0x1500; // Setup a listener MsQuicAutoAcceptListener Listener(Registration, ServerConfiguration, AppBuffersReceiverContext::ConnCallback, &ReceiveContext); @@ -4632,9 +4664,9 @@ QuicTestStreamAppProvidedBuffers( // Send data QUIC_BUFFER Buffer{BufferSize, SendDataBuffer}; - TEST_QUIC_SUCCEEDED(ClientStream.Send(&Buffer, 1)); + TEST_QUIC_SUCCEEDED(ClientStream.Send(&Buffer, 1, QUIC_SEND_FLAG_FIN)); - ReceiveContext.StreamClosed.WaitTimeout(TestWaitTimeout); + TEST_TRUE(ReceiveContext.SenderStreamClosed.WaitTimeout(TestWaitTimeout)); TEST_EQUAL(ReceiveContext.ReceivedBytes, BufferSize); TEST_EQUAL(0, memcmp(SendDataBuffer, ReceiveDataBuffer, BufferSize)); } @@ -4661,23 +4693,26 @@ QuicTestStreamAppProvidedBuffers( TEST_TRUE(Connection.HandshakeCompleteEvent.WaitTimeout(TestWaitTimeout)); TEST_TRUE(Connection.HandshakeComplete); - // Create send and receive buffers const uint32_t BufferSize = 0x5000; + const uint32_t NumBuffers = 0x10; uint8_t SendDataBuffer[BufferSize] = {}; for (auto i = 0u; i < BufferSize; ++i) { SendDataBuffer[i] = static_cast(i); } - uint8_t ReceiveDataBuffer[BufferSize] = {}; - QUIC_BUFFER QuicBuffers[5]{}; - for (auto i = 0u; i < 5; ++i) { - QuicBuffers[i].Buffer = ReceiveDataBuffer + i * BufferSize / 5; - QuicBuffers[i].Length = BufferSize / 5; + uint8_t ReceiveDataBuffer[BufferSize]{}; + QUIC_BUFFER QuicBuffers[NumBuffers]{}; + for (auto i = 0u; i < NumBuffers; ++i) { + QuicBuffers[i].Buffer = ReceiveDataBuffer + i * BufferSize / NumBuffers; + QuicBuffers[i].Length = BufferSize / NumBuffers; } // Create and start a stream AppBuffersReceiverContext ReceiveContext; + ReceiveContext.BuffersForThreshold = QuicBuffers + NumBuffers / 2; + ReceiveContext.NumBuffersForThreshold = NumBuffers / 2; + ReceiveContext.MoreBufferThreshold = 0x1500; MsQuicStream ClientStream( Connection, @@ -4685,21 +4720,177 @@ QuicTestStreamAppProvidedBuffers( CleanUpManual, AppBuffersReceiverContext::StreamCallback, &ReceiveContext); + TEST_QUIC_SUCCEEDED(ClientStream.GetInitStatus()); + + ReceiveContext.Stream = &ClientStream; + // Provide some receive buffers before starting the stream + ClientStream.ProvideReceiveBuffers(NumBuffers / 2, QuicBuffers); + + TEST_QUIC_SUCCEEDED(ClientStream.Start(QUIC_STREAM_START_FLAG_IMMEDIATE)); + TEST_QUIC_SUCCEEDED(ClientStream.Shutdown(QUIC_STATUS_SUCCESS, QUIC_STREAM_SHUTDOWN_FLAG_GRACEFUL)); + + auto* SenderStream = SenderContext.WaitForSenderStream(); + TEST_NOT_EQUAL(SenderStream, nullptr); + + // Send data + QUIC_BUFFER Buffer{BufferSize, SendDataBuffer}; + TEST_QUIC_SUCCEEDED(SenderStream->Send(&Buffer, 1, QUIC_SEND_FLAG_FIN)); + + TEST_TRUE(ReceiveContext.SenderStreamClosed.WaitTimeout(TestWaitTimeout)); + TEST_EQUAL(ReceiveContext.ReceivedBytes, BufferSize); + TEST_EQUAL(0, memcmp(SendDataBuffer, ReceiveDataBuffer, BufferSize)); + } +} + +void +QuicTestStreamAppProvidedBuffersZeroWindow( + ) +{ + MsQuicRegistration Registration(true); + TEST_QUIC_SUCCEEDED(Registration.GetInitStatus()); + + MsQuicConfiguration ServerConfiguration(Registration, "MsQuicTest", + MsQuicSettings().SetPeerUnidiStreamCount(1).SetPeerBidiStreamCount(1).SetStreamRecvWindowDefault(0x2000), + ServerSelfSignedCredConfig); + TEST_QUIC_SUCCEEDED(ServerConfiguration.GetInitStatus()); + + MsQuicConfiguration ClientConfiguration(Registration, "MsQuicTest", + MsQuicSettings().SetPeerUnidiStreamCount(1).SetPeerBidiStreamCount(1).SetStreamRecvWindowDefault(0x2000), + MsQuicCredentialConfig()); + TEST_QUIC_SUCCEEDED(ClientConfiguration.GetInitStatus()); + + // Client side sending data + { + // Create send and receive buffers + const uint32_t BufferSize = 0x5000; + const uint32_t NumBuffers = 0x10; + uint8_t SendDataBuffer[BufferSize] = {}; + for (auto i = 0u; i < BufferSize; ++i) { + SendDataBuffer[i] = static_cast(i); + } + uint8_t ReceiveDataBuffer[BufferSize] = {}; + QUIC_BUFFER QuicBuffers[NumBuffers]{}; + for (auto i = 0u; i < NumBuffers; ++i) { + QuicBuffers[i].Buffer = ReceiveDataBuffer + i * BufferSize / NumBuffers; + QuicBuffers[i].Length = BufferSize / NumBuffers; + } + + AppBuffersReceiverContext ReceiveContext; + ReceiveContext.BuffersForStreamStarted = QuicBuffers; + ReceiveContext.NumBuffersForStreamStarted = NumBuffers / 2; + ReceiveContext.BuffersForThreshold = QuicBuffers + NumBuffers / 2; + ReceiveContext.NumBuffersForThreshold = NumBuffers / 2; + + // Setup the threshold so that more buffers are provided: + // - only when the receive window reaches zero bytes + // - but inline in the receive callback + ReceiveContext.MoreBufferThreshold = 0x2000; + + // Setup a listener + MsQuicAutoAcceptListener Listener(Registration, ServerConfiguration, AppBuffersReceiverContext::ConnCallback, &ReceiveContext); + TEST_QUIC_SUCCEEDED(Listener.GetInitStatus()); + TEST_QUIC_SUCCEEDED(Listener.Start("MsQuicTest")); + QuicAddr ServerLocalAddr; + TEST_QUIC_SUCCEEDED(Listener.GetLocalAddr(ServerLocalAddr)); + // Setup and start a client connection + MsQuicConnection Connection(Registration); + TEST_QUIC_SUCCEEDED(Connection.GetInitStatus()); + + TEST_QUIC_SUCCEEDED(Connection.Start( + ClientConfiguration, + ServerLocalAddr.GetFamily(), + QUIC_TEST_LOOPBACK_FOR_AF(ServerLocalAddr.GetFamily()), + ServerLocalAddr.GetPort())); + TEST_TRUE(Connection.HandshakeCompleteEvent.WaitTimeout(TestWaitTimeout)); + TEST_TRUE(Connection.HandshakeComplete); + + MsQuicStream ClientStream(Connection, QUIC_STREAM_OPEN_FLAG_UNIDIRECTIONAL); TEST_QUIC_SUCCEEDED(ClientStream.GetInitStatus()); + TEST_QUIC_SUCCEEDED(ClientStream.Start(QUIC_STREAM_START_FLAG_IMMEDIATE)); + + // Send data + QUIC_BUFFER Buffer{BufferSize, SendDataBuffer}; + TEST_QUIC_SUCCEEDED(ClientStream.Send(&Buffer, 1, QUIC_SEND_FLAG_FIN)); + + TEST_TRUE(ReceiveContext.SenderStreamClosed.WaitTimeout(TestWaitTimeout)); + TEST_EQUAL(ReceiveContext.ReceivedBytes, BufferSize); + TEST_EQUAL(0, memcmp(SendDataBuffer, ReceiveDataBuffer, BufferSize)); + } + + // Server side sending data + { + // Setup a listener + AppBuffersSenderContext SenderContext{}; + MsQuicAutoAcceptListener Listener(Registration, ServerConfiguration, AppBuffersSenderContext::ConnCallback, &SenderContext); + TEST_QUIC_SUCCEEDED(Listener.GetInitStatus()); + TEST_QUIC_SUCCEEDED(Listener.Start("MsQuicTest")); + QuicAddr ServerLocalAddr; + TEST_QUIC_SUCCEEDED(Listener.GetLocalAddr(ServerLocalAddr)); - // Provide receive buffers before starting the stream - ClientStream.ProvideReceiveBuffers(ARRAYSIZE(QuicBuffers), QuicBuffers); + // Setup a client connection + MsQuicConnection Connection(Registration); + TEST_QUIC_SUCCEEDED(Connection.GetInitStatus()); + + TEST_QUIC_SUCCEEDED(Connection.Start( + ClientConfiguration, + ServerLocalAddr.GetFamily(), + QUIC_TEST_LOOPBACK_FOR_AF(ServerLocalAddr.GetFamily()), + ServerLocalAddr.GetPort())); + TEST_TRUE(Connection.HandshakeCompleteEvent.WaitTimeout(TestWaitTimeout)); + TEST_TRUE(Connection.HandshakeComplete); + + // Create send and receive buffers + const uint32_t BufferSize = 0x5000; + const uint32_t NumBuffers = 0x10; + uint8_t SendDataBuffer[BufferSize] = {}; + for (auto i = 0u; i < BufferSize; ++i) { + SendDataBuffer[i] = static_cast(i); + } + + uint8_t ReceiveDataBuffer[BufferSize]{}; + QUIC_BUFFER QuicBuffers[NumBuffers]{}; + for (auto i = 0u; i < NumBuffers; ++i) { + QuicBuffers[i].Buffer = ReceiveDataBuffer + i * BufferSize / NumBuffers; + QuicBuffers[i].Length = BufferSize / NumBuffers; + } + + // Create and start a stream + AppBuffersReceiverContext ReceiveContext; + + MsQuicStream ClientStream( + Connection, + QUIC_STREAM_OPEN_FLAG_APP_OWNED_BUFFERS, + CleanUpManual, + AppBuffersReceiverContext::StreamCallback, + &ReceiveContext); + TEST_QUIC_SUCCEEDED(ClientStream.GetInitStatus()); + + ReceiveContext.Stream = &ClientStream; + // Set the threshold to the amount of provided buffer space to wait until + // the maximum byte offset receivable is received. + ReceiveContext.ReceivedBytesThreshold = BufferSize / 2; + + // Provide some receive buffers before starting the stream + TEST_QUIC_SUCCEEDED(ClientStream.ProvideReceiveBuffers(NumBuffers / 2, QuicBuffers)); TEST_QUIC_SUCCEEDED(ClientStream.Start(QUIC_STREAM_START_FLAG_IMMEDIATE)); + TEST_QUIC_SUCCEEDED(ClientStream.Shutdown(QUIC_STATUS_SUCCESS, QUIC_STREAM_SHUTDOWN_FLAG_GRACEFUL)); auto* SenderStream = SenderContext.WaitForSenderStream(); + TEST_NOT_EQUAL(SenderStream, nullptr); // Send data QUIC_BUFFER Buffer{BufferSize, SendDataBuffer}; - TEST_QUIC_SUCCEEDED(SenderStream->Send(&Buffer, 1)); + TEST_QUIC_SUCCEEDED(SenderStream->Send(&Buffer, 1, QUIC_SEND_FLAG_FIN)); + + // Wait until enough data is received to fill the window completely + TEST_TRUE(ReceiveContext.ReceivedBytesThresholdReached.WaitTimeout(TestWaitTimeout)); + + // Provide more buffers out of a callback context and check the remaining data is received + TEST_QUIC_SUCCEEDED(ClientStream.ProvideReceiveBuffers(NumBuffers / 2, QuicBuffers + NumBuffers / 2)); - ReceiveContext.StreamClosed.WaitTimeout(TestWaitTimeout); + TEST_TRUE(ReceiveContext.SenderStreamClosed.WaitTimeout(TestWaitTimeout)); TEST_EQUAL(ReceiveContext.ReceivedBytes, BufferSize); TEST_EQUAL(0, memcmp(SendDataBuffer, ReceiveDataBuffer, BufferSize)); } From 7e5e9423cade7935218fbd37b24f980607080470 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Tue, 11 Feb 2025 16:59:18 -0800 Subject: [PATCH 36/37] Enable tests for kernel mode --- src/test/MsQuicTests.h | 8 +++++++- src/test/bin/quic_gtest.cpp | 8 ++------ src/test/bin/winkernel/control.cpp | 10 ++++++++++ 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/test/MsQuicTests.h b/src/test/MsQuicTests.h index 57e8561477..8f86c3bc88 100644 --- a/src/test/MsQuicTests.h +++ b/src/test/MsQuicTests.h @@ -1351,4 +1351,10 @@ typedef struct { QUIC_CTL_CODE(127, METHOD_BUFFERED, FILE_WRITE_DATA) // int - Family -#define QUIC_MAX_IOCTL_FUNC_CODE 127 +#define IOCTL_QUIC_RUN_STREAM_APP_PROVIDED_BUFFERS \ + QUIC_CTL_CODE(128, METHOD_BUFFERED, FILE_WRITE_DATA) + +#define IOCTL_QUIC_RUN_STREAM_APP_PROVIDED_BUFFERS_ZERO_WINDOW \ + QUIC_CTL_CODE(129, METHOD_BUFFERED, FILE_WRITE_DATA) + +#define QUIC_MAX_IOCTL_FUNC_CODE 129 diff --git a/src/test/bin/quic_gtest.cpp b/src/test/bin/quic_gtest.cpp index 866ccde69f..a018d602b3 100644 --- a/src/test/bin/quic_gtest.cpp +++ b/src/test/bin/quic_gtest.cpp @@ -2258,9 +2258,7 @@ TEST(Misc, StreamMultiReceive) { TEST(Misc, StreamAppProvidedBuffers) { TestLogger Logger("StreamAppProvidedBuffers"); if (TestingKernelMode) { - // GTEST_SKIP(); - // TODO guhetier: Implement - // ASSERT_TRUE(DriverClient.Run(IOCTL_QUIC_RUN_STREAM_APP_PROVIDED_BUFFERS)); + ASSERT_TRUE(DriverClient.Run(IOCTL_QUIC_RUN_STREAM_APP_PROVIDED_BUFFERS)); } else { QuicTestStreamAppProvidedBuffers(); } @@ -2269,9 +2267,7 @@ TEST(Misc, StreamAppProvidedBuffers) { TEST(Misc, StreamAppProvidedBuffersZeroWindow) { TestLogger Logger("StreamAppProvidedBuffersZeroWindow"); if (TestingKernelMode) { - // GTEST_SKIP(); - // TODO guhetier: Implement - // ASSERT_TRUE(DriverClient.Run(IOCTL_QUIC_RUN_STREAM_APP_PROVIDED_BUFFERS_ZERO_WINDOW)); + ASSERT_TRUE(DriverClient.Run(IOCTL_QUIC_RUN_STREAM_APP_PROVIDED_BUFFERS_ZERO_WINDOW)); } else { QuicTestStreamAppProvidedBuffersZeroWindow(); } diff --git a/src/test/bin/winkernel/control.cpp b/src/test/bin/winkernel/control.cpp index 2574ac4564..a37706f23f 100644 --- a/src/test/bin/winkernel/control.cpp +++ b/src/test/bin/winkernel/control.cpp @@ -1509,6 +1509,16 @@ QuicTestCtlEvtIoDeviceControl( QuicTestCtlRun(QuicTestTlsHandshakeInfo(Params->EnableResumption != 0)); break; +#ifdef QUIC_API_ENABLE_PREVIEW_FEATURES + case IOCTL_QUIC_RUN_STREAM_APP_PROVIDED_BUFFERS: + QuicTestCtlRun(QuicTestStreamAppProvidedBuffers()); + break; + + case IOCTL_QUIC_RUN_STREAM_APP_PROVIDED_BUFFERS_ZERO_WINDOW: + QuicTestCtlRun(QuicTestStreamAppProvidedBuffersZeroWindow()); + break; +#endif + default: Status = STATUS_NOT_IMPLEMENTED; break; From fdcfcf829a9995a02ff82a054f14a2b4946a1507 Mon Sep 17 00:00:00 2001 From: Guillaume Hetier Date: Tue, 11 Feb 2025 17:10:39 -0800 Subject: [PATCH 37/37] Fix memory leak --- src/core/recv_buffer.c | 4 +- src/core/stream.c | 13 +- sslkeylogfile.txt | 4044 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 4057 insertions(+), 4 deletions(-) create mode 100644 sslkeylogfile.txt diff --git a/src/core/recv_buffer.c b/src/core/recv_buffer.c index 1d944ef7fa..a625bff63d 100644 --- a/src/core/recv_buffer.c +++ b/src/core/recv_buffer.c @@ -106,6 +106,7 @@ QuicRecvBufferInitialize( RecvBuffer->ReadLength = 0; RecvBuffer->RecvMode = RecvMode; RecvBuffer->AppBufferChunkPool = AppBufferChunkPool; + RecvBuffer->PreallocatedChunk = PreallocatedChunk; QuicRangeInitialize(QUIC_MAX_RANGE_ALLOC_SIZE, &RecvBuffer->WrittenRanges); CxPlatListInitializeHead(&RecvBuffer->Chunks); @@ -115,10 +116,8 @@ QuicRecvBufferInitialize( // QUIC_RECV_CHUNK* Chunk = NULL; if (PreallocatedChunk != NULL) { - RecvBuffer->PreallocatedChunk = PreallocatedChunk; Chunk = PreallocatedChunk; } else { - RecvBuffer->PreallocatedChunk = NULL; Chunk = CXPLAT_ALLOC_NONPAGED(sizeof(QUIC_RECV_CHUNK) + AllocBufferLength, QUIC_POOL_RECVBUF); if (Chunk == NULL) { QuicTraceEvent( @@ -134,7 +133,6 @@ QuicRecvBufferInitialize( RecvBuffer->Capacity = AllocBufferLength; RecvBuffer->VirtualBufferLength = VirtualBufferLength; } else { - RecvBuffer->PreallocatedChunk = NULL; RecvBuffer->Capacity = 0; RecvBuffer->VirtualBufferLength = 0; } diff --git a/src/core/stream.c b/src/core/stream.c index 782a9c9746..e9686c2876 100644 --- a/src/core/stream.c +++ b/src/core/stream.c @@ -978,7 +978,18 @@ QuicStreamSwitchToAppOwnedBuffers( _In_ QUIC_STREAM* Stream ) { + // + // Reset the current receive buffer and preallocated chunk. + // + QUIC_WORKER* Worker = Stream->Connection->Worker; + if (Stream->RecvBuffer.PreallocatedChunk) { + CxPlatPoolFree( + &Worker->DefaultReceiveBufferPool, + Stream->RecvBuffer.PreallocatedChunk); + Stream->RecvBuffer.PreallocatedChunk = NULL; + } QuicRecvBufferUninitialize(&Stream->RecvBuffer); + // // Rq: Can't fail when initializing in app-owned mode. // @@ -987,7 +998,7 @@ QuicStreamSwitchToAppOwnedBuffers( 0, 0, QUIC_RECV_BUF_MODE_APP_OWNED, - &Stream->Connection->Worker->AppBufferChunkPool, + &Worker->AppBufferChunkPool, NULL); Stream->Flags.UseAppOwnedRecvBuffers = TRUE; } diff --git a/sslkeylogfile.txt b/sslkeylogfile.txt new file mode 100644 index 0000000000..36236826a5 --- /dev/null +++ b/sslkeylogfile.txt @@ -0,0 +1,4044 @@ +# TLS 1.3 secrets log file, generated by quicinterop +CLIENT_HANDSHAKE_TRAFFIC_SECRET ea7f68bbdc45378c550082966d6c38892c328dfa7cb33b4b329d22d9c71c2831 eb530794037b8d4b48af07c36b0528f394d79e773edaca44bc5e88efe2098467573c2dcdae31f671541a61bb43c74546 +SERVER_HANDSHAKE_TRAFFIC_SECRET ea7f68bbdc45378c550082966d6c38892c328dfa7cb33b4b329d22d9c71c2831 4fd94041b5a4037de9fe135c62c319b615d4bcb343654783072ad808c3d96a117f1a77af58e6a6c2ec5f6bee8eb58e46 +CLIENT_TRAFFIC_SECRET_0 ea7f68bbdc45378c550082966d6c38892c328dfa7cb33b4b329d22d9c71c2831 f868d60807184107be4e3af6b9a2821035295b3a216c1a8e4090fe33fcab0038cfe23ade0beaa7865fac62c2e5e70767 +SERVER_TRAFFIC_SECRET_0 ea7f68bbdc45378c550082966d6c38892c328dfa7cb33b4b329d22d9c71c2831 0af846e55447162ac5af2058a58706ffcf180f8f51bb217bc02cfa46cdfbf2b301972516c5a0a7fc1ecb0b52ff101d3f +CLIENT_HANDSHAKE_TRAFFIC_SECRET ea7f68bbdc45378c550082966d6c38892c328dfa7cb33b4b329d22d9c71c2831 eb530794037b8d4b48af07c36b0528f394d79e773edaca44bc5e88efe2098467573c2dcdae31f671541a61bb43c74546 +SERVER_HANDSHAKE_TRAFFIC_SECRET ea7f68bbdc45378c550082966d6c38892c328dfa7cb33b4b329d22d9c71c2831 4fd94041b5a4037de9fe135c62c319b615d4bcb343654783072ad808c3d96a117f1a77af58e6a6c2ec5f6bee8eb58e46 +CLIENT_TRAFFIC_SECRET_0 ea7f68bbdc45378c550082966d6c38892c328dfa7cb33b4b329d22d9c71c2831 f868d60807184107be4e3af6b9a2821035295b3a216c1a8e4090fe33fcab0038cfe23ade0beaa7865fac62c2e5e70767 +SERVER_TRAFFIC_SECRET_0 ea7f68bbdc45378c550082966d6c38892c328dfa7cb33b4b329d22d9c71c2831 0af846e55447162ac5af2058a58706ffcf180f8f51bb217bc02cfa46cdfbf2b301972516c5a0a7fc1ecb0b52ff101d3f +CLIENT_HANDSHAKE_TRAFFIC_SECRET 98166cb1de819a1b1f14fb0524a995719535d1dbe35d5d6128140a79bfd55237 00d29c33d8203a6f4c39e14d4b8364e065d20ef529e7465c37e03d92c2fb56d429f2b8ee0f7a68536c6d99cf038034c1 +SERVER_HANDSHAKE_TRAFFIC_SECRET 98166cb1de819a1b1f14fb0524a995719535d1dbe35d5d6128140a79bfd55237 5e2dc97065caa4852571d3a9fde67bebc7f88e4b8919bcefcd46de2dd466b4e20d4864ba4aa696778401a66bca4f96a6 +CLIENT_TRAFFIC_SECRET_0 98166cb1de819a1b1f14fb0524a995719535d1dbe35d5d6128140a79bfd55237 2fbb973aafb8f4dcf478f39c88dd5def9b468104f6cae3d4a9efca861d8d9b00cb0f0442c218febf7fb9b5767a4bf87c +SERVER_TRAFFIC_SECRET_0 98166cb1de819a1b1f14fb0524a995719535d1dbe35d5d6128140a79bfd55237 29715edc35d214c06969d3a11a79a99ba1622b34e812a701736f38cd942f39ce131bd43d18c3de4919817837b6415fa9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 98166cb1de819a1b1f14fb0524a995719535d1dbe35d5d6128140a79bfd55237 00d29c33d8203a6f4c39e14d4b8364e065d20ef529e7465c37e03d92c2fb56d429f2b8ee0f7a68536c6d99cf038034c1 +SERVER_HANDSHAKE_TRAFFIC_SECRET 98166cb1de819a1b1f14fb0524a995719535d1dbe35d5d6128140a79bfd55237 5e2dc97065caa4852571d3a9fde67bebc7f88e4b8919bcefcd46de2dd466b4e20d4864ba4aa696778401a66bca4f96a6 +CLIENT_TRAFFIC_SECRET_0 98166cb1de819a1b1f14fb0524a995719535d1dbe35d5d6128140a79bfd55237 2fbb973aafb8f4dcf478f39c88dd5def9b468104f6cae3d4a9efca861d8d9b00cb0f0442c218febf7fb9b5767a4bf87c +SERVER_TRAFFIC_SECRET_0 98166cb1de819a1b1f14fb0524a995719535d1dbe35d5d6128140a79bfd55237 29715edc35d214c06969d3a11a79a99ba1622b34e812a701736f38cd942f39ce131bd43d18c3de4919817837b6415fa9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET eef5a15ceab73c67b1e40fa411494414ce3f4f62d8418762c486ca7a11e8cf7d 97036e6e0b0639fa27ed2bc8d2635d8212f7c9aa6cf7fdf87b3796076e2d6270e356dabd0b079a2e1ad5c1b065a1ef0f +SERVER_HANDSHAKE_TRAFFIC_SECRET eef5a15ceab73c67b1e40fa411494414ce3f4f62d8418762c486ca7a11e8cf7d 372d1f4578174d55ff9b45eab582769df47b465fbfd8cc73d1043b16967ee15165d753c80af34c9f68bc66557296462a +CLIENT_TRAFFIC_SECRET_0 eef5a15ceab73c67b1e40fa411494414ce3f4f62d8418762c486ca7a11e8cf7d 1f83f68d0d676db681227ca7eafaff37d9be590ca302ec6d1af51ce94d1f766337a9995a574b588b4e5e0f5d1189fd09 +SERVER_TRAFFIC_SECRET_0 eef5a15ceab73c67b1e40fa411494414ce3f4f62d8418762c486ca7a11e8cf7d fdf3d127907073c0ee848f643a5765fb6a4cb2fc047476c62ee070ed552b5b57bfacc92232b0e67ec42af40d5b7b03b1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET eef5a15ceab73c67b1e40fa411494414ce3f4f62d8418762c486ca7a11e8cf7d 97036e6e0b0639fa27ed2bc8d2635d8212f7c9aa6cf7fdf87b3796076e2d6270e356dabd0b079a2e1ad5c1b065a1ef0f +SERVER_HANDSHAKE_TRAFFIC_SECRET eef5a15ceab73c67b1e40fa411494414ce3f4f62d8418762c486ca7a11e8cf7d 372d1f4578174d55ff9b45eab582769df47b465fbfd8cc73d1043b16967ee15165d753c80af34c9f68bc66557296462a +CLIENT_TRAFFIC_SECRET_0 eef5a15ceab73c67b1e40fa411494414ce3f4f62d8418762c486ca7a11e8cf7d 1f83f68d0d676db681227ca7eafaff37d9be590ca302ec6d1af51ce94d1f766337a9995a574b588b4e5e0f5d1189fd09 +SERVER_TRAFFIC_SECRET_0 eef5a15ceab73c67b1e40fa411494414ce3f4f62d8418762c486ca7a11e8cf7d fdf3d127907073c0ee848f643a5765fb6a4cb2fc047476c62ee070ed552b5b57bfacc92232b0e67ec42af40d5b7b03b1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3b21f9edfb56e5981ffca9883ef587b8e0afcedfe33dd91581005862efe9aa68 2d5b763e4d66354dccfe8aa55ba36bdf36719b957e08b3a821852528c5634c8ca86dc8d2cb7068bdabadbf107f45175b +SERVER_HANDSHAKE_TRAFFIC_SECRET 3b21f9edfb56e5981ffca9883ef587b8e0afcedfe33dd91581005862efe9aa68 81e481ee8e920920766ddbdb62d4974d97e58ea1eb12082d548179aec3d485c310ea9dd24eb45629f3d43cc8b191902d +CLIENT_TRAFFIC_SECRET_0 3b21f9edfb56e5981ffca9883ef587b8e0afcedfe33dd91581005862efe9aa68 d95c8e41d9d3211617a1511d650c040cd345d2d2cfbeee2a2ba073eb0e77d396d3eea1540dd6c22a870690b702bab25f +SERVER_TRAFFIC_SECRET_0 3b21f9edfb56e5981ffca9883ef587b8e0afcedfe33dd91581005862efe9aa68 744010063d758fd330f260bc12f98fb92e9bf20069f1599974477cd3e6d3c2fa6d132f886682ab95bf9a8271a6851481 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3b21f9edfb56e5981ffca9883ef587b8e0afcedfe33dd91581005862efe9aa68 2d5b763e4d66354dccfe8aa55ba36bdf36719b957e08b3a821852528c5634c8ca86dc8d2cb7068bdabadbf107f45175b +SERVER_HANDSHAKE_TRAFFIC_SECRET 3b21f9edfb56e5981ffca9883ef587b8e0afcedfe33dd91581005862efe9aa68 81e481ee8e920920766ddbdb62d4974d97e58ea1eb12082d548179aec3d485c310ea9dd24eb45629f3d43cc8b191902d +CLIENT_TRAFFIC_SECRET_0 3b21f9edfb56e5981ffca9883ef587b8e0afcedfe33dd91581005862efe9aa68 d95c8e41d9d3211617a1511d650c040cd345d2d2cfbeee2a2ba073eb0e77d396d3eea1540dd6c22a870690b702bab25f +SERVER_TRAFFIC_SECRET_0 3b21f9edfb56e5981ffca9883ef587b8e0afcedfe33dd91581005862efe9aa68 744010063d758fd330f260bc12f98fb92e9bf20069f1599974477cd3e6d3c2fa6d132f886682ab95bf9a8271a6851481 +CLIENT_HANDSHAKE_TRAFFIC_SECRET eaf1e3de0d1123c5cf3161bed4d2e1f7d1f57d6264444cddfd482b958e6ce9c6 c5276312426f49eb2832798b66334e1023e109fe9dd50d10e8531facbb1971e75e15ece1da33e41d009a904e8d8f5a89 +SERVER_HANDSHAKE_TRAFFIC_SECRET eaf1e3de0d1123c5cf3161bed4d2e1f7d1f57d6264444cddfd482b958e6ce9c6 a4c15b66d871bab4a6c45ec1b73eb31c0ff311a055ac3ab7bb07ab20510b9e0eb43fd2c338e87ace058857c9daf46738 +CLIENT_TRAFFIC_SECRET_0 eaf1e3de0d1123c5cf3161bed4d2e1f7d1f57d6264444cddfd482b958e6ce9c6 6bf1dcc8ee0b8b3c62acb30e76790873ac19936a267f685f69bb4d923d2cdf9b6b297388c049e1f8eb32640b94dbcbdd +SERVER_TRAFFIC_SECRET_0 eaf1e3de0d1123c5cf3161bed4d2e1f7d1f57d6264444cddfd482b958e6ce9c6 d99111f435b7bdc9af32508f2adb40b65f4872a7d6f3b81b94c5d36fcfad61d4e52f590474c77c876f6c673fdb9a6abf +CLIENT_HANDSHAKE_TRAFFIC_SECRET eaf1e3de0d1123c5cf3161bed4d2e1f7d1f57d6264444cddfd482b958e6ce9c6 c5276312426f49eb2832798b66334e1023e109fe9dd50d10e8531facbb1971e75e15ece1da33e41d009a904e8d8f5a89 +SERVER_HANDSHAKE_TRAFFIC_SECRET eaf1e3de0d1123c5cf3161bed4d2e1f7d1f57d6264444cddfd482b958e6ce9c6 a4c15b66d871bab4a6c45ec1b73eb31c0ff311a055ac3ab7bb07ab20510b9e0eb43fd2c338e87ace058857c9daf46738 +CLIENT_TRAFFIC_SECRET_0 eaf1e3de0d1123c5cf3161bed4d2e1f7d1f57d6264444cddfd482b958e6ce9c6 6bf1dcc8ee0b8b3c62acb30e76790873ac19936a267f685f69bb4d923d2cdf9b6b297388c049e1f8eb32640b94dbcbdd +SERVER_TRAFFIC_SECRET_0 eaf1e3de0d1123c5cf3161bed4d2e1f7d1f57d6264444cddfd482b958e6ce9c6 d99111f435b7bdc9af32508f2adb40b65f4872a7d6f3b81b94c5d36fcfad61d4e52f590474c77c876f6c673fdb9a6abf +CLIENT_HANDSHAKE_TRAFFIC_SECRET 018de40f9f4a88016c0c2cde3ea4d1681f10d763ebe6ac7b13017a4ec1c7430e e1f48b0ed38cc2aece34712614781c2571475ab610d108b3801bdf405b7b71f914fa6a2ab5c62ac5711fd565e048e4f6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 018de40f9f4a88016c0c2cde3ea4d1681f10d763ebe6ac7b13017a4ec1c7430e 73288cf6fb20fd366369719d14ad2fb0ede51e0cd68ba7fa98e3615114e2b6dfc9a98ce667d36d521ded772908a72aa3 +CLIENT_TRAFFIC_SECRET_0 018de40f9f4a88016c0c2cde3ea4d1681f10d763ebe6ac7b13017a4ec1c7430e 39cce77468185cb66220a81a22b24946ca75a3aa9cf8dd25ebf8dc58d3e1c789a8d7e78eeec553ce1c2c3f785909ec37 +SERVER_TRAFFIC_SECRET_0 018de40f9f4a88016c0c2cde3ea4d1681f10d763ebe6ac7b13017a4ec1c7430e 0586cf4b3d4e368fddb0b52e31727df8a72b0c366447ddd8082bb37946adcc1abae5ecd567cceca246be82b3fdf495de +CLIENT_HANDSHAKE_TRAFFIC_SECRET 018de40f9f4a88016c0c2cde3ea4d1681f10d763ebe6ac7b13017a4ec1c7430e e1f48b0ed38cc2aece34712614781c2571475ab610d108b3801bdf405b7b71f914fa6a2ab5c62ac5711fd565e048e4f6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 018de40f9f4a88016c0c2cde3ea4d1681f10d763ebe6ac7b13017a4ec1c7430e 73288cf6fb20fd366369719d14ad2fb0ede51e0cd68ba7fa98e3615114e2b6dfc9a98ce667d36d521ded772908a72aa3 +CLIENT_TRAFFIC_SECRET_0 018de40f9f4a88016c0c2cde3ea4d1681f10d763ebe6ac7b13017a4ec1c7430e 39cce77468185cb66220a81a22b24946ca75a3aa9cf8dd25ebf8dc58d3e1c789a8d7e78eeec553ce1c2c3f785909ec37 +SERVER_TRAFFIC_SECRET_0 018de40f9f4a88016c0c2cde3ea4d1681f10d763ebe6ac7b13017a4ec1c7430e 0586cf4b3d4e368fddb0b52e31727df8a72b0c366447ddd8082bb37946adcc1abae5ecd567cceca246be82b3fdf495de +CLIENT_HANDSHAKE_TRAFFIC_SECRET f6d1e21af8d6a97bb5862b0005c5e73fbcad43bbcb54926711eac5a8823aae1a cba2bf1b6451e6107c49c6e5f5acfd91061bb497b85cadff4296b45c487dc8dacb3e7f00095b3d5750365df15083572b +SERVER_HANDSHAKE_TRAFFIC_SECRET f6d1e21af8d6a97bb5862b0005c5e73fbcad43bbcb54926711eac5a8823aae1a ad9a175f285bd74dfcbd5c6e864fead21e3856780c296b61c9737d31b628a53be4f0d4413f763572d7da9426be56dc8d +CLIENT_TRAFFIC_SECRET_0 f6d1e21af8d6a97bb5862b0005c5e73fbcad43bbcb54926711eac5a8823aae1a d7aaee4e78adc1f0f76c3b7e19995ffa2255f8718a31bae41b8285e4027c12ab3d5fa03a47a697185a7ad6d7478d6e02 +SERVER_TRAFFIC_SECRET_0 f6d1e21af8d6a97bb5862b0005c5e73fbcad43bbcb54926711eac5a8823aae1a 496e4d038c50e23cf6dd1fd22e84ee772fa590b58b2b937c1bae31de8b92014a8d388cc1bd9b26c1ff885351dfa831b8 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f6d1e21af8d6a97bb5862b0005c5e73fbcad43bbcb54926711eac5a8823aae1a cba2bf1b6451e6107c49c6e5f5acfd91061bb497b85cadff4296b45c487dc8dacb3e7f00095b3d5750365df15083572b +SERVER_HANDSHAKE_TRAFFIC_SECRET f6d1e21af8d6a97bb5862b0005c5e73fbcad43bbcb54926711eac5a8823aae1a ad9a175f285bd74dfcbd5c6e864fead21e3856780c296b61c9737d31b628a53be4f0d4413f763572d7da9426be56dc8d +CLIENT_TRAFFIC_SECRET_0 f6d1e21af8d6a97bb5862b0005c5e73fbcad43bbcb54926711eac5a8823aae1a d7aaee4e78adc1f0f76c3b7e19995ffa2255f8718a31bae41b8285e4027c12ab3d5fa03a47a697185a7ad6d7478d6e02 +SERVER_TRAFFIC_SECRET_0 f6d1e21af8d6a97bb5862b0005c5e73fbcad43bbcb54926711eac5a8823aae1a 496e4d038c50e23cf6dd1fd22e84ee772fa590b58b2b937c1bae31de8b92014a8d388cc1bd9b26c1ff885351dfa831b8 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 7edd7c9a37c0a167c20c9db43e490c25db126911f7982168c3cc1cd4763761af bc8d7e5f7b2d65e1792ac57a04a7dc7955e7fc77501577c88fbcc8ff331c25a276f57e5dd31925ad0b47e981832f9e84 +SERVER_HANDSHAKE_TRAFFIC_SECRET 7edd7c9a37c0a167c20c9db43e490c25db126911f7982168c3cc1cd4763761af 78392e53980f2957fb8aad543304a87ad70086950d1cb9418d863d27398132da6d30726d88547253159e5031e48520cd +CLIENT_TRAFFIC_SECRET_0 7edd7c9a37c0a167c20c9db43e490c25db126911f7982168c3cc1cd4763761af 85e4b29c9e6aa64e3bc5a2bb6f399e4656b14d55aba3ec29dabeb8640570dd8b84e088f466ef56aa6c25964925cd39d6 +SERVER_TRAFFIC_SECRET_0 7edd7c9a37c0a167c20c9db43e490c25db126911f7982168c3cc1cd4763761af 52ad55a04e2752c1f1b56b149b660930e4ff48c799408fee566fcaaa093cd7cc5123c5847ad8bd8c86d78729bbb0d517 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 7edd7c9a37c0a167c20c9db43e490c25db126911f7982168c3cc1cd4763761af bc8d7e5f7b2d65e1792ac57a04a7dc7955e7fc77501577c88fbcc8ff331c25a276f57e5dd31925ad0b47e981832f9e84 +SERVER_HANDSHAKE_TRAFFIC_SECRET 7edd7c9a37c0a167c20c9db43e490c25db126911f7982168c3cc1cd4763761af 78392e53980f2957fb8aad543304a87ad70086950d1cb9418d863d27398132da6d30726d88547253159e5031e48520cd +CLIENT_TRAFFIC_SECRET_0 7edd7c9a37c0a167c20c9db43e490c25db126911f7982168c3cc1cd4763761af 85e4b29c9e6aa64e3bc5a2bb6f399e4656b14d55aba3ec29dabeb8640570dd8b84e088f466ef56aa6c25964925cd39d6 +SERVER_TRAFFIC_SECRET_0 7edd7c9a37c0a167c20c9db43e490c25db126911f7982168c3cc1cd4763761af 52ad55a04e2752c1f1b56b149b660930e4ff48c799408fee566fcaaa093cd7cc5123c5847ad8bd8c86d78729bbb0d517 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6bcb677caa0c8bb382a09adbe32da11a990d361966fa40b28fe114f3c0eca5ff 9494ed7d651e970e904e32a124584678668337afc147aff9e16f3dba491c5612425a474b99aca73e54e5fd7827d38b71 +SERVER_HANDSHAKE_TRAFFIC_SECRET 6bcb677caa0c8bb382a09adbe32da11a990d361966fa40b28fe114f3c0eca5ff 39c8ea5af29f5c14d663d6c382b63cd560322f9c4d9a944515f34f35452c3eaa0993284dc0abd946369e43d18c43fd50 +CLIENT_TRAFFIC_SECRET_0 6bcb677caa0c8bb382a09adbe32da11a990d361966fa40b28fe114f3c0eca5ff dff0f0a144ae21b3d3618c1dbdb2b5ec805d29a45f32113febc8027ad96b1152b4d222185e3599b33bd9fd74824ecb64 +SERVER_TRAFFIC_SECRET_0 6bcb677caa0c8bb382a09adbe32da11a990d361966fa40b28fe114f3c0eca5ff 567785bfcc73adb99c6cb1a48820ad0fd60fbcd8f1e8c7b4cabaa3ea3e51e9f30ba1833d4b8a564c41e9a302e8d96816 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6bcb677caa0c8bb382a09adbe32da11a990d361966fa40b28fe114f3c0eca5ff 9494ed7d651e970e904e32a124584678668337afc147aff9e16f3dba491c5612425a474b99aca73e54e5fd7827d38b71 +SERVER_HANDSHAKE_TRAFFIC_SECRET 6bcb677caa0c8bb382a09adbe32da11a990d361966fa40b28fe114f3c0eca5ff 39c8ea5af29f5c14d663d6c382b63cd560322f9c4d9a944515f34f35452c3eaa0993284dc0abd946369e43d18c43fd50 +CLIENT_TRAFFIC_SECRET_0 6bcb677caa0c8bb382a09adbe32da11a990d361966fa40b28fe114f3c0eca5ff dff0f0a144ae21b3d3618c1dbdb2b5ec805d29a45f32113febc8027ad96b1152b4d222185e3599b33bd9fd74824ecb64 +SERVER_TRAFFIC_SECRET_0 6bcb677caa0c8bb382a09adbe32da11a990d361966fa40b28fe114f3c0eca5ff 567785bfcc73adb99c6cb1a48820ad0fd60fbcd8f1e8c7b4cabaa3ea3e51e9f30ba1833d4b8a564c41e9a302e8d96816 +CLIENT_HANDSHAKE_TRAFFIC_SECRET cb1b97ddb7ca5e9b50fc981a07378248a224c4afac32c054bba77836dc465421 48f0a39e2ef38e64cc8002bb65411c0f3e4239afc0f46c01abc857d866680d79725bf76a94161f23ee91d2e2dd8bd57e +SERVER_HANDSHAKE_TRAFFIC_SECRET cb1b97ddb7ca5e9b50fc981a07378248a224c4afac32c054bba77836dc465421 458730b0054465e20ebb6ad0757d3be7a3d97ddec1c61017b647feb9673a4eb5fcc9e80da801f30bd2496fdcc09abc4d +CLIENT_TRAFFIC_SECRET_0 cb1b97ddb7ca5e9b50fc981a07378248a224c4afac32c054bba77836dc465421 8c090ea4584a7a3a55f61aff9fb2e2667f55b53d72d1d86155f471a76d46afb179eeb041e0ca5e17f75b996251fb5d65 +SERVER_TRAFFIC_SECRET_0 cb1b97ddb7ca5e9b50fc981a07378248a224c4afac32c054bba77836dc465421 b079fe2e70f89920f3e40f5901298b53d96aae43b8e21adcbfff3ac39aedd03e69085722f572bb383885f2f29dce5596 +CLIENT_HANDSHAKE_TRAFFIC_SECRET cb1b97ddb7ca5e9b50fc981a07378248a224c4afac32c054bba77836dc465421 48f0a39e2ef38e64cc8002bb65411c0f3e4239afc0f46c01abc857d866680d79725bf76a94161f23ee91d2e2dd8bd57e +SERVER_HANDSHAKE_TRAFFIC_SECRET cb1b97ddb7ca5e9b50fc981a07378248a224c4afac32c054bba77836dc465421 458730b0054465e20ebb6ad0757d3be7a3d97ddec1c61017b647feb9673a4eb5fcc9e80da801f30bd2496fdcc09abc4d +CLIENT_TRAFFIC_SECRET_0 cb1b97ddb7ca5e9b50fc981a07378248a224c4afac32c054bba77836dc465421 8c090ea4584a7a3a55f61aff9fb2e2667f55b53d72d1d86155f471a76d46afb179eeb041e0ca5e17f75b996251fb5d65 +SERVER_TRAFFIC_SECRET_0 cb1b97ddb7ca5e9b50fc981a07378248a224c4afac32c054bba77836dc465421 b079fe2e70f89920f3e40f5901298b53d96aae43b8e21adcbfff3ac39aedd03e69085722f572bb383885f2f29dce5596 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 728b761b18c94aa464489550dbd237bc4a88401c2778b3e179026c36c89e34b6 310afebf6128bb45dd424d01c8382a9a2d20c6a1bd5e342ca54fe3a06b62ed04bb0b82080889ed2392255c86e7e6fc3d +SERVER_HANDSHAKE_TRAFFIC_SECRET 728b761b18c94aa464489550dbd237bc4a88401c2778b3e179026c36c89e34b6 33fd050e313997cd6785dc606612c3ff1ea35a6e4771724999536c676da6e245801a301080931eacbc9a5a9d79debfb7 +CLIENT_TRAFFIC_SECRET_0 728b761b18c94aa464489550dbd237bc4a88401c2778b3e179026c36c89e34b6 511115f75bb62fd2f171a172419795cb05a220a3d80463d2014a9975e7c7572cf6553820334fa720b125db8a8d194997 +SERVER_TRAFFIC_SECRET_0 728b761b18c94aa464489550dbd237bc4a88401c2778b3e179026c36c89e34b6 209efb2a43c98a929f2fc3514deddb4528467d49bb36cf89ed6132385deb01d25e9c873bf1b6519a93187ea6ee343790 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 728b761b18c94aa464489550dbd237bc4a88401c2778b3e179026c36c89e34b6 310afebf6128bb45dd424d01c8382a9a2d20c6a1bd5e342ca54fe3a06b62ed04bb0b82080889ed2392255c86e7e6fc3d +SERVER_HANDSHAKE_TRAFFIC_SECRET 728b761b18c94aa464489550dbd237bc4a88401c2778b3e179026c36c89e34b6 33fd050e313997cd6785dc606612c3ff1ea35a6e4771724999536c676da6e245801a301080931eacbc9a5a9d79debfb7 +CLIENT_TRAFFIC_SECRET_0 728b761b18c94aa464489550dbd237bc4a88401c2778b3e179026c36c89e34b6 511115f75bb62fd2f171a172419795cb05a220a3d80463d2014a9975e7c7572cf6553820334fa720b125db8a8d194997 +SERVER_TRAFFIC_SECRET_0 728b761b18c94aa464489550dbd237bc4a88401c2778b3e179026c36c89e34b6 209efb2a43c98a929f2fc3514deddb4528467d49bb36cf89ed6132385deb01d25e9c873bf1b6519a93187ea6ee343790 +CLIENT_HANDSHAKE_TRAFFIC_SECRET fa7615b83a40f438a73953172b34638814e85d4e10a0bcf7a66cea74f7111181 158e580025953c31d2956518c0a0b7f2a6fe67baba100a192464a24844636ff18115621ed7c8ccf094e206cbf2bf7233 +SERVER_HANDSHAKE_TRAFFIC_SECRET fa7615b83a40f438a73953172b34638814e85d4e10a0bcf7a66cea74f7111181 a19988e51332718a43a78cdb4a12381953cd553edb80c11b73eaabd0b97ce90e505912b9fd9e42b16640a5e6eb2c280a +CLIENT_TRAFFIC_SECRET_0 fa7615b83a40f438a73953172b34638814e85d4e10a0bcf7a66cea74f7111181 a969f0b7f0fa1e7ca695c42a1db61ab71eb2c4b11bef3d99e22b7922f44095ec63b31f75f115548d96aa6686ddc84ed0 +SERVER_TRAFFIC_SECRET_0 fa7615b83a40f438a73953172b34638814e85d4e10a0bcf7a66cea74f7111181 743bb4d7aab7311b5ac3884520501d80c3f65008b92d3acab4b109a89f8a1331f7705f2805fe14d971fbf49145e6242e +CLIENT_HANDSHAKE_TRAFFIC_SECRET fa7615b83a40f438a73953172b34638814e85d4e10a0bcf7a66cea74f7111181 158e580025953c31d2956518c0a0b7f2a6fe67baba100a192464a24844636ff18115621ed7c8ccf094e206cbf2bf7233 +SERVER_HANDSHAKE_TRAFFIC_SECRET fa7615b83a40f438a73953172b34638814e85d4e10a0bcf7a66cea74f7111181 a19988e51332718a43a78cdb4a12381953cd553edb80c11b73eaabd0b97ce90e505912b9fd9e42b16640a5e6eb2c280a +CLIENT_TRAFFIC_SECRET_0 fa7615b83a40f438a73953172b34638814e85d4e10a0bcf7a66cea74f7111181 a969f0b7f0fa1e7ca695c42a1db61ab71eb2c4b11bef3d99e22b7922f44095ec63b31f75f115548d96aa6686ddc84ed0 +SERVER_TRAFFIC_SECRET_0 fa7615b83a40f438a73953172b34638814e85d4e10a0bcf7a66cea74f7111181 743bb4d7aab7311b5ac3884520501d80c3f65008b92d3acab4b109a89f8a1331f7705f2805fe14d971fbf49145e6242e +CLIENT_HANDSHAKE_TRAFFIC_SECRET aa967630b8a93f73c780ed61befb4c6fae1bcdd83c0c111a3a44a67d542803d4 2d01edacbf3c3e1b3ce6a8930484c29f33e97259fe1b8a9fe214c872ccea9f14c6ed68b91da941710af9c1e409a7fa90 +SERVER_HANDSHAKE_TRAFFIC_SECRET aa967630b8a93f73c780ed61befb4c6fae1bcdd83c0c111a3a44a67d542803d4 6f314a3831a03a0532dcf5b95b42ea0a893052d8a67295e6e0d13a73a4f86a973c8bdfe6873058228e02dc8da2d9cac3 +CLIENT_TRAFFIC_SECRET_0 aa967630b8a93f73c780ed61befb4c6fae1bcdd83c0c111a3a44a67d542803d4 78b05037d195de6ee233a24bf218c9f278794ab6a674844b0707c02e9ea3f5c9e0a6cabb6caa4bb6b639c888bfbd9f58 +SERVER_TRAFFIC_SECRET_0 aa967630b8a93f73c780ed61befb4c6fae1bcdd83c0c111a3a44a67d542803d4 42b8002b4d6cf72dbd51e86e4b979584bbe4dad99fa995829c8d51474aadc21836e9fc723f963e16fb006bbca1850013 +CLIENT_HANDSHAKE_TRAFFIC_SECRET aa967630b8a93f73c780ed61befb4c6fae1bcdd83c0c111a3a44a67d542803d4 2d01edacbf3c3e1b3ce6a8930484c29f33e97259fe1b8a9fe214c872ccea9f14c6ed68b91da941710af9c1e409a7fa90 +SERVER_HANDSHAKE_TRAFFIC_SECRET aa967630b8a93f73c780ed61befb4c6fae1bcdd83c0c111a3a44a67d542803d4 6f314a3831a03a0532dcf5b95b42ea0a893052d8a67295e6e0d13a73a4f86a973c8bdfe6873058228e02dc8da2d9cac3 +CLIENT_TRAFFIC_SECRET_0 aa967630b8a93f73c780ed61befb4c6fae1bcdd83c0c111a3a44a67d542803d4 78b05037d195de6ee233a24bf218c9f278794ab6a674844b0707c02e9ea3f5c9e0a6cabb6caa4bb6b639c888bfbd9f58 +SERVER_TRAFFIC_SECRET_0 aa967630b8a93f73c780ed61befb4c6fae1bcdd83c0c111a3a44a67d542803d4 42b8002b4d6cf72dbd51e86e4b979584bbe4dad99fa995829c8d51474aadc21836e9fc723f963e16fb006bbca1850013 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0f350f7a19b93637f65e7dd9cd7e5f794823f6277bb3b59de5abfd04fe4d0772 18324c74f2cae743f3cbdbc16db8ed54d3f01ed2e1a9fe67321dce9d118dd19abea1a8b2697bafa8c6f6a8cfc5b2311d +SERVER_HANDSHAKE_TRAFFIC_SECRET 0f350f7a19b93637f65e7dd9cd7e5f794823f6277bb3b59de5abfd04fe4d0772 030863ad0f6733fb97d77ab33e2147c965d594a7458f56da62768bbd1bf27d63413a2d78d825b4e54819b7effcf447e1 +CLIENT_TRAFFIC_SECRET_0 0f350f7a19b93637f65e7dd9cd7e5f794823f6277bb3b59de5abfd04fe4d0772 57649b93763f74e16870bf752ee73235ad557b776234bc89e845d7a0be37b6ad340f074b92b89469619463f18649cb45 +SERVER_TRAFFIC_SECRET_0 0f350f7a19b93637f65e7dd9cd7e5f794823f6277bb3b59de5abfd04fe4d0772 9421d03465e8fab1365c2ac4d746709b4a7b2b691956840a5d63c172cf75d705966160ec77f31097ceae0541e31e4479 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0f350f7a19b93637f65e7dd9cd7e5f794823f6277bb3b59de5abfd04fe4d0772 18324c74f2cae743f3cbdbc16db8ed54d3f01ed2e1a9fe67321dce9d118dd19abea1a8b2697bafa8c6f6a8cfc5b2311d +SERVER_HANDSHAKE_TRAFFIC_SECRET 0f350f7a19b93637f65e7dd9cd7e5f794823f6277bb3b59de5abfd04fe4d0772 030863ad0f6733fb97d77ab33e2147c965d594a7458f56da62768bbd1bf27d63413a2d78d825b4e54819b7effcf447e1 +CLIENT_TRAFFIC_SECRET_0 0f350f7a19b93637f65e7dd9cd7e5f794823f6277bb3b59de5abfd04fe4d0772 57649b93763f74e16870bf752ee73235ad557b776234bc89e845d7a0be37b6ad340f074b92b89469619463f18649cb45 +SERVER_TRAFFIC_SECRET_0 0f350f7a19b93637f65e7dd9cd7e5f794823f6277bb3b59de5abfd04fe4d0772 9421d03465e8fab1365c2ac4d746709b4a7b2b691956840a5d63c172cf75d705966160ec77f31097ceae0541e31e4479 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8f79b95494f28f7b6aeb6e235f76102f7637ff2e8e9d79c837404acf34171ce5 068bcf853bdeabb2fe9e9b3b2109d8abf7fae97ce0c550a581c03247710f86e658150beb1f64e70c53cc2bff00bb0120 +SERVER_HANDSHAKE_TRAFFIC_SECRET 8f79b95494f28f7b6aeb6e235f76102f7637ff2e8e9d79c837404acf34171ce5 ec1ad4e1d22a535794c714f66cf2e06fd1a4c332511a63bfa3c8ac9c8fe4607ad661cd462f7c57fcbc39bd0e9548de2b +CLIENT_TRAFFIC_SECRET_0 8f79b95494f28f7b6aeb6e235f76102f7637ff2e8e9d79c837404acf34171ce5 10c9626e183dfe209dedee1b599f33b4eb67e682b573707ab7139314d1a70d0d40075925a0dc347ccc14a0139da4e3b4 +SERVER_TRAFFIC_SECRET_0 8f79b95494f28f7b6aeb6e235f76102f7637ff2e8e9d79c837404acf34171ce5 247bdbf04e56eb379e35de8a68064234062b78c62fd00aee0418606084cf3d7e35cff95dbc09da050a90b76ca3926576 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8f79b95494f28f7b6aeb6e235f76102f7637ff2e8e9d79c837404acf34171ce5 068bcf853bdeabb2fe9e9b3b2109d8abf7fae97ce0c550a581c03247710f86e658150beb1f64e70c53cc2bff00bb0120 +SERVER_HANDSHAKE_TRAFFIC_SECRET 8f79b95494f28f7b6aeb6e235f76102f7637ff2e8e9d79c837404acf34171ce5 ec1ad4e1d22a535794c714f66cf2e06fd1a4c332511a63bfa3c8ac9c8fe4607ad661cd462f7c57fcbc39bd0e9548de2b +CLIENT_TRAFFIC_SECRET_0 8f79b95494f28f7b6aeb6e235f76102f7637ff2e8e9d79c837404acf34171ce5 10c9626e183dfe209dedee1b599f33b4eb67e682b573707ab7139314d1a70d0d40075925a0dc347ccc14a0139da4e3b4 +SERVER_TRAFFIC_SECRET_0 8f79b95494f28f7b6aeb6e235f76102f7637ff2e8e9d79c837404acf34171ce5 247bdbf04e56eb379e35de8a68064234062b78c62fd00aee0418606084cf3d7e35cff95dbc09da050a90b76ca3926576 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f0423204657d6791915a18ccecce823faa0a6ece150bbcb61d187e0413da2e82 da5d538503414d4c95ecaa371034023bca4a4d07b7266055e9a032008fce510f1ae9201a0c6ec7530f06637e5af606c1 +SERVER_HANDSHAKE_TRAFFIC_SECRET f0423204657d6791915a18ccecce823faa0a6ece150bbcb61d187e0413da2e82 a201f3e0f3a9a30f11cc36a62be7e69055d3c6ba5883c9777fe9d2b8366cbae53ce194a3b363d14af6ced1c2b66c8091 +CLIENT_TRAFFIC_SECRET_0 f0423204657d6791915a18ccecce823faa0a6ece150bbcb61d187e0413da2e82 6c40b7024fc14fc22fca62fde5e3b0ccb64e1bb0f1b47f58a126d8052111082cffb51e9fa221711184237de706509011 +SERVER_TRAFFIC_SECRET_0 f0423204657d6791915a18ccecce823faa0a6ece150bbcb61d187e0413da2e82 c2bcde911eaba46f4df70d0e0ea1312cbdb9bf023b0521088de1df5d9ee95dc32898ccb25e4a44eaf61781559fd431e9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f0423204657d6791915a18ccecce823faa0a6ece150bbcb61d187e0413da2e82 da5d538503414d4c95ecaa371034023bca4a4d07b7266055e9a032008fce510f1ae9201a0c6ec7530f06637e5af606c1 +SERVER_HANDSHAKE_TRAFFIC_SECRET f0423204657d6791915a18ccecce823faa0a6ece150bbcb61d187e0413da2e82 a201f3e0f3a9a30f11cc36a62be7e69055d3c6ba5883c9777fe9d2b8366cbae53ce194a3b363d14af6ced1c2b66c8091 +CLIENT_TRAFFIC_SECRET_0 f0423204657d6791915a18ccecce823faa0a6ece150bbcb61d187e0413da2e82 6c40b7024fc14fc22fca62fde5e3b0ccb64e1bb0f1b47f58a126d8052111082cffb51e9fa221711184237de706509011 +SERVER_TRAFFIC_SECRET_0 f0423204657d6791915a18ccecce823faa0a6ece150bbcb61d187e0413da2e82 c2bcde911eaba46f4df70d0e0ea1312cbdb9bf023b0521088de1df5d9ee95dc32898ccb25e4a44eaf61781559fd431e9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0dc91859ffcc34719c679c116735ed1f8c033f99b404839467b9e84eb7aa98df 388ed619595a59e4824447c6712d5f2bf436f818ba14557ca03a3bb96aee7fd4df4cad502785f5c77ef2a31600af2fd3 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0dc91859ffcc34719c679c116735ed1f8c033f99b404839467b9e84eb7aa98df 827e852bfe737b2c65d0152dd5416da94be5a6d586ab05585c0acaf54f522a1e50062107d9b6177696ddaad84c313845 +CLIENT_TRAFFIC_SECRET_0 0dc91859ffcc34719c679c116735ed1f8c033f99b404839467b9e84eb7aa98df bfc23050afea24282bf65292da773b2588aee0149c1e563aa3aeab0fbff30d1be8f48f195de15b29af3270e27cd35cf1 +SERVER_TRAFFIC_SECRET_0 0dc91859ffcc34719c679c116735ed1f8c033f99b404839467b9e84eb7aa98df eeba7227398504bc45f7fe593c641762e23032560bea378b3ff7aecd07c8fdb728ed8f43029b6af950ef428ee5e07ab2 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0dc91859ffcc34719c679c116735ed1f8c033f99b404839467b9e84eb7aa98df 388ed619595a59e4824447c6712d5f2bf436f818ba14557ca03a3bb96aee7fd4df4cad502785f5c77ef2a31600af2fd3 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0dc91859ffcc34719c679c116735ed1f8c033f99b404839467b9e84eb7aa98df 827e852bfe737b2c65d0152dd5416da94be5a6d586ab05585c0acaf54f522a1e50062107d9b6177696ddaad84c313845 +CLIENT_TRAFFIC_SECRET_0 0dc91859ffcc34719c679c116735ed1f8c033f99b404839467b9e84eb7aa98df bfc23050afea24282bf65292da773b2588aee0149c1e563aa3aeab0fbff30d1be8f48f195de15b29af3270e27cd35cf1 +SERVER_TRAFFIC_SECRET_0 0dc91859ffcc34719c679c116735ed1f8c033f99b404839467b9e84eb7aa98df eeba7227398504bc45f7fe593c641762e23032560bea378b3ff7aecd07c8fdb728ed8f43029b6af950ef428ee5e07ab2 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6e9ce8a5644677fee49872eeb019920ca2152ff2df07f22310d8165217f4a7a3 522003a467ba1dd2f53e2b5bb31162221c2e2ffdbd5aa292b84600a3a2673eebd973c11c5a53439ba7b630283da6df43 +SERVER_HANDSHAKE_TRAFFIC_SECRET 6e9ce8a5644677fee49872eeb019920ca2152ff2df07f22310d8165217f4a7a3 db42c3cb09cfd509c6150e260a3949f8bffdc08509daf7d778bd542b051302e87b2a000f7c3dbc07512471ba9cc1fbed +CLIENT_TRAFFIC_SECRET_0 6e9ce8a5644677fee49872eeb019920ca2152ff2df07f22310d8165217f4a7a3 142de6fe36dcea8bed3e64cce1402169acbcf1fe7b7c7a58cc421de0b9d3693f04933607b49653e63c560f0006e831c0 +SERVER_TRAFFIC_SECRET_0 6e9ce8a5644677fee49872eeb019920ca2152ff2df07f22310d8165217f4a7a3 362e29e750e62d0702f8200eac07605e8b04113e0011a103e79bff4f59767e92bdc237cca7618bf2c8bb6668d058ad59 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6e9ce8a5644677fee49872eeb019920ca2152ff2df07f22310d8165217f4a7a3 522003a467ba1dd2f53e2b5bb31162221c2e2ffdbd5aa292b84600a3a2673eebd973c11c5a53439ba7b630283da6df43 +SERVER_HANDSHAKE_TRAFFIC_SECRET 6e9ce8a5644677fee49872eeb019920ca2152ff2df07f22310d8165217f4a7a3 db42c3cb09cfd509c6150e260a3949f8bffdc08509daf7d778bd542b051302e87b2a000f7c3dbc07512471ba9cc1fbed +CLIENT_TRAFFIC_SECRET_0 6e9ce8a5644677fee49872eeb019920ca2152ff2df07f22310d8165217f4a7a3 142de6fe36dcea8bed3e64cce1402169acbcf1fe7b7c7a58cc421de0b9d3693f04933607b49653e63c560f0006e831c0 +SERVER_TRAFFIC_SECRET_0 6e9ce8a5644677fee49872eeb019920ca2152ff2df07f22310d8165217f4a7a3 362e29e750e62d0702f8200eac07605e8b04113e0011a103e79bff4f59767e92bdc237cca7618bf2c8bb6668d058ad59 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 680d94b5fc7a4f8d22c0abd7966bcd9e91ae9cd6a8621f8b167f9bdfd9476f95 9b24581f1cbbf99cf0cba934a8ab397538590f1ea8ab88853e11de384957f63e90a4bbe36afa8ab745ca5573aadc5fb9 +SERVER_HANDSHAKE_TRAFFIC_SECRET 680d94b5fc7a4f8d22c0abd7966bcd9e91ae9cd6a8621f8b167f9bdfd9476f95 9f7f670c3a5175e6cc93dd2b4864031e8cf5621ee9efecaf241497228e6543b48b7a44ac5b4f79cc8f36bb81ae9dd463 +CLIENT_TRAFFIC_SECRET_0 680d94b5fc7a4f8d22c0abd7966bcd9e91ae9cd6a8621f8b167f9bdfd9476f95 a7fba7efa85c6ab2d6de92a2428fbde6b61e43a49ae0643319edd146ed160b981b2e7171634201eaf5aae83437cf355b +SERVER_TRAFFIC_SECRET_0 680d94b5fc7a4f8d22c0abd7966bcd9e91ae9cd6a8621f8b167f9bdfd9476f95 57991b1ce2081cda8005b19c2f94bb063c8a53c092981d4b8dfef52e07007c82f31074ef8d07be46c0056109f0e3204b +CLIENT_HANDSHAKE_TRAFFIC_SECRET 680d94b5fc7a4f8d22c0abd7966bcd9e91ae9cd6a8621f8b167f9bdfd9476f95 9b24581f1cbbf99cf0cba934a8ab397538590f1ea8ab88853e11de384957f63e90a4bbe36afa8ab745ca5573aadc5fb9 +SERVER_HANDSHAKE_TRAFFIC_SECRET 680d94b5fc7a4f8d22c0abd7966bcd9e91ae9cd6a8621f8b167f9bdfd9476f95 9f7f670c3a5175e6cc93dd2b4864031e8cf5621ee9efecaf241497228e6543b48b7a44ac5b4f79cc8f36bb81ae9dd463 +CLIENT_TRAFFIC_SECRET_0 680d94b5fc7a4f8d22c0abd7966bcd9e91ae9cd6a8621f8b167f9bdfd9476f95 a7fba7efa85c6ab2d6de92a2428fbde6b61e43a49ae0643319edd146ed160b981b2e7171634201eaf5aae83437cf355b +SERVER_TRAFFIC_SECRET_0 680d94b5fc7a4f8d22c0abd7966bcd9e91ae9cd6a8621f8b167f9bdfd9476f95 57991b1ce2081cda8005b19c2f94bb063c8a53c092981d4b8dfef52e07007c82f31074ef8d07be46c0056109f0e3204b +CLIENT_HANDSHAKE_TRAFFIC_SECRET dc134cfcbc90f7ffc4b868b1049bf50cc3777d3b739592b038ac3914fa78ee7e 1ff632f3befee99e87a66c044a444a924807ae491100d326ba4019b53aa3ac6c1ee1a4dbd0f595343e260042cd4624d7 +SERVER_HANDSHAKE_TRAFFIC_SECRET dc134cfcbc90f7ffc4b868b1049bf50cc3777d3b739592b038ac3914fa78ee7e 4b2524312213ad94206b4db5b2953c37ff14f1832ceaca5ede15c29aa2090c7a68ba282cd73b358654b10c1f9a12e6b9 +CLIENT_TRAFFIC_SECRET_0 dc134cfcbc90f7ffc4b868b1049bf50cc3777d3b739592b038ac3914fa78ee7e 7ffeb63f987230a52b81961987a138b98000af3a4acee25e62638da0cc63dcbac1f576f5819732a95e505dc0e4aca0a1 +SERVER_TRAFFIC_SECRET_0 dc134cfcbc90f7ffc4b868b1049bf50cc3777d3b739592b038ac3914fa78ee7e 4baee62e1b912d920f9cd2f1645046307273f03826e263314470e50ef05130651d05cd8ad4bd2c4c5bf696ad158046bc +CLIENT_HANDSHAKE_TRAFFIC_SECRET dc134cfcbc90f7ffc4b868b1049bf50cc3777d3b739592b038ac3914fa78ee7e 1ff632f3befee99e87a66c044a444a924807ae491100d326ba4019b53aa3ac6c1ee1a4dbd0f595343e260042cd4624d7 +SERVER_HANDSHAKE_TRAFFIC_SECRET dc134cfcbc90f7ffc4b868b1049bf50cc3777d3b739592b038ac3914fa78ee7e 4b2524312213ad94206b4db5b2953c37ff14f1832ceaca5ede15c29aa2090c7a68ba282cd73b358654b10c1f9a12e6b9 +CLIENT_TRAFFIC_SECRET_0 dc134cfcbc90f7ffc4b868b1049bf50cc3777d3b739592b038ac3914fa78ee7e 7ffeb63f987230a52b81961987a138b98000af3a4acee25e62638da0cc63dcbac1f576f5819732a95e505dc0e4aca0a1 +SERVER_TRAFFIC_SECRET_0 dc134cfcbc90f7ffc4b868b1049bf50cc3777d3b739592b038ac3914fa78ee7e 4baee62e1b912d920f9cd2f1645046307273f03826e263314470e50ef05130651d05cd8ad4bd2c4c5bf696ad158046bc +CLIENT_HANDSHAKE_TRAFFIC_SECRET 91f5cbf5e58eb171fbfd8a132b34ee95d624b5ff97c0f48f5a0ba9244e3c52da cee24f10502fed8043e99de899e96f21dfcc5c27a33abd56501858ddf8b640b5ea802e73f98bce28af4956a5b6f267da +SERVER_HANDSHAKE_TRAFFIC_SECRET 91f5cbf5e58eb171fbfd8a132b34ee95d624b5ff97c0f48f5a0ba9244e3c52da df98b4749160c4b18c4a7a8f046dea620e49b175282a38ee21d7283f2b9ff2f30faa4ccdc836fe84ddf65bd235ceb1c4 +CLIENT_TRAFFIC_SECRET_0 91f5cbf5e58eb171fbfd8a132b34ee95d624b5ff97c0f48f5a0ba9244e3c52da 8c4dbfee49a4df8d7302c493544e1dffab8f8416143572c6062d0a11e8c78c3474600007089ff063346409a66d3c2fa2 +SERVER_TRAFFIC_SECRET_0 91f5cbf5e58eb171fbfd8a132b34ee95d624b5ff97c0f48f5a0ba9244e3c52da 0a8a31b6bbf65861f7d3547ce05353fa90ffef103fc752ec334065bb164f7085efb0f9512381e26368cd94863ac4067c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 91f5cbf5e58eb171fbfd8a132b34ee95d624b5ff97c0f48f5a0ba9244e3c52da cee24f10502fed8043e99de899e96f21dfcc5c27a33abd56501858ddf8b640b5ea802e73f98bce28af4956a5b6f267da +SERVER_HANDSHAKE_TRAFFIC_SECRET 91f5cbf5e58eb171fbfd8a132b34ee95d624b5ff97c0f48f5a0ba9244e3c52da df98b4749160c4b18c4a7a8f046dea620e49b175282a38ee21d7283f2b9ff2f30faa4ccdc836fe84ddf65bd235ceb1c4 +CLIENT_TRAFFIC_SECRET_0 91f5cbf5e58eb171fbfd8a132b34ee95d624b5ff97c0f48f5a0ba9244e3c52da 8c4dbfee49a4df8d7302c493544e1dffab8f8416143572c6062d0a11e8c78c3474600007089ff063346409a66d3c2fa2 +SERVER_TRAFFIC_SECRET_0 91f5cbf5e58eb171fbfd8a132b34ee95d624b5ff97c0f48f5a0ba9244e3c52da 0a8a31b6bbf65861f7d3547ce05353fa90ffef103fc752ec334065bb164f7085efb0f9512381e26368cd94863ac4067c +CLIENT_HANDSHAKE_TRAFFIC_SECRET c1d47eaa753a7c3aaf8e7713856d9d331cd35f42b094dbd53ccfdca4330af8ab f8c3989ee13c75a31c2792d5d36079f27bbf9085c2ccb2154f2a676620c7c77a542dd06fcf8203ea679906abaa11032e +SERVER_HANDSHAKE_TRAFFIC_SECRET c1d47eaa753a7c3aaf8e7713856d9d331cd35f42b094dbd53ccfdca4330af8ab f02b349bb8b9975ad9778ee199995040ea491da69ede1de574722d6890ea2154510bbe88d0e24ad1c16c5bc9d99ce11b +CLIENT_TRAFFIC_SECRET_0 c1d47eaa753a7c3aaf8e7713856d9d331cd35f42b094dbd53ccfdca4330af8ab c121be74fd44a6a5523d541d250355d4377f3bc8148b3b91f04c18310377a038ae91e2d0db52d4a85cf1a5dffa7b9ad4 +SERVER_TRAFFIC_SECRET_0 c1d47eaa753a7c3aaf8e7713856d9d331cd35f42b094dbd53ccfdca4330af8ab 20ff7f5b9fff156acc7889253f43b0ac704e93af864c7de4f0c454fc7f916fcc25d9d2a2a758cdd03d9ab7d81082de99 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c1d47eaa753a7c3aaf8e7713856d9d331cd35f42b094dbd53ccfdca4330af8ab f8c3989ee13c75a31c2792d5d36079f27bbf9085c2ccb2154f2a676620c7c77a542dd06fcf8203ea679906abaa11032e +SERVER_HANDSHAKE_TRAFFIC_SECRET c1d47eaa753a7c3aaf8e7713856d9d331cd35f42b094dbd53ccfdca4330af8ab f02b349bb8b9975ad9778ee199995040ea491da69ede1de574722d6890ea2154510bbe88d0e24ad1c16c5bc9d99ce11b +CLIENT_TRAFFIC_SECRET_0 c1d47eaa753a7c3aaf8e7713856d9d331cd35f42b094dbd53ccfdca4330af8ab c121be74fd44a6a5523d541d250355d4377f3bc8148b3b91f04c18310377a038ae91e2d0db52d4a85cf1a5dffa7b9ad4 +SERVER_TRAFFIC_SECRET_0 c1d47eaa753a7c3aaf8e7713856d9d331cd35f42b094dbd53ccfdca4330af8ab 20ff7f5b9fff156acc7889253f43b0ac704e93af864c7de4f0c454fc7f916fcc25d9d2a2a758cdd03d9ab7d81082de99 +CLIENT_HANDSHAKE_TRAFFIC_SECRET db7e74e7c17acfd54e66aa277fb1d09d363226b9345929c24afeb225c645e071 55dda765d7b6a1cfc6d197b7ec8984d5aac48617a8c5614a07483fc789f248c84e2f59ea3460848897432cc029356f1e +SERVER_HANDSHAKE_TRAFFIC_SECRET db7e74e7c17acfd54e66aa277fb1d09d363226b9345929c24afeb225c645e071 f642271762dd2998f755b95d174948b3cae5dcf5efb6c261d3e65142c05bf1003b2d03994e40abc313f4f523f510f7de +CLIENT_TRAFFIC_SECRET_0 db7e74e7c17acfd54e66aa277fb1d09d363226b9345929c24afeb225c645e071 be74dce6f048b9d3d3d253fd00e57f31ff5bbec429cb5456d2fced213104fcbfd39646e3e80a8f1dae8d0b9e9de50059 +SERVER_TRAFFIC_SECRET_0 db7e74e7c17acfd54e66aa277fb1d09d363226b9345929c24afeb225c645e071 a31c5ea239d514eaa9839dee5ad8ee6026a2ba890ccd8bbbdb03dd13016dd851dca116c76634ff85b06e2702b3cabe47 +CLIENT_HANDSHAKE_TRAFFIC_SECRET db7e74e7c17acfd54e66aa277fb1d09d363226b9345929c24afeb225c645e071 55dda765d7b6a1cfc6d197b7ec8984d5aac48617a8c5614a07483fc789f248c84e2f59ea3460848897432cc029356f1e +SERVER_HANDSHAKE_TRAFFIC_SECRET db7e74e7c17acfd54e66aa277fb1d09d363226b9345929c24afeb225c645e071 f642271762dd2998f755b95d174948b3cae5dcf5efb6c261d3e65142c05bf1003b2d03994e40abc313f4f523f510f7de +CLIENT_TRAFFIC_SECRET_0 db7e74e7c17acfd54e66aa277fb1d09d363226b9345929c24afeb225c645e071 be74dce6f048b9d3d3d253fd00e57f31ff5bbec429cb5456d2fced213104fcbfd39646e3e80a8f1dae8d0b9e9de50059 +SERVER_TRAFFIC_SECRET_0 db7e74e7c17acfd54e66aa277fb1d09d363226b9345929c24afeb225c645e071 a31c5ea239d514eaa9839dee5ad8ee6026a2ba890ccd8bbbdb03dd13016dd851dca116c76634ff85b06e2702b3cabe47 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 87373117cb0e8dbe7d383bd5438ddfeb1a9d4a4ba26017be161cdc971ca1188e 81906af02cca5eb4d4c3a3b8fc0ecdb8d3933dff4a47ece5dcbf8308316c87efd71235f505691c1a4894655e0312656c +SERVER_HANDSHAKE_TRAFFIC_SECRET 87373117cb0e8dbe7d383bd5438ddfeb1a9d4a4ba26017be161cdc971ca1188e 0a904306461a40240e2a509282ab8a4aea908e944ded18c0653620163c80125b678f59fd33facb2288fdd97ee13e5ce2 +CLIENT_TRAFFIC_SECRET_0 87373117cb0e8dbe7d383bd5438ddfeb1a9d4a4ba26017be161cdc971ca1188e 6e91ad86ade496f42b53b0503712b65c040f039f7fde4052561a079d32c665a14125cf64027ad74c926c8bd29d494531 +SERVER_TRAFFIC_SECRET_0 87373117cb0e8dbe7d383bd5438ddfeb1a9d4a4ba26017be161cdc971ca1188e fd7339c175a9d9bf2f3c816bd873deb960c4038e074b73e9976914788b37e537bf945b2bc5a506b93a296eec24082e0a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 87373117cb0e8dbe7d383bd5438ddfeb1a9d4a4ba26017be161cdc971ca1188e 81906af02cca5eb4d4c3a3b8fc0ecdb8d3933dff4a47ece5dcbf8308316c87efd71235f505691c1a4894655e0312656c +SERVER_HANDSHAKE_TRAFFIC_SECRET 87373117cb0e8dbe7d383bd5438ddfeb1a9d4a4ba26017be161cdc971ca1188e 0a904306461a40240e2a509282ab8a4aea908e944ded18c0653620163c80125b678f59fd33facb2288fdd97ee13e5ce2 +CLIENT_TRAFFIC_SECRET_0 87373117cb0e8dbe7d383bd5438ddfeb1a9d4a4ba26017be161cdc971ca1188e 6e91ad86ade496f42b53b0503712b65c040f039f7fde4052561a079d32c665a14125cf64027ad74c926c8bd29d494531 +SERVER_TRAFFIC_SECRET_0 87373117cb0e8dbe7d383bd5438ddfeb1a9d4a4ba26017be161cdc971ca1188e fd7339c175a9d9bf2f3c816bd873deb960c4038e074b73e9976914788b37e537bf945b2bc5a506b93a296eec24082e0a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5adc40ef7f165e54d59a3dec65e956c103dad9ad10e422e20ba721b2a2119311 00308af4e51c3da9ceeb182e8c1f2a3a924acc728916834e66d2510418210b41c9908ac0f069526bb1441d916d7f1f47 +SERVER_HANDSHAKE_TRAFFIC_SECRET 5adc40ef7f165e54d59a3dec65e956c103dad9ad10e422e20ba721b2a2119311 4065c1fc5ad5020da9e7814db138ef8d3f3a51c7651068b07289271664bac70d7c11802b9a83e0b55de83d4bed5e13b9 +CLIENT_TRAFFIC_SECRET_0 5adc40ef7f165e54d59a3dec65e956c103dad9ad10e422e20ba721b2a2119311 c094b8667cd0d4fe4ae62b8aae6efe48088cfe7da9f745c30720e10ce2a016d52dbc483d5752c8c4b0c2b31d69852c71 +SERVER_TRAFFIC_SECRET_0 5adc40ef7f165e54d59a3dec65e956c103dad9ad10e422e20ba721b2a2119311 a88b70679e38a089a1002b0361619eb781eab857180a3cd28333a5c6bbeaa14d06321528abf4a61045c088a406126681 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5adc40ef7f165e54d59a3dec65e956c103dad9ad10e422e20ba721b2a2119311 00308af4e51c3da9ceeb182e8c1f2a3a924acc728916834e66d2510418210b41c9908ac0f069526bb1441d916d7f1f47 +SERVER_HANDSHAKE_TRAFFIC_SECRET 5adc40ef7f165e54d59a3dec65e956c103dad9ad10e422e20ba721b2a2119311 4065c1fc5ad5020da9e7814db138ef8d3f3a51c7651068b07289271664bac70d7c11802b9a83e0b55de83d4bed5e13b9 +CLIENT_TRAFFIC_SECRET_0 5adc40ef7f165e54d59a3dec65e956c103dad9ad10e422e20ba721b2a2119311 c094b8667cd0d4fe4ae62b8aae6efe48088cfe7da9f745c30720e10ce2a016d52dbc483d5752c8c4b0c2b31d69852c71 +SERVER_TRAFFIC_SECRET_0 5adc40ef7f165e54d59a3dec65e956c103dad9ad10e422e20ba721b2a2119311 a88b70679e38a089a1002b0361619eb781eab857180a3cd28333a5c6bbeaa14d06321528abf4a61045c088a406126681 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 28898844d01d35adaff2f6c22bd6faee2b4eb82c5a666da49a992fe4e3d0cf49 13adabf1d985acc68b469f791e75ea3f926c338e80419ee8c71006aca01dc01b891539c1716b8ce9b097b7a82c250da6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 28898844d01d35adaff2f6c22bd6faee2b4eb82c5a666da49a992fe4e3d0cf49 dd339f87422c80cc788f80996c35a721bea41b74b0a98bf0f0a49f7b91c8d953a83e0e72ddcabb2a60bc9235131d6349 +CLIENT_TRAFFIC_SECRET_0 28898844d01d35adaff2f6c22bd6faee2b4eb82c5a666da49a992fe4e3d0cf49 195ac9d77f2918f3910a1a8cc01a3124298af81479ed5dae23b6299f38213c91e34c2d0e958c83cc0d96025fb195dd72 +SERVER_TRAFFIC_SECRET_0 28898844d01d35adaff2f6c22bd6faee2b4eb82c5a666da49a992fe4e3d0cf49 ae7840df15a96e605a6e7d9ea992771e6a377528dec7cc617fe26d73ed0efe031000a9e150492590eebc7a7cefa9e978 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 28898844d01d35adaff2f6c22bd6faee2b4eb82c5a666da49a992fe4e3d0cf49 13adabf1d985acc68b469f791e75ea3f926c338e80419ee8c71006aca01dc01b891539c1716b8ce9b097b7a82c250da6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 28898844d01d35adaff2f6c22bd6faee2b4eb82c5a666da49a992fe4e3d0cf49 dd339f87422c80cc788f80996c35a721bea41b74b0a98bf0f0a49f7b91c8d953a83e0e72ddcabb2a60bc9235131d6349 +CLIENT_TRAFFIC_SECRET_0 28898844d01d35adaff2f6c22bd6faee2b4eb82c5a666da49a992fe4e3d0cf49 195ac9d77f2918f3910a1a8cc01a3124298af81479ed5dae23b6299f38213c91e34c2d0e958c83cc0d96025fb195dd72 +SERVER_TRAFFIC_SECRET_0 28898844d01d35adaff2f6c22bd6faee2b4eb82c5a666da49a992fe4e3d0cf49 ae7840df15a96e605a6e7d9ea992771e6a377528dec7cc617fe26d73ed0efe031000a9e150492590eebc7a7cefa9e978 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ab8b8010248c79252e2e64e6347c7ce89552d7e1c36e0b1802fda421745a7682 a247c01afb6bad690f78247e01d25d53980488835e8664908929870e63324e9b238876bd79bc19d3915c9e7aa1aec771 +SERVER_HANDSHAKE_TRAFFIC_SECRET ab8b8010248c79252e2e64e6347c7ce89552d7e1c36e0b1802fda421745a7682 e3b883ea77d4d36f6d2d5497646bfae5434789d92b655329da276069f9ed312542334c3293b2b0083063ae9f69ad323c +CLIENT_TRAFFIC_SECRET_0 ab8b8010248c79252e2e64e6347c7ce89552d7e1c36e0b1802fda421745a7682 216f25cce3ae6566fe64d50040afd039a32b220a5367ecb43952b03cc8875da5d398ed2d1b91892865947c8c13ea24b7 +SERVER_TRAFFIC_SECRET_0 ab8b8010248c79252e2e64e6347c7ce89552d7e1c36e0b1802fda421745a7682 b7d5167d5abb5891f37387753a4e51467553b8109d10d445f0661ac4f1ac87bb4b3d12703aff32503cf0a20238878832 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ab8b8010248c79252e2e64e6347c7ce89552d7e1c36e0b1802fda421745a7682 a247c01afb6bad690f78247e01d25d53980488835e8664908929870e63324e9b238876bd79bc19d3915c9e7aa1aec771 +SERVER_HANDSHAKE_TRAFFIC_SECRET ab8b8010248c79252e2e64e6347c7ce89552d7e1c36e0b1802fda421745a7682 e3b883ea77d4d36f6d2d5497646bfae5434789d92b655329da276069f9ed312542334c3293b2b0083063ae9f69ad323c +CLIENT_TRAFFIC_SECRET_0 ab8b8010248c79252e2e64e6347c7ce89552d7e1c36e0b1802fda421745a7682 216f25cce3ae6566fe64d50040afd039a32b220a5367ecb43952b03cc8875da5d398ed2d1b91892865947c8c13ea24b7 +SERVER_TRAFFIC_SECRET_0 ab8b8010248c79252e2e64e6347c7ce89552d7e1c36e0b1802fda421745a7682 b7d5167d5abb5891f37387753a4e51467553b8109d10d445f0661ac4f1ac87bb4b3d12703aff32503cf0a20238878832 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 44f81d093d8d8dee2c5a6b6a599095fb3660345b9b135b34938956e21bbf13a7 62429af2c223d28d4f48eb2251442359b036f55df1ad7848c6a8ed83cd568bbf70231781527751f287d8a96dd78f01b6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 44f81d093d8d8dee2c5a6b6a599095fb3660345b9b135b34938956e21bbf13a7 c9732d329eb9e47d9f96dc09cab8b6e09d3d9ac6127e39b78a1f2c28365819e2332daf2a4c4346bbc89c3f1765c5d4d8 +CLIENT_TRAFFIC_SECRET_0 44f81d093d8d8dee2c5a6b6a599095fb3660345b9b135b34938956e21bbf13a7 7e659c05531557efbced6a2291d0faec5450662775ce0356e5f5799c7eb02af9d52f785d1b914b6110e6bacfedfcc07a +SERVER_TRAFFIC_SECRET_0 44f81d093d8d8dee2c5a6b6a599095fb3660345b9b135b34938956e21bbf13a7 92e6c6e8198eae02f8daef59127eed9ac0c0c796213dd6bf88b292e041c3027d4fb6fe8773ff3ddb3906ef2c72fca3d9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 44f81d093d8d8dee2c5a6b6a599095fb3660345b9b135b34938956e21bbf13a7 62429af2c223d28d4f48eb2251442359b036f55df1ad7848c6a8ed83cd568bbf70231781527751f287d8a96dd78f01b6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 44f81d093d8d8dee2c5a6b6a599095fb3660345b9b135b34938956e21bbf13a7 c9732d329eb9e47d9f96dc09cab8b6e09d3d9ac6127e39b78a1f2c28365819e2332daf2a4c4346bbc89c3f1765c5d4d8 +CLIENT_TRAFFIC_SECRET_0 44f81d093d8d8dee2c5a6b6a599095fb3660345b9b135b34938956e21bbf13a7 7e659c05531557efbced6a2291d0faec5450662775ce0356e5f5799c7eb02af9d52f785d1b914b6110e6bacfedfcc07a +SERVER_TRAFFIC_SECRET_0 44f81d093d8d8dee2c5a6b6a599095fb3660345b9b135b34938956e21bbf13a7 92e6c6e8198eae02f8daef59127eed9ac0c0c796213dd6bf88b292e041c3027d4fb6fe8773ff3ddb3906ef2c72fca3d9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8edec6ac999186a1e84463f716ac6e07721d6900c34bd5ef6e7ef9de97b2b84b 88703db275df09c5608b81a168612b504c5a242a7316d42b010cc3cfd7bb4a48e83f3c8d39270d9e53ef28efc079c271 +SERVER_HANDSHAKE_TRAFFIC_SECRET 8edec6ac999186a1e84463f716ac6e07721d6900c34bd5ef6e7ef9de97b2b84b 68cc5a13c67792488c1e410a99f6a6628878101e0bd1b7ed5ddc65149f791e846872ceb6d228c37bc850888439bfcde4 +CLIENT_TRAFFIC_SECRET_0 8edec6ac999186a1e84463f716ac6e07721d6900c34bd5ef6e7ef9de97b2b84b e3f5338fc409e0164c22a0237261f35a84737c82bb896e92adbeb5b50705a377a7f815a8d198067249dc4bafa40c97db +SERVER_TRAFFIC_SECRET_0 8edec6ac999186a1e84463f716ac6e07721d6900c34bd5ef6e7ef9de97b2b84b eb33faa1067312c910e5e0eac77f53fd977a67ad18bd444d7ddc86ac2c1d038290e344c88beb237523b99cd532c3b2a3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8edec6ac999186a1e84463f716ac6e07721d6900c34bd5ef6e7ef9de97b2b84b 88703db275df09c5608b81a168612b504c5a242a7316d42b010cc3cfd7bb4a48e83f3c8d39270d9e53ef28efc079c271 +SERVER_HANDSHAKE_TRAFFIC_SECRET 8edec6ac999186a1e84463f716ac6e07721d6900c34bd5ef6e7ef9de97b2b84b 68cc5a13c67792488c1e410a99f6a6628878101e0bd1b7ed5ddc65149f791e846872ceb6d228c37bc850888439bfcde4 +CLIENT_TRAFFIC_SECRET_0 8edec6ac999186a1e84463f716ac6e07721d6900c34bd5ef6e7ef9de97b2b84b e3f5338fc409e0164c22a0237261f35a84737c82bb896e92adbeb5b50705a377a7f815a8d198067249dc4bafa40c97db +SERVER_TRAFFIC_SECRET_0 8edec6ac999186a1e84463f716ac6e07721d6900c34bd5ef6e7ef9de97b2b84b eb33faa1067312c910e5e0eac77f53fd977a67ad18bd444d7ddc86ac2c1d038290e344c88beb237523b99cd532c3b2a3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 7d5da75f883492874ffe7ddaa8eae73c1bea89596b9d3af4c1d7407570052b4c 27c5376d6d8aea7893d296e4e9f06ac69a0c1111560e999878ad41f262e2f0485cf1d69ec2dbe0a613b2160f1ff3347a +SERVER_HANDSHAKE_TRAFFIC_SECRET 7d5da75f883492874ffe7ddaa8eae73c1bea89596b9d3af4c1d7407570052b4c d8127efc864b652865a5ac14e8984cced5428ace4fdf2ef7b05e05024afcb0beb845bce7669b9d1899edf08a1617f093 +CLIENT_TRAFFIC_SECRET_0 7d5da75f883492874ffe7ddaa8eae73c1bea89596b9d3af4c1d7407570052b4c 2c41f40d9d9b059366617ba056bbabd47d9c570f525e8975fc8516c2e2b75bc7d55b51fd4e4e2c14bea11b084676dd66 +SERVER_TRAFFIC_SECRET_0 7d5da75f883492874ffe7ddaa8eae73c1bea89596b9d3af4c1d7407570052b4c 8ffde1396cc0c4e8fefc7115c8f51e401728c9b86d58fdde7df2af18234f48f5ee9996b5ac3b4d18c7adff7785593794 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 7d5da75f883492874ffe7ddaa8eae73c1bea89596b9d3af4c1d7407570052b4c 27c5376d6d8aea7893d296e4e9f06ac69a0c1111560e999878ad41f262e2f0485cf1d69ec2dbe0a613b2160f1ff3347a +SERVER_HANDSHAKE_TRAFFIC_SECRET 7d5da75f883492874ffe7ddaa8eae73c1bea89596b9d3af4c1d7407570052b4c d8127efc864b652865a5ac14e8984cced5428ace4fdf2ef7b05e05024afcb0beb845bce7669b9d1899edf08a1617f093 +CLIENT_TRAFFIC_SECRET_0 7d5da75f883492874ffe7ddaa8eae73c1bea89596b9d3af4c1d7407570052b4c 2c41f40d9d9b059366617ba056bbabd47d9c570f525e8975fc8516c2e2b75bc7d55b51fd4e4e2c14bea11b084676dd66 +SERVER_TRAFFIC_SECRET_0 7d5da75f883492874ffe7ddaa8eae73c1bea89596b9d3af4c1d7407570052b4c 8ffde1396cc0c4e8fefc7115c8f51e401728c9b86d58fdde7df2af18234f48f5ee9996b5ac3b4d18c7adff7785593794 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 72f35d55c1c216dec12d415245d94a0e70dff28f148542de991d4e4e4e97a0ae d32ff6fedea604c4460b78f10eaae6da0c521e803e23a134c403b67d680654b12f9c075f39df2e1bbdbbff26fff54466 +SERVER_HANDSHAKE_TRAFFIC_SECRET 72f35d55c1c216dec12d415245d94a0e70dff28f148542de991d4e4e4e97a0ae ed38f9d6f6d0d6dde0f30b86ee277c70b4d1e9f919ac8b36f1603a91494dba08a41fcadb3797b98025100161c7b3fb21 +CLIENT_TRAFFIC_SECRET_0 72f35d55c1c216dec12d415245d94a0e70dff28f148542de991d4e4e4e97a0ae d30aee089896a4c0d580424488b4862706a6463ad2a4ab16a436da198102964d0287b0818473af16595c633770017114 +SERVER_TRAFFIC_SECRET_0 72f35d55c1c216dec12d415245d94a0e70dff28f148542de991d4e4e4e97a0ae 78aa11fc06b4cda25e238aa557ee96074a5c74bc4ef7b541c4757eccfdaa331a673d1d742ed176548454894a14f17b76 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 72f35d55c1c216dec12d415245d94a0e70dff28f148542de991d4e4e4e97a0ae d32ff6fedea604c4460b78f10eaae6da0c521e803e23a134c403b67d680654b12f9c075f39df2e1bbdbbff26fff54466 +SERVER_HANDSHAKE_TRAFFIC_SECRET 72f35d55c1c216dec12d415245d94a0e70dff28f148542de991d4e4e4e97a0ae ed38f9d6f6d0d6dde0f30b86ee277c70b4d1e9f919ac8b36f1603a91494dba08a41fcadb3797b98025100161c7b3fb21 +CLIENT_TRAFFIC_SECRET_0 72f35d55c1c216dec12d415245d94a0e70dff28f148542de991d4e4e4e97a0ae d30aee089896a4c0d580424488b4862706a6463ad2a4ab16a436da198102964d0287b0818473af16595c633770017114 +SERVER_TRAFFIC_SECRET_0 72f35d55c1c216dec12d415245d94a0e70dff28f148542de991d4e4e4e97a0ae 78aa11fc06b4cda25e238aa557ee96074a5c74bc4ef7b541c4757eccfdaa331a673d1d742ed176548454894a14f17b76 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f950b4c1340a509549f79274bf977f6de35e6379ffd04b325ca2da1a7f7a82f3 40f3519c2dc3f916111c72b852fc2f5067e6c58324d357c8a4058984eca2830880065d3d9f16ca49c9cf9b6db1555efa +SERVER_HANDSHAKE_TRAFFIC_SECRET f950b4c1340a509549f79274bf977f6de35e6379ffd04b325ca2da1a7f7a82f3 62496929fc12758cd0a104642c53b0a3306f4bbf5aa18e10274fda3a3eb74104efa9746dd5d702af358f6f735edc98b6 +CLIENT_TRAFFIC_SECRET_0 f950b4c1340a509549f79274bf977f6de35e6379ffd04b325ca2da1a7f7a82f3 c9e0e66b2fd0ad8478fa48213465fc662b6998b5af5fef58d71b034f85a727a20622536bbbbe17328ce99fd95b46ee84 +SERVER_TRAFFIC_SECRET_0 f950b4c1340a509549f79274bf977f6de35e6379ffd04b325ca2da1a7f7a82f3 329a48656ba6ea4213d89c076c9e08eaefba203060eafc44dc9f69a9ce09e793cdc7d28bd46dac5f94437ca0201c1312 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f950b4c1340a509549f79274bf977f6de35e6379ffd04b325ca2da1a7f7a82f3 40f3519c2dc3f916111c72b852fc2f5067e6c58324d357c8a4058984eca2830880065d3d9f16ca49c9cf9b6db1555efa +SERVER_HANDSHAKE_TRAFFIC_SECRET f950b4c1340a509549f79274bf977f6de35e6379ffd04b325ca2da1a7f7a82f3 62496929fc12758cd0a104642c53b0a3306f4bbf5aa18e10274fda3a3eb74104efa9746dd5d702af358f6f735edc98b6 +CLIENT_TRAFFIC_SECRET_0 f950b4c1340a509549f79274bf977f6de35e6379ffd04b325ca2da1a7f7a82f3 c9e0e66b2fd0ad8478fa48213465fc662b6998b5af5fef58d71b034f85a727a20622536bbbbe17328ce99fd95b46ee84 +SERVER_TRAFFIC_SECRET_0 f950b4c1340a509549f79274bf977f6de35e6379ffd04b325ca2da1a7f7a82f3 329a48656ba6ea4213d89c076c9e08eaefba203060eafc44dc9f69a9ce09e793cdc7d28bd46dac5f94437ca0201c1312 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a2dc6bb090a2a2a99aa19240cc045711fa58309295772ab7250dd02772af913e eaca42924833f1d2426916c84ff102436ae8c6d68bd58202edac1a8aff223e35616ec064852b921a568f59fc2f27799e +SERVER_HANDSHAKE_TRAFFIC_SECRET a2dc6bb090a2a2a99aa19240cc045711fa58309295772ab7250dd02772af913e 35f058a6ec2519391720115024c84f71c81924764c9308e4b47da0de6ae5730429c3517ce61618c4313bb91281c1c7cb +CLIENT_TRAFFIC_SECRET_0 a2dc6bb090a2a2a99aa19240cc045711fa58309295772ab7250dd02772af913e a768397bb482f4ee177d288861c2720508147b523804fd0f60b5edc474f3654e4bc9ba24486c988efb9460cd6bcecead +SERVER_TRAFFIC_SECRET_0 a2dc6bb090a2a2a99aa19240cc045711fa58309295772ab7250dd02772af913e baf3c1e0bf5fe3741969b5a5fc8a4ee169e3ab237760def357ac5dd9fdea5625db3f8939c41af477fd8f8de603a4fe1a +CLIENT_HANDSHAKE_TRAFFIC_SECRET a2dc6bb090a2a2a99aa19240cc045711fa58309295772ab7250dd02772af913e eaca42924833f1d2426916c84ff102436ae8c6d68bd58202edac1a8aff223e35616ec064852b921a568f59fc2f27799e +SERVER_HANDSHAKE_TRAFFIC_SECRET a2dc6bb090a2a2a99aa19240cc045711fa58309295772ab7250dd02772af913e 35f058a6ec2519391720115024c84f71c81924764c9308e4b47da0de6ae5730429c3517ce61618c4313bb91281c1c7cb +CLIENT_TRAFFIC_SECRET_0 a2dc6bb090a2a2a99aa19240cc045711fa58309295772ab7250dd02772af913e a768397bb482f4ee177d288861c2720508147b523804fd0f60b5edc474f3654e4bc9ba24486c988efb9460cd6bcecead +SERVER_TRAFFIC_SECRET_0 a2dc6bb090a2a2a99aa19240cc045711fa58309295772ab7250dd02772af913e baf3c1e0bf5fe3741969b5a5fc8a4ee169e3ab237760def357ac5dd9fdea5625db3f8939c41af477fd8f8de603a4fe1a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 196dcfbefc1ba77ba075f24c0e000b2449268f856e58f5842f0bc5cffa7e06d6 c1a515da313027e371fbf5007b8f4f2ed40c3ac2d5d470078c6cd4fd97ad32bcbcdc276198ccd893ed9d53594c5dab14 +SERVER_HANDSHAKE_TRAFFIC_SECRET 196dcfbefc1ba77ba075f24c0e000b2449268f856e58f5842f0bc5cffa7e06d6 a6d108b00fbcf043976a85dc518528016ea2554524b26304656a0e36b3ae36d8b6fe82a3de98c9140e7559c9fa6ab041 +CLIENT_TRAFFIC_SECRET_0 196dcfbefc1ba77ba075f24c0e000b2449268f856e58f5842f0bc5cffa7e06d6 9fb348557a163fc6e2d5995b790c8a2cbc6398c61da45085a4476bcb4b9d9519081b4c5beefa6bdcad39201cc1f0fdb0 +SERVER_TRAFFIC_SECRET_0 196dcfbefc1ba77ba075f24c0e000b2449268f856e58f5842f0bc5cffa7e06d6 175c93a2bec7f7bc558de98b4b8f1291604fcabb7779193331bacef1f12ba7dd9aa1b14647229b8c0c9b51e333dbac4a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 196dcfbefc1ba77ba075f24c0e000b2449268f856e58f5842f0bc5cffa7e06d6 c1a515da313027e371fbf5007b8f4f2ed40c3ac2d5d470078c6cd4fd97ad32bcbcdc276198ccd893ed9d53594c5dab14 +SERVER_HANDSHAKE_TRAFFIC_SECRET 196dcfbefc1ba77ba075f24c0e000b2449268f856e58f5842f0bc5cffa7e06d6 a6d108b00fbcf043976a85dc518528016ea2554524b26304656a0e36b3ae36d8b6fe82a3de98c9140e7559c9fa6ab041 +CLIENT_TRAFFIC_SECRET_0 196dcfbefc1ba77ba075f24c0e000b2449268f856e58f5842f0bc5cffa7e06d6 9fb348557a163fc6e2d5995b790c8a2cbc6398c61da45085a4476bcb4b9d9519081b4c5beefa6bdcad39201cc1f0fdb0 +SERVER_TRAFFIC_SECRET_0 196dcfbefc1ba77ba075f24c0e000b2449268f856e58f5842f0bc5cffa7e06d6 175c93a2bec7f7bc558de98b4b8f1291604fcabb7779193331bacef1f12ba7dd9aa1b14647229b8c0c9b51e333dbac4a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6c204b2838ecdd29b83c521515a7efa641dc472d6a7b94d847ed4a9d4e0f6c8d d35d9806765dff6b34d862299123f44ba5c95e13447084a01f6d09b3d606fb87097eb87e4f88499db278077a0a45227b +SERVER_HANDSHAKE_TRAFFIC_SECRET 6c204b2838ecdd29b83c521515a7efa641dc472d6a7b94d847ed4a9d4e0f6c8d a06b5cdff466a9d24ac59fa9f5d28fd652f63c91e553061061531b7addc388561f568875ac375e3b6c88d13cb29f42f3 +CLIENT_TRAFFIC_SECRET_0 6c204b2838ecdd29b83c521515a7efa641dc472d6a7b94d847ed4a9d4e0f6c8d cfa86af90606b1199fdd6fcf5f58c898983aa8ad07d3c8d004e248bdaa9f9ad346da2e51b7ad9a1f6a2b56253c494c16 +SERVER_TRAFFIC_SECRET_0 6c204b2838ecdd29b83c521515a7efa641dc472d6a7b94d847ed4a9d4e0f6c8d 7967c227f77107d7456d1308d1e49a0148667f885efcc55f71ea37e0ef405c6dbba67d5a22336f8379e54a5c37b7d921 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6c204b2838ecdd29b83c521515a7efa641dc472d6a7b94d847ed4a9d4e0f6c8d d35d9806765dff6b34d862299123f44ba5c95e13447084a01f6d09b3d606fb87097eb87e4f88499db278077a0a45227b +SERVER_HANDSHAKE_TRAFFIC_SECRET 6c204b2838ecdd29b83c521515a7efa641dc472d6a7b94d847ed4a9d4e0f6c8d a06b5cdff466a9d24ac59fa9f5d28fd652f63c91e553061061531b7addc388561f568875ac375e3b6c88d13cb29f42f3 +CLIENT_TRAFFIC_SECRET_0 6c204b2838ecdd29b83c521515a7efa641dc472d6a7b94d847ed4a9d4e0f6c8d cfa86af90606b1199fdd6fcf5f58c898983aa8ad07d3c8d004e248bdaa9f9ad346da2e51b7ad9a1f6a2b56253c494c16 +SERVER_TRAFFIC_SECRET_0 6c204b2838ecdd29b83c521515a7efa641dc472d6a7b94d847ed4a9d4e0f6c8d 7967c227f77107d7456d1308d1e49a0148667f885efcc55f71ea37e0ef405c6dbba67d5a22336f8379e54a5c37b7d921 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d44d822a7e524dff5c92a0d87687b4d3e8131d3e933458a68c2c5bdffe3e5534 8a9b804097fb096be42d70d442803b36ab2e00a2682dca55c14538754408977f86c4d0b456160a5cf049af4df381ffcf +SERVER_HANDSHAKE_TRAFFIC_SECRET d44d822a7e524dff5c92a0d87687b4d3e8131d3e933458a68c2c5bdffe3e5534 e970065ae19d1850aed7baeae6e74c4efb86c8a993bd68431c512c2e6fc844c91dda9a492bda56c0a928d48c0879d2db +CLIENT_TRAFFIC_SECRET_0 d44d822a7e524dff5c92a0d87687b4d3e8131d3e933458a68c2c5bdffe3e5534 f4f81cc7b2548747d037577719e0e382bcc40beb411d6e4ab14e1e70ac7ebfc5643330fd458f88524c6ce060fe1e929f +SERVER_TRAFFIC_SECRET_0 d44d822a7e524dff5c92a0d87687b4d3e8131d3e933458a68c2c5bdffe3e5534 3bd38db311dc943298988a29953659ec46d13404501957b44a48816497003975c17422d9830cda2ebd924699d0ff675c +CLIENT_HANDSHAKE_TRAFFIC_SECRET d44d822a7e524dff5c92a0d87687b4d3e8131d3e933458a68c2c5bdffe3e5534 8a9b804097fb096be42d70d442803b36ab2e00a2682dca55c14538754408977f86c4d0b456160a5cf049af4df381ffcf +SERVER_HANDSHAKE_TRAFFIC_SECRET d44d822a7e524dff5c92a0d87687b4d3e8131d3e933458a68c2c5bdffe3e5534 e970065ae19d1850aed7baeae6e74c4efb86c8a993bd68431c512c2e6fc844c91dda9a492bda56c0a928d48c0879d2db +CLIENT_TRAFFIC_SECRET_0 d44d822a7e524dff5c92a0d87687b4d3e8131d3e933458a68c2c5bdffe3e5534 f4f81cc7b2548747d037577719e0e382bcc40beb411d6e4ab14e1e70ac7ebfc5643330fd458f88524c6ce060fe1e929f +SERVER_TRAFFIC_SECRET_0 d44d822a7e524dff5c92a0d87687b4d3e8131d3e933458a68c2c5bdffe3e5534 3bd38db311dc943298988a29953659ec46d13404501957b44a48816497003975c17422d9830cda2ebd924699d0ff675c +CLIENT_HANDSHAKE_TRAFFIC_SECRET abb5d95c9db1bddaa000e3afc7eee188defaa56bd1d85226e67a5ada52f68404 e9a6cfc9a1be1478e0da5b2836632e7116e820667a09ce90f03e3380a09d8097952802f19be407bafb0fabcb217efca6 +SERVER_HANDSHAKE_TRAFFIC_SECRET abb5d95c9db1bddaa000e3afc7eee188defaa56bd1d85226e67a5ada52f68404 e6d768c8dc0014a0ad92ac55fe9e2cf973dc53fc5d4abe27e8d2a6d68b0537db6312b451a7ee08adabc0134c552d5982 +CLIENT_TRAFFIC_SECRET_0 abb5d95c9db1bddaa000e3afc7eee188defaa56bd1d85226e67a5ada52f68404 c7545c0baf8a8c244da677b952da37a90b7f1bc970864bad26dce74ecfa65cff506a5dddc0eae16165617ec05ea19a6c +SERVER_TRAFFIC_SECRET_0 abb5d95c9db1bddaa000e3afc7eee188defaa56bd1d85226e67a5ada52f68404 a50786234ed3f5feda36188149be7a5cdab0b68bd831a712c1b3d113da92cf549fd046fef4646e3c89510cf4ae63a4b2 +CLIENT_HANDSHAKE_TRAFFIC_SECRET abb5d95c9db1bddaa000e3afc7eee188defaa56bd1d85226e67a5ada52f68404 e9a6cfc9a1be1478e0da5b2836632e7116e820667a09ce90f03e3380a09d8097952802f19be407bafb0fabcb217efca6 +SERVER_HANDSHAKE_TRAFFIC_SECRET abb5d95c9db1bddaa000e3afc7eee188defaa56bd1d85226e67a5ada52f68404 e6d768c8dc0014a0ad92ac55fe9e2cf973dc53fc5d4abe27e8d2a6d68b0537db6312b451a7ee08adabc0134c552d5982 +CLIENT_TRAFFIC_SECRET_0 abb5d95c9db1bddaa000e3afc7eee188defaa56bd1d85226e67a5ada52f68404 c7545c0baf8a8c244da677b952da37a90b7f1bc970864bad26dce74ecfa65cff506a5dddc0eae16165617ec05ea19a6c +SERVER_TRAFFIC_SECRET_0 abb5d95c9db1bddaa000e3afc7eee188defaa56bd1d85226e67a5ada52f68404 a50786234ed3f5feda36188149be7a5cdab0b68bd831a712c1b3d113da92cf549fd046fef4646e3c89510cf4ae63a4b2 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2b603ec4fbbb1227713231c766460a92bb9728269028f4ac0c7b2b5a3b5ae752 e45b4ac6df6cc35a7eacfc75f2ad1354c0548e4cc74b2e9945445faf191fd4b08c6594329d33e7065298753a01e3b2e6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 2b603ec4fbbb1227713231c766460a92bb9728269028f4ac0c7b2b5a3b5ae752 6bd9735e16f27186b190d1327050a938e6ca498af56c9bc17f03e7b240112990c61fc0d416af658489800beb1ec2fa8b +CLIENT_TRAFFIC_SECRET_0 2b603ec4fbbb1227713231c766460a92bb9728269028f4ac0c7b2b5a3b5ae752 83beacfbc922a2d05bb3c3f96e62261337ee8b151c5f0b1f1956197275f915092937c11ca4b43ff759fa43cb8585eaa0 +SERVER_TRAFFIC_SECRET_0 2b603ec4fbbb1227713231c766460a92bb9728269028f4ac0c7b2b5a3b5ae752 f93e04e02fd4faac327acf730c3ee99d8fbd0c2b63979f0fd124f4f3cac474945d3dab9c2acf2ad43f454f7cb9689ccc +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2b603ec4fbbb1227713231c766460a92bb9728269028f4ac0c7b2b5a3b5ae752 e45b4ac6df6cc35a7eacfc75f2ad1354c0548e4cc74b2e9945445faf191fd4b08c6594329d33e7065298753a01e3b2e6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 2b603ec4fbbb1227713231c766460a92bb9728269028f4ac0c7b2b5a3b5ae752 6bd9735e16f27186b190d1327050a938e6ca498af56c9bc17f03e7b240112990c61fc0d416af658489800beb1ec2fa8b +CLIENT_TRAFFIC_SECRET_0 2b603ec4fbbb1227713231c766460a92bb9728269028f4ac0c7b2b5a3b5ae752 83beacfbc922a2d05bb3c3f96e62261337ee8b151c5f0b1f1956197275f915092937c11ca4b43ff759fa43cb8585eaa0 +SERVER_TRAFFIC_SECRET_0 2b603ec4fbbb1227713231c766460a92bb9728269028f4ac0c7b2b5a3b5ae752 f93e04e02fd4faac327acf730c3ee99d8fbd0c2b63979f0fd124f4f3cac474945d3dab9c2acf2ad43f454f7cb9689ccc +CLIENT_HANDSHAKE_TRAFFIC_SECRET c744d8fd3305a8f946ec0888b7f8190d7504f46ed58a1b0a475c3048ed60039a 7c82b5289fe9c8d1f839d6209709041967b9625003f388b4af5d5136ea4558f90a5ea15128079ec770bc18bd0f1ec921 +SERVER_HANDSHAKE_TRAFFIC_SECRET c744d8fd3305a8f946ec0888b7f8190d7504f46ed58a1b0a475c3048ed60039a d5d26590b8c98e19beea1c3408819241a5f513878f2cc9ed849ae214cfdb6c832fa334ad618c3b9ca5550cfefab14d62 +CLIENT_TRAFFIC_SECRET_0 c744d8fd3305a8f946ec0888b7f8190d7504f46ed58a1b0a475c3048ed60039a a6a0c776fd31ce7f5ee5f73a4148a153b66878b5ec78c30d7576272e45fdcab2323be8a6060049561cf4c4f6d5b0914f +SERVER_TRAFFIC_SECRET_0 c744d8fd3305a8f946ec0888b7f8190d7504f46ed58a1b0a475c3048ed60039a 1701c74212e200b06b4ea51a2e73423e79a9e6adf960178b5421d3bd1ccfb2e3bb1fa5500881cb0eeb31dcb0c76cd69d +CLIENT_HANDSHAKE_TRAFFIC_SECRET c744d8fd3305a8f946ec0888b7f8190d7504f46ed58a1b0a475c3048ed60039a 7c82b5289fe9c8d1f839d6209709041967b9625003f388b4af5d5136ea4558f90a5ea15128079ec770bc18bd0f1ec921 +SERVER_HANDSHAKE_TRAFFIC_SECRET c744d8fd3305a8f946ec0888b7f8190d7504f46ed58a1b0a475c3048ed60039a d5d26590b8c98e19beea1c3408819241a5f513878f2cc9ed849ae214cfdb6c832fa334ad618c3b9ca5550cfefab14d62 +CLIENT_TRAFFIC_SECRET_0 c744d8fd3305a8f946ec0888b7f8190d7504f46ed58a1b0a475c3048ed60039a a6a0c776fd31ce7f5ee5f73a4148a153b66878b5ec78c30d7576272e45fdcab2323be8a6060049561cf4c4f6d5b0914f +SERVER_TRAFFIC_SECRET_0 c744d8fd3305a8f946ec0888b7f8190d7504f46ed58a1b0a475c3048ed60039a 1701c74212e200b06b4ea51a2e73423e79a9e6adf960178b5421d3bd1ccfb2e3bb1fa5500881cb0eeb31dcb0c76cd69d +CLIENT_HANDSHAKE_TRAFFIC_SECRET fedfa805d403c2a33b9fe11a317b45f3ac19d54ceb2a4d0f225dd3db14d0a5fd cf07293b36ff8f24498841e9ed5119f3edd1a14fcb8aec19e66b5ac2aa052b87dda46b84b53bfb5fec12ab60725335aa +SERVER_HANDSHAKE_TRAFFIC_SECRET fedfa805d403c2a33b9fe11a317b45f3ac19d54ceb2a4d0f225dd3db14d0a5fd d684424f86a891dd55ec66620cf71aec32e8df8a972090d111551780271073b07fb5d7fd4b814e6e74c65791dec331c4 +CLIENT_TRAFFIC_SECRET_0 fedfa805d403c2a33b9fe11a317b45f3ac19d54ceb2a4d0f225dd3db14d0a5fd 71729b2f32db4556a6637c19d24eea61fb6f933fe80f5d150a0f96b0de51c95477401af2932fd177501d2709d3fe3012 +SERVER_TRAFFIC_SECRET_0 fedfa805d403c2a33b9fe11a317b45f3ac19d54ceb2a4d0f225dd3db14d0a5fd ddf45cc8cec370c1973f41bbbd472d2fa79452979bd5592b6936126b3bd76e437796e2ffa6cebea36b0905d4a5a7fb60 +CLIENT_HANDSHAKE_TRAFFIC_SECRET fedfa805d403c2a33b9fe11a317b45f3ac19d54ceb2a4d0f225dd3db14d0a5fd cf07293b36ff8f24498841e9ed5119f3edd1a14fcb8aec19e66b5ac2aa052b87dda46b84b53bfb5fec12ab60725335aa +SERVER_HANDSHAKE_TRAFFIC_SECRET fedfa805d403c2a33b9fe11a317b45f3ac19d54ceb2a4d0f225dd3db14d0a5fd d684424f86a891dd55ec66620cf71aec32e8df8a972090d111551780271073b07fb5d7fd4b814e6e74c65791dec331c4 +CLIENT_TRAFFIC_SECRET_0 fedfa805d403c2a33b9fe11a317b45f3ac19d54ceb2a4d0f225dd3db14d0a5fd 71729b2f32db4556a6637c19d24eea61fb6f933fe80f5d150a0f96b0de51c95477401af2932fd177501d2709d3fe3012 +SERVER_TRAFFIC_SECRET_0 fedfa805d403c2a33b9fe11a317b45f3ac19d54ceb2a4d0f225dd3db14d0a5fd ddf45cc8cec370c1973f41bbbd472d2fa79452979bd5592b6936126b3bd76e437796e2ffa6cebea36b0905d4a5a7fb60 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 93f0c5e03d608ed4ef29b046bcbc79c4a39817e542b0c9e5f97f3de118822a24 53fed11c990cfcd0be22f2d3a071238ef739537200718e428edc6f512859597504d1f2e726b1a7befd0b60abf25e1f21 +SERVER_HANDSHAKE_TRAFFIC_SECRET 93f0c5e03d608ed4ef29b046bcbc79c4a39817e542b0c9e5f97f3de118822a24 bbd292f7c51eb0e415e1420bc58103b974016f95f7357e3fcba80b8441738234ba2c00784acf4c5214af324475ef99f0 +CLIENT_TRAFFIC_SECRET_0 93f0c5e03d608ed4ef29b046bcbc79c4a39817e542b0c9e5f97f3de118822a24 d4be624a17548fc1b89393e9696997e5e1e6f2d9d384e2df6c3c42bb204fd5cdcd396b157e50b32621f578cef849bd2b +SERVER_TRAFFIC_SECRET_0 93f0c5e03d608ed4ef29b046bcbc79c4a39817e542b0c9e5f97f3de118822a24 2b356ecac4e4c1d2137d5ee2de7ef9c25058ef31852c84b2bcf0181a9d3d45fce7975014e04d00d866d99ab47cb42256 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 93f0c5e03d608ed4ef29b046bcbc79c4a39817e542b0c9e5f97f3de118822a24 53fed11c990cfcd0be22f2d3a071238ef739537200718e428edc6f512859597504d1f2e726b1a7befd0b60abf25e1f21 +SERVER_HANDSHAKE_TRAFFIC_SECRET 93f0c5e03d608ed4ef29b046bcbc79c4a39817e542b0c9e5f97f3de118822a24 bbd292f7c51eb0e415e1420bc58103b974016f95f7357e3fcba80b8441738234ba2c00784acf4c5214af324475ef99f0 +CLIENT_TRAFFIC_SECRET_0 93f0c5e03d608ed4ef29b046bcbc79c4a39817e542b0c9e5f97f3de118822a24 d4be624a17548fc1b89393e9696997e5e1e6f2d9d384e2df6c3c42bb204fd5cdcd396b157e50b32621f578cef849bd2b +SERVER_TRAFFIC_SECRET_0 93f0c5e03d608ed4ef29b046bcbc79c4a39817e542b0c9e5f97f3de118822a24 2b356ecac4e4c1d2137d5ee2de7ef9c25058ef31852c84b2bcf0181a9d3d45fce7975014e04d00d866d99ab47cb42256 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d916f759063f9c9059c4bf884c282d06b39adab04436680ba24860991366a166 39cb41473b323fbfac53860625cdd36df445f194e6216a8b20b7a00c1d5d552ab9fc873f22ba9dcdba86f24e65fea75d +SERVER_HANDSHAKE_TRAFFIC_SECRET d916f759063f9c9059c4bf884c282d06b39adab04436680ba24860991366a166 5c0b5f3eba446df02b25f6a4113aa83d5c1cecf0511676050ae671f62e9da07f37339a08c546c72f4ff2813403574aec +CLIENT_TRAFFIC_SECRET_0 d916f759063f9c9059c4bf884c282d06b39adab04436680ba24860991366a166 8400addc0d86f28ebf9bc4f6b94ae4fca14dd4729bc6b084e184f89ade202d5eb90e299ef7c387f24ac27595558d5334 +SERVER_TRAFFIC_SECRET_0 d916f759063f9c9059c4bf884c282d06b39adab04436680ba24860991366a166 3892129dd39754b575d2bf35a57b63b874d0bbf8d5c389b7d62b10dd9ef1c62d6852314f46553028518aee400deced44 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d916f759063f9c9059c4bf884c282d06b39adab04436680ba24860991366a166 39cb41473b323fbfac53860625cdd36df445f194e6216a8b20b7a00c1d5d552ab9fc873f22ba9dcdba86f24e65fea75d +SERVER_HANDSHAKE_TRAFFIC_SECRET d916f759063f9c9059c4bf884c282d06b39adab04436680ba24860991366a166 5c0b5f3eba446df02b25f6a4113aa83d5c1cecf0511676050ae671f62e9da07f37339a08c546c72f4ff2813403574aec +CLIENT_TRAFFIC_SECRET_0 d916f759063f9c9059c4bf884c282d06b39adab04436680ba24860991366a166 8400addc0d86f28ebf9bc4f6b94ae4fca14dd4729bc6b084e184f89ade202d5eb90e299ef7c387f24ac27595558d5334 +SERVER_TRAFFIC_SECRET_0 d916f759063f9c9059c4bf884c282d06b39adab04436680ba24860991366a166 3892129dd39754b575d2bf35a57b63b874d0bbf8d5c389b7d62b10dd9ef1c62d6852314f46553028518aee400deced44 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 548424e663c10a5a40ba80288b99d038a779d62581f5cbcdcabda9dd9221167c 0e1e261a2e6a88e1a8aa88cd837446187777a962c444225483ac280d1f22ab324de92984797153617c33f243d4511f75 +SERVER_HANDSHAKE_TRAFFIC_SECRET 548424e663c10a5a40ba80288b99d038a779d62581f5cbcdcabda9dd9221167c b9791cf61dd315925b0cfe3cda6af9bd2dc0421e6e5370deddb7fd8816d081c802a07e0ab871d32907fb2cd7d2da60e0 +CLIENT_TRAFFIC_SECRET_0 548424e663c10a5a40ba80288b99d038a779d62581f5cbcdcabda9dd9221167c f7ce0ece32549d5ab0b04e200cbba63fe20843de7735077be56f7da8d9847ff284fb0b9a9976f761c9a5c150a2d9326f +SERVER_TRAFFIC_SECRET_0 548424e663c10a5a40ba80288b99d038a779d62581f5cbcdcabda9dd9221167c bb4cc4a52868b9781092140ea12d985decb9edd67105535c858a82fd9f74f55500d1b1eb09a7c7be0af966eec087b213 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 548424e663c10a5a40ba80288b99d038a779d62581f5cbcdcabda9dd9221167c 0e1e261a2e6a88e1a8aa88cd837446187777a962c444225483ac280d1f22ab324de92984797153617c33f243d4511f75 +SERVER_HANDSHAKE_TRAFFIC_SECRET 548424e663c10a5a40ba80288b99d038a779d62581f5cbcdcabda9dd9221167c b9791cf61dd315925b0cfe3cda6af9bd2dc0421e6e5370deddb7fd8816d081c802a07e0ab871d32907fb2cd7d2da60e0 +CLIENT_TRAFFIC_SECRET_0 548424e663c10a5a40ba80288b99d038a779d62581f5cbcdcabda9dd9221167c f7ce0ece32549d5ab0b04e200cbba63fe20843de7735077be56f7da8d9847ff284fb0b9a9976f761c9a5c150a2d9326f +SERVER_TRAFFIC_SECRET_0 548424e663c10a5a40ba80288b99d038a779d62581f5cbcdcabda9dd9221167c bb4cc4a52868b9781092140ea12d985decb9edd67105535c858a82fd9f74f55500d1b1eb09a7c7be0af966eec087b213 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 571b6752c3e4b70e8cd2a4257222ebf1a2d44785da068634b7f8de102791ab7a 3248aa2a4145a7fa646a823b9da4e0977836bcba15eb239a79551efcb623f747d1cfce795de3a8cd206e57930629da37 +SERVER_HANDSHAKE_TRAFFIC_SECRET 571b6752c3e4b70e8cd2a4257222ebf1a2d44785da068634b7f8de102791ab7a f9b54e206dfa041c407ce73b242d1e0838c9ee6a1dd0d98f9b37f2f7bb668d9fb32834b13e84d23db57f64b6138a747a +CLIENT_TRAFFIC_SECRET_0 571b6752c3e4b70e8cd2a4257222ebf1a2d44785da068634b7f8de102791ab7a cd524cf5dae5ea74982334c11862ea91192989c01adedd7ecb9bc618448e137dd80814bb933a3b696d37dd6f51fb13a6 +SERVER_TRAFFIC_SECRET_0 571b6752c3e4b70e8cd2a4257222ebf1a2d44785da068634b7f8de102791ab7a dcd1767c2ea08709ac95f2d542a2b3118fe5e7436b3ac7159ebee5d3dc7a7f849553cb9904bd72d9077305b84f6d9b05 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 571b6752c3e4b70e8cd2a4257222ebf1a2d44785da068634b7f8de102791ab7a 3248aa2a4145a7fa646a823b9da4e0977836bcba15eb239a79551efcb623f747d1cfce795de3a8cd206e57930629da37 +SERVER_HANDSHAKE_TRAFFIC_SECRET 571b6752c3e4b70e8cd2a4257222ebf1a2d44785da068634b7f8de102791ab7a f9b54e206dfa041c407ce73b242d1e0838c9ee6a1dd0d98f9b37f2f7bb668d9fb32834b13e84d23db57f64b6138a747a +CLIENT_TRAFFIC_SECRET_0 571b6752c3e4b70e8cd2a4257222ebf1a2d44785da068634b7f8de102791ab7a cd524cf5dae5ea74982334c11862ea91192989c01adedd7ecb9bc618448e137dd80814bb933a3b696d37dd6f51fb13a6 +SERVER_TRAFFIC_SECRET_0 571b6752c3e4b70e8cd2a4257222ebf1a2d44785da068634b7f8de102791ab7a dcd1767c2ea08709ac95f2d542a2b3118fe5e7436b3ac7159ebee5d3dc7a7f849553cb9904bd72d9077305b84f6d9b05 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 10c43b92913d294430423bb0da740a55e3fb38126f9c1911290b7d978c8a17f4 86fc286e3819a412e015fd5b595ca5af6f6530435cde653b0cae801ad776a04cc0aae5cdd8043d3c67c071abe50c0354 +SERVER_HANDSHAKE_TRAFFIC_SECRET 10c43b92913d294430423bb0da740a55e3fb38126f9c1911290b7d978c8a17f4 e514298cb4d8153cd91f985d5e00fd0e9a42863b43d8cfb68c925aa4d46d99b47235ca8d510a84ff31e8856deb74dde8 +CLIENT_TRAFFIC_SECRET_0 10c43b92913d294430423bb0da740a55e3fb38126f9c1911290b7d978c8a17f4 e2502a7e4202a889e052ade2609ebcc30459cdf7808901139a7aeb1e01aa69d8df95ef38086f5e29066b53d9ec2c75aa +SERVER_TRAFFIC_SECRET_0 10c43b92913d294430423bb0da740a55e3fb38126f9c1911290b7d978c8a17f4 bca39e755aacf190a1e6091ca06214d5b798f766597b3465c69a8f0f8ba9fe1e64e91b3b4f48394365680655568b39c9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 10c43b92913d294430423bb0da740a55e3fb38126f9c1911290b7d978c8a17f4 86fc286e3819a412e015fd5b595ca5af6f6530435cde653b0cae801ad776a04cc0aae5cdd8043d3c67c071abe50c0354 +SERVER_HANDSHAKE_TRAFFIC_SECRET 10c43b92913d294430423bb0da740a55e3fb38126f9c1911290b7d978c8a17f4 e514298cb4d8153cd91f985d5e00fd0e9a42863b43d8cfb68c925aa4d46d99b47235ca8d510a84ff31e8856deb74dde8 +CLIENT_TRAFFIC_SECRET_0 10c43b92913d294430423bb0da740a55e3fb38126f9c1911290b7d978c8a17f4 e2502a7e4202a889e052ade2609ebcc30459cdf7808901139a7aeb1e01aa69d8df95ef38086f5e29066b53d9ec2c75aa +SERVER_TRAFFIC_SECRET_0 10c43b92913d294430423bb0da740a55e3fb38126f9c1911290b7d978c8a17f4 bca39e755aacf190a1e6091ca06214d5b798f766597b3465c69a8f0f8ba9fe1e64e91b3b4f48394365680655568b39c9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 37e5851184350165c52e8b839b91eb044ad33c20952cf53766b58d6bb045de18 7979fedca8d1d6ef383014e97e8ddd5be8d56ba1f10fcd8a18b6d9e9094f9fb5cf79bc6fc473f48d9430ee480e39040c +SERVER_HANDSHAKE_TRAFFIC_SECRET 37e5851184350165c52e8b839b91eb044ad33c20952cf53766b58d6bb045de18 84957e8111f7e4a499e68cd905722c2de085e9ff56c04e5ae2ba7cdb6921ae749a2505a441945473352b81181db11d07 +CLIENT_TRAFFIC_SECRET_0 37e5851184350165c52e8b839b91eb044ad33c20952cf53766b58d6bb045de18 325c154bfe929ecdcd7e736bbf8f746bfa3ed596704e01edf61e8b3f71a337c3ad1ad874ecfaa07a1dd0becba14a6258 +SERVER_TRAFFIC_SECRET_0 37e5851184350165c52e8b839b91eb044ad33c20952cf53766b58d6bb045de18 7382e5d1e42094d6b423087c8a108f39d60c23c3e6da02eaa83275635cfc7d998f97361f3185b559b1d0b2b703e4b651 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 37e5851184350165c52e8b839b91eb044ad33c20952cf53766b58d6bb045de18 7979fedca8d1d6ef383014e97e8ddd5be8d56ba1f10fcd8a18b6d9e9094f9fb5cf79bc6fc473f48d9430ee480e39040c +SERVER_HANDSHAKE_TRAFFIC_SECRET 37e5851184350165c52e8b839b91eb044ad33c20952cf53766b58d6bb045de18 84957e8111f7e4a499e68cd905722c2de085e9ff56c04e5ae2ba7cdb6921ae749a2505a441945473352b81181db11d07 +CLIENT_TRAFFIC_SECRET_0 37e5851184350165c52e8b839b91eb044ad33c20952cf53766b58d6bb045de18 325c154bfe929ecdcd7e736bbf8f746bfa3ed596704e01edf61e8b3f71a337c3ad1ad874ecfaa07a1dd0becba14a6258 +SERVER_TRAFFIC_SECRET_0 37e5851184350165c52e8b839b91eb044ad33c20952cf53766b58d6bb045de18 7382e5d1e42094d6b423087c8a108f39d60c23c3e6da02eaa83275635cfc7d998f97361f3185b559b1d0b2b703e4b651 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a24f7ddeca466e690efb2c4f88fe35c5233e592286d9d3473c4bcb4a34bf539d c58826f852fdcb5ae745cd9ab9f9bef8c35c839811d9d01aa510eb4cf2a39f5f27c6adc227bd46b6f571d02335d5279b +SERVER_HANDSHAKE_TRAFFIC_SECRET a24f7ddeca466e690efb2c4f88fe35c5233e592286d9d3473c4bcb4a34bf539d 0e60d2cb83ceb9d231a8d413e0986c5e51ee3e53324b0bb2b7cb0f570a42542b564703dc2f046cc3ed6bbba95983e4c3 +CLIENT_TRAFFIC_SECRET_0 a24f7ddeca466e690efb2c4f88fe35c5233e592286d9d3473c4bcb4a34bf539d aca29e9535ff7f5bf0d647aeeef588b1120e67cd7f5ec3089aeeabad8340f94828d02583c1e0f23ca961116acb6d1ee9 +SERVER_TRAFFIC_SECRET_0 a24f7ddeca466e690efb2c4f88fe35c5233e592286d9d3473c4bcb4a34bf539d 9d53480cfd66c44bf7ef49efbf888b2672878b4effa128e3635fed4e9d75679b3f33beb3d9111c692030c030b7ffd799 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a24f7ddeca466e690efb2c4f88fe35c5233e592286d9d3473c4bcb4a34bf539d c58826f852fdcb5ae745cd9ab9f9bef8c35c839811d9d01aa510eb4cf2a39f5f27c6adc227bd46b6f571d02335d5279b +SERVER_HANDSHAKE_TRAFFIC_SECRET a24f7ddeca466e690efb2c4f88fe35c5233e592286d9d3473c4bcb4a34bf539d 0e60d2cb83ceb9d231a8d413e0986c5e51ee3e53324b0bb2b7cb0f570a42542b564703dc2f046cc3ed6bbba95983e4c3 +CLIENT_TRAFFIC_SECRET_0 a24f7ddeca466e690efb2c4f88fe35c5233e592286d9d3473c4bcb4a34bf539d aca29e9535ff7f5bf0d647aeeef588b1120e67cd7f5ec3089aeeabad8340f94828d02583c1e0f23ca961116acb6d1ee9 +SERVER_TRAFFIC_SECRET_0 a24f7ddeca466e690efb2c4f88fe35c5233e592286d9d3473c4bcb4a34bf539d 9d53480cfd66c44bf7ef49efbf888b2672878b4effa128e3635fed4e9d75679b3f33beb3d9111c692030c030b7ffd799 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c2d567829ce0e28e4994e8ae3bdd9a6c79780372c226431a3f6c00de86d53744 4634cb7e3eeed61f04a1db42615a9e17dd8583333f2d74520aebd2141092bfd9aefcc2f48e2b83a70b67c783ac7f5403 +SERVER_HANDSHAKE_TRAFFIC_SECRET c2d567829ce0e28e4994e8ae3bdd9a6c79780372c226431a3f6c00de86d53744 e3af501da01432e4e8d5a9631c6d5055593bff673f82cb0316513b24f7225f5f7d9243cc058c619997416a2420a06d7c +CLIENT_TRAFFIC_SECRET_0 c2d567829ce0e28e4994e8ae3bdd9a6c79780372c226431a3f6c00de86d53744 4fe7df9db0227a6bb63b849c7aeb6ac2c435d01232c3b5626ad0a51e37f5986896aa622d4d76414368d126ae8aee15ba +SERVER_TRAFFIC_SECRET_0 c2d567829ce0e28e4994e8ae3bdd9a6c79780372c226431a3f6c00de86d53744 2b5cff615a958981cde83ae4797c1004e1ff0b6c9ce157c8ddf5e58049222a94d6b42ae1f654daae51cbd4ad235a34ce +CLIENT_HANDSHAKE_TRAFFIC_SECRET c2d567829ce0e28e4994e8ae3bdd9a6c79780372c226431a3f6c00de86d53744 4634cb7e3eeed61f04a1db42615a9e17dd8583333f2d74520aebd2141092bfd9aefcc2f48e2b83a70b67c783ac7f5403 +SERVER_HANDSHAKE_TRAFFIC_SECRET c2d567829ce0e28e4994e8ae3bdd9a6c79780372c226431a3f6c00de86d53744 e3af501da01432e4e8d5a9631c6d5055593bff673f82cb0316513b24f7225f5f7d9243cc058c619997416a2420a06d7c +CLIENT_TRAFFIC_SECRET_0 c2d567829ce0e28e4994e8ae3bdd9a6c79780372c226431a3f6c00de86d53744 4fe7df9db0227a6bb63b849c7aeb6ac2c435d01232c3b5626ad0a51e37f5986896aa622d4d76414368d126ae8aee15ba +SERVER_TRAFFIC_SECRET_0 c2d567829ce0e28e4994e8ae3bdd9a6c79780372c226431a3f6c00de86d53744 2b5cff615a958981cde83ae4797c1004e1ff0b6c9ce157c8ddf5e58049222a94d6b42ae1f654daae51cbd4ad235a34ce +CLIENT_HANDSHAKE_TRAFFIC_SECRET 633f6d74ebf6f3a8f1b5d23cd720f11fde0be13883e71bfbbc7357f467f747a8 8d46fc26b5ef44bfeed150a2e680459149cabb54a4d917e89fd94a96abdd3d9ca48cb5655c034095b5ae9b5bef28cf91 +SERVER_HANDSHAKE_TRAFFIC_SECRET 633f6d74ebf6f3a8f1b5d23cd720f11fde0be13883e71bfbbc7357f467f747a8 f5d400dd1a68be6a6d90bf123781c0dbffaf4c3a186c4b7459b9d7977665cf1fd726a93977a0842c9e5152662921bf21 +CLIENT_TRAFFIC_SECRET_0 633f6d74ebf6f3a8f1b5d23cd720f11fde0be13883e71bfbbc7357f467f747a8 30c8fb122ef092da75d17ba2cef5a4fe30eef23fd3e93a2c1828054e7ad81fda8ca5a63f5d891cc87abde83913743705 +SERVER_TRAFFIC_SECRET_0 633f6d74ebf6f3a8f1b5d23cd720f11fde0be13883e71bfbbc7357f467f747a8 00129ccf9fbcb7d51e117353b39dfedb663e63b57d1ed137fd6f9d5579c3fea9fb7674fc37c21f26fc4563e885e13deb +CLIENT_HANDSHAKE_TRAFFIC_SECRET 633f6d74ebf6f3a8f1b5d23cd720f11fde0be13883e71bfbbc7357f467f747a8 8d46fc26b5ef44bfeed150a2e680459149cabb54a4d917e89fd94a96abdd3d9ca48cb5655c034095b5ae9b5bef28cf91 +SERVER_HANDSHAKE_TRAFFIC_SECRET 633f6d74ebf6f3a8f1b5d23cd720f11fde0be13883e71bfbbc7357f467f747a8 f5d400dd1a68be6a6d90bf123781c0dbffaf4c3a186c4b7459b9d7977665cf1fd726a93977a0842c9e5152662921bf21 +CLIENT_TRAFFIC_SECRET_0 633f6d74ebf6f3a8f1b5d23cd720f11fde0be13883e71bfbbc7357f467f747a8 30c8fb122ef092da75d17ba2cef5a4fe30eef23fd3e93a2c1828054e7ad81fda8ca5a63f5d891cc87abde83913743705 +SERVER_TRAFFIC_SECRET_0 633f6d74ebf6f3a8f1b5d23cd720f11fde0be13883e71bfbbc7357f467f747a8 00129ccf9fbcb7d51e117353b39dfedb663e63b57d1ed137fd6f9d5579c3fea9fb7674fc37c21f26fc4563e885e13deb +CLIENT_HANDSHAKE_TRAFFIC_SECRET d538cc6bc7f5a4ca0d0b8ec1f80847c0527941f03d316a9d71a83bd4f7d984cc dc792cf1519354a54f171a912c29f9b1934c21acf82deff4171fb63c246e4b8c729842574d7440c03c3c6a637354333d +SERVER_HANDSHAKE_TRAFFIC_SECRET d538cc6bc7f5a4ca0d0b8ec1f80847c0527941f03d316a9d71a83bd4f7d984cc 7437481d4d0fd2c2b8088d4aaff005c02d875fe16b02dea826f7aefb3658a3308f8f18d2ffcf444e8f01a678db029a18 +CLIENT_TRAFFIC_SECRET_0 d538cc6bc7f5a4ca0d0b8ec1f80847c0527941f03d316a9d71a83bd4f7d984cc 1b15d636f3e7973047ed84c6efc4ee851c6e4f3d0b70f53f7cc23cbc785a694dde7a7451763c65141a3460c21ae00f20 +SERVER_TRAFFIC_SECRET_0 d538cc6bc7f5a4ca0d0b8ec1f80847c0527941f03d316a9d71a83bd4f7d984cc 23e821ff2ac1c61c25814e10fff938acb38a1d72ecd663c0a7080b56507b49e7c41e91bc776093edc580eb6c38c572fd +CLIENT_HANDSHAKE_TRAFFIC_SECRET d538cc6bc7f5a4ca0d0b8ec1f80847c0527941f03d316a9d71a83bd4f7d984cc dc792cf1519354a54f171a912c29f9b1934c21acf82deff4171fb63c246e4b8c729842574d7440c03c3c6a637354333d +SERVER_HANDSHAKE_TRAFFIC_SECRET d538cc6bc7f5a4ca0d0b8ec1f80847c0527941f03d316a9d71a83bd4f7d984cc 7437481d4d0fd2c2b8088d4aaff005c02d875fe16b02dea826f7aefb3658a3308f8f18d2ffcf444e8f01a678db029a18 +CLIENT_TRAFFIC_SECRET_0 d538cc6bc7f5a4ca0d0b8ec1f80847c0527941f03d316a9d71a83bd4f7d984cc 1b15d636f3e7973047ed84c6efc4ee851c6e4f3d0b70f53f7cc23cbc785a694dde7a7451763c65141a3460c21ae00f20 +SERVER_TRAFFIC_SECRET_0 d538cc6bc7f5a4ca0d0b8ec1f80847c0527941f03d316a9d71a83bd4f7d984cc 23e821ff2ac1c61c25814e10fff938acb38a1d72ecd663c0a7080b56507b49e7c41e91bc776093edc580eb6c38c572fd +CLIENT_HANDSHAKE_TRAFFIC_SECRET f7ad636b6011c317e0fd80bad2c61697158e6ac992ddc6a7eaeca6a8736f3949 77a91b45e24243498bafd96f01bbaf1bb54283dc166abc536c3b48cde12c98025bf91f4ac8bae37f9496f955838248bc +SERVER_HANDSHAKE_TRAFFIC_SECRET f7ad636b6011c317e0fd80bad2c61697158e6ac992ddc6a7eaeca6a8736f3949 87362b8e5a7416985d08340aaf67f4eb3ecd659e978fbc665e8eeadf69428cdfaa4d1d553b3dfc69dc9fe8e1b1d64d04 +CLIENT_TRAFFIC_SECRET_0 f7ad636b6011c317e0fd80bad2c61697158e6ac992ddc6a7eaeca6a8736f3949 c91054c846d6291178bf2f1095669a28718e951df7668ae28c6a5da947724fcf3fe1c2a2d050e2aaa9b7e94020811049 +SERVER_TRAFFIC_SECRET_0 f7ad636b6011c317e0fd80bad2c61697158e6ac992ddc6a7eaeca6a8736f3949 bb33eec06d93db5f553b8d85aa6986528fcd067b74316ef1e493334d3ae39e09dc6313760cee5928e67516be50ff1f92 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f7ad636b6011c317e0fd80bad2c61697158e6ac992ddc6a7eaeca6a8736f3949 77a91b45e24243498bafd96f01bbaf1bb54283dc166abc536c3b48cde12c98025bf91f4ac8bae37f9496f955838248bc +SERVER_HANDSHAKE_TRAFFIC_SECRET f7ad636b6011c317e0fd80bad2c61697158e6ac992ddc6a7eaeca6a8736f3949 87362b8e5a7416985d08340aaf67f4eb3ecd659e978fbc665e8eeadf69428cdfaa4d1d553b3dfc69dc9fe8e1b1d64d04 +CLIENT_TRAFFIC_SECRET_0 f7ad636b6011c317e0fd80bad2c61697158e6ac992ddc6a7eaeca6a8736f3949 c91054c846d6291178bf2f1095669a28718e951df7668ae28c6a5da947724fcf3fe1c2a2d050e2aaa9b7e94020811049 +SERVER_TRAFFIC_SECRET_0 f7ad636b6011c317e0fd80bad2c61697158e6ac992ddc6a7eaeca6a8736f3949 bb33eec06d93db5f553b8d85aa6986528fcd067b74316ef1e493334d3ae39e09dc6313760cee5928e67516be50ff1f92 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a462229d01bfb7f07b1c86abe833936e2a83d80c1868b65f38c9189d647593f7 6d2ecfbd48938291f443dd9322dbf76704b7884f787f08639975211c895acc5352aa5b2f3e7838c4c600e9260053178f +SERVER_HANDSHAKE_TRAFFIC_SECRET a462229d01bfb7f07b1c86abe833936e2a83d80c1868b65f38c9189d647593f7 73cdbe09739e2a5da258686d076d800a411171aac0261ef83139cc405fd9659fcbbd1f30b6b0a7be0e61d9a4695fa200 +CLIENT_TRAFFIC_SECRET_0 a462229d01bfb7f07b1c86abe833936e2a83d80c1868b65f38c9189d647593f7 50134e605630f56587857480737ed87dc660b5785728f4b31098eed4a7ce4cdfcd5b4b618a8650a264f04dec7d05d67f +SERVER_TRAFFIC_SECRET_0 a462229d01bfb7f07b1c86abe833936e2a83d80c1868b65f38c9189d647593f7 e58cc6914776ab93d48a42d827e2d6fc469c1167b4f5f56071a134a80e49be611f795bc040250b6caadcf7229947bd7f +CLIENT_HANDSHAKE_TRAFFIC_SECRET a462229d01bfb7f07b1c86abe833936e2a83d80c1868b65f38c9189d647593f7 6d2ecfbd48938291f443dd9322dbf76704b7884f787f08639975211c895acc5352aa5b2f3e7838c4c600e9260053178f +SERVER_HANDSHAKE_TRAFFIC_SECRET a462229d01bfb7f07b1c86abe833936e2a83d80c1868b65f38c9189d647593f7 73cdbe09739e2a5da258686d076d800a411171aac0261ef83139cc405fd9659fcbbd1f30b6b0a7be0e61d9a4695fa200 +CLIENT_TRAFFIC_SECRET_0 a462229d01bfb7f07b1c86abe833936e2a83d80c1868b65f38c9189d647593f7 50134e605630f56587857480737ed87dc660b5785728f4b31098eed4a7ce4cdfcd5b4b618a8650a264f04dec7d05d67f +SERVER_TRAFFIC_SECRET_0 a462229d01bfb7f07b1c86abe833936e2a83d80c1868b65f38c9189d647593f7 e58cc6914776ab93d48a42d827e2d6fc469c1167b4f5f56071a134a80e49be611f795bc040250b6caadcf7229947bd7f +CLIENT_HANDSHAKE_TRAFFIC_SECRET c9ca906d10631748f78442ce3be210a939e90b639cfa5b7cda1ee33e38cee0ac dbc97b6858ac1a660238fe8f4d2f0876d25453fa5f9942ed1dc5c355b79667dd22965db8f0bfdc6906ae64688cb2f65d +SERVER_HANDSHAKE_TRAFFIC_SECRET c9ca906d10631748f78442ce3be210a939e90b639cfa5b7cda1ee33e38cee0ac adcd679c054d73c84f903ca1978f3126716a1b231d2658d56f8fe209112974b86e349454db792ad79a2ea0a0458cb5be +CLIENT_TRAFFIC_SECRET_0 c9ca906d10631748f78442ce3be210a939e90b639cfa5b7cda1ee33e38cee0ac bd1d31bc876d2360c51e6476f5a604e607549137256534f471d66b418906839825ba3701aa7e80947e56d6a9e14a7eb8 +SERVER_TRAFFIC_SECRET_0 c9ca906d10631748f78442ce3be210a939e90b639cfa5b7cda1ee33e38cee0ac 5d8dc79fb6237fa25543ab6db74193c77415ed529fca0c5338b410f2ebbf9f484d7cdf52b0cc4120109f86758591cde0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c9ca906d10631748f78442ce3be210a939e90b639cfa5b7cda1ee33e38cee0ac dbc97b6858ac1a660238fe8f4d2f0876d25453fa5f9942ed1dc5c355b79667dd22965db8f0bfdc6906ae64688cb2f65d +SERVER_HANDSHAKE_TRAFFIC_SECRET c9ca906d10631748f78442ce3be210a939e90b639cfa5b7cda1ee33e38cee0ac adcd679c054d73c84f903ca1978f3126716a1b231d2658d56f8fe209112974b86e349454db792ad79a2ea0a0458cb5be +CLIENT_TRAFFIC_SECRET_0 c9ca906d10631748f78442ce3be210a939e90b639cfa5b7cda1ee33e38cee0ac bd1d31bc876d2360c51e6476f5a604e607549137256534f471d66b418906839825ba3701aa7e80947e56d6a9e14a7eb8 +SERVER_TRAFFIC_SECRET_0 c9ca906d10631748f78442ce3be210a939e90b639cfa5b7cda1ee33e38cee0ac 5d8dc79fb6237fa25543ab6db74193c77415ed529fca0c5338b410f2ebbf9f484d7cdf52b0cc4120109f86758591cde0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 41ca29ca2d27b55e359a80d79a792718b867f72561c3e34b5fa4e464322ff091 ec3e1267468c0c36e971053405efd66759e3dd9b10b9715378ca3f3143f883cd1fa3eff1d5b39e4599002b6bd41fadb9 +SERVER_HANDSHAKE_TRAFFIC_SECRET 41ca29ca2d27b55e359a80d79a792718b867f72561c3e34b5fa4e464322ff091 28595b21a012ca3626e4a14c3a06753fe03b4f7b5d328f2ad0a3d27e10f34a03eb86dca42b3b054a743f7095f99d9fcc +CLIENT_TRAFFIC_SECRET_0 41ca29ca2d27b55e359a80d79a792718b867f72561c3e34b5fa4e464322ff091 cf0f2b97fb96e8c9b85d76e1224c1c3638a2cc19fe5698915c197832ecd02463f099745b510ef3e4c7035a160c8d9981 +SERVER_TRAFFIC_SECRET_0 41ca29ca2d27b55e359a80d79a792718b867f72561c3e34b5fa4e464322ff091 3461beadbab39c8ea4287d428bd2ff397c6bfabf304c0dc89167087ce440510572b39b3e1c34ac94c60ddc3192a6c347 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 41ca29ca2d27b55e359a80d79a792718b867f72561c3e34b5fa4e464322ff091 ec3e1267468c0c36e971053405efd66759e3dd9b10b9715378ca3f3143f883cd1fa3eff1d5b39e4599002b6bd41fadb9 +SERVER_HANDSHAKE_TRAFFIC_SECRET 41ca29ca2d27b55e359a80d79a792718b867f72561c3e34b5fa4e464322ff091 28595b21a012ca3626e4a14c3a06753fe03b4f7b5d328f2ad0a3d27e10f34a03eb86dca42b3b054a743f7095f99d9fcc +CLIENT_TRAFFIC_SECRET_0 41ca29ca2d27b55e359a80d79a792718b867f72561c3e34b5fa4e464322ff091 cf0f2b97fb96e8c9b85d76e1224c1c3638a2cc19fe5698915c197832ecd02463f099745b510ef3e4c7035a160c8d9981 +SERVER_TRAFFIC_SECRET_0 41ca29ca2d27b55e359a80d79a792718b867f72561c3e34b5fa4e464322ff091 3461beadbab39c8ea4287d428bd2ff397c6bfabf304c0dc89167087ce440510572b39b3e1c34ac94c60ddc3192a6c347 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6773f1c9dba0256918ee36cf7b53f614d84fc15c7f27aad45cfe4334e12db4b1 e3583cdb81de47865cff0073242e231d18a2557d3f49277c4af3cacdbea616faff93329e87c1dd1b7f14501e6a70bb08 +SERVER_HANDSHAKE_TRAFFIC_SECRET 6773f1c9dba0256918ee36cf7b53f614d84fc15c7f27aad45cfe4334e12db4b1 ac770bd005584006376ccb2fc3b40d294eaace273e37dc77220fe92b54eaf9eaa9352a8a6a32b14b389729be3617f675 +CLIENT_TRAFFIC_SECRET_0 6773f1c9dba0256918ee36cf7b53f614d84fc15c7f27aad45cfe4334e12db4b1 e55d44b894acdc39ed7e05be1fe9782399f759d045a843b35c90093a1b5dae277ef8821f5ac756fc48192f7c3bffb1a1 +SERVER_TRAFFIC_SECRET_0 6773f1c9dba0256918ee36cf7b53f614d84fc15c7f27aad45cfe4334e12db4b1 047ca7e1ab807d45d544e845c22fdea2188e27354f4a4664891d9b81c097ec2b76ef53a3d79c8ef6d6fbcf26b47ed5ee +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6773f1c9dba0256918ee36cf7b53f614d84fc15c7f27aad45cfe4334e12db4b1 e3583cdb81de47865cff0073242e231d18a2557d3f49277c4af3cacdbea616faff93329e87c1dd1b7f14501e6a70bb08 +SERVER_HANDSHAKE_TRAFFIC_SECRET 6773f1c9dba0256918ee36cf7b53f614d84fc15c7f27aad45cfe4334e12db4b1 ac770bd005584006376ccb2fc3b40d294eaace273e37dc77220fe92b54eaf9eaa9352a8a6a32b14b389729be3617f675 +CLIENT_TRAFFIC_SECRET_0 6773f1c9dba0256918ee36cf7b53f614d84fc15c7f27aad45cfe4334e12db4b1 e55d44b894acdc39ed7e05be1fe9782399f759d045a843b35c90093a1b5dae277ef8821f5ac756fc48192f7c3bffb1a1 +SERVER_TRAFFIC_SECRET_0 6773f1c9dba0256918ee36cf7b53f614d84fc15c7f27aad45cfe4334e12db4b1 047ca7e1ab807d45d544e845c22fdea2188e27354f4a4664891d9b81c097ec2b76ef53a3d79c8ef6d6fbcf26b47ed5ee +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3919a00b5c978368dbb4c005b795aa34d550e21551be1024b4751b58c0103d78 eda42826371ba8b384185c5156cd0be7563687f6f23b0104d44009a9e0023c832de5f8e14371c1b7ccba151dd8f524f9 +SERVER_HANDSHAKE_TRAFFIC_SECRET 3919a00b5c978368dbb4c005b795aa34d550e21551be1024b4751b58c0103d78 f7f44a08352e04347f9ebdc6bf91616e75a071d7ca806b61938de653cada3cdccec399ebdc237c7575690ed03d3eb50c +CLIENT_TRAFFIC_SECRET_0 3919a00b5c978368dbb4c005b795aa34d550e21551be1024b4751b58c0103d78 c54ae6d80d26c080cdf63abc0f7dd96aff59b2f111159899383f701bbe8dd5c5e33d28dac0bfbb0ea4e3aeb88755d5a8 +SERVER_TRAFFIC_SECRET_0 3919a00b5c978368dbb4c005b795aa34d550e21551be1024b4751b58c0103d78 23f95cd17e3510dfbf1a80959d54d08b2881b81090312e748066dd4f357b1e448cf67e8accc281905daebcf6d983c36f +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3919a00b5c978368dbb4c005b795aa34d550e21551be1024b4751b58c0103d78 eda42826371ba8b384185c5156cd0be7563687f6f23b0104d44009a9e0023c832de5f8e14371c1b7ccba151dd8f524f9 +SERVER_HANDSHAKE_TRAFFIC_SECRET 3919a00b5c978368dbb4c005b795aa34d550e21551be1024b4751b58c0103d78 f7f44a08352e04347f9ebdc6bf91616e75a071d7ca806b61938de653cada3cdccec399ebdc237c7575690ed03d3eb50c +CLIENT_TRAFFIC_SECRET_0 3919a00b5c978368dbb4c005b795aa34d550e21551be1024b4751b58c0103d78 c54ae6d80d26c080cdf63abc0f7dd96aff59b2f111159899383f701bbe8dd5c5e33d28dac0bfbb0ea4e3aeb88755d5a8 +SERVER_TRAFFIC_SECRET_0 3919a00b5c978368dbb4c005b795aa34d550e21551be1024b4751b58c0103d78 23f95cd17e3510dfbf1a80959d54d08b2881b81090312e748066dd4f357b1e448cf67e8accc281905daebcf6d983c36f +CLIENT_HANDSHAKE_TRAFFIC_SECRET 254ebb776e7496947a70f9cab5f644df736286fa401d993ac710c1bc2b70ef2f 6607f0411c6494943bb65f142a30bac22eb35ccc19768ea29de402d31a737b38f0c6713f23e025287e1cca0ca054e403 +SERVER_HANDSHAKE_TRAFFIC_SECRET 254ebb776e7496947a70f9cab5f644df736286fa401d993ac710c1bc2b70ef2f df70ac15f12092fee8ba01fea84e074b4c4a802be71a74e658233895eb6493592fcb53a796be3a3a1a11a9959e01592b +CLIENT_TRAFFIC_SECRET_0 254ebb776e7496947a70f9cab5f644df736286fa401d993ac710c1bc2b70ef2f 47c8570f5c65b6c573c56814d78125050249e418c7c5cd6ba31eb0447606529a1c1b236fc81bd58aa3b134f283bfdee4 +SERVER_TRAFFIC_SECRET_0 254ebb776e7496947a70f9cab5f644df736286fa401d993ac710c1bc2b70ef2f 99d6299144b00e812b284d58ee77a4a67b92c5d7bc51cd4950e7f4f4f233c84365820886b51643cd8652d8b7b969645e +CLIENT_HANDSHAKE_TRAFFIC_SECRET 254ebb776e7496947a70f9cab5f644df736286fa401d993ac710c1bc2b70ef2f 6607f0411c6494943bb65f142a30bac22eb35ccc19768ea29de402d31a737b38f0c6713f23e025287e1cca0ca054e403 +SERVER_HANDSHAKE_TRAFFIC_SECRET 254ebb776e7496947a70f9cab5f644df736286fa401d993ac710c1bc2b70ef2f df70ac15f12092fee8ba01fea84e074b4c4a802be71a74e658233895eb6493592fcb53a796be3a3a1a11a9959e01592b +CLIENT_TRAFFIC_SECRET_0 254ebb776e7496947a70f9cab5f644df736286fa401d993ac710c1bc2b70ef2f 47c8570f5c65b6c573c56814d78125050249e418c7c5cd6ba31eb0447606529a1c1b236fc81bd58aa3b134f283bfdee4 +SERVER_TRAFFIC_SECRET_0 254ebb776e7496947a70f9cab5f644df736286fa401d993ac710c1bc2b70ef2f 99d6299144b00e812b284d58ee77a4a67b92c5d7bc51cd4950e7f4f4f233c84365820886b51643cd8652d8b7b969645e +CLIENT_HANDSHAKE_TRAFFIC_SECRET b96fa75763abb93d2c662f7586bf6c4b706773f0acb3da1fcd33883b2b6acbde ed5ec73c0f476a3739760d02a616785f53124e55c64107bb7c178346d180558b026a6241db99913eff10429fe0f3a43d +SERVER_HANDSHAKE_TRAFFIC_SECRET b96fa75763abb93d2c662f7586bf6c4b706773f0acb3da1fcd33883b2b6acbde cd0f66cc7c979e282b931821cd9425a0eb31f70807954fd3b2be27d8f64f70afbf6af461035b12a68ed68181d836855b +CLIENT_TRAFFIC_SECRET_0 b96fa75763abb93d2c662f7586bf6c4b706773f0acb3da1fcd33883b2b6acbde e8aaeed5248c20af5f2eef847fb9d1ff1b849e53c24c01ec62af154c0fa445098d90601aba5f3847dc32c3a2199e5324 +SERVER_TRAFFIC_SECRET_0 b96fa75763abb93d2c662f7586bf6c4b706773f0acb3da1fcd33883b2b6acbde 410a75b8d3fb4066aef2bc523c80101ab85170004a3b5f78e333bc050082b426fc4bd4456b30d61cda28a06beb6c2ec1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET b96fa75763abb93d2c662f7586bf6c4b706773f0acb3da1fcd33883b2b6acbde ed5ec73c0f476a3739760d02a616785f53124e55c64107bb7c178346d180558b026a6241db99913eff10429fe0f3a43d +SERVER_HANDSHAKE_TRAFFIC_SECRET b96fa75763abb93d2c662f7586bf6c4b706773f0acb3da1fcd33883b2b6acbde cd0f66cc7c979e282b931821cd9425a0eb31f70807954fd3b2be27d8f64f70afbf6af461035b12a68ed68181d836855b +CLIENT_TRAFFIC_SECRET_0 b96fa75763abb93d2c662f7586bf6c4b706773f0acb3da1fcd33883b2b6acbde e8aaeed5248c20af5f2eef847fb9d1ff1b849e53c24c01ec62af154c0fa445098d90601aba5f3847dc32c3a2199e5324 +SERVER_TRAFFIC_SECRET_0 b96fa75763abb93d2c662f7586bf6c4b706773f0acb3da1fcd33883b2b6acbde 410a75b8d3fb4066aef2bc523c80101ab85170004a3b5f78e333bc050082b426fc4bd4456b30d61cda28a06beb6c2ec1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2007e861bb9bcb2d4291f883b8f3a7a58b8bf76c9e600c2d246421f494f15c13 4b1786ab7d84036eceda377cc89086edd03321182eb0cbbec335842f5fdab0d47f4204a3280c8384ef15249477639a31 +SERVER_HANDSHAKE_TRAFFIC_SECRET 2007e861bb9bcb2d4291f883b8f3a7a58b8bf76c9e600c2d246421f494f15c13 9e7dcb3fa80d7d7af72b381734c684a0ef8544b6639e68ea5dc3d796b95acb57b94f90d7ea3a64d8c3403ef2e5111654 +CLIENT_TRAFFIC_SECRET_0 2007e861bb9bcb2d4291f883b8f3a7a58b8bf76c9e600c2d246421f494f15c13 357d073da795e2924f8da5b7aa4f9b55209d4c9cfb87114f3f7b3c6aecfacf77f3eb24326b50c424edafe2c1853225ea +SERVER_TRAFFIC_SECRET_0 2007e861bb9bcb2d4291f883b8f3a7a58b8bf76c9e600c2d246421f494f15c13 bff0625b4b793f01eebeb0afbf9d6245921b7f0eacbc988149adce5a7e6ab283e95aaca6964be7fa744d19e3b31f52a4 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2007e861bb9bcb2d4291f883b8f3a7a58b8bf76c9e600c2d246421f494f15c13 4b1786ab7d84036eceda377cc89086edd03321182eb0cbbec335842f5fdab0d47f4204a3280c8384ef15249477639a31 +SERVER_HANDSHAKE_TRAFFIC_SECRET 2007e861bb9bcb2d4291f883b8f3a7a58b8bf76c9e600c2d246421f494f15c13 9e7dcb3fa80d7d7af72b381734c684a0ef8544b6639e68ea5dc3d796b95acb57b94f90d7ea3a64d8c3403ef2e5111654 +CLIENT_TRAFFIC_SECRET_0 2007e861bb9bcb2d4291f883b8f3a7a58b8bf76c9e600c2d246421f494f15c13 357d073da795e2924f8da5b7aa4f9b55209d4c9cfb87114f3f7b3c6aecfacf77f3eb24326b50c424edafe2c1853225ea +SERVER_TRAFFIC_SECRET_0 2007e861bb9bcb2d4291f883b8f3a7a58b8bf76c9e600c2d246421f494f15c13 bff0625b4b793f01eebeb0afbf9d6245921b7f0eacbc988149adce5a7e6ab283e95aaca6964be7fa744d19e3b31f52a4 +CLIENT_HANDSHAKE_TRAFFIC_SECRET b4ea348771cb2a5ac2720682dc25998ba78f6aae71a26b78d9dc6166afeec830 10a760455f1fa1fc0b97f224a6859c089a875162da29caf5b3f7f8b0eef0ac442497ac17298bb3e6977188b0a4db1d92 +SERVER_HANDSHAKE_TRAFFIC_SECRET b4ea348771cb2a5ac2720682dc25998ba78f6aae71a26b78d9dc6166afeec830 5b9b3811d65193e862f179a77ffd7644b02867e1eaf3d45239125f152e2ca4185124f5a58ee7448cbc3d7219d2f6bdf1 +CLIENT_TRAFFIC_SECRET_0 b4ea348771cb2a5ac2720682dc25998ba78f6aae71a26b78d9dc6166afeec830 c569ba4425e9e2149c9fd5ff926002c24e8b31d2f3d017483c885705cfa89610eda0dc6b19c0a726228dc1b153f72723 +SERVER_TRAFFIC_SECRET_0 b4ea348771cb2a5ac2720682dc25998ba78f6aae71a26b78d9dc6166afeec830 912f23d1d9e57380e1ab24dbd51857a1ecb16643eff77180eed562d89b81bfc20cc81f6a063337afb85ba42f128caf86 +CLIENT_HANDSHAKE_TRAFFIC_SECRET b4ea348771cb2a5ac2720682dc25998ba78f6aae71a26b78d9dc6166afeec830 10a760455f1fa1fc0b97f224a6859c089a875162da29caf5b3f7f8b0eef0ac442497ac17298bb3e6977188b0a4db1d92 +SERVER_HANDSHAKE_TRAFFIC_SECRET b4ea348771cb2a5ac2720682dc25998ba78f6aae71a26b78d9dc6166afeec830 5b9b3811d65193e862f179a77ffd7644b02867e1eaf3d45239125f152e2ca4185124f5a58ee7448cbc3d7219d2f6bdf1 +CLIENT_TRAFFIC_SECRET_0 b4ea348771cb2a5ac2720682dc25998ba78f6aae71a26b78d9dc6166afeec830 c569ba4425e9e2149c9fd5ff926002c24e8b31d2f3d017483c885705cfa89610eda0dc6b19c0a726228dc1b153f72723 +SERVER_TRAFFIC_SECRET_0 b4ea348771cb2a5ac2720682dc25998ba78f6aae71a26b78d9dc6166afeec830 912f23d1d9e57380e1ab24dbd51857a1ecb16643eff77180eed562d89b81bfc20cc81f6a063337afb85ba42f128caf86 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6eef16af1e1be251bf42992b62c9fed8a57f1e3912fec03d4a75452fb8b9e5ce d4cf4a334a04e0cd3fbc9a99d9146fd19af9bcdca4a12ca2bacbe466677e2ee87f89bdff0af19a95723f1d30b74081d0 +SERVER_HANDSHAKE_TRAFFIC_SECRET 6eef16af1e1be251bf42992b62c9fed8a57f1e3912fec03d4a75452fb8b9e5ce 2975eacdce8fcdd7e55611489e50713ca720a3393ec331fca3bbf92e0e044a10e9b37b573f3fde62a1648773670f0503 +CLIENT_TRAFFIC_SECRET_0 6eef16af1e1be251bf42992b62c9fed8a57f1e3912fec03d4a75452fb8b9e5ce 430e010a807d7096bd5978ef420faa309fa5daa1eb7902324e0c50e24a45c2719302ad24581cfc7eaac96f16812ce344 +SERVER_TRAFFIC_SECRET_0 6eef16af1e1be251bf42992b62c9fed8a57f1e3912fec03d4a75452fb8b9e5ce 1e2c6e066282a73db8ae969a1fa7af7af7f5555e754eb5babce10a6d7c79993561cf6521aa7998d53b074c73ad39f439 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6eef16af1e1be251bf42992b62c9fed8a57f1e3912fec03d4a75452fb8b9e5ce d4cf4a334a04e0cd3fbc9a99d9146fd19af9bcdca4a12ca2bacbe466677e2ee87f89bdff0af19a95723f1d30b74081d0 +SERVER_HANDSHAKE_TRAFFIC_SECRET 6eef16af1e1be251bf42992b62c9fed8a57f1e3912fec03d4a75452fb8b9e5ce 2975eacdce8fcdd7e55611489e50713ca720a3393ec331fca3bbf92e0e044a10e9b37b573f3fde62a1648773670f0503 +CLIENT_TRAFFIC_SECRET_0 6eef16af1e1be251bf42992b62c9fed8a57f1e3912fec03d4a75452fb8b9e5ce 430e010a807d7096bd5978ef420faa309fa5daa1eb7902324e0c50e24a45c2719302ad24581cfc7eaac96f16812ce344 +SERVER_TRAFFIC_SECRET_0 6eef16af1e1be251bf42992b62c9fed8a57f1e3912fec03d4a75452fb8b9e5ce 1e2c6e066282a73db8ae969a1fa7af7af7f5555e754eb5babce10a6d7c79993561cf6521aa7998d53b074c73ad39f439 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 488f01f6e771b20381af9961ed4e858770cc082c88a01b480789a40429ce35ac 131d3dd27bac462401fba451c4df10d3260f94719ff2b2b47487773b268eecb62532044d93f4f7f9b597542cdf5129df +SERVER_HANDSHAKE_TRAFFIC_SECRET 488f01f6e771b20381af9961ed4e858770cc082c88a01b480789a40429ce35ac 5f28a31737dad5a425e2ff8cf315faee200de9677bb85683fe5a163561e67f73c23c56ce2130d88a1cd695bf14f9dce6 +CLIENT_TRAFFIC_SECRET_0 488f01f6e771b20381af9961ed4e858770cc082c88a01b480789a40429ce35ac e2523b93f8545b6ff7f9506b96112044bd847e95c64bcf2ccf52d0cd9efd5986508f33294965303f0dffeb66199dbd67 +SERVER_TRAFFIC_SECRET_0 488f01f6e771b20381af9961ed4e858770cc082c88a01b480789a40429ce35ac fd93a1b28529dbafd35dc3315ec01b1a9aeaaafca63b53f19490073205775b0d8f134c7484ee4f96564573979243818d +CLIENT_HANDSHAKE_TRAFFIC_SECRET 488f01f6e771b20381af9961ed4e858770cc082c88a01b480789a40429ce35ac 131d3dd27bac462401fba451c4df10d3260f94719ff2b2b47487773b268eecb62532044d93f4f7f9b597542cdf5129df +SERVER_HANDSHAKE_TRAFFIC_SECRET 488f01f6e771b20381af9961ed4e858770cc082c88a01b480789a40429ce35ac 5f28a31737dad5a425e2ff8cf315faee200de9677bb85683fe5a163561e67f73c23c56ce2130d88a1cd695bf14f9dce6 +CLIENT_TRAFFIC_SECRET_0 488f01f6e771b20381af9961ed4e858770cc082c88a01b480789a40429ce35ac e2523b93f8545b6ff7f9506b96112044bd847e95c64bcf2ccf52d0cd9efd5986508f33294965303f0dffeb66199dbd67 +SERVER_TRAFFIC_SECRET_0 488f01f6e771b20381af9961ed4e858770cc082c88a01b480789a40429ce35ac fd93a1b28529dbafd35dc3315ec01b1a9aeaaafca63b53f19490073205775b0d8f134c7484ee4f96564573979243818d +CLIENT_HANDSHAKE_TRAFFIC_SECRET e2409f44ad7d0dd806b62c24ad4438061ea4377391898ff4460d9b1ad0a85897 9efdc43947adca01ef70d1a18f92f398ce1cc67400d71df85bf90c38261a40aab771bc88ccfb95e629ba7627254c1252 +SERVER_HANDSHAKE_TRAFFIC_SECRET e2409f44ad7d0dd806b62c24ad4438061ea4377391898ff4460d9b1ad0a85897 9274a60609e135c6675f9fa678472aa0d724fe79949b6afc667b75a40ceb71322286838d50537ea2cac56c9b06edddfe +CLIENT_TRAFFIC_SECRET_0 e2409f44ad7d0dd806b62c24ad4438061ea4377391898ff4460d9b1ad0a85897 3167d7f5b27e5d8c432b1ee080953aa928f9cf1fb8bdbb73ea34ca26d6fc557f979991c613be6a0e8bf2d14a8e1e531a +SERVER_TRAFFIC_SECRET_0 e2409f44ad7d0dd806b62c24ad4438061ea4377391898ff4460d9b1ad0a85897 82f90edea5541dfa2ea2853634b322aded29240f0634f2ebfc0c3467da341b5eb8ad976fab964b37862e055b332e9f42 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e2409f44ad7d0dd806b62c24ad4438061ea4377391898ff4460d9b1ad0a85897 9efdc43947adca01ef70d1a18f92f398ce1cc67400d71df85bf90c38261a40aab771bc88ccfb95e629ba7627254c1252 +SERVER_HANDSHAKE_TRAFFIC_SECRET e2409f44ad7d0dd806b62c24ad4438061ea4377391898ff4460d9b1ad0a85897 9274a60609e135c6675f9fa678472aa0d724fe79949b6afc667b75a40ceb71322286838d50537ea2cac56c9b06edddfe +CLIENT_TRAFFIC_SECRET_0 e2409f44ad7d0dd806b62c24ad4438061ea4377391898ff4460d9b1ad0a85897 3167d7f5b27e5d8c432b1ee080953aa928f9cf1fb8bdbb73ea34ca26d6fc557f979991c613be6a0e8bf2d14a8e1e531a +SERVER_TRAFFIC_SECRET_0 e2409f44ad7d0dd806b62c24ad4438061ea4377391898ff4460d9b1ad0a85897 82f90edea5541dfa2ea2853634b322aded29240f0634f2ebfc0c3467da341b5eb8ad976fab964b37862e055b332e9f42 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 667b99def5f111e8480896486b3c50f5337b694c508fe5243744114a516d7dc3 898c242b92be3d0601b1a23bfb4c8c9e4dc9c3aec6a9d3d6040f11ec17db1b33d3cd45340dd43a5c8913b3e606d1e240 +SERVER_HANDSHAKE_TRAFFIC_SECRET 667b99def5f111e8480896486b3c50f5337b694c508fe5243744114a516d7dc3 4503ee1ca76854c70e971dacae7a10acd260efd6b225e3c9988c43a51774264308603d8e0e0398d221a6acb2d420e71a +CLIENT_TRAFFIC_SECRET_0 667b99def5f111e8480896486b3c50f5337b694c508fe5243744114a516d7dc3 ec6b4dd02d58e1d73305a1434e7c4c0ffc246dce9addf495b144746baec0acc007c880ce12aa1cdc01299497d7b262ba +SERVER_TRAFFIC_SECRET_0 667b99def5f111e8480896486b3c50f5337b694c508fe5243744114a516d7dc3 996e25649ca3b34d4f05e0b14a60205c690c78d74a2505807083a90f346d252e5dca6fd69ab8937e6955af8d7b7e1d69 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 667b99def5f111e8480896486b3c50f5337b694c508fe5243744114a516d7dc3 898c242b92be3d0601b1a23bfb4c8c9e4dc9c3aec6a9d3d6040f11ec17db1b33d3cd45340dd43a5c8913b3e606d1e240 +SERVER_HANDSHAKE_TRAFFIC_SECRET 667b99def5f111e8480896486b3c50f5337b694c508fe5243744114a516d7dc3 4503ee1ca76854c70e971dacae7a10acd260efd6b225e3c9988c43a51774264308603d8e0e0398d221a6acb2d420e71a +CLIENT_TRAFFIC_SECRET_0 667b99def5f111e8480896486b3c50f5337b694c508fe5243744114a516d7dc3 ec6b4dd02d58e1d73305a1434e7c4c0ffc246dce9addf495b144746baec0acc007c880ce12aa1cdc01299497d7b262ba +SERVER_TRAFFIC_SECRET_0 667b99def5f111e8480896486b3c50f5337b694c508fe5243744114a516d7dc3 996e25649ca3b34d4f05e0b14a60205c690c78d74a2505807083a90f346d252e5dca6fd69ab8937e6955af8d7b7e1d69 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 90dcb699e8336b4cc7dcdf8eae88e32aac8d1cd552819ec3cd092d356fc17420 88874c3c616161171c1fb072dc842b39f74cff53978d187bc1dc460b8671c4d5df6560afa36ef0e3d4ded6887522c479 +SERVER_HANDSHAKE_TRAFFIC_SECRET 90dcb699e8336b4cc7dcdf8eae88e32aac8d1cd552819ec3cd092d356fc17420 e3865f25d84fc3292e495bdb8b19933e6aee8215830210c923645f5605f083a04bd0a00b14cb28dfce901204a4a06ea7 +CLIENT_TRAFFIC_SECRET_0 90dcb699e8336b4cc7dcdf8eae88e32aac8d1cd552819ec3cd092d356fc17420 912e3ba6f4bbb6ef102b0eb97d5de9db5d27a8bb2e4e17ca9fbeba110a8135657d7ae1242e9ff663b82913f98e54eee5 +SERVER_TRAFFIC_SECRET_0 90dcb699e8336b4cc7dcdf8eae88e32aac8d1cd552819ec3cd092d356fc17420 c1d4989d15efafcfa00b36915b032c772ddc5111e669e9fbec29196417888cfece54cb36caa675894ddf7353e5ffd4ac +CLIENT_HANDSHAKE_TRAFFIC_SECRET 90dcb699e8336b4cc7dcdf8eae88e32aac8d1cd552819ec3cd092d356fc17420 88874c3c616161171c1fb072dc842b39f74cff53978d187bc1dc460b8671c4d5df6560afa36ef0e3d4ded6887522c479 +SERVER_HANDSHAKE_TRAFFIC_SECRET 90dcb699e8336b4cc7dcdf8eae88e32aac8d1cd552819ec3cd092d356fc17420 e3865f25d84fc3292e495bdb8b19933e6aee8215830210c923645f5605f083a04bd0a00b14cb28dfce901204a4a06ea7 +CLIENT_TRAFFIC_SECRET_0 90dcb699e8336b4cc7dcdf8eae88e32aac8d1cd552819ec3cd092d356fc17420 912e3ba6f4bbb6ef102b0eb97d5de9db5d27a8bb2e4e17ca9fbeba110a8135657d7ae1242e9ff663b82913f98e54eee5 +SERVER_TRAFFIC_SECRET_0 90dcb699e8336b4cc7dcdf8eae88e32aac8d1cd552819ec3cd092d356fc17420 c1d4989d15efafcfa00b36915b032c772ddc5111e669e9fbec29196417888cfece54cb36caa675894ddf7353e5ffd4ac +CLIENT_HANDSHAKE_TRAFFIC_SECRET f87e86ab5ce2531dcca9c8be2b4176cfee956918fccaae0e3e6b70290d257ccc e294b7924f9a486731932b8b54f5a5a577cd2fe23bf20bdbaec51caff2d1de617351f14022d42a5a484aca913d02ea85 +SERVER_HANDSHAKE_TRAFFIC_SECRET f87e86ab5ce2531dcca9c8be2b4176cfee956918fccaae0e3e6b70290d257ccc f567c5472634010e15f8d7a3737c7fe95e0753b93f63f19f069575ab9f47720421e5ee9c376a0d49956049b24d208488 +CLIENT_TRAFFIC_SECRET_0 f87e86ab5ce2531dcca9c8be2b4176cfee956918fccaae0e3e6b70290d257ccc 8443ea58c4d88d034a46cc8c920398c3c148aa0a1a2af4ad411af9d5f858f6fc382ad33de0f8fddd788941bd6a446bce +SERVER_TRAFFIC_SECRET_0 f87e86ab5ce2531dcca9c8be2b4176cfee956918fccaae0e3e6b70290d257ccc 52a7778f27cc17749a13e2dd316e456ed13b3eba245f299372271e9559a29dfe80f863a3f222499e814118fb7e36e0ab +CLIENT_HANDSHAKE_TRAFFIC_SECRET f87e86ab5ce2531dcca9c8be2b4176cfee956918fccaae0e3e6b70290d257ccc e294b7924f9a486731932b8b54f5a5a577cd2fe23bf20bdbaec51caff2d1de617351f14022d42a5a484aca913d02ea85 +SERVER_HANDSHAKE_TRAFFIC_SECRET f87e86ab5ce2531dcca9c8be2b4176cfee956918fccaae0e3e6b70290d257ccc f567c5472634010e15f8d7a3737c7fe95e0753b93f63f19f069575ab9f47720421e5ee9c376a0d49956049b24d208488 +CLIENT_TRAFFIC_SECRET_0 f87e86ab5ce2531dcca9c8be2b4176cfee956918fccaae0e3e6b70290d257ccc 8443ea58c4d88d034a46cc8c920398c3c148aa0a1a2af4ad411af9d5f858f6fc382ad33de0f8fddd788941bd6a446bce +SERVER_TRAFFIC_SECRET_0 f87e86ab5ce2531dcca9c8be2b4176cfee956918fccaae0e3e6b70290d257ccc 52a7778f27cc17749a13e2dd316e456ed13b3eba245f299372271e9559a29dfe80f863a3f222499e814118fb7e36e0ab +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0e0aa05b4525df76c56405000ad6cf6f396e98cf88b2d4aa56aac47bbdc30e1b 281a2f178c299e5099f46c4cc0b1ee54440c811d0396607ae954cb1aeea000b2683a71a2866ac299356677563779048a +SERVER_HANDSHAKE_TRAFFIC_SECRET 0e0aa05b4525df76c56405000ad6cf6f396e98cf88b2d4aa56aac47bbdc30e1b 5cd47217887a11466eed6fdf20bed4814c54dae7101398dff3c61f8d2465d49f78f205147cb67d263a50fab665c8b465 +CLIENT_TRAFFIC_SECRET_0 0e0aa05b4525df76c56405000ad6cf6f396e98cf88b2d4aa56aac47bbdc30e1b 94b99f722c89ae6c334677edde6eb13fae37714c91bbf4643ffc2bab8c4e2a9742bda45295772c8eea46fde04fc889a6 +SERVER_TRAFFIC_SECRET_0 0e0aa05b4525df76c56405000ad6cf6f396e98cf88b2d4aa56aac47bbdc30e1b c2cea8cf33a5c94817c5aeb4364d960e2490d91d4b70950871825e01bb9deaf6abb0250ac7d6494b83de1caa3f130450 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0e0aa05b4525df76c56405000ad6cf6f396e98cf88b2d4aa56aac47bbdc30e1b 281a2f178c299e5099f46c4cc0b1ee54440c811d0396607ae954cb1aeea000b2683a71a2866ac299356677563779048a +SERVER_HANDSHAKE_TRAFFIC_SECRET 0e0aa05b4525df76c56405000ad6cf6f396e98cf88b2d4aa56aac47bbdc30e1b 5cd47217887a11466eed6fdf20bed4814c54dae7101398dff3c61f8d2465d49f78f205147cb67d263a50fab665c8b465 +CLIENT_TRAFFIC_SECRET_0 0e0aa05b4525df76c56405000ad6cf6f396e98cf88b2d4aa56aac47bbdc30e1b 94b99f722c89ae6c334677edde6eb13fae37714c91bbf4643ffc2bab8c4e2a9742bda45295772c8eea46fde04fc889a6 +SERVER_TRAFFIC_SECRET_0 0e0aa05b4525df76c56405000ad6cf6f396e98cf88b2d4aa56aac47bbdc30e1b c2cea8cf33a5c94817c5aeb4364d960e2490d91d4b70950871825e01bb9deaf6abb0250ac7d6494b83de1caa3f130450 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1b2742554b997a228d3b4c6a1ce82b778af56b6402ea556f34e6647d47667de0 1f6cdb38814f708e829c0cdb4c2822935cba33d35536c52eaeb40e187d0fa5ff584211b68390ffaa4ece0960784b42b8 +SERVER_HANDSHAKE_TRAFFIC_SECRET 1b2742554b997a228d3b4c6a1ce82b778af56b6402ea556f34e6647d47667de0 56343540b0fed839e421498b37aef5150ff9acee4e100f138eb748e3717c27af3e52152b83e86e4f5b8130b5c9e744bc +CLIENT_TRAFFIC_SECRET_0 1b2742554b997a228d3b4c6a1ce82b778af56b6402ea556f34e6647d47667de0 f6faf62cf687f1492eb2606f90fea738741a3bf05f37bfbe962ab56d36154a4d265abc811a556f90be306b3123fef0d9 +SERVER_TRAFFIC_SECRET_0 1b2742554b997a228d3b4c6a1ce82b778af56b6402ea556f34e6647d47667de0 e87c08f570af1a20d79c13299f1f9b0479366798007dca88b192830345e9d5555509f706bb9a14bd9d55941572e243ba +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1b2742554b997a228d3b4c6a1ce82b778af56b6402ea556f34e6647d47667de0 1f6cdb38814f708e829c0cdb4c2822935cba33d35536c52eaeb40e187d0fa5ff584211b68390ffaa4ece0960784b42b8 +SERVER_HANDSHAKE_TRAFFIC_SECRET 1b2742554b997a228d3b4c6a1ce82b778af56b6402ea556f34e6647d47667de0 56343540b0fed839e421498b37aef5150ff9acee4e100f138eb748e3717c27af3e52152b83e86e4f5b8130b5c9e744bc +CLIENT_TRAFFIC_SECRET_0 1b2742554b997a228d3b4c6a1ce82b778af56b6402ea556f34e6647d47667de0 f6faf62cf687f1492eb2606f90fea738741a3bf05f37bfbe962ab56d36154a4d265abc811a556f90be306b3123fef0d9 +SERVER_TRAFFIC_SECRET_0 1b2742554b997a228d3b4c6a1ce82b778af56b6402ea556f34e6647d47667de0 e87c08f570af1a20d79c13299f1f9b0479366798007dca88b192830345e9d5555509f706bb9a14bd9d55941572e243ba +CLIENT_HANDSHAKE_TRAFFIC_SECRET bf0fecc3d7df5224ff1598619f74ed472f88346ebbbc52167cc6dd15b5a35bfc 7570e2c7e2e8ca921fccea6dfa03240eabe2dede3c7fa0f7ec606dcbe115351de338f3b8541362e48283b6bd74cd872e +SERVER_HANDSHAKE_TRAFFIC_SECRET bf0fecc3d7df5224ff1598619f74ed472f88346ebbbc52167cc6dd15b5a35bfc 86715890d5a8a3286542696bfc09b7c6a0fa6c3a1798e416243a593de7a53be354e7c594f205c366b2dc508d571c860c +CLIENT_TRAFFIC_SECRET_0 bf0fecc3d7df5224ff1598619f74ed472f88346ebbbc52167cc6dd15b5a35bfc f6e44680c752f7fc5e003d37573d0fd307cab2e12ca86bdd5a5342043cb6e80479735086b9d53c56ce175cfc7e72505e +SERVER_TRAFFIC_SECRET_0 bf0fecc3d7df5224ff1598619f74ed472f88346ebbbc52167cc6dd15b5a35bfc e99136a6abb40b2980082b5ad4dede419ed9978aefe025ad718cf45260c8b182d5ccff087906b84637fffcfa52067b9d +CLIENT_HANDSHAKE_TRAFFIC_SECRET bf0fecc3d7df5224ff1598619f74ed472f88346ebbbc52167cc6dd15b5a35bfc 7570e2c7e2e8ca921fccea6dfa03240eabe2dede3c7fa0f7ec606dcbe115351de338f3b8541362e48283b6bd74cd872e +SERVER_HANDSHAKE_TRAFFIC_SECRET bf0fecc3d7df5224ff1598619f74ed472f88346ebbbc52167cc6dd15b5a35bfc 86715890d5a8a3286542696bfc09b7c6a0fa6c3a1798e416243a593de7a53be354e7c594f205c366b2dc508d571c860c +CLIENT_TRAFFIC_SECRET_0 bf0fecc3d7df5224ff1598619f74ed472f88346ebbbc52167cc6dd15b5a35bfc f6e44680c752f7fc5e003d37573d0fd307cab2e12ca86bdd5a5342043cb6e80479735086b9d53c56ce175cfc7e72505e +SERVER_TRAFFIC_SECRET_0 bf0fecc3d7df5224ff1598619f74ed472f88346ebbbc52167cc6dd15b5a35bfc e99136a6abb40b2980082b5ad4dede419ed9978aefe025ad718cf45260c8b182d5ccff087906b84637fffcfa52067b9d +CLIENT_HANDSHAKE_TRAFFIC_SECRET 54128461fc16ccd2fd4b76b0f9ee09deb5d5841523837166b9307a5bc6a7124c b20ab333768e90e0a38e07e89de4f2611c1035e276e3415d147565998649c2bdf310a8f5a5303dd5175c2afd47ec5ea2 +SERVER_HANDSHAKE_TRAFFIC_SECRET 54128461fc16ccd2fd4b76b0f9ee09deb5d5841523837166b9307a5bc6a7124c b5efbcb26476b1b0e09ea40444f6ad21877a70c936692168b67245ece1cb2bd0b0b0705765985f627cdf39db970c6879 +CLIENT_TRAFFIC_SECRET_0 54128461fc16ccd2fd4b76b0f9ee09deb5d5841523837166b9307a5bc6a7124c d9564d4e48fd24366b24ef2f21f139c1efd8bd594701ff02450d587f0b582b843509998ca2daea0b965cce52bf67389c +SERVER_TRAFFIC_SECRET_0 54128461fc16ccd2fd4b76b0f9ee09deb5d5841523837166b9307a5bc6a7124c 1cbc2a27430212b1dfaa0f87751aef8107002572d60f15c1201920acac44480e141c660199418049df158f9fb6f26b02 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 54128461fc16ccd2fd4b76b0f9ee09deb5d5841523837166b9307a5bc6a7124c b20ab333768e90e0a38e07e89de4f2611c1035e276e3415d147565998649c2bdf310a8f5a5303dd5175c2afd47ec5ea2 +SERVER_HANDSHAKE_TRAFFIC_SECRET 54128461fc16ccd2fd4b76b0f9ee09deb5d5841523837166b9307a5bc6a7124c b5efbcb26476b1b0e09ea40444f6ad21877a70c936692168b67245ece1cb2bd0b0b0705765985f627cdf39db970c6879 +CLIENT_TRAFFIC_SECRET_0 54128461fc16ccd2fd4b76b0f9ee09deb5d5841523837166b9307a5bc6a7124c d9564d4e48fd24366b24ef2f21f139c1efd8bd594701ff02450d587f0b582b843509998ca2daea0b965cce52bf67389c +SERVER_TRAFFIC_SECRET_0 54128461fc16ccd2fd4b76b0f9ee09deb5d5841523837166b9307a5bc6a7124c 1cbc2a27430212b1dfaa0f87751aef8107002572d60f15c1201920acac44480e141c660199418049df158f9fb6f26b02 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9febb26af54c63982d91ffc9c3d908bd2ee29e478c5d2820322e51b816ff391a 334d05d96bcbc4a70c8af68f6c20be05d5c1a0c24ad0fb0e2b64cb599319627dae94213d7adc405faf4a1c1df0a0f3e8 +SERVER_HANDSHAKE_TRAFFIC_SECRET 9febb26af54c63982d91ffc9c3d908bd2ee29e478c5d2820322e51b816ff391a 373e2e4bac43ae185d1e1e4fbdaf47d7266e9675b51fbb56aa3eb385417678114c4c8e3146f5a8d8b22683ecac207b2e +CLIENT_TRAFFIC_SECRET_0 9febb26af54c63982d91ffc9c3d908bd2ee29e478c5d2820322e51b816ff391a 1236dcf959cc2e30792792a590fdb925ecf78e9e30bd4ae7b2a4a47a3852a2e0111b0053fd5541d788c744ac953d8798 +SERVER_TRAFFIC_SECRET_0 9febb26af54c63982d91ffc9c3d908bd2ee29e478c5d2820322e51b816ff391a b524fce317bd0cc5b55ab42a96e3f7b9e54900c3b3fda4db05950b2ac94083687a83b7046e4a11c1331e61106e2ac741 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9febb26af54c63982d91ffc9c3d908bd2ee29e478c5d2820322e51b816ff391a 334d05d96bcbc4a70c8af68f6c20be05d5c1a0c24ad0fb0e2b64cb599319627dae94213d7adc405faf4a1c1df0a0f3e8 +SERVER_HANDSHAKE_TRAFFIC_SECRET 9febb26af54c63982d91ffc9c3d908bd2ee29e478c5d2820322e51b816ff391a 373e2e4bac43ae185d1e1e4fbdaf47d7266e9675b51fbb56aa3eb385417678114c4c8e3146f5a8d8b22683ecac207b2e +CLIENT_TRAFFIC_SECRET_0 9febb26af54c63982d91ffc9c3d908bd2ee29e478c5d2820322e51b816ff391a 1236dcf959cc2e30792792a590fdb925ecf78e9e30bd4ae7b2a4a47a3852a2e0111b0053fd5541d788c744ac953d8798 +SERVER_TRAFFIC_SECRET_0 9febb26af54c63982d91ffc9c3d908bd2ee29e478c5d2820322e51b816ff391a b524fce317bd0cc5b55ab42a96e3f7b9e54900c3b3fda4db05950b2ac94083687a83b7046e4a11c1331e61106e2ac741 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a7265180eeb5fdaa1ee49a5cb25aa557d395837665e0d68a4f0e37f8333b9533 f6bc125d5b5f34500cddd9e74ddc91671fc8386ae5dbc40b0e78857da08ef63deed5a0b5447cd57be9c4f067f72cb406 +SERVER_HANDSHAKE_TRAFFIC_SECRET a7265180eeb5fdaa1ee49a5cb25aa557d395837665e0d68a4f0e37f8333b9533 2e2f0d521334330fbe1200ca172f762485d27c7251d6225cb11580a5a3f9ab53c449b0316eb5879e74f0f22b66680f92 +CLIENT_TRAFFIC_SECRET_0 a7265180eeb5fdaa1ee49a5cb25aa557d395837665e0d68a4f0e37f8333b9533 e104000202b5848d6854880a77b35f012f6b0ad9a361bea4bc2b6b0b5a2271be45001201126366a20e9ba55647598afc +SERVER_TRAFFIC_SECRET_0 a7265180eeb5fdaa1ee49a5cb25aa557d395837665e0d68a4f0e37f8333b9533 4deef71eb74f73221699850b28964d103d3fa1e020dc2cc8aefb9126eb0ed7c4df937e249d99a0d02ad9f9ed8ff0e17c +CLIENT_HANDSHAKE_TRAFFIC_SECRET a7265180eeb5fdaa1ee49a5cb25aa557d395837665e0d68a4f0e37f8333b9533 f6bc125d5b5f34500cddd9e74ddc91671fc8386ae5dbc40b0e78857da08ef63deed5a0b5447cd57be9c4f067f72cb406 +SERVER_HANDSHAKE_TRAFFIC_SECRET a7265180eeb5fdaa1ee49a5cb25aa557d395837665e0d68a4f0e37f8333b9533 2e2f0d521334330fbe1200ca172f762485d27c7251d6225cb11580a5a3f9ab53c449b0316eb5879e74f0f22b66680f92 +CLIENT_TRAFFIC_SECRET_0 a7265180eeb5fdaa1ee49a5cb25aa557d395837665e0d68a4f0e37f8333b9533 e104000202b5848d6854880a77b35f012f6b0ad9a361bea4bc2b6b0b5a2271be45001201126366a20e9ba55647598afc +SERVER_TRAFFIC_SECRET_0 a7265180eeb5fdaa1ee49a5cb25aa557d395837665e0d68a4f0e37f8333b9533 4deef71eb74f73221699850b28964d103d3fa1e020dc2cc8aefb9126eb0ed7c4df937e249d99a0d02ad9f9ed8ff0e17c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 18283830dd97a36affc45aa0d5843b8476ed9b04819b5421dadf2d9c34618fd0 bcf960d25a2bc324436b5cea4ce373ef325039d542a131d1d90754d7e50a702e2c06f3cdbdc907826422106af002baa5 +SERVER_HANDSHAKE_TRAFFIC_SECRET 18283830dd97a36affc45aa0d5843b8476ed9b04819b5421dadf2d9c34618fd0 9449264ccd5197d5e089636b88454ff5d86834c2e443d7ad5c40c327da0fb0f945e7c6c7ef94cd58c1ea37eea4c8905c +CLIENT_TRAFFIC_SECRET_0 18283830dd97a36affc45aa0d5843b8476ed9b04819b5421dadf2d9c34618fd0 42a5aad9d6cc581088241bbfe9d6bbad1358081e6836ea3f69c02f8414451bbcbbf3b0ea421b92249952eb3bb301087a +SERVER_TRAFFIC_SECRET_0 18283830dd97a36affc45aa0d5843b8476ed9b04819b5421dadf2d9c34618fd0 37b0311830fcc01e5b4f9de194a067ccf15a85ebd06bbe8c6253ee1549617b71e1c7ddd4b0467f0e4d8b788855218560 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 18283830dd97a36affc45aa0d5843b8476ed9b04819b5421dadf2d9c34618fd0 bcf960d25a2bc324436b5cea4ce373ef325039d542a131d1d90754d7e50a702e2c06f3cdbdc907826422106af002baa5 +SERVER_HANDSHAKE_TRAFFIC_SECRET 18283830dd97a36affc45aa0d5843b8476ed9b04819b5421dadf2d9c34618fd0 9449264ccd5197d5e089636b88454ff5d86834c2e443d7ad5c40c327da0fb0f945e7c6c7ef94cd58c1ea37eea4c8905c +CLIENT_TRAFFIC_SECRET_0 18283830dd97a36affc45aa0d5843b8476ed9b04819b5421dadf2d9c34618fd0 42a5aad9d6cc581088241bbfe9d6bbad1358081e6836ea3f69c02f8414451bbcbbf3b0ea421b92249952eb3bb301087a +SERVER_TRAFFIC_SECRET_0 18283830dd97a36affc45aa0d5843b8476ed9b04819b5421dadf2d9c34618fd0 37b0311830fcc01e5b4f9de194a067ccf15a85ebd06bbe8c6253ee1549617b71e1c7ddd4b0467f0e4d8b788855218560 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 7419d2a47c28da998f3be72b63c3ad639ccce23d70a5905e726602d2a3e74185 4b5ba580142a865e7e35d074d7b0ee75c11aeedcf8fd1485314f819d16d1ada8f2fd9da5be331f976139c0038d4cd13e +SERVER_HANDSHAKE_TRAFFIC_SECRET 7419d2a47c28da998f3be72b63c3ad639ccce23d70a5905e726602d2a3e74185 b51e386a2ed13cd1b61f1e5bf0240c29402be82b53aa068eeaab4641287944ed72f20832cfe59e6f5c87b7a5976af174 +CLIENT_TRAFFIC_SECRET_0 7419d2a47c28da998f3be72b63c3ad639ccce23d70a5905e726602d2a3e74185 210883c6a20b3679f60d09bcd732021d4135c0feb6569c57068dccf7d008adb3fa17434f70b1dae86ee58ad13bd5b72c +SERVER_TRAFFIC_SECRET_0 7419d2a47c28da998f3be72b63c3ad639ccce23d70a5905e726602d2a3e74185 21d70fd38f8388d05236e6d5716e008bdd5e2f9260d5f5c6864b535784f636bc53684a78d91e22791830efa7b727254a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 7419d2a47c28da998f3be72b63c3ad639ccce23d70a5905e726602d2a3e74185 4b5ba580142a865e7e35d074d7b0ee75c11aeedcf8fd1485314f819d16d1ada8f2fd9da5be331f976139c0038d4cd13e +SERVER_HANDSHAKE_TRAFFIC_SECRET 7419d2a47c28da998f3be72b63c3ad639ccce23d70a5905e726602d2a3e74185 b51e386a2ed13cd1b61f1e5bf0240c29402be82b53aa068eeaab4641287944ed72f20832cfe59e6f5c87b7a5976af174 +CLIENT_TRAFFIC_SECRET_0 7419d2a47c28da998f3be72b63c3ad639ccce23d70a5905e726602d2a3e74185 210883c6a20b3679f60d09bcd732021d4135c0feb6569c57068dccf7d008adb3fa17434f70b1dae86ee58ad13bd5b72c +SERVER_TRAFFIC_SECRET_0 7419d2a47c28da998f3be72b63c3ad639ccce23d70a5905e726602d2a3e74185 21d70fd38f8388d05236e6d5716e008bdd5e2f9260d5f5c6864b535784f636bc53684a78d91e22791830efa7b727254a +CLIENT_HANDSHAKE_TRAFFIC_SECRET f3615f3e1cf0dd1b3f2b4677a4c5cd49b658a2c15ebc6f919336714c91063986 1fcbb35973afaacc8828acd4cce6de64cb2658d68d1b63d38869a0961791b394296969edcde891696f3e0349e83d1247 +SERVER_HANDSHAKE_TRAFFIC_SECRET f3615f3e1cf0dd1b3f2b4677a4c5cd49b658a2c15ebc6f919336714c91063986 e4dd5afdb6e1f483f1db2b71127f6c438fa30a1c8e7940af74a2ac174b3b1bff5e01de50175c027da6a6d726c8b71b65 +CLIENT_TRAFFIC_SECRET_0 f3615f3e1cf0dd1b3f2b4677a4c5cd49b658a2c15ebc6f919336714c91063986 599007b3c1bcf220025e914c45eeae5a36eb03797d4db6e85287ec207b0d40fda7d032890fc3a1d0c6b4693249154c98 +SERVER_TRAFFIC_SECRET_0 f3615f3e1cf0dd1b3f2b4677a4c5cd49b658a2c15ebc6f919336714c91063986 fc8a98325a68012c7163f16371731246eb12dea3a687381cf32075260517a5cebc2083e0eb660cd8313a0067d11b3da2 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f3615f3e1cf0dd1b3f2b4677a4c5cd49b658a2c15ebc6f919336714c91063986 1fcbb35973afaacc8828acd4cce6de64cb2658d68d1b63d38869a0961791b394296969edcde891696f3e0349e83d1247 +SERVER_HANDSHAKE_TRAFFIC_SECRET f3615f3e1cf0dd1b3f2b4677a4c5cd49b658a2c15ebc6f919336714c91063986 e4dd5afdb6e1f483f1db2b71127f6c438fa30a1c8e7940af74a2ac174b3b1bff5e01de50175c027da6a6d726c8b71b65 +CLIENT_TRAFFIC_SECRET_0 f3615f3e1cf0dd1b3f2b4677a4c5cd49b658a2c15ebc6f919336714c91063986 599007b3c1bcf220025e914c45eeae5a36eb03797d4db6e85287ec207b0d40fda7d032890fc3a1d0c6b4693249154c98 +SERVER_TRAFFIC_SECRET_0 f3615f3e1cf0dd1b3f2b4677a4c5cd49b658a2c15ebc6f919336714c91063986 fc8a98325a68012c7163f16371731246eb12dea3a687381cf32075260517a5cebc2083e0eb660cd8313a0067d11b3da2 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1ad605c0f8288303495d8cdb4062959f35e52dacee5b70a6ec9bb21a06e4225c 950550b9088384addc6a067339f243d7d1b85b3c23898e97b68c83142df6aa168f3f00ae1013b77af64d57f4ab774a5d +SERVER_HANDSHAKE_TRAFFIC_SECRET 1ad605c0f8288303495d8cdb4062959f35e52dacee5b70a6ec9bb21a06e4225c f537079bfb47e337b90e0efdb16f3f1fb817bfedfead76667f23e24506589c38c75864580be6b3b86906ae28d6b65e7d +CLIENT_TRAFFIC_SECRET_0 1ad605c0f8288303495d8cdb4062959f35e52dacee5b70a6ec9bb21a06e4225c a5db9e8ddf28175fe282b1baa1ba83f84187412fdf1d65f6fddc155be92cb3c4dcf5ece29c0153bbc5f9c811ff54cda2 +SERVER_TRAFFIC_SECRET_0 1ad605c0f8288303495d8cdb4062959f35e52dacee5b70a6ec9bb21a06e4225c 5c8e1c05cf1a1b2cfb9400b19289ab33b2c34f07ecc49d002fc2390950ea0ae19c772aa9c45faffddd978e959519dfb5 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1ad605c0f8288303495d8cdb4062959f35e52dacee5b70a6ec9bb21a06e4225c 950550b9088384addc6a067339f243d7d1b85b3c23898e97b68c83142df6aa168f3f00ae1013b77af64d57f4ab774a5d +SERVER_HANDSHAKE_TRAFFIC_SECRET 1ad605c0f8288303495d8cdb4062959f35e52dacee5b70a6ec9bb21a06e4225c f537079bfb47e337b90e0efdb16f3f1fb817bfedfead76667f23e24506589c38c75864580be6b3b86906ae28d6b65e7d +CLIENT_TRAFFIC_SECRET_0 1ad605c0f8288303495d8cdb4062959f35e52dacee5b70a6ec9bb21a06e4225c a5db9e8ddf28175fe282b1baa1ba83f84187412fdf1d65f6fddc155be92cb3c4dcf5ece29c0153bbc5f9c811ff54cda2 +SERVER_TRAFFIC_SECRET_0 1ad605c0f8288303495d8cdb4062959f35e52dacee5b70a6ec9bb21a06e4225c 5c8e1c05cf1a1b2cfb9400b19289ab33b2c34f07ecc49d002fc2390950ea0ae19c772aa9c45faffddd978e959519dfb5 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4afeba4b848d86eb90886233abc6d4d60e30463f06ff02a3e2d1e4a22d0a2e73 c1c32e591495a7cad9725285b56ccf8d508f9c7ae83c2a540b9951317d38544b1b058a79f903994b792258d6c724831f +SERVER_HANDSHAKE_TRAFFIC_SECRET 4afeba4b848d86eb90886233abc6d4d60e30463f06ff02a3e2d1e4a22d0a2e73 22324c2fc09094905cbf639ec82e919efbbd974c8bb37df6f6a049719c65747c9d67679f3f25004bc8cc58b9036501ce +CLIENT_TRAFFIC_SECRET_0 4afeba4b848d86eb90886233abc6d4d60e30463f06ff02a3e2d1e4a22d0a2e73 6c4eca1c15ca5406a2aa2410d66af45bfe67a3664a1a3db133daee7f42f1a3c53c7b514e837baa380048524817aa6be5 +SERVER_TRAFFIC_SECRET_0 4afeba4b848d86eb90886233abc6d4d60e30463f06ff02a3e2d1e4a22d0a2e73 031789cb885214f4d2191588bc3c9f2bba9d83419428f03dc680b46a0838ced4aaedb7e62bb3925aeb3581f8aca7fe63 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4afeba4b848d86eb90886233abc6d4d60e30463f06ff02a3e2d1e4a22d0a2e73 c1c32e591495a7cad9725285b56ccf8d508f9c7ae83c2a540b9951317d38544b1b058a79f903994b792258d6c724831f +SERVER_HANDSHAKE_TRAFFIC_SECRET 4afeba4b848d86eb90886233abc6d4d60e30463f06ff02a3e2d1e4a22d0a2e73 22324c2fc09094905cbf639ec82e919efbbd974c8bb37df6f6a049719c65747c9d67679f3f25004bc8cc58b9036501ce +CLIENT_TRAFFIC_SECRET_0 4afeba4b848d86eb90886233abc6d4d60e30463f06ff02a3e2d1e4a22d0a2e73 6c4eca1c15ca5406a2aa2410d66af45bfe67a3664a1a3db133daee7f42f1a3c53c7b514e837baa380048524817aa6be5 +SERVER_TRAFFIC_SECRET_0 4afeba4b848d86eb90886233abc6d4d60e30463f06ff02a3e2d1e4a22d0a2e73 031789cb885214f4d2191588bc3c9f2bba9d83419428f03dc680b46a0838ced4aaedb7e62bb3925aeb3581f8aca7fe63 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2418ef114e927e6221016039c95220b64a38dd596e20ce2dce6576ebc663baec c26490ccafc389bdf3c2b4cb8bb487bf4f2cf88ec6f020a7fd74e345f1ef6b7d70e1237378fb17b58bb6d3a29d157722 +SERVER_HANDSHAKE_TRAFFIC_SECRET 2418ef114e927e6221016039c95220b64a38dd596e20ce2dce6576ebc663baec e88762a54104af3275afd2b410310d328569772d4729394713e654795f933e6d17905d4ef7d01ab5bce1a572f007736f +CLIENT_TRAFFIC_SECRET_0 2418ef114e927e6221016039c95220b64a38dd596e20ce2dce6576ebc663baec 7ee472a55738b626d3bf5ff9f3be2fe323b5965c8298e8a2b971e69efbe828bf842ff488312692138201f1f1405e0c17 +SERVER_TRAFFIC_SECRET_0 2418ef114e927e6221016039c95220b64a38dd596e20ce2dce6576ebc663baec dea12bf9db05bdae48f71863b14a08e8938ddcf2262175ccdb623f2ce865d5db940f00557252de6ca21cd09a199d60f3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2418ef114e927e6221016039c95220b64a38dd596e20ce2dce6576ebc663baec c26490ccafc389bdf3c2b4cb8bb487bf4f2cf88ec6f020a7fd74e345f1ef6b7d70e1237378fb17b58bb6d3a29d157722 +SERVER_HANDSHAKE_TRAFFIC_SECRET 2418ef114e927e6221016039c95220b64a38dd596e20ce2dce6576ebc663baec e88762a54104af3275afd2b410310d328569772d4729394713e654795f933e6d17905d4ef7d01ab5bce1a572f007736f +CLIENT_TRAFFIC_SECRET_0 2418ef114e927e6221016039c95220b64a38dd596e20ce2dce6576ebc663baec 7ee472a55738b626d3bf5ff9f3be2fe323b5965c8298e8a2b971e69efbe828bf842ff488312692138201f1f1405e0c17 +SERVER_TRAFFIC_SECRET_0 2418ef114e927e6221016039c95220b64a38dd596e20ce2dce6576ebc663baec dea12bf9db05bdae48f71863b14a08e8938ddcf2262175ccdb623f2ce865d5db940f00557252de6ca21cd09a199d60f3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9be0682dcdfb7caab92f7092781b4581cbb82bcf34701a5bbeffc7e0e4fade37 eef37962c65454b1148f870c82e447bfd888265e8a61c956594fe638d3f1bfdf72dcffb211c25117e7d904026203dd49 +SERVER_HANDSHAKE_TRAFFIC_SECRET 9be0682dcdfb7caab92f7092781b4581cbb82bcf34701a5bbeffc7e0e4fade37 338117227cf11d49b812c3b4b237c58cc97418067ea95af9e0b5e0a4a92234363ae47bda5ab2d788d38845dd3a97a9f2 +CLIENT_TRAFFIC_SECRET_0 9be0682dcdfb7caab92f7092781b4581cbb82bcf34701a5bbeffc7e0e4fade37 92b59c08af7f006361b89ac32b26dfa8f04cd3b8692db53593a113efec8f6dec07d2d228ce26b527c038e7d147ceabf1 +SERVER_TRAFFIC_SECRET_0 9be0682dcdfb7caab92f7092781b4581cbb82bcf34701a5bbeffc7e0e4fade37 940236431f49efac20436dae6d4aa86da75d9ad8d97993447082351fb94be216ae368043413bb8cc904ed6beadf04a8b +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9be0682dcdfb7caab92f7092781b4581cbb82bcf34701a5bbeffc7e0e4fade37 eef37962c65454b1148f870c82e447bfd888265e8a61c956594fe638d3f1bfdf72dcffb211c25117e7d904026203dd49 +SERVER_HANDSHAKE_TRAFFIC_SECRET 9be0682dcdfb7caab92f7092781b4581cbb82bcf34701a5bbeffc7e0e4fade37 338117227cf11d49b812c3b4b237c58cc97418067ea95af9e0b5e0a4a92234363ae47bda5ab2d788d38845dd3a97a9f2 +CLIENT_TRAFFIC_SECRET_0 9be0682dcdfb7caab92f7092781b4581cbb82bcf34701a5bbeffc7e0e4fade37 92b59c08af7f006361b89ac32b26dfa8f04cd3b8692db53593a113efec8f6dec07d2d228ce26b527c038e7d147ceabf1 +SERVER_TRAFFIC_SECRET_0 9be0682dcdfb7caab92f7092781b4581cbb82bcf34701a5bbeffc7e0e4fade37 940236431f49efac20436dae6d4aa86da75d9ad8d97993447082351fb94be216ae368043413bb8cc904ed6beadf04a8b +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3f881c0d692cff3116ff0a8d01436d68e6e6fade86730afca1e7bc1d71ed1cbb 6bbe4d93c5a5d3398bf91f32b119a61fea3e807146817e9370c6f5ee4679935fcd14924a9f7f21831a280d0024942563 +SERVER_HANDSHAKE_TRAFFIC_SECRET 3f881c0d692cff3116ff0a8d01436d68e6e6fade86730afca1e7bc1d71ed1cbb 12fbc41225ef4ac1ec26836bab9844badb1d2b3297fea86a22b2ecf0d18993894a377284aaefecbf9139b3ca1dd3eaf0 +CLIENT_TRAFFIC_SECRET_0 3f881c0d692cff3116ff0a8d01436d68e6e6fade86730afca1e7bc1d71ed1cbb e7e1fc1058152c276c47a5ac058151527c58c31690da9f148d76ef9120acf5dcdc3276bb10758c8e68962bef46215c5d +SERVER_TRAFFIC_SECRET_0 3f881c0d692cff3116ff0a8d01436d68e6e6fade86730afca1e7bc1d71ed1cbb 8bda5d61c48b57a24753702f3ad0edf6364eef9d76ded46f6a99209f116c90480780b43c6662e06082ad57c7edc7a523 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3f881c0d692cff3116ff0a8d01436d68e6e6fade86730afca1e7bc1d71ed1cbb 6bbe4d93c5a5d3398bf91f32b119a61fea3e807146817e9370c6f5ee4679935fcd14924a9f7f21831a280d0024942563 +SERVER_HANDSHAKE_TRAFFIC_SECRET 3f881c0d692cff3116ff0a8d01436d68e6e6fade86730afca1e7bc1d71ed1cbb 12fbc41225ef4ac1ec26836bab9844badb1d2b3297fea86a22b2ecf0d18993894a377284aaefecbf9139b3ca1dd3eaf0 +CLIENT_TRAFFIC_SECRET_0 3f881c0d692cff3116ff0a8d01436d68e6e6fade86730afca1e7bc1d71ed1cbb e7e1fc1058152c276c47a5ac058151527c58c31690da9f148d76ef9120acf5dcdc3276bb10758c8e68962bef46215c5d +SERVER_TRAFFIC_SECRET_0 3f881c0d692cff3116ff0a8d01436d68e6e6fade86730afca1e7bc1d71ed1cbb 8bda5d61c48b57a24753702f3ad0edf6364eef9d76ded46f6a99209f116c90480780b43c6662e06082ad57c7edc7a523 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0e876ed6339438dadea6b10134d42059dac829a451f78a96bfab25802129b989 7b7f82ba7764ddfddc873cfbe429e81e128edfa372a9e959f80164798512605aef42f1e071d9f7728e183cd09bf90b71 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0e876ed6339438dadea6b10134d42059dac829a451f78a96bfab25802129b989 ce3c4d2d9bb843c8b01001be0a16d0141e3f131b1aff3f537935f0d17a55b396b0a4219635ad9dba4bb8813d3655752f +CLIENT_TRAFFIC_SECRET_0 0e876ed6339438dadea6b10134d42059dac829a451f78a96bfab25802129b989 033c9b5ced177cc4be97e9ba8efe0c508e6d06136925245df2eb4e94a323f1dd6e6485380d2d4d41ae73bbfb402e1c91 +SERVER_TRAFFIC_SECRET_0 0e876ed6339438dadea6b10134d42059dac829a451f78a96bfab25802129b989 2066ea96f07916e3b29e2017c8deba4effc32e9423614293b8fd369aadbcc902962b4c125b1c18613f55b7438a13b377 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0e876ed6339438dadea6b10134d42059dac829a451f78a96bfab25802129b989 7b7f82ba7764ddfddc873cfbe429e81e128edfa372a9e959f80164798512605aef42f1e071d9f7728e183cd09bf90b71 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0e876ed6339438dadea6b10134d42059dac829a451f78a96bfab25802129b989 ce3c4d2d9bb843c8b01001be0a16d0141e3f131b1aff3f537935f0d17a55b396b0a4219635ad9dba4bb8813d3655752f +CLIENT_TRAFFIC_SECRET_0 0e876ed6339438dadea6b10134d42059dac829a451f78a96bfab25802129b989 033c9b5ced177cc4be97e9ba8efe0c508e6d06136925245df2eb4e94a323f1dd6e6485380d2d4d41ae73bbfb402e1c91 +SERVER_TRAFFIC_SECRET_0 0e876ed6339438dadea6b10134d42059dac829a451f78a96bfab25802129b989 2066ea96f07916e3b29e2017c8deba4effc32e9423614293b8fd369aadbcc902962b4c125b1c18613f55b7438a13b377 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 074973ad9d768d741cbd982390ccd4930139fbc3356da546de97b419fdc19d21 44a528caefd2bea63c333a4fc2e2cd1c37d6f4ab8ac595cbfb86fd9478da425bd0c4af5e3245cd1de9a8231af8b1fe70 +SERVER_HANDSHAKE_TRAFFIC_SECRET 074973ad9d768d741cbd982390ccd4930139fbc3356da546de97b419fdc19d21 94eb7c3df618e6b7d23b2835186cf856ccc2ea8f17757d35fd20418a707ae7138c4f1d4d2078ef65f29119fc2f7dfeb1 +CLIENT_TRAFFIC_SECRET_0 074973ad9d768d741cbd982390ccd4930139fbc3356da546de97b419fdc19d21 c0bdcc1f59015af3f0626224603c109015630023b4beb7e0fbfeed7a78d64f5f71da9cd596afdc2e78abbe4673768e16 +SERVER_TRAFFIC_SECRET_0 074973ad9d768d741cbd982390ccd4930139fbc3356da546de97b419fdc19d21 ef48f91976d539de449f23d716c9a0599b8a87fa12175e9b33a87950b47e2e42eda3cc1f129bf065ff6a176cdf584591 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 074973ad9d768d741cbd982390ccd4930139fbc3356da546de97b419fdc19d21 44a528caefd2bea63c333a4fc2e2cd1c37d6f4ab8ac595cbfb86fd9478da425bd0c4af5e3245cd1de9a8231af8b1fe70 +SERVER_HANDSHAKE_TRAFFIC_SECRET 074973ad9d768d741cbd982390ccd4930139fbc3356da546de97b419fdc19d21 94eb7c3df618e6b7d23b2835186cf856ccc2ea8f17757d35fd20418a707ae7138c4f1d4d2078ef65f29119fc2f7dfeb1 +CLIENT_TRAFFIC_SECRET_0 074973ad9d768d741cbd982390ccd4930139fbc3356da546de97b419fdc19d21 c0bdcc1f59015af3f0626224603c109015630023b4beb7e0fbfeed7a78d64f5f71da9cd596afdc2e78abbe4673768e16 +SERVER_TRAFFIC_SECRET_0 074973ad9d768d741cbd982390ccd4930139fbc3356da546de97b419fdc19d21 ef48f91976d539de449f23d716c9a0599b8a87fa12175e9b33a87950b47e2e42eda3cc1f129bf065ff6a176cdf584591 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c3d24c614f8c32700c2af92df1fb05337df1ba9e84f768151d516340f694ff6a 8b9677709dbdbc38bfae900f3f3105bc6f1ec709a10c53d56790efee20a6e5b279e4a32fb8b96848c0252d4235d5318b +SERVER_HANDSHAKE_TRAFFIC_SECRET c3d24c614f8c32700c2af92df1fb05337df1ba9e84f768151d516340f694ff6a 5523e10962d857949186266aa9fef50ce788e263d84492c62795cc6d36732cea8b0a13bae3db188e064e5f00e0fb2296 +CLIENT_TRAFFIC_SECRET_0 c3d24c614f8c32700c2af92df1fb05337df1ba9e84f768151d516340f694ff6a 50216b33a9a5b84abe3558d36daa96688573dd283345d3ced4f9d51909d093aa2f7daa14173d0b82e87f70fa32506603 +SERVER_TRAFFIC_SECRET_0 c3d24c614f8c32700c2af92df1fb05337df1ba9e84f768151d516340f694ff6a b3298f0c8a1183d731fcf5c542f5119dd1296457af08ef628d78dd147f2749eeccb4f853540a3154c7787a16b0dd1b7a +CLIENT_HANDSHAKE_TRAFFIC_SECRET c3d24c614f8c32700c2af92df1fb05337df1ba9e84f768151d516340f694ff6a 8b9677709dbdbc38bfae900f3f3105bc6f1ec709a10c53d56790efee20a6e5b279e4a32fb8b96848c0252d4235d5318b +SERVER_HANDSHAKE_TRAFFIC_SECRET c3d24c614f8c32700c2af92df1fb05337df1ba9e84f768151d516340f694ff6a 5523e10962d857949186266aa9fef50ce788e263d84492c62795cc6d36732cea8b0a13bae3db188e064e5f00e0fb2296 +CLIENT_TRAFFIC_SECRET_0 c3d24c614f8c32700c2af92df1fb05337df1ba9e84f768151d516340f694ff6a 50216b33a9a5b84abe3558d36daa96688573dd283345d3ced4f9d51909d093aa2f7daa14173d0b82e87f70fa32506603 +SERVER_TRAFFIC_SECRET_0 c3d24c614f8c32700c2af92df1fb05337df1ba9e84f768151d516340f694ff6a b3298f0c8a1183d731fcf5c542f5119dd1296457af08ef628d78dd147f2749eeccb4f853540a3154c7787a16b0dd1b7a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 302a18e280569463fc68b2c59f79679223fe2ba6732f7a3bdd0b0db82b20ed42 c980ca740f2bb4da1e18419e1e4e45869ffade5bd10225bd0d77a9a74df3568bcb1aa367f8c25b3f3c75ee5052c448c6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 302a18e280569463fc68b2c59f79679223fe2ba6732f7a3bdd0b0db82b20ed42 7ffce24f3707ca50f3d2a513d9e0d2e7ab06080461428be6e2886646df6cb6ee9b74834f52f80116462c4ca8d2117733 +CLIENT_TRAFFIC_SECRET_0 302a18e280569463fc68b2c59f79679223fe2ba6732f7a3bdd0b0db82b20ed42 637c3b77120656c7c828e5a4057c84842590c2bdb397734ecd9e071765308100d549f6173f6a4898d2f4bae8696d5092 +SERVER_TRAFFIC_SECRET_0 302a18e280569463fc68b2c59f79679223fe2ba6732f7a3bdd0b0db82b20ed42 eff3987fd25bab5bb919202aa5d6fddd1bf1b913d46288defb52551e1ec24bb762b8c0835c2a69948d4dd7dd2acba133 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 302a18e280569463fc68b2c59f79679223fe2ba6732f7a3bdd0b0db82b20ed42 c980ca740f2bb4da1e18419e1e4e45869ffade5bd10225bd0d77a9a74df3568bcb1aa367f8c25b3f3c75ee5052c448c6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 302a18e280569463fc68b2c59f79679223fe2ba6732f7a3bdd0b0db82b20ed42 7ffce24f3707ca50f3d2a513d9e0d2e7ab06080461428be6e2886646df6cb6ee9b74834f52f80116462c4ca8d2117733 +CLIENT_TRAFFIC_SECRET_0 302a18e280569463fc68b2c59f79679223fe2ba6732f7a3bdd0b0db82b20ed42 637c3b77120656c7c828e5a4057c84842590c2bdb397734ecd9e071765308100d549f6173f6a4898d2f4bae8696d5092 +SERVER_TRAFFIC_SECRET_0 302a18e280569463fc68b2c59f79679223fe2ba6732f7a3bdd0b0db82b20ed42 eff3987fd25bab5bb919202aa5d6fddd1bf1b913d46288defb52551e1ec24bb762b8c0835c2a69948d4dd7dd2acba133 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1bd6fc479297198c3d45841abd130c0b370f0ada7859d4c426052d3f20cf885f af92f450090a8e810a14cb3bc7c9942021c10f177aca5183f89a65e451f713a0341b7fb12335e8a3c55fc09850ec9197 +SERVER_HANDSHAKE_TRAFFIC_SECRET 1bd6fc479297198c3d45841abd130c0b370f0ada7859d4c426052d3f20cf885f 13c7bfbd2f6c226fa76c0fe1b4ac6315485efcca0147b429477865bcfd0cf8fc48561025a7098fd2be6c9ada318976ca +CLIENT_TRAFFIC_SECRET_0 1bd6fc479297198c3d45841abd130c0b370f0ada7859d4c426052d3f20cf885f dffc41848ccafa96e71b8b4796b006c77b1df9887ec8521570cfe523612bf24703f75f1693b84ca59d353bb28df71b2a +SERVER_TRAFFIC_SECRET_0 1bd6fc479297198c3d45841abd130c0b370f0ada7859d4c426052d3f20cf885f 5243db551d7d5540df86c446866be4018c6984d51c621bc1da8ba4a15b3ad8c42798fee7ee75862a97222d823fe90ad7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1bd6fc479297198c3d45841abd130c0b370f0ada7859d4c426052d3f20cf885f af92f450090a8e810a14cb3bc7c9942021c10f177aca5183f89a65e451f713a0341b7fb12335e8a3c55fc09850ec9197 +SERVER_HANDSHAKE_TRAFFIC_SECRET 1bd6fc479297198c3d45841abd130c0b370f0ada7859d4c426052d3f20cf885f 13c7bfbd2f6c226fa76c0fe1b4ac6315485efcca0147b429477865bcfd0cf8fc48561025a7098fd2be6c9ada318976ca +CLIENT_TRAFFIC_SECRET_0 1bd6fc479297198c3d45841abd130c0b370f0ada7859d4c426052d3f20cf885f dffc41848ccafa96e71b8b4796b006c77b1df9887ec8521570cfe523612bf24703f75f1693b84ca59d353bb28df71b2a +SERVER_TRAFFIC_SECRET_0 1bd6fc479297198c3d45841abd130c0b370f0ada7859d4c426052d3f20cf885f 5243db551d7d5540df86c446866be4018c6984d51c621bc1da8ba4a15b3ad8c42798fee7ee75862a97222d823fe90ad7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5902e0f41e9ad465068c9d8c1e0ea1b792cca09112a20382726fbc0f60ea265f 5c2c8ea03c606164238d9252480d2d932dae4addc88a0db698cd21ad677a9680a3dfcc64807abdfbdf38953df9345a3c +SERVER_HANDSHAKE_TRAFFIC_SECRET 5902e0f41e9ad465068c9d8c1e0ea1b792cca09112a20382726fbc0f60ea265f 8c84947a0d66029c2ac921c728d6de029d6e4622659bcd2a63118280dd28fb591da54a9113475e1d6423cda458fe9a75 +CLIENT_TRAFFIC_SECRET_0 5902e0f41e9ad465068c9d8c1e0ea1b792cca09112a20382726fbc0f60ea265f 462c66f5ba6a994d98d7ff903dc57dc49b5bbc8166b035ee0088333293b4cb9d98c01996329f33758d2e162ca2de45da +SERVER_TRAFFIC_SECRET_0 5902e0f41e9ad465068c9d8c1e0ea1b792cca09112a20382726fbc0f60ea265f 6866db6d2d17bf9f969ad8a3158cac743cbf6d79b879fdbd7bbf808505ad07409963f6ed134a3de199504ac1208ba859 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5902e0f41e9ad465068c9d8c1e0ea1b792cca09112a20382726fbc0f60ea265f 5c2c8ea03c606164238d9252480d2d932dae4addc88a0db698cd21ad677a9680a3dfcc64807abdfbdf38953df9345a3c +SERVER_HANDSHAKE_TRAFFIC_SECRET 5902e0f41e9ad465068c9d8c1e0ea1b792cca09112a20382726fbc0f60ea265f 8c84947a0d66029c2ac921c728d6de029d6e4622659bcd2a63118280dd28fb591da54a9113475e1d6423cda458fe9a75 +CLIENT_TRAFFIC_SECRET_0 5902e0f41e9ad465068c9d8c1e0ea1b792cca09112a20382726fbc0f60ea265f 462c66f5ba6a994d98d7ff903dc57dc49b5bbc8166b035ee0088333293b4cb9d98c01996329f33758d2e162ca2de45da +SERVER_TRAFFIC_SECRET_0 5902e0f41e9ad465068c9d8c1e0ea1b792cca09112a20382726fbc0f60ea265f 6866db6d2d17bf9f969ad8a3158cac743cbf6d79b879fdbd7bbf808505ad07409963f6ed134a3de199504ac1208ba859 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 039e66472b0a57d1724cf5cba026ad8416bf6a69e272fcaf7f4b27df8605bff8 82e356e4eee75931a2a3012cf1a6d141c733b276afc8555f242c6c34cb9ae317116171d0f391cc13079c7c7f8ee68249 +SERVER_HANDSHAKE_TRAFFIC_SECRET 039e66472b0a57d1724cf5cba026ad8416bf6a69e272fcaf7f4b27df8605bff8 7284b5e82b907d80621aa769030c63f017e4ded2819eca67719511183ba9a503888ac4ab63a9cd25552e4e04f89ab444 +CLIENT_TRAFFIC_SECRET_0 039e66472b0a57d1724cf5cba026ad8416bf6a69e272fcaf7f4b27df8605bff8 f0241cd33bbdea0e448cec4f4d8c03e3b00a623261c775abe0fcdea9e77b82ca5aa7477dfae5c93fc176d5978aa59615 +SERVER_TRAFFIC_SECRET_0 039e66472b0a57d1724cf5cba026ad8416bf6a69e272fcaf7f4b27df8605bff8 73467d0745f4807f727509126acec6b79c0f642cdf4797e5f1229b8f072bbb465540d1fb0560376e897e94138c05c406 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 039e66472b0a57d1724cf5cba026ad8416bf6a69e272fcaf7f4b27df8605bff8 82e356e4eee75931a2a3012cf1a6d141c733b276afc8555f242c6c34cb9ae317116171d0f391cc13079c7c7f8ee68249 +SERVER_HANDSHAKE_TRAFFIC_SECRET 039e66472b0a57d1724cf5cba026ad8416bf6a69e272fcaf7f4b27df8605bff8 7284b5e82b907d80621aa769030c63f017e4ded2819eca67719511183ba9a503888ac4ab63a9cd25552e4e04f89ab444 +CLIENT_TRAFFIC_SECRET_0 039e66472b0a57d1724cf5cba026ad8416bf6a69e272fcaf7f4b27df8605bff8 f0241cd33bbdea0e448cec4f4d8c03e3b00a623261c775abe0fcdea9e77b82ca5aa7477dfae5c93fc176d5978aa59615 +SERVER_TRAFFIC_SECRET_0 039e66472b0a57d1724cf5cba026ad8416bf6a69e272fcaf7f4b27df8605bff8 73467d0745f4807f727509126acec6b79c0f642cdf4797e5f1229b8f072bbb465540d1fb0560376e897e94138c05c406 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c01284354cebf6def9e32b490479d251dcdfaf8a55101a02c198401c84fb4b76 96a8ef5c27a303c9f3b84169c6cf09eca439379bd93a84d649095946de5d2214002139e9f0c1da5e4725b471beb3b8f3 +SERVER_HANDSHAKE_TRAFFIC_SECRET c01284354cebf6def9e32b490479d251dcdfaf8a55101a02c198401c84fb4b76 f7ed3fce4f7b722108d07293d35cae418f48ef75f2e8eb41a11874beb868955b9a3ef811e9bcefa7f0f3cc9480ea225c +CLIENT_TRAFFIC_SECRET_0 c01284354cebf6def9e32b490479d251dcdfaf8a55101a02c198401c84fb4b76 837fc8740962d7e58589dd1df2614537e6017359f34bf3866aa3df56b258b92fb48c6dbee08996a9db0543f3ab1038e4 +SERVER_TRAFFIC_SECRET_0 c01284354cebf6def9e32b490479d251dcdfaf8a55101a02c198401c84fb4b76 2197510e213c007d58f2874a3e002b27f6c83ea34e7602c4b8e318b1fb7afbbe0b88122fee127101595a2577bbf78d32 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c01284354cebf6def9e32b490479d251dcdfaf8a55101a02c198401c84fb4b76 96a8ef5c27a303c9f3b84169c6cf09eca439379bd93a84d649095946de5d2214002139e9f0c1da5e4725b471beb3b8f3 +SERVER_HANDSHAKE_TRAFFIC_SECRET c01284354cebf6def9e32b490479d251dcdfaf8a55101a02c198401c84fb4b76 f7ed3fce4f7b722108d07293d35cae418f48ef75f2e8eb41a11874beb868955b9a3ef811e9bcefa7f0f3cc9480ea225c +CLIENT_TRAFFIC_SECRET_0 c01284354cebf6def9e32b490479d251dcdfaf8a55101a02c198401c84fb4b76 837fc8740962d7e58589dd1df2614537e6017359f34bf3866aa3df56b258b92fb48c6dbee08996a9db0543f3ab1038e4 +SERVER_TRAFFIC_SECRET_0 c01284354cebf6def9e32b490479d251dcdfaf8a55101a02c198401c84fb4b76 2197510e213c007d58f2874a3e002b27f6c83ea34e7602c4b8e318b1fb7afbbe0b88122fee127101595a2577bbf78d32 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4f07be733103afef74da8541253ad6ff359604d5b5f4c44f2f7f900fb4c323d9 0de9b24a6a85c0ae2d2de906e0fbb95d59f2cdc9961a2184c2ac2ea15af650ed928affe01ddb0ae03f8ffc6fd9941d63 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4f07be733103afef74da8541253ad6ff359604d5b5f4c44f2f7f900fb4c323d9 d7fc8ea667aeb052f48f4e9f99aadb4f13280d76b565413c3cf59a6b47502547b52e98b6de2646c6365fd40b068d5603 +CLIENT_TRAFFIC_SECRET_0 4f07be733103afef74da8541253ad6ff359604d5b5f4c44f2f7f900fb4c323d9 973577ea751481b605cfb6c54594175ab596ec0d72a5f02651812a1685389062dc1e51d5bd5f16cd7c5a683a0eb66c2a +SERVER_TRAFFIC_SECRET_0 4f07be733103afef74da8541253ad6ff359604d5b5f4c44f2f7f900fb4c323d9 cff879715bd79a4ebdc47c4c3a7f66e945ddeb2dd71db64b4242f61d301b1ea21cc00849812e4d9c80b887f6716468d3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4f07be733103afef74da8541253ad6ff359604d5b5f4c44f2f7f900fb4c323d9 0de9b24a6a85c0ae2d2de906e0fbb95d59f2cdc9961a2184c2ac2ea15af650ed928affe01ddb0ae03f8ffc6fd9941d63 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4f07be733103afef74da8541253ad6ff359604d5b5f4c44f2f7f900fb4c323d9 d7fc8ea667aeb052f48f4e9f99aadb4f13280d76b565413c3cf59a6b47502547b52e98b6de2646c6365fd40b068d5603 +CLIENT_TRAFFIC_SECRET_0 4f07be733103afef74da8541253ad6ff359604d5b5f4c44f2f7f900fb4c323d9 973577ea751481b605cfb6c54594175ab596ec0d72a5f02651812a1685389062dc1e51d5bd5f16cd7c5a683a0eb66c2a +SERVER_TRAFFIC_SECRET_0 4f07be733103afef74da8541253ad6ff359604d5b5f4c44f2f7f900fb4c323d9 cff879715bd79a4ebdc47c4c3a7f66e945ddeb2dd71db64b4242f61d301b1ea21cc00849812e4d9c80b887f6716468d3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 82011f9b0247c11b9150fc432e65b4dde7eb5fe301676619a2c35a57930b3366 5acdb8d812e286f47f5d76041ea008b02af3a7dcfbddbd8b7fb4e53644bcc145121e94aa033db8e5cd1caf6c07c876f1 +SERVER_HANDSHAKE_TRAFFIC_SECRET 82011f9b0247c11b9150fc432e65b4dde7eb5fe301676619a2c35a57930b3366 5d3bc42a29fce6b9bd16eb6e2577fd02c6b50a376f31765578bedb96c688bebfef4e5d94046348f1ca99853afff89b5f +CLIENT_TRAFFIC_SECRET_0 82011f9b0247c11b9150fc432e65b4dde7eb5fe301676619a2c35a57930b3366 71b340c8dba9949c34c1963e4d3f2da1ad841a60391cbd0d44a47d9fb30877d4196d87a0f694c9a5ddd16fa7785fc1ea +SERVER_TRAFFIC_SECRET_0 82011f9b0247c11b9150fc432e65b4dde7eb5fe301676619a2c35a57930b3366 39d3cbafb0b5dea6ad1887c29a6ccc52436dd3e4983d88b8c228e45aa7480a85e6ee5294ac37ec2feaf8d83f30e66ea7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 82011f9b0247c11b9150fc432e65b4dde7eb5fe301676619a2c35a57930b3366 5acdb8d812e286f47f5d76041ea008b02af3a7dcfbddbd8b7fb4e53644bcc145121e94aa033db8e5cd1caf6c07c876f1 +SERVER_HANDSHAKE_TRAFFIC_SECRET 82011f9b0247c11b9150fc432e65b4dde7eb5fe301676619a2c35a57930b3366 5d3bc42a29fce6b9bd16eb6e2577fd02c6b50a376f31765578bedb96c688bebfef4e5d94046348f1ca99853afff89b5f +CLIENT_TRAFFIC_SECRET_0 82011f9b0247c11b9150fc432e65b4dde7eb5fe301676619a2c35a57930b3366 71b340c8dba9949c34c1963e4d3f2da1ad841a60391cbd0d44a47d9fb30877d4196d87a0f694c9a5ddd16fa7785fc1ea +SERVER_TRAFFIC_SECRET_0 82011f9b0247c11b9150fc432e65b4dde7eb5fe301676619a2c35a57930b3366 39d3cbafb0b5dea6ad1887c29a6ccc52436dd3e4983d88b8c228e45aa7480a85e6ee5294ac37ec2feaf8d83f30e66ea7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 60e7d1132ea3a141f117f08b4628482a67ae0ea0071f5adaf74afa9bd1d9c72c f0c003bf8e377db93d308133b81708a109949cd1fee00b30f60eb79472c101de23ca48f237b332599712daec6ca34d97 +SERVER_HANDSHAKE_TRAFFIC_SECRET 60e7d1132ea3a141f117f08b4628482a67ae0ea0071f5adaf74afa9bd1d9c72c 8830f18cb814c14b52bac743e7c9ee5da835b04584d4cce5244d1ef7caa12215e8b60ceb4c2f6f2214f814f4c6fb36b7 +CLIENT_TRAFFIC_SECRET_0 60e7d1132ea3a141f117f08b4628482a67ae0ea0071f5adaf74afa9bd1d9c72c da31f7d477b89814b632dd000e17586bfff66f29d4e4568f61dd21a61e15f8ace98a3440470f9c85083d893feb7d1715 +SERVER_TRAFFIC_SECRET_0 60e7d1132ea3a141f117f08b4628482a67ae0ea0071f5adaf74afa9bd1d9c72c de3deb46978cb354d34bf34f832951a5de556750a5ccbaab2b76cd6d557fbca11c2a2e8fd18b6857e39264e4c909f281 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 60e7d1132ea3a141f117f08b4628482a67ae0ea0071f5adaf74afa9bd1d9c72c f0c003bf8e377db93d308133b81708a109949cd1fee00b30f60eb79472c101de23ca48f237b332599712daec6ca34d97 +SERVER_HANDSHAKE_TRAFFIC_SECRET 60e7d1132ea3a141f117f08b4628482a67ae0ea0071f5adaf74afa9bd1d9c72c 8830f18cb814c14b52bac743e7c9ee5da835b04584d4cce5244d1ef7caa12215e8b60ceb4c2f6f2214f814f4c6fb36b7 +CLIENT_TRAFFIC_SECRET_0 60e7d1132ea3a141f117f08b4628482a67ae0ea0071f5adaf74afa9bd1d9c72c da31f7d477b89814b632dd000e17586bfff66f29d4e4568f61dd21a61e15f8ace98a3440470f9c85083d893feb7d1715 +SERVER_TRAFFIC_SECRET_0 60e7d1132ea3a141f117f08b4628482a67ae0ea0071f5adaf74afa9bd1d9c72c de3deb46978cb354d34bf34f832951a5de556750a5ccbaab2b76cd6d557fbca11c2a2e8fd18b6857e39264e4c909f281 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c6377ccc72d763fd15062ac4e2744315337c05594b45ec42a2344c4cea41392a c5fb9835a05e8e067bcda68dd881b1fa8e42a141fb8c372d18e6228e49a13ef401f455d95b134640b21141108fd872b0 +SERVER_HANDSHAKE_TRAFFIC_SECRET c6377ccc72d763fd15062ac4e2744315337c05594b45ec42a2344c4cea41392a f59559a986c9023ed01998c93d36508a7aed1f05628f54fbf2bbe21edbb274d2855317376d28c32c3b4748b39341b223 +CLIENT_TRAFFIC_SECRET_0 c6377ccc72d763fd15062ac4e2744315337c05594b45ec42a2344c4cea41392a dbb5c73e9a0b77b235f58d9e96428b2c7f35f36a5fae38eb89c9841d30d9cf5eae4567af5ac610ea29f95cec048baeaf +SERVER_TRAFFIC_SECRET_0 c6377ccc72d763fd15062ac4e2744315337c05594b45ec42a2344c4cea41392a c3e23d658791ce650710476708f8677e9acb7e39218fa02524ab3e86a70fe5c713329328e8b8064cca4b291db907d2b6 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c6377ccc72d763fd15062ac4e2744315337c05594b45ec42a2344c4cea41392a c5fb9835a05e8e067bcda68dd881b1fa8e42a141fb8c372d18e6228e49a13ef401f455d95b134640b21141108fd872b0 +SERVER_HANDSHAKE_TRAFFIC_SECRET c6377ccc72d763fd15062ac4e2744315337c05594b45ec42a2344c4cea41392a f59559a986c9023ed01998c93d36508a7aed1f05628f54fbf2bbe21edbb274d2855317376d28c32c3b4748b39341b223 +CLIENT_TRAFFIC_SECRET_0 c6377ccc72d763fd15062ac4e2744315337c05594b45ec42a2344c4cea41392a dbb5c73e9a0b77b235f58d9e96428b2c7f35f36a5fae38eb89c9841d30d9cf5eae4567af5ac610ea29f95cec048baeaf +SERVER_TRAFFIC_SECRET_0 c6377ccc72d763fd15062ac4e2744315337c05594b45ec42a2344c4cea41392a c3e23d658791ce650710476708f8677e9acb7e39218fa02524ab3e86a70fe5c713329328e8b8064cca4b291db907d2b6 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c25c7765081bfdc12342b1afc4a99793c80891d6b86287d6c4c63a43ded25f20 00efedcf846344cd4eb9c22164f33f4a299595348f2eb7e22018415797defeac4f53b9a83452e9d60d7185b678da57bb +SERVER_HANDSHAKE_TRAFFIC_SECRET c25c7765081bfdc12342b1afc4a99793c80891d6b86287d6c4c63a43ded25f20 116bbabaa27580af5500fe061a670117946f32e10b898ea88e79bffcf5c2cece41adf74d2a4d10483a6ed397208c94ba +CLIENT_TRAFFIC_SECRET_0 c25c7765081bfdc12342b1afc4a99793c80891d6b86287d6c4c63a43ded25f20 f6c5e2d6c8e0223ac60493c0a4ffc470ddf68973e782ae001e8fc8a7acc074a37a26ff64f92bed7e008ad084e465450e +SERVER_TRAFFIC_SECRET_0 c25c7765081bfdc12342b1afc4a99793c80891d6b86287d6c4c63a43ded25f20 a952d78608c1b6d32ced865c24bb5fb16dad5139da948e95adb1427ca643669d1df749c7e65eaf0bd90998d6a082e537 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c25c7765081bfdc12342b1afc4a99793c80891d6b86287d6c4c63a43ded25f20 00efedcf846344cd4eb9c22164f33f4a299595348f2eb7e22018415797defeac4f53b9a83452e9d60d7185b678da57bb +SERVER_HANDSHAKE_TRAFFIC_SECRET c25c7765081bfdc12342b1afc4a99793c80891d6b86287d6c4c63a43ded25f20 116bbabaa27580af5500fe061a670117946f32e10b898ea88e79bffcf5c2cece41adf74d2a4d10483a6ed397208c94ba +CLIENT_TRAFFIC_SECRET_0 c25c7765081bfdc12342b1afc4a99793c80891d6b86287d6c4c63a43ded25f20 f6c5e2d6c8e0223ac60493c0a4ffc470ddf68973e782ae001e8fc8a7acc074a37a26ff64f92bed7e008ad084e465450e +SERVER_TRAFFIC_SECRET_0 c25c7765081bfdc12342b1afc4a99793c80891d6b86287d6c4c63a43ded25f20 a952d78608c1b6d32ced865c24bb5fb16dad5139da948e95adb1427ca643669d1df749c7e65eaf0bd90998d6a082e537 +CLIENT_HANDSHAKE_TRAFFIC_SECRET bb558eb268ee49eb1050f8e61cce9b60d8a9409d16a072a450d96f0781683036 1f99159c922d1682ecdcfbf2a33dbe8e05bfc24762c4a42f8a738fe78b9369282b91267f3812cec1d217986355d73007 +SERVER_HANDSHAKE_TRAFFIC_SECRET bb558eb268ee49eb1050f8e61cce9b60d8a9409d16a072a450d96f0781683036 7f887502412738f2f0aea303e35a8b69992295342ec0c7c692ca062ba5daabc1cdfe6a2a28ebb1a3e995e17cac931ecd +CLIENT_TRAFFIC_SECRET_0 bb558eb268ee49eb1050f8e61cce9b60d8a9409d16a072a450d96f0781683036 63423676cbf35b7b4b79cca03d401b50014b8fa1d53dfc91d1945514e6d200a2006da5bfe47eb610e6ae2e739a5ae5eb +SERVER_TRAFFIC_SECRET_0 bb558eb268ee49eb1050f8e61cce9b60d8a9409d16a072a450d96f0781683036 f9249b1c317284c4ea47d10eb91f5e8ba8648823a3df18d0024fdb029e95156cabe7860941e015f6b6052798f0aa45a8 +CLIENT_HANDSHAKE_TRAFFIC_SECRET bb558eb268ee49eb1050f8e61cce9b60d8a9409d16a072a450d96f0781683036 1f99159c922d1682ecdcfbf2a33dbe8e05bfc24762c4a42f8a738fe78b9369282b91267f3812cec1d217986355d73007 +SERVER_HANDSHAKE_TRAFFIC_SECRET bb558eb268ee49eb1050f8e61cce9b60d8a9409d16a072a450d96f0781683036 7f887502412738f2f0aea303e35a8b69992295342ec0c7c692ca062ba5daabc1cdfe6a2a28ebb1a3e995e17cac931ecd +CLIENT_TRAFFIC_SECRET_0 bb558eb268ee49eb1050f8e61cce9b60d8a9409d16a072a450d96f0781683036 63423676cbf35b7b4b79cca03d401b50014b8fa1d53dfc91d1945514e6d200a2006da5bfe47eb610e6ae2e739a5ae5eb +SERVER_TRAFFIC_SECRET_0 bb558eb268ee49eb1050f8e61cce9b60d8a9409d16a072a450d96f0781683036 f9249b1c317284c4ea47d10eb91f5e8ba8648823a3df18d0024fdb029e95156cabe7860941e015f6b6052798f0aa45a8 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 94fe451372ab7f75d93033441c6266bfff2b2840dd520b76ff66a5016c592528 a295e6c46545fb2a355a425b31aa1c62a5ce11494c2f1225047f8688b7adfa124e9991e8485a408a8e124770f6e05677 +SERVER_HANDSHAKE_TRAFFIC_SECRET 94fe451372ab7f75d93033441c6266bfff2b2840dd520b76ff66a5016c592528 551766009bbc2b8c55e0179cd73ef2cb4c9467dcd309cf8e489e3d40cdbfca4b0afc092becb9fdb004de25ac9a745a16 +CLIENT_TRAFFIC_SECRET_0 94fe451372ab7f75d93033441c6266bfff2b2840dd520b76ff66a5016c592528 f77555f088ce09c8c2e07fdef4cc88951f116b601a103bd0c6225ddc22746dae96471a0496775c70f0a245122a003c63 +SERVER_TRAFFIC_SECRET_0 94fe451372ab7f75d93033441c6266bfff2b2840dd520b76ff66a5016c592528 66a22e90d91328e197b8b526c2e36665727b6230bad6879e47cbb9649994fdafe84a9b76d479e89148c5a77a53727a03 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 94fe451372ab7f75d93033441c6266bfff2b2840dd520b76ff66a5016c592528 a295e6c46545fb2a355a425b31aa1c62a5ce11494c2f1225047f8688b7adfa124e9991e8485a408a8e124770f6e05677 +SERVER_HANDSHAKE_TRAFFIC_SECRET 94fe451372ab7f75d93033441c6266bfff2b2840dd520b76ff66a5016c592528 551766009bbc2b8c55e0179cd73ef2cb4c9467dcd309cf8e489e3d40cdbfca4b0afc092becb9fdb004de25ac9a745a16 +CLIENT_TRAFFIC_SECRET_0 94fe451372ab7f75d93033441c6266bfff2b2840dd520b76ff66a5016c592528 f77555f088ce09c8c2e07fdef4cc88951f116b601a103bd0c6225ddc22746dae96471a0496775c70f0a245122a003c63 +SERVER_TRAFFIC_SECRET_0 94fe451372ab7f75d93033441c6266bfff2b2840dd520b76ff66a5016c592528 66a22e90d91328e197b8b526c2e36665727b6230bad6879e47cbb9649994fdafe84a9b76d479e89148c5a77a53727a03 +CLIENT_HANDSHAKE_TRAFFIC_SECRET bf586de4ace218ca39d8f3731e70533f86d6f32a282b6b4667544a24b60eb2b1 3452e85a1333406ae37a6d70b041129d161ca370e3859548788c3648c3d6b819995a546c1ba498e42c192d6411e14b51 +SERVER_HANDSHAKE_TRAFFIC_SECRET bf586de4ace218ca39d8f3731e70533f86d6f32a282b6b4667544a24b60eb2b1 201201ad1d2e00f5aebf5587e32afc63c74ecd7ea3bdad3caff673f84dc0782c061ac035ac05a7e492f9da3955beb825 +CLIENT_TRAFFIC_SECRET_0 bf586de4ace218ca39d8f3731e70533f86d6f32a282b6b4667544a24b60eb2b1 2cf351e46e27332f4d88f21799a438d17a37d26ec90ada50e85c087f48b35761b07938a13c8a7cc9a51a73b484bb445c +SERVER_TRAFFIC_SECRET_0 bf586de4ace218ca39d8f3731e70533f86d6f32a282b6b4667544a24b60eb2b1 8da2ed96012d99797cc526cd879de02e625ac89235a964d6724938f338c5cd42e3b3ffac07c51b580e4351a5dd9fb27b +CLIENT_HANDSHAKE_TRAFFIC_SECRET bf586de4ace218ca39d8f3731e70533f86d6f32a282b6b4667544a24b60eb2b1 3452e85a1333406ae37a6d70b041129d161ca370e3859548788c3648c3d6b819995a546c1ba498e42c192d6411e14b51 +SERVER_HANDSHAKE_TRAFFIC_SECRET bf586de4ace218ca39d8f3731e70533f86d6f32a282b6b4667544a24b60eb2b1 201201ad1d2e00f5aebf5587e32afc63c74ecd7ea3bdad3caff673f84dc0782c061ac035ac05a7e492f9da3955beb825 +CLIENT_TRAFFIC_SECRET_0 bf586de4ace218ca39d8f3731e70533f86d6f32a282b6b4667544a24b60eb2b1 2cf351e46e27332f4d88f21799a438d17a37d26ec90ada50e85c087f48b35761b07938a13c8a7cc9a51a73b484bb445c +SERVER_TRAFFIC_SECRET_0 bf586de4ace218ca39d8f3731e70533f86d6f32a282b6b4667544a24b60eb2b1 8da2ed96012d99797cc526cd879de02e625ac89235a964d6724938f338c5cd42e3b3ffac07c51b580e4351a5dd9fb27b +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8b0cd48006c5b908ba2ec90fd74e5c380d20b24d8d3050669c1d942b175a7596 7aca0572e9bf9f8ed7ca68ee81aec24b905a76048de33173deb008ad2c537ba4f0167a1e0cefdd1fe463fc771d04bc64 +SERVER_HANDSHAKE_TRAFFIC_SECRET 8b0cd48006c5b908ba2ec90fd74e5c380d20b24d8d3050669c1d942b175a7596 66c09eae2a27153be23ba54cf32c392766e09fb4a282a8daf0554762e1b3a338de0be74a6fd13b511f0b2e61d00b6f35 +CLIENT_TRAFFIC_SECRET_0 8b0cd48006c5b908ba2ec90fd74e5c380d20b24d8d3050669c1d942b175a7596 3a3b6bb342943e2782312a04efc51557bdf017304c463db52e2a605fb7672c647befb574f7f7c6a3309dcc3b7afbefce +SERVER_TRAFFIC_SECRET_0 8b0cd48006c5b908ba2ec90fd74e5c380d20b24d8d3050669c1d942b175a7596 4d3d4f0a866c7471a7a95b3e8a71061b1fc900a399ef1fde5d513c21450c1bbcfeb82b953468dc20ac7edbb1625698dc +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8b0cd48006c5b908ba2ec90fd74e5c380d20b24d8d3050669c1d942b175a7596 7aca0572e9bf9f8ed7ca68ee81aec24b905a76048de33173deb008ad2c537ba4f0167a1e0cefdd1fe463fc771d04bc64 +SERVER_HANDSHAKE_TRAFFIC_SECRET 8b0cd48006c5b908ba2ec90fd74e5c380d20b24d8d3050669c1d942b175a7596 66c09eae2a27153be23ba54cf32c392766e09fb4a282a8daf0554762e1b3a338de0be74a6fd13b511f0b2e61d00b6f35 +CLIENT_TRAFFIC_SECRET_0 8b0cd48006c5b908ba2ec90fd74e5c380d20b24d8d3050669c1d942b175a7596 3a3b6bb342943e2782312a04efc51557bdf017304c463db52e2a605fb7672c647befb574f7f7c6a3309dcc3b7afbefce +SERVER_TRAFFIC_SECRET_0 8b0cd48006c5b908ba2ec90fd74e5c380d20b24d8d3050669c1d942b175a7596 4d3d4f0a866c7471a7a95b3e8a71061b1fc900a399ef1fde5d513c21450c1bbcfeb82b953468dc20ac7edbb1625698dc +CLIENT_HANDSHAKE_TRAFFIC_SECRET 65decb52de317515a2572318befa6861d7935544338ee5b4114ef74ba09ee84f fad3c01f0c482fd053a4afca2e880ce5715a31ac49b4c8e579f0c9850e281332a54545fb6c1bd9dcebd953477b0ca5a4 +SERVER_HANDSHAKE_TRAFFIC_SECRET 65decb52de317515a2572318befa6861d7935544338ee5b4114ef74ba09ee84f db686670061aae1c6d4f060f28ed75c39920028256f563858b4b0da1fb247ad2267635b4dffcff79413658876caac585 +CLIENT_TRAFFIC_SECRET_0 65decb52de317515a2572318befa6861d7935544338ee5b4114ef74ba09ee84f e88a557a3417aed744596f5d83ea4349deadded1b7dd65b79f58695b48fbb9ad368727e11534c5e4a7dfa28e2cc1707b +SERVER_TRAFFIC_SECRET_0 65decb52de317515a2572318befa6861d7935544338ee5b4114ef74ba09ee84f 9ea46c8417a6ac36aadfb05c40f8309fd38eb3572c09dcd19ddd755866e262a379075bee8c68cab7db552d64d526d781 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 65decb52de317515a2572318befa6861d7935544338ee5b4114ef74ba09ee84f fad3c01f0c482fd053a4afca2e880ce5715a31ac49b4c8e579f0c9850e281332a54545fb6c1bd9dcebd953477b0ca5a4 +SERVER_HANDSHAKE_TRAFFIC_SECRET 65decb52de317515a2572318befa6861d7935544338ee5b4114ef74ba09ee84f db686670061aae1c6d4f060f28ed75c39920028256f563858b4b0da1fb247ad2267635b4dffcff79413658876caac585 +CLIENT_TRAFFIC_SECRET_0 65decb52de317515a2572318befa6861d7935544338ee5b4114ef74ba09ee84f e88a557a3417aed744596f5d83ea4349deadded1b7dd65b79f58695b48fbb9ad368727e11534c5e4a7dfa28e2cc1707b +SERVER_TRAFFIC_SECRET_0 65decb52de317515a2572318befa6861d7935544338ee5b4114ef74ba09ee84f 9ea46c8417a6ac36aadfb05c40f8309fd38eb3572c09dcd19ddd755866e262a379075bee8c68cab7db552d64d526d781 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9edbcf86f14d604be2c6496f2c246eabbcbca753b0e1937cc74443b70c28c802 595748c2db45d5afb41ba18f5be764086608a9629a478b83ee7e6ba40479be0048e24f951bce9bb85ec1f1f8c4033dfd +SERVER_HANDSHAKE_TRAFFIC_SECRET 9edbcf86f14d604be2c6496f2c246eabbcbca753b0e1937cc74443b70c28c802 3bb900ac4fe2f77de75031ef9026ae677ff4e55ad90c5a2e8d567d9a1cb9412d118a160ffe9a19070f36c35a552de377 +CLIENT_TRAFFIC_SECRET_0 9edbcf86f14d604be2c6496f2c246eabbcbca753b0e1937cc74443b70c28c802 ab0b19c143a2f3e3332b95d09f2514d4ee69aaadca67914178c440176a03c3011273f87ef2613ffa66c44c21f5d24dc8 +SERVER_TRAFFIC_SECRET_0 9edbcf86f14d604be2c6496f2c246eabbcbca753b0e1937cc74443b70c28c802 ec8bcbf3c730206921f66bb3e4fdae2374e04548fad544f9adbb0e359b6beeca062353ed70ecd8632ce78c967b84d3c7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9edbcf86f14d604be2c6496f2c246eabbcbca753b0e1937cc74443b70c28c802 595748c2db45d5afb41ba18f5be764086608a9629a478b83ee7e6ba40479be0048e24f951bce9bb85ec1f1f8c4033dfd +SERVER_HANDSHAKE_TRAFFIC_SECRET 9edbcf86f14d604be2c6496f2c246eabbcbca753b0e1937cc74443b70c28c802 3bb900ac4fe2f77de75031ef9026ae677ff4e55ad90c5a2e8d567d9a1cb9412d118a160ffe9a19070f36c35a552de377 +CLIENT_TRAFFIC_SECRET_0 9edbcf86f14d604be2c6496f2c246eabbcbca753b0e1937cc74443b70c28c802 ab0b19c143a2f3e3332b95d09f2514d4ee69aaadca67914178c440176a03c3011273f87ef2613ffa66c44c21f5d24dc8 +SERVER_TRAFFIC_SECRET_0 9edbcf86f14d604be2c6496f2c246eabbcbca753b0e1937cc74443b70c28c802 ec8bcbf3c730206921f66bb3e4fdae2374e04548fad544f9adbb0e359b6beeca062353ed70ecd8632ce78c967b84d3c7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET cce65447526f7d95cdada00e1cb976957e1d52e2b98906cb3a3dabe4b798cb6d 10ce8d42ad9271d35085c6c9d7409d6d564cb45b054b98d89e0c37137338a7739f2cdfd42eb13a7e296a2c5ba3a6f06a +SERVER_HANDSHAKE_TRAFFIC_SECRET cce65447526f7d95cdada00e1cb976957e1d52e2b98906cb3a3dabe4b798cb6d 0e6fcba67ff09bf363e8da7aa3f3a8b9c59b844ab43b6223be28374a7642b6f739918779423bbdf2005d41f193b1f24e +CLIENT_TRAFFIC_SECRET_0 cce65447526f7d95cdada00e1cb976957e1d52e2b98906cb3a3dabe4b798cb6d 7e8449526dee765731c16b4d5bcc48c015e523486b019052a891e76ed9e776dc9dc726f28bc719d33132864df35a333a +SERVER_TRAFFIC_SECRET_0 cce65447526f7d95cdada00e1cb976957e1d52e2b98906cb3a3dabe4b798cb6d d8047c940722fbf5e32405dc96c860585d0104ac36ea513d296ff7d38684ce1fd1570f144730ab4c45cf11688082cf3e +CLIENT_HANDSHAKE_TRAFFIC_SECRET cce65447526f7d95cdada00e1cb976957e1d52e2b98906cb3a3dabe4b798cb6d 10ce8d42ad9271d35085c6c9d7409d6d564cb45b054b98d89e0c37137338a7739f2cdfd42eb13a7e296a2c5ba3a6f06a +SERVER_HANDSHAKE_TRAFFIC_SECRET cce65447526f7d95cdada00e1cb976957e1d52e2b98906cb3a3dabe4b798cb6d 0e6fcba67ff09bf363e8da7aa3f3a8b9c59b844ab43b6223be28374a7642b6f739918779423bbdf2005d41f193b1f24e +CLIENT_TRAFFIC_SECRET_0 cce65447526f7d95cdada00e1cb976957e1d52e2b98906cb3a3dabe4b798cb6d 7e8449526dee765731c16b4d5bcc48c015e523486b019052a891e76ed9e776dc9dc726f28bc719d33132864df35a333a +SERVER_TRAFFIC_SECRET_0 cce65447526f7d95cdada00e1cb976957e1d52e2b98906cb3a3dabe4b798cb6d d8047c940722fbf5e32405dc96c860585d0104ac36ea513d296ff7d38684ce1fd1570f144730ab4c45cf11688082cf3e +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5c9bad6819a49760e55a81369e702de0c43e509423713eaefd6dcb0048a8165e 8be97202c2f86351e6df467d1ba1134cc15d192dda3030337d81598fe8744904d36105e187cd3008847974fa89ff56aa +SERVER_HANDSHAKE_TRAFFIC_SECRET 5c9bad6819a49760e55a81369e702de0c43e509423713eaefd6dcb0048a8165e 564f8410dee2182a0c6eeec56de4a8e26702535a37b8cbc73fb46256927e303f53aed5329017648b6edd83bd864502c5 +CLIENT_TRAFFIC_SECRET_0 5c9bad6819a49760e55a81369e702de0c43e509423713eaefd6dcb0048a8165e 9bb98c511aa1bca4271a68ebdec803c934bd395fa4606beebe40a7ee98c996a2d620d08200d9055fb31605269c1a0997 +SERVER_TRAFFIC_SECRET_0 5c9bad6819a49760e55a81369e702de0c43e509423713eaefd6dcb0048a8165e 3341e879c108b40d6bee7b68fa3be5967841d7a81e9c289ae5d98144b601659c596f213424a60776581002267bd92ea5 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5c9bad6819a49760e55a81369e702de0c43e509423713eaefd6dcb0048a8165e 8be97202c2f86351e6df467d1ba1134cc15d192dda3030337d81598fe8744904d36105e187cd3008847974fa89ff56aa +SERVER_HANDSHAKE_TRAFFIC_SECRET 5c9bad6819a49760e55a81369e702de0c43e509423713eaefd6dcb0048a8165e 564f8410dee2182a0c6eeec56de4a8e26702535a37b8cbc73fb46256927e303f53aed5329017648b6edd83bd864502c5 +CLIENT_TRAFFIC_SECRET_0 5c9bad6819a49760e55a81369e702de0c43e509423713eaefd6dcb0048a8165e 9bb98c511aa1bca4271a68ebdec803c934bd395fa4606beebe40a7ee98c996a2d620d08200d9055fb31605269c1a0997 +SERVER_TRAFFIC_SECRET_0 5c9bad6819a49760e55a81369e702de0c43e509423713eaefd6dcb0048a8165e 3341e879c108b40d6bee7b68fa3be5967841d7a81e9c289ae5d98144b601659c596f213424a60776581002267bd92ea5 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 727f03d26c7a465c999f37370376453b010c0f7e1d4df4eb27ff36bf392f1d79 d24ea400afa75082df9d47d0f6cb23a46ca56fe397e441a3884b7a843464cb24af22cab0dfb941238b40117d3ea67e68 +SERVER_HANDSHAKE_TRAFFIC_SECRET 727f03d26c7a465c999f37370376453b010c0f7e1d4df4eb27ff36bf392f1d79 dfdb5078d197433cd993b71cf83f235269fbd34dd10df1a5c0cef2622650a48dab1936a022557926d23f9421cb0cfc1d +CLIENT_TRAFFIC_SECRET_0 727f03d26c7a465c999f37370376453b010c0f7e1d4df4eb27ff36bf392f1d79 50e860455baa26669881fa42952f85153e179fd91b39b3c1b65aef44f2fc86092e58c40f7276d8e66bd5fefa2ef183db +SERVER_TRAFFIC_SECRET_0 727f03d26c7a465c999f37370376453b010c0f7e1d4df4eb27ff36bf392f1d79 4698412f3f72e79b73343ba540c007d3adfb2d8736bc84a1e18df98f7244b187e167c4390ebdc12ea41b1599b3a640f1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 727f03d26c7a465c999f37370376453b010c0f7e1d4df4eb27ff36bf392f1d79 d24ea400afa75082df9d47d0f6cb23a46ca56fe397e441a3884b7a843464cb24af22cab0dfb941238b40117d3ea67e68 +SERVER_HANDSHAKE_TRAFFIC_SECRET 727f03d26c7a465c999f37370376453b010c0f7e1d4df4eb27ff36bf392f1d79 dfdb5078d197433cd993b71cf83f235269fbd34dd10df1a5c0cef2622650a48dab1936a022557926d23f9421cb0cfc1d +CLIENT_TRAFFIC_SECRET_0 727f03d26c7a465c999f37370376453b010c0f7e1d4df4eb27ff36bf392f1d79 50e860455baa26669881fa42952f85153e179fd91b39b3c1b65aef44f2fc86092e58c40f7276d8e66bd5fefa2ef183db +SERVER_TRAFFIC_SECRET_0 727f03d26c7a465c999f37370376453b010c0f7e1d4df4eb27ff36bf392f1d79 4698412f3f72e79b73343ba540c007d3adfb2d8736bc84a1e18df98f7244b187e167c4390ebdc12ea41b1599b3a640f1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4abfcc1f94fa564574ba5f396684ed4d43e173183f9d6283b7a34ca9103c65e6 aac0ac2fe63621c2a80b2da0f773c011952a8f265181e47ea2e563aec21eb72afe9c608373bb821201eba92051c9855a +SERVER_HANDSHAKE_TRAFFIC_SECRET 4abfcc1f94fa564574ba5f396684ed4d43e173183f9d6283b7a34ca9103c65e6 0735996f94654e7cfb1d63b30982857ec7acb4a11842e7b63a1950489732d1567a9372cdfc6a5d832a3eea407658fd76 +CLIENT_TRAFFIC_SECRET_0 4abfcc1f94fa564574ba5f396684ed4d43e173183f9d6283b7a34ca9103c65e6 ac88e08e724c22f4c9b0f8e7c3985f2fb7f4cd7f462fac9e229bdb22f59a88f9de72af8ae60f7dc9f7e82cdbf8048360 +SERVER_TRAFFIC_SECRET_0 4abfcc1f94fa564574ba5f396684ed4d43e173183f9d6283b7a34ca9103c65e6 d45a1433cc26519b7ebaca446a06def93233a9cc6f1c6793742b12259b71954ead3032f96c67230ae7167292273949e1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4abfcc1f94fa564574ba5f396684ed4d43e173183f9d6283b7a34ca9103c65e6 aac0ac2fe63621c2a80b2da0f773c011952a8f265181e47ea2e563aec21eb72afe9c608373bb821201eba92051c9855a +SERVER_HANDSHAKE_TRAFFIC_SECRET 4abfcc1f94fa564574ba5f396684ed4d43e173183f9d6283b7a34ca9103c65e6 0735996f94654e7cfb1d63b30982857ec7acb4a11842e7b63a1950489732d1567a9372cdfc6a5d832a3eea407658fd76 +CLIENT_TRAFFIC_SECRET_0 4abfcc1f94fa564574ba5f396684ed4d43e173183f9d6283b7a34ca9103c65e6 ac88e08e724c22f4c9b0f8e7c3985f2fb7f4cd7f462fac9e229bdb22f59a88f9de72af8ae60f7dc9f7e82cdbf8048360 +SERVER_TRAFFIC_SECRET_0 4abfcc1f94fa564574ba5f396684ed4d43e173183f9d6283b7a34ca9103c65e6 d45a1433cc26519b7ebaca446a06def93233a9cc6f1c6793742b12259b71954ead3032f96c67230ae7167292273949e1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 78bc7e0f586bbac33d23e6ffb7f915083894e0ed04bd3e04de7ef1301d33cf83 dc9ac801198cf71d47b927faa3c5cbf6dcbf4d24e59e8b44ea370fa2b5e5d88bf19c9d07e53bf16711ac1646bb9fcbde +SERVER_HANDSHAKE_TRAFFIC_SECRET 78bc7e0f586bbac33d23e6ffb7f915083894e0ed04bd3e04de7ef1301d33cf83 b442753e0ebe8fc71846e77f5f970d63fa86fbe8962fabefc0d64493ee7a1141975e3d5253b6b9617c6d155f8a69f3dd +CLIENT_TRAFFIC_SECRET_0 78bc7e0f586bbac33d23e6ffb7f915083894e0ed04bd3e04de7ef1301d33cf83 d2716e5665004990b3b2234f0d5d635d18405ea0701ffe5c2534301e9f1aa8c82bdf8fa79b62c23f993afd49a82bc55b +SERVER_TRAFFIC_SECRET_0 78bc7e0f586bbac33d23e6ffb7f915083894e0ed04bd3e04de7ef1301d33cf83 856270f607b70659ae9fd8b3052c4e42f69203ae3e3fdaeb568abf2f1205755ad4ada36c790c185e92440fb36c981c99 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 78bc7e0f586bbac33d23e6ffb7f915083894e0ed04bd3e04de7ef1301d33cf83 dc9ac801198cf71d47b927faa3c5cbf6dcbf4d24e59e8b44ea370fa2b5e5d88bf19c9d07e53bf16711ac1646bb9fcbde +SERVER_HANDSHAKE_TRAFFIC_SECRET 78bc7e0f586bbac33d23e6ffb7f915083894e0ed04bd3e04de7ef1301d33cf83 b442753e0ebe8fc71846e77f5f970d63fa86fbe8962fabefc0d64493ee7a1141975e3d5253b6b9617c6d155f8a69f3dd +CLIENT_TRAFFIC_SECRET_0 78bc7e0f586bbac33d23e6ffb7f915083894e0ed04bd3e04de7ef1301d33cf83 d2716e5665004990b3b2234f0d5d635d18405ea0701ffe5c2534301e9f1aa8c82bdf8fa79b62c23f993afd49a82bc55b +SERVER_TRAFFIC_SECRET_0 78bc7e0f586bbac33d23e6ffb7f915083894e0ed04bd3e04de7ef1301d33cf83 856270f607b70659ae9fd8b3052c4e42f69203ae3e3fdaeb568abf2f1205755ad4ada36c790c185e92440fb36c981c99 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a88e6f0a6d12f2d68e2812095f91535a25dc4f2add1567885dc5b06a113068fe 910ba60958ad9957218a4eb72eebce2e31e6ceb2949be90464dc0e4a1190d4c4d39eb592b9ae2366579cd7f0a8232b06 +SERVER_HANDSHAKE_TRAFFIC_SECRET a88e6f0a6d12f2d68e2812095f91535a25dc4f2add1567885dc5b06a113068fe c11f005343e9134e73cb9fe4847f96ca3657129a93b317dddba54c24607df06080a9f9af8f75116aa5d2632fda13a852 +CLIENT_TRAFFIC_SECRET_0 a88e6f0a6d12f2d68e2812095f91535a25dc4f2add1567885dc5b06a113068fe 284c081032388a47acb3e628b6343d82681008a06a0b20eed1ebc68160d57e7cd8750c57ecce4e6c6ef154c9113d373f +SERVER_TRAFFIC_SECRET_0 a88e6f0a6d12f2d68e2812095f91535a25dc4f2add1567885dc5b06a113068fe 49fb7954af83823e7d42e8601fc1df02eb4dfc811ca4f7ad44359b79919532902c14f8c62f77da5be31402fb41d17a6e +CLIENT_HANDSHAKE_TRAFFIC_SECRET a88e6f0a6d12f2d68e2812095f91535a25dc4f2add1567885dc5b06a113068fe 910ba60958ad9957218a4eb72eebce2e31e6ceb2949be90464dc0e4a1190d4c4d39eb592b9ae2366579cd7f0a8232b06 +SERVER_HANDSHAKE_TRAFFIC_SECRET a88e6f0a6d12f2d68e2812095f91535a25dc4f2add1567885dc5b06a113068fe c11f005343e9134e73cb9fe4847f96ca3657129a93b317dddba54c24607df06080a9f9af8f75116aa5d2632fda13a852 +CLIENT_TRAFFIC_SECRET_0 a88e6f0a6d12f2d68e2812095f91535a25dc4f2add1567885dc5b06a113068fe 284c081032388a47acb3e628b6343d82681008a06a0b20eed1ebc68160d57e7cd8750c57ecce4e6c6ef154c9113d373f +SERVER_TRAFFIC_SECRET_0 a88e6f0a6d12f2d68e2812095f91535a25dc4f2add1567885dc5b06a113068fe 49fb7954af83823e7d42e8601fc1df02eb4dfc811ca4f7ad44359b79919532902c14f8c62f77da5be31402fb41d17a6e +CLIENT_HANDSHAKE_TRAFFIC_SECRET 35eee782cc8930c250a31bffc6aec0076926076ad33f6c968a32f2a1e0f92135 1d5e7054776901f34e2841cb3cce614c22d886764c71ab8557c2f659e74b4df63b9a3b091446ff05460dba4d758a68d1 +SERVER_HANDSHAKE_TRAFFIC_SECRET 35eee782cc8930c250a31bffc6aec0076926076ad33f6c968a32f2a1e0f92135 f58e4df17e038a86f6a3c68f543d6d8e065f71459b65f78558d8bf3a064f9f8b0216968a377717997ccb6220e046a10a +CLIENT_TRAFFIC_SECRET_0 35eee782cc8930c250a31bffc6aec0076926076ad33f6c968a32f2a1e0f92135 10f7b815ca580204be823c8ad35cea1d95c97cd0e547cff64a41bca267ba7228d95c61ed7c274dafe67ae3a3407fd102 +SERVER_TRAFFIC_SECRET_0 35eee782cc8930c250a31bffc6aec0076926076ad33f6c968a32f2a1e0f92135 01681e66a4b39ecd74f49449ef7d2acc0fdb3a03c8e955190ef09aa59638cca1be5415d3f3ed71e7818e744036b4a3e2 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 35eee782cc8930c250a31bffc6aec0076926076ad33f6c968a32f2a1e0f92135 1d5e7054776901f34e2841cb3cce614c22d886764c71ab8557c2f659e74b4df63b9a3b091446ff05460dba4d758a68d1 +SERVER_HANDSHAKE_TRAFFIC_SECRET 35eee782cc8930c250a31bffc6aec0076926076ad33f6c968a32f2a1e0f92135 f58e4df17e038a86f6a3c68f543d6d8e065f71459b65f78558d8bf3a064f9f8b0216968a377717997ccb6220e046a10a +CLIENT_TRAFFIC_SECRET_0 35eee782cc8930c250a31bffc6aec0076926076ad33f6c968a32f2a1e0f92135 10f7b815ca580204be823c8ad35cea1d95c97cd0e547cff64a41bca267ba7228d95c61ed7c274dafe67ae3a3407fd102 +SERVER_TRAFFIC_SECRET_0 35eee782cc8930c250a31bffc6aec0076926076ad33f6c968a32f2a1e0f92135 01681e66a4b39ecd74f49449ef7d2acc0fdb3a03c8e955190ef09aa59638cca1be5415d3f3ed71e7818e744036b4a3e2 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 55b9bb4b0821b9c96d965c8a1f0af00ad32b133ec1f7f8932affed28fd2a1008 099ade54bc2f9baf183a1f248007441c15d785b7336ebe17ac1cd1eca8f881fc4a589f9e54943782d6b3ac165705d241 +SERVER_HANDSHAKE_TRAFFIC_SECRET 55b9bb4b0821b9c96d965c8a1f0af00ad32b133ec1f7f8932affed28fd2a1008 ba6d1a84a94a332d9ccb9399f2b9d0033bf6242dbe82459eb42999a3b18c37dd0fc1e7e60b241f632665bbbde540795d +CLIENT_TRAFFIC_SECRET_0 55b9bb4b0821b9c96d965c8a1f0af00ad32b133ec1f7f8932affed28fd2a1008 8372910dbaa5da65b4edff68c003528c2da4f623ed3666663dcf4d2340c719be47d12b21f778547e4a907af58c0a7392 +SERVER_TRAFFIC_SECRET_0 55b9bb4b0821b9c96d965c8a1f0af00ad32b133ec1f7f8932affed28fd2a1008 0a3afb272e1f6d946574acc87890ca172cccf4d8207bc82bf11222f458b541590575c91d2e9f03a226b04e6d31e736e4 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 55b9bb4b0821b9c96d965c8a1f0af00ad32b133ec1f7f8932affed28fd2a1008 099ade54bc2f9baf183a1f248007441c15d785b7336ebe17ac1cd1eca8f881fc4a589f9e54943782d6b3ac165705d241 +SERVER_HANDSHAKE_TRAFFIC_SECRET 55b9bb4b0821b9c96d965c8a1f0af00ad32b133ec1f7f8932affed28fd2a1008 ba6d1a84a94a332d9ccb9399f2b9d0033bf6242dbe82459eb42999a3b18c37dd0fc1e7e60b241f632665bbbde540795d +CLIENT_TRAFFIC_SECRET_0 55b9bb4b0821b9c96d965c8a1f0af00ad32b133ec1f7f8932affed28fd2a1008 8372910dbaa5da65b4edff68c003528c2da4f623ed3666663dcf4d2340c719be47d12b21f778547e4a907af58c0a7392 +SERVER_TRAFFIC_SECRET_0 55b9bb4b0821b9c96d965c8a1f0af00ad32b133ec1f7f8932affed28fd2a1008 0a3afb272e1f6d946574acc87890ca172cccf4d8207bc82bf11222f458b541590575c91d2e9f03a226b04e6d31e736e4 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 45beea780ef77bda8c41ba403b933ebca07d861d67fbebae419a4213f0609f6d fb9306c676c5e4c6a2b4682bc030ebc515b95422d3016d4050eaa27211f9336a1f87c1a1fe5cdd1bc7edc7f53021a279 +SERVER_HANDSHAKE_TRAFFIC_SECRET 45beea780ef77bda8c41ba403b933ebca07d861d67fbebae419a4213f0609f6d d3442faf32d6692ccebe6a8f048a45a2b8052cc7d153077c25ef31326cca7b87d3ee12c3ac762ca8c4e58457bed98e58 +CLIENT_TRAFFIC_SECRET_0 45beea780ef77bda8c41ba403b933ebca07d861d67fbebae419a4213f0609f6d a72d8a3a4300efbb7169228f22f01bb20d1219ce0096cc26ea7c9513884f2b461c720b36fa5e349ea393f05b7824c8e8 +SERVER_TRAFFIC_SECRET_0 45beea780ef77bda8c41ba403b933ebca07d861d67fbebae419a4213f0609f6d e3d53200e36d03e78ea4d55ed61ecdf8b10263b15bed7e7b84878aa2e760dcc0e15fd2c61bbb3265c6ea7664934d65d3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 45beea780ef77bda8c41ba403b933ebca07d861d67fbebae419a4213f0609f6d fb9306c676c5e4c6a2b4682bc030ebc515b95422d3016d4050eaa27211f9336a1f87c1a1fe5cdd1bc7edc7f53021a279 +SERVER_HANDSHAKE_TRAFFIC_SECRET 45beea780ef77bda8c41ba403b933ebca07d861d67fbebae419a4213f0609f6d d3442faf32d6692ccebe6a8f048a45a2b8052cc7d153077c25ef31326cca7b87d3ee12c3ac762ca8c4e58457bed98e58 +CLIENT_TRAFFIC_SECRET_0 45beea780ef77bda8c41ba403b933ebca07d861d67fbebae419a4213f0609f6d a72d8a3a4300efbb7169228f22f01bb20d1219ce0096cc26ea7c9513884f2b461c720b36fa5e349ea393f05b7824c8e8 +SERVER_TRAFFIC_SECRET_0 45beea780ef77bda8c41ba403b933ebca07d861d67fbebae419a4213f0609f6d e3d53200e36d03e78ea4d55ed61ecdf8b10263b15bed7e7b84878aa2e760dcc0e15fd2c61bbb3265c6ea7664934d65d3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6c58708db16b1e41dc5fed66e3a8d921822020190c66790c14e4844b3d4c65d3 60a62770fe68c8a98023ff71190f93161b413ce5f6e9aceccb1417ad182f3f644de69a71c745cb9434887b7e31493f6b +SERVER_HANDSHAKE_TRAFFIC_SECRET 6c58708db16b1e41dc5fed66e3a8d921822020190c66790c14e4844b3d4c65d3 2e08b35bf6345e0cf8189819532069f96b9c963e8ce39dc94a76a404ce00552c55078c7acb1c4d48e172ffe39f33cde9 +CLIENT_TRAFFIC_SECRET_0 6c58708db16b1e41dc5fed66e3a8d921822020190c66790c14e4844b3d4c65d3 9bb12388f46d124f6905048851dff16aaa9331b40eec4b808d9c18b6287eea7d3f445e2c50a62f5bf46caa58aff5218f +SERVER_TRAFFIC_SECRET_0 6c58708db16b1e41dc5fed66e3a8d921822020190c66790c14e4844b3d4c65d3 68a4c6264eb982cd81184f89753cce962c8ccc9ab58492ea449a8060472bf21d65d77cf5f9091cf85a630e44b8f9f7d1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6c58708db16b1e41dc5fed66e3a8d921822020190c66790c14e4844b3d4c65d3 60a62770fe68c8a98023ff71190f93161b413ce5f6e9aceccb1417ad182f3f644de69a71c745cb9434887b7e31493f6b +SERVER_HANDSHAKE_TRAFFIC_SECRET 6c58708db16b1e41dc5fed66e3a8d921822020190c66790c14e4844b3d4c65d3 2e08b35bf6345e0cf8189819532069f96b9c963e8ce39dc94a76a404ce00552c55078c7acb1c4d48e172ffe39f33cde9 +CLIENT_TRAFFIC_SECRET_0 6c58708db16b1e41dc5fed66e3a8d921822020190c66790c14e4844b3d4c65d3 9bb12388f46d124f6905048851dff16aaa9331b40eec4b808d9c18b6287eea7d3f445e2c50a62f5bf46caa58aff5218f +SERVER_TRAFFIC_SECRET_0 6c58708db16b1e41dc5fed66e3a8d921822020190c66790c14e4844b3d4c65d3 68a4c6264eb982cd81184f89753cce962c8ccc9ab58492ea449a8060472bf21d65d77cf5f9091cf85a630e44b8f9f7d1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 57cf4bf9724e4b88b315f4cb0cfe2fe9cb477e0145dff5af556de1847234b02d 61ca06e3a4f7a05a382c8f5bffce788a3db46d27ae74639fdcac32b92010ed89fe33bb63e57c0bcb7ea8c773d443d029 +SERVER_HANDSHAKE_TRAFFIC_SECRET 57cf4bf9724e4b88b315f4cb0cfe2fe9cb477e0145dff5af556de1847234b02d 99f3132c2d71f0b14074537ad575255acf2ea52dbe6025db937b3935cd850f022febb2639b086d043129404ee5490fd1 +CLIENT_TRAFFIC_SECRET_0 57cf4bf9724e4b88b315f4cb0cfe2fe9cb477e0145dff5af556de1847234b02d cf9fab93add520c2cd8cc6ab2636f41d9bcdea1e35c1e003c5a1724344940629674530129345597ef6c6a8dadbdbb01e +SERVER_TRAFFIC_SECRET_0 57cf4bf9724e4b88b315f4cb0cfe2fe9cb477e0145dff5af556de1847234b02d 03407d3b383bf3043f28c94280dbee1c186f56784bcc5fa4fac2d5c5c0ab7ef691e656ffa25f742ef29697e9ccf83d47 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 57cf4bf9724e4b88b315f4cb0cfe2fe9cb477e0145dff5af556de1847234b02d 61ca06e3a4f7a05a382c8f5bffce788a3db46d27ae74639fdcac32b92010ed89fe33bb63e57c0bcb7ea8c773d443d029 +SERVER_HANDSHAKE_TRAFFIC_SECRET 57cf4bf9724e4b88b315f4cb0cfe2fe9cb477e0145dff5af556de1847234b02d 99f3132c2d71f0b14074537ad575255acf2ea52dbe6025db937b3935cd850f022febb2639b086d043129404ee5490fd1 +CLIENT_TRAFFIC_SECRET_0 57cf4bf9724e4b88b315f4cb0cfe2fe9cb477e0145dff5af556de1847234b02d cf9fab93add520c2cd8cc6ab2636f41d9bcdea1e35c1e003c5a1724344940629674530129345597ef6c6a8dadbdbb01e +SERVER_TRAFFIC_SECRET_0 57cf4bf9724e4b88b315f4cb0cfe2fe9cb477e0145dff5af556de1847234b02d 03407d3b383bf3043f28c94280dbee1c186f56784bcc5fa4fac2d5c5c0ab7ef691e656ffa25f742ef29697e9ccf83d47 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0b3addad723489ca7c532685c11fc3a2e1d33f2e4f475855cb175da02e2bd43e a39665eaa4f8a4cd5d7aa8c7526a6c02ea28ddae838b3b8ce406bd4aa2793bd4841eb3dbd95e316fffea8697707d67b4 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0b3addad723489ca7c532685c11fc3a2e1d33f2e4f475855cb175da02e2bd43e 1aadacd9f075aa82c99a6795c2c412fbf8487469e8f2209a72cf5b54f937408c41d0e9e3f90c0abe056c8a4065b118a3 +CLIENT_TRAFFIC_SECRET_0 0b3addad723489ca7c532685c11fc3a2e1d33f2e4f475855cb175da02e2bd43e e402cebd7cee5bf9c430dc6a9449ce29db65570c7606cbcd04072cbdab905f5ccbfd427cec5f0ddac301ff1e7ca9aef7 +SERVER_TRAFFIC_SECRET_0 0b3addad723489ca7c532685c11fc3a2e1d33f2e4f475855cb175da02e2bd43e 0fefe3813c15a9bad4e1b204c0d89c9fc9ea282bbb4554cbefbaa245417be52d8a57ffd608ad6812e9933ee68277ee7e +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0b3addad723489ca7c532685c11fc3a2e1d33f2e4f475855cb175da02e2bd43e a39665eaa4f8a4cd5d7aa8c7526a6c02ea28ddae838b3b8ce406bd4aa2793bd4841eb3dbd95e316fffea8697707d67b4 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0b3addad723489ca7c532685c11fc3a2e1d33f2e4f475855cb175da02e2bd43e 1aadacd9f075aa82c99a6795c2c412fbf8487469e8f2209a72cf5b54f937408c41d0e9e3f90c0abe056c8a4065b118a3 +CLIENT_TRAFFIC_SECRET_0 0b3addad723489ca7c532685c11fc3a2e1d33f2e4f475855cb175da02e2bd43e e402cebd7cee5bf9c430dc6a9449ce29db65570c7606cbcd04072cbdab905f5ccbfd427cec5f0ddac301ff1e7ca9aef7 +SERVER_TRAFFIC_SECRET_0 0b3addad723489ca7c532685c11fc3a2e1d33f2e4f475855cb175da02e2bd43e 0fefe3813c15a9bad4e1b204c0d89c9fc9ea282bbb4554cbefbaa245417be52d8a57ffd608ad6812e9933ee68277ee7e +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8d2715bcc00369042a123bc888c9a71c90cf5ec4fb8ea8792f229662f8d6f717 d3a60dca4af32c72c1e45aa25ca6a7667fe0e1d1a4e12c310c6c2832d014ed28eca1dcc8445011cf63a9b463785a26e7 +SERVER_HANDSHAKE_TRAFFIC_SECRET 8d2715bcc00369042a123bc888c9a71c90cf5ec4fb8ea8792f229662f8d6f717 959764f67c060d5faf1120924bbf7bfcb83d77cccc22d9005091f80a4ffdcf48d86bca22c5d48cfe2ea0c58222537271 +CLIENT_TRAFFIC_SECRET_0 8d2715bcc00369042a123bc888c9a71c90cf5ec4fb8ea8792f229662f8d6f717 9d40f6480b1f391f904283e6c19cf263888c3a94846bdb83bcf304dfaec00e6b5a1aae19f485d7fb7c0d819d5e91d305 +SERVER_TRAFFIC_SECRET_0 8d2715bcc00369042a123bc888c9a71c90cf5ec4fb8ea8792f229662f8d6f717 b44e2ec50615634927eb1d379c1a642558b1f84af2ad184e60588bd7175e5d4e07ce833a6668f807c7947fab0bd55aea +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8d2715bcc00369042a123bc888c9a71c90cf5ec4fb8ea8792f229662f8d6f717 d3a60dca4af32c72c1e45aa25ca6a7667fe0e1d1a4e12c310c6c2832d014ed28eca1dcc8445011cf63a9b463785a26e7 +SERVER_HANDSHAKE_TRAFFIC_SECRET 8d2715bcc00369042a123bc888c9a71c90cf5ec4fb8ea8792f229662f8d6f717 959764f67c060d5faf1120924bbf7bfcb83d77cccc22d9005091f80a4ffdcf48d86bca22c5d48cfe2ea0c58222537271 +CLIENT_TRAFFIC_SECRET_0 8d2715bcc00369042a123bc888c9a71c90cf5ec4fb8ea8792f229662f8d6f717 9d40f6480b1f391f904283e6c19cf263888c3a94846bdb83bcf304dfaec00e6b5a1aae19f485d7fb7c0d819d5e91d305 +SERVER_TRAFFIC_SECRET_0 8d2715bcc00369042a123bc888c9a71c90cf5ec4fb8ea8792f229662f8d6f717 b44e2ec50615634927eb1d379c1a642558b1f84af2ad184e60588bd7175e5d4e07ce833a6668f807c7947fab0bd55aea +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0b7ca11c0ff344bc5e1d5e792663b0dd02f31750ed5f6345a9edeb8133dc29f5 a341b74846aad1f78917b1df6788126ebf4bf333a9ecc6c49642c87801832088a4618f47c925e79070e75ed0be47294f +SERVER_HANDSHAKE_TRAFFIC_SECRET 0b7ca11c0ff344bc5e1d5e792663b0dd02f31750ed5f6345a9edeb8133dc29f5 af54634c2c541b07bc47b4aa1215dbda610ad7e48976c84349d9c09113715ffaf3389169177a7c86f9cbab86ba894efb +CLIENT_TRAFFIC_SECRET_0 0b7ca11c0ff344bc5e1d5e792663b0dd02f31750ed5f6345a9edeb8133dc29f5 8e3e1a05454353d75c45c0b563e4a7ef49da0f2ab78a12161c30c9a0309ce39a0a4096ba67a13bec546f3e11c90156b0 +SERVER_TRAFFIC_SECRET_0 0b7ca11c0ff344bc5e1d5e792663b0dd02f31750ed5f6345a9edeb8133dc29f5 ada8c766ccdb0ac632c33c3b1c609c6b0d777bb7c0b6ca6e4ee229a83c6c406afeb4325b1b7c8b451bf8bb815f2e84e3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0b7ca11c0ff344bc5e1d5e792663b0dd02f31750ed5f6345a9edeb8133dc29f5 a341b74846aad1f78917b1df6788126ebf4bf333a9ecc6c49642c87801832088a4618f47c925e79070e75ed0be47294f +SERVER_HANDSHAKE_TRAFFIC_SECRET 0b7ca11c0ff344bc5e1d5e792663b0dd02f31750ed5f6345a9edeb8133dc29f5 af54634c2c541b07bc47b4aa1215dbda610ad7e48976c84349d9c09113715ffaf3389169177a7c86f9cbab86ba894efb +CLIENT_TRAFFIC_SECRET_0 0b7ca11c0ff344bc5e1d5e792663b0dd02f31750ed5f6345a9edeb8133dc29f5 8e3e1a05454353d75c45c0b563e4a7ef49da0f2ab78a12161c30c9a0309ce39a0a4096ba67a13bec546f3e11c90156b0 +SERVER_TRAFFIC_SECRET_0 0b7ca11c0ff344bc5e1d5e792663b0dd02f31750ed5f6345a9edeb8133dc29f5 ada8c766ccdb0ac632c33c3b1c609c6b0d777bb7c0b6ca6e4ee229a83c6c406afeb4325b1b7c8b451bf8bb815f2e84e3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 757b5eb488b686dde6a07426d48df04de590a0a283570e7f20bb102b5c21ce91 3d8f15b9e790d28f32ba2cbb818b8d409300383cfe6020cabc164e9dcd4aec8a7b90d0fb5c0facbb89bcdd8998f9a693 +SERVER_HANDSHAKE_TRAFFIC_SECRET 757b5eb488b686dde6a07426d48df04de590a0a283570e7f20bb102b5c21ce91 1d6d2adbdb93752b339f4ee9593db2077ca005c642390751cfbcc2bfff4a2df5ca945fadd8bbbb08cefc34a9c4866835 +CLIENT_TRAFFIC_SECRET_0 757b5eb488b686dde6a07426d48df04de590a0a283570e7f20bb102b5c21ce91 2e007d0f45a04470eb91b2e224763fdaf87632dc11f64ab4e2e6a0c637ae53354540a6f4b53af0713c41abd0517155e5 +SERVER_TRAFFIC_SECRET_0 757b5eb488b686dde6a07426d48df04de590a0a283570e7f20bb102b5c21ce91 08c0007442c95455c9efc995bd31193fd6b55041ab68638f0d80133c09f69ff9764171bbfc381140416e1328818541cb +CLIENT_HANDSHAKE_TRAFFIC_SECRET 757b5eb488b686dde6a07426d48df04de590a0a283570e7f20bb102b5c21ce91 3d8f15b9e790d28f32ba2cbb818b8d409300383cfe6020cabc164e9dcd4aec8a7b90d0fb5c0facbb89bcdd8998f9a693 +SERVER_HANDSHAKE_TRAFFIC_SECRET 757b5eb488b686dde6a07426d48df04de590a0a283570e7f20bb102b5c21ce91 1d6d2adbdb93752b339f4ee9593db2077ca005c642390751cfbcc2bfff4a2df5ca945fadd8bbbb08cefc34a9c4866835 +CLIENT_TRAFFIC_SECRET_0 757b5eb488b686dde6a07426d48df04de590a0a283570e7f20bb102b5c21ce91 2e007d0f45a04470eb91b2e224763fdaf87632dc11f64ab4e2e6a0c637ae53354540a6f4b53af0713c41abd0517155e5 +SERVER_TRAFFIC_SECRET_0 757b5eb488b686dde6a07426d48df04de590a0a283570e7f20bb102b5c21ce91 08c0007442c95455c9efc995bd31193fd6b55041ab68638f0d80133c09f69ff9764171bbfc381140416e1328818541cb +CLIENT_HANDSHAKE_TRAFFIC_SECRET 94cad735a856d7b03b6463e8052a45aafd98f24e34abb8da90e4dca7b44d68ac 2e4617755677b3731f6e316a23d37ecbbfe769048bc319fc39864c1099873b588081c2ae41bcb10b20bee92493009d27 +SERVER_HANDSHAKE_TRAFFIC_SECRET 94cad735a856d7b03b6463e8052a45aafd98f24e34abb8da90e4dca7b44d68ac d771aff3ef8d43b329b9a7bae57277b02f591c0bf6471791d74b2683e2b4fcfba78b2eb85b1370a09b08270be3efed9f +CLIENT_TRAFFIC_SECRET_0 94cad735a856d7b03b6463e8052a45aafd98f24e34abb8da90e4dca7b44d68ac e44dc4c7c5d87434f0698a472f5ffdddb721f872298e0f4e1078795e27eb5f20ddceb6c099b65477f70b8eff00b36eeb +SERVER_TRAFFIC_SECRET_0 94cad735a856d7b03b6463e8052a45aafd98f24e34abb8da90e4dca7b44d68ac e06c1e32006c4dd698b88bdcf50eb3572b08fb3d235c35e2968e47d7fac794bceecc12aad4f34243ac9665388cae93c8 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 94cad735a856d7b03b6463e8052a45aafd98f24e34abb8da90e4dca7b44d68ac 2e4617755677b3731f6e316a23d37ecbbfe769048bc319fc39864c1099873b588081c2ae41bcb10b20bee92493009d27 +SERVER_HANDSHAKE_TRAFFIC_SECRET 94cad735a856d7b03b6463e8052a45aafd98f24e34abb8da90e4dca7b44d68ac d771aff3ef8d43b329b9a7bae57277b02f591c0bf6471791d74b2683e2b4fcfba78b2eb85b1370a09b08270be3efed9f +CLIENT_TRAFFIC_SECRET_0 94cad735a856d7b03b6463e8052a45aafd98f24e34abb8da90e4dca7b44d68ac e44dc4c7c5d87434f0698a472f5ffdddb721f872298e0f4e1078795e27eb5f20ddceb6c099b65477f70b8eff00b36eeb +SERVER_TRAFFIC_SECRET_0 94cad735a856d7b03b6463e8052a45aafd98f24e34abb8da90e4dca7b44d68ac e06c1e32006c4dd698b88bdcf50eb3572b08fb3d235c35e2968e47d7fac794bceecc12aad4f34243ac9665388cae93c8 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2d037cf4bff6445bf00a4d4bd51adf9949df08a9bac510848218732e69a3abfe 62c3a8640e50972d1d88e79cad9d5dfbd040b435cbb31a00cf42cfbbb11ef84ae988d449ab195492f2b020678341aa3a +SERVER_HANDSHAKE_TRAFFIC_SECRET 2d037cf4bff6445bf00a4d4bd51adf9949df08a9bac510848218732e69a3abfe 93ac99229fd925d5fee064b8f8bd98364fed15596b82b7e4237e28a5ce283e831e8216fc75ded5363b88c56de21e6184 +CLIENT_TRAFFIC_SECRET_0 2d037cf4bff6445bf00a4d4bd51adf9949df08a9bac510848218732e69a3abfe 0b1ac089b25c8d89f3ec7d9f9df4fb801b9185d344235063462acbe06be40c55eef027bedbc799ccf3b4ec98d0905c42 +SERVER_TRAFFIC_SECRET_0 2d037cf4bff6445bf00a4d4bd51adf9949df08a9bac510848218732e69a3abfe bfa8c2a67bfd92de86be48e0ff2185a66563ae49bd2d9077e4d31898f1e66168f008884e812e8e3e5bc3d73b661fed91 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2d037cf4bff6445bf00a4d4bd51adf9949df08a9bac510848218732e69a3abfe 62c3a8640e50972d1d88e79cad9d5dfbd040b435cbb31a00cf42cfbbb11ef84ae988d449ab195492f2b020678341aa3a +SERVER_HANDSHAKE_TRAFFIC_SECRET 2d037cf4bff6445bf00a4d4bd51adf9949df08a9bac510848218732e69a3abfe 93ac99229fd925d5fee064b8f8bd98364fed15596b82b7e4237e28a5ce283e831e8216fc75ded5363b88c56de21e6184 +CLIENT_TRAFFIC_SECRET_0 2d037cf4bff6445bf00a4d4bd51adf9949df08a9bac510848218732e69a3abfe 0b1ac089b25c8d89f3ec7d9f9df4fb801b9185d344235063462acbe06be40c55eef027bedbc799ccf3b4ec98d0905c42 +SERVER_TRAFFIC_SECRET_0 2d037cf4bff6445bf00a4d4bd51adf9949df08a9bac510848218732e69a3abfe bfa8c2a67bfd92de86be48e0ff2185a66563ae49bd2d9077e4d31898f1e66168f008884e812e8e3e5bc3d73b661fed91 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8a4e672318cc8671eb63efebf1f6fbc699a0345d30fa006c9d93c81b529fa146 795bffc59f1c348c099d03c0a289283b6fa5ff385c06e0a9d55eb9cba3449304c1325871abb7357081057afbfa65edff +SERVER_HANDSHAKE_TRAFFIC_SECRET 8a4e672318cc8671eb63efebf1f6fbc699a0345d30fa006c9d93c81b529fa146 8f6bb688558a267c77a3af57366c86911d4a21cefa41e5c312ac59adfe34a41b1817411f07486df97afe9cb09ee66689 +CLIENT_TRAFFIC_SECRET_0 8a4e672318cc8671eb63efebf1f6fbc699a0345d30fa006c9d93c81b529fa146 2432d4e52eabbe675ca7ad504fa25bb6cb1d05991589fb6f6bc7aad3981bd6af7c0815d7a4fba59d5afdac31d0a7e83d +SERVER_TRAFFIC_SECRET_0 8a4e672318cc8671eb63efebf1f6fbc699a0345d30fa006c9d93c81b529fa146 3aafabf727094ece1917f733ae0713870d0a14a0e65b3110e81cf35727bce3e6d20d2d6bd4d0780aeda80b7344be0049 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8a4e672318cc8671eb63efebf1f6fbc699a0345d30fa006c9d93c81b529fa146 795bffc59f1c348c099d03c0a289283b6fa5ff385c06e0a9d55eb9cba3449304c1325871abb7357081057afbfa65edff +SERVER_HANDSHAKE_TRAFFIC_SECRET 8a4e672318cc8671eb63efebf1f6fbc699a0345d30fa006c9d93c81b529fa146 8f6bb688558a267c77a3af57366c86911d4a21cefa41e5c312ac59adfe34a41b1817411f07486df97afe9cb09ee66689 +CLIENT_TRAFFIC_SECRET_0 8a4e672318cc8671eb63efebf1f6fbc699a0345d30fa006c9d93c81b529fa146 2432d4e52eabbe675ca7ad504fa25bb6cb1d05991589fb6f6bc7aad3981bd6af7c0815d7a4fba59d5afdac31d0a7e83d +SERVER_TRAFFIC_SECRET_0 8a4e672318cc8671eb63efebf1f6fbc699a0345d30fa006c9d93c81b529fa146 3aafabf727094ece1917f733ae0713870d0a14a0e65b3110e81cf35727bce3e6d20d2d6bd4d0780aeda80b7344be0049 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 095a2e0b2a87312aeac4d4c85cc7c3d8de039cd175e357478a6a107be456be16 7f9ef1847e13351bcaf6aa4a0085326849de4b7dee79691217e60a008d0faa6979bef964ffb2fe4c17fac01109a1e1ce +SERVER_HANDSHAKE_TRAFFIC_SECRET 095a2e0b2a87312aeac4d4c85cc7c3d8de039cd175e357478a6a107be456be16 9c6a05f291d179e3f0c66f5ce47be50d7dd8814b99eefe4bd7fdfec4db68555820d3c358d23e96e9604006ee7ed766f0 +CLIENT_TRAFFIC_SECRET_0 095a2e0b2a87312aeac4d4c85cc7c3d8de039cd175e357478a6a107be456be16 581bbf36f4283003e53eb484b73dc1394d03d1d31ee4e811dfda4aa4cf9e450dde20c5d62325a137ae8ad31fded3420e +SERVER_TRAFFIC_SECRET_0 095a2e0b2a87312aeac4d4c85cc7c3d8de039cd175e357478a6a107be456be16 81661df919060f4a56cba8c55b41647ce245ce84906b3d002805e5efd9a07b8587d84ab41c27b2882ff901272e9bd13c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 095a2e0b2a87312aeac4d4c85cc7c3d8de039cd175e357478a6a107be456be16 7f9ef1847e13351bcaf6aa4a0085326849de4b7dee79691217e60a008d0faa6979bef964ffb2fe4c17fac01109a1e1ce +SERVER_HANDSHAKE_TRAFFIC_SECRET 095a2e0b2a87312aeac4d4c85cc7c3d8de039cd175e357478a6a107be456be16 9c6a05f291d179e3f0c66f5ce47be50d7dd8814b99eefe4bd7fdfec4db68555820d3c358d23e96e9604006ee7ed766f0 +CLIENT_TRAFFIC_SECRET_0 095a2e0b2a87312aeac4d4c85cc7c3d8de039cd175e357478a6a107be456be16 581bbf36f4283003e53eb484b73dc1394d03d1d31ee4e811dfda4aa4cf9e450dde20c5d62325a137ae8ad31fded3420e +SERVER_TRAFFIC_SECRET_0 095a2e0b2a87312aeac4d4c85cc7c3d8de039cd175e357478a6a107be456be16 81661df919060f4a56cba8c55b41647ce245ce84906b3d002805e5efd9a07b8587d84ab41c27b2882ff901272e9bd13c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9c58c8c72dcb797b16b9c3b7157fcb27b703191312483999e9335d009fe5f43e 5bf5083a947245780bdf1d1e284f711750236e3ed8f36c6af5bcd90dc25119e22291979dfed1587f39826532aff8da53 +SERVER_HANDSHAKE_TRAFFIC_SECRET 9c58c8c72dcb797b16b9c3b7157fcb27b703191312483999e9335d009fe5f43e 19a020a32eb26783ab0de8169cca4f5f4c9cfb45132a5376982fea50f9ddd10904b3338b839b5bb9997c94511d060f54 +CLIENT_TRAFFIC_SECRET_0 9c58c8c72dcb797b16b9c3b7157fcb27b703191312483999e9335d009fe5f43e 222b54c99440353e4664cfb396656504bd85d101114991ed44ad18577254647416ebf600966dda2e092dd59be931824f +SERVER_TRAFFIC_SECRET_0 9c58c8c72dcb797b16b9c3b7157fcb27b703191312483999e9335d009fe5f43e 8e8bbe47ad72a4fd8222d9eb886b776c750a1209e3ce31c66a69fade54b822cf3ce3271a3f3f589a46813e5effa4c9e1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9c58c8c72dcb797b16b9c3b7157fcb27b703191312483999e9335d009fe5f43e 5bf5083a947245780bdf1d1e284f711750236e3ed8f36c6af5bcd90dc25119e22291979dfed1587f39826532aff8da53 +SERVER_HANDSHAKE_TRAFFIC_SECRET 9c58c8c72dcb797b16b9c3b7157fcb27b703191312483999e9335d009fe5f43e 19a020a32eb26783ab0de8169cca4f5f4c9cfb45132a5376982fea50f9ddd10904b3338b839b5bb9997c94511d060f54 +CLIENT_TRAFFIC_SECRET_0 9c58c8c72dcb797b16b9c3b7157fcb27b703191312483999e9335d009fe5f43e 222b54c99440353e4664cfb396656504bd85d101114991ed44ad18577254647416ebf600966dda2e092dd59be931824f +SERVER_TRAFFIC_SECRET_0 9c58c8c72dcb797b16b9c3b7157fcb27b703191312483999e9335d009fe5f43e 8e8bbe47ad72a4fd8222d9eb886b776c750a1209e3ce31c66a69fade54b822cf3ce3271a3f3f589a46813e5effa4c9e1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 70fa785deb447b41ad61711ff40df0bdf23cc70cb32716e8e5ef06808a4f0dca 2b3f68fa9ab02dbeaed2fb49ebc56d022d28d8893debdc0d9e615bec7da26f5b7ab601bd833d86523c416d8989729bfb +SERVER_HANDSHAKE_TRAFFIC_SECRET 70fa785deb447b41ad61711ff40df0bdf23cc70cb32716e8e5ef06808a4f0dca 76abc52b8016a7b76b957c830234bece4610f609689f7918a0d9577bf468c6427ace3ed0c3df998914ec62cb6bf061a5 +CLIENT_TRAFFIC_SECRET_0 70fa785deb447b41ad61711ff40df0bdf23cc70cb32716e8e5ef06808a4f0dca 20c4b5d1d7460cda630b52067778a8b4eb2b40cfd899c7e4a937fa086f055cad13b9b2922ee0a4d4b899cff4a389b1c1 +SERVER_TRAFFIC_SECRET_0 70fa785deb447b41ad61711ff40df0bdf23cc70cb32716e8e5ef06808a4f0dca 0a5b4db3375e93f1130fe608cbb78d675fde1e775bf233fcebdc9f39c7af83862a1a71069d6c5ba53cc01a6df3326ed3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 70fa785deb447b41ad61711ff40df0bdf23cc70cb32716e8e5ef06808a4f0dca 2b3f68fa9ab02dbeaed2fb49ebc56d022d28d8893debdc0d9e615bec7da26f5b7ab601bd833d86523c416d8989729bfb +SERVER_HANDSHAKE_TRAFFIC_SECRET 70fa785deb447b41ad61711ff40df0bdf23cc70cb32716e8e5ef06808a4f0dca 76abc52b8016a7b76b957c830234bece4610f609689f7918a0d9577bf468c6427ace3ed0c3df998914ec62cb6bf061a5 +CLIENT_TRAFFIC_SECRET_0 70fa785deb447b41ad61711ff40df0bdf23cc70cb32716e8e5ef06808a4f0dca 20c4b5d1d7460cda630b52067778a8b4eb2b40cfd899c7e4a937fa086f055cad13b9b2922ee0a4d4b899cff4a389b1c1 +SERVER_TRAFFIC_SECRET_0 70fa785deb447b41ad61711ff40df0bdf23cc70cb32716e8e5ef06808a4f0dca 0a5b4db3375e93f1130fe608cbb78d675fde1e775bf233fcebdc9f39c7af83862a1a71069d6c5ba53cc01a6df3326ed3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0451be1eae73e91b141844db089449e68fac7416de5c4227221ac1ec3c1803a3 bca43ba4b9e7cbc6fdac05ae3b3372a85e9c74e8202a5eede5d29896549b1f69ddea6c5eb1c74e7d36a6b2f05e11ef01 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0451be1eae73e91b141844db089449e68fac7416de5c4227221ac1ec3c1803a3 2d982dad302d678be7386dd649fdfc98fab99f2dc94eb515df4d38a997a1906560ae926425e5820e0918af52b34e98fd +CLIENT_TRAFFIC_SECRET_0 0451be1eae73e91b141844db089449e68fac7416de5c4227221ac1ec3c1803a3 3df8068ca81a3fa042a42f46e2c6f1a404c56332bc4e20c16cc9591f3c9aded035cd87ac369a8296a2b5cc6c00d262cc +SERVER_TRAFFIC_SECRET_0 0451be1eae73e91b141844db089449e68fac7416de5c4227221ac1ec3c1803a3 2312d1619f54d9b28264cdad9ac3273f93dcb810ed4ca694c0af10ad5b499dee4a4085ad17bffe833a6df3126281f7a7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0451be1eae73e91b141844db089449e68fac7416de5c4227221ac1ec3c1803a3 bca43ba4b9e7cbc6fdac05ae3b3372a85e9c74e8202a5eede5d29896549b1f69ddea6c5eb1c74e7d36a6b2f05e11ef01 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0451be1eae73e91b141844db089449e68fac7416de5c4227221ac1ec3c1803a3 2d982dad302d678be7386dd649fdfc98fab99f2dc94eb515df4d38a997a1906560ae926425e5820e0918af52b34e98fd +CLIENT_TRAFFIC_SECRET_0 0451be1eae73e91b141844db089449e68fac7416de5c4227221ac1ec3c1803a3 3df8068ca81a3fa042a42f46e2c6f1a404c56332bc4e20c16cc9591f3c9aded035cd87ac369a8296a2b5cc6c00d262cc +SERVER_TRAFFIC_SECRET_0 0451be1eae73e91b141844db089449e68fac7416de5c4227221ac1ec3c1803a3 2312d1619f54d9b28264cdad9ac3273f93dcb810ed4ca694c0af10ad5b499dee4a4085ad17bffe833a6df3126281f7a7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 871fc88b8611fe60448f6b6fa7a64def59e6e8c927022e1a4de1b41a67f28da0 11aec5a616bb133487e26c95c0a55de4e2dd74651ecc9290a62a9c134f474c6b248373b835e7586a171a6cf3b6f139ca +SERVER_HANDSHAKE_TRAFFIC_SECRET 871fc88b8611fe60448f6b6fa7a64def59e6e8c927022e1a4de1b41a67f28da0 df5b9948513b7367610f72fb76be70f6a98a6d64fd8e03088354b8205d34e5e2adb599478d37e3ce6aaf1a69c8da1190 +CLIENT_TRAFFIC_SECRET_0 871fc88b8611fe60448f6b6fa7a64def59e6e8c927022e1a4de1b41a67f28da0 824a6a9798bd2c7ee29527dd796907854b7cc158ca65e15fae9c0a06456464d26388d8b07451bcf86f61b58145cca203 +SERVER_TRAFFIC_SECRET_0 871fc88b8611fe60448f6b6fa7a64def59e6e8c927022e1a4de1b41a67f28da0 1c35db585ca89543ef5dcbbbc46aa69855baf5982895d3c3e38d1f74bd40e949729c593c39e2ca084c217f9036b7098a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 871fc88b8611fe60448f6b6fa7a64def59e6e8c927022e1a4de1b41a67f28da0 11aec5a616bb133487e26c95c0a55de4e2dd74651ecc9290a62a9c134f474c6b248373b835e7586a171a6cf3b6f139ca +SERVER_HANDSHAKE_TRAFFIC_SECRET 871fc88b8611fe60448f6b6fa7a64def59e6e8c927022e1a4de1b41a67f28da0 df5b9948513b7367610f72fb76be70f6a98a6d64fd8e03088354b8205d34e5e2adb599478d37e3ce6aaf1a69c8da1190 +CLIENT_TRAFFIC_SECRET_0 871fc88b8611fe60448f6b6fa7a64def59e6e8c927022e1a4de1b41a67f28da0 824a6a9798bd2c7ee29527dd796907854b7cc158ca65e15fae9c0a06456464d26388d8b07451bcf86f61b58145cca203 +SERVER_TRAFFIC_SECRET_0 871fc88b8611fe60448f6b6fa7a64def59e6e8c927022e1a4de1b41a67f28da0 1c35db585ca89543ef5dcbbbc46aa69855baf5982895d3c3e38d1f74bd40e949729c593c39e2ca084c217f9036b7098a +CLIENT_HANDSHAKE_TRAFFIC_SECRET cc081442c0972ba80db55f23b996b8ec1c2308a7ec0cdd36c31e6f70a456a893 3ff108a4941f016ab21b41f2714713db36d74bd79136d91e6534d4048a18d072ca8f0f7a4d7bef308e8bb7dfa7e63aa9 +SERVER_HANDSHAKE_TRAFFIC_SECRET cc081442c0972ba80db55f23b996b8ec1c2308a7ec0cdd36c31e6f70a456a893 defa1fd01a4361b8f43d22b2aedb0f1bc5cca85e7dbcba7c876fdefcb7e40ba4396affcebc046ff5b0e7ec7ca8d3515f +CLIENT_TRAFFIC_SECRET_0 cc081442c0972ba80db55f23b996b8ec1c2308a7ec0cdd36c31e6f70a456a893 9ddb532048fabf295a77e2ea7261eda5509f8f4a71adacc743b2a08685c66ac2197e723e6f71e0db4577df079475064d +SERVER_TRAFFIC_SECRET_0 cc081442c0972ba80db55f23b996b8ec1c2308a7ec0cdd36c31e6f70a456a893 49a3a19b0768e6b40b7e205d48f2f3b13b8f5e8775446fa20c7de6a71837ca050c8e483e6d4da33934ee893a71f79fa3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET cc081442c0972ba80db55f23b996b8ec1c2308a7ec0cdd36c31e6f70a456a893 3ff108a4941f016ab21b41f2714713db36d74bd79136d91e6534d4048a18d072ca8f0f7a4d7bef308e8bb7dfa7e63aa9 +SERVER_HANDSHAKE_TRAFFIC_SECRET cc081442c0972ba80db55f23b996b8ec1c2308a7ec0cdd36c31e6f70a456a893 defa1fd01a4361b8f43d22b2aedb0f1bc5cca85e7dbcba7c876fdefcb7e40ba4396affcebc046ff5b0e7ec7ca8d3515f +CLIENT_TRAFFIC_SECRET_0 cc081442c0972ba80db55f23b996b8ec1c2308a7ec0cdd36c31e6f70a456a893 9ddb532048fabf295a77e2ea7261eda5509f8f4a71adacc743b2a08685c66ac2197e723e6f71e0db4577df079475064d +SERVER_TRAFFIC_SECRET_0 cc081442c0972ba80db55f23b996b8ec1c2308a7ec0cdd36c31e6f70a456a893 49a3a19b0768e6b40b7e205d48f2f3b13b8f5e8775446fa20c7de6a71837ca050c8e483e6d4da33934ee893a71f79fa3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 23f22af7ffd03432ce44a7ccac80c59db55da7842917747f65df7439a1f6014e e51ac0f5d84731cedfbe77e1f479a8162163830f9ea93eeafeb65920c8d0077d67ed443945d6b74a7aba069cee899549 +SERVER_HANDSHAKE_TRAFFIC_SECRET 23f22af7ffd03432ce44a7ccac80c59db55da7842917747f65df7439a1f6014e 16623932918c5e7254ca3a6452ba1f74b405ba76c7941935414d7d7eeede987ee635107a82670db860fd999661e98bf9 +CLIENT_TRAFFIC_SECRET_0 23f22af7ffd03432ce44a7ccac80c59db55da7842917747f65df7439a1f6014e b27cb93c02e6e95904a7529de08181f3b387894405bce5fcda6987b47f4a3a92fb860efad64f336c3779cbb35b18286c +SERVER_TRAFFIC_SECRET_0 23f22af7ffd03432ce44a7ccac80c59db55da7842917747f65df7439a1f6014e fe845e78eed8d5e13ee5e5a2ced575c39451aba587b81bb60cd537b7d6adfa5a5cd2dfd3c5e67c1631d7b7e63a7d7841 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 23f22af7ffd03432ce44a7ccac80c59db55da7842917747f65df7439a1f6014e e51ac0f5d84731cedfbe77e1f479a8162163830f9ea93eeafeb65920c8d0077d67ed443945d6b74a7aba069cee899549 +SERVER_HANDSHAKE_TRAFFIC_SECRET 23f22af7ffd03432ce44a7ccac80c59db55da7842917747f65df7439a1f6014e 16623932918c5e7254ca3a6452ba1f74b405ba76c7941935414d7d7eeede987ee635107a82670db860fd999661e98bf9 +CLIENT_TRAFFIC_SECRET_0 23f22af7ffd03432ce44a7ccac80c59db55da7842917747f65df7439a1f6014e b27cb93c02e6e95904a7529de08181f3b387894405bce5fcda6987b47f4a3a92fb860efad64f336c3779cbb35b18286c +SERVER_TRAFFIC_SECRET_0 23f22af7ffd03432ce44a7ccac80c59db55da7842917747f65df7439a1f6014e fe845e78eed8d5e13ee5e5a2ced575c39451aba587b81bb60cd537b7d6adfa5a5cd2dfd3c5e67c1631d7b7e63a7d7841 +CLIENT_HANDSHAKE_TRAFFIC_SECRET b78f15cfe05de01f73335e62fe9b023f97be1aa57364151b4f32d71178ba6943 a9907516ca621ad6af96fa51a75c0a2ec955e0653d08b55099262383f358c21fe56e7311adaac0dc7cb1649e68949286 +SERVER_HANDSHAKE_TRAFFIC_SECRET b78f15cfe05de01f73335e62fe9b023f97be1aa57364151b4f32d71178ba6943 e1c6751235f5a1ef108712ac1660d082d643999f01d530bbf3e15f5e54b794ceb66b4ea552b136ad670e4f419d3e976f +CLIENT_TRAFFIC_SECRET_0 b78f15cfe05de01f73335e62fe9b023f97be1aa57364151b4f32d71178ba6943 0860904f167215fbb62d31b4e7d500b12f93b4495d6535eae2d33ed0f4b888b5dbf69dbad9e96affc1d9cd6cd6e4ebff +SERVER_TRAFFIC_SECRET_0 b78f15cfe05de01f73335e62fe9b023f97be1aa57364151b4f32d71178ba6943 b1e92ae44982720e708725f31ebfb60e779e3a8eb9b8efc905864c119c0e2abf35dac8cfdc0591360f6ffad935b5899a +CLIENT_HANDSHAKE_TRAFFIC_SECRET b78f15cfe05de01f73335e62fe9b023f97be1aa57364151b4f32d71178ba6943 a9907516ca621ad6af96fa51a75c0a2ec955e0653d08b55099262383f358c21fe56e7311adaac0dc7cb1649e68949286 +SERVER_HANDSHAKE_TRAFFIC_SECRET b78f15cfe05de01f73335e62fe9b023f97be1aa57364151b4f32d71178ba6943 e1c6751235f5a1ef108712ac1660d082d643999f01d530bbf3e15f5e54b794ceb66b4ea552b136ad670e4f419d3e976f +CLIENT_TRAFFIC_SECRET_0 b78f15cfe05de01f73335e62fe9b023f97be1aa57364151b4f32d71178ba6943 0860904f167215fbb62d31b4e7d500b12f93b4495d6535eae2d33ed0f4b888b5dbf69dbad9e96affc1d9cd6cd6e4ebff +SERVER_TRAFFIC_SECRET_0 b78f15cfe05de01f73335e62fe9b023f97be1aa57364151b4f32d71178ba6943 b1e92ae44982720e708725f31ebfb60e779e3a8eb9b8efc905864c119c0e2abf35dac8cfdc0591360f6ffad935b5899a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9165ada50509bec1d6e12058c5f0d53f47c5cb8e2f89ef776d398990f9cc558b 59f198f566a9f8c437220406362e4de92eb1f1a478764e784e6984a29344471500218de1739daeb26c0c582fa01abb8c +SERVER_HANDSHAKE_TRAFFIC_SECRET 9165ada50509bec1d6e12058c5f0d53f47c5cb8e2f89ef776d398990f9cc558b f0437bd38226ae57e336af4d2a2ef49768492a6ff062849cc5c459b7eaceb0820c72f664c243550498910fd6aaa8ca22 +CLIENT_TRAFFIC_SECRET_0 9165ada50509bec1d6e12058c5f0d53f47c5cb8e2f89ef776d398990f9cc558b 4c283f588fd285c1454704f0dd4d4ed491a337766094b26e9e6a43ebc334c168f8d6df77497b2e047e030d5de09a62f0 +SERVER_TRAFFIC_SECRET_0 9165ada50509bec1d6e12058c5f0d53f47c5cb8e2f89ef776d398990f9cc558b 8a246389e28be0a9e79bbdce40cc8260d7aa950af1600eb4f9d9195e9aded3c4caecb4f92511ad824510dc1f707777df +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9165ada50509bec1d6e12058c5f0d53f47c5cb8e2f89ef776d398990f9cc558b 59f198f566a9f8c437220406362e4de92eb1f1a478764e784e6984a29344471500218de1739daeb26c0c582fa01abb8c +SERVER_HANDSHAKE_TRAFFIC_SECRET 9165ada50509bec1d6e12058c5f0d53f47c5cb8e2f89ef776d398990f9cc558b f0437bd38226ae57e336af4d2a2ef49768492a6ff062849cc5c459b7eaceb0820c72f664c243550498910fd6aaa8ca22 +CLIENT_TRAFFIC_SECRET_0 9165ada50509bec1d6e12058c5f0d53f47c5cb8e2f89ef776d398990f9cc558b 4c283f588fd285c1454704f0dd4d4ed491a337766094b26e9e6a43ebc334c168f8d6df77497b2e047e030d5de09a62f0 +SERVER_TRAFFIC_SECRET_0 9165ada50509bec1d6e12058c5f0d53f47c5cb8e2f89ef776d398990f9cc558b 8a246389e28be0a9e79bbdce40cc8260d7aa950af1600eb4f9d9195e9aded3c4caecb4f92511ad824510dc1f707777df +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3d034449d985cbf802e1d930a2eac25b0a8b08fa1836adaa568719cbfbef2020 c8b61eae69a480b569301d33e6fc47d83b6aabf8244ff49507ca4bb0cfb432dc28eadf6c97734d3056ec84a431609fb7 +SERVER_HANDSHAKE_TRAFFIC_SECRET 3d034449d985cbf802e1d930a2eac25b0a8b08fa1836adaa568719cbfbef2020 6069aaf46747f1ecae66a19132102653c0de28f6ef0423e118b1cf2cab1a0cda013c05dc26d9d62bdfaa72d0bbbb4497 +CLIENT_TRAFFIC_SECRET_0 3d034449d985cbf802e1d930a2eac25b0a8b08fa1836adaa568719cbfbef2020 10f216e0c8a6bf5eec37c12d431c14f6f0e95bd8a2fa00d46937a0a705c7822953c34937fd351ffea8179a9e3c14ed2a +SERVER_TRAFFIC_SECRET_0 3d034449d985cbf802e1d930a2eac25b0a8b08fa1836adaa568719cbfbef2020 8b24131ff4eccf6b009c60988253507e2748f734e5d9ad7e7e1b1e16537cbc66a4beddb771943b7e2a0360be1dc783ca +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3d034449d985cbf802e1d930a2eac25b0a8b08fa1836adaa568719cbfbef2020 c8b61eae69a480b569301d33e6fc47d83b6aabf8244ff49507ca4bb0cfb432dc28eadf6c97734d3056ec84a431609fb7 +SERVER_HANDSHAKE_TRAFFIC_SECRET 3d034449d985cbf802e1d930a2eac25b0a8b08fa1836adaa568719cbfbef2020 6069aaf46747f1ecae66a19132102653c0de28f6ef0423e118b1cf2cab1a0cda013c05dc26d9d62bdfaa72d0bbbb4497 +CLIENT_TRAFFIC_SECRET_0 3d034449d985cbf802e1d930a2eac25b0a8b08fa1836adaa568719cbfbef2020 10f216e0c8a6bf5eec37c12d431c14f6f0e95bd8a2fa00d46937a0a705c7822953c34937fd351ffea8179a9e3c14ed2a +SERVER_TRAFFIC_SECRET_0 3d034449d985cbf802e1d930a2eac25b0a8b08fa1836adaa568719cbfbef2020 8b24131ff4eccf6b009c60988253507e2748f734e5d9ad7e7e1b1e16537cbc66a4beddb771943b7e2a0360be1dc783ca +CLIENT_HANDSHAKE_TRAFFIC_SECRET d54c6335530504bd9b23de3dd69070e62f953525c96458f30ef9e3b53fa7813b a1d4964f5bff193acf9f0eff5f46cd209263bbf7e46d6210fdc4ed2649de51c5ab0cb5cf4cfc42750156af4bd618ca87 +SERVER_HANDSHAKE_TRAFFIC_SECRET d54c6335530504bd9b23de3dd69070e62f953525c96458f30ef9e3b53fa7813b e505701289d93f4b47644c411d0cf9b0d90c153e2bf41ac6047dc8a4ebd3b4b9f234184c75f408ca91c954491f00aa13 +CLIENT_TRAFFIC_SECRET_0 d54c6335530504bd9b23de3dd69070e62f953525c96458f30ef9e3b53fa7813b 44ab01da3e991bd2472005186d9eeebe89e6bdc2ccdd7704f6a85fe6b2e0aff0a47873f5239527487f0146e1e6937613 +SERVER_TRAFFIC_SECRET_0 d54c6335530504bd9b23de3dd69070e62f953525c96458f30ef9e3b53fa7813b 8dacfcc6e760eb1ef290ab24acc9c1352519f456c23288996527c868940c8e27798b4e1e869ddf23da3e055bc294def9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d54c6335530504bd9b23de3dd69070e62f953525c96458f30ef9e3b53fa7813b a1d4964f5bff193acf9f0eff5f46cd209263bbf7e46d6210fdc4ed2649de51c5ab0cb5cf4cfc42750156af4bd618ca87 +SERVER_HANDSHAKE_TRAFFIC_SECRET d54c6335530504bd9b23de3dd69070e62f953525c96458f30ef9e3b53fa7813b e505701289d93f4b47644c411d0cf9b0d90c153e2bf41ac6047dc8a4ebd3b4b9f234184c75f408ca91c954491f00aa13 +CLIENT_TRAFFIC_SECRET_0 d54c6335530504bd9b23de3dd69070e62f953525c96458f30ef9e3b53fa7813b 44ab01da3e991bd2472005186d9eeebe89e6bdc2ccdd7704f6a85fe6b2e0aff0a47873f5239527487f0146e1e6937613 +SERVER_TRAFFIC_SECRET_0 d54c6335530504bd9b23de3dd69070e62f953525c96458f30ef9e3b53fa7813b 8dacfcc6e760eb1ef290ab24acc9c1352519f456c23288996527c868940c8e27798b4e1e869ddf23da3e055bc294def9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET b037a626c7c442c4b8c8a3bf481fe25b2444d312f8bce4ea9a82920f088e4a98 86799ed49c6df3882847e33c8c43eea57006fea43724ef367ae832eb8c4ae9ef9ce798bfc61445ce0c6ebce02ed758b7 +SERVER_HANDSHAKE_TRAFFIC_SECRET b037a626c7c442c4b8c8a3bf481fe25b2444d312f8bce4ea9a82920f088e4a98 1a8b428d4db52edb8facb6a2b80cfb5209e2326162a746bdb1e195f24ac099483a95adce253d3179685aa60ce800265d +CLIENT_TRAFFIC_SECRET_0 b037a626c7c442c4b8c8a3bf481fe25b2444d312f8bce4ea9a82920f088e4a98 8ed194a6ed68decef93915cc581fe713f9d25295e20f1261f8ea0521dbc44970327557889e87915935f071bbf81bac27 +SERVER_TRAFFIC_SECRET_0 b037a626c7c442c4b8c8a3bf481fe25b2444d312f8bce4ea9a82920f088e4a98 b86d827527ff3e51658311c0d3f1fbbda5cfbc3c08ca2faa361422698ff79d7f40e283bcd85d1359ffe4c12de1e16372 +CLIENT_HANDSHAKE_TRAFFIC_SECRET b037a626c7c442c4b8c8a3bf481fe25b2444d312f8bce4ea9a82920f088e4a98 86799ed49c6df3882847e33c8c43eea57006fea43724ef367ae832eb8c4ae9ef9ce798bfc61445ce0c6ebce02ed758b7 +SERVER_HANDSHAKE_TRAFFIC_SECRET b037a626c7c442c4b8c8a3bf481fe25b2444d312f8bce4ea9a82920f088e4a98 1a8b428d4db52edb8facb6a2b80cfb5209e2326162a746bdb1e195f24ac099483a95adce253d3179685aa60ce800265d +CLIENT_TRAFFIC_SECRET_0 b037a626c7c442c4b8c8a3bf481fe25b2444d312f8bce4ea9a82920f088e4a98 8ed194a6ed68decef93915cc581fe713f9d25295e20f1261f8ea0521dbc44970327557889e87915935f071bbf81bac27 +SERVER_TRAFFIC_SECRET_0 b037a626c7c442c4b8c8a3bf481fe25b2444d312f8bce4ea9a82920f088e4a98 b86d827527ff3e51658311c0d3f1fbbda5cfbc3c08ca2faa361422698ff79d7f40e283bcd85d1359ffe4c12de1e16372 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2c4ac3cae3fce574107ecbf7a78809d2a66908b4acd36026ab596a12e151b563 693961a6f281677f0d7aff6cad40362b6b1f430c5052a41e95427af7b5948979e0ed87adc510dc13060ea100efe9fb0a +SERVER_HANDSHAKE_TRAFFIC_SECRET 2c4ac3cae3fce574107ecbf7a78809d2a66908b4acd36026ab596a12e151b563 55de7845a164964babbf59af24de55a46669cab9fd8c6e3d681bb9983251f8767ad3d9cbffe5bef1cce652822b74e11e +CLIENT_TRAFFIC_SECRET_0 2c4ac3cae3fce574107ecbf7a78809d2a66908b4acd36026ab596a12e151b563 3fbdb4101f7c2632e7437e32699595d687938da61c109c17daeddf8720091796f32d4b750a8cf7b389f37f4bb2343c38 +SERVER_TRAFFIC_SECRET_0 2c4ac3cae3fce574107ecbf7a78809d2a66908b4acd36026ab596a12e151b563 26d1f16256af895a15cacecd5488ea0c8ab612200ccc8a8daca24ca7eace1d7179495b5b9a6e8844720ba72e0d43997b +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2c4ac3cae3fce574107ecbf7a78809d2a66908b4acd36026ab596a12e151b563 693961a6f281677f0d7aff6cad40362b6b1f430c5052a41e95427af7b5948979e0ed87adc510dc13060ea100efe9fb0a +SERVER_HANDSHAKE_TRAFFIC_SECRET 2c4ac3cae3fce574107ecbf7a78809d2a66908b4acd36026ab596a12e151b563 55de7845a164964babbf59af24de55a46669cab9fd8c6e3d681bb9983251f8767ad3d9cbffe5bef1cce652822b74e11e +CLIENT_TRAFFIC_SECRET_0 2c4ac3cae3fce574107ecbf7a78809d2a66908b4acd36026ab596a12e151b563 3fbdb4101f7c2632e7437e32699595d687938da61c109c17daeddf8720091796f32d4b750a8cf7b389f37f4bb2343c38 +SERVER_TRAFFIC_SECRET_0 2c4ac3cae3fce574107ecbf7a78809d2a66908b4acd36026ab596a12e151b563 26d1f16256af895a15cacecd5488ea0c8ab612200ccc8a8daca24ca7eace1d7179495b5b9a6e8844720ba72e0d43997b +CLIENT_HANDSHAKE_TRAFFIC_SECRET fc9d2482b2f57779539bd39838ab47847b2beecf5600624e5cf187b20ed266dc b476125fa8a47b1bcb042caba797b2b5bf9f7d709ab4467c05e1c40fa229fbd1908f11b228f5a9d549f17862cf2da673 +SERVER_HANDSHAKE_TRAFFIC_SECRET fc9d2482b2f57779539bd39838ab47847b2beecf5600624e5cf187b20ed266dc d6a961ac46fddd2540cb2aed509f7f8a4c9d35b7c67bad417bba337f66b60ff60c829daefb68e0334980a20eabb5a3ed +CLIENT_TRAFFIC_SECRET_0 fc9d2482b2f57779539bd39838ab47847b2beecf5600624e5cf187b20ed266dc 5faa50fd4b2de77ace988af01b71c96026271549f2e7f031237fe37c21d9206b3834abb19a4e231c59e1791ff0fa16e9 +SERVER_TRAFFIC_SECRET_0 fc9d2482b2f57779539bd39838ab47847b2beecf5600624e5cf187b20ed266dc 281d54ca402cc44c2583ae2e2b87d1ad243609dbb13add4eac9990ac6e0466a83d885a92b3f24a7ad24433d5db186266 +CLIENT_HANDSHAKE_TRAFFIC_SECRET fc9d2482b2f57779539bd39838ab47847b2beecf5600624e5cf187b20ed266dc b476125fa8a47b1bcb042caba797b2b5bf9f7d709ab4467c05e1c40fa229fbd1908f11b228f5a9d549f17862cf2da673 +SERVER_HANDSHAKE_TRAFFIC_SECRET fc9d2482b2f57779539bd39838ab47847b2beecf5600624e5cf187b20ed266dc d6a961ac46fddd2540cb2aed509f7f8a4c9d35b7c67bad417bba337f66b60ff60c829daefb68e0334980a20eabb5a3ed +CLIENT_TRAFFIC_SECRET_0 fc9d2482b2f57779539bd39838ab47847b2beecf5600624e5cf187b20ed266dc 5faa50fd4b2de77ace988af01b71c96026271549f2e7f031237fe37c21d9206b3834abb19a4e231c59e1791ff0fa16e9 +SERVER_TRAFFIC_SECRET_0 fc9d2482b2f57779539bd39838ab47847b2beecf5600624e5cf187b20ed266dc 281d54ca402cc44c2583ae2e2b87d1ad243609dbb13add4eac9990ac6e0466a83d885a92b3f24a7ad24433d5db186266 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 75027738f3a41007a98f0f48d547797aa4e8a4fb98e4a9ebb6e42ef6a96f766f 8f492d64cef2f8aaf092d4b4a68bb3fa92cffa0a4f8124932f1445f34c5c41baa51dea09164f00b238cdf8c9cbc9f796 +SERVER_HANDSHAKE_TRAFFIC_SECRET 75027738f3a41007a98f0f48d547797aa4e8a4fb98e4a9ebb6e42ef6a96f766f d06d5a1634d7d3cc36ca850ddbb104d6f7125277d4252077d15788b54a689e6a6c7e27dc261c95b31e611cda0ec4bb64 +CLIENT_TRAFFIC_SECRET_0 75027738f3a41007a98f0f48d547797aa4e8a4fb98e4a9ebb6e42ef6a96f766f d081463c5fd2316b1c174fdc578dd4f5cf42152928c7e122f28b6e6e6137ed3fa7223e0c1a9a1b4ccfc2c5073779ed7c +SERVER_TRAFFIC_SECRET_0 75027738f3a41007a98f0f48d547797aa4e8a4fb98e4a9ebb6e42ef6a96f766f 5d89cd3964d1b6d6b4f2217bdd99b99add700cddbe2a6ebb167979d841fc096d463ecaed75d85fa8684adb72539b26d6 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 75027738f3a41007a98f0f48d547797aa4e8a4fb98e4a9ebb6e42ef6a96f766f 8f492d64cef2f8aaf092d4b4a68bb3fa92cffa0a4f8124932f1445f34c5c41baa51dea09164f00b238cdf8c9cbc9f796 +SERVER_HANDSHAKE_TRAFFIC_SECRET 75027738f3a41007a98f0f48d547797aa4e8a4fb98e4a9ebb6e42ef6a96f766f d06d5a1634d7d3cc36ca850ddbb104d6f7125277d4252077d15788b54a689e6a6c7e27dc261c95b31e611cda0ec4bb64 +CLIENT_TRAFFIC_SECRET_0 75027738f3a41007a98f0f48d547797aa4e8a4fb98e4a9ebb6e42ef6a96f766f d081463c5fd2316b1c174fdc578dd4f5cf42152928c7e122f28b6e6e6137ed3fa7223e0c1a9a1b4ccfc2c5073779ed7c +SERVER_TRAFFIC_SECRET_0 75027738f3a41007a98f0f48d547797aa4e8a4fb98e4a9ebb6e42ef6a96f766f 5d89cd3964d1b6d6b4f2217bdd99b99add700cddbe2a6ebb167979d841fc096d463ecaed75d85fa8684adb72539b26d6 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 96be292dd0e0bbfc908404da6a281067c144ece51dc504ea65f73d791bf53476 15b30fa2ecba337024c8dabea74d921fbf130f96f3f5ea2a24397f765a5dee2aae31e6c00436c5a6b393d4dffea4eb58 +SERVER_HANDSHAKE_TRAFFIC_SECRET 96be292dd0e0bbfc908404da6a281067c144ece51dc504ea65f73d791bf53476 37b8f63b55196b06dbf2f91beaa7231fb773ce84f794e09ddcd2638f27315b91493cf115b2ad449d44399c38b7e4d2c6 +CLIENT_TRAFFIC_SECRET_0 96be292dd0e0bbfc908404da6a281067c144ece51dc504ea65f73d791bf53476 a2ce88cb7d7af341872292b433468ad0aff2fe1b2cc87fa9457180f65197848ebb7dbf6fc9316d41ebf309576062dfdb +SERVER_TRAFFIC_SECRET_0 96be292dd0e0bbfc908404da6a281067c144ece51dc504ea65f73d791bf53476 eeea1c489faeb2ae5deb04b9e79f6687c86882fac0ff7b87dd84bd617720bc2ff641e2b94fa7a186dc4968bb64702954 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 96be292dd0e0bbfc908404da6a281067c144ece51dc504ea65f73d791bf53476 15b30fa2ecba337024c8dabea74d921fbf130f96f3f5ea2a24397f765a5dee2aae31e6c00436c5a6b393d4dffea4eb58 +SERVER_HANDSHAKE_TRAFFIC_SECRET 96be292dd0e0bbfc908404da6a281067c144ece51dc504ea65f73d791bf53476 37b8f63b55196b06dbf2f91beaa7231fb773ce84f794e09ddcd2638f27315b91493cf115b2ad449d44399c38b7e4d2c6 +CLIENT_TRAFFIC_SECRET_0 96be292dd0e0bbfc908404da6a281067c144ece51dc504ea65f73d791bf53476 a2ce88cb7d7af341872292b433468ad0aff2fe1b2cc87fa9457180f65197848ebb7dbf6fc9316d41ebf309576062dfdb +SERVER_TRAFFIC_SECRET_0 96be292dd0e0bbfc908404da6a281067c144ece51dc504ea65f73d791bf53476 eeea1c489faeb2ae5deb04b9e79f6687c86882fac0ff7b87dd84bd617720bc2ff641e2b94fa7a186dc4968bb64702954 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 67d39155edec424c4dbb74fcf1dcee085f951829b9669f59f9ce17fed572b5c0 05a77c669cb62e1add495e6969e94cbb0f9d72c2b03cddb673500a119ab3722e3e2bc8018429196112b64fc3964196bb +SERVER_HANDSHAKE_TRAFFIC_SECRET 67d39155edec424c4dbb74fcf1dcee085f951829b9669f59f9ce17fed572b5c0 efed8727eb4657ee18161ad2ef7ba4f3132a1657f7efc3b7a56afde476c8c9ca23c59a1c159cc119db031ca23169742c +CLIENT_TRAFFIC_SECRET_0 67d39155edec424c4dbb74fcf1dcee085f951829b9669f59f9ce17fed572b5c0 cfa0bca4e39111e2d7a5ddae750231e129e30ca7b358569d3dc729146d5d19b4353105fdee5fbb37dcbe777c87944e6d +SERVER_TRAFFIC_SECRET_0 67d39155edec424c4dbb74fcf1dcee085f951829b9669f59f9ce17fed572b5c0 537564191fb11dc7314d38cc8f1b6ead0205d4330c8f517d9deb4d879998f06d5541667713474fe8b9567a5888079db1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 67d39155edec424c4dbb74fcf1dcee085f951829b9669f59f9ce17fed572b5c0 05a77c669cb62e1add495e6969e94cbb0f9d72c2b03cddb673500a119ab3722e3e2bc8018429196112b64fc3964196bb +SERVER_HANDSHAKE_TRAFFIC_SECRET 67d39155edec424c4dbb74fcf1dcee085f951829b9669f59f9ce17fed572b5c0 efed8727eb4657ee18161ad2ef7ba4f3132a1657f7efc3b7a56afde476c8c9ca23c59a1c159cc119db031ca23169742c +CLIENT_TRAFFIC_SECRET_0 67d39155edec424c4dbb74fcf1dcee085f951829b9669f59f9ce17fed572b5c0 cfa0bca4e39111e2d7a5ddae750231e129e30ca7b358569d3dc729146d5d19b4353105fdee5fbb37dcbe777c87944e6d +SERVER_TRAFFIC_SECRET_0 67d39155edec424c4dbb74fcf1dcee085f951829b9669f59f9ce17fed572b5c0 537564191fb11dc7314d38cc8f1b6ead0205d4330c8f517d9deb4d879998f06d5541667713474fe8b9567a5888079db1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 69f353b266b82947e411e5f3554c10e62ed211240b4d98dd372c6e9e834c34ee 2a6c0d7600e3f4c3be754b7b78a7cde62caf1aa97139cb9488e698848a2c3555c3dddf06dab767457cd5fdbeb79ac93b +SERVER_HANDSHAKE_TRAFFIC_SECRET 69f353b266b82947e411e5f3554c10e62ed211240b4d98dd372c6e9e834c34ee b22ab28143cf7dcef575a38967a0c79364f325cf05fc28459a2c0402bcf035f201f4fa9e5c96976b758e43b9abbe1a3f +CLIENT_TRAFFIC_SECRET_0 69f353b266b82947e411e5f3554c10e62ed211240b4d98dd372c6e9e834c34ee 221e26fdc2213f834c5341b42e2d8674cbf80c160d77427d499ebf6cb928a0317b3e819c8c57c8c74261abcda44d6f30 +SERVER_TRAFFIC_SECRET_0 69f353b266b82947e411e5f3554c10e62ed211240b4d98dd372c6e9e834c34ee 6929b11ebf47dd36823120b393291fe222265266786e9e7d0c387e56449b1b9de1ffff1db3010ba6d190974d39f31b7d +CLIENT_HANDSHAKE_TRAFFIC_SECRET 69f353b266b82947e411e5f3554c10e62ed211240b4d98dd372c6e9e834c34ee 2a6c0d7600e3f4c3be754b7b78a7cde62caf1aa97139cb9488e698848a2c3555c3dddf06dab767457cd5fdbeb79ac93b +SERVER_HANDSHAKE_TRAFFIC_SECRET 69f353b266b82947e411e5f3554c10e62ed211240b4d98dd372c6e9e834c34ee b22ab28143cf7dcef575a38967a0c79364f325cf05fc28459a2c0402bcf035f201f4fa9e5c96976b758e43b9abbe1a3f +CLIENT_TRAFFIC_SECRET_0 69f353b266b82947e411e5f3554c10e62ed211240b4d98dd372c6e9e834c34ee 221e26fdc2213f834c5341b42e2d8674cbf80c160d77427d499ebf6cb928a0317b3e819c8c57c8c74261abcda44d6f30 +SERVER_TRAFFIC_SECRET_0 69f353b266b82947e411e5f3554c10e62ed211240b4d98dd372c6e9e834c34ee 6929b11ebf47dd36823120b393291fe222265266786e9e7d0c387e56449b1b9de1ffff1db3010ba6d190974d39f31b7d +CLIENT_HANDSHAKE_TRAFFIC_SECRET 86b300160fcbe38df6461f0077967a13d0cad0b22f274e0fb75069a9c63bc276 35be15ed8cd2230e72352afe59a7fde8cd2fe1456aead4301673495099de136ac2ba4857d3d01347eba5dd9202291ded +SERVER_HANDSHAKE_TRAFFIC_SECRET 86b300160fcbe38df6461f0077967a13d0cad0b22f274e0fb75069a9c63bc276 cf72ee6efff92cb2c950f5b4646f99473e2327a2e4914e4b78a8371a2503be47dccf9c81a5bee3cdcb0c4ea761c75cce +CLIENT_TRAFFIC_SECRET_0 86b300160fcbe38df6461f0077967a13d0cad0b22f274e0fb75069a9c63bc276 36fc41651ea7b5adcabf96d0f512d7d50005d76690a4443b6630babbd1be5ed72c9d51fa8ff7b28aa3bee8aaadb15639 +SERVER_TRAFFIC_SECRET_0 86b300160fcbe38df6461f0077967a13d0cad0b22f274e0fb75069a9c63bc276 ed6eb228b5fa4e7f776ad1ca4adb6610940644cba212a24262df46dc7c656e335b27079ac46c77a5107e87b5198ebef0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 86b300160fcbe38df6461f0077967a13d0cad0b22f274e0fb75069a9c63bc276 35be15ed8cd2230e72352afe59a7fde8cd2fe1456aead4301673495099de136ac2ba4857d3d01347eba5dd9202291ded +SERVER_HANDSHAKE_TRAFFIC_SECRET 86b300160fcbe38df6461f0077967a13d0cad0b22f274e0fb75069a9c63bc276 cf72ee6efff92cb2c950f5b4646f99473e2327a2e4914e4b78a8371a2503be47dccf9c81a5bee3cdcb0c4ea761c75cce +CLIENT_TRAFFIC_SECRET_0 86b300160fcbe38df6461f0077967a13d0cad0b22f274e0fb75069a9c63bc276 36fc41651ea7b5adcabf96d0f512d7d50005d76690a4443b6630babbd1be5ed72c9d51fa8ff7b28aa3bee8aaadb15639 +SERVER_TRAFFIC_SECRET_0 86b300160fcbe38df6461f0077967a13d0cad0b22f274e0fb75069a9c63bc276 ed6eb228b5fa4e7f776ad1ca4adb6610940644cba212a24262df46dc7c656e335b27079ac46c77a5107e87b5198ebef0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 82542c2ba4df7ba706e006a6b6e0872da7a173b9c838afd7c2b38a4288469e8a ce039605aa46f31610242106fb006640a916ef457c634f0b107d463014b6c6cad6eceff7f0a500971f69e0be301da863 +SERVER_HANDSHAKE_TRAFFIC_SECRET 82542c2ba4df7ba706e006a6b6e0872da7a173b9c838afd7c2b38a4288469e8a 36b598514c974da2a0154cfbb438d4fa848543b8ba4c6510d89b624e7b5dcf2013a45528feb9199c1ecdfb642da4c908 +CLIENT_TRAFFIC_SECRET_0 82542c2ba4df7ba706e006a6b6e0872da7a173b9c838afd7c2b38a4288469e8a a7a369d61251177a5d481cdc3a7ca11257f2c80a719ca55c82f139f072ad363aada4c7fd4ae46e919a4dfe27f0060cf4 +SERVER_TRAFFIC_SECRET_0 82542c2ba4df7ba706e006a6b6e0872da7a173b9c838afd7c2b38a4288469e8a 1d33f23e7d4e6899a3c34757971a2ff0a7e285403b8506cfe3525bbed01172be5cf004a6b4bd6defc17a1994a0b4729f +CLIENT_HANDSHAKE_TRAFFIC_SECRET 82542c2ba4df7ba706e006a6b6e0872da7a173b9c838afd7c2b38a4288469e8a ce039605aa46f31610242106fb006640a916ef457c634f0b107d463014b6c6cad6eceff7f0a500971f69e0be301da863 +SERVER_HANDSHAKE_TRAFFIC_SECRET 82542c2ba4df7ba706e006a6b6e0872da7a173b9c838afd7c2b38a4288469e8a 36b598514c974da2a0154cfbb438d4fa848543b8ba4c6510d89b624e7b5dcf2013a45528feb9199c1ecdfb642da4c908 +CLIENT_TRAFFIC_SECRET_0 82542c2ba4df7ba706e006a6b6e0872da7a173b9c838afd7c2b38a4288469e8a a7a369d61251177a5d481cdc3a7ca11257f2c80a719ca55c82f139f072ad363aada4c7fd4ae46e919a4dfe27f0060cf4 +SERVER_TRAFFIC_SECRET_0 82542c2ba4df7ba706e006a6b6e0872da7a173b9c838afd7c2b38a4288469e8a 1d33f23e7d4e6899a3c34757971a2ff0a7e285403b8506cfe3525bbed01172be5cf004a6b4bd6defc17a1994a0b4729f +CLIENT_HANDSHAKE_TRAFFIC_SECRET e98988d9a9a3a09e97e1ca959a2a43c5e6570ead01cbdd7d29b47f7738146db5 5a74bdcbf6f7bd1713252d66aea3d6fb9d5e3c253c2016dc87d97ef789a2ad636b8eb5068baf27c402368ac7d8e96813 +SERVER_HANDSHAKE_TRAFFIC_SECRET e98988d9a9a3a09e97e1ca959a2a43c5e6570ead01cbdd7d29b47f7738146db5 a57be96895ce3609ef2f9f8aa4061f271bd921ad7072f7c50121ea5377e52db437d5293f64117f38c481ba5016539b13 +CLIENT_TRAFFIC_SECRET_0 e98988d9a9a3a09e97e1ca959a2a43c5e6570ead01cbdd7d29b47f7738146db5 e5ef8f5aa51a0a4d58a40f4e66e4eb38e8f41e1135653e1bf6f22383b40b481d12386acf9e283359acb300250281c081 +SERVER_TRAFFIC_SECRET_0 e98988d9a9a3a09e97e1ca959a2a43c5e6570ead01cbdd7d29b47f7738146db5 f554f9e4e0ac8e2cf1a43a2ce6b72c15f4809b006923514416202c72bf040409f86f5b8b9ba87facd45f17dc58bbd179 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e98988d9a9a3a09e97e1ca959a2a43c5e6570ead01cbdd7d29b47f7738146db5 5a74bdcbf6f7bd1713252d66aea3d6fb9d5e3c253c2016dc87d97ef789a2ad636b8eb5068baf27c402368ac7d8e96813 +SERVER_HANDSHAKE_TRAFFIC_SECRET e98988d9a9a3a09e97e1ca959a2a43c5e6570ead01cbdd7d29b47f7738146db5 a57be96895ce3609ef2f9f8aa4061f271bd921ad7072f7c50121ea5377e52db437d5293f64117f38c481ba5016539b13 +CLIENT_TRAFFIC_SECRET_0 e98988d9a9a3a09e97e1ca959a2a43c5e6570ead01cbdd7d29b47f7738146db5 e5ef8f5aa51a0a4d58a40f4e66e4eb38e8f41e1135653e1bf6f22383b40b481d12386acf9e283359acb300250281c081 +SERVER_TRAFFIC_SECRET_0 e98988d9a9a3a09e97e1ca959a2a43c5e6570ead01cbdd7d29b47f7738146db5 f554f9e4e0ac8e2cf1a43a2ce6b72c15f4809b006923514416202c72bf040409f86f5b8b9ba87facd45f17dc58bbd179 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e76d194790a1dd52b915412209a27c59cc69bf02eb82579db86052de67475b06 68936cf7d7638b14080670655997226753909c001f1bb4b09a7ad99a1c3f3dcd7dfe0e283a50b46e1e016a7ec34f20f2 +SERVER_HANDSHAKE_TRAFFIC_SECRET e76d194790a1dd52b915412209a27c59cc69bf02eb82579db86052de67475b06 c42b4b02b46a8c0f34ea0f34b2b7bd390f4be652608ff727d9f89e874f5d531443e9ef379458b3f7a68fafef021e3dec +CLIENT_TRAFFIC_SECRET_0 e76d194790a1dd52b915412209a27c59cc69bf02eb82579db86052de67475b06 3b219d74e2c59c3018189f1ccea7ef6d6e5b3799b8574397451a5b6cb173384144feeffd8c74a5260b30d8b3a5f0291f +SERVER_TRAFFIC_SECRET_0 e76d194790a1dd52b915412209a27c59cc69bf02eb82579db86052de67475b06 88f272d8140be08c86b90f1c3f049f29e5d587673dbd8991bc565f3dec97847cf1b3bd9f5adb6b482457a23a092d71c6 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e76d194790a1dd52b915412209a27c59cc69bf02eb82579db86052de67475b06 68936cf7d7638b14080670655997226753909c001f1bb4b09a7ad99a1c3f3dcd7dfe0e283a50b46e1e016a7ec34f20f2 +SERVER_HANDSHAKE_TRAFFIC_SECRET e76d194790a1dd52b915412209a27c59cc69bf02eb82579db86052de67475b06 c42b4b02b46a8c0f34ea0f34b2b7bd390f4be652608ff727d9f89e874f5d531443e9ef379458b3f7a68fafef021e3dec +CLIENT_TRAFFIC_SECRET_0 e76d194790a1dd52b915412209a27c59cc69bf02eb82579db86052de67475b06 3b219d74e2c59c3018189f1ccea7ef6d6e5b3799b8574397451a5b6cb173384144feeffd8c74a5260b30d8b3a5f0291f +SERVER_TRAFFIC_SECRET_0 e76d194790a1dd52b915412209a27c59cc69bf02eb82579db86052de67475b06 88f272d8140be08c86b90f1c3f049f29e5d587673dbd8991bc565f3dec97847cf1b3bd9f5adb6b482457a23a092d71c6 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 230995827a6b9d09b6618f1741eb539f8f968d7b862ce82e05b201613beacbbc b319775ef2a4be94ccdc20b380e14faaafcdd1db2dc952db2e6c30e17e8d9a9a2989980a8c616a86bdbc28e422b9a88b +SERVER_HANDSHAKE_TRAFFIC_SECRET 230995827a6b9d09b6618f1741eb539f8f968d7b862ce82e05b201613beacbbc 763a15837000cbb8b758b93b9ce22ee53b40d84e42dcef0152eeeeca149c6f979f36897286f46a922f09ea0595d9a4fb +CLIENT_TRAFFIC_SECRET_0 230995827a6b9d09b6618f1741eb539f8f968d7b862ce82e05b201613beacbbc 24dddaac6e097fd4c57a01372a70b4088a93be18fe9ece67aadd818d300bf5156b362f20f3db4fdbf8800c77cfcac430 +SERVER_TRAFFIC_SECRET_0 230995827a6b9d09b6618f1741eb539f8f968d7b862ce82e05b201613beacbbc d26a464b1ed90e0d8fe70781e21be358e47c9ae276fb1c11b352442f16a1ce164b692f47ffda67bff40407d60e7a9b9b +CLIENT_HANDSHAKE_TRAFFIC_SECRET 230995827a6b9d09b6618f1741eb539f8f968d7b862ce82e05b201613beacbbc b319775ef2a4be94ccdc20b380e14faaafcdd1db2dc952db2e6c30e17e8d9a9a2989980a8c616a86bdbc28e422b9a88b +SERVER_HANDSHAKE_TRAFFIC_SECRET 230995827a6b9d09b6618f1741eb539f8f968d7b862ce82e05b201613beacbbc 763a15837000cbb8b758b93b9ce22ee53b40d84e42dcef0152eeeeca149c6f979f36897286f46a922f09ea0595d9a4fb +CLIENT_TRAFFIC_SECRET_0 230995827a6b9d09b6618f1741eb539f8f968d7b862ce82e05b201613beacbbc 24dddaac6e097fd4c57a01372a70b4088a93be18fe9ece67aadd818d300bf5156b362f20f3db4fdbf8800c77cfcac430 +SERVER_TRAFFIC_SECRET_0 230995827a6b9d09b6618f1741eb539f8f968d7b862ce82e05b201613beacbbc d26a464b1ed90e0d8fe70781e21be358e47c9ae276fb1c11b352442f16a1ce164b692f47ffda67bff40407d60e7a9b9b +CLIENT_HANDSHAKE_TRAFFIC_SECRET c63c8bc5f187dd2e28f239c96267c3f86ae4736724ec6f21c17dea50e32c84ba e0c31d5d1647b9a280dc45c189400817f631b24ce5462505a6243abbd263f4007201ef08f30794c183e0bf65e3b91793 +SERVER_HANDSHAKE_TRAFFIC_SECRET c63c8bc5f187dd2e28f239c96267c3f86ae4736724ec6f21c17dea50e32c84ba 3b67281222f04aa80f42e3c82034458315e1462f2564d9696abc25e7a27ce38fa01fa25fb089e6db62057f68f63de614 +CLIENT_TRAFFIC_SECRET_0 c63c8bc5f187dd2e28f239c96267c3f86ae4736724ec6f21c17dea50e32c84ba f8420992d21f6160c1e5ea0de3e8d51b69d65d40108958d827b728bee0a27c155eaa2fc42d443dac1f6a34800fc3317d +SERVER_TRAFFIC_SECRET_0 c63c8bc5f187dd2e28f239c96267c3f86ae4736724ec6f21c17dea50e32c84ba 0309fb093ee153d7d6f6a1f78cd1158240ee1a2bf0caf07676b2e3a41a9185004eb09dabdb6f3835ec75e0e1f60a731d +CLIENT_HANDSHAKE_TRAFFIC_SECRET c63c8bc5f187dd2e28f239c96267c3f86ae4736724ec6f21c17dea50e32c84ba e0c31d5d1647b9a280dc45c189400817f631b24ce5462505a6243abbd263f4007201ef08f30794c183e0bf65e3b91793 +SERVER_HANDSHAKE_TRAFFIC_SECRET c63c8bc5f187dd2e28f239c96267c3f86ae4736724ec6f21c17dea50e32c84ba 3b67281222f04aa80f42e3c82034458315e1462f2564d9696abc25e7a27ce38fa01fa25fb089e6db62057f68f63de614 +CLIENT_TRAFFIC_SECRET_0 c63c8bc5f187dd2e28f239c96267c3f86ae4736724ec6f21c17dea50e32c84ba f8420992d21f6160c1e5ea0de3e8d51b69d65d40108958d827b728bee0a27c155eaa2fc42d443dac1f6a34800fc3317d +SERVER_TRAFFIC_SECRET_0 c63c8bc5f187dd2e28f239c96267c3f86ae4736724ec6f21c17dea50e32c84ba 0309fb093ee153d7d6f6a1f78cd1158240ee1a2bf0caf07676b2e3a41a9185004eb09dabdb6f3835ec75e0e1f60a731d +CLIENT_HANDSHAKE_TRAFFIC_SECRET 7403bdc30ae7abfe562440b791f8b5d7abad7735adac422ef73fb73287668813 059d31a42d57549f0da3b8561912aa7dc73ef8708bf6339e50a59a49ae6509438549b183ed8139dec26bebb993cebe56 +SERVER_HANDSHAKE_TRAFFIC_SECRET 7403bdc30ae7abfe562440b791f8b5d7abad7735adac422ef73fb73287668813 48cf9112b5e9e91d401cd9ae92f7007a5859cf27fdd28080d201d4d8596d2d53afe9e473bae4bc086db8e77670242620 +CLIENT_TRAFFIC_SECRET_0 7403bdc30ae7abfe562440b791f8b5d7abad7735adac422ef73fb73287668813 b9a40e23c89530b51ecbfc0e9b978ef8c65436ea3e9806d6fdf89da4cf959f846dd686905c7d9be867d911313020969a +SERVER_TRAFFIC_SECRET_0 7403bdc30ae7abfe562440b791f8b5d7abad7735adac422ef73fb73287668813 e54630fd80fb9dfd6a6b820ead12b7bf4199c258a609cf6210546a088ce83188939c96cc54417510376cefc6555e3166 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 7403bdc30ae7abfe562440b791f8b5d7abad7735adac422ef73fb73287668813 059d31a42d57549f0da3b8561912aa7dc73ef8708bf6339e50a59a49ae6509438549b183ed8139dec26bebb993cebe56 +SERVER_HANDSHAKE_TRAFFIC_SECRET 7403bdc30ae7abfe562440b791f8b5d7abad7735adac422ef73fb73287668813 48cf9112b5e9e91d401cd9ae92f7007a5859cf27fdd28080d201d4d8596d2d53afe9e473bae4bc086db8e77670242620 +CLIENT_TRAFFIC_SECRET_0 7403bdc30ae7abfe562440b791f8b5d7abad7735adac422ef73fb73287668813 b9a40e23c89530b51ecbfc0e9b978ef8c65436ea3e9806d6fdf89da4cf959f846dd686905c7d9be867d911313020969a +SERVER_TRAFFIC_SECRET_0 7403bdc30ae7abfe562440b791f8b5d7abad7735adac422ef73fb73287668813 e54630fd80fb9dfd6a6b820ead12b7bf4199c258a609cf6210546a088ce83188939c96cc54417510376cefc6555e3166 +CLIENT_HANDSHAKE_TRAFFIC_SECRET dccf740c710e5b40cde6980455b7dc6fe274de0dfd3045f72fff68f9b701cd69 3137060145a1042d7a88372572eadd08f1be85c0a5cb04c0206b4f1e1becc3ef13c29f735919901c4533f8cc10a06218 +SERVER_HANDSHAKE_TRAFFIC_SECRET dccf740c710e5b40cde6980455b7dc6fe274de0dfd3045f72fff68f9b701cd69 7f50356c5276b507fdc363046125b6c8b44c281083ff9e51cb5598cba6ac76a7dfd497bb6959860d1ba6d623ca6bbdfd +CLIENT_TRAFFIC_SECRET_0 dccf740c710e5b40cde6980455b7dc6fe274de0dfd3045f72fff68f9b701cd69 3c293f107323e588b118658a9ded0bdf8d2b4e21902e61157d4dd99a977b434c3886618f71829ae9fb41f56e9ae33c54 +SERVER_TRAFFIC_SECRET_0 dccf740c710e5b40cde6980455b7dc6fe274de0dfd3045f72fff68f9b701cd69 194b83dab0fcb486295967563df3a2760f96f6939a2820c25fc0213d6f1894848a8f630e846def1265282e8d6f9877e5 +CLIENT_HANDSHAKE_TRAFFIC_SECRET dccf740c710e5b40cde6980455b7dc6fe274de0dfd3045f72fff68f9b701cd69 3137060145a1042d7a88372572eadd08f1be85c0a5cb04c0206b4f1e1becc3ef13c29f735919901c4533f8cc10a06218 +SERVER_HANDSHAKE_TRAFFIC_SECRET dccf740c710e5b40cde6980455b7dc6fe274de0dfd3045f72fff68f9b701cd69 7f50356c5276b507fdc363046125b6c8b44c281083ff9e51cb5598cba6ac76a7dfd497bb6959860d1ba6d623ca6bbdfd +CLIENT_TRAFFIC_SECRET_0 dccf740c710e5b40cde6980455b7dc6fe274de0dfd3045f72fff68f9b701cd69 3c293f107323e588b118658a9ded0bdf8d2b4e21902e61157d4dd99a977b434c3886618f71829ae9fb41f56e9ae33c54 +SERVER_TRAFFIC_SECRET_0 dccf740c710e5b40cde6980455b7dc6fe274de0dfd3045f72fff68f9b701cd69 194b83dab0fcb486295967563df3a2760f96f6939a2820c25fc0213d6f1894848a8f630e846def1265282e8d6f9877e5 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a1158a7a1c6456066a9ccae3cac179fd53476d1254fbbd5b34982d527f5f5eb7 7ca52131852c2bc85c0a74749a9debe8cd75087f99c6803b5cf8fee272afe6cabdcdfeca9f29fea2cbc3000ce4737800 +SERVER_HANDSHAKE_TRAFFIC_SECRET a1158a7a1c6456066a9ccae3cac179fd53476d1254fbbd5b34982d527f5f5eb7 5d8da42de5778dd19967b47aa481d3455db99a0c611c1aa1bc9fca48babf2b66e64ba8f93b8363a4e3bb786cb524e465 +CLIENT_TRAFFIC_SECRET_0 a1158a7a1c6456066a9ccae3cac179fd53476d1254fbbd5b34982d527f5f5eb7 a7d2d0f854005abfaa642f14b55006c4d2a783318eafec931548d324f790b84eac7f380783c92ec3e2fb66ab2e534fce +SERVER_TRAFFIC_SECRET_0 a1158a7a1c6456066a9ccae3cac179fd53476d1254fbbd5b34982d527f5f5eb7 f86d1e8bc1dc2b7c215980b844e8b4435b76b9588ae02ee8ed873fdd138e789c33c2d8c9007f2cb08e09d18cb964af7f +CLIENT_HANDSHAKE_TRAFFIC_SECRET a1158a7a1c6456066a9ccae3cac179fd53476d1254fbbd5b34982d527f5f5eb7 7ca52131852c2bc85c0a74749a9debe8cd75087f99c6803b5cf8fee272afe6cabdcdfeca9f29fea2cbc3000ce4737800 +SERVER_HANDSHAKE_TRAFFIC_SECRET a1158a7a1c6456066a9ccae3cac179fd53476d1254fbbd5b34982d527f5f5eb7 5d8da42de5778dd19967b47aa481d3455db99a0c611c1aa1bc9fca48babf2b66e64ba8f93b8363a4e3bb786cb524e465 +CLIENT_TRAFFIC_SECRET_0 a1158a7a1c6456066a9ccae3cac179fd53476d1254fbbd5b34982d527f5f5eb7 a7d2d0f854005abfaa642f14b55006c4d2a783318eafec931548d324f790b84eac7f380783c92ec3e2fb66ab2e534fce +SERVER_TRAFFIC_SECRET_0 a1158a7a1c6456066a9ccae3cac179fd53476d1254fbbd5b34982d527f5f5eb7 f86d1e8bc1dc2b7c215980b844e8b4435b76b9588ae02ee8ed873fdd138e789c33c2d8c9007f2cb08e09d18cb964af7f +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8c1ededc55c23fa5cae517687fda849ba473060ed487819c38be72ba549982ec 27f50ded45b414b364810d9e04b8a3de0b2ed10ee4db664e82891f012468aad8be597a9adde57b12dad1f4cdb7b783ce +SERVER_HANDSHAKE_TRAFFIC_SECRET 8c1ededc55c23fa5cae517687fda849ba473060ed487819c38be72ba549982ec 5593a35006f3b891956dabb5ed207f69a7a4800ad2ce0550e1f78cc28aff1861631f420ad7df53833e83c9ca172a0f27 +CLIENT_TRAFFIC_SECRET_0 8c1ededc55c23fa5cae517687fda849ba473060ed487819c38be72ba549982ec ef336d460e37701811397099cabd0005168d05370f0927b5aab3a88d7ece9517d9c2bece8c55e2f9357a0384fb006421 +SERVER_TRAFFIC_SECRET_0 8c1ededc55c23fa5cae517687fda849ba473060ed487819c38be72ba549982ec 2e60b099067766c51e3e52f2fa3eb55f85f3406ed1f7dc28fac67afadf2c3d63711cc71abf796a3f7cbadd3cd0f6bccd +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8c1ededc55c23fa5cae517687fda849ba473060ed487819c38be72ba549982ec 27f50ded45b414b364810d9e04b8a3de0b2ed10ee4db664e82891f012468aad8be597a9adde57b12dad1f4cdb7b783ce +SERVER_HANDSHAKE_TRAFFIC_SECRET 8c1ededc55c23fa5cae517687fda849ba473060ed487819c38be72ba549982ec 5593a35006f3b891956dabb5ed207f69a7a4800ad2ce0550e1f78cc28aff1861631f420ad7df53833e83c9ca172a0f27 +CLIENT_TRAFFIC_SECRET_0 8c1ededc55c23fa5cae517687fda849ba473060ed487819c38be72ba549982ec ef336d460e37701811397099cabd0005168d05370f0927b5aab3a88d7ece9517d9c2bece8c55e2f9357a0384fb006421 +SERVER_TRAFFIC_SECRET_0 8c1ededc55c23fa5cae517687fda849ba473060ed487819c38be72ba549982ec 2e60b099067766c51e3e52f2fa3eb55f85f3406ed1f7dc28fac67afadf2c3d63711cc71abf796a3f7cbadd3cd0f6bccd +CLIENT_HANDSHAKE_TRAFFIC_SECRET f2b6baa238726e6ff3da2e75124f8e3307a34ff4c6686dd5f1427092a29da56a 063058605b1c3195245f65db1e45992f96480db4d4dafc4e243e37d4207a9e4fbc45398d82503094fa7a2380c2ede2c5 +SERVER_HANDSHAKE_TRAFFIC_SECRET f2b6baa238726e6ff3da2e75124f8e3307a34ff4c6686dd5f1427092a29da56a f3b7ac3b07aa2b07a701dbe5d790b1730f624811b725816300db23b0485687d13a42c2e73790e9179ffd68381c8afc42 +CLIENT_TRAFFIC_SECRET_0 f2b6baa238726e6ff3da2e75124f8e3307a34ff4c6686dd5f1427092a29da56a be1e8b928003dad0825c852fac36e8557b0dc557ec90ed92cfc1208232b052fbcd01f1f9deb9af418c92beec96ec87c9 +SERVER_TRAFFIC_SECRET_0 f2b6baa238726e6ff3da2e75124f8e3307a34ff4c6686dd5f1427092a29da56a 6d6644432885c0548ac1b834b00564e95a54da01c1bbc708c0fcc73627ee8df9a6f16afaadd3cdbac47be24cbb9a955f +CLIENT_HANDSHAKE_TRAFFIC_SECRET f2b6baa238726e6ff3da2e75124f8e3307a34ff4c6686dd5f1427092a29da56a 063058605b1c3195245f65db1e45992f96480db4d4dafc4e243e37d4207a9e4fbc45398d82503094fa7a2380c2ede2c5 +SERVER_HANDSHAKE_TRAFFIC_SECRET f2b6baa238726e6ff3da2e75124f8e3307a34ff4c6686dd5f1427092a29da56a f3b7ac3b07aa2b07a701dbe5d790b1730f624811b725816300db23b0485687d13a42c2e73790e9179ffd68381c8afc42 +CLIENT_TRAFFIC_SECRET_0 f2b6baa238726e6ff3da2e75124f8e3307a34ff4c6686dd5f1427092a29da56a be1e8b928003dad0825c852fac36e8557b0dc557ec90ed92cfc1208232b052fbcd01f1f9deb9af418c92beec96ec87c9 +SERVER_TRAFFIC_SECRET_0 f2b6baa238726e6ff3da2e75124f8e3307a34ff4c6686dd5f1427092a29da56a 6d6644432885c0548ac1b834b00564e95a54da01c1bbc708c0fcc73627ee8df9a6f16afaadd3cdbac47be24cbb9a955f +CLIENT_HANDSHAKE_TRAFFIC_SECRET 06c3097e21b4d22e94878e5f61b779af1e3e528f1e54ba7898b50189c9c24b5e 4cbeefca34e45011a696b7769653d2ed23cd4da9849e5a7b23d9da6d185a22a696f489e7cf3cdaf77f6244314100f8db +SERVER_HANDSHAKE_TRAFFIC_SECRET 06c3097e21b4d22e94878e5f61b779af1e3e528f1e54ba7898b50189c9c24b5e 24f24769db55312b57bfeba38ce1be302d1e80dc68a08c98385b8bf6222285ae49994f079ac76c62b629e0beee30b813 +CLIENT_TRAFFIC_SECRET_0 06c3097e21b4d22e94878e5f61b779af1e3e528f1e54ba7898b50189c9c24b5e 30cbafa86f0909811bb06702726d6d5155c8f08e61c89c966098fa01b6bbfd9cf755d4c4d7bdebc2720fb8a105ab16ce +SERVER_TRAFFIC_SECRET_0 06c3097e21b4d22e94878e5f61b779af1e3e528f1e54ba7898b50189c9c24b5e c63eb65b96d5cc9975a5db7f2813768a2c7418f3c7dbd85505092554b03e8cb3a6fb5e588e36df4ee32821d1052dfde7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 06c3097e21b4d22e94878e5f61b779af1e3e528f1e54ba7898b50189c9c24b5e 4cbeefca34e45011a696b7769653d2ed23cd4da9849e5a7b23d9da6d185a22a696f489e7cf3cdaf77f6244314100f8db +SERVER_HANDSHAKE_TRAFFIC_SECRET 06c3097e21b4d22e94878e5f61b779af1e3e528f1e54ba7898b50189c9c24b5e 24f24769db55312b57bfeba38ce1be302d1e80dc68a08c98385b8bf6222285ae49994f079ac76c62b629e0beee30b813 +CLIENT_TRAFFIC_SECRET_0 06c3097e21b4d22e94878e5f61b779af1e3e528f1e54ba7898b50189c9c24b5e 30cbafa86f0909811bb06702726d6d5155c8f08e61c89c966098fa01b6bbfd9cf755d4c4d7bdebc2720fb8a105ab16ce +SERVER_TRAFFIC_SECRET_0 06c3097e21b4d22e94878e5f61b779af1e3e528f1e54ba7898b50189c9c24b5e c63eb65b96d5cc9975a5db7f2813768a2c7418f3c7dbd85505092554b03e8cb3a6fb5e588e36df4ee32821d1052dfde7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e2cb580f3302b5a03ac8668f706df7f775f84e56d6f37098af3aadb6e12be906 b9f9b36977558e35d1b6806d08c162de07d281c518f584af3b1b9e1c234a966cf884873d53772e4a9eea53525ab97156 +SERVER_HANDSHAKE_TRAFFIC_SECRET e2cb580f3302b5a03ac8668f706df7f775f84e56d6f37098af3aadb6e12be906 3b1c189eb3917c9c39cda596108d7dbd9048cb602693d7335ebac6de5ee1d55f044d0ca10731088ca8defd86142b13d2 +CLIENT_TRAFFIC_SECRET_0 e2cb580f3302b5a03ac8668f706df7f775f84e56d6f37098af3aadb6e12be906 95650db1f5266b203d067ee3ef046092b47c0d0907275768c76f60141bf2e7ad10f49ee82962c025181d098a1a0f2d7f +SERVER_TRAFFIC_SECRET_0 e2cb580f3302b5a03ac8668f706df7f775f84e56d6f37098af3aadb6e12be906 4ef6a474087830d418531d475eff20d4a6c19e589c8ad9e33ad4012c5f3cd45368ebf8d07293d187af187b45d9ded02f +CLIENT_HANDSHAKE_TRAFFIC_SECRET e2cb580f3302b5a03ac8668f706df7f775f84e56d6f37098af3aadb6e12be906 b9f9b36977558e35d1b6806d08c162de07d281c518f584af3b1b9e1c234a966cf884873d53772e4a9eea53525ab97156 +SERVER_HANDSHAKE_TRAFFIC_SECRET e2cb580f3302b5a03ac8668f706df7f775f84e56d6f37098af3aadb6e12be906 3b1c189eb3917c9c39cda596108d7dbd9048cb602693d7335ebac6de5ee1d55f044d0ca10731088ca8defd86142b13d2 +CLIENT_TRAFFIC_SECRET_0 e2cb580f3302b5a03ac8668f706df7f775f84e56d6f37098af3aadb6e12be906 95650db1f5266b203d067ee3ef046092b47c0d0907275768c76f60141bf2e7ad10f49ee82962c025181d098a1a0f2d7f +SERVER_TRAFFIC_SECRET_0 e2cb580f3302b5a03ac8668f706df7f775f84e56d6f37098af3aadb6e12be906 4ef6a474087830d418531d475eff20d4a6c19e589c8ad9e33ad4012c5f3cd45368ebf8d07293d187af187b45d9ded02f +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3c440862a9fd6367f3bb4ef6e80f718c1a4dd4a0a81536c74b5d41a2aa8a3a0e 849efc8d77ba2204e9b17d12be7af3a5a92cdf8243e9972c8581a36f47d2f49b27b76dcccb019cbc74790e4ad2a02ce5 +SERVER_HANDSHAKE_TRAFFIC_SECRET 3c440862a9fd6367f3bb4ef6e80f718c1a4dd4a0a81536c74b5d41a2aa8a3a0e 31208ee24da4bfabd79e9d6e55858e721c36c96ed27c701e5c679b215ba02a55049e0cfc6be84ef8067f1cc7c70223f8 +CLIENT_TRAFFIC_SECRET_0 3c440862a9fd6367f3bb4ef6e80f718c1a4dd4a0a81536c74b5d41a2aa8a3a0e f95de0712b17d0e8cb743c16662ca4c0773ca6a847c53364ad656f9708405764b5c244cd0c110cc13f67724024401c4c +SERVER_TRAFFIC_SECRET_0 3c440862a9fd6367f3bb4ef6e80f718c1a4dd4a0a81536c74b5d41a2aa8a3a0e d61e9b13182c04156210211b664e5c12effe5359088cda851f263095a7090ddd27a1a312428c168da403c9ff9e3bb4c3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3c440862a9fd6367f3bb4ef6e80f718c1a4dd4a0a81536c74b5d41a2aa8a3a0e 849efc8d77ba2204e9b17d12be7af3a5a92cdf8243e9972c8581a36f47d2f49b27b76dcccb019cbc74790e4ad2a02ce5 +SERVER_HANDSHAKE_TRAFFIC_SECRET 3c440862a9fd6367f3bb4ef6e80f718c1a4dd4a0a81536c74b5d41a2aa8a3a0e 31208ee24da4bfabd79e9d6e55858e721c36c96ed27c701e5c679b215ba02a55049e0cfc6be84ef8067f1cc7c70223f8 +CLIENT_TRAFFIC_SECRET_0 3c440862a9fd6367f3bb4ef6e80f718c1a4dd4a0a81536c74b5d41a2aa8a3a0e f95de0712b17d0e8cb743c16662ca4c0773ca6a847c53364ad656f9708405764b5c244cd0c110cc13f67724024401c4c +SERVER_TRAFFIC_SECRET_0 3c440862a9fd6367f3bb4ef6e80f718c1a4dd4a0a81536c74b5d41a2aa8a3a0e d61e9b13182c04156210211b664e5c12effe5359088cda851f263095a7090ddd27a1a312428c168da403c9ff9e3bb4c3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 80650069f21380654ae4d0adfccbab9c40d9ecd549fc22cc4cddeeb15699ab42 c81a3d7475d82a311e11e17a56e343a56ffdec2d491f6c4dc6a6039c2e413a1ef917c523236eaf71917547098b9f9c29 +SERVER_HANDSHAKE_TRAFFIC_SECRET 80650069f21380654ae4d0adfccbab9c40d9ecd549fc22cc4cddeeb15699ab42 d85c847ffc3f311a3ba49bbb4967ac196656729d5b975a33de1c89a4c2ac89326be7b490a0d528045b73919a37a38516 +CLIENT_TRAFFIC_SECRET_0 80650069f21380654ae4d0adfccbab9c40d9ecd549fc22cc4cddeeb15699ab42 b9ffbabb253926e46dce7bfa36172d2a2f620f385d42a444df904ef3d4c2ec84856aa4c3db340ea26959ea52dd16e236 +SERVER_TRAFFIC_SECRET_0 80650069f21380654ae4d0adfccbab9c40d9ecd549fc22cc4cddeeb15699ab42 b15b4894dad520d9eabb20afb226685fbed294a8821c91d6efc48d26addb60ef28a05b1218a79a3308a1c570a74fdefc +CLIENT_HANDSHAKE_TRAFFIC_SECRET 80650069f21380654ae4d0adfccbab9c40d9ecd549fc22cc4cddeeb15699ab42 c81a3d7475d82a311e11e17a56e343a56ffdec2d491f6c4dc6a6039c2e413a1ef917c523236eaf71917547098b9f9c29 +SERVER_HANDSHAKE_TRAFFIC_SECRET 80650069f21380654ae4d0adfccbab9c40d9ecd549fc22cc4cddeeb15699ab42 d85c847ffc3f311a3ba49bbb4967ac196656729d5b975a33de1c89a4c2ac89326be7b490a0d528045b73919a37a38516 +CLIENT_TRAFFIC_SECRET_0 80650069f21380654ae4d0adfccbab9c40d9ecd549fc22cc4cddeeb15699ab42 b9ffbabb253926e46dce7bfa36172d2a2f620f385d42a444df904ef3d4c2ec84856aa4c3db340ea26959ea52dd16e236 +SERVER_TRAFFIC_SECRET_0 80650069f21380654ae4d0adfccbab9c40d9ecd549fc22cc4cddeeb15699ab42 b15b4894dad520d9eabb20afb226685fbed294a8821c91d6efc48d26addb60ef28a05b1218a79a3308a1c570a74fdefc +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1a41105458dac66f9fd69a17e65e86c5bd2fb9aa6df870c89a83383049a727ee a42eb1155f0bcd97ff7c49737e6b046d8f3187da83e46f3f681f446aea5992477a635c9567a68a35cf37faf1b8cdf087 +SERVER_HANDSHAKE_TRAFFIC_SECRET 1a41105458dac66f9fd69a17e65e86c5bd2fb9aa6df870c89a83383049a727ee 46c481c3a280dcb0301c50ad65a2236d4203f6cf357e84396771ba38b34b6812afd5e1defbf0d65c8822b20f1dbdc2c0 +CLIENT_TRAFFIC_SECRET_0 1a41105458dac66f9fd69a17e65e86c5bd2fb9aa6df870c89a83383049a727ee a5c7c3d27833cdf3e33fdf40112fb9db519ca619ee53cd3652bf7f3ab923991f8218f66adc7e4465b431683a4b34fcb8 +SERVER_TRAFFIC_SECRET_0 1a41105458dac66f9fd69a17e65e86c5bd2fb9aa6df870c89a83383049a727ee 3e032e21a83c04675b907ffed105298881113ef389dc1c7e81b0b65a4b2a64727075861616d014f00be1c0cf1766eab6 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1a41105458dac66f9fd69a17e65e86c5bd2fb9aa6df870c89a83383049a727ee a42eb1155f0bcd97ff7c49737e6b046d8f3187da83e46f3f681f446aea5992477a635c9567a68a35cf37faf1b8cdf087 +SERVER_HANDSHAKE_TRAFFIC_SECRET 1a41105458dac66f9fd69a17e65e86c5bd2fb9aa6df870c89a83383049a727ee 46c481c3a280dcb0301c50ad65a2236d4203f6cf357e84396771ba38b34b6812afd5e1defbf0d65c8822b20f1dbdc2c0 +CLIENT_TRAFFIC_SECRET_0 1a41105458dac66f9fd69a17e65e86c5bd2fb9aa6df870c89a83383049a727ee a5c7c3d27833cdf3e33fdf40112fb9db519ca619ee53cd3652bf7f3ab923991f8218f66adc7e4465b431683a4b34fcb8 +SERVER_TRAFFIC_SECRET_0 1a41105458dac66f9fd69a17e65e86c5bd2fb9aa6df870c89a83383049a727ee 3e032e21a83c04675b907ffed105298881113ef389dc1c7e81b0b65a4b2a64727075861616d014f00be1c0cf1766eab6 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2d0975d6e09148f7d2874c318b835f8b5de59fa8770c39d0be055a3fea4ab50a d3ed97fc793509f6df7849c9a7292692b2caa4660ca301c913b6aeb22abc953255de49d555584751173ce57b50880f86 +SERVER_HANDSHAKE_TRAFFIC_SECRET 2d0975d6e09148f7d2874c318b835f8b5de59fa8770c39d0be055a3fea4ab50a 282878b307f3abe20f8c549b80f5d5eecb065aa0eb544af9475c8a8d2c8e71002ca3ba07dd5f799ae9dd16f7813d4aed +CLIENT_TRAFFIC_SECRET_0 2d0975d6e09148f7d2874c318b835f8b5de59fa8770c39d0be055a3fea4ab50a edce5d56e61886b3739c95acb2b02e4e912c373635f668dc5ce4fbd84e50ae9e77ea6c58c42bc8fae42f09d8ef1dfff4 +SERVER_TRAFFIC_SECRET_0 2d0975d6e09148f7d2874c318b835f8b5de59fa8770c39d0be055a3fea4ab50a d2f5b3aa2a43926b9ca05c772330eee92149cfe404b64deda52e08d24777292e46a680fb47773f594cf2aae8c3263f82 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2d0975d6e09148f7d2874c318b835f8b5de59fa8770c39d0be055a3fea4ab50a d3ed97fc793509f6df7849c9a7292692b2caa4660ca301c913b6aeb22abc953255de49d555584751173ce57b50880f86 +SERVER_HANDSHAKE_TRAFFIC_SECRET 2d0975d6e09148f7d2874c318b835f8b5de59fa8770c39d0be055a3fea4ab50a 282878b307f3abe20f8c549b80f5d5eecb065aa0eb544af9475c8a8d2c8e71002ca3ba07dd5f799ae9dd16f7813d4aed +CLIENT_TRAFFIC_SECRET_0 2d0975d6e09148f7d2874c318b835f8b5de59fa8770c39d0be055a3fea4ab50a edce5d56e61886b3739c95acb2b02e4e912c373635f668dc5ce4fbd84e50ae9e77ea6c58c42bc8fae42f09d8ef1dfff4 +SERVER_TRAFFIC_SECRET_0 2d0975d6e09148f7d2874c318b835f8b5de59fa8770c39d0be055a3fea4ab50a d2f5b3aa2a43926b9ca05c772330eee92149cfe404b64deda52e08d24777292e46a680fb47773f594cf2aae8c3263f82 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2072c40352105b610359128c4b6fe38846262e33f8c722adde90ca3042947a7b d77b908a213834029a0127977f16c03d8e9f51a1ad359b3c561a8899fa9e781c6b2e746b2565509500ee3fa06893fcfb +SERVER_HANDSHAKE_TRAFFIC_SECRET 2072c40352105b610359128c4b6fe38846262e33f8c722adde90ca3042947a7b 73a7f9db974dc7c4365a772410b39a0e8a388d08e6e2eff6c076bf5a53662d3af209e5d7081ca6cadc2df726afa1b43c +CLIENT_TRAFFIC_SECRET_0 2072c40352105b610359128c4b6fe38846262e33f8c722adde90ca3042947a7b 2b45f00a797b810822d4833a0282a29094cacbdcab4bc0586d7efb5826aeb96f09d2d2a2f129e6bb05ceb2320163f825 +SERVER_TRAFFIC_SECRET_0 2072c40352105b610359128c4b6fe38846262e33f8c722adde90ca3042947a7b 7ba63736f000f2729d67e6b3a124668cd956c51a85dda1d0c4ea653f691233f1e90139fd0294bde6092e1ee0d92a9388 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2072c40352105b610359128c4b6fe38846262e33f8c722adde90ca3042947a7b d77b908a213834029a0127977f16c03d8e9f51a1ad359b3c561a8899fa9e781c6b2e746b2565509500ee3fa06893fcfb +SERVER_HANDSHAKE_TRAFFIC_SECRET 2072c40352105b610359128c4b6fe38846262e33f8c722adde90ca3042947a7b 73a7f9db974dc7c4365a772410b39a0e8a388d08e6e2eff6c076bf5a53662d3af209e5d7081ca6cadc2df726afa1b43c +CLIENT_TRAFFIC_SECRET_0 2072c40352105b610359128c4b6fe38846262e33f8c722adde90ca3042947a7b 2b45f00a797b810822d4833a0282a29094cacbdcab4bc0586d7efb5826aeb96f09d2d2a2f129e6bb05ceb2320163f825 +SERVER_TRAFFIC_SECRET_0 2072c40352105b610359128c4b6fe38846262e33f8c722adde90ca3042947a7b 7ba63736f000f2729d67e6b3a124668cd956c51a85dda1d0c4ea653f691233f1e90139fd0294bde6092e1ee0d92a9388 +CLIENT_HANDSHAKE_TRAFFIC_SECRET da5ce5d7c05461afce5d2b9f3ef6199e4eafcbaa3ab5e715feff1c4669625e45 5be5aba8db0b336c65b005aa3124bc5838862a51e5cc19d7f799578e6f9866febd0a5f1f9e6c1d7f31784bf98779910c +SERVER_HANDSHAKE_TRAFFIC_SECRET da5ce5d7c05461afce5d2b9f3ef6199e4eafcbaa3ab5e715feff1c4669625e45 89ccd9e82732cb76b5f2ef2fd2bcab951da46c2c6855cea62bbddbfa10898f287532f4cf8859c5b8e569b9967ad57026 +CLIENT_TRAFFIC_SECRET_0 da5ce5d7c05461afce5d2b9f3ef6199e4eafcbaa3ab5e715feff1c4669625e45 a128c3a0074303e79c9ab3b8dcc470eb40a22fa875ff22592acfed321a644946ff6488926d34cc0ceb0bd8d2be77d420 +SERVER_TRAFFIC_SECRET_0 da5ce5d7c05461afce5d2b9f3ef6199e4eafcbaa3ab5e715feff1c4669625e45 b1d32d5595c554b7a3ba5c8c77d771fa5de2cdf0dc1916239038ffd33de7a60d99f7554ffe400cc6c52f5303388b962c +CLIENT_HANDSHAKE_TRAFFIC_SECRET da5ce5d7c05461afce5d2b9f3ef6199e4eafcbaa3ab5e715feff1c4669625e45 5be5aba8db0b336c65b005aa3124bc5838862a51e5cc19d7f799578e6f9866febd0a5f1f9e6c1d7f31784bf98779910c +SERVER_HANDSHAKE_TRAFFIC_SECRET da5ce5d7c05461afce5d2b9f3ef6199e4eafcbaa3ab5e715feff1c4669625e45 89ccd9e82732cb76b5f2ef2fd2bcab951da46c2c6855cea62bbddbfa10898f287532f4cf8859c5b8e569b9967ad57026 +CLIENT_TRAFFIC_SECRET_0 da5ce5d7c05461afce5d2b9f3ef6199e4eafcbaa3ab5e715feff1c4669625e45 a128c3a0074303e79c9ab3b8dcc470eb40a22fa875ff22592acfed321a644946ff6488926d34cc0ceb0bd8d2be77d420 +SERVER_TRAFFIC_SECRET_0 da5ce5d7c05461afce5d2b9f3ef6199e4eafcbaa3ab5e715feff1c4669625e45 b1d32d5595c554b7a3ba5c8c77d771fa5de2cdf0dc1916239038ffd33de7a60d99f7554ffe400cc6c52f5303388b962c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 73210f8f1d93b85ffd9eeb77057204a331b47de67071122c65e66f44b02c963c c8de2b80246279c0165ba023d14595948f082a7bd0c2fabbbefd7fd213ee29eb0013035ca97c31c0691eeb0f0d651c91 +SERVER_HANDSHAKE_TRAFFIC_SECRET 73210f8f1d93b85ffd9eeb77057204a331b47de67071122c65e66f44b02c963c fac75addd57d1dc1d3e948ced5e1d42e66cff4723348c41c67d9c66824690f381eb2429cbcd2fb4a86ac14e3ff8631fc +CLIENT_TRAFFIC_SECRET_0 73210f8f1d93b85ffd9eeb77057204a331b47de67071122c65e66f44b02c963c d8cdce59a8aeac8f0d397bf4d7e724daf76d22131531bdc6111c0b555893164c12d3d34759411b1798faabdd99e8b142 +SERVER_TRAFFIC_SECRET_0 73210f8f1d93b85ffd9eeb77057204a331b47de67071122c65e66f44b02c963c 8a9f096bb5232c3f8baf5c26d40e0ca713d787d8a2f5a0617b7c76a2478181612396bfd0846054c3733924df72a36aae +CLIENT_HANDSHAKE_TRAFFIC_SECRET 73210f8f1d93b85ffd9eeb77057204a331b47de67071122c65e66f44b02c963c c8de2b80246279c0165ba023d14595948f082a7bd0c2fabbbefd7fd213ee29eb0013035ca97c31c0691eeb0f0d651c91 +SERVER_HANDSHAKE_TRAFFIC_SECRET 73210f8f1d93b85ffd9eeb77057204a331b47de67071122c65e66f44b02c963c fac75addd57d1dc1d3e948ced5e1d42e66cff4723348c41c67d9c66824690f381eb2429cbcd2fb4a86ac14e3ff8631fc +CLIENT_TRAFFIC_SECRET_0 73210f8f1d93b85ffd9eeb77057204a331b47de67071122c65e66f44b02c963c d8cdce59a8aeac8f0d397bf4d7e724daf76d22131531bdc6111c0b555893164c12d3d34759411b1798faabdd99e8b142 +SERVER_TRAFFIC_SECRET_0 73210f8f1d93b85ffd9eeb77057204a331b47de67071122c65e66f44b02c963c 8a9f096bb5232c3f8baf5c26d40e0ca713d787d8a2f5a0617b7c76a2478181612396bfd0846054c3733924df72a36aae +CLIENT_HANDSHAKE_TRAFFIC_SECRET f4b83dbb6ec779f4d9b58cbbf63606a59f988a4ab35b99d4709ad919605f7a4a 29f05211a9385879b70b4c8b8cc17ebc34361ed1df47fb1adca6ef8d0e54aa0656791b46ca64c6654d83e77c3464120a +SERVER_HANDSHAKE_TRAFFIC_SECRET f4b83dbb6ec779f4d9b58cbbf63606a59f988a4ab35b99d4709ad919605f7a4a ff2b5806cef4923ccd0f96b2414bcac23db90a802060e06f6f453e3dce6293ee0fcb5f492b4a4d45d24a94907ff4a030 +CLIENT_TRAFFIC_SECRET_0 f4b83dbb6ec779f4d9b58cbbf63606a59f988a4ab35b99d4709ad919605f7a4a a986bc7979fba050231d2e2298edad2473bf44b0e2681768c971088b9ee839f585604ee6fb707e02614d6e91a4436788 +SERVER_TRAFFIC_SECRET_0 f4b83dbb6ec779f4d9b58cbbf63606a59f988a4ab35b99d4709ad919605f7a4a e63adff34c6566bd99e4000d3d68b15a6a7dcf28ac18d961bdc68fdb8f54508511fc03ea10be5d48c5978cedb9a6dd78 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f4b83dbb6ec779f4d9b58cbbf63606a59f988a4ab35b99d4709ad919605f7a4a 29f05211a9385879b70b4c8b8cc17ebc34361ed1df47fb1adca6ef8d0e54aa0656791b46ca64c6654d83e77c3464120a +SERVER_HANDSHAKE_TRAFFIC_SECRET f4b83dbb6ec779f4d9b58cbbf63606a59f988a4ab35b99d4709ad919605f7a4a ff2b5806cef4923ccd0f96b2414bcac23db90a802060e06f6f453e3dce6293ee0fcb5f492b4a4d45d24a94907ff4a030 +CLIENT_TRAFFIC_SECRET_0 f4b83dbb6ec779f4d9b58cbbf63606a59f988a4ab35b99d4709ad919605f7a4a a986bc7979fba050231d2e2298edad2473bf44b0e2681768c971088b9ee839f585604ee6fb707e02614d6e91a4436788 +SERVER_TRAFFIC_SECRET_0 f4b83dbb6ec779f4d9b58cbbf63606a59f988a4ab35b99d4709ad919605f7a4a e63adff34c6566bd99e4000d3d68b15a6a7dcf28ac18d961bdc68fdb8f54508511fc03ea10be5d48c5978cedb9a6dd78 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3b453b197df51fd534bf0f4e032f93313899b0bff2c99a5cec0e1bdff619d122 80d00790234ddb505708e179199a18e334550ae13b870162b93ba102d315287103f06e45e47b4362a757ca2bc8ba26cd +SERVER_HANDSHAKE_TRAFFIC_SECRET 3b453b197df51fd534bf0f4e032f93313899b0bff2c99a5cec0e1bdff619d122 7b1d2d884141d1b0e342a06078d2f11e02840c65d9cee00097b4628087db12698c7b9136d9dfdb7c884ab6b64aabd63d +CLIENT_TRAFFIC_SECRET_0 3b453b197df51fd534bf0f4e032f93313899b0bff2c99a5cec0e1bdff619d122 0c0761bf3395dd3d35d0b342acb48fcb44ee4e1adc1804639f2106f466c27dcd7ddc73094e125a2a99c32ebae815aa94 +SERVER_TRAFFIC_SECRET_0 3b453b197df51fd534bf0f4e032f93313899b0bff2c99a5cec0e1bdff619d122 bae9dfa64577b9d21cfb23d724fc45bff126d767ba1d15d1baa2fbe813b77b34ab3634e084bb1686be339680903d3c2b +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3b453b197df51fd534bf0f4e032f93313899b0bff2c99a5cec0e1bdff619d122 80d00790234ddb505708e179199a18e334550ae13b870162b93ba102d315287103f06e45e47b4362a757ca2bc8ba26cd +SERVER_HANDSHAKE_TRAFFIC_SECRET 3b453b197df51fd534bf0f4e032f93313899b0bff2c99a5cec0e1bdff619d122 7b1d2d884141d1b0e342a06078d2f11e02840c65d9cee00097b4628087db12698c7b9136d9dfdb7c884ab6b64aabd63d +CLIENT_TRAFFIC_SECRET_0 3b453b197df51fd534bf0f4e032f93313899b0bff2c99a5cec0e1bdff619d122 0c0761bf3395dd3d35d0b342acb48fcb44ee4e1adc1804639f2106f466c27dcd7ddc73094e125a2a99c32ebae815aa94 +SERVER_TRAFFIC_SECRET_0 3b453b197df51fd534bf0f4e032f93313899b0bff2c99a5cec0e1bdff619d122 bae9dfa64577b9d21cfb23d724fc45bff126d767ba1d15d1baa2fbe813b77b34ab3634e084bb1686be339680903d3c2b +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0df847e4deb0fec1f399889d71c01c0391cba010e577a096d63093680b8636c9 686baf6d901d167a5cee490abe8a9db0e586ea029cbd8d4799503ec0a64cf7689de6dd24c6783d0b2d115ee0a7a3bf4c +SERVER_HANDSHAKE_TRAFFIC_SECRET 0df847e4deb0fec1f399889d71c01c0391cba010e577a096d63093680b8636c9 acbd5c4dcc371584146ea2106e59f55d26733d3070a4112956b62aabe7aee66a434fc90f8e8a0dacefdbe31ea858ec1b +CLIENT_TRAFFIC_SECRET_0 0df847e4deb0fec1f399889d71c01c0391cba010e577a096d63093680b8636c9 361561684f4af4daf74fd479d4d6389fb7cb82ea49214dff67334637f4f30c99473deb19b388d6adefdf81f16cbd6af1 +SERVER_TRAFFIC_SECRET_0 0df847e4deb0fec1f399889d71c01c0391cba010e577a096d63093680b8636c9 b9b3478140d3598eb30e36aaa5afb52ebd6c67518243611fe57a31048c099de7346b26dd0329849cec64317d7b06cd79 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0df847e4deb0fec1f399889d71c01c0391cba010e577a096d63093680b8636c9 686baf6d901d167a5cee490abe8a9db0e586ea029cbd8d4799503ec0a64cf7689de6dd24c6783d0b2d115ee0a7a3bf4c +SERVER_HANDSHAKE_TRAFFIC_SECRET 0df847e4deb0fec1f399889d71c01c0391cba010e577a096d63093680b8636c9 acbd5c4dcc371584146ea2106e59f55d26733d3070a4112956b62aabe7aee66a434fc90f8e8a0dacefdbe31ea858ec1b +CLIENT_TRAFFIC_SECRET_0 0df847e4deb0fec1f399889d71c01c0391cba010e577a096d63093680b8636c9 361561684f4af4daf74fd479d4d6389fb7cb82ea49214dff67334637f4f30c99473deb19b388d6adefdf81f16cbd6af1 +SERVER_TRAFFIC_SECRET_0 0df847e4deb0fec1f399889d71c01c0391cba010e577a096d63093680b8636c9 b9b3478140d3598eb30e36aaa5afb52ebd6c67518243611fe57a31048c099de7346b26dd0329849cec64317d7b06cd79 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3d0c7ea522f18327607acf4d1f6a0421c6afe4ad0a378e4326a3381f214a8486 78457500ddf60e5f1df4668713ad1a6e046966d1afdf2079dbd6116f00ba53a7556dc2fbd9e0d1c96ade667a6b2da9d7 +SERVER_HANDSHAKE_TRAFFIC_SECRET 3d0c7ea522f18327607acf4d1f6a0421c6afe4ad0a378e4326a3381f214a8486 e314d9699006ad6d4b8323217f63df9dc387a5e110fb46050f537d98466bfee97b2718306e9c1d15731d4f276b4f3961 +CLIENT_TRAFFIC_SECRET_0 3d0c7ea522f18327607acf4d1f6a0421c6afe4ad0a378e4326a3381f214a8486 ab7929dc7b2a6a85b2478e465774e2b32e2a5962617412d69eea6ee5527e7dc30e5c9f4c324b7733c68e6ad6a9f87938 +SERVER_TRAFFIC_SECRET_0 3d0c7ea522f18327607acf4d1f6a0421c6afe4ad0a378e4326a3381f214a8486 038b876bcbc76bcc5879fba121961cc018286ccc66e9ea214bbbfaa5e81a058a683edfce489aaa6211ece82604103fcc +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3d0c7ea522f18327607acf4d1f6a0421c6afe4ad0a378e4326a3381f214a8486 78457500ddf60e5f1df4668713ad1a6e046966d1afdf2079dbd6116f00ba53a7556dc2fbd9e0d1c96ade667a6b2da9d7 +SERVER_HANDSHAKE_TRAFFIC_SECRET 3d0c7ea522f18327607acf4d1f6a0421c6afe4ad0a378e4326a3381f214a8486 e314d9699006ad6d4b8323217f63df9dc387a5e110fb46050f537d98466bfee97b2718306e9c1d15731d4f276b4f3961 +CLIENT_TRAFFIC_SECRET_0 3d0c7ea522f18327607acf4d1f6a0421c6afe4ad0a378e4326a3381f214a8486 ab7929dc7b2a6a85b2478e465774e2b32e2a5962617412d69eea6ee5527e7dc30e5c9f4c324b7733c68e6ad6a9f87938 +SERVER_TRAFFIC_SECRET_0 3d0c7ea522f18327607acf4d1f6a0421c6afe4ad0a378e4326a3381f214a8486 038b876bcbc76bcc5879fba121961cc018286ccc66e9ea214bbbfaa5e81a058a683edfce489aaa6211ece82604103fcc +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0ee6bcd519663f59b942eff9002f587fe53a651d3f39b482bd33b9fc66d9aea1 bb78215e2ec78aa34232a63194618e60b1396ccaec8326989411c19bf719cd2bde767048bffd001615b3cc4ef12eeb43 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0ee6bcd519663f59b942eff9002f587fe53a651d3f39b482bd33b9fc66d9aea1 9df1d54ff797a78e9385bd3c0ddbb3c2f25450421a226ab61a0af901caf926d098770a7535f0bdf16367c5a3e167b0d6 +CLIENT_TRAFFIC_SECRET_0 0ee6bcd519663f59b942eff9002f587fe53a651d3f39b482bd33b9fc66d9aea1 98b202f0f063cb892da37fa4a9ffa51f5cfc3faf22dbdc77ce48eecf2574701d6f6f5a5500afc90b10f1e8d474010063 +SERVER_TRAFFIC_SECRET_0 0ee6bcd519663f59b942eff9002f587fe53a651d3f39b482bd33b9fc66d9aea1 3a7852d23b121856f7e63424ac0c9adaa652fe2f8e04eb48f1ff0d88435c9244931bb1d92acd018912d6a3d9a5360a41 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0ee6bcd519663f59b942eff9002f587fe53a651d3f39b482bd33b9fc66d9aea1 bb78215e2ec78aa34232a63194618e60b1396ccaec8326989411c19bf719cd2bde767048bffd001615b3cc4ef12eeb43 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0ee6bcd519663f59b942eff9002f587fe53a651d3f39b482bd33b9fc66d9aea1 9df1d54ff797a78e9385bd3c0ddbb3c2f25450421a226ab61a0af901caf926d098770a7535f0bdf16367c5a3e167b0d6 +CLIENT_TRAFFIC_SECRET_0 0ee6bcd519663f59b942eff9002f587fe53a651d3f39b482bd33b9fc66d9aea1 98b202f0f063cb892da37fa4a9ffa51f5cfc3faf22dbdc77ce48eecf2574701d6f6f5a5500afc90b10f1e8d474010063 +SERVER_TRAFFIC_SECRET_0 0ee6bcd519663f59b942eff9002f587fe53a651d3f39b482bd33b9fc66d9aea1 3a7852d23b121856f7e63424ac0c9adaa652fe2f8e04eb48f1ff0d88435c9244931bb1d92acd018912d6a3d9a5360a41 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 11fce941a36aabd13bee3539c2a1967e4a93559233efdb11a235e7823e7a469f e16e9afc0c10901d0f78382d777f222e4858fcfed65af82efdc169d064a66e02022efc13f72b6887f70323097271e799 +SERVER_HANDSHAKE_TRAFFIC_SECRET 11fce941a36aabd13bee3539c2a1967e4a93559233efdb11a235e7823e7a469f 37b92329ceef75d2fbbbface4244b510d976933267a9c7a226353f09372ef9a1b3f671bd36e682d8f23c1886fa283b56 +CLIENT_TRAFFIC_SECRET_0 11fce941a36aabd13bee3539c2a1967e4a93559233efdb11a235e7823e7a469f efa6fa4e5f355f29aa21921c7d6a1b7f979367b4317c76000b56e1fcf7269a25568d73149a95160a235f68518a8e75a8 +SERVER_TRAFFIC_SECRET_0 11fce941a36aabd13bee3539c2a1967e4a93559233efdb11a235e7823e7a469f ac0a58b24e89a110840c6d77927cccf4a53556ca9390fa6ceff0fe1b39a40aa1d98fb630e47eb5566b8b0be0033ade12 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 11fce941a36aabd13bee3539c2a1967e4a93559233efdb11a235e7823e7a469f e16e9afc0c10901d0f78382d777f222e4858fcfed65af82efdc169d064a66e02022efc13f72b6887f70323097271e799 +SERVER_HANDSHAKE_TRAFFIC_SECRET 11fce941a36aabd13bee3539c2a1967e4a93559233efdb11a235e7823e7a469f 37b92329ceef75d2fbbbface4244b510d976933267a9c7a226353f09372ef9a1b3f671bd36e682d8f23c1886fa283b56 +CLIENT_TRAFFIC_SECRET_0 11fce941a36aabd13bee3539c2a1967e4a93559233efdb11a235e7823e7a469f efa6fa4e5f355f29aa21921c7d6a1b7f979367b4317c76000b56e1fcf7269a25568d73149a95160a235f68518a8e75a8 +SERVER_TRAFFIC_SECRET_0 11fce941a36aabd13bee3539c2a1967e4a93559233efdb11a235e7823e7a469f ac0a58b24e89a110840c6d77927cccf4a53556ca9390fa6ceff0fe1b39a40aa1d98fb630e47eb5566b8b0be0033ade12 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1187ec39d196857160c78c223a314285ca5084ad8dc863362a0df3ec62ea88d8 be3ff87631af78abe5ab9e14b8f631b2786600384689616eae373352e76a3fca015bb79efcb858a83995d8b03f8eaf8d +SERVER_HANDSHAKE_TRAFFIC_SECRET 1187ec39d196857160c78c223a314285ca5084ad8dc863362a0df3ec62ea88d8 ef3fc6d630cee5c9c0d631da96352714dd55799e309b9759f8bc142f250b6f875683379cafe5f4be4357201bead63407 +CLIENT_TRAFFIC_SECRET_0 1187ec39d196857160c78c223a314285ca5084ad8dc863362a0df3ec62ea88d8 b47bf8fb70b37033f9e5bc6bd2e949320795c7d722c51315e8b8c6b648e6bd604a6bc5cb7663ce584b858ee683583538 +SERVER_TRAFFIC_SECRET_0 1187ec39d196857160c78c223a314285ca5084ad8dc863362a0df3ec62ea88d8 d306b67b34b20fb50df18850c0c17ad9944956ede915e1ff10a7b8b8730fbb8fa44513c7a762d9b2312eca637cd57204 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1187ec39d196857160c78c223a314285ca5084ad8dc863362a0df3ec62ea88d8 be3ff87631af78abe5ab9e14b8f631b2786600384689616eae373352e76a3fca015bb79efcb858a83995d8b03f8eaf8d +SERVER_HANDSHAKE_TRAFFIC_SECRET 1187ec39d196857160c78c223a314285ca5084ad8dc863362a0df3ec62ea88d8 ef3fc6d630cee5c9c0d631da96352714dd55799e309b9759f8bc142f250b6f875683379cafe5f4be4357201bead63407 +CLIENT_TRAFFIC_SECRET_0 1187ec39d196857160c78c223a314285ca5084ad8dc863362a0df3ec62ea88d8 b47bf8fb70b37033f9e5bc6bd2e949320795c7d722c51315e8b8c6b648e6bd604a6bc5cb7663ce584b858ee683583538 +SERVER_TRAFFIC_SECRET_0 1187ec39d196857160c78c223a314285ca5084ad8dc863362a0df3ec62ea88d8 d306b67b34b20fb50df18850c0c17ad9944956ede915e1ff10a7b8b8730fbb8fa44513c7a762d9b2312eca637cd57204 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 77715b7e94a03ef318449f9b38be728800719f936c95dd3bac3f6f156761f5a8 a92b286ed524aec19aa843f4847bd97eee14c7d16dfdf7b099aa692d05381e9b3e0d34ee7979e1b422e031f19ceed2f8 +SERVER_HANDSHAKE_TRAFFIC_SECRET 77715b7e94a03ef318449f9b38be728800719f936c95dd3bac3f6f156761f5a8 8fe2061448d081c9e96a0bb602b80ebab60fe23a15c07d5a363ad1f7b24b4cf5b8ba0e3d533e5a44e6afdcd3e4cb9fab +CLIENT_TRAFFIC_SECRET_0 77715b7e94a03ef318449f9b38be728800719f936c95dd3bac3f6f156761f5a8 58a232c932261de71cc4da17f0046be1ad85168d736fcca51d762f042189c4b44b0e620460dd4a7e46430414404d88c2 +SERVER_TRAFFIC_SECRET_0 77715b7e94a03ef318449f9b38be728800719f936c95dd3bac3f6f156761f5a8 dfddf1f9bf9447eb61146ce461119e0518bc24d233c8d4a0b47cd9c3b8334d8ee71383a466add4384d9bf9e9f5590186 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 77715b7e94a03ef318449f9b38be728800719f936c95dd3bac3f6f156761f5a8 a92b286ed524aec19aa843f4847bd97eee14c7d16dfdf7b099aa692d05381e9b3e0d34ee7979e1b422e031f19ceed2f8 +SERVER_HANDSHAKE_TRAFFIC_SECRET 77715b7e94a03ef318449f9b38be728800719f936c95dd3bac3f6f156761f5a8 8fe2061448d081c9e96a0bb602b80ebab60fe23a15c07d5a363ad1f7b24b4cf5b8ba0e3d533e5a44e6afdcd3e4cb9fab +CLIENT_TRAFFIC_SECRET_0 77715b7e94a03ef318449f9b38be728800719f936c95dd3bac3f6f156761f5a8 58a232c932261de71cc4da17f0046be1ad85168d736fcca51d762f042189c4b44b0e620460dd4a7e46430414404d88c2 +SERVER_TRAFFIC_SECRET_0 77715b7e94a03ef318449f9b38be728800719f936c95dd3bac3f6f156761f5a8 dfddf1f9bf9447eb61146ce461119e0518bc24d233c8d4a0b47cd9c3b8334d8ee71383a466add4384d9bf9e9f5590186 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e02ee17a48721cf0681f68b7ebcf46f215af1b5c93bf9c0a2468271e03ef6bf6 33567222f6263edebb4f0b6e1814b5ce85c2413d9999f3f3a47de52afc9ae92daa79b8834de5cbfa7789d1ae09b8fa2f +SERVER_HANDSHAKE_TRAFFIC_SECRET e02ee17a48721cf0681f68b7ebcf46f215af1b5c93bf9c0a2468271e03ef6bf6 47fdee6946d778dbed6fcd23331b843776a8dac56f8c9090bb1f6d1f1a0928d0b513a1e631df0b49d3ea52ac612f0518 +CLIENT_TRAFFIC_SECRET_0 e02ee17a48721cf0681f68b7ebcf46f215af1b5c93bf9c0a2468271e03ef6bf6 c1db5c005c9ecd4a26db396815fab68c516581f9dd4d1cce2e55735df7b6fc9a56cba1ca43bf6fbecd5d975ed5af286b +SERVER_TRAFFIC_SECRET_0 e02ee17a48721cf0681f68b7ebcf46f215af1b5c93bf9c0a2468271e03ef6bf6 d4912e75df5b6ba3a4ce4d4901604ee7c5da57a9d76eeae9ff0de36a82fb24db1ea4eedaac9d3985c40a157794eff82a +CLIENT_HANDSHAKE_TRAFFIC_SECRET e02ee17a48721cf0681f68b7ebcf46f215af1b5c93bf9c0a2468271e03ef6bf6 33567222f6263edebb4f0b6e1814b5ce85c2413d9999f3f3a47de52afc9ae92daa79b8834de5cbfa7789d1ae09b8fa2f +SERVER_HANDSHAKE_TRAFFIC_SECRET e02ee17a48721cf0681f68b7ebcf46f215af1b5c93bf9c0a2468271e03ef6bf6 47fdee6946d778dbed6fcd23331b843776a8dac56f8c9090bb1f6d1f1a0928d0b513a1e631df0b49d3ea52ac612f0518 +CLIENT_TRAFFIC_SECRET_0 e02ee17a48721cf0681f68b7ebcf46f215af1b5c93bf9c0a2468271e03ef6bf6 c1db5c005c9ecd4a26db396815fab68c516581f9dd4d1cce2e55735df7b6fc9a56cba1ca43bf6fbecd5d975ed5af286b +SERVER_TRAFFIC_SECRET_0 e02ee17a48721cf0681f68b7ebcf46f215af1b5c93bf9c0a2468271e03ef6bf6 d4912e75df5b6ba3a4ce4d4901604ee7c5da57a9d76eeae9ff0de36a82fb24db1ea4eedaac9d3985c40a157794eff82a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5f61c67962e1cd9c657ff8140abe41c94651ea8339f51da9170e98a358b7aaa6 aba415b46663d635d65b6224e45b0a2bef14675bd2f248f00b9404f5f6f566237c38ad856ac8ef788d5441e0e5c50139 +SERVER_HANDSHAKE_TRAFFIC_SECRET 5f61c67962e1cd9c657ff8140abe41c94651ea8339f51da9170e98a358b7aaa6 7fb45c2867c9e72393dba736510974a8c497bd076d571a7abef60ee722278949ad931ca29632949905e7a44512309cc8 +CLIENT_TRAFFIC_SECRET_0 5f61c67962e1cd9c657ff8140abe41c94651ea8339f51da9170e98a358b7aaa6 46540ed30902e3db5cced78f028603c4109238c6dd85e4050e1c884a60c93fe73e875556f44f352a6d707e626c33cbbf +SERVER_TRAFFIC_SECRET_0 5f61c67962e1cd9c657ff8140abe41c94651ea8339f51da9170e98a358b7aaa6 57c2756f4cfd2930979614ec8ab79b8c315f034705fc5b114d287c74e5828ef765ed25739e6f1b91cb50768a2a8f68ca +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5f61c67962e1cd9c657ff8140abe41c94651ea8339f51da9170e98a358b7aaa6 aba415b46663d635d65b6224e45b0a2bef14675bd2f248f00b9404f5f6f566237c38ad856ac8ef788d5441e0e5c50139 +SERVER_HANDSHAKE_TRAFFIC_SECRET 5f61c67962e1cd9c657ff8140abe41c94651ea8339f51da9170e98a358b7aaa6 7fb45c2867c9e72393dba736510974a8c497bd076d571a7abef60ee722278949ad931ca29632949905e7a44512309cc8 +CLIENT_TRAFFIC_SECRET_0 5f61c67962e1cd9c657ff8140abe41c94651ea8339f51da9170e98a358b7aaa6 46540ed30902e3db5cced78f028603c4109238c6dd85e4050e1c884a60c93fe73e875556f44f352a6d707e626c33cbbf +SERVER_TRAFFIC_SECRET_0 5f61c67962e1cd9c657ff8140abe41c94651ea8339f51da9170e98a358b7aaa6 57c2756f4cfd2930979614ec8ab79b8c315f034705fc5b114d287c74e5828ef765ed25739e6f1b91cb50768a2a8f68ca +CLIENT_HANDSHAKE_TRAFFIC_SECRET d970a339ab30a98aeb468fc2c88440bd1b45b9333e8b286b1c701950a1bb77f1 613df0e78865f665c4c76bc00d57a5f6f168df763e9bdae836d4932f0ba742593ff4916caec40cc1afe9de012bab1767 +SERVER_HANDSHAKE_TRAFFIC_SECRET d970a339ab30a98aeb468fc2c88440bd1b45b9333e8b286b1c701950a1bb77f1 be875a7d5c1fd2506331aed45fdabf24f2321dcb05407d97e1a7ccbf3a5dd03ba947e1cf07f891f7cd2d1ea3c945a581 +CLIENT_TRAFFIC_SECRET_0 d970a339ab30a98aeb468fc2c88440bd1b45b9333e8b286b1c701950a1bb77f1 2d918db8234af4e0c0705a90be367c44eb3465b5ed5642dbfd1a46aed3994fdf51f48ac1533f85aaece801a0200835b0 +SERVER_TRAFFIC_SECRET_0 d970a339ab30a98aeb468fc2c88440bd1b45b9333e8b286b1c701950a1bb77f1 89bda0e83610a4aa9c1980ef68ceca6d3614ebed07511a950416529c7724d684455ef145ea9238e320c7cfb32f61f367 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d970a339ab30a98aeb468fc2c88440bd1b45b9333e8b286b1c701950a1bb77f1 613df0e78865f665c4c76bc00d57a5f6f168df763e9bdae836d4932f0ba742593ff4916caec40cc1afe9de012bab1767 +SERVER_HANDSHAKE_TRAFFIC_SECRET d970a339ab30a98aeb468fc2c88440bd1b45b9333e8b286b1c701950a1bb77f1 be875a7d5c1fd2506331aed45fdabf24f2321dcb05407d97e1a7ccbf3a5dd03ba947e1cf07f891f7cd2d1ea3c945a581 +CLIENT_TRAFFIC_SECRET_0 d970a339ab30a98aeb468fc2c88440bd1b45b9333e8b286b1c701950a1bb77f1 2d918db8234af4e0c0705a90be367c44eb3465b5ed5642dbfd1a46aed3994fdf51f48ac1533f85aaece801a0200835b0 +SERVER_TRAFFIC_SECRET_0 d970a339ab30a98aeb468fc2c88440bd1b45b9333e8b286b1c701950a1bb77f1 89bda0e83610a4aa9c1980ef68ceca6d3614ebed07511a950416529c7724d684455ef145ea9238e320c7cfb32f61f367 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ce346dc3b14e3bb307201c00d29d88b3a10ed883c2738baf9920f30188b8e58a c2c52ddb30035acc4766822ee0a0e552b5579aeb3bcad76d78c98d0eb7e2cd35427d50e7007ccee76990ab35deae8f15 +SERVER_HANDSHAKE_TRAFFIC_SECRET ce346dc3b14e3bb307201c00d29d88b3a10ed883c2738baf9920f30188b8e58a 611081004fd4e9d0c8603f61ea923d950e08f2e9371618483cab018a1355db8939870575b90b860a0c95728f4b39c2e5 +CLIENT_TRAFFIC_SECRET_0 ce346dc3b14e3bb307201c00d29d88b3a10ed883c2738baf9920f30188b8e58a 9556c950ce9ed788a762ac47ffe0edbcf7910855d5561a3a0fd1e71ca45f7f71ec718711ad75003c7b7c55a6049c1d0f +SERVER_TRAFFIC_SECRET_0 ce346dc3b14e3bb307201c00d29d88b3a10ed883c2738baf9920f30188b8e58a 8b049da78aacea8c3b066081841d3acf7dc4dcaa47c6479fe34f600e3e0d2f478c399a23739e06228e1ebf37232f8853 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ce346dc3b14e3bb307201c00d29d88b3a10ed883c2738baf9920f30188b8e58a c2c52ddb30035acc4766822ee0a0e552b5579aeb3bcad76d78c98d0eb7e2cd35427d50e7007ccee76990ab35deae8f15 +SERVER_HANDSHAKE_TRAFFIC_SECRET ce346dc3b14e3bb307201c00d29d88b3a10ed883c2738baf9920f30188b8e58a 611081004fd4e9d0c8603f61ea923d950e08f2e9371618483cab018a1355db8939870575b90b860a0c95728f4b39c2e5 +CLIENT_TRAFFIC_SECRET_0 ce346dc3b14e3bb307201c00d29d88b3a10ed883c2738baf9920f30188b8e58a 9556c950ce9ed788a762ac47ffe0edbcf7910855d5561a3a0fd1e71ca45f7f71ec718711ad75003c7b7c55a6049c1d0f +SERVER_TRAFFIC_SECRET_0 ce346dc3b14e3bb307201c00d29d88b3a10ed883c2738baf9920f30188b8e58a 8b049da78aacea8c3b066081841d3acf7dc4dcaa47c6479fe34f600e3e0d2f478c399a23739e06228e1ebf37232f8853 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9a6e2c4cde80316f65a63de4a6889502b013090121fafd519453086c184668b0 a42d5796105d99ef2ea4c7b6f54e05e25128ecf79a38aa8dbf9783efed517c411ba644d7a74d7545ce8ae8d5ce56c877 +SERVER_HANDSHAKE_TRAFFIC_SECRET 9a6e2c4cde80316f65a63de4a6889502b013090121fafd519453086c184668b0 b71f579601627861756582c8d204d8aaa7064b7a826572ad4b9e96174e6be35f4f13fe7f03094d587f032756fe808f91 +CLIENT_TRAFFIC_SECRET_0 9a6e2c4cde80316f65a63de4a6889502b013090121fafd519453086c184668b0 7136b761921c6b77903bdaa8904ff4227bee9a812c87d31f182cbf6306f2222e795f8ef5b86476af7caf29b8a27eccf2 +SERVER_TRAFFIC_SECRET_0 9a6e2c4cde80316f65a63de4a6889502b013090121fafd519453086c184668b0 2d23d322f5e7e353b7b71df4b938d30825badb0d6c771f30a937400aa63958faaf3caee7253d58fc31e0af5c38cfeae2 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9a6e2c4cde80316f65a63de4a6889502b013090121fafd519453086c184668b0 a42d5796105d99ef2ea4c7b6f54e05e25128ecf79a38aa8dbf9783efed517c411ba644d7a74d7545ce8ae8d5ce56c877 +SERVER_HANDSHAKE_TRAFFIC_SECRET 9a6e2c4cde80316f65a63de4a6889502b013090121fafd519453086c184668b0 b71f579601627861756582c8d204d8aaa7064b7a826572ad4b9e96174e6be35f4f13fe7f03094d587f032756fe808f91 +CLIENT_TRAFFIC_SECRET_0 9a6e2c4cde80316f65a63de4a6889502b013090121fafd519453086c184668b0 7136b761921c6b77903bdaa8904ff4227bee9a812c87d31f182cbf6306f2222e795f8ef5b86476af7caf29b8a27eccf2 +SERVER_TRAFFIC_SECRET_0 9a6e2c4cde80316f65a63de4a6889502b013090121fafd519453086c184668b0 2d23d322f5e7e353b7b71df4b938d30825badb0d6c771f30a937400aa63958faaf3caee7253d58fc31e0af5c38cfeae2 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e893e8ef39a2207c215af845931d3bc7dca2a2d9e91beb8263e5b95b94e51697 bec42fda6abf266b264c292b0e98107027a0ac2e557d77aff2aa35793590ed165fa3a3bf71b06e327b3062bd0ca583bf +SERVER_HANDSHAKE_TRAFFIC_SECRET e893e8ef39a2207c215af845931d3bc7dca2a2d9e91beb8263e5b95b94e51697 b1a4e4d6dbfe929351484aa57cdbed74504d36864b65ba297229262a4976d73a3d697563c18a90801012e5c60f5ce10c +CLIENT_TRAFFIC_SECRET_0 e893e8ef39a2207c215af845931d3bc7dca2a2d9e91beb8263e5b95b94e51697 1119fe1de39127b614e2db145864e2851d8382c64dd5adb184c07458950fa4b8596efd3a16d7a04e7fcc04e9a4c9dab8 +SERVER_TRAFFIC_SECRET_0 e893e8ef39a2207c215af845931d3bc7dca2a2d9e91beb8263e5b95b94e51697 0cac75120bf480406dc7de2ded91c867187486014627c00bce95583efdbb3b7069271461de1e4706d3d36542221c2140 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e893e8ef39a2207c215af845931d3bc7dca2a2d9e91beb8263e5b95b94e51697 bec42fda6abf266b264c292b0e98107027a0ac2e557d77aff2aa35793590ed165fa3a3bf71b06e327b3062bd0ca583bf +SERVER_HANDSHAKE_TRAFFIC_SECRET e893e8ef39a2207c215af845931d3bc7dca2a2d9e91beb8263e5b95b94e51697 b1a4e4d6dbfe929351484aa57cdbed74504d36864b65ba297229262a4976d73a3d697563c18a90801012e5c60f5ce10c +CLIENT_TRAFFIC_SECRET_0 e893e8ef39a2207c215af845931d3bc7dca2a2d9e91beb8263e5b95b94e51697 1119fe1de39127b614e2db145864e2851d8382c64dd5adb184c07458950fa4b8596efd3a16d7a04e7fcc04e9a4c9dab8 +SERVER_TRAFFIC_SECRET_0 e893e8ef39a2207c215af845931d3bc7dca2a2d9e91beb8263e5b95b94e51697 0cac75120bf480406dc7de2ded91c867187486014627c00bce95583efdbb3b7069271461de1e4706d3d36542221c2140 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 49da245198fdd33c5dd2402c26d819cdd07fb58af7608b23e21be4e76d3a150a a005903b36b89a5ca0dc7ce942cfb38eb578806236ff0fc8833d2937e07e9b6955f7beb6d2a3542b644a0480c880eedc +SERVER_HANDSHAKE_TRAFFIC_SECRET 49da245198fdd33c5dd2402c26d819cdd07fb58af7608b23e21be4e76d3a150a 4cad6aa46677f150ac6122bc8021e364665cd4da737a01ba1a77b59846c5127c6cd7acba1c405a5dc4592dcb46047126 +CLIENT_TRAFFIC_SECRET_0 49da245198fdd33c5dd2402c26d819cdd07fb58af7608b23e21be4e76d3a150a dbb8df80152e271e0e73634dc9440f8cffd972e5ca680fd63f6cbad272da2340e9eb2ea2c06cc6abd05b4c717d526d03 +SERVER_TRAFFIC_SECRET_0 49da245198fdd33c5dd2402c26d819cdd07fb58af7608b23e21be4e76d3a150a 4cb3fbf8ed66367a74cb65a0b777294788a69a70393595d887e8364162cfffd9a34409600f6f62c600135653bd8194b7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 49da245198fdd33c5dd2402c26d819cdd07fb58af7608b23e21be4e76d3a150a a005903b36b89a5ca0dc7ce942cfb38eb578806236ff0fc8833d2937e07e9b6955f7beb6d2a3542b644a0480c880eedc +SERVER_HANDSHAKE_TRAFFIC_SECRET 49da245198fdd33c5dd2402c26d819cdd07fb58af7608b23e21be4e76d3a150a 4cad6aa46677f150ac6122bc8021e364665cd4da737a01ba1a77b59846c5127c6cd7acba1c405a5dc4592dcb46047126 +CLIENT_TRAFFIC_SECRET_0 49da245198fdd33c5dd2402c26d819cdd07fb58af7608b23e21be4e76d3a150a dbb8df80152e271e0e73634dc9440f8cffd972e5ca680fd63f6cbad272da2340e9eb2ea2c06cc6abd05b4c717d526d03 +SERVER_TRAFFIC_SECRET_0 49da245198fdd33c5dd2402c26d819cdd07fb58af7608b23e21be4e76d3a150a 4cb3fbf8ed66367a74cb65a0b777294788a69a70393595d887e8364162cfffd9a34409600f6f62c600135653bd8194b7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 515d6e37b58eeb4fd38ad85cb4de6c48acd9f911bda0d0281a813ed80bf16272 345efdda02b45b4e16c7a64c0fcfbaafc78c64add273357b967cdbe994887688f38d9abe96d67b983246691a7d173501 +SERVER_HANDSHAKE_TRAFFIC_SECRET 515d6e37b58eeb4fd38ad85cb4de6c48acd9f911bda0d0281a813ed80bf16272 3a2a60986387449058e753bde257ff86298c1b9679392e5ba7a9785452cddc97b7814fc049ef888be5a6cf3ebe9a2a4d +CLIENT_TRAFFIC_SECRET_0 515d6e37b58eeb4fd38ad85cb4de6c48acd9f911bda0d0281a813ed80bf16272 48ed4d727b8d5ebd2bdf8929a3515b1d52f3b9ab8316500710ef0c498296fe2c6a75eeef14ae6e742ce18619a9f9c643 +SERVER_TRAFFIC_SECRET_0 515d6e37b58eeb4fd38ad85cb4de6c48acd9f911bda0d0281a813ed80bf16272 76d472825f61c518809f0899f198ef53d16606625638052addf43770f2996016479660b30fa28011f48b37045637f7f1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 515d6e37b58eeb4fd38ad85cb4de6c48acd9f911bda0d0281a813ed80bf16272 345efdda02b45b4e16c7a64c0fcfbaafc78c64add273357b967cdbe994887688f38d9abe96d67b983246691a7d173501 +SERVER_HANDSHAKE_TRAFFIC_SECRET 515d6e37b58eeb4fd38ad85cb4de6c48acd9f911bda0d0281a813ed80bf16272 3a2a60986387449058e753bde257ff86298c1b9679392e5ba7a9785452cddc97b7814fc049ef888be5a6cf3ebe9a2a4d +CLIENT_TRAFFIC_SECRET_0 515d6e37b58eeb4fd38ad85cb4de6c48acd9f911bda0d0281a813ed80bf16272 48ed4d727b8d5ebd2bdf8929a3515b1d52f3b9ab8316500710ef0c498296fe2c6a75eeef14ae6e742ce18619a9f9c643 +SERVER_TRAFFIC_SECRET_0 515d6e37b58eeb4fd38ad85cb4de6c48acd9f911bda0d0281a813ed80bf16272 76d472825f61c518809f0899f198ef53d16606625638052addf43770f2996016479660b30fa28011f48b37045637f7f1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET fedd474cab1787dfe604b94cf8321e92922536a63fa62f0b0adb7494c28b7737 db7b66a682758d402056ec1ef17225697deaccd32970a1fd29adbc5b3de127d6c93d90958ba2bedca5067389f8651159 +SERVER_HANDSHAKE_TRAFFIC_SECRET fedd474cab1787dfe604b94cf8321e92922536a63fa62f0b0adb7494c28b7737 fa9ad698c3c1d8d7d72949dd84f4d3b9a189136a9a46e80a4d1de92b24abceef8ba6a6d36ff4d7a5012c8b13534d8df4 +CLIENT_TRAFFIC_SECRET_0 fedd474cab1787dfe604b94cf8321e92922536a63fa62f0b0adb7494c28b7737 bb09cb3e0a94110742bd65a6a1a09800334cf2840ed4e02f02506fb78e153f12e4f1019bdee5d869aa23e61d01036da2 +SERVER_TRAFFIC_SECRET_0 fedd474cab1787dfe604b94cf8321e92922536a63fa62f0b0adb7494c28b7737 613b66b6a32070a0af2941cae165851798526ca2d00dff476f6e59b3f31bae264e5fdd01f356209df177d0cb2d392293 +CLIENT_HANDSHAKE_TRAFFIC_SECRET fedd474cab1787dfe604b94cf8321e92922536a63fa62f0b0adb7494c28b7737 db7b66a682758d402056ec1ef17225697deaccd32970a1fd29adbc5b3de127d6c93d90958ba2bedca5067389f8651159 +SERVER_HANDSHAKE_TRAFFIC_SECRET fedd474cab1787dfe604b94cf8321e92922536a63fa62f0b0adb7494c28b7737 fa9ad698c3c1d8d7d72949dd84f4d3b9a189136a9a46e80a4d1de92b24abceef8ba6a6d36ff4d7a5012c8b13534d8df4 +CLIENT_TRAFFIC_SECRET_0 fedd474cab1787dfe604b94cf8321e92922536a63fa62f0b0adb7494c28b7737 bb09cb3e0a94110742bd65a6a1a09800334cf2840ed4e02f02506fb78e153f12e4f1019bdee5d869aa23e61d01036da2 +SERVER_TRAFFIC_SECRET_0 fedd474cab1787dfe604b94cf8321e92922536a63fa62f0b0adb7494c28b7737 613b66b6a32070a0af2941cae165851798526ca2d00dff476f6e59b3f31bae264e5fdd01f356209df177d0cb2d392293 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 72d85435b48a042c5c9a7f528ed4f92805ec997f49b3bbd5f8432966b8decd66 7f0b660457513cc886c15d279f3f318bd5876d42684b60112fd3675bf1225ac2ee38c66618d2b52a4ee8d1087e147d11 +SERVER_HANDSHAKE_TRAFFIC_SECRET 72d85435b48a042c5c9a7f528ed4f92805ec997f49b3bbd5f8432966b8decd66 bcb6686cd60cf01f67b06bc075a1b99ab4da1a007ab46eca5d4f3199c46b4a1095b8af321f6c516386f99eefb2060093 +CLIENT_TRAFFIC_SECRET_0 72d85435b48a042c5c9a7f528ed4f92805ec997f49b3bbd5f8432966b8decd66 8e2fc9f376589d3b213760fc808587a166bb596914fd9c55908d308c550bd9e9ba5c7ba5ce243f3cd6911ab07b08ad83 +SERVER_TRAFFIC_SECRET_0 72d85435b48a042c5c9a7f528ed4f92805ec997f49b3bbd5f8432966b8decd66 1f2755a75c995e6c87c936b1f68b09558942a3897d17feee0b2b834bd24c07ea8e34516bb388e8b7789fda85cfa11247 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 72d85435b48a042c5c9a7f528ed4f92805ec997f49b3bbd5f8432966b8decd66 7f0b660457513cc886c15d279f3f318bd5876d42684b60112fd3675bf1225ac2ee38c66618d2b52a4ee8d1087e147d11 +SERVER_HANDSHAKE_TRAFFIC_SECRET 72d85435b48a042c5c9a7f528ed4f92805ec997f49b3bbd5f8432966b8decd66 bcb6686cd60cf01f67b06bc075a1b99ab4da1a007ab46eca5d4f3199c46b4a1095b8af321f6c516386f99eefb2060093 +CLIENT_TRAFFIC_SECRET_0 72d85435b48a042c5c9a7f528ed4f92805ec997f49b3bbd5f8432966b8decd66 8e2fc9f376589d3b213760fc808587a166bb596914fd9c55908d308c550bd9e9ba5c7ba5ce243f3cd6911ab07b08ad83 +SERVER_TRAFFIC_SECRET_0 72d85435b48a042c5c9a7f528ed4f92805ec997f49b3bbd5f8432966b8decd66 1f2755a75c995e6c87c936b1f68b09558942a3897d17feee0b2b834bd24c07ea8e34516bb388e8b7789fda85cfa11247 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 17a9a37a0697004a1b48ff3f5f61fc1f4108577226644edcfd5768e536af95b6 92000bf7848a09370290dfb87989b73b4cd7fd6ef58a59daa683a7059445265462a246c186e351b878262a4f969372ab +SERVER_HANDSHAKE_TRAFFIC_SECRET 17a9a37a0697004a1b48ff3f5f61fc1f4108577226644edcfd5768e536af95b6 c393f150fdce7ea248e375efd8e4d7cc5e27655281f11047f1a12fb0480e7d65804cfc56a872ff1e04e98e4697dc8830 +CLIENT_TRAFFIC_SECRET_0 17a9a37a0697004a1b48ff3f5f61fc1f4108577226644edcfd5768e536af95b6 6fc8ecefefc2c9a845f3c8c7634a83642683bded3713b0e0a231bfa75d2889cda2677fa861ca8179d71e8482193c149b +SERVER_TRAFFIC_SECRET_0 17a9a37a0697004a1b48ff3f5f61fc1f4108577226644edcfd5768e536af95b6 e7606d0d49d6eb2dab60d1f76645d3e4eb47ff661cb353076ffa1f8a75f1fbb206253d805128864f748f260f714dbe28 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 17a9a37a0697004a1b48ff3f5f61fc1f4108577226644edcfd5768e536af95b6 92000bf7848a09370290dfb87989b73b4cd7fd6ef58a59daa683a7059445265462a246c186e351b878262a4f969372ab +SERVER_HANDSHAKE_TRAFFIC_SECRET 17a9a37a0697004a1b48ff3f5f61fc1f4108577226644edcfd5768e536af95b6 c393f150fdce7ea248e375efd8e4d7cc5e27655281f11047f1a12fb0480e7d65804cfc56a872ff1e04e98e4697dc8830 +CLIENT_TRAFFIC_SECRET_0 17a9a37a0697004a1b48ff3f5f61fc1f4108577226644edcfd5768e536af95b6 6fc8ecefefc2c9a845f3c8c7634a83642683bded3713b0e0a231bfa75d2889cda2677fa861ca8179d71e8482193c149b +SERVER_TRAFFIC_SECRET_0 17a9a37a0697004a1b48ff3f5f61fc1f4108577226644edcfd5768e536af95b6 e7606d0d49d6eb2dab60d1f76645d3e4eb47ff661cb353076ffa1f8a75f1fbb206253d805128864f748f260f714dbe28 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8917ef81a0c334f5013335ab6cb04a32c190166b49add6949ad21ba44858cd89 5659aa09edb35ab8576877931c6a8f5551a3f1a47ccfcdc2c151392695eae55ac1504de6cf0a352aa8940e3b610872fa +SERVER_HANDSHAKE_TRAFFIC_SECRET 8917ef81a0c334f5013335ab6cb04a32c190166b49add6949ad21ba44858cd89 2970c1a919e659ec66c833d52c145e18dd16db16f330393c3d760a235794c35730c1798f399880839bf57fe07cafe34d +CLIENT_TRAFFIC_SECRET_0 8917ef81a0c334f5013335ab6cb04a32c190166b49add6949ad21ba44858cd89 5965048b70fef9a062983fd6f282ed4f2f1ec849ca58e4066828a833d9666259d4b44ff736d7f97e9e2d46f401dea53c +SERVER_TRAFFIC_SECRET_0 8917ef81a0c334f5013335ab6cb04a32c190166b49add6949ad21ba44858cd89 9e0bb66b50961d3f9a7c5e6eb2ae03b5688f0298cd2807c5dccc583fcadb7a92552b32b48b7dfa6dc5be977a4e4c55ce +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8917ef81a0c334f5013335ab6cb04a32c190166b49add6949ad21ba44858cd89 5659aa09edb35ab8576877931c6a8f5551a3f1a47ccfcdc2c151392695eae55ac1504de6cf0a352aa8940e3b610872fa +SERVER_HANDSHAKE_TRAFFIC_SECRET 8917ef81a0c334f5013335ab6cb04a32c190166b49add6949ad21ba44858cd89 2970c1a919e659ec66c833d52c145e18dd16db16f330393c3d760a235794c35730c1798f399880839bf57fe07cafe34d +CLIENT_TRAFFIC_SECRET_0 8917ef81a0c334f5013335ab6cb04a32c190166b49add6949ad21ba44858cd89 5965048b70fef9a062983fd6f282ed4f2f1ec849ca58e4066828a833d9666259d4b44ff736d7f97e9e2d46f401dea53c +SERVER_TRAFFIC_SECRET_0 8917ef81a0c334f5013335ab6cb04a32c190166b49add6949ad21ba44858cd89 9e0bb66b50961d3f9a7c5e6eb2ae03b5688f0298cd2807c5dccc583fcadb7a92552b32b48b7dfa6dc5be977a4e4c55ce +CLIENT_HANDSHAKE_TRAFFIC_SECRET 119dc0706017f3d842815055ee9224f1cf62d454ebb987a5297e4186bca5dce0 a0aac2b274d88300ba47f62405a87185d19e8142b64f422d028ec5229607cba33dd0f0b9d5e1c182e41c69c83150127a +SERVER_HANDSHAKE_TRAFFIC_SECRET 119dc0706017f3d842815055ee9224f1cf62d454ebb987a5297e4186bca5dce0 81e65aa240505379578950ea2f295d075a771051206d0c2b4c553bc56cc5b24a99a1f838b5e3986aa31d9e33bb143ec1 +CLIENT_TRAFFIC_SECRET_0 119dc0706017f3d842815055ee9224f1cf62d454ebb987a5297e4186bca5dce0 925b522f4a7440ab2e977c677989a20506019f92ffa14fbe15fadfc81989fe01df94d3f231d513d58ed23fcc75e7acff +SERVER_TRAFFIC_SECRET_0 119dc0706017f3d842815055ee9224f1cf62d454ebb987a5297e4186bca5dce0 5f499d31a9157976339a69761699383214d05213ff670433a9679c79d548e1f37c5074fe963e0c18709ceea3e88b6171 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 119dc0706017f3d842815055ee9224f1cf62d454ebb987a5297e4186bca5dce0 a0aac2b274d88300ba47f62405a87185d19e8142b64f422d028ec5229607cba33dd0f0b9d5e1c182e41c69c83150127a +SERVER_HANDSHAKE_TRAFFIC_SECRET 119dc0706017f3d842815055ee9224f1cf62d454ebb987a5297e4186bca5dce0 81e65aa240505379578950ea2f295d075a771051206d0c2b4c553bc56cc5b24a99a1f838b5e3986aa31d9e33bb143ec1 +CLIENT_TRAFFIC_SECRET_0 119dc0706017f3d842815055ee9224f1cf62d454ebb987a5297e4186bca5dce0 925b522f4a7440ab2e977c677989a20506019f92ffa14fbe15fadfc81989fe01df94d3f231d513d58ed23fcc75e7acff +SERVER_TRAFFIC_SECRET_0 119dc0706017f3d842815055ee9224f1cf62d454ebb987a5297e4186bca5dce0 5f499d31a9157976339a69761699383214d05213ff670433a9679c79d548e1f37c5074fe963e0c18709ceea3e88b6171 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0bfa2f62d91ea0929367c985cd0ec9144dbacc623041cf881be1fab756917d26 9ca85efba8196dec486715417a6a26644fa71fe679b72d0ae7b033ee71997834ce67248488feee258b74deaf87a75ac8 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0bfa2f62d91ea0929367c985cd0ec9144dbacc623041cf881be1fab756917d26 99bae06ebd1eee807a428b2c35f972262dfa28e64856011c75bf231c4e7b2f64d60d7e350abdc3ccb69944f4620af0a9 +CLIENT_TRAFFIC_SECRET_0 0bfa2f62d91ea0929367c985cd0ec9144dbacc623041cf881be1fab756917d26 f39b719b64461cf0f2143fcb72f34bdf849a234905839e4dcb0cb28a8af813f3f5663c9362ea233e065aa64cab708e36 +SERVER_TRAFFIC_SECRET_0 0bfa2f62d91ea0929367c985cd0ec9144dbacc623041cf881be1fab756917d26 6af0d9243bb55ce43e136778f1b754f9fa6067b075103b6e6b922a82258a58917a6cf3873977b267ff3b0822a3264d50 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0bfa2f62d91ea0929367c985cd0ec9144dbacc623041cf881be1fab756917d26 9ca85efba8196dec486715417a6a26644fa71fe679b72d0ae7b033ee71997834ce67248488feee258b74deaf87a75ac8 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0bfa2f62d91ea0929367c985cd0ec9144dbacc623041cf881be1fab756917d26 99bae06ebd1eee807a428b2c35f972262dfa28e64856011c75bf231c4e7b2f64d60d7e350abdc3ccb69944f4620af0a9 +CLIENT_TRAFFIC_SECRET_0 0bfa2f62d91ea0929367c985cd0ec9144dbacc623041cf881be1fab756917d26 f39b719b64461cf0f2143fcb72f34bdf849a234905839e4dcb0cb28a8af813f3f5663c9362ea233e065aa64cab708e36 +SERVER_TRAFFIC_SECRET_0 0bfa2f62d91ea0929367c985cd0ec9144dbacc623041cf881be1fab756917d26 6af0d9243bb55ce43e136778f1b754f9fa6067b075103b6e6b922a82258a58917a6cf3873977b267ff3b0822a3264d50 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 39c179326bf04e2eb7164efa56248bd2d63413e407f1a0de72f58d07228099bc 727c6598f1f40b9b25b28bac6c18a8462c679bdd81b375abeb1fa7c73f16b744b17ea73a8c9b653b16a38f5d880da7f3 +SERVER_HANDSHAKE_TRAFFIC_SECRET 39c179326bf04e2eb7164efa56248bd2d63413e407f1a0de72f58d07228099bc 4a8243d54b8a31150f8e6d623337aee03076970e33e538f4f0c4e36b5d00b883b71bd5877d556858a49376f543938b72 +CLIENT_TRAFFIC_SECRET_0 39c179326bf04e2eb7164efa56248bd2d63413e407f1a0de72f58d07228099bc 335d94c9525d46a2d39a64d6e2ccb8112d15c533d9dafafc7f1e6a55124c8c60832d76e2361a6b256be188d9470cf890 +SERVER_TRAFFIC_SECRET_0 39c179326bf04e2eb7164efa56248bd2d63413e407f1a0de72f58d07228099bc 294c4e173416fb2c4c60a7e0588fe4e6eb8fae684d184acf98bf5a4aa6148911dd3146c341ed6747ed9e36036ae012aa +CLIENT_HANDSHAKE_TRAFFIC_SECRET 39c179326bf04e2eb7164efa56248bd2d63413e407f1a0de72f58d07228099bc 727c6598f1f40b9b25b28bac6c18a8462c679bdd81b375abeb1fa7c73f16b744b17ea73a8c9b653b16a38f5d880da7f3 +SERVER_HANDSHAKE_TRAFFIC_SECRET 39c179326bf04e2eb7164efa56248bd2d63413e407f1a0de72f58d07228099bc 4a8243d54b8a31150f8e6d623337aee03076970e33e538f4f0c4e36b5d00b883b71bd5877d556858a49376f543938b72 +CLIENT_TRAFFIC_SECRET_0 39c179326bf04e2eb7164efa56248bd2d63413e407f1a0de72f58d07228099bc 335d94c9525d46a2d39a64d6e2ccb8112d15c533d9dafafc7f1e6a55124c8c60832d76e2361a6b256be188d9470cf890 +SERVER_TRAFFIC_SECRET_0 39c179326bf04e2eb7164efa56248bd2d63413e407f1a0de72f58d07228099bc 294c4e173416fb2c4c60a7e0588fe4e6eb8fae684d184acf98bf5a4aa6148911dd3146c341ed6747ed9e36036ae012aa +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3bb8db9d0dcac755b902363a5bb38f6bac30176ba2bedfdce917b11f7912787f 4b2bf244aee0b2ef7b85e992996d990733540193372f6416fa69fddb0c2e0c9150d8cf4e1aab342931e976482091a8d6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 3bb8db9d0dcac755b902363a5bb38f6bac30176ba2bedfdce917b11f7912787f 3290bbb91aa288074da327409f96e5090d57199c579bfe9c31682d8953ed9a35a6975a04c02b302141daffa1ea15ff57 +CLIENT_TRAFFIC_SECRET_0 3bb8db9d0dcac755b902363a5bb38f6bac30176ba2bedfdce917b11f7912787f 387c586401e508068f946b68bfaf5fbde81ac8b980aa6ed1fd6f882b1431b99171fab9ca0dd04c892d98a238d18af5ff +SERVER_TRAFFIC_SECRET_0 3bb8db9d0dcac755b902363a5bb38f6bac30176ba2bedfdce917b11f7912787f 23ecfd9a724fe4db543d570e8441430821ec8ea3248b3ef1059ec678f8356677f1c2e681ed31d8f02509a849f072ad70 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3bb8db9d0dcac755b902363a5bb38f6bac30176ba2bedfdce917b11f7912787f 4b2bf244aee0b2ef7b85e992996d990733540193372f6416fa69fddb0c2e0c9150d8cf4e1aab342931e976482091a8d6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 3bb8db9d0dcac755b902363a5bb38f6bac30176ba2bedfdce917b11f7912787f 3290bbb91aa288074da327409f96e5090d57199c579bfe9c31682d8953ed9a35a6975a04c02b302141daffa1ea15ff57 +CLIENT_TRAFFIC_SECRET_0 3bb8db9d0dcac755b902363a5bb38f6bac30176ba2bedfdce917b11f7912787f 387c586401e508068f946b68bfaf5fbde81ac8b980aa6ed1fd6f882b1431b99171fab9ca0dd04c892d98a238d18af5ff +SERVER_TRAFFIC_SECRET_0 3bb8db9d0dcac755b902363a5bb38f6bac30176ba2bedfdce917b11f7912787f 23ecfd9a724fe4db543d570e8441430821ec8ea3248b3ef1059ec678f8356677f1c2e681ed31d8f02509a849f072ad70 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 75fe38c2eb6b116da879fe9b94bfab27eb0d99c9c874a9b97248832dc4678bfb 4133fbea8fe1dc58a9e4bbfd9b1498f05d886a3034ce51a37b65772aa12313ef8414712837cc6ad44b38e45db60e8725 +SERVER_HANDSHAKE_TRAFFIC_SECRET 75fe38c2eb6b116da879fe9b94bfab27eb0d99c9c874a9b97248832dc4678bfb 66e17d09735a116d1e0d9a8f151e9fc241e77a47781384c3cb160bd59fb52bf5b14239fc237121897fe1e70eab4f08e1 +CLIENT_TRAFFIC_SECRET_0 75fe38c2eb6b116da879fe9b94bfab27eb0d99c9c874a9b97248832dc4678bfb 9e7635972fecb4b9628447bd2ed5dc2eb8839e98647c5546c852b7463cdfd9a77e283604f32444283201d59bff2d095a +SERVER_TRAFFIC_SECRET_0 75fe38c2eb6b116da879fe9b94bfab27eb0d99c9c874a9b97248832dc4678bfb e5f2bf13d91347a0e479a32b26114a5786bdeef49aceff8cd8cbd43d3c9787c80c273c6ded23aebcdf96fb3a7086f838 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 75fe38c2eb6b116da879fe9b94bfab27eb0d99c9c874a9b97248832dc4678bfb 4133fbea8fe1dc58a9e4bbfd9b1498f05d886a3034ce51a37b65772aa12313ef8414712837cc6ad44b38e45db60e8725 +SERVER_HANDSHAKE_TRAFFIC_SECRET 75fe38c2eb6b116da879fe9b94bfab27eb0d99c9c874a9b97248832dc4678bfb 66e17d09735a116d1e0d9a8f151e9fc241e77a47781384c3cb160bd59fb52bf5b14239fc237121897fe1e70eab4f08e1 +CLIENT_TRAFFIC_SECRET_0 75fe38c2eb6b116da879fe9b94bfab27eb0d99c9c874a9b97248832dc4678bfb 9e7635972fecb4b9628447bd2ed5dc2eb8839e98647c5546c852b7463cdfd9a77e283604f32444283201d59bff2d095a +SERVER_TRAFFIC_SECRET_0 75fe38c2eb6b116da879fe9b94bfab27eb0d99c9c874a9b97248832dc4678bfb e5f2bf13d91347a0e479a32b26114a5786bdeef49aceff8cd8cbd43d3c9787c80c273c6ded23aebcdf96fb3a7086f838 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 53023c6259ccedb6d2bf50d1f18cf54d11a7ea220b9cc998291bcc0f5f1cfd91 a8e31b41915a57b54ceb237744f95c927707f12d86f61d9c9f355c8cebdcfa17babf35359548aebc0b0d0a2bded5b202 +SERVER_HANDSHAKE_TRAFFIC_SECRET 53023c6259ccedb6d2bf50d1f18cf54d11a7ea220b9cc998291bcc0f5f1cfd91 d4f3a15fb191d259314929e6b526fd1821b633f3f64e3b1dc7dfba8ee498b31fbf532669490be13f4c1b3ff1f4efefc7 +CLIENT_TRAFFIC_SECRET_0 53023c6259ccedb6d2bf50d1f18cf54d11a7ea220b9cc998291bcc0f5f1cfd91 1ad8ff3f65f9be3d5bdcf44904f3f71fa4fbca1038368695c72c0656e47d8cdd796dad45b56b3b1021671f79ecf00dce +SERVER_TRAFFIC_SECRET_0 53023c6259ccedb6d2bf50d1f18cf54d11a7ea220b9cc998291bcc0f5f1cfd91 96c22f675f475d7c171640c657f46d351af476efa761117633dc2522b758db2fb5ccdeb851125336ac9fc52bbfbff442 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 53023c6259ccedb6d2bf50d1f18cf54d11a7ea220b9cc998291bcc0f5f1cfd91 a8e31b41915a57b54ceb237744f95c927707f12d86f61d9c9f355c8cebdcfa17babf35359548aebc0b0d0a2bded5b202 +SERVER_HANDSHAKE_TRAFFIC_SECRET 53023c6259ccedb6d2bf50d1f18cf54d11a7ea220b9cc998291bcc0f5f1cfd91 d4f3a15fb191d259314929e6b526fd1821b633f3f64e3b1dc7dfba8ee498b31fbf532669490be13f4c1b3ff1f4efefc7 +CLIENT_TRAFFIC_SECRET_0 53023c6259ccedb6d2bf50d1f18cf54d11a7ea220b9cc998291bcc0f5f1cfd91 1ad8ff3f65f9be3d5bdcf44904f3f71fa4fbca1038368695c72c0656e47d8cdd796dad45b56b3b1021671f79ecf00dce +SERVER_TRAFFIC_SECRET_0 53023c6259ccedb6d2bf50d1f18cf54d11a7ea220b9cc998291bcc0f5f1cfd91 96c22f675f475d7c171640c657f46d351af476efa761117633dc2522b758db2fb5ccdeb851125336ac9fc52bbfbff442 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e01cae340e252d01cbff942e0a854a68be5d01a8be5f15d38057293abc039ca6 acbabe0650a68e21e565ed429aa20fce5c4c30f1cf41c6a1f28fc7876c8a500b211172aae4a2d32097e24a857fd696c4 +SERVER_HANDSHAKE_TRAFFIC_SECRET e01cae340e252d01cbff942e0a854a68be5d01a8be5f15d38057293abc039ca6 5f722e48d378a50f84e894bc933fdf4256ecbdf6ffb26738b36b6a8d3f2fc8b6d35f4bbae88267045f0912ad14be2d1e +CLIENT_TRAFFIC_SECRET_0 e01cae340e252d01cbff942e0a854a68be5d01a8be5f15d38057293abc039ca6 db2655d2ab1eb8a42b73d2a1515c6aa0b70fc55950d8bd278b52284a3730cc54ab398912bdbb7a2a0f1d22dc46104c98 +SERVER_TRAFFIC_SECRET_0 e01cae340e252d01cbff942e0a854a68be5d01a8be5f15d38057293abc039ca6 bdcd051a8417482311ab368f0e6f4891f918fa3b601ecbd057c561a61f29c3697728e79e1dd95f8b61c1fb16f8da6000 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e01cae340e252d01cbff942e0a854a68be5d01a8be5f15d38057293abc039ca6 acbabe0650a68e21e565ed429aa20fce5c4c30f1cf41c6a1f28fc7876c8a500b211172aae4a2d32097e24a857fd696c4 +SERVER_HANDSHAKE_TRAFFIC_SECRET e01cae340e252d01cbff942e0a854a68be5d01a8be5f15d38057293abc039ca6 5f722e48d378a50f84e894bc933fdf4256ecbdf6ffb26738b36b6a8d3f2fc8b6d35f4bbae88267045f0912ad14be2d1e +CLIENT_TRAFFIC_SECRET_0 e01cae340e252d01cbff942e0a854a68be5d01a8be5f15d38057293abc039ca6 db2655d2ab1eb8a42b73d2a1515c6aa0b70fc55950d8bd278b52284a3730cc54ab398912bdbb7a2a0f1d22dc46104c98 +SERVER_TRAFFIC_SECRET_0 e01cae340e252d01cbff942e0a854a68be5d01a8be5f15d38057293abc039ca6 bdcd051a8417482311ab368f0e6f4891f918fa3b601ecbd057c561a61f29c3697728e79e1dd95f8b61c1fb16f8da6000 +CLIENT_HANDSHAKE_TRAFFIC_SECRET fe645a98dd6ce7712fcc8868e5b92e007f1ee93bd085cd50bf177dcf9df185d2 fea5bfff1c5481c798347eb092751917593ff550e5110d241b0e6cae4d6b23de42250b033b51e802f398d18a7a0998df +SERVER_HANDSHAKE_TRAFFIC_SECRET fe645a98dd6ce7712fcc8868e5b92e007f1ee93bd085cd50bf177dcf9df185d2 d48188fd77c2da9609ae075690e97fe4a9de07d29167413dc37908cf73acc0dc7ae4d056b3b62547fe584a28e74d1428 +CLIENT_TRAFFIC_SECRET_0 fe645a98dd6ce7712fcc8868e5b92e007f1ee93bd085cd50bf177dcf9df185d2 f40e1afe9cc65a63223b48aba7a14899e5abb0dc905cd13f851e5ccaa6162dcc7b2d293797b4187dc7b2a2de3d2b07eb +SERVER_TRAFFIC_SECRET_0 fe645a98dd6ce7712fcc8868e5b92e007f1ee93bd085cd50bf177dcf9df185d2 a0c16db31041e3fc2b2618034b59cdfca08a4f67c3edc0abe1a311f56711715c7ef96c771637f5db58b205a54b85f43b +CLIENT_HANDSHAKE_TRAFFIC_SECRET fe645a98dd6ce7712fcc8868e5b92e007f1ee93bd085cd50bf177dcf9df185d2 fea5bfff1c5481c798347eb092751917593ff550e5110d241b0e6cae4d6b23de42250b033b51e802f398d18a7a0998df +SERVER_HANDSHAKE_TRAFFIC_SECRET fe645a98dd6ce7712fcc8868e5b92e007f1ee93bd085cd50bf177dcf9df185d2 d48188fd77c2da9609ae075690e97fe4a9de07d29167413dc37908cf73acc0dc7ae4d056b3b62547fe584a28e74d1428 +CLIENT_TRAFFIC_SECRET_0 fe645a98dd6ce7712fcc8868e5b92e007f1ee93bd085cd50bf177dcf9df185d2 f40e1afe9cc65a63223b48aba7a14899e5abb0dc905cd13f851e5ccaa6162dcc7b2d293797b4187dc7b2a2de3d2b07eb +SERVER_TRAFFIC_SECRET_0 fe645a98dd6ce7712fcc8868e5b92e007f1ee93bd085cd50bf177dcf9df185d2 a0c16db31041e3fc2b2618034b59cdfca08a4f67c3edc0abe1a311f56711715c7ef96c771637f5db58b205a54b85f43b +CLIENT_HANDSHAKE_TRAFFIC_SECRET 22d2698a8d2f54d3bdba3208583156516c7e8424e204150b1f3549efa0f86f0d 8baaf80097f7f499d7b34a6850e9de556eeda425c1cd7d4d8233a280309f3f5b47799b6ac29419ce9233ace52252c65e +SERVER_HANDSHAKE_TRAFFIC_SECRET 22d2698a8d2f54d3bdba3208583156516c7e8424e204150b1f3549efa0f86f0d 79caa952af0536ef28ca0d51dd64a0d40451e88a4b27e77099144f44e7692911befaf12695cac2d8fdb8278a457f6875 +CLIENT_TRAFFIC_SECRET_0 22d2698a8d2f54d3bdba3208583156516c7e8424e204150b1f3549efa0f86f0d 28b67b358c1949393d4f7fcc776786eb352471e5cd3fc1c0c88ff10fe8260cd1bfd73bc4fd65a8e2681181670fc6dbe3 +SERVER_TRAFFIC_SECRET_0 22d2698a8d2f54d3bdba3208583156516c7e8424e204150b1f3549efa0f86f0d 64e45cffbb989c5f6be115fd1c5063367b94cea63d952073a1b69c60174983727281de974534d8435d0ed5b20ce1ce9c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 22d2698a8d2f54d3bdba3208583156516c7e8424e204150b1f3549efa0f86f0d 8baaf80097f7f499d7b34a6850e9de556eeda425c1cd7d4d8233a280309f3f5b47799b6ac29419ce9233ace52252c65e +SERVER_HANDSHAKE_TRAFFIC_SECRET 22d2698a8d2f54d3bdba3208583156516c7e8424e204150b1f3549efa0f86f0d 79caa952af0536ef28ca0d51dd64a0d40451e88a4b27e77099144f44e7692911befaf12695cac2d8fdb8278a457f6875 +CLIENT_TRAFFIC_SECRET_0 22d2698a8d2f54d3bdba3208583156516c7e8424e204150b1f3549efa0f86f0d 28b67b358c1949393d4f7fcc776786eb352471e5cd3fc1c0c88ff10fe8260cd1bfd73bc4fd65a8e2681181670fc6dbe3 +SERVER_TRAFFIC_SECRET_0 22d2698a8d2f54d3bdba3208583156516c7e8424e204150b1f3549efa0f86f0d 64e45cffbb989c5f6be115fd1c5063367b94cea63d952073a1b69c60174983727281de974534d8435d0ed5b20ce1ce9c +CLIENT_HANDSHAKE_TRAFFIC_SECRET b420bad2e4bb20f4f4dbf41c841847bb5768377025098cada7aa1f2d61cb5876 ba80e0b7dd308d0eb50c35070e51fcceed5f7af0b3060afff793051da35bf8f8fd507dc8bea9ce4f209e4fddcf26f924 +SERVER_HANDSHAKE_TRAFFIC_SECRET b420bad2e4bb20f4f4dbf41c841847bb5768377025098cada7aa1f2d61cb5876 0d1939e1edc6d4fc83402e79d4601811e2893ba59f0caa2eeaede0bc3348b5e0204c08a995b28e8fbe3c041ce0324bbb +CLIENT_TRAFFIC_SECRET_0 b420bad2e4bb20f4f4dbf41c841847bb5768377025098cada7aa1f2d61cb5876 94d40d485c5d0edc38991f48d98d859c8f2df5e11ed5ed89884f95288bc2f466e93358c58f732f330a852c9fa68058a1 +SERVER_TRAFFIC_SECRET_0 b420bad2e4bb20f4f4dbf41c841847bb5768377025098cada7aa1f2d61cb5876 170d02de524a3283ff3fce742a6166699a77b361470172d141e11b576d7dad7fc9dd64b693bd04aeaf93442f542fcc2e +CLIENT_HANDSHAKE_TRAFFIC_SECRET b420bad2e4bb20f4f4dbf41c841847bb5768377025098cada7aa1f2d61cb5876 ba80e0b7dd308d0eb50c35070e51fcceed5f7af0b3060afff793051da35bf8f8fd507dc8bea9ce4f209e4fddcf26f924 +SERVER_HANDSHAKE_TRAFFIC_SECRET b420bad2e4bb20f4f4dbf41c841847bb5768377025098cada7aa1f2d61cb5876 0d1939e1edc6d4fc83402e79d4601811e2893ba59f0caa2eeaede0bc3348b5e0204c08a995b28e8fbe3c041ce0324bbb +CLIENT_TRAFFIC_SECRET_0 b420bad2e4bb20f4f4dbf41c841847bb5768377025098cada7aa1f2d61cb5876 94d40d485c5d0edc38991f48d98d859c8f2df5e11ed5ed89884f95288bc2f466e93358c58f732f330a852c9fa68058a1 +SERVER_TRAFFIC_SECRET_0 b420bad2e4bb20f4f4dbf41c841847bb5768377025098cada7aa1f2d61cb5876 170d02de524a3283ff3fce742a6166699a77b361470172d141e11b576d7dad7fc9dd64b693bd04aeaf93442f542fcc2e +CLIENT_HANDSHAKE_TRAFFIC_SECRET ff0deb43595bd8d392b7ef3876370c653444db466bb41f299a436f0fabc4734c 7fc0bbbea210307e15ac154d902387d1024ef9f8e50404dd990cd42aa98c6e01134be79c10b91d5566c8a1b3bc243d7a +SERVER_HANDSHAKE_TRAFFIC_SECRET ff0deb43595bd8d392b7ef3876370c653444db466bb41f299a436f0fabc4734c 80c81ecd88bbb5febead254a6df35343a0eb85ccc8ef4977bc1599da716eee1619d3bf359ea1653908d22ba368523baa +CLIENT_TRAFFIC_SECRET_0 ff0deb43595bd8d392b7ef3876370c653444db466bb41f299a436f0fabc4734c 025ce8c0b17c13edca8a1f2a02b331234e80946ce7670e4def158f317da81ab26095a6044b0816cab3abb5b5d0572e20 +SERVER_TRAFFIC_SECRET_0 ff0deb43595bd8d392b7ef3876370c653444db466bb41f299a436f0fabc4734c 4c77d52423ce230ff3cdec4db3ce55f2d42989d45cf88bcc0b4c73a35f7414f08362c41b5a2a66b53c625d724c96817d +CLIENT_HANDSHAKE_TRAFFIC_SECRET ff0deb43595bd8d392b7ef3876370c653444db466bb41f299a436f0fabc4734c 7fc0bbbea210307e15ac154d902387d1024ef9f8e50404dd990cd42aa98c6e01134be79c10b91d5566c8a1b3bc243d7a +SERVER_HANDSHAKE_TRAFFIC_SECRET ff0deb43595bd8d392b7ef3876370c653444db466bb41f299a436f0fabc4734c 80c81ecd88bbb5febead254a6df35343a0eb85ccc8ef4977bc1599da716eee1619d3bf359ea1653908d22ba368523baa +CLIENT_TRAFFIC_SECRET_0 ff0deb43595bd8d392b7ef3876370c653444db466bb41f299a436f0fabc4734c 025ce8c0b17c13edca8a1f2a02b331234e80946ce7670e4def158f317da81ab26095a6044b0816cab3abb5b5d0572e20 +SERVER_TRAFFIC_SECRET_0 ff0deb43595bd8d392b7ef3876370c653444db466bb41f299a436f0fabc4734c 4c77d52423ce230ff3cdec4db3ce55f2d42989d45cf88bcc0b4c73a35f7414f08362c41b5a2a66b53c625d724c96817d +CLIENT_HANDSHAKE_TRAFFIC_SECRET df406e8bab4e3a73486e6f3be133186db06f62b4a1e7b1aa0e4effe029bf0421 57304cd5dd7f26bd73b5d18d62c67aba829f2b4501d8ef5e6caabf96df8c5208fe3245e51b0f99f10da893b714f9d1ab +SERVER_HANDSHAKE_TRAFFIC_SECRET df406e8bab4e3a73486e6f3be133186db06f62b4a1e7b1aa0e4effe029bf0421 fafeef80b16232e0639a6f4c2601c5dc98ae04814148c0045c44253b30cba87f5fa4f9c52b906cc217c8098a92141e00 +CLIENT_TRAFFIC_SECRET_0 df406e8bab4e3a73486e6f3be133186db06f62b4a1e7b1aa0e4effe029bf0421 16b8387bd12f8e82f6bdada4389a104a18a5f1264db30ef3f8e055ddd902d7338d751f32af6749852482a02c3ac44485 +SERVER_TRAFFIC_SECRET_0 df406e8bab4e3a73486e6f3be133186db06f62b4a1e7b1aa0e4effe029bf0421 330449fe68b023165bc96a4c3c44657322c733d5f80888131f022f66520040698eb02dbc100b4333b710311e31181ab7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET df406e8bab4e3a73486e6f3be133186db06f62b4a1e7b1aa0e4effe029bf0421 57304cd5dd7f26bd73b5d18d62c67aba829f2b4501d8ef5e6caabf96df8c5208fe3245e51b0f99f10da893b714f9d1ab +SERVER_HANDSHAKE_TRAFFIC_SECRET df406e8bab4e3a73486e6f3be133186db06f62b4a1e7b1aa0e4effe029bf0421 fafeef80b16232e0639a6f4c2601c5dc98ae04814148c0045c44253b30cba87f5fa4f9c52b906cc217c8098a92141e00 +CLIENT_TRAFFIC_SECRET_0 df406e8bab4e3a73486e6f3be133186db06f62b4a1e7b1aa0e4effe029bf0421 16b8387bd12f8e82f6bdada4389a104a18a5f1264db30ef3f8e055ddd902d7338d751f32af6749852482a02c3ac44485 +SERVER_TRAFFIC_SECRET_0 df406e8bab4e3a73486e6f3be133186db06f62b4a1e7b1aa0e4effe029bf0421 330449fe68b023165bc96a4c3c44657322c733d5f80888131f022f66520040698eb02dbc100b4333b710311e31181ab7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f0217ed535658f173d62f5713fcf0045c9f5bbefa1dc3cff4f9ac8d511919bec b17fbb39a1bb622d6cbe4baa15a7fc6758a4b4108c3fafd8cf0e0255083bc1cf41f3150e9b195655613034ef2734a5cd +SERVER_HANDSHAKE_TRAFFIC_SECRET f0217ed535658f173d62f5713fcf0045c9f5bbefa1dc3cff4f9ac8d511919bec 45db5603e02be0081c288f1cb14afed8208139f9773d0bb7abd50c37b3d7bb7d00c175d547843d86c4075bb75424aa53 +CLIENT_TRAFFIC_SECRET_0 f0217ed535658f173d62f5713fcf0045c9f5bbefa1dc3cff4f9ac8d511919bec 5449d5189be65d320593a0651272ed73b0ce18c5c6d507676bbc6ec9f3732377d6b00e6c778a54abb414e04bfc60ecfe +SERVER_TRAFFIC_SECRET_0 f0217ed535658f173d62f5713fcf0045c9f5bbefa1dc3cff4f9ac8d511919bec edc7de5183fc97fd3e667d1b0970e9c7648b19f6ccf33b17fb60ea4311ad3eb3b25fcd3e8c74d729268a406232072552 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f0217ed535658f173d62f5713fcf0045c9f5bbefa1dc3cff4f9ac8d511919bec b17fbb39a1bb622d6cbe4baa15a7fc6758a4b4108c3fafd8cf0e0255083bc1cf41f3150e9b195655613034ef2734a5cd +SERVER_HANDSHAKE_TRAFFIC_SECRET f0217ed535658f173d62f5713fcf0045c9f5bbefa1dc3cff4f9ac8d511919bec 45db5603e02be0081c288f1cb14afed8208139f9773d0bb7abd50c37b3d7bb7d00c175d547843d86c4075bb75424aa53 +CLIENT_TRAFFIC_SECRET_0 f0217ed535658f173d62f5713fcf0045c9f5bbefa1dc3cff4f9ac8d511919bec 5449d5189be65d320593a0651272ed73b0ce18c5c6d507676bbc6ec9f3732377d6b00e6c778a54abb414e04bfc60ecfe +SERVER_TRAFFIC_SECRET_0 f0217ed535658f173d62f5713fcf0045c9f5bbefa1dc3cff4f9ac8d511919bec edc7de5183fc97fd3e667d1b0970e9c7648b19f6ccf33b17fb60ea4311ad3eb3b25fcd3e8c74d729268a406232072552 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2cdba417cad8e491685a8a18572c0472e7ada816a060d4dbb65eb171d595c59e 0c06cdd3c204a2a2818612d070fd6a73247a92e7dc01adfbe41cc03f7d4d2db47735c614922cac7e13486a233ffd9d6c +SERVER_HANDSHAKE_TRAFFIC_SECRET 2cdba417cad8e491685a8a18572c0472e7ada816a060d4dbb65eb171d595c59e e5f13e1721cb6025bb322559caaf1f838721c70d7d9d3204e49dc4cc23c304cd46233c1fd9672e5fc0a2caec4f21b380 +CLIENT_TRAFFIC_SECRET_0 2cdba417cad8e491685a8a18572c0472e7ada816a060d4dbb65eb171d595c59e dc9d5be30b95e1f38a53cc999f154d49ac7e641361c1151c489a6996921d125caaf00c97f12bbc37940284159ef389f6 +SERVER_TRAFFIC_SECRET_0 2cdba417cad8e491685a8a18572c0472e7ada816a060d4dbb65eb171d595c59e 0734353e1d5761af52e659eb68cee8ac09ce1267c9fc321933f6dda84255db57dc8d5e12541639e87343e1193fc6c4f5 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2cdba417cad8e491685a8a18572c0472e7ada816a060d4dbb65eb171d595c59e 0c06cdd3c204a2a2818612d070fd6a73247a92e7dc01adfbe41cc03f7d4d2db47735c614922cac7e13486a233ffd9d6c +SERVER_HANDSHAKE_TRAFFIC_SECRET 2cdba417cad8e491685a8a18572c0472e7ada816a060d4dbb65eb171d595c59e e5f13e1721cb6025bb322559caaf1f838721c70d7d9d3204e49dc4cc23c304cd46233c1fd9672e5fc0a2caec4f21b380 +CLIENT_TRAFFIC_SECRET_0 2cdba417cad8e491685a8a18572c0472e7ada816a060d4dbb65eb171d595c59e dc9d5be30b95e1f38a53cc999f154d49ac7e641361c1151c489a6996921d125caaf00c97f12bbc37940284159ef389f6 +SERVER_TRAFFIC_SECRET_0 2cdba417cad8e491685a8a18572c0472e7ada816a060d4dbb65eb171d595c59e 0734353e1d5761af52e659eb68cee8ac09ce1267c9fc321933f6dda84255db57dc8d5e12541639e87343e1193fc6c4f5 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3258daabcb01b72573935048e9c3a1ae9220ab3cc1c5b1045370773152004fd3 6b735c31a1fda60c52ea40ee1349a636764234199f476af8fe0480a81236cad8b9b106d827ef53b73ae06c7f8a3ed1df +SERVER_HANDSHAKE_TRAFFIC_SECRET 3258daabcb01b72573935048e9c3a1ae9220ab3cc1c5b1045370773152004fd3 51771d90775a55e6fb625637b95693a006c0cc642135f7adc1454c645b3d508683d21860ba8218ce340710d6d08143f7 +CLIENT_TRAFFIC_SECRET_0 3258daabcb01b72573935048e9c3a1ae9220ab3cc1c5b1045370773152004fd3 c3780f6abeb4d46ebcce62b1c1fdc2e55630f329474c18bf4ab9b2553c9c0a71cf29fe444d2bc6d57a1499cdb95f1de7 +SERVER_TRAFFIC_SECRET_0 3258daabcb01b72573935048e9c3a1ae9220ab3cc1c5b1045370773152004fd3 dfad8c3bf0d29650d18ef90d37bbb8d9834cd062a894ff3b5a4d2b6ff4291c317613a39d096c57b9baab9e91c500f351 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3258daabcb01b72573935048e9c3a1ae9220ab3cc1c5b1045370773152004fd3 6b735c31a1fda60c52ea40ee1349a636764234199f476af8fe0480a81236cad8b9b106d827ef53b73ae06c7f8a3ed1df +SERVER_HANDSHAKE_TRAFFIC_SECRET 3258daabcb01b72573935048e9c3a1ae9220ab3cc1c5b1045370773152004fd3 51771d90775a55e6fb625637b95693a006c0cc642135f7adc1454c645b3d508683d21860ba8218ce340710d6d08143f7 +CLIENT_TRAFFIC_SECRET_0 3258daabcb01b72573935048e9c3a1ae9220ab3cc1c5b1045370773152004fd3 c3780f6abeb4d46ebcce62b1c1fdc2e55630f329474c18bf4ab9b2553c9c0a71cf29fe444d2bc6d57a1499cdb95f1de7 +SERVER_TRAFFIC_SECRET_0 3258daabcb01b72573935048e9c3a1ae9220ab3cc1c5b1045370773152004fd3 dfad8c3bf0d29650d18ef90d37bbb8d9834cd062a894ff3b5a4d2b6ff4291c317613a39d096c57b9baab9e91c500f351 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c081e0ec45f1d11de395e7b689415e237237411d7666dc9f3b9c68671364cb76 cab2ef1cee1d88e25ba8b7eb43952a5747daad32215c3350df0da9f72b548c460dc2e847ef6ff8492dd3e91db8ad5332 +SERVER_HANDSHAKE_TRAFFIC_SECRET c081e0ec45f1d11de395e7b689415e237237411d7666dc9f3b9c68671364cb76 37711d443cf67b2f4bef7107a4d597b0541e92adb452bf80c9fc634174dced940d94cf79f6cdd8b2768cfc5488ffcce4 +CLIENT_TRAFFIC_SECRET_0 c081e0ec45f1d11de395e7b689415e237237411d7666dc9f3b9c68671364cb76 e4302ed5c0fd179fd2755dd9dd00b40e6a84ccd62d3c948e378e27be31d49ebf0188334b09e988a1d612db4e6e6d938a +SERVER_TRAFFIC_SECRET_0 c081e0ec45f1d11de395e7b689415e237237411d7666dc9f3b9c68671364cb76 b95014d2fead65859b22d1a50aeb0e1f34d90d418883d1bd81b4ea2e5db539fbf9f255c232557388e3c4d666f29187d8 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c081e0ec45f1d11de395e7b689415e237237411d7666dc9f3b9c68671364cb76 cab2ef1cee1d88e25ba8b7eb43952a5747daad32215c3350df0da9f72b548c460dc2e847ef6ff8492dd3e91db8ad5332 +SERVER_HANDSHAKE_TRAFFIC_SECRET c081e0ec45f1d11de395e7b689415e237237411d7666dc9f3b9c68671364cb76 37711d443cf67b2f4bef7107a4d597b0541e92adb452bf80c9fc634174dced940d94cf79f6cdd8b2768cfc5488ffcce4 +CLIENT_TRAFFIC_SECRET_0 c081e0ec45f1d11de395e7b689415e237237411d7666dc9f3b9c68671364cb76 e4302ed5c0fd179fd2755dd9dd00b40e6a84ccd62d3c948e378e27be31d49ebf0188334b09e988a1d612db4e6e6d938a +SERVER_TRAFFIC_SECRET_0 c081e0ec45f1d11de395e7b689415e237237411d7666dc9f3b9c68671364cb76 b95014d2fead65859b22d1a50aeb0e1f34d90d418883d1bd81b4ea2e5db539fbf9f255c232557388e3c4d666f29187d8 +CLIENT_HANDSHAKE_TRAFFIC_SECRET be944c36626598cd6d72dec1e1917ebf7b364f7b6515664e69310c3241c0d6b9 8354c76542a7f950bb655cdcd38a88662106daedcf171fdb4b4c72911d971ad279020d75aef8957bd4594f6bb2e6e7b2 +SERVER_HANDSHAKE_TRAFFIC_SECRET be944c36626598cd6d72dec1e1917ebf7b364f7b6515664e69310c3241c0d6b9 1c5e07971527df1fad29c5b9143a20ab07d8034cf05ee567a7e62462b04beadc94e71c2113c672544746e8afc499a403 +CLIENT_TRAFFIC_SECRET_0 be944c36626598cd6d72dec1e1917ebf7b364f7b6515664e69310c3241c0d6b9 113f5daf056b391d814191aaf449c69923c651724548d0d30d64441aef6740a8887ee010a00abefb325ff22204fe1eef +SERVER_TRAFFIC_SECRET_0 be944c36626598cd6d72dec1e1917ebf7b364f7b6515664e69310c3241c0d6b9 34c4638ebc0c3cd3d160380910cb52c3e76078e367973bcbddb9e23881f8defc56734b4986bd91d6ffaeec390201f12c +CLIENT_HANDSHAKE_TRAFFIC_SECRET be944c36626598cd6d72dec1e1917ebf7b364f7b6515664e69310c3241c0d6b9 8354c76542a7f950bb655cdcd38a88662106daedcf171fdb4b4c72911d971ad279020d75aef8957bd4594f6bb2e6e7b2 +SERVER_HANDSHAKE_TRAFFIC_SECRET be944c36626598cd6d72dec1e1917ebf7b364f7b6515664e69310c3241c0d6b9 1c5e07971527df1fad29c5b9143a20ab07d8034cf05ee567a7e62462b04beadc94e71c2113c672544746e8afc499a403 +CLIENT_TRAFFIC_SECRET_0 be944c36626598cd6d72dec1e1917ebf7b364f7b6515664e69310c3241c0d6b9 113f5daf056b391d814191aaf449c69923c651724548d0d30d64441aef6740a8887ee010a00abefb325ff22204fe1eef +SERVER_TRAFFIC_SECRET_0 be944c36626598cd6d72dec1e1917ebf7b364f7b6515664e69310c3241c0d6b9 34c4638ebc0c3cd3d160380910cb52c3e76078e367973bcbddb9e23881f8defc56734b4986bd91d6ffaeec390201f12c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4e523d256c70205493f14f3a95bd5e1d3c45561c76b180a2e6c93adc2bf90ead 875c1e0d29fc2147ad5c159c0c067a78ae1b7dfd8503c63f8b63de5e51aa30857d93f6cd3294a40b2f0d368166767bbf +SERVER_HANDSHAKE_TRAFFIC_SECRET 4e523d256c70205493f14f3a95bd5e1d3c45561c76b180a2e6c93adc2bf90ead b23bc7e12e0e9c34cf70c66a2f11fe6fafa2f85a806214550035b584c2d04b48c259f18c0d5f8db0b00dad25d7f92cd5 +CLIENT_TRAFFIC_SECRET_0 4e523d256c70205493f14f3a95bd5e1d3c45561c76b180a2e6c93adc2bf90ead 51c8f7cd0a8b8fb7b517ca3bea071e8e3e219c2b7d742c4b1028e77dfb91f4cc4c1541320679317383faf9aac0fefa54 +SERVER_TRAFFIC_SECRET_0 4e523d256c70205493f14f3a95bd5e1d3c45561c76b180a2e6c93adc2bf90ead 09da5acdd72a98ba9f742ba17c9f6ff3532fe59fac66c894bb6df9643ce248d8ff985d57de17f25870de04d97e7620d3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4e523d256c70205493f14f3a95bd5e1d3c45561c76b180a2e6c93adc2bf90ead 875c1e0d29fc2147ad5c159c0c067a78ae1b7dfd8503c63f8b63de5e51aa30857d93f6cd3294a40b2f0d368166767bbf +SERVER_HANDSHAKE_TRAFFIC_SECRET 4e523d256c70205493f14f3a95bd5e1d3c45561c76b180a2e6c93adc2bf90ead b23bc7e12e0e9c34cf70c66a2f11fe6fafa2f85a806214550035b584c2d04b48c259f18c0d5f8db0b00dad25d7f92cd5 +CLIENT_TRAFFIC_SECRET_0 4e523d256c70205493f14f3a95bd5e1d3c45561c76b180a2e6c93adc2bf90ead 51c8f7cd0a8b8fb7b517ca3bea071e8e3e219c2b7d742c4b1028e77dfb91f4cc4c1541320679317383faf9aac0fefa54 +SERVER_TRAFFIC_SECRET_0 4e523d256c70205493f14f3a95bd5e1d3c45561c76b180a2e6c93adc2bf90ead 09da5acdd72a98ba9f742ba17c9f6ff3532fe59fac66c894bb6df9643ce248d8ff985d57de17f25870de04d97e7620d3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 10597f75cf0c338a05120524ad19a27280393822c29661f6ee40f81b5ab7addf 6cc2e4d13d05453917e715d3f00bc0f0c44ed43ef41c91539cd1ea9e812f8da2181b8e8878a686764a695c70a287e602 +SERVER_HANDSHAKE_TRAFFIC_SECRET 10597f75cf0c338a05120524ad19a27280393822c29661f6ee40f81b5ab7addf 5ca7949ec3a07959e6f26976bc8b011ec35689cfa7cfc277f44c94e84f788b8b42aa0cdd9c6559e1e1fa84f79b5b944a +CLIENT_TRAFFIC_SECRET_0 10597f75cf0c338a05120524ad19a27280393822c29661f6ee40f81b5ab7addf e89237242656a4cfac297db9ba2c7efff0137db75c3277d905b691d77fc6c231093197706ca640c8bd7da019e09170e8 +SERVER_TRAFFIC_SECRET_0 10597f75cf0c338a05120524ad19a27280393822c29661f6ee40f81b5ab7addf 25144d50dab734e0f58082202daf6a120ce61fc784570d8b3e74185579e38c7fc92af3147217649376fbe4cdc53355f9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 10597f75cf0c338a05120524ad19a27280393822c29661f6ee40f81b5ab7addf 6cc2e4d13d05453917e715d3f00bc0f0c44ed43ef41c91539cd1ea9e812f8da2181b8e8878a686764a695c70a287e602 +SERVER_HANDSHAKE_TRAFFIC_SECRET 10597f75cf0c338a05120524ad19a27280393822c29661f6ee40f81b5ab7addf 5ca7949ec3a07959e6f26976bc8b011ec35689cfa7cfc277f44c94e84f788b8b42aa0cdd9c6559e1e1fa84f79b5b944a +CLIENT_TRAFFIC_SECRET_0 10597f75cf0c338a05120524ad19a27280393822c29661f6ee40f81b5ab7addf e89237242656a4cfac297db9ba2c7efff0137db75c3277d905b691d77fc6c231093197706ca640c8bd7da019e09170e8 +SERVER_TRAFFIC_SECRET_0 10597f75cf0c338a05120524ad19a27280393822c29661f6ee40f81b5ab7addf 25144d50dab734e0f58082202daf6a120ce61fc784570d8b3e74185579e38c7fc92af3147217649376fbe4cdc53355f9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e3022dc87b0a5daedfe14407b6860855ce1ad1f629d9f39762b1ff4c06acfcf9 c4bc1c46e4a54e597961ecbcaddd9c6e7ef14ffd4c0974195d10ddb1b089bac20ed68e62a599d1e9b094d2fdb195bf2b +SERVER_HANDSHAKE_TRAFFIC_SECRET e3022dc87b0a5daedfe14407b6860855ce1ad1f629d9f39762b1ff4c06acfcf9 b95622dd4c42502c2c85298ad343e9d219cdff9155f4f8d4fae8dfe1d85bf05b3aa60e0f21e6f20efb7f6e965481d14c +CLIENT_TRAFFIC_SECRET_0 e3022dc87b0a5daedfe14407b6860855ce1ad1f629d9f39762b1ff4c06acfcf9 738e37b7ce204f6167ae8ff245fca857fb242de17cf29684aec1d1c2f8621065c52d73507568cce5399f12c4cc48d297 +SERVER_TRAFFIC_SECRET_0 e3022dc87b0a5daedfe14407b6860855ce1ad1f629d9f39762b1ff4c06acfcf9 5a1f68caa4a89b8977c95b146aa737d85de3d919689df08c6c430ef2363a198d21f8cd5f0d8dd9dcdc8bf97ae7b60a97 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e3022dc87b0a5daedfe14407b6860855ce1ad1f629d9f39762b1ff4c06acfcf9 c4bc1c46e4a54e597961ecbcaddd9c6e7ef14ffd4c0974195d10ddb1b089bac20ed68e62a599d1e9b094d2fdb195bf2b +SERVER_HANDSHAKE_TRAFFIC_SECRET e3022dc87b0a5daedfe14407b6860855ce1ad1f629d9f39762b1ff4c06acfcf9 b95622dd4c42502c2c85298ad343e9d219cdff9155f4f8d4fae8dfe1d85bf05b3aa60e0f21e6f20efb7f6e965481d14c +CLIENT_TRAFFIC_SECRET_0 e3022dc87b0a5daedfe14407b6860855ce1ad1f629d9f39762b1ff4c06acfcf9 738e37b7ce204f6167ae8ff245fca857fb242de17cf29684aec1d1c2f8621065c52d73507568cce5399f12c4cc48d297 +SERVER_TRAFFIC_SECRET_0 e3022dc87b0a5daedfe14407b6860855ce1ad1f629d9f39762b1ff4c06acfcf9 5a1f68caa4a89b8977c95b146aa737d85de3d919689df08c6c430ef2363a198d21f8cd5f0d8dd9dcdc8bf97ae7b60a97 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1c66c2821d13f871f687e8e76af31f62088f8691ba01c1e5cc7ab6e53546c23e 415542f252a0683872c4e8c9a8205bdb67f79a217eec8b01c0dd66402187db6206b006b7f92eac6fc867ea0c1dec12ca +SERVER_HANDSHAKE_TRAFFIC_SECRET 1c66c2821d13f871f687e8e76af31f62088f8691ba01c1e5cc7ab6e53546c23e ffc7b9895cc800f18e5a606e70dac55b9dcb26d60b962e690e6a40ed698a1fc36126f0fc9a79a00f41d2aff9df53976d +CLIENT_TRAFFIC_SECRET_0 1c66c2821d13f871f687e8e76af31f62088f8691ba01c1e5cc7ab6e53546c23e 306badc6a10b261d05a854d37910e43ccf830b4ad22cd489fb6f7bd9a7af036b3d5dc1fcbc1f388bb6cd6aa47974714d +SERVER_TRAFFIC_SECRET_0 1c66c2821d13f871f687e8e76af31f62088f8691ba01c1e5cc7ab6e53546c23e 3360f4605527e306b91626b5a749288e7cfd801156206c1173cf2ad839b128e58ae2b7076e3311dd881309269746196a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1c66c2821d13f871f687e8e76af31f62088f8691ba01c1e5cc7ab6e53546c23e 415542f252a0683872c4e8c9a8205bdb67f79a217eec8b01c0dd66402187db6206b006b7f92eac6fc867ea0c1dec12ca +SERVER_HANDSHAKE_TRAFFIC_SECRET 1c66c2821d13f871f687e8e76af31f62088f8691ba01c1e5cc7ab6e53546c23e ffc7b9895cc800f18e5a606e70dac55b9dcb26d60b962e690e6a40ed698a1fc36126f0fc9a79a00f41d2aff9df53976d +CLIENT_TRAFFIC_SECRET_0 1c66c2821d13f871f687e8e76af31f62088f8691ba01c1e5cc7ab6e53546c23e 306badc6a10b261d05a854d37910e43ccf830b4ad22cd489fb6f7bd9a7af036b3d5dc1fcbc1f388bb6cd6aa47974714d +SERVER_TRAFFIC_SECRET_0 1c66c2821d13f871f687e8e76af31f62088f8691ba01c1e5cc7ab6e53546c23e 3360f4605527e306b91626b5a749288e7cfd801156206c1173cf2ad839b128e58ae2b7076e3311dd881309269746196a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6f8d72893c69c102e77a43088c69718f1302cde71176fd1ad030ea9e143ebe7e 93f1f44b71bce206e4a56df45d9d7d068eda438dd240e258583f2e5ff63813ec87b5c553c81412a94669feb15e1efd4b +SERVER_HANDSHAKE_TRAFFIC_SECRET 6f8d72893c69c102e77a43088c69718f1302cde71176fd1ad030ea9e143ebe7e c6f5bdd8ecb2dade5006e3b059caf0797d2e5a434b8b72cac84cc45e68e0f41160e062f69df515172b719d0ea2fde9bf +CLIENT_TRAFFIC_SECRET_0 6f8d72893c69c102e77a43088c69718f1302cde71176fd1ad030ea9e143ebe7e ee0249eccf17d9556bfdb31ea1dd04eceab9ef1a8ba8943a99c291284bc1587b4b4e805db29c4c8619acf7d312a9d79f +SERVER_TRAFFIC_SECRET_0 6f8d72893c69c102e77a43088c69718f1302cde71176fd1ad030ea9e143ebe7e d6dad84f5619b0aec755dc75fc21e3fca15ff0cd088e8657c9716eca66d997a8aca9552f30d23df6cde59211ec0197da +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6f8d72893c69c102e77a43088c69718f1302cde71176fd1ad030ea9e143ebe7e 93f1f44b71bce206e4a56df45d9d7d068eda438dd240e258583f2e5ff63813ec87b5c553c81412a94669feb15e1efd4b +SERVER_HANDSHAKE_TRAFFIC_SECRET 6f8d72893c69c102e77a43088c69718f1302cde71176fd1ad030ea9e143ebe7e c6f5bdd8ecb2dade5006e3b059caf0797d2e5a434b8b72cac84cc45e68e0f41160e062f69df515172b719d0ea2fde9bf +CLIENT_TRAFFIC_SECRET_0 6f8d72893c69c102e77a43088c69718f1302cde71176fd1ad030ea9e143ebe7e ee0249eccf17d9556bfdb31ea1dd04eceab9ef1a8ba8943a99c291284bc1587b4b4e805db29c4c8619acf7d312a9d79f +SERVER_TRAFFIC_SECRET_0 6f8d72893c69c102e77a43088c69718f1302cde71176fd1ad030ea9e143ebe7e d6dad84f5619b0aec755dc75fc21e3fca15ff0cd088e8657c9716eca66d997a8aca9552f30d23df6cde59211ec0197da +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5936cbec0447beab218d736250ec4971387a7ceb03b57c231aa2fe3fc8800a3a 53731dfe2d9d4142a45d14cb5a74cf5aad8a067f359dbc3b91f402bff227bfb841ac424dfe32fad66227754c9486a32a +SERVER_HANDSHAKE_TRAFFIC_SECRET 5936cbec0447beab218d736250ec4971387a7ceb03b57c231aa2fe3fc8800a3a 1a087f98a0f111cfa88cbe19e72d39acdce3ac9b6864c5c9c3867fc87777141e1d6e26c8c776ede6cfc01adf11940071 +CLIENT_TRAFFIC_SECRET_0 5936cbec0447beab218d736250ec4971387a7ceb03b57c231aa2fe3fc8800a3a 2d72cf621ff0ce7469a6e0f378b8444bb08661151b43cd426b515f5733b3b4bec9b95165c4edd82bce2ec904900117da +SERVER_TRAFFIC_SECRET_0 5936cbec0447beab218d736250ec4971387a7ceb03b57c231aa2fe3fc8800a3a 22c168fb22a5b8193d3bcc2406ebbfc702179cb0e905b0b2d2e8da979803ce7e9adffec6f9c89decda9363d10e77d3a2 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5936cbec0447beab218d736250ec4971387a7ceb03b57c231aa2fe3fc8800a3a 53731dfe2d9d4142a45d14cb5a74cf5aad8a067f359dbc3b91f402bff227bfb841ac424dfe32fad66227754c9486a32a +SERVER_HANDSHAKE_TRAFFIC_SECRET 5936cbec0447beab218d736250ec4971387a7ceb03b57c231aa2fe3fc8800a3a 1a087f98a0f111cfa88cbe19e72d39acdce3ac9b6864c5c9c3867fc87777141e1d6e26c8c776ede6cfc01adf11940071 +CLIENT_TRAFFIC_SECRET_0 5936cbec0447beab218d736250ec4971387a7ceb03b57c231aa2fe3fc8800a3a 2d72cf621ff0ce7469a6e0f378b8444bb08661151b43cd426b515f5733b3b4bec9b95165c4edd82bce2ec904900117da +SERVER_TRAFFIC_SECRET_0 5936cbec0447beab218d736250ec4971387a7ceb03b57c231aa2fe3fc8800a3a 22c168fb22a5b8193d3bcc2406ebbfc702179cb0e905b0b2d2e8da979803ce7e9adffec6f9c89decda9363d10e77d3a2 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 66f10502f86625fe05c433c35bfaa5d3e3f498b65338de5e2718ac62250c34d7 7cedf4c6791e965a99a746e31b432544e89db9cabe0efda56c233a8fecf9016e0fbfbae57fa6b7842f974d3b240cadc1 +SERVER_HANDSHAKE_TRAFFIC_SECRET 66f10502f86625fe05c433c35bfaa5d3e3f498b65338de5e2718ac62250c34d7 4398145bf13a699431b6397625b2199569e9b1a016b3d759df9fe1a396944ad3587b8b787078cb9367af527c86181ce9 +CLIENT_TRAFFIC_SECRET_0 66f10502f86625fe05c433c35bfaa5d3e3f498b65338de5e2718ac62250c34d7 31880d92cc4cc4b530195ac169c647f92eaee86b8e016b5c909fe54519ab24bf7345b57ce31da716c2d432fc8d831d3e +SERVER_TRAFFIC_SECRET_0 66f10502f86625fe05c433c35bfaa5d3e3f498b65338de5e2718ac62250c34d7 676eaada56a131610d9e0f5fa1aff13b155b96a134234a7fced54b950ed7b9904909374fa6c9106ea55dd174f691d19f +CLIENT_HANDSHAKE_TRAFFIC_SECRET 66f10502f86625fe05c433c35bfaa5d3e3f498b65338de5e2718ac62250c34d7 7cedf4c6791e965a99a746e31b432544e89db9cabe0efda56c233a8fecf9016e0fbfbae57fa6b7842f974d3b240cadc1 +SERVER_HANDSHAKE_TRAFFIC_SECRET 66f10502f86625fe05c433c35bfaa5d3e3f498b65338de5e2718ac62250c34d7 4398145bf13a699431b6397625b2199569e9b1a016b3d759df9fe1a396944ad3587b8b787078cb9367af527c86181ce9 +CLIENT_TRAFFIC_SECRET_0 66f10502f86625fe05c433c35bfaa5d3e3f498b65338de5e2718ac62250c34d7 31880d92cc4cc4b530195ac169c647f92eaee86b8e016b5c909fe54519ab24bf7345b57ce31da716c2d432fc8d831d3e +SERVER_TRAFFIC_SECRET_0 66f10502f86625fe05c433c35bfaa5d3e3f498b65338de5e2718ac62250c34d7 676eaada56a131610d9e0f5fa1aff13b155b96a134234a7fced54b950ed7b9904909374fa6c9106ea55dd174f691d19f +CLIENT_HANDSHAKE_TRAFFIC_SECRET d401a2fa5b17f01bd2f703894f5b9badde772c7ae85663a793f2a3042028ca98 4c2455a8fbeaa11b0fb91bef3c08073918d0e82b91d8204dc1643be59beda14b3c06c6c7d342ae0a8af5912157348806 +SERVER_HANDSHAKE_TRAFFIC_SECRET d401a2fa5b17f01bd2f703894f5b9badde772c7ae85663a793f2a3042028ca98 d5073d18d1a034c9581385b1548d7184d605bd11daf6020fe16fea809b4bc43a0a57ce6b670fcd9da90bfcb308992959 +CLIENT_TRAFFIC_SECRET_0 d401a2fa5b17f01bd2f703894f5b9badde772c7ae85663a793f2a3042028ca98 f8ab280ea6ba91d6a5e25eaac06736b9dc6d09167ad9371ac4b5724e70c33cfd19064036bc44da1b55c6b957f4c01480 +SERVER_TRAFFIC_SECRET_0 d401a2fa5b17f01bd2f703894f5b9badde772c7ae85663a793f2a3042028ca98 8045fd5409d0a49d26ee5da1738ea1f847f6ec77a8d2c5feb8f810eba669d76f81fe6e0d7b9916ec30378ef4a903a799 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d401a2fa5b17f01bd2f703894f5b9badde772c7ae85663a793f2a3042028ca98 4c2455a8fbeaa11b0fb91bef3c08073918d0e82b91d8204dc1643be59beda14b3c06c6c7d342ae0a8af5912157348806 +SERVER_HANDSHAKE_TRAFFIC_SECRET d401a2fa5b17f01bd2f703894f5b9badde772c7ae85663a793f2a3042028ca98 d5073d18d1a034c9581385b1548d7184d605bd11daf6020fe16fea809b4bc43a0a57ce6b670fcd9da90bfcb308992959 +CLIENT_TRAFFIC_SECRET_0 d401a2fa5b17f01bd2f703894f5b9badde772c7ae85663a793f2a3042028ca98 f8ab280ea6ba91d6a5e25eaac06736b9dc6d09167ad9371ac4b5724e70c33cfd19064036bc44da1b55c6b957f4c01480 +SERVER_TRAFFIC_SECRET_0 d401a2fa5b17f01bd2f703894f5b9badde772c7ae85663a793f2a3042028ca98 8045fd5409d0a49d26ee5da1738ea1f847f6ec77a8d2c5feb8f810eba669d76f81fe6e0d7b9916ec30378ef4a903a799 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0aa37bcbdc83f5a1542fdf9405052fbad6c118f8acfa424aaab9e758aa17ba93 ec8672972d6908dca18f8f721d7bfc86928c9e8c142abdb433af323f0e659d088e863de1caeb8dbd78ef6477aa4313c7 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0aa37bcbdc83f5a1542fdf9405052fbad6c118f8acfa424aaab9e758aa17ba93 732202731ca12cf8b9bbd9e487349a3f945d711967a1d3087dff1bcaa7dcd3d1b190119cfbccb4bcf6666b91c2c4e8e9 +CLIENT_TRAFFIC_SECRET_0 0aa37bcbdc83f5a1542fdf9405052fbad6c118f8acfa424aaab9e758aa17ba93 4b05ac4163df761ccb9bc8ef45cca34a23362ab5613777828a700ceb1f41d1c680eb7837f550d94a4f11a64ba50def75 +SERVER_TRAFFIC_SECRET_0 0aa37bcbdc83f5a1542fdf9405052fbad6c118f8acfa424aaab9e758aa17ba93 d99f8591b6adf7a10ce48dffb8a884394324b5ea78c9216d59b682da265485b63bc96a74437adce615fb5d09f77fc3d0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0aa37bcbdc83f5a1542fdf9405052fbad6c118f8acfa424aaab9e758aa17ba93 ec8672972d6908dca18f8f721d7bfc86928c9e8c142abdb433af323f0e659d088e863de1caeb8dbd78ef6477aa4313c7 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0aa37bcbdc83f5a1542fdf9405052fbad6c118f8acfa424aaab9e758aa17ba93 732202731ca12cf8b9bbd9e487349a3f945d711967a1d3087dff1bcaa7dcd3d1b190119cfbccb4bcf6666b91c2c4e8e9 +CLIENT_TRAFFIC_SECRET_0 0aa37bcbdc83f5a1542fdf9405052fbad6c118f8acfa424aaab9e758aa17ba93 4b05ac4163df761ccb9bc8ef45cca34a23362ab5613777828a700ceb1f41d1c680eb7837f550d94a4f11a64ba50def75 +SERVER_TRAFFIC_SECRET_0 0aa37bcbdc83f5a1542fdf9405052fbad6c118f8acfa424aaab9e758aa17ba93 d99f8591b6adf7a10ce48dffb8a884394324b5ea78c9216d59b682da265485b63bc96a74437adce615fb5d09f77fc3d0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f89c71da0579b1ee26526469f130bbf35b969456ebb5222104d3d11d3a6afef4 31c30434efd34dbc5707fc9fcdd4dbb238fb56ffb65db9f293ae96cb1250de6a698419ef77757b2985e8f06dd6bbef3c +SERVER_HANDSHAKE_TRAFFIC_SECRET f89c71da0579b1ee26526469f130bbf35b969456ebb5222104d3d11d3a6afef4 1e9662e0afab1595e117d62d51cd0b833ca2b0ada89c59742ba8fbc9c72ac6200d71ce280133745d42f208176dcfd3d0 +CLIENT_TRAFFIC_SECRET_0 f89c71da0579b1ee26526469f130bbf35b969456ebb5222104d3d11d3a6afef4 72163379952be3b0f99e62457a12ffeb7df9407a016d3c9a8cea069b445ce422a4d162abd96c48124ed5695619aaf843 +SERVER_TRAFFIC_SECRET_0 f89c71da0579b1ee26526469f130bbf35b969456ebb5222104d3d11d3a6afef4 3b690a6ac90059ffcd616edccb562f5cf10acffdc1b5b442d8117961eb0776aaa8584f912d907d002770ea620ee206e6 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f89c71da0579b1ee26526469f130bbf35b969456ebb5222104d3d11d3a6afef4 31c30434efd34dbc5707fc9fcdd4dbb238fb56ffb65db9f293ae96cb1250de6a698419ef77757b2985e8f06dd6bbef3c +SERVER_HANDSHAKE_TRAFFIC_SECRET f89c71da0579b1ee26526469f130bbf35b969456ebb5222104d3d11d3a6afef4 1e9662e0afab1595e117d62d51cd0b833ca2b0ada89c59742ba8fbc9c72ac6200d71ce280133745d42f208176dcfd3d0 +CLIENT_TRAFFIC_SECRET_0 f89c71da0579b1ee26526469f130bbf35b969456ebb5222104d3d11d3a6afef4 72163379952be3b0f99e62457a12ffeb7df9407a016d3c9a8cea069b445ce422a4d162abd96c48124ed5695619aaf843 +SERVER_TRAFFIC_SECRET_0 f89c71da0579b1ee26526469f130bbf35b969456ebb5222104d3d11d3a6afef4 3b690a6ac90059ffcd616edccb562f5cf10acffdc1b5b442d8117961eb0776aaa8584f912d907d002770ea620ee206e6 +CLIENT_HANDSHAKE_TRAFFIC_SECRET df43b8e71a27fa8affffc7eda0d937c70d9a1d5b0845dd9bd30685a933a2c1bb 03b0fb9ed809ce6135db18c47984e37ce14babf0fc78f02502a79c6684cfe516cdff4ede42f8ae94ef727947864aa18c +SERVER_HANDSHAKE_TRAFFIC_SECRET df43b8e71a27fa8affffc7eda0d937c70d9a1d5b0845dd9bd30685a933a2c1bb 426f6994b4c2ab5a21abeddb660ae590e1f4a418371df48897a0d0bfc992b52149b5315bc9c88031be187c4ac8a987a7 +CLIENT_TRAFFIC_SECRET_0 df43b8e71a27fa8affffc7eda0d937c70d9a1d5b0845dd9bd30685a933a2c1bb 223f6a6ba9c13a3233c4ddf8074ef782c3b1aa405c28d911e9876c0cb9cf4487d46950af14831b0ee50d9f2b59ccf837 +SERVER_TRAFFIC_SECRET_0 df43b8e71a27fa8affffc7eda0d937c70d9a1d5b0845dd9bd30685a933a2c1bb c770333c957188ab3b0ba1a000343dc0aab8aca604f49fa9d208bb5273f71739fcfb4c8b277ec7d2151da38646f8781c +CLIENT_HANDSHAKE_TRAFFIC_SECRET df43b8e71a27fa8affffc7eda0d937c70d9a1d5b0845dd9bd30685a933a2c1bb 03b0fb9ed809ce6135db18c47984e37ce14babf0fc78f02502a79c6684cfe516cdff4ede42f8ae94ef727947864aa18c +SERVER_HANDSHAKE_TRAFFIC_SECRET df43b8e71a27fa8affffc7eda0d937c70d9a1d5b0845dd9bd30685a933a2c1bb 426f6994b4c2ab5a21abeddb660ae590e1f4a418371df48897a0d0bfc992b52149b5315bc9c88031be187c4ac8a987a7 +CLIENT_TRAFFIC_SECRET_0 df43b8e71a27fa8affffc7eda0d937c70d9a1d5b0845dd9bd30685a933a2c1bb 223f6a6ba9c13a3233c4ddf8074ef782c3b1aa405c28d911e9876c0cb9cf4487d46950af14831b0ee50d9f2b59ccf837 +SERVER_TRAFFIC_SECRET_0 df43b8e71a27fa8affffc7eda0d937c70d9a1d5b0845dd9bd30685a933a2c1bb c770333c957188ab3b0ba1a000343dc0aab8aca604f49fa9d208bb5273f71739fcfb4c8b277ec7d2151da38646f8781c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4392ff1e1be2d0fdb51cfca1160b0bcc295dbccba44da1faeed317ae08887bb2 35e22b0251597fdcfda4ef99974b00c54fa7e11833793de983164c6b97baa684b767d0750407746af3bd72d05aa1b010 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4392ff1e1be2d0fdb51cfca1160b0bcc295dbccba44da1faeed317ae08887bb2 17006a70402115b6678fb75e212fd5d07368b019eb90ebfebdc37111a81159a8f05e2c0935b3ec3fc402cf9bc535a8e4 +CLIENT_TRAFFIC_SECRET_0 4392ff1e1be2d0fdb51cfca1160b0bcc295dbccba44da1faeed317ae08887bb2 a84d81878514c05a10d311e0edc29e6ed6175f79f474c4e8b9c5f8b7db308c1180b63631ffbd95ef29a336e924721a3a +SERVER_TRAFFIC_SECRET_0 4392ff1e1be2d0fdb51cfca1160b0bcc295dbccba44da1faeed317ae08887bb2 5b7b46f627118776db11fa126abfddf7b1734c42736e17f2fc9e9e052946aeeb860f60fdebffb9cd9772fe6f08d84c1c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4392ff1e1be2d0fdb51cfca1160b0bcc295dbccba44da1faeed317ae08887bb2 35e22b0251597fdcfda4ef99974b00c54fa7e11833793de983164c6b97baa684b767d0750407746af3bd72d05aa1b010 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4392ff1e1be2d0fdb51cfca1160b0bcc295dbccba44da1faeed317ae08887bb2 17006a70402115b6678fb75e212fd5d07368b019eb90ebfebdc37111a81159a8f05e2c0935b3ec3fc402cf9bc535a8e4 +CLIENT_TRAFFIC_SECRET_0 4392ff1e1be2d0fdb51cfca1160b0bcc295dbccba44da1faeed317ae08887bb2 a84d81878514c05a10d311e0edc29e6ed6175f79f474c4e8b9c5f8b7db308c1180b63631ffbd95ef29a336e924721a3a +SERVER_TRAFFIC_SECRET_0 4392ff1e1be2d0fdb51cfca1160b0bcc295dbccba44da1faeed317ae08887bb2 5b7b46f627118776db11fa126abfddf7b1734c42736e17f2fc9e9e052946aeeb860f60fdebffb9cd9772fe6f08d84c1c +CLIENT_HANDSHAKE_TRAFFIC_SECRET b1e4438667f2d75ae84bcf571518abd79535e4661009e1c5083cb62136c4cf73 ee07aaff190e274aceb460ab18bba41736234645aed80957880de70d1954fa969cdeb4b98344f762208345aa4a45e70b +SERVER_HANDSHAKE_TRAFFIC_SECRET b1e4438667f2d75ae84bcf571518abd79535e4661009e1c5083cb62136c4cf73 3c3025680947765e8f10e5c40868582cd7ae8fd03f0873c33e31c9172b2934baf4397df28fa9030b68ed375cb7c62cab +CLIENT_TRAFFIC_SECRET_0 b1e4438667f2d75ae84bcf571518abd79535e4661009e1c5083cb62136c4cf73 fb5238fa8f4cd73cc846bcec4d517e443affcaaad51f8d7d496fc71783f998062291265ed5f19fe4dc4c7e1ad410d318 +SERVER_TRAFFIC_SECRET_0 b1e4438667f2d75ae84bcf571518abd79535e4661009e1c5083cb62136c4cf73 a1f044cbcad6f2fc45fddcaac3a5ce454f38c885fcf2a88eaec14ec4136ee5675caacfce039f07dd8d6ea414e5465c68 +CLIENT_HANDSHAKE_TRAFFIC_SECRET b1e4438667f2d75ae84bcf571518abd79535e4661009e1c5083cb62136c4cf73 ee07aaff190e274aceb460ab18bba41736234645aed80957880de70d1954fa969cdeb4b98344f762208345aa4a45e70b +SERVER_HANDSHAKE_TRAFFIC_SECRET b1e4438667f2d75ae84bcf571518abd79535e4661009e1c5083cb62136c4cf73 3c3025680947765e8f10e5c40868582cd7ae8fd03f0873c33e31c9172b2934baf4397df28fa9030b68ed375cb7c62cab +CLIENT_TRAFFIC_SECRET_0 b1e4438667f2d75ae84bcf571518abd79535e4661009e1c5083cb62136c4cf73 fb5238fa8f4cd73cc846bcec4d517e443affcaaad51f8d7d496fc71783f998062291265ed5f19fe4dc4c7e1ad410d318 +SERVER_TRAFFIC_SECRET_0 b1e4438667f2d75ae84bcf571518abd79535e4661009e1c5083cb62136c4cf73 a1f044cbcad6f2fc45fddcaac3a5ce454f38c885fcf2a88eaec14ec4136ee5675caacfce039f07dd8d6ea414e5465c68 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 44b7fca4eac16d55c56928a7035e6881297fa536d465c9021e614e2edc90f785 95aac30a8fd247387949e49000542ab445b74554762360cc80bc9fbb385a29a265d56e8b210f5e6969438bb0b5642d01 +SERVER_HANDSHAKE_TRAFFIC_SECRET 44b7fca4eac16d55c56928a7035e6881297fa536d465c9021e614e2edc90f785 d75517d4434438bdfe1d8787c6971dee4199b1e7e2177b5a3a9c6e61ee3682e2e717746e4dcba906491d07a4e59c166e +CLIENT_TRAFFIC_SECRET_0 44b7fca4eac16d55c56928a7035e6881297fa536d465c9021e614e2edc90f785 d19e111272b733c33db8e8ac568b804f0f018531be0b93f3ab6d2d96d40090528aaca0f2c7e3f3ebccddbe32a5edd34c +SERVER_TRAFFIC_SECRET_0 44b7fca4eac16d55c56928a7035e6881297fa536d465c9021e614e2edc90f785 3c3bcd571f5b2f59bc4e2a9bec0992d929a88df1bec9f9a79772139f37d95cb9daf78e7ec2a6a3417303ddff885ff129 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 44b7fca4eac16d55c56928a7035e6881297fa536d465c9021e614e2edc90f785 95aac30a8fd247387949e49000542ab445b74554762360cc80bc9fbb385a29a265d56e8b210f5e6969438bb0b5642d01 +SERVER_HANDSHAKE_TRAFFIC_SECRET 44b7fca4eac16d55c56928a7035e6881297fa536d465c9021e614e2edc90f785 d75517d4434438bdfe1d8787c6971dee4199b1e7e2177b5a3a9c6e61ee3682e2e717746e4dcba906491d07a4e59c166e +CLIENT_TRAFFIC_SECRET_0 44b7fca4eac16d55c56928a7035e6881297fa536d465c9021e614e2edc90f785 d19e111272b733c33db8e8ac568b804f0f018531be0b93f3ab6d2d96d40090528aaca0f2c7e3f3ebccddbe32a5edd34c +SERVER_TRAFFIC_SECRET_0 44b7fca4eac16d55c56928a7035e6881297fa536d465c9021e614e2edc90f785 3c3bcd571f5b2f59bc4e2a9bec0992d929a88df1bec9f9a79772139f37d95cb9daf78e7ec2a6a3417303ddff885ff129 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 26d2fbc4ed661cf3700751782996a8d42072ea2138c54373354b6187ae23886e cd126764456001ade3d1d1df5110e592867fcd17b839d271f41554e4973c37ece1a80701b41d14551533ba51b0ebaf6c +SERVER_HANDSHAKE_TRAFFIC_SECRET 26d2fbc4ed661cf3700751782996a8d42072ea2138c54373354b6187ae23886e 4091492b5171296f9809390a3e43a8b2dc749e84cc1c394b2088808d9dbec7e40a031c30903b872456076dbd8031c181 +CLIENT_TRAFFIC_SECRET_0 26d2fbc4ed661cf3700751782996a8d42072ea2138c54373354b6187ae23886e 66bb8788a175b86e70c7bc563413cbf911d6e9c0dc20cbbada16cb6f7a69d12f63e45d0fed3372db3886b1a1b2834b8e +SERVER_TRAFFIC_SECRET_0 26d2fbc4ed661cf3700751782996a8d42072ea2138c54373354b6187ae23886e 6c2ecd9d8b7790eeebe39591945ae0fd84f34cf5583371714935a47830da79b8ca746860df9ab1ddd9b34ae90c579ec4 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 26d2fbc4ed661cf3700751782996a8d42072ea2138c54373354b6187ae23886e cd126764456001ade3d1d1df5110e592867fcd17b839d271f41554e4973c37ece1a80701b41d14551533ba51b0ebaf6c +SERVER_HANDSHAKE_TRAFFIC_SECRET 26d2fbc4ed661cf3700751782996a8d42072ea2138c54373354b6187ae23886e 4091492b5171296f9809390a3e43a8b2dc749e84cc1c394b2088808d9dbec7e40a031c30903b872456076dbd8031c181 +CLIENT_TRAFFIC_SECRET_0 26d2fbc4ed661cf3700751782996a8d42072ea2138c54373354b6187ae23886e 66bb8788a175b86e70c7bc563413cbf911d6e9c0dc20cbbada16cb6f7a69d12f63e45d0fed3372db3886b1a1b2834b8e +SERVER_TRAFFIC_SECRET_0 26d2fbc4ed661cf3700751782996a8d42072ea2138c54373354b6187ae23886e 6c2ecd9d8b7790eeebe39591945ae0fd84f34cf5583371714935a47830da79b8ca746860df9ab1ddd9b34ae90c579ec4 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4f7cc2e843324fe856104011a601ea1828965bb0d611f17e516e74e072716c37 1c92449da7fa3e611a17e8768d3fa2486d035f2c5c3e539c1811ca73862fd9ff56d0b85a4c2d0bcce359206794b101aa +SERVER_HANDSHAKE_TRAFFIC_SECRET 4f7cc2e843324fe856104011a601ea1828965bb0d611f17e516e74e072716c37 6e0336b62910c4512f01b96285589e9bfba96acb16088ac43084f1d5c259b90d977cbf94787f8afc2ae1fec83d6ee21e +CLIENT_TRAFFIC_SECRET_0 4f7cc2e843324fe856104011a601ea1828965bb0d611f17e516e74e072716c37 8e997ae1f6af9f1f2e8b838a6a20fd7d272aff7deae8ad0b9eb5b4fe2750d33a698a6ff7cf97ab52be1834dee7fad313 +SERVER_TRAFFIC_SECRET_0 4f7cc2e843324fe856104011a601ea1828965bb0d611f17e516e74e072716c37 6ee35d34363f9b1d8a2eb39c5d1c662088fd929a91a30ea7af6d3679772976b0e90ec8a33584fe7d8e1065aacf3ac4eb +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4f7cc2e843324fe856104011a601ea1828965bb0d611f17e516e74e072716c37 1c92449da7fa3e611a17e8768d3fa2486d035f2c5c3e539c1811ca73862fd9ff56d0b85a4c2d0bcce359206794b101aa +SERVER_HANDSHAKE_TRAFFIC_SECRET 4f7cc2e843324fe856104011a601ea1828965bb0d611f17e516e74e072716c37 6e0336b62910c4512f01b96285589e9bfba96acb16088ac43084f1d5c259b90d977cbf94787f8afc2ae1fec83d6ee21e +CLIENT_TRAFFIC_SECRET_0 4f7cc2e843324fe856104011a601ea1828965bb0d611f17e516e74e072716c37 8e997ae1f6af9f1f2e8b838a6a20fd7d272aff7deae8ad0b9eb5b4fe2750d33a698a6ff7cf97ab52be1834dee7fad313 +SERVER_TRAFFIC_SECRET_0 4f7cc2e843324fe856104011a601ea1828965bb0d611f17e516e74e072716c37 6ee35d34363f9b1d8a2eb39c5d1c662088fd929a91a30ea7af6d3679772976b0e90ec8a33584fe7d8e1065aacf3ac4eb +CLIENT_HANDSHAKE_TRAFFIC_SECRET ea30b5668cc57b7510e5f93d7d66beae11691a858e235f96ea70665ec5ff2f18 510a64bb013d07bc8e60b5a27462fa3afb9ff02f8e1679567605574aed61238166a54c7102e3982ac83dd0f3bffdbc6c +SERVER_HANDSHAKE_TRAFFIC_SECRET ea30b5668cc57b7510e5f93d7d66beae11691a858e235f96ea70665ec5ff2f18 d82bc8d6b2133b3959513ded048e407034f83da533e42d248d3d6ad9d3c176f9f91dd13ed53f6230053279e0a449bc52 +CLIENT_TRAFFIC_SECRET_0 ea30b5668cc57b7510e5f93d7d66beae11691a858e235f96ea70665ec5ff2f18 3def23094c646e0759c64453e44d2d8794c971b3258f487e8e7239feeb046cb6fe82a364006d2eadaf61e5c3d77f8061 +SERVER_TRAFFIC_SECRET_0 ea30b5668cc57b7510e5f93d7d66beae11691a858e235f96ea70665ec5ff2f18 cee07b88592d668aa99a8347052f81aa59f8569e7267925b35e2f5d2737e9751d5d44e81556034d3de8acb0bed6105db +CLIENT_HANDSHAKE_TRAFFIC_SECRET ea30b5668cc57b7510e5f93d7d66beae11691a858e235f96ea70665ec5ff2f18 510a64bb013d07bc8e60b5a27462fa3afb9ff02f8e1679567605574aed61238166a54c7102e3982ac83dd0f3bffdbc6c +SERVER_HANDSHAKE_TRAFFIC_SECRET ea30b5668cc57b7510e5f93d7d66beae11691a858e235f96ea70665ec5ff2f18 d82bc8d6b2133b3959513ded048e407034f83da533e42d248d3d6ad9d3c176f9f91dd13ed53f6230053279e0a449bc52 +CLIENT_TRAFFIC_SECRET_0 ea30b5668cc57b7510e5f93d7d66beae11691a858e235f96ea70665ec5ff2f18 3def23094c646e0759c64453e44d2d8794c971b3258f487e8e7239feeb046cb6fe82a364006d2eadaf61e5c3d77f8061 +SERVER_TRAFFIC_SECRET_0 ea30b5668cc57b7510e5f93d7d66beae11691a858e235f96ea70665ec5ff2f18 cee07b88592d668aa99a8347052f81aa59f8569e7267925b35e2f5d2737e9751d5d44e81556034d3de8acb0bed6105db +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1ad971433a874eb51afb87bc7d900a945244d01a74257e3e890c9cbee8b85782 8902740f887c84b8d5dfd5508abba95091d4b41ce28ce13e990240641242fc256578940171186c5ca48a0a3205829847 +SERVER_HANDSHAKE_TRAFFIC_SECRET 1ad971433a874eb51afb87bc7d900a945244d01a74257e3e890c9cbee8b85782 deb6a6f149b6b78b076e1956038ec1658635d9e53f8941df60bb42b2cdd2abf8e0f6b82b5e9ff73099593da1340a3ebc +CLIENT_TRAFFIC_SECRET_0 1ad971433a874eb51afb87bc7d900a945244d01a74257e3e890c9cbee8b85782 fd573c93c5dabf750f419fc55a15e2ce84d400fd1333489392e9e8f445fc3889c18a45cc331ee74b8f0077a59def00ae +SERVER_TRAFFIC_SECRET_0 1ad971433a874eb51afb87bc7d900a945244d01a74257e3e890c9cbee8b85782 7d5ba2acd8f876c2d7ac63ec6647c387bb9cef9949cf1d399033202a3afbf96c52c4a18b6e33f8c09bf40ab10bccf80e +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1ad971433a874eb51afb87bc7d900a945244d01a74257e3e890c9cbee8b85782 8902740f887c84b8d5dfd5508abba95091d4b41ce28ce13e990240641242fc256578940171186c5ca48a0a3205829847 +SERVER_HANDSHAKE_TRAFFIC_SECRET 1ad971433a874eb51afb87bc7d900a945244d01a74257e3e890c9cbee8b85782 deb6a6f149b6b78b076e1956038ec1658635d9e53f8941df60bb42b2cdd2abf8e0f6b82b5e9ff73099593da1340a3ebc +CLIENT_TRAFFIC_SECRET_0 1ad971433a874eb51afb87bc7d900a945244d01a74257e3e890c9cbee8b85782 fd573c93c5dabf750f419fc55a15e2ce84d400fd1333489392e9e8f445fc3889c18a45cc331ee74b8f0077a59def00ae +SERVER_TRAFFIC_SECRET_0 1ad971433a874eb51afb87bc7d900a945244d01a74257e3e890c9cbee8b85782 7d5ba2acd8f876c2d7ac63ec6647c387bb9cef9949cf1d399033202a3afbf96c52c4a18b6e33f8c09bf40ab10bccf80e +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2979813d0678365733c08fac84c54a078f849218753b68def0b4cd0d118adb6f 8df0202b4cfd5d8608229807d47a7b9d292dbcc381ad3ab38f6c47a933dc72ccc3447c0f2cc0eb79da17d4ade1ebad8f +SERVER_HANDSHAKE_TRAFFIC_SECRET 2979813d0678365733c08fac84c54a078f849218753b68def0b4cd0d118adb6f 7b987ccd30b9f472a67a0546969de877d91fc70e793ccf87107fe3d86cd7f729eb7592e713c7fec0c60588c50f02f921 +CLIENT_TRAFFIC_SECRET_0 2979813d0678365733c08fac84c54a078f849218753b68def0b4cd0d118adb6f 04506d0a2cc971165f89efd7171c53ad871524db5ab17926bb01959d016c78af844112aa52ea79b777901b9e5a149c91 +SERVER_TRAFFIC_SECRET_0 2979813d0678365733c08fac84c54a078f849218753b68def0b4cd0d118adb6f 08a7da6fe44567077e930a2756fe831c2e176b60fce1d19e18cde2f811d26c46d19211c2bde39253302d28fc2201cf35 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2979813d0678365733c08fac84c54a078f849218753b68def0b4cd0d118adb6f 8df0202b4cfd5d8608229807d47a7b9d292dbcc381ad3ab38f6c47a933dc72ccc3447c0f2cc0eb79da17d4ade1ebad8f +SERVER_HANDSHAKE_TRAFFIC_SECRET 2979813d0678365733c08fac84c54a078f849218753b68def0b4cd0d118adb6f 7b987ccd30b9f472a67a0546969de877d91fc70e793ccf87107fe3d86cd7f729eb7592e713c7fec0c60588c50f02f921 +CLIENT_TRAFFIC_SECRET_0 2979813d0678365733c08fac84c54a078f849218753b68def0b4cd0d118adb6f 04506d0a2cc971165f89efd7171c53ad871524db5ab17926bb01959d016c78af844112aa52ea79b777901b9e5a149c91 +SERVER_TRAFFIC_SECRET_0 2979813d0678365733c08fac84c54a078f849218753b68def0b4cd0d118adb6f 08a7da6fe44567077e930a2756fe831c2e176b60fce1d19e18cde2f811d26c46d19211c2bde39253302d28fc2201cf35 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f32b0a1d2891e9252b0fe5f7a617d46ea7b60da850132af4bc74b1633689f4ab 07e854d4e14e15f768bea5543834f3166d8b47c15e15cb5349a132bd0e603ca73715123879bba2c6b5a1ba7e593d96ca +SERVER_HANDSHAKE_TRAFFIC_SECRET f32b0a1d2891e9252b0fe5f7a617d46ea7b60da850132af4bc74b1633689f4ab 91c27e0b26bf108b74be8434b8a8fb3ad7a3749cec239c198d9a5c389afcc449f5cabd54d6942e66069ce2264b9d2a5a +CLIENT_TRAFFIC_SECRET_0 f32b0a1d2891e9252b0fe5f7a617d46ea7b60da850132af4bc74b1633689f4ab be39ce3b5f2a1d33d6ecfbb89f9c4f6ab5b67d06442df4f140a7ef36712fe40c20d42a8998b0a30785150264d5d6e36c +SERVER_TRAFFIC_SECRET_0 f32b0a1d2891e9252b0fe5f7a617d46ea7b60da850132af4bc74b1633689f4ab a64e81d44602e851848558b35aa09d9aa88655635f5f1686092c826816c60dbd0d8ac66d0bd884d92d9684200c22b1dd +CLIENT_HANDSHAKE_TRAFFIC_SECRET f32b0a1d2891e9252b0fe5f7a617d46ea7b60da850132af4bc74b1633689f4ab 07e854d4e14e15f768bea5543834f3166d8b47c15e15cb5349a132bd0e603ca73715123879bba2c6b5a1ba7e593d96ca +SERVER_HANDSHAKE_TRAFFIC_SECRET f32b0a1d2891e9252b0fe5f7a617d46ea7b60da850132af4bc74b1633689f4ab 91c27e0b26bf108b74be8434b8a8fb3ad7a3749cec239c198d9a5c389afcc449f5cabd54d6942e66069ce2264b9d2a5a +CLIENT_TRAFFIC_SECRET_0 f32b0a1d2891e9252b0fe5f7a617d46ea7b60da850132af4bc74b1633689f4ab be39ce3b5f2a1d33d6ecfbb89f9c4f6ab5b67d06442df4f140a7ef36712fe40c20d42a8998b0a30785150264d5d6e36c +SERVER_TRAFFIC_SECRET_0 f32b0a1d2891e9252b0fe5f7a617d46ea7b60da850132af4bc74b1633689f4ab a64e81d44602e851848558b35aa09d9aa88655635f5f1686092c826816c60dbd0d8ac66d0bd884d92d9684200c22b1dd +CLIENT_HANDSHAKE_TRAFFIC_SECRET aac26cad638c08561e525227c80fdc49ae3d719fc57fe475d25b82b58730d346 f77ca580b8b77404845550f99736abc5545d6b77203f179bfb5988c61c1352da302aa7b254758b571813e465268a1a64 +SERVER_HANDSHAKE_TRAFFIC_SECRET aac26cad638c08561e525227c80fdc49ae3d719fc57fe475d25b82b58730d346 3399daa441cc7e45bc601c317a998ecbd50456b80d8e65335cd56bd81aa1bb05f0e62a028263228d18217cf6f20b27f5 +CLIENT_TRAFFIC_SECRET_0 aac26cad638c08561e525227c80fdc49ae3d719fc57fe475d25b82b58730d346 02e82bc24ff0440216a28e58eb68999b702f22d371f379a675bd8e5405f9990a27d512df6e835a0e3813a86f1ea315a5 +SERVER_TRAFFIC_SECRET_0 aac26cad638c08561e525227c80fdc49ae3d719fc57fe475d25b82b58730d346 81a7ff969b4f4cfff48beddbfedde97f64040d0fdd67e632653627a20e6a0d5cc9954379736747b1ac12acd317d326f3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET aac26cad638c08561e525227c80fdc49ae3d719fc57fe475d25b82b58730d346 f77ca580b8b77404845550f99736abc5545d6b77203f179bfb5988c61c1352da302aa7b254758b571813e465268a1a64 +SERVER_HANDSHAKE_TRAFFIC_SECRET aac26cad638c08561e525227c80fdc49ae3d719fc57fe475d25b82b58730d346 3399daa441cc7e45bc601c317a998ecbd50456b80d8e65335cd56bd81aa1bb05f0e62a028263228d18217cf6f20b27f5 +CLIENT_TRAFFIC_SECRET_0 aac26cad638c08561e525227c80fdc49ae3d719fc57fe475d25b82b58730d346 02e82bc24ff0440216a28e58eb68999b702f22d371f379a675bd8e5405f9990a27d512df6e835a0e3813a86f1ea315a5 +SERVER_TRAFFIC_SECRET_0 aac26cad638c08561e525227c80fdc49ae3d719fc57fe475d25b82b58730d346 81a7ff969b4f4cfff48beddbfedde97f64040d0fdd67e632653627a20e6a0d5cc9954379736747b1ac12acd317d326f3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2bc1460235242e34ab643edd077cd638496da5d120befdf8a6e1ba07c1e914bf 34ab58b8263138f6ce1ac3b4ccc5981ebf08ca2295ab5f626576615f19f4da9661308b5e73e4b9a345ba142a2362b023 +SERVER_HANDSHAKE_TRAFFIC_SECRET 2bc1460235242e34ab643edd077cd638496da5d120befdf8a6e1ba07c1e914bf ac320c4bf5c173d06fa81f3f543f28f62a5516df2a2ee468d67d066ccbf79d1ce38904e7df0bfe1a0ec1b90d3f6c8a17 +CLIENT_TRAFFIC_SECRET_0 2bc1460235242e34ab643edd077cd638496da5d120befdf8a6e1ba07c1e914bf 1c7fd34fc61ee732c47aa958589ca6725339303b6b5eb9c929bb43695be0807b60706556a5b5609be579eff082982926 +SERVER_TRAFFIC_SECRET_0 2bc1460235242e34ab643edd077cd638496da5d120befdf8a6e1ba07c1e914bf 16a8879912e276a369d177b3f13661d3d44f9dd2291be92133ee481fe02eed5603c078cf9fd5cb7c97cd9c2c659c0706 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2bc1460235242e34ab643edd077cd638496da5d120befdf8a6e1ba07c1e914bf 34ab58b8263138f6ce1ac3b4ccc5981ebf08ca2295ab5f626576615f19f4da9661308b5e73e4b9a345ba142a2362b023 +SERVER_HANDSHAKE_TRAFFIC_SECRET 2bc1460235242e34ab643edd077cd638496da5d120befdf8a6e1ba07c1e914bf ac320c4bf5c173d06fa81f3f543f28f62a5516df2a2ee468d67d066ccbf79d1ce38904e7df0bfe1a0ec1b90d3f6c8a17 +CLIENT_TRAFFIC_SECRET_0 2bc1460235242e34ab643edd077cd638496da5d120befdf8a6e1ba07c1e914bf 1c7fd34fc61ee732c47aa958589ca6725339303b6b5eb9c929bb43695be0807b60706556a5b5609be579eff082982926 +SERVER_TRAFFIC_SECRET_0 2bc1460235242e34ab643edd077cd638496da5d120befdf8a6e1ba07c1e914bf 16a8879912e276a369d177b3f13661d3d44f9dd2291be92133ee481fe02eed5603c078cf9fd5cb7c97cd9c2c659c0706 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 11822e4832bcfb7fe11b70e796428de7138b93c4d38436ae9a43facf0e14f179 ef7280894a37cb6ae76f477b9e83a0abec1783d27498c2ed2d37dbf8cad0cb436ca8281feffe825e0174e4f01a2386c0 +SERVER_HANDSHAKE_TRAFFIC_SECRET 11822e4832bcfb7fe11b70e796428de7138b93c4d38436ae9a43facf0e14f179 f6ed8ed82497866746b7a3c5da490265e2d9f0abb426e0615161dbe6c6edd2d3cd7e51b173e05e269774e330e917cd34 +CLIENT_TRAFFIC_SECRET_0 11822e4832bcfb7fe11b70e796428de7138b93c4d38436ae9a43facf0e14f179 77c7d108dfdaec93e7b72995fa17470e49a2e48a0988aafdfe588c6e833320924f1e16b8e09561148005be0773314a63 +SERVER_TRAFFIC_SECRET_0 11822e4832bcfb7fe11b70e796428de7138b93c4d38436ae9a43facf0e14f179 ae02fa584e3001243bb20fab2a49ff4a789bc05f99a25a22fbb2ffa62f0a45a48b303f6481b5c6f7f970042d2072e41c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 11822e4832bcfb7fe11b70e796428de7138b93c4d38436ae9a43facf0e14f179 ef7280894a37cb6ae76f477b9e83a0abec1783d27498c2ed2d37dbf8cad0cb436ca8281feffe825e0174e4f01a2386c0 +SERVER_HANDSHAKE_TRAFFIC_SECRET 11822e4832bcfb7fe11b70e796428de7138b93c4d38436ae9a43facf0e14f179 f6ed8ed82497866746b7a3c5da490265e2d9f0abb426e0615161dbe6c6edd2d3cd7e51b173e05e269774e330e917cd34 +CLIENT_TRAFFIC_SECRET_0 11822e4832bcfb7fe11b70e796428de7138b93c4d38436ae9a43facf0e14f179 77c7d108dfdaec93e7b72995fa17470e49a2e48a0988aafdfe588c6e833320924f1e16b8e09561148005be0773314a63 +SERVER_TRAFFIC_SECRET_0 11822e4832bcfb7fe11b70e796428de7138b93c4d38436ae9a43facf0e14f179 ae02fa584e3001243bb20fab2a49ff4a789bc05f99a25a22fbb2ffa62f0a45a48b303f6481b5c6f7f970042d2072e41c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1370b8c5732ff8465eae2c74946139c70491655d325d5b8db16b89a1d3499271 9cdfef0bf913d8e5a85f2f6203990e83d22ad8134b9113292f5ded6561c4f767124579972021b615fba1d7dbb45967df +SERVER_HANDSHAKE_TRAFFIC_SECRET 1370b8c5732ff8465eae2c74946139c70491655d325d5b8db16b89a1d3499271 502cef2ba02cd792d0087f1beb02a4dcccb94129cef9f634f61991f3f4a01f39088e94ecbfcd27d056ccb5b5b8d3952c +CLIENT_TRAFFIC_SECRET_0 1370b8c5732ff8465eae2c74946139c70491655d325d5b8db16b89a1d3499271 1f5d2a8b1cff20fc15f1540ff3fd94fd88bd9833dd3b3a2860e1dfe86e1b587da8d06ad8383f915408f918cf7e47b79b +SERVER_TRAFFIC_SECRET_0 1370b8c5732ff8465eae2c74946139c70491655d325d5b8db16b89a1d3499271 e41850b255023437ff20a2f88db8761086a52b31149f3ec575956895fed6f40264570fad62a76104aa3ce70854b17c22 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1370b8c5732ff8465eae2c74946139c70491655d325d5b8db16b89a1d3499271 9cdfef0bf913d8e5a85f2f6203990e83d22ad8134b9113292f5ded6561c4f767124579972021b615fba1d7dbb45967df +SERVER_HANDSHAKE_TRAFFIC_SECRET 1370b8c5732ff8465eae2c74946139c70491655d325d5b8db16b89a1d3499271 502cef2ba02cd792d0087f1beb02a4dcccb94129cef9f634f61991f3f4a01f39088e94ecbfcd27d056ccb5b5b8d3952c +CLIENT_TRAFFIC_SECRET_0 1370b8c5732ff8465eae2c74946139c70491655d325d5b8db16b89a1d3499271 1f5d2a8b1cff20fc15f1540ff3fd94fd88bd9833dd3b3a2860e1dfe86e1b587da8d06ad8383f915408f918cf7e47b79b +SERVER_TRAFFIC_SECRET_0 1370b8c5732ff8465eae2c74946139c70491655d325d5b8db16b89a1d3499271 e41850b255023437ff20a2f88db8761086a52b31149f3ec575956895fed6f40264570fad62a76104aa3ce70854b17c22 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9e2ea552a1c8733dd51ebe41568574d1da903d5bd1c790b4471486cacc1bde62 f44459e9c4057d5526644fd8b194be301d3f970155cfbe791ed7808180095522cdde73c09dd1baeb16ac270b672acb7d +SERVER_HANDSHAKE_TRAFFIC_SECRET 9e2ea552a1c8733dd51ebe41568574d1da903d5bd1c790b4471486cacc1bde62 53f6b8019e95f76bac01ac595e4a50b825e04f4a90d5ad3ede84d9d087db61a9ee3bb46f82068d359cb61b53a8775431 +CLIENT_TRAFFIC_SECRET_0 9e2ea552a1c8733dd51ebe41568574d1da903d5bd1c790b4471486cacc1bde62 1d3b0e9ccb2782640e886770344e3ed5c1a826327f323f3cc4ee4009453a8bdb4714badb5e7ec1141f42b336bd4e34a0 +SERVER_TRAFFIC_SECRET_0 9e2ea552a1c8733dd51ebe41568574d1da903d5bd1c790b4471486cacc1bde62 8f2cda00e28a9bc40fbe709467c275c5f8533f5f772ddd977ffef6f40620352f17cd1518ab2132e440d967adcd41488c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9e2ea552a1c8733dd51ebe41568574d1da903d5bd1c790b4471486cacc1bde62 f44459e9c4057d5526644fd8b194be301d3f970155cfbe791ed7808180095522cdde73c09dd1baeb16ac270b672acb7d +SERVER_HANDSHAKE_TRAFFIC_SECRET 9e2ea552a1c8733dd51ebe41568574d1da903d5bd1c790b4471486cacc1bde62 53f6b8019e95f76bac01ac595e4a50b825e04f4a90d5ad3ede84d9d087db61a9ee3bb46f82068d359cb61b53a8775431 +CLIENT_TRAFFIC_SECRET_0 9e2ea552a1c8733dd51ebe41568574d1da903d5bd1c790b4471486cacc1bde62 1d3b0e9ccb2782640e886770344e3ed5c1a826327f323f3cc4ee4009453a8bdb4714badb5e7ec1141f42b336bd4e34a0 +SERVER_TRAFFIC_SECRET_0 9e2ea552a1c8733dd51ebe41568574d1da903d5bd1c790b4471486cacc1bde62 8f2cda00e28a9bc40fbe709467c275c5f8533f5f772ddd977ffef6f40620352f17cd1518ab2132e440d967adcd41488c +CLIENT_HANDSHAKE_TRAFFIC_SECRET bbd5cea1dada9cca20f9c91f64b862cc72d50fde0d0fc061333e229cafabc322 721368e61b92b9f863fee16c52a129f5d968f85c830aa917dc3db5304bb75c3cc6e09fb5c6854dfddf11c348fc40e65d +SERVER_HANDSHAKE_TRAFFIC_SECRET bbd5cea1dada9cca20f9c91f64b862cc72d50fde0d0fc061333e229cafabc322 7f46b428cadc67b0c743dccac68ca8d3c3bf70455a15f2c7744e639346b03983525ec938a2a2cd89d9e66bb39c3087e2 +CLIENT_TRAFFIC_SECRET_0 bbd5cea1dada9cca20f9c91f64b862cc72d50fde0d0fc061333e229cafabc322 4e6d217305346778761c9bbdfc167a75c37ce8053ba0b38a7406c71c4df2064fcd7f3826d3c3f748ddb8405d9f470735 +SERVER_TRAFFIC_SECRET_0 bbd5cea1dada9cca20f9c91f64b862cc72d50fde0d0fc061333e229cafabc322 cd76f84ef4800142a9ca12df19d16cae3816e1e829b7dd888f14d0143f3c0c1d40a798ec45de0dc5662775055ccd0128 +CLIENT_HANDSHAKE_TRAFFIC_SECRET bbd5cea1dada9cca20f9c91f64b862cc72d50fde0d0fc061333e229cafabc322 721368e61b92b9f863fee16c52a129f5d968f85c830aa917dc3db5304bb75c3cc6e09fb5c6854dfddf11c348fc40e65d +SERVER_HANDSHAKE_TRAFFIC_SECRET bbd5cea1dada9cca20f9c91f64b862cc72d50fde0d0fc061333e229cafabc322 7f46b428cadc67b0c743dccac68ca8d3c3bf70455a15f2c7744e639346b03983525ec938a2a2cd89d9e66bb39c3087e2 +CLIENT_TRAFFIC_SECRET_0 bbd5cea1dada9cca20f9c91f64b862cc72d50fde0d0fc061333e229cafabc322 4e6d217305346778761c9bbdfc167a75c37ce8053ba0b38a7406c71c4df2064fcd7f3826d3c3f748ddb8405d9f470735 +SERVER_TRAFFIC_SECRET_0 bbd5cea1dada9cca20f9c91f64b862cc72d50fde0d0fc061333e229cafabc322 cd76f84ef4800142a9ca12df19d16cae3816e1e829b7dd888f14d0143f3c0c1d40a798ec45de0dc5662775055ccd0128 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ad17cded8e04b11fe4f82d2feea3990e33bca4833d5fa8ac4133df5b010a1730 ac3044c5d4b7aa9cfa50376309532eeae5c8d1cf98cf500f006a6f0d8294fa0a3d0ade6724bbc73cf0b245a1b13b15cd +SERVER_HANDSHAKE_TRAFFIC_SECRET ad17cded8e04b11fe4f82d2feea3990e33bca4833d5fa8ac4133df5b010a1730 8cd591b10a4116c7d23a31b45e826d8fac310dad7aa2668a9468520d212c624f9b5bc17e9c028a0d67dc005a45aa3322 +CLIENT_TRAFFIC_SECRET_0 ad17cded8e04b11fe4f82d2feea3990e33bca4833d5fa8ac4133df5b010a1730 667790fc5ffbc4d78e656bcd609b036411475364f48798e43e3bc21aade08b09d74e5d9c4c74b8e199b2db579bf1663e +SERVER_TRAFFIC_SECRET_0 ad17cded8e04b11fe4f82d2feea3990e33bca4833d5fa8ac4133df5b010a1730 380e2ec5292c8098c79eecb70eb0374a8b477206db3a0e72dd67a11cf2e834b3f9a79a2d2d4bf63a2b89768bf8dd16a6 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ad17cded8e04b11fe4f82d2feea3990e33bca4833d5fa8ac4133df5b010a1730 ac3044c5d4b7aa9cfa50376309532eeae5c8d1cf98cf500f006a6f0d8294fa0a3d0ade6724bbc73cf0b245a1b13b15cd +SERVER_HANDSHAKE_TRAFFIC_SECRET ad17cded8e04b11fe4f82d2feea3990e33bca4833d5fa8ac4133df5b010a1730 8cd591b10a4116c7d23a31b45e826d8fac310dad7aa2668a9468520d212c624f9b5bc17e9c028a0d67dc005a45aa3322 +CLIENT_TRAFFIC_SECRET_0 ad17cded8e04b11fe4f82d2feea3990e33bca4833d5fa8ac4133df5b010a1730 667790fc5ffbc4d78e656bcd609b036411475364f48798e43e3bc21aade08b09d74e5d9c4c74b8e199b2db579bf1663e +SERVER_TRAFFIC_SECRET_0 ad17cded8e04b11fe4f82d2feea3990e33bca4833d5fa8ac4133df5b010a1730 380e2ec5292c8098c79eecb70eb0374a8b477206db3a0e72dd67a11cf2e834b3f9a79a2d2d4bf63a2b89768bf8dd16a6 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 908d4f426ba11e9851ace5bd84d28c94a1a8fd6608e49471624ad3f31a662f01 5f5073cdb874c6f1254537e04eafdde5575e1cc663e047821e7dcc05948848724302b9542420b559a3db371e575f45be +SERVER_HANDSHAKE_TRAFFIC_SECRET 908d4f426ba11e9851ace5bd84d28c94a1a8fd6608e49471624ad3f31a662f01 e5dcd4301d10f1fd70d8221aa2b42517d4698fc87b3d04612b41fda672b8b5aef4d67ccb197a9faed44e3ee11c2f4096 +CLIENT_TRAFFIC_SECRET_0 908d4f426ba11e9851ace5bd84d28c94a1a8fd6608e49471624ad3f31a662f01 838a6f5a6abebe15535aedb07520fbac45e51e2bb69d0d0ffc46f192e42c81e3741771ed849607e875f141bbeae4f2b1 +SERVER_TRAFFIC_SECRET_0 908d4f426ba11e9851ace5bd84d28c94a1a8fd6608e49471624ad3f31a662f01 ac4df4930ec26babc8b7419aca38beea89226a15c2817d77e1aae70c54061d112b3eaa2eb6527980fae1dd6c77159e60 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 908d4f426ba11e9851ace5bd84d28c94a1a8fd6608e49471624ad3f31a662f01 5f5073cdb874c6f1254537e04eafdde5575e1cc663e047821e7dcc05948848724302b9542420b559a3db371e575f45be +SERVER_HANDSHAKE_TRAFFIC_SECRET 908d4f426ba11e9851ace5bd84d28c94a1a8fd6608e49471624ad3f31a662f01 e5dcd4301d10f1fd70d8221aa2b42517d4698fc87b3d04612b41fda672b8b5aef4d67ccb197a9faed44e3ee11c2f4096 +CLIENT_TRAFFIC_SECRET_0 908d4f426ba11e9851ace5bd84d28c94a1a8fd6608e49471624ad3f31a662f01 838a6f5a6abebe15535aedb07520fbac45e51e2bb69d0d0ffc46f192e42c81e3741771ed849607e875f141bbeae4f2b1 +SERVER_TRAFFIC_SECRET_0 908d4f426ba11e9851ace5bd84d28c94a1a8fd6608e49471624ad3f31a662f01 ac4df4930ec26babc8b7419aca38beea89226a15c2817d77e1aae70c54061d112b3eaa2eb6527980fae1dd6c77159e60 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3815ca34776d5db8ad46cdc1eb21a41d492c4aa044bbe468c7c2937ef09dc596 31369d3e6b1d5c83531499d74ee48dad32d3df339722a8682c8af65ad0a84e36487b25d9a5463705c25a799e391bef9c +SERVER_HANDSHAKE_TRAFFIC_SECRET 3815ca34776d5db8ad46cdc1eb21a41d492c4aa044bbe468c7c2937ef09dc596 c83f2b24cf3ce5b61bc08e62b1b1d32de47b1b40af971b0883fb6ecfe3ed3df4fd8e76725047dee1da5e8a7c223bcb20 +CLIENT_TRAFFIC_SECRET_0 3815ca34776d5db8ad46cdc1eb21a41d492c4aa044bbe468c7c2937ef09dc596 8318c7c41eb2715661d7fd55091b8a1d18a2bad12c436d62ed1efe9a8e00fef6c1a864f3221dee90feb394ad96a45ff3 +SERVER_TRAFFIC_SECRET_0 3815ca34776d5db8ad46cdc1eb21a41d492c4aa044bbe468c7c2937ef09dc596 a7315c2400d2969fb18e370280e7e34ee57509986d0b5c3887ebf122c9865878f569936e0ec70c44da08788170b2b173 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3815ca34776d5db8ad46cdc1eb21a41d492c4aa044bbe468c7c2937ef09dc596 31369d3e6b1d5c83531499d74ee48dad32d3df339722a8682c8af65ad0a84e36487b25d9a5463705c25a799e391bef9c +SERVER_HANDSHAKE_TRAFFIC_SECRET 3815ca34776d5db8ad46cdc1eb21a41d492c4aa044bbe468c7c2937ef09dc596 c83f2b24cf3ce5b61bc08e62b1b1d32de47b1b40af971b0883fb6ecfe3ed3df4fd8e76725047dee1da5e8a7c223bcb20 +CLIENT_TRAFFIC_SECRET_0 3815ca34776d5db8ad46cdc1eb21a41d492c4aa044bbe468c7c2937ef09dc596 8318c7c41eb2715661d7fd55091b8a1d18a2bad12c436d62ed1efe9a8e00fef6c1a864f3221dee90feb394ad96a45ff3 +SERVER_TRAFFIC_SECRET_0 3815ca34776d5db8ad46cdc1eb21a41d492c4aa044bbe468c7c2937ef09dc596 a7315c2400d2969fb18e370280e7e34ee57509986d0b5c3887ebf122c9865878f569936e0ec70c44da08788170b2b173 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1bdc2fa7d89f136936fb6709ceca2101b57103c6d7a16faf0f8095bc51083cdf e4cb0754b52c000703c7885d560dd7a02e2b297d954bee61e337c8df6f9706927e00be6408ad410874dd0da74ee066d9 +SERVER_HANDSHAKE_TRAFFIC_SECRET 1bdc2fa7d89f136936fb6709ceca2101b57103c6d7a16faf0f8095bc51083cdf c50f6667cf26d2879ddc247bbef97dff26a8b85ef5f08f72d0c1309e2ba4b03499d7a8b610f3509f7e8a7084737b2cb9 +CLIENT_TRAFFIC_SECRET_0 1bdc2fa7d89f136936fb6709ceca2101b57103c6d7a16faf0f8095bc51083cdf 8d3bc985518f94e359be0eb45647b1f85f5e178339f50416f176f745181d127d4062b8d4acbb29b244aa688a5bb6a19d +SERVER_TRAFFIC_SECRET_0 1bdc2fa7d89f136936fb6709ceca2101b57103c6d7a16faf0f8095bc51083cdf d320205341b382618bea70e025dcf34c09a624793a0030746f9d2ea9d184fa526fbc2227a421c78ae3abb5a96bf5c076 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1bdc2fa7d89f136936fb6709ceca2101b57103c6d7a16faf0f8095bc51083cdf e4cb0754b52c000703c7885d560dd7a02e2b297d954bee61e337c8df6f9706927e00be6408ad410874dd0da74ee066d9 +SERVER_HANDSHAKE_TRAFFIC_SECRET 1bdc2fa7d89f136936fb6709ceca2101b57103c6d7a16faf0f8095bc51083cdf c50f6667cf26d2879ddc247bbef97dff26a8b85ef5f08f72d0c1309e2ba4b03499d7a8b610f3509f7e8a7084737b2cb9 +CLIENT_TRAFFIC_SECRET_0 1bdc2fa7d89f136936fb6709ceca2101b57103c6d7a16faf0f8095bc51083cdf 8d3bc985518f94e359be0eb45647b1f85f5e178339f50416f176f745181d127d4062b8d4acbb29b244aa688a5bb6a19d +SERVER_TRAFFIC_SECRET_0 1bdc2fa7d89f136936fb6709ceca2101b57103c6d7a16faf0f8095bc51083cdf d320205341b382618bea70e025dcf34c09a624793a0030746f9d2ea9d184fa526fbc2227a421c78ae3abb5a96bf5c076 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ce3e2a8bd36e06e0fbc6348eeb150c4d01918556d3d24eb600feb0f9d7fb626d 1b63ad2bc91d720f8298d9b481bc99b3d08e9afc57b598aba996313892b8e3184311e402ca7cebc0294d985f673d8ccd +SERVER_HANDSHAKE_TRAFFIC_SECRET ce3e2a8bd36e06e0fbc6348eeb150c4d01918556d3d24eb600feb0f9d7fb626d 1b54c244a4fd4b9f01ee656a77fbacfac4421b76690ba1218ad5d7c3fc85f290218bc7c34cd9fe1941c87b97aa7bd945 +CLIENT_TRAFFIC_SECRET_0 ce3e2a8bd36e06e0fbc6348eeb150c4d01918556d3d24eb600feb0f9d7fb626d 0a4f5b2d860e367ad9c57099177d0e0e88da16707c71dc69704c191078114507e65d0f0db3b67636045215634111c5b6 +SERVER_TRAFFIC_SECRET_0 ce3e2a8bd36e06e0fbc6348eeb150c4d01918556d3d24eb600feb0f9d7fb626d 0e486b5dbbb4b22283f06ea6f78b2ef0f6ecc346a92d23a5858a621ce02e136bb9ef4775f74e29c53a6d7d94cef09eee +CLIENT_HANDSHAKE_TRAFFIC_SECRET ce3e2a8bd36e06e0fbc6348eeb150c4d01918556d3d24eb600feb0f9d7fb626d 1b63ad2bc91d720f8298d9b481bc99b3d08e9afc57b598aba996313892b8e3184311e402ca7cebc0294d985f673d8ccd +SERVER_HANDSHAKE_TRAFFIC_SECRET ce3e2a8bd36e06e0fbc6348eeb150c4d01918556d3d24eb600feb0f9d7fb626d 1b54c244a4fd4b9f01ee656a77fbacfac4421b76690ba1218ad5d7c3fc85f290218bc7c34cd9fe1941c87b97aa7bd945 +CLIENT_TRAFFIC_SECRET_0 ce3e2a8bd36e06e0fbc6348eeb150c4d01918556d3d24eb600feb0f9d7fb626d 0a4f5b2d860e367ad9c57099177d0e0e88da16707c71dc69704c191078114507e65d0f0db3b67636045215634111c5b6 +SERVER_TRAFFIC_SECRET_0 ce3e2a8bd36e06e0fbc6348eeb150c4d01918556d3d24eb600feb0f9d7fb626d 0e486b5dbbb4b22283f06ea6f78b2ef0f6ecc346a92d23a5858a621ce02e136bb9ef4775f74e29c53a6d7d94cef09eee +CLIENT_HANDSHAKE_TRAFFIC_SECRET f937ea4f557034d36e51324ae38f5263aa41b81d5f2d6f65d0d77f5665e9f240 6446ec23d8e2a29eef156e742963a959f610ca5fb38bd1d3bca8381884242daae2c4a6e1c1ffd5b88e49cd739101156b +SERVER_HANDSHAKE_TRAFFIC_SECRET f937ea4f557034d36e51324ae38f5263aa41b81d5f2d6f65d0d77f5665e9f240 180740b9f73b832e07f61fbf73fabc1c4dd9791c559d61cf6c3a2899aa5b89d3f6dccb40fd78688e3aacb0935e6fa490 +CLIENT_TRAFFIC_SECRET_0 f937ea4f557034d36e51324ae38f5263aa41b81d5f2d6f65d0d77f5665e9f240 72780d60dd531529072e80e6bfad3719a3c6a201d77c34b8da96096f8cd6d097c3f03f08c31049d778f0fdec88b7cba4 +SERVER_TRAFFIC_SECRET_0 f937ea4f557034d36e51324ae38f5263aa41b81d5f2d6f65d0d77f5665e9f240 6ccafa97dfe390d689ea4919aaf17606bc64b47da7bbcea7ee8d0a903d73fa07b162599c2d50daa22e2c292148d8ed77 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f937ea4f557034d36e51324ae38f5263aa41b81d5f2d6f65d0d77f5665e9f240 6446ec23d8e2a29eef156e742963a959f610ca5fb38bd1d3bca8381884242daae2c4a6e1c1ffd5b88e49cd739101156b +SERVER_HANDSHAKE_TRAFFIC_SECRET f937ea4f557034d36e51324ae38f5263aa41b81d5f2d6f65d0d77f5665e9f240 180740b9f73b832e07f61fbf73fabc1c4dd9791c559d61cf6c3a2899aa5b89d3f6dccb40fd78688e3aacb0935e6fa490 +CLIENT_TRAFFIC_SECRET_0 f937ea4f557034d36e51324ae38f5263aa41b81d5f2d6f65d0d77f5665e9f240 72780d60dd531529072e80e6bfad3719a3c6a201d77c34b8da96096f8cd6d097c3f03f08c31049d778f0fdec88b7cba4 +SERVER_TRAFFIC_SECRET_0 f937ea4f557034d36e51324ae38f5263aa41b81d5f2d6f65d0d77f5665e9f240 6ccafa97dfe390d689ea4919aaf17606bc64b47da7bbcea7ee8d0a903d73fa07b162599c2d50daa22e2c292148d8ed77 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 91e798aadb8c1de9732796aec29e48cfba963dedb9622e8786c35f58b2ef8a52 5f26a09a269b5772c5919244359614c28f3f3a10472321ad6938f2ba949ad74eef646ce65ec5dad3c527c6185757cce4 +SERVER_HANDSHAKE_TRAFFIC_SECRET 91e798aadb8c1de9732796aec29e48cfba963dedb9622e8786c35f58b2ef8a52 c0d80aaeb8f0e18c229063f750706415f9152a927f931db8926200cf52c33bd01d12b43d2257b6adfca9edd8b14c66ea +CLIENT_TRAFFIC_SECRET_0 91e798aadb8c1de9732796aec29e48cfba963dedb9622e8786c35f58b2ef8a52 7a7bc63ac33228247a88de14ac921abca8b653327fa84acbb89442e7870d6c814b6a61b3f1e5b04a06f36ba322bec8e7 +SERVER_TRAFFIC_SECRET_0 91e798aadb8c1de9732796aec29e48cfba963dedb9622e8786c35f58b2ef8a52 19146a7320f82b579ae749e40b6f3f356eed693023abbfcd31a68142a01afaa9e5731096147bdf7dbdbefd564b807308 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 91e798aadb8c1de9732796aec29e48cfba963dedb9622e8786c35f58b2ef8a52 5f26a09a269b5772c5919244359614c28f3f3a10472321ad6938f2ba949ad74eef646ce65ec5dad3c527c6185757cce4 +SERVER_HANDSHAKE_TRAFFIC_SECRET 91e798aadb8c1de9732796aec29e48cfba963dedb9622e8786c35f58b2ef8a52 c0d80aaeb8f0e18c229063f750706415f9152a927f931db8926200cf52c33bd01d12b43d2257b6adfca9edd8b14c66ea +CLIENT_TRAFFIC_SECRET_0 91e798aadb8c1de9732796aec29e48cfba963dedb9622e8786c35f58b2ef8a52 7a7bc63ac33228247a88de14ac921abca8b653327fa84acbb89442e7870d6c814b6a61b3f1e5b04a06f36ba322bec8e7 +SERVER_TRAFFIC_SECRET_0 91e798aadb8c1de9732796aec29e48cfba963dedb9622e8786c35f58b2ef8a52 19146a7320f82b579ae749e40b6f3f356eed693023abbfcd31a68142a01afaa9e5731096147bdf7dbdbefd564b807308 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 7b1744d19c326d898403160f2df2d3c257666ca0bc83c62998356654a1a83179 e94157dd726ad415ece71ada7ad0069920d75fe03dc5a30d8020c4d6ee32f26eed1ef74c48582fb26c7b37ae272680ad +SERVER_HANDSHAKE_TRAFFIC_SECRET 7b1744d19c326d898403160f2df2d3c257666ca0bc83c62998356654a1a83179 5c1feab31a4015752e8025e1917d1d73333814af88bd21ec30c77512f68b19175cc2bce6885e45b5e23fa19fddbe8f7c +CLIENT_TRAFFIC_SECRET_0 7b1744d19c326d898403160f2df2d3c257666ca0bc83c62998356654a1a83179 ebf816bdd546b24497d1cf23a2fd307ead1d303d6b88c97767026582697a3c90909851f4e50be48cca044a2d3d30713e +SERVER_TRAFFIC_SECRET_0 7b1744d19c326d898403160f2df2d3c257666ca0bc83c62998356654a1a83179 f15ddabfc12fdec5fb8835c61d54e7bb52d652aff31645f8e3365b6cf48a0729e9a59bad2574cfb8b905185abe7e0399 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 7b1744d19c326d898403160f2df2d3c257666ca0bc83c62998356654a1a83179 e94157dd726ad415ece71ada7ad0069920d75fe03dc5a30d8020c4d6ee32f26eed1ef74c48582fb26c7b37ae272680ad +SERVER_HANDSHAKE_TRAFFIC_SECRET 7b1744d19c326d898403160f2df2d3c257666ca0bc83c62998356654a1a83179 5c1feab31a4015752e8025e1917d1d73333814af88bd21ec30c77512f68b19175cc2bce6885e45b5e23fa19fddbe8f7c +CLIENT_TRAFFIC_SECRET_0 7b1744d19c326d898403160f2df2d3c257666ca0bc83c62998356654a1a83179 ebf816bdd546b24497d1cf23a2fd307ead1d303d6b88c97767026582697a3c90909851f4e50be48cca044a2d3d30713e +SERVER_TRAFFIC_SECRET_0 7b1744d19c326d898403160f2df2d3c257666ca0bc83c62998356654a1a83179 f15ddabfc12fdec5fb8835c61d54e7bb52d652aff31645f8e3365b6cf48a0729e9a59bad2574cfb8b905185abe7e0399 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 7ec81df0851abb2c449f2a79a228cf4d732bc5d05403c3fdac8d0a0a97b79b39 f369682b70796bcd00150a0952584cbe7bed9b1af7611af98cdfc85e3b764a87ba745aaa10169cd43ead2197419e3cfb +SERVER_HANDSHAKE_TRAFFIC_SECRET 7ec81df0851abb2c449f2a79a228cf4d732bc5d05403c3fdac8d0a0a97b79b39 876d30cc25610227c326ac020b1a792c19cfe9374cabc1c03630b4f5693d3fc43129447f2c5eb878f2a45e70f0ddb054 +CLIENT_TRAFFIC_SECRET_0 7ec81df0851abb2c449f2a79a228cf4d732bc5d05403c3fdac8d0a0a97b79b39 2c35c26df2d84e3da0b74a61e36d5cd43569b0f9ab1b0bd76e2e01538163d366d7e2f5445c09d16a54a4043c4442a9b0 +SERVER_TRAFFIC_SECRET_0 7ec81df0851abb2c449f2a79a228cf4d732bc5d05403c3fdac8d0a0a97b79b39 13b11ba9ddffa39b8faadaba8b7153e41f6d602acce33962829060cb0b32e85d080773163443c6bab3627e4d2b341818 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 7ec81df0851abb2c449f2a79a228cf4d732bc5d05403c3fdac8d0a0a97b79b39 f369682b70796bcd00150a0952584cbe7bed9b1af7611af98cdfc85e3b764a87ba745aaa10169cd43ead2197419e3cfb +SERVER_HANDSHAKE_TRAFFIC_SECRET 7ec81df0851abb2c449f2a79a228cf4d732bc5d05403c3fdac8d0a0a97b79b39 876d30cc25610227c326ac020b1a792c19cfe9374cabc1c03630b4f5693d3fc43129447f2c5eb878f2a45e70f0ddb054 +CLIENT_TRAFFIC_SECRET_0 7ec81df0851abb2c449f2a79a228cf4d732bc5d05403c3fdac8d0a0a97b79b39 2c35c26df2d84e3da0b74a61e36d5cd43569b0f9ab1b0bd76e2e01538163d366d7e2f5445c09d16a54a4043c4442a9b0 +SERVER_TRAFFIC_SECRET_0 7ec81df0851abb2c449f2a79a228cf4d732bc5d05403c3fdac8d0a0a97b79b39 13b11ba9ddffa39b8faadaba8b7153e41f6d602acce33962829060cb0b32e85d080773163443c6bab3627e4d2b341818 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 729e84c42be58965f2cf958560b07c22345387a71b7b49b58901b8b26c8ba3d3 74ff8b36d83aa788fa5f8e79d50552e3028f386205c70456038ef48970fa9d8cb11a67db9b02d57d3c23a258bf7caa74 +SERVER_HANDSHAKE_TRAFFIC_SECRET 729e84c42be58965f2cf958560b07c22345387a71b7b49b58901b8b26c8ba3d3 19f0ba0812f6eac5fbce7816369711896d138bcac98c53aa94b9120edeb8b73093b188e85cf13cbc19e2e85cb544947a +CLIENT_TRAFFIC_SECRET_0 729e84c42be58965f2cf958560b07c22345387a71b7b49b58901b8b26c8ba3d3 a6064f0bcfa12fdcb845369b3f650f0c49cedd3f888bf4c9088a0f13a565b0044c21efab8560505546aadf728dfc67eb +SERVER_TRAFFIC_SECRET_0 729e84c42be58965f2cf958560b07c22345387a71b7b49b58901b8b26c8ba3d3 f2d2afc2b19b43901f845d51ad49c5215e16e9e591090be0e7d4c6821b80fcce52b6363d03f12f07a5134675e96c928f +CLIENT_HANDSHAKE_TRAFFIC_SECRET 729e84c42be58965f2cf958560b07c22345387a71b7b49b58901b8b26c8ba3d3 74ff8b36d83aa788fa5f8e79d50552e3028f386205c70456038ef48970fa9d8cb11a67db9b02d57d3c23a258bf7caa74 +SERVER_HANDSHAKE_TRAFFIC_SECRET 729e84c42be58965f2cf958560b07c22345387a71b7b49b58901b8b26c8ba3d3 19f0ba0812f6eac5fbce7816369711896d138bcac98c53aa94b9120edeb8b73093b188e85cf13cbc19e2e85cb544947a +CLIENT_TRAFFIC_SECRET_0 729e84c42be58965f2cf958560b07c22345387a71b7b49b58901b8b26c8ba3d3 a6064f0bcfa12fdcb845369b3f650f0c49cedd3f888bf4c9088a0f13a565b0044c21efab8560505546aadf728dfc67eb +SERVER_TRAFFIC_SECRET_0 729e84c42be58965f2cf958560b07c22345387a71b7b49b58901b8b26c8ba3d3 f2d2afc2b19b43901f845d51ad49c5215e16e9e591090be0e7d4c6821b80fcce52b6363d03f12f07a5134675e96c928f +CLIENT_HANDSHAKE_TRAFFIC_SECRET 179390e05dd0e8dab2473dc90a72da6a5e2d89e5190af6ecadc016450e5e4c70 1fcd87a64c2b266803c56b2066830ae00577feb24e0db823722bb9d0c62e5321c1457c28b7375ac19d61e5e23e104859 +SERVER_HANDSHAKE_TRAFFIC_SECRET 179390e05dd0e8dab2473dc90a72da6a5e2d89e5190af6ecadc016450e5e4c70 eaebe5704d05c6e0d737d31e6d13acf15491c8ea4eed8491651abe6c5aec4e84fd73919ded323056f72f630e32e4ead1 +CLIENT_TRAFFIC_SECRET_0 179390e05dd0e8dab2473dc90a72da6a5e2d89e5190af6ecadc016450e5e4c70 56fc0b27fc18140286644fb000ce8fef11e5eb8389d6ab1c5dccc4d99ed233559ef380d8bbce69587afe690615967170 +SERVER_TRAFFIC_SECRET_0 179390e05dd0e8dab2473dc90a72da6a5e2d89e5190af6ecadc016450e5e4c70 052f80788a38d108fc80db0eb37d340d5dbed2222a8f46c4b9049b9f3f2f015c845b5582fce4af065f9f176e5c1d0789 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 179390e05dd0e8dab2473dc90a72da6a5e2d89e5190af6ecadc016450e5e4c70 1fcd87a64c2b266803c56b2066830ae00577feb24e0db823722bb9d0c62e5321c1457c28b7375ac19d61e5e23e104859 +SERVER_HANDSHAKE_TRAFFIC_SECRET 179390e05dd0e8dab2473dc90a72da6a5e2d89e5190af6ecadc016450e5e4c70 eaebe5704d05c6e0d737d31e6d13acf15491c8ea4eed8491651abe6c5aec4e84fd73919ded323056f72f630e32e4ead1 +CLIENT_TRAFFIC_SECRET_0 179390e05dd0e8dab2473dc90a72da6a5e2d89e5190af6ecadc016450e5e4c70 56fc0b27fc18140286644fb000ce8fef11e5eb8389d6ab1c5dccc4d99ed233559ef380d8bbce69587afe690615967170 +SERVER_TRAFFIC_SECRET_0 179390e05dd0e8dab2473dc90a72da6a5e2d89e5190af6ecadc016450e5e4c70 052f80788a38d108fc80db0eb37d340d5dbed2222a8f46c4b9049b9f3f2f015c845b5582fce4af065f9f176e5c1d0789 +CLIENT_HANDSHAKE_TRAFFIC_SECRET cfd7debde40028cd0411e1b999ab3255175848cc0b92e96d0faef018770b4fd7 637bf1d2577dc4b8f02cfc430a90a82d5be9ded65b317d08b9a5201e88a5bbd3f41efacd9bcea27fbdee9f92ad64b492 +SERVER_HANDSHAKE_TRAFFIC_SECRET cfd7debde40028cd0411e1b999ab3255175848cc0b92e96d0faef018770b4fd7 4219d93c0689fdd1516ec58c3f80aec84275ef82e93086ce03aded87255c96d22c1d4dc96d61e1106122e4bc71fe6542 +CLIENT_TRAFFIC_SECRET_0 cfd7debde40028cd0411e1b999ab3255175848cc0b92e96d0faef018770b4fd7 3777afe2c0732d4b9fc74cd1b410c0cbff44905668fcfdd54fe2baf1d4be1e9ce3af171cefcbec9cca2fb2c804e6ad17 +SERVER_TRAFFIC_SECRET_0 cfd7debde40028cd0411e1b999ab3255175848cc0b92e96d0faef018770b4fd7 276c010afdc7323b90dac8d76900ac5deb6c6952c977641e6da42ce4d559deccc71febcfc76577314bc006bb1d1823ab +CLIENT_HANDSHAKE_TRAFFIC_SECRET cfd7debde40028cd0411e1b999ab3255175848cc0b92e96d0faef018770b4fd7 637bf1d2577dc4b8f02cfc430a90a82d5be9ded65b317d08b9a5201e88a5bbd3f41efacd9bcea27fbdee9f92ad64b492 +SERVER_HANDSHAKE_TRAFFIC_SECRET cfd7debde40028cd0411e1b999ab3255175848cc0b92e96d0faef018770b4fd7 4219d93c0689fdd1516ec58c3f80aec84275ef82e93086ce03aded87255c96d22c1d4dc96d61e1106122e4bc71fe6542 +CLIENT_TRAFFIC_SECRET_0 cfd7debde40028cd0411e1b999ab3255175848cc0b92e96d0faef018770b4fd7 3777afe2c0732d4b9fc74cd1b410c0cbff44905668fcfdd54fe2baf1d4be1e9ce3af171cefcbec9cca2fb2c804e6ad17 +SERVER_TRAFFIC_SECRET_0 cfd7debde40028cd0411e1b999ab3255175848cc0b92e96d0faef018770b4fd7 276c010afdc7323b90dac8d76900ac5deb6c6952c977641e6da42ce4d559deccc71febcfc76577314bc006bb1d1823ab +CLIENT_HANDSHAKE_TRAFFIC_SECRET 729f058026624fb8d16594966d206c5d106f4a863944f0cf06feeceb0550924b 9c286957f9bb957d9e29471390edd8815a962034f16c680798aaa9ec6fad0081e971e35a57ae2e1619caa67314f1c27d +SERVER_HANDSHAKE_TRAFFIC_SECRET 729f058026624fb8d16594966d206c5d106f4a863944f0cf06feeceb0550924b e2db6caa2af11c503728dd9cc2dcf99a5166788f2e83abf933f7730a8a758fe43986e19a31a4ca49ca2d7c1d6ea7ec1e +CLIENT_TRAFFIC_SECRET_0 729f058026624fb8d16594966d206c5d106f4a863944f0cf06feeceb0550924b b7e74512288fc2dced7026b719caa3386e681b8cca53e56439e5249b33fe0a064bde4ec3253f2f9ef261d0acea298599 +SERVER_TRAFFIC_SECRET_0 729f058026624fb8d16594966d206c5d106f4a863944f0cf06feeceb0550924b 7f666deaedf76dc0075f9e2e46a21371b0aa21867ddb3f47bed023efcf33d63c996fc2b6fa7045fecc3b55c57b054b37 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 729f058026624fb8d16594966d206c5d106f4a863944f0cf06feeceb0550924b 9c286957f9bb957d9e29471390edd8815a962034f16c680798aaa9ec6fad0081e971e35a57ae2e1619caa67314f1c27d +SERVER_HANDSHAKE_TRAFFIC_SECRET 729f058026624fb8d16594966d206c5d106f4a863944f0cf06feeceb0550924b e2db6caa2af11c503728dd9cc2dcf99a5166788f2e83abf933f7730a8a758fe43986e19a31a4ca49ca2d7c1d6ea7ec1e +CLIENT_TRAFFIC_SECRET_0 729f058026624fb8d16594966d206c5d106f4a863944f0cf06feeceb0550924b b7e74512288fc2dced7026b719caa3386e681b8cca53e56439e5249b33fe0a064bde4ec3253f2f9ef261d0acea298599 +SERVER_TRAFFIC_SECRET_0 729f058026624fb8d16594966d206c5d106f4a863944f0cf06feeceb0550924b 7f666deaedf76dc0075f9e2e46a21371b0aa21867ddb3f47bed023efcf33d63c996fc2b6fa7045fecc3b55c57b054b37 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e1969a9b986c5d00f5a6b7afa7a9ba3ccf186b02e7aea4d9ebbd195710fa9a6e a570281faaa7cbd48364a3878514493ea2a7cd8fd4a4113273f755e402af2defc545cfc7499fbc6468fca6478c3ec11f +SERVER_HANDSHAKE_TRAFFIC_SECRET e1969a9b986c5d00f5a6b7afa7a9ba3ccf186b02e7aea4d9ebbd195710fa9a6e d031950c3db155905a2107ba7e58e2421c656d73e684dee7f337ecc5eacdf421a514f926bbabc252c0b2c6266d9ecf60 +CLIENT_TRAFFIC_SECRET_0 e1969a9b986c5d00f5a6b7afa7a9ba3ccf186b02e7aea4d9ebbd195710fa9a6e cb2c61c5da90c0b76b0104c406bdaad0b34750d128d3228c2c9329318c64e2d8e4e889c34869d503f52a6ba3454ede8f +SERVER_TRAFFIC_SECRET_0 e1969a9b986c5d00f5a6b7afa7a9ba3ccf186b02e7aea4d9ebbd195710fa9a6e d5526515809039f6f93d753a313b7da9b44330517364d83c4bc89f565adad9f68494a322b87e83d7ede986393715f629 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e1969a9b986c5d00f5a6b7afa7a9ba3ccf186b02e7aea4d9ebbd195710fa9a6e a570281faaa7cbd48364a3878514493ea2a7cd8fd4a4113273f755e402af2defc545cfc7499fbc6468fca6478c3ec11f +SERVER_HANDSHAKE_TRAFFIC_SECRET e1969a9b986c5d00f5a6b7afa7a9ba3ccf186b02e7aea4d9ebbd195710fa9a6e d031950c3db155905a2107ba7e58e2421c656d73e684dee7f337ecc5eacdf421a514f926bbabc252c0b2c6266d9ecf60 +CLIENT_TRAFFIC_SECRET_0 e1969a9b986c5d00f5a6b7afa7a9ba3ccf186b02e7aea4d9ebbd195710fa9a6e cb2c61c5da90c0b76b0104c406bdaad0b34750d128d3228c2c9329318c64e2d8e4e889c34869d503f52a6ba3454ede8f +SERVER_TRAFFIC_SECRET_0 e1969a9b986c5d00f5a6b7afa7a9ba3ccf186b02e7aea4d9ebbd195710fa9a6e d5526515809039f6f93d753a313b7da9b44330517364d83c4bc89f565adad9f68494a322b87e83d7ede986393715f629 +CLIENT_HANDSHAKE_TRAFFIC_SECRET bb3d8a7779c51be3d74f09c22f5a9848456604a2cc1089b0c7be430f642ad97e dacef64501b1899dbc106cabc6338c63b6e178447081bea11ee2d58debd2e0efb349c4112e65543d64f40eae8f85ee6f +SERVER_HANDSHAKE_TRAFFIC_SECRET bb3d8a7779c51be3d74f09c22f5a9848456604a2cc1089b0c7be430f642ad97e d71acc2006f42b4589fe7411ab0b2615facf296774a7cc1881ec9b80d6a2a1131f568c91e8da572e1b2da3dcfe7753db +CLIENT_TRAFFIC_SECRET_0 bb3d8a7779c51be3d74f09c22f5a9848456604a2cc1089b0c7be430f642ad97e 7f055f28299dc0da9a4499620e7fa392b68a39c005eaab139a99953848102d6a4b461ba411ccc9cc944df900d0a456cc +SERVER_TRAFFIC_SECRET_0 bb3d8a7779c51be3d74f09c22f5a9848456604a2cc1089b0c7be430f642ad97e 9f360044be9556aa2d3b5a47ec647378cbdb492692157e6065a11007862b5feeb8666b6e12446eb8bd25ccdbbcc1b4f4 +CLIENT_HANDSHAKE_TRAFFIC_SECRET bb3d8a7779c51be3d74f09c22f5a9848456604a2cc1089b0c7be430f642ad97e dacef64501b1899dbc106cabc6338c63b6e178447081bea11ee2d58debd2e0efb349c4112e65543d64f40eae8f85ee6f +SERVER_HANDSHAKE_TRAFFIC_SECRET bb3d8a7779c51be3d74f09c22f5a9848456604a2cc1089b0c7be430f642ad97e d71acc2006f42b4589fe7411ab0b2615facf296774a7cc1881ec9b80d6a2a1131f568c91e8da572e1b2da3dcfe7753db +CLIENT_TRAFFIC_SECRET_0 bb3d8a7779c51be3d74f09c22f5a9848456604a2cc1089b0c7be430f642ad97e 7f055f28299dc0da9a4499620e7fa392b68a39c005eaab139a99953848102d6a4b461ba411ccc9cc944df900d0a456cc +SERVER_TRAFFIC_SECRET_0 bb3d8a7779c51be3d74f09c22f5a9848456604a2cc1089b0c7be430f642ad97e 9f360044be9556aa2d3b5a47ec647378cbdb492692157e6065a11007862b5feeb8666b6e12446eb8bd25ccdbbcc1b4f4 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 80870e8969b836f69cf7c1bafe5b671e415fb8838d51441efc661de5a81db7a7 eb981b85c9c0a947f6ddc3e2a876f0cab4cf6f4d61fabd8ca1eeb2452360eceb994e43cd531a266c5ec8848ba6ae351d +SERVER_HANDSHAKE_TRAFFIC_SECRET 80870e8969b836f69cf7c1bafe5b671e415fb8838d51441efc661de5a81db7a7 34471acb8ed0e49eb49098c159feb461221ee9a0c733e760f836262bcf5ce219a5b04eb09d2f8fd2e6d358091d231225 +CLIENT_TRAFFIC_SECRET_0 80870e8969b836f69cf7c1bafe5b671e415fb8838d51441efc661de5a81db7a7 2036616f72fe12bef169d628ca14f5db1dd0e409268ced86ef95f0c7ea6675874f67d7b74819a664be7a737e4e77729d +SERVER_TRAFFIC_SECRET_0 80870e8969b836f69cf7c1bafe5b671e415fb8838d51441efc661de5a81db7a7 4e9475020829602444e496c59923158c317ccf87325737a776ead800be8021e0d1f70d582235ad3beb93c657a840c9ff +CLIENT_HANDSHAKE_TRAFFIC_SECRET 80870e8969b836f69cf7c1bafe5b671e415fb8838d51441efc661de5a81db7a7 eb981b85c9c0a947f6ddc3e2a876f0cab4cf6f4d61fabd8ca1eeb2452360eceb994e43cd531a266c5ec8848ba6ae351d +SERVER_HANDSHAKE_TRAFFIC_SECRET 80870e8969b836f69cf7c1bafe5b671e415fb8838d51441efc661de5a81db7a7 34471acb8ed0e49eb49098c159feb461221ee9a0c733e760f836262bcf5ce219a5b04eb09d2f8fd2e6d358091d231225 +CLIENT_TRAFFIC_SECRET_0 80870e8969b836f69cf7c1bafe5b671e415fb8838d51441efc661de5a81db7a7 2036616f72fe12bef169d628ca14f5db1dd0e409268ced86ef95f0c7ea6675874f67d7b74819a664be7a737e4e77729d +SERVER_TRAFFIC_SECRET_0 80870e8969b836f69cf7c1bafe5b671e415fb8838d51441efc661de5a81db7a7 4e9475020829602444e496c59923158c317ccf87325737a776ead800be8021e0d1f70d582235ad3beb93c657a840c9ff +CLIENT_HANDSHAKE_TRAFFIC_SECRET 713f02617e1a87cd32e00c1a8e2ac43e360a95cd250bed4b3ac44361b173e028 4a0a298784173283ad63feb0b293ed0a21ecd91f7e84928dc7e7d252389c3ef95247509cef2d2b8935c700b325cfd0a3 +SERVER_HANDSHAKE_TRAFFIC_SECRET 713f02617e1a87cd32e00c1a8e2ac43e360a95cd250bed4b3ac44361b173e028 4440613b3f64635910e7de0be848b6ec0efaa670ad29c575d5dbf00e1537b3d01021275b55a5490011c1c35b60a973d3 +CLIENT_TRAFFIC_SECRET_0 713f02617e1a87cd32e00c1a8e2ac43e360a95cd250bed4b3ac44361b173e028 b963d4e69164123b84075d902d897b9c4a92e97baa645de3b360f9448e5fc5f2065a1461edbf04fba9e1763ea3731671 +SERVER_TRAFFIC_SECRET_0 713f02617e1a87cd32e00c1a8e2ac43e360a95cd250bed4b3ac44361b173e028 6f2846bd0b31054d1b7fa6084ace66665a7926b5a400e76b17bc312a806865cbf51abe94225932445e97217150d063db +CLIENT_HANDSHAKE_TRAFFIC_SECRET 713f02617e1a87cd32e00c1a8e2ac43e360a95cd250bed4b3ac44361b173e028 4a0a298784173283ad63feb0b293ed0a21ecd91f7e84928dc7e7d252389c3ef95247509cef2d2b8935c700b325cfd0a3 +SERVER_HANDSHAKE_TRAFFIC_SECRET 713f02617e1a87cd32e00c1a8e2ac43e360a95cd250bed4b3ac44361b173e028 4440613b3f64635910e7de0be848b6ec0efaa670ad29c575d5dbf00e1537b3d01021275b55a5490011c1c35b60a973d3 +CLIENT_TRAFFIC_SECRET_0 713f02617e1a87cd32e00c1a8e2ac43e360a95cd250bed4b3ac44361b173e028 b963d4e69164123b84075d902d897b9c4a92e97baa645de3b360f9448e5fc5f2065a1461edbf04fba9e1763ea3731671 +SERVER_TRAFFIC_SECRET_0 713f02617e1a87cd32e00c1a8e2ac43e360a95cd250bed4b3ac44361b173e028 6f2846bd0b31054d1b7fa6084ace66665a7926b5a400e76b17bc312a806865cbf51abe94225932445e97217150d063db +CLIENT_HANDSHAKE_TRAFFIC_SECRET a254def556797f5fc01d37a4c59516c05ee2e8df6117d6ecd9820daac25dff3b b25b9d54ec82544dc6e17203e199c9cdddcb810c05a2649e81a44959725f914751b4fce4894cb668fa918894682f5b40 +SERVER_HANDSHAKE_TRAFFIC_SECRET a254def556797f5fc01d37a4c59516c05ee2e8df6117d6ecd9820daac25dff3b 1808a1387c39b983118cd4a335de72db0957f9641af872cb0d5af677c0921344c20b58206eb1b33c2dde0b73d4389fc6 +CLIENT_TRAFFIC_SECRET_0 a254def556797f5fc01d37a4c59516c05ee2e8df6117d6ecd9820daac25dff3b 1d3d88dda3b82ec43687706a706990ccee3b8e33128bd16bdf9995811716753146120fd3e110050c32ee0fa4236af436 +SERVER_TRAFFIC_SECRET_0 a254def556797f5fc01d37a4c59516c05ee2e8df6117d6ecd9820daac25dff3b 0ea03bf469215fee6b7b9a8425ee6ead44d7bb01277b8fb403925ee38caa12c105c308e88770ded78bb7d47154afdd2a +CLIENT_HANDSHAKE_TRAFFIC_SECRET a254def556797f5fc01d37a4c59516c05ee2e8df6117d6ecd9820daac25dff3b b25b9d54ec82544dc6e17203e199c9cdddcb810c05a2649e81a44959725f914751b4fce4894cb668fa918894682f5b40 +SERVER_HANDSHAKE_TRAFFIC_SECRET a254def556797f5fc01d37a4c59516c05ee2e8df6117d6ecd9820daac25dff3b 1808a1387c39b983118cd4a335de72db0957f9641af872cb0d5af677c0921344c20b58206eb1b33c2dde0b73d4389fc6 +CLIENT_TRAFFIC_SECRET_0 a254def556797f5fc01d37a4c59516c05ee2e8df6117d6ecd9820daac25dff3b 1d3d88dda3b82ec43687706a706990ccee3b8e33128bd16bdf9995811716753146120fd3e110050c32ee0fa4236af436 +SERVER_TRAFFIC_SECRET_0 a254def556797f5fc01d37a4c59516c05ee2e8df6117d6ecd9820daac25dff3b 0ea03bf469215fee6b7b9a8425ee6ead44d7bb01277b8fb403925ee38caa12c105c308e88770ded78bb7d47154afdd2a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 887f12262cb2642872d3c6371e71a5257a497960fb9c594f236463423aefe639 938490716233cd705d4169b3232174274de167979f52b26bb8de83680950a75401bf155ebc25c3fc906f1f1a2d61ed9c +SERVER_HANDSHAKE_TRAFFIC_SECRET 887f12262cb2642872d3c6371e71a5257a497960fb9c594f236463423aefe639 5a5db26f7e517a97cfe75da34dd0e79ea8f4559639f52a65becd3c97fd492a0d160509cbdb46271fc4caa9521dfe7aef +CLIENT_TRAFFIC_SECRET_0 887f12262cb2642872d3c6371e71a5257a497960fb9c594f236463423aefe639 8df0702c0bbdb69454c20002a501cf3d7c75c411bf0aee4ac68883189d435b7eb83411925ba36c6bde576e9b8c25e9eb +SERVER_TRAFFIC_SECRET_0 887f12262cb2642872d3c6371e71a5257a497960fb9c594f236463423aefe639 5d3be056073b78881d1568c4127f40e549fdfd62876401e91ccafbf503d1e32bb07fb7b707375647cdfabeabc2f7c909 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 887f12262cb2642872d3c6371e71a5257a497960fb9c594f236463423aefe639 938490716233cd705d4169b3232174274de167979f52b26bb8de83680950a75401bf155ebc25c3fc906f1f1a2d61ed9c +SERVER_HANDSHAKE_TRAFFIC_SECRET 887f12262cb2642872d3c6371e71a5257a497960fb9c594f236463423aefe639 5a5db26f7e517a97cfe75da34dd0e79ea8f4559639f52a65becd3c97fd492a0d160509cbdb46271fc4caa9521dfe7aef +CLIENT_TRAFFIC_SECRET_0 887f12262cb2642872d3c6371e71a5257a497960fb9c594f236463423aefe639 8df0702c0bbdb69454c20002a501cf3d7c75c411bf0aee4ac68883189d435b7eb83411925ba36c6bde576e9b8c25e9eb +SERVER_TRAFFIC_SECRET_0 887f12262cb2642872d3c6371e71a5257a497960fb9c594f236463423aefe639 5d3be056073b78881d1568c4127f40e549fdfd62876401e91ccafbf503d1e32bb07fb7b707375647cdfabeabc2f7c909 +CLIENT_HANDSHAKE_TRAFFIC_SECRET faa90066830b27cf734cfa69cbda71db420b5625ec4a04f44a9d315930e35446 fb5b13ef0b57a06e8f5f18e303ce6799ae51547a546af06e6f3cd9be51c900b80955dda5c3cf0bac5431008189b261cc +SERVER_HANDSHAKE_TRAFFIC_SECRET faa90066830b27cf734cfa69cbda71db420b5625ec4a04f44a9d315930e35446 fa7bbbb34ceb7ac47f37dde754391b780e4bebb7fc85682a1f887894675a62b807abbf9e8c6a2569fa25fe898bff49ec +CLIENT_TRAFFIC_SECRET_0 faa90066830b27cf734cfa69cbda71db420b5625ec4a04f44a9d315930e35446 e2dd1ccd18e61b1f270e1b96ddc6be0ac4d4c5357124457dde217165ebf536aa2899fd1e21ad7ef47a97da6b9d9a07e7 +SERVER_TRAFFIC_SECRET_0 faa90066830b27cf734cfa69cbda71db420b5625ec4a04f44a9d315930e35446 8da30239a31c2dc7213779d0d9299ad0c14d4ce2f22271f602c9131f32227186cb127cfa39b956eb55d80119c0782ebe +CLIENT_HANDSHAKE_TRAFFIC_SECRET faa90066830b27cf734cfa69cbda71db420b5625ec4a04f44a9d315930e35446 fb5b13ef0b57a06e8f5f18e303ce6799ae51547a546af06e6f3cd9be51c900b80955dda5c3cf0bac5431008189b261cc +SERVER_HANDSHAKE_TRAFFIC_SECRET faa90066830b27cf734cfa69cbda71db420b5625ec4a04f44a9d315930e35446 fa7bbbb34ceb7ac47f37dde754391b780e4bebb7fc85682a1f887894675a62b807abbf9e8c6a2569fa25fe898bff49ec +CLIENT_TRAFFIC_SECRET_0 faa90066830b27cf734cfa69cbda71db420b5625ec4a04f44a9d315930e35446 e2dd1ccd18e61b1f270e1b96ddc6be0ac4d4c5357124457dde217165ebf536aa2899fd1e21ad7ef47a97da6b9d9a07e7 +SERVER_TRAFFIC_SECRET_0 faa90066830b27cf734cfa69cbda71db420b5625ec4a04f44a9d315930e35446 8da30239a31c2dc7213779d0d9299ad0c14d4ce2f22271f602c9131f32227186cb127cfa39b956eb55d80119c0782ebe +CLIENT_HANDSHAKE_TRAFFIC_SECRET d1e92d6ded8415501a55235f343485d0687ba7f53fdd65b506a84f41cb4cce0f f7964604332ec3b3a75b2983198e185c1dbfbe332e0364b277497b25afb02460078f24393faaf11a7817ac9087e5ae4f +SERVER_HANDSHAKE_TRAFFIC_SECRET d1e92d6ded8415501a55235f343485d0687ba7f53fdd65b506a84f41cb4cce0f 23fd2f2e31fe0e44cf82ef7b77da32f1f34a6f3bdc6202ea866ab27bf3e2d3bb4dbc35209cf9001f5581a0a574307c34 +CLIENT_TRAFFIC_SECRET_0 d1e92d6ded8415501a55235f343485d0687ba7f53fdd65b506a84f41cb4cce0f 06213b715fe96696305f41395d9dc38f1f2364c373352297cc074d90c707b8d450fd1b5269274ddd7c1345c7d2ca224e +SERVER_TRAFFIC_SECRET_0 d1e92d6ded8415501a55235f343485d0687ba7f53fdd65b506a84f41cb4cce0f 048bcf3fb648b793252d9355c2560c17ad5d302633685e06e8c1ac3556686822a808d790a226dbaf9db382d668151a7f +CLIENT_HANDSHAKE_TRAFFIC_SECRET d1e92d6ded8415501a55235f343485d0687ba7f53fdd65b506a84f41cb4cce0f f7964604332ec3b3a75b2983198e185c1dbfbe332e0364b277497b25afb02460078f24393faaf11a7817ac9087e5ae4f +SERVER_HANDSHAKE_TRAFFIC_SECRET d1e92d6ded8415501a55235f343485d0687ba7f53fdd65b506a84f41cb4cce0f 23fd2f2e31fe0e44cf82ef7b77da32f1f34a6f3bdc6202ea866ab27bf3e2d3bb4dbc35209cf9001f5581a0a574307c34 +CLIENT_TRAFFIC_SECRET_0 d1e92d6ded8415501a55235f343485d0687ba7f53fdd65b506a84f41cb4cce0f 06213b715fe96696305f41395d9dc38f1f2364c373352297cc074d90c707b8d450fd1b5269274ddd7c1345c7d2ca224e +SERVER_TRAFFIC_SECRET_0 d1e92d6ded8415501a55235f343485d0687ba7f53fdd65b506a84f41cb4cce0f 048bcf3fb648b793252d9355c2560c17ad5d302633685e06e8c1ac3556686822a808d790a226dbaf9db382d668151a7f +CLIENT_HANDSHAKE_TRAFFIC_SECRET c7b2fa5fcd20da941290365a33079c06118662c0d4a57b80e82f164357b77cc7 2c0783c288e2dc6796794e227755436ab9a4d842b5765c92375c9ef0d182368239d0f1e3a42377fad80a60a0943492ce +SERVER_HANDSHAKE_TRAFFIC_SECRET c7b2fa5fcd20da941290365a33079c06118662c0d4a57b80e82f164357b77cc7 73834a4ff3f8fb6a722962ec2de01cf31a168ed992a128138348f683b3683eafc7d9d6ba80990411845bff455f056fbf +CLIENT_TRAFFIC_SECRET_0 c7b2fa5fcd20da941290365a33079c06118662c0d4a57b80e82f164357b77cc7 42efd040fe425c33f4a4dcc4f81cee68d262a338d97c2d8f90d88d380bbb1d509e331e8262646d33d4d75d2404312534 +SERVER_TRAFFIC_SECRET_0 c7b2fa5fcd20da941290365a33079c06118662c0d4a57b80e82f164357b77cc7 c27bee12d2adfd7db453a6366a5d9ffeb6f5ef2673bb780a351fe640e08bd8874dfe275a57a4293e19dd527a440cce4a +CLIENT_HANDSHAKE_TRAFFIC_SECRET c7b2fa5fcd20da941290365a33079c06118662c0d4a57b80e82f164357b77cc7 2c0783c288e2dc6796794e227755436ab9a4d842b5765c92375c9ef0d182368239d0f1e3a42377fad80a60a0943492ce +SERVER_HANDSHAKE_TRAFFIC_SECRET c7b2fa5fcd20da941290365a33079c06118662c0d4a57b80e82f164357b77cc7 73834a4ff3f8fb6a722962ec2de01cf31a168ed992a128138348f683b3683eafc7d9d6ba80990411845bff455f056fbf +CLIENT_TRAFFIC_SECRET_0 c7b2fa5fcd20da941290365a33079c06118662c0d4a57b80e82f164357b77cc7 42efd040fe425c33f4a4dcc4f81cee68d262a338d97c2d8f90d88d380bbb1d509e331e8262646d33d4d75d2404312534 +SERVER_TRAFFIC_SECRET_0 c7b2fa5fcd20da941290365a33079c06118662c0d4a57b80e82f164357b77cc7 c27bee12d2adfd7db453a6366a5d9ffeb6f5ef2673bb780a351fe640e08bd8874dfe275a57a4293e19dd527a440cce4a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 78c7893962b314126d8a3547735edebe70dbbcfb6083749e8f4fea876eec08d5 a910072c2b4d59fcf82b17ee7cdeddb77b229e27542bf93b6c59d96085522c965cbc109f02e12adf8afda7b71569533f +SERVER_HANDSHAKE_TRAFFIC_SECRET 78c7893962b314126d8a3547735edebe70dbbcfb6083749e8f4fea876eec08d5 eaedfb8b76ad3115e9b9d1717d4664f83df46a348c52ecf3a7c877c6609fd9617e37d91d33799b2fea84636b23f3dd73 +CLIENT_TRAFFIC_SECRET_0 78c7893962b314126d8a3547735edebe70dbbcfb6083749e8f4fea876eec08d5 bf05620b9aae97923928af26187d4b56520d1b26f789ece988ee2ba7142f3f325acff783265dec435c02284ae34c7ef1 +SERVER_TRAFFIC_SECRET_0 78c7893962b314126d8a3547735edebe70dbbcfb6083749e8f4fea876eec08d5 251cd4168326657b49ee89db6d005e53878f6b44ef3601e0859f26ebf21b7eaaf320dff487eacf405ee1887fd02ce89b +CLIENT_HANDSHAKE_TRAFFIC_SECRET 78c7893962b314126d8a3547735edebe70dbbcfb6083749e8f4fea876eec08d5 a910072c2b4d59fcf82b17ee7cdeddb77b229e27542bf93b6c59d96085522c965cbc109f02e12adf8afda7b71569533f +SERVER_HANDSHAKE_TRAFFIC_SECRET 78c7893962b314126d8a3547735edebe70dbbcfb6083749e8f4fea876eec08d5 eaedfb8b76ad3115e9b9d1717d4664f83df46a348c52ecf3a7c877c6609fd9617e37d91d33799b2fea84636b23f3dd73 +CLIENT_TRAFFIC_SECRET_0 78c7893962b314126d8a3547735edebe70dbbcfb6083749e8f4fea876eec08d5 bf05620b9aae97923928af26187d4b56520d1b26f789ece988ee2ba7142f3f325acff783265dec435c02284ae34c7ef1 +SERVER_TRAFFIC_SECRET_0 78c7893962b314126d8a3547735edebe70dbbcfb6083749e8f4fea876eec08d5 251cd4168326657b49ee89db6d005e53878f6b44ef3601e0859f26ebf21b7eaaf320dff487eacf405ee1887fd02ce89b +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9a3a5b9194f32ec879ca559049c0120d8cf769f4b4edcf57e73fe4224be62a31 c890775f78d526eaf5731bab649788b49f08895f11a0e5397a4a3e865d77ab65e831ba07e6e86d6940579af05bf7f821 +SERVER_HANDSHAKE_TRAFFIC_SECRET 9a3a5b9194f32ec879ca559049c0120d8cf769f4b4edcf57e73fe4224be62a31 f2d4d22b00d419a9b141c465703099554bbc127792c9ec899617e96066ad98e48c02f7b87cd4c1f2ed57ff32239f4eea +CLIENT_TRAFFIC_SECRET_0 9a3a5b9194f32ec879ca559049c0120d8cf769f4b4edcf57e73fe4224be62a31 0b160759f6af0128269cdb8fed1c644f61b6f8147576b56f5f663f226eb96a90cc9751551582562c0b170564277357e5 +SERVER_TRAFFIC_SECRET_0 9a3a5b9194f32ec879ca559049c0120d8cf769f4b4edcf57e73fe4224be62a31 84e5857a5b176abe5b3320db28decfbcafed0f112b15d2c849926a324e64aa0be43338fd5c986c9e98719f3f6c90be89 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9a3a5b9194f32ec879ca559049c0120d8cf769f4b4edcf57e73fe4224be62a31 c890775f78d526eaf5731bab649788b49f08895f11a0e5397a4a3e865d77ab65e831ba07e6e86d6940579af05bf7f821 +SERVER_HANDSHAKE_TRAFFIC_SECRET 9a3a5b9194f32ec879ca559049c0120d8cf769f4b4edcf57e73fe4224be62a31 f2d4d22b00d419a9b141c465703099554bbc127792c9ec899617e96066ad98e48c02f7b87cd4c1f2ed57ff32239f4eea +CLIENT_TRAFFIC_SECRET_0 9a3a5b9194f32ec879ca559049c0120d8cf769f4b4edcf57e73fe4224be62a31 0b160759f6af0128269cdb8fed1c644f61b6f8147576b56f5f663f226eb96a90cc9751551582562c0b170564277357e5 +SERVER_TRAFFIC_SECRET_0 9a3a5b9194f32ec879ca559049c0120d8cf769f4b4edcf57e73fe4224be62a31 84e5857a5b176abe5b3320db28decfbcafed0f112b15d2c849926a324e64aa0be43338fd5c986c9e98719f3f6c90be89 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ed74ace34f5e63a1791e745227fc36e43bf91b0221550b1c1e3ee6ec275e31f9 93aa998a9aa5d03ad1a12e765f870d67b2b7f68edadf917ca4967f43a45216e4933a585e9800d0b21985af8264013f22 +SERVER_HANDSHAKE_TRAFFIC_SECRET ed74ace34f5e63a1791e745227fc36e43bf91b0221550b1c1e3ee6ec275e31f9 826b299f3c8fb850c6014be13e4727b7a4f9ea6965825b6c331fb1490ad1491bd5b54b9e8e50940faccf20cd44246375 +CLIENT_TRAFFIC_SECRET_0 ed74ace34f5e63a1791e745227fc36e43bf91b0221550b1c1e3ee6ec275e31f9 2ab95c74325028fda6bbbbc31f6500c67cc91f737596a01137bea12d2e14fc6f04a765148e659be194177227e6517568 +SERVER_TRAFFIC_SECRET_0 ed74ace34f5e63a1791e745227fc36e43bf91b0221550b1c1e3ee6ec275e31f9 52b11f037ed74bfa513a56394fa93a0111da3769007ebce05c53812477e5841081cb94860d31f851a47c99bf227b5553 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ed74ace34f5e63a1791e745227fc36e43bf91b0221550b1c1e3ee6ec275e31f9 93aa998a9aa5d03ad1a12e765f870d67b2b7f68edadf917ca4967f43a45216e4933a585e9800d0b21985af8264013f22 +SERVER_HANDSHAKE_TRAFFIC_SECRET ed74ace34f5e63a1791e745227fc36e43bf91b0221550b1c1e3ee6ec275e31f9 826b299f3c8fb850c6014be13e4727b7a4f9ea6965825b6c331fb1490ad1491bd5b54b9e8e50940faccf20cd44246375 +CLIENT_TRAFFIC_SECRET_0 ed74ace34f5e63a1791e745227fc36e43bf91b0221550b1c1e3ee6ec275e31f9 2ab95c74325028fda6bbbbc31f6500c67cc91f737596a01137bea12d2e14fc6f04a765148e659be194177227e6517568 +SERVER_TRAFFIC_SECRET_0 ed74ace34f5e63a1791e745227fc36e43bf91b0221550b1c1e3ee6ec275e31f9 52b11f037ed74bfa513a56394fa93a0111da3769007ebce05c53812477e5841081cb94860d31f851a47c99bf227b5553 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e462eacc1525a757c492e42483173b38c98872a91e3a9355b26eb874099c2256 c0a9429c11256986d09babff47aaf51c39f8a93c3bb081d57b393164a3f581340153966bbe2453d221777f740f7354a5 +SERVER_HANDSHAKE_TRAFFIC_SECRET e462eacc1525a757c492e42483173b38c98872a91e3a9355b26eb874099c2256 e47fde6bac52e152b5795a1267afc600cb18f66c8d04131b998753d28cb5b5b0d21de2531c2a241078ab81b1aef300f4 +CLIENT_TRAFFIC_SECRET_0 e462eacc1525a757c492e42483173b38c98872a91e3a9355b26eb874099c2256 5f7f49ed62ff1b1f0498a5c53fdad9e6e57ba1e71d5e69b2278ac5b84b285ad1ea0fc08770da1568e0e495712c8160ff +SERVER_TRAFFIC_SECRET_0 e462eacc1525a757c492e42483173b38c98872a91e3a9355b26eb874099c2256 1745f72947e2b93496844e05cc99a079832dfbc59ffbb9e0a1412e9adf3883fca63d7874602fa99c76a94fc2968bb3c1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e462eacc1525a757c492e42483173b38c98872a91e3a9355b26eb874099c2256 c0a9429c11256986d09babff47aaf51c39f8a93c3bb081d57b393164a3f581340153966bbe2453d221777f740f7354a5 +SERVER_HANDSHAKE_TRAFFIC_SECRET e462eacc1525a757c492e42483173b38c98872a91e3a9355b26eb874099c2256 e47fde6bac52e152b5795a1267afc600cb18f66c8d04131b998753d28cb5b5b0d21de2531c2a241078ab81b1aef300f4 +CLIENT_TRAFFIC_SECRET_0 e462eacc1525a757c492e42483173b38c98872a91e3a9355b26eb874099c2256 5f7f49ed62ff1b1f0498a5c53fdad9e6e57ba1e71d5e69b2278ac5b84b285ad1ea0fc08770da1568e0e495712c8160ff +SERVER_TRAFFIC_SECRET_0 e462eacc1525a757c492e42483173b38c98872a91e3a9355b26eb874099c2256 1745f72947e2b93496844e05cc99a079832dfbc59ffbb9e0a1412e9adf3883fca63d7874602fa99c76a94fc2968bb3c1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f4ca64c733cca635210c55544929a7e11fe6b3ebd6ce7cb93bde135327d1f0ad 2a3ab1f7dfacfb65f0a07850f0b19745987fc7be766664d4655703da4eaa5791649ee82774ab51e8094a39d8808c69fa +SERVER_HANDSHAKE_TRAFFIC_SECRET f4ca64c733cca635210c55544929a7e11fe6b3ebd6ce7cb93bde135327d1f0ad 315e06a26756ee18922f24cbb439e4952e7d38a340a461a768440713d5731f64b4faf00acf4b675ad6aa0ae09af0ce7b +CLIENT_TRAFFIC_SECRET_0 f4ca64c733cca635210c55544929a7e11fe6b3ebd6ce7cb93bde135327d1f0ad 2e23a469c86a12745c39d6596979eb61fb680fd9c06b2d7b22159516848215ac928f941c66a59b6936fad63923f42fcd +SERVER_TRAFFIC_SECRET_0 f4ca64c733cca635210c55544929a7e11fe6b3ebd6ce7cb93bde135327d1f0ad 1fa4bcac52e9cbc669557623d67a80c184ad58fd9a20319005ef0ca17ff6aae5ca4ffd50f84e4d75f3e44dcc2b5534ce +CLIENT_HANDSHAKE_TRAFFIC_SECRET f4ca64c733cca635210c55544929a7e11fe6b3ebd6ce7cb93bde135327d1f0ad 2a3ab1f7dfacfb65f0a07850f0b19745987fc7be766664d4655703da4eaa5791649ee82774ab51e8094a39d8808c69fa +SERVER_HANDSHAKE_TRAFFIC_SECRET f4ca64c733cca635210c55544929a7e11fe6b3ebd6ce7cb93bde135327d1f0ad 315e06a26756ee18922f24cbb439e4952e7d38a340a461a768440713d5731f64b4faf00acf4b675ad6aa0ae09af0ce7b +CLIENT_TRAFFIC_SECRET_0 f4ca64c733cca635210c55544929a7e11fe6b3ebd6ce7cb93bde135327d1f0ad 2e23a469c86a12745c39d6596979eb61fb680fd9c06b2d7b22159516848215ac928f941c66a59b6936fad63923f42fcd +SERVER_TRAFFIC_SECRET_0 f4ca64c733cca635210c55544929a7e11fe6b3ebd6ce7cb93bde135327d1f0ad 1fa4bcac52e9cbc669557623d67a80c184ad58fd9a20319005ef0ca17ff6aae5ca4ffd50f84e4d75f3e44dcc2b5534ce +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9b1d208fecfd868321069bf3db44b62b13887798ddea80a11104c96af492c2b0 ca93c10021a87475c45e43fa463088b55cff4530fb5f7c178ea6d6545ded8d4f6071e2a605483c848068d14778ba9daa +SERVER_HANDSHAKE_TRAFFIC_SECRET 9b1d208fecfd868321069bf3db44b62b13887798ddea80a11104c96af492c2b0 7acdd6cf0ac78c3ef4440d04beb1bd3463df7f4622e9a66c581011042c66cb587183f992498287d56836edfb365bf3d0 +CLIENT_TRAFFIC_SECRET_0 9b1d208fecfd868321069bf3db44b62b13887798ddea80a11104c96af492c2b0 53962535fc0d91859e8a31f5aa156a22e1362ab9973ae9f01b661ce172654e0bbcebd8ac5f36240f20c5e4c23ff194e3 +SERVER_TRAFFIC_SECRET_0 9b1d208fecfd868321069bf3db44b62b13887798ddea80a11104c96af492c2b0 f265c189acaec61bb31275f53b0ffd241579d41d23c212b442ed1def9636f1c69bf971b96528c2522e942bdc358a826d +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9b1d208fecfd868321069bf3db44b62b13887798ddea80a11104c96af492c2b0 ca93c10021a87475c45e43fa463088b55cff4530fb5f7c178ea6d6545ded8d4f6071e2a605483c848068d14778ba9daa +SERVER_HANDSHAKE_TRAFFIC_SECRET 9b1d208fecfd868321069bf3db44b62b13887798ddea80a11104c96af492c2b0 7acdd6cf0ac78c3ef4440d04beb1bd3463df7f4622e9a66c581011042c66cb587183f992498287d56836edfb365bf3d0 +CLIENT_TRAFFIC_SECRET_0 9b1d208fecfd868321069bf3db44b62b13887798ddea80a11104c96af492c2b0 53962535fc0d91859e8a31f5aa156a22e1362ab9973ae9f01b661ce172654e0bbcebd8ac5f36240f20c5e4c23ff194e3 +SERVER_TRAFFIC_SECRET_0 9b1d208fecfd868321069bf3db44b62b13887798ddea80a11104c96af492c2b0 f265c189acaec61bb31275f53b0ffd241579d41d23c212b442ed1def9636f1c69bf971b96528c2522e942bdc358a826d +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9ba0079869ac10dbc380083e259e514e482fed23c754091d65f880d3d06aa4ef 184689ca786e18e4b2a26dc8c2c9da92b4c15e270ddce2adaf467c0c27756ff1d3b01f3ad579d15b36d4e3de5ad45da5 +SERVER_HANDSHAKE_TRAFFIC_SECRET 9ba0079869ac10dbc380083e259e514e482fed23c754091d65f880d3d06aa4ef 05ab9dbc693bb070482d9e5d52b55e8442321bac3f4f18921f135938e3bb0204aa53ff72e9a9dd63903bc298704862f1 +CLIENT_TRAFFIC_SECRET_0 9ba0079869ac10dbc380083e259e514e482fed23c754091d65f880d3d06aa4ef 7a9d40557f0feb97c40560e2169faf9999caf950f097e165ec8457f8ea1a1f8a3c8c5536bfb25c50f13aac88b1c22e6d +SERVER_TRAFFIC_SECRET_0 9ba0079869ac10dbc380083e259e514e482fed23c754091d65f880d3d06aa4ef a26038dce07c777928d36db1728140cf5e2bb600eb1d0101dccddbdee2ea382d4c41f9109c69465d030bb239993c29f1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9ba0079869ac10dbc380083e259e514e482fed23c754091d65f880d3d06aa4ef 184689ca786e18e4b2a26dc8c2c9da92b4c15e270ddce2adaf467c0c27756ff1d3b01f3ad579d15b36d4e3de5ad45da5 +SERVER_HANDSHAKE_TRAFFIC_SECRET 9ba0079869ac10dbc380083e259e514e482fed23c754091d65f880d3d06aa4ef 05ab9dbc693bb070482d9e5d52b55e8442321bac3f4f18921f135938e3bb0204aa53ff72e9a9dd63903bc298704862f1 +CLIENT_TRAFFIC_SECRET_0 9ba0079869ac10dbc380083e259e514e482fed23c754091d65f880d3d06aa4ef 7a9d40557f0feb97c40560e2169faf9999caf950f097e165ec8457f8ea1a1f8a3c8c5536bfb25c50f13aac88b1c22e6d +SERVER_TRAFFIC_SECRET_0 9ba0079869ac10dbc380083e259e514e482fed23c754091d65f880d3d06aa4ef a26038dce07c777928d36db1728140cf5e2bb600eb1d0101dccddbdee2ea382d4c41f9109c69465d030bb239993c29f1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET be2f3582349219099fe2668ed6eefdc40ab85465d5b76dc2f3254d970dfcc364 a5d22d35f803882fc4d5d9888bf4e642560043c3537d9d3c430fa631458db80139e97cca47d87b4c8366bb617a58ca79 +SERVER_HANDSHAKE_TRAFFIC_SECRET be2f3582349219099fe2668ed6eefdc40ab85465d5b76dc2f3254d970dfcc364 1bf4a37e4e1b713c86cbfda48e4c5b4f9de03abca550d155770ff22c1751df4df66b4d82df09981946954ce3c05e75fa +CLIENT_TRAFFIC_SECRET_0 be2f3582349219099fe2668ed6eefdc40ab85465d5b76dc2f3254d970dfcc364 bff4fc46d8dcfb57dac3609a0bb7276735494e77ca25aa95aed50f446cbeab0714a2b97eb16785b14574b3a30c9cc3e3 +SERVER_TRAFFIC_SECRET_0 be2f3582349219099fe2668ed6eefdc40ab85465d5b76dc2f3254d970dfcc364 c505203c5e7d86883e44440c00ca901328088b794f4c8e0d77d4682cbf484f5893a1ee3c748cebb709a9f0dc037a2897 +CLIENT_HANDSHAKE_TRAFFIC_SECRET be2f3582349219099fe2668ed6eefdc40ab85465d5b76dc2f3254d970dfcc364 a5d22d35f803882fc4d5d9888bf4e642560043c3537d9d3c430fa631458db80139e97cca47d87b4c8366bb617a58ca79 +SERVER_HANDSHAKE_TRAFFIC_SECRET be2f3582349219099fe2668ed6eefdc40ab85465d5b76dc2f3254d970dfcc364 1bf4a37e4e1b713c86cbfda48e4c5b4f9de03abca550d155770ff22c1751df4df66b4d82df09981946954ce3c05e75fa +CLIENT_TRAFFIC_SECRET_0 be2f3582349219099fe2668ed6eefdc40ab85465d5b76dc2f3254d970dfcc364 bff4fc46d8dcfb57dac3609a0bb7276735494e77ca25aa95aed50f446cbeab0714a2b97eb16785b14574b3a30c9cc3e3 +SERVER_TRAFFIC_SECRET_0 be2f3582349219099fe2668ed6eefdc40ab85465d5b76dc2f3254d970dfcc364 c505203c5e7d86883e44440c00ca901328088b794f4c8e0d77d4682cbf484f5893a1ee3c748cebb709a9f0dc037a2897 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 090a90bd3e2a0cb8d9edf4f88b1bfb9fa167e64692e91b3946cbe3a3f886bc44 2ba31c01702d0b2f3b8f5856a6ebffbdf1dd3f6997b20fcc042610d65f2110660fa832c02666f5e25fd08d82b37098a6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 090a90bd3e2a0cb8d9edf4f88b1bfb9fa167e64692e91b3946cbe3a3f886bc44 894578bc4c7eece9936dfbc245da76cf9358c7c8f53298c3c2ffa19caf0428284053ee4d3626d578d1d37176c00b888a +CLIENT_TRAFFIC_SECRET_0 090a90bd3e2a0cb8d9edf4f88b1bfb9fa167e64692e91b3946cbe3a3f886bc44 33db95b50913036df957b7870469abef254621db3a79a943bce8ab70a4c74feefaa1d7635d8793e9549a461dec612ef1 +SERVER_TRAFFIC_SECRET_0 090a90bd3e2a0cb8d9edf4f88b1bfb9fa167e64692e91b3946cbe3a3f886bc44 45bf9ee095af051b139f75db61cb65016b97b0f9ef8de79a18bee75a32fa34c7a00147f7b3ecb9eeacb62d337d85caec +CLIENT_HANDSHAKE_TRAFFIC_SECRET 090a90bd3e2a0cb8d9edf4f88b1bfb9fa167e64692e91b3946cbe3a3f886bc44 2ba31c01702d0b2f3b8f5856a6ebffbdf1dd3f6997b20fcc042610d65f2110660fa832c02666f5e25fd08d82b37098a6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 090a90bd3e2a0cb8d9edf4f88b1bfb9fa167e64692e91b3946cbe3a3f886bc44 894578bc4c7eece9936dfbc245da76cf9358c7c8f53298c3c2ffa19caf0428284053ee4d3626d578d1d37176c00b888a +CLIENT_TRAFFIC_SECRET_0 090a90bd3e2a0cb8d9edf4f88b1bfb9fa167e64692e91b3946cbe3a3f886bc44 33db95b50913036df957b7870469abef254621db3a79a943bce8ab70a4c74feefaa1d7635d8793e9549a461dec612ef1 +SERVER_TRAFFIC_SECRET_0 090a90bd3e2a0cb8d9edf4f88b1bfb9fa167e64692e91b3946cbe3a3f886bc44 45bf9ee095af051b139f75db61cb65016b97b0f9ef8de79a18bee75a32fa34c7a00147f7b3ecb9eeacb62d337d85caec +CLIENT_HANDSHAKE_TRAFFIC_SECRET ffc822ffa98f220045c7a4864c00eeccf9c38384b0b8242dc7e25f5a229e4756 17f9458a48f8f186a6c22ba720beb57d51d88f2beaaa0d8ef379067f6e6c75b053143e1c94441f515cf109b86b17925b +SERVER_HANDSHAKE_TRAFFIC_SECRET ffc822ffa98f220045c7a4864c00eeccf9c38384b0b8242dc7e25f5a229e4756 330bcf33686f6a8ea482ed050916708b6a7d90a7c3d16b454ecb964199b16642b3ab01f07a1ae99637282eabbc6c2f09 +CLIENT_TRAFFIC_SECRET_0 ffc822ffa98f220045c7a4864c00eeccf9c38384b0b8242dc7e25f5a229e4756 1cb16ab44f3267210b09a766cd84147b86cb60e8e84c17f9c0df7168e4c985df2e6a9df9dc9cf4680fc46e075ab7258b +SERVER_TRAFFIC_SECRET_0 ffc822ffa98f220045c7a4864c00eeccf9c38384b0b8242dc7e25f5a229e4756 76722f78666ec3a33006184f6f885da38445bb4cb7589c534440dbff9f442b6379cacfa0f6c4c97f8b481116ed16928c +CLIENT_HANDSHAKE_TRAFFIC_SECRET ffc822ffa98f220045c7a4864c00eeccf9c38384b0b8242dc7e25f5a229e4756 17f9458a48f8f186a6c22ba720beb57d51d88f2beaaa0d8ef379067f6e6c75b053143e1c94441f515cf109b86b17925b +SERVER_HANDSHAKE_TRAFFIC_SECRET ffc822ffa98f220045c7a4864c00eeccf9c38384b0b8242dc7e25f5a229e4756 330bcf33686f6a8ea482ed050916708b6a7d90a7c3d16b454ecb964199b16642b3ab01f07a1ae99637282eabbc6c2f09 +CLIENT_TRAFFIC_SECRET_0 ffc822ffa98f220045c7a4864c00eeccf9c38384b0b8242dc7e25f5a229e4756 1cb16ab44f3267210b09a766cd84147b86cb60e8e84c17f9c0df7168e4c985df2e6a9df9dc9cf4680fc46e075ab7258b +SERVER_TRAFFIC_SECRET_0 ffc822ffa98f220045c7a4864c00eeccf9c38384b0b8242dc7e25f5a229e4756 76722f78666ec3a33006184f6f885da38445bb4cb7589c534440dbff9f442b6379cacfa0f6c4c97f8b481116ed16928c +CLIENT_HANDSHAKE_TRAFFIC_SECRET cdde53cc126670fa9a8f431d876446e77188e4e0373c1f0b3390d8c2a08f4ce6 82166c5167ce4692aae012d07fc21c2d424f6c3ebe9706136ad343ddaf28c068c5c9368ce7db07b1a916c2d9d1d64e67 +SERVER_HANDSHAKE_TRAFFIC_SECRET cdde53cc126670fa9a8f431d876446e77188e4e0373c1f0b3390d8c2a08f4ce6 e59fd13452dfe99856a5a33350eda839e7001045d4b2598ceeb9b0a7f349d2f928f7105fa79110e339a10fbcf52386d7 +CLIENT_TRAFFIC_SECRET_0 cdde53cc126670fa9a8f431d876446e77188e4e0373c1f0b3390d8c2a08f4ce6 c05fad3f316f1131e86c085be68ebc681a02652ebef059dabe7af7b037ab6fd4389605ad8aa29dfe1259d0895f8a7b9c +SERVER_TRAFFIC_SECRET_0 cdde53cc126670fa9a8f431d876446e77188e4e0373c1f0b3390d8c2a08f4ce6 37605acef7d71e39e04d1302bd65e51ef9ac29a4ea3028e7f415d7e6babb337284565fbb5a61515f4ac22189f9a1802b +CLIENT_HANDSHAKE_TRAFFIC_SECRET cdde53cc126670fa9a8f431d876446e77188e4e0373c1f0b3390d8c2a08f4ce6 82166c5167ce4692aae012d07fc21c2d424f6c3ebe9706136ad343ddaf28c068c5c9368ce7db07b1a916c2d9d1d64e67 +SERVER_HANDSHAKE_TRAFFIC_SECRET cdde53cc126670fa9a8f431d876446e77188e4e0373c1f0b3390d8c2a08f4ce6 e59fd13452dfe99856a5a33350eda839e7001045d4b2598ceeb9b0a7f349d2f928f7105fa79110e339a10fbcf52386d7 +CLIENT_TRAFFIC_SECRET_0 cdde53cc126670fa9a8f431d876446e77188e4e0373c1f0b3390d8c2a08f4ce6 c05fad3f316f1131e86c085be68ebc681a02652ebef059dabe7af7b037ab6fd4389605ad8aa29dfe1259d0895f8a7b9c +SERVER_TRAFFIC_SECRET_0 cdde53cc126670fa9a8f431d876446e77188e4e0373c1f0b3390d8c2a08f4ce6 37605acef7d71e39e04d1302bd65e51ef9ac29a4ea3028e7f415d7e6babb337284565fbb5a61515f4ac22189f9a1802b +CLIENT_HANDSHAKE_TRAFFIC_SECRET d8ae3aca89a5381c8e3a8aa56ee33230ea1e13ca1ee564d129315b71cf6b855e 815935c7af31feff53527a989cbc7ddfebef65de683a8dd71d5751a874912367cfdd03244b2e0f69c6b37c11d42e3c97 +SERVER_HANDSHAKE_TRAFFIC_SECRET d8ae3aca89a5381c8e3a8aa56ee33230ea1e13ca1ee564d129315b71cf6b855e deec68418b20b94968ca2ae43639b1fb73ffd1a716292b978b7196ce9e6cf3f07498ed2f4d25dfdcb69fd0b7308e679c +CLIENT_TRAFFIC_SECRET_0 d8ae3aca89a5381c8e3a8aa56ee33230ea1e13ca1ee564d129315b71cf6b855e 3ac15b325a025311f73bd62d8a3348ac6d6d9749484943fe6714b56220cd0609fcf4447580111d31650a6d5aa025ca5d +SERVER_TRAFFIC_SECRET_0 d8ae3aca89a5381c8e3a8aa56ee33230ea1e13ca1ee564d129315b71cf6b855e e0aa217eea94fef3ef7f8a66da12c1ce80bd7edba2c30a076f8dba7c9365003051bf4e96ffc91aa5ad455b5e177addd0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d8ae3aca89a5381c8e3a8aa56ee33230ea1e13ca1ee564d129315b71cf6b855e 815935c7af31feff53527a989cbc7ddfebef65de683a8dd71d5751a874912367cfdd03244b2e0f69c6b37c11d42e3c97 +SERVER_HANDSHAKE_TRAFFIC_SECRET d8ae3aca89a5381c8e3a8aa56ee33230ea1e13ca1ee564d129315b71cf6b855e deec68418b20b94968ca2ae43639b1fb73ffd1a716292b978b7196ce9e6cf3f07498ed2f4d25dfdcb69fd0b7308e679c +CLIENT_TRAFFIC_SECRET_0 d8ae3aca89a5381c8e3a8aa56ee33230ea1e13ca1ee564d129315b71cf6b855e 3ac15b325a025311f73bd62d8a3348ac6d6d9749484943fe6714b56220cd0609fcf4447580111d31650a6d5aa025ca5d +SERVER_TRAFFIC_SECRET_0 d8ae3aca89a5381c8e3a8aa56ee33230ea1e13ca1ee564d129315b71cf6b855e e0aa217eea94fef3ef7f8a66da12c1ce80bd7edba2c30a076f8dba7c9365003051bf4e96ffc91aa5ad455b5e177addd0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ba02c50f4362436b14bbccf0e93097ad167c5f96d48f2930469a57d823ed556e f16b29fd8a952624c15d08f7051c6fb3bcbde0d07194f962c16d85b5e315a75520882eef0a1044bfd1ddbb3063d2c5b0 +SERVER_HANDSHAKE_TRAFFIC_SECRET ba02c50f4362436b14bbccf0e93097ad167c5f96d48f2930469a57d823ed556e 955a974259875c31dfa83b944e5dface727d8410449a1a7a90645c37196200f0c1c7b9df698062bffcf23df83e3054c1 +CLIENT_TRAFFIC_SECRET_0 ba02c50f4362436b14bbccf0e93097ad167c5f96d48f2930469a57d823ed556e 8824061fb49544296a389f17de0765c08fd5f3135305e534bc985494b5342dea6ec9b5fc564a5d48ae2e2c8d96562ec5 +SERVER_TRAFFIC_SECRET_0 ba02c50f4362436b14bbccf0e93097ad167c5f96d48f2930469a57d823ed556e faea7a090dbbf23acff221a164f981c5f159885acf6aae6bcddac7170cdb192df794456d97e574de1cccef320ddd2c85 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ba02c50f4362436b14bbccf0e93097ad167c5f96d48f2930469a57d823ed556e f16b29fd8a952624c15d08f7051c6fb3bcbde0d07194f962c16d85b5e315a75520882eef0a1044bfd1ddbb3063d2c5b0 +SERVER_HANDSHAKE_TRAFFIC_SECRET ba02c50f4362436b14bbccf0e93097ad167c5f96d48f2930469a57d823ed556e 955a974259875c31dfa83b944e5dface727d8410449a1a7a90645c37196200f0c1c7b9df698062bffcf23df83e3054c1 +CLIENT_TRAFFIC_SECRET_0 ba02c50f4362436b14bbccf0e93097ad167c5f96d48f2930469a57d823ed556e 8824061fb49544296a389f17de0765c08fd5f3135305e534bc985494b5342dea6ec9b5fc564a5d48ae2e2c8d96562ec5 +SERVER_TRAFFIC_SECRET_0 ba02c50f4362436b14bbccf0e93097ad167c5f96d48f2930469a57d823ed556e faea7a090dbbf23acff221a164f981c5f159885acf6aae6bcddac7170cdb192df794456d97e574de1cccef320ddd2c85 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a9c57d09d0a6655dda99349b01c15ec6e30d1e3d05cffa00ed4c561d1ad1aafe 48b91853cf232a754a59e49434793f3d87f9ef450dae9e6c3ae98a1600977280b2f16218391e3454d910555a66ceff8a +SERVER_HANDSHAKE_TRAFFIC_SECRET a9c57d09d0a6655dda99349b01c15ec6e30d1e3d05cffa00ed4c561d1ad1aafe 419183f037c8852f6f4385acbaea4a4c9a638b0d3d91c4b728d0b512cafa97c2fb7ced4b1826d33193c6ff0bbfb580fe +CLIENT_TRAFFIC_SECRET_0 a9c57d09d0a6655dda99349b01c15ec6e30d1e3d05cffa00ed4c561d1ad1aafe 7d882d9248d1c2ffd5b430043c23f0d60b5b9bec860f5360f8a7b975d39c4b8aa90d0f9ac050a8a8e0871134d88e347a +SERVER_TRAFFIC_SECRET_0 a9c57d09d0a6655dda99349b01c15ec6e30d1e3d05cffa00ed4c561d1ad1aafe 660a3a454a133c6d3a3eb4980c0ca3d317b8be045e3e529d347938f571ed7b1054ad213157b56f973b9959c0ee3dbd8d +CLIENT_HANDSHAKE_TRAFFIC_SECRET a9c57d09d0a6655dda99349b01c15ec6e30d1e3d05cffa00ed4c561d1ad1aafe 48b91853cf232a754a59e49434793f3d87f9ef450dae9e6c3ae98a1600977280b2f16218391e3454d910555a66ceff8a +SERVER_HANDSHAKE_TRAFFIC_SECRET a9c57d09d0a6655dda99349b01c15ec6e30d1e3d05cffa00ed4c561d1ad1aafe 419183f037c8852f6f4385acbaea4a4c9a638b0d3d91c4b728d0b512cafa97c2fb7ced4b1826d33193c6ff0bbfb580fe +CLIENT_TRAFFIC_SECRET_0 a9c57d09d0a6655dda99349b01c15ec6e30d1e3d05cffa00ed4c561d1ad1aafe 7d882d9248d1c2ffd5b430043c23f0d60b5b9bec860f5360f8a7b975d39c4b8aa90d0f9ac050a8a8e0871134d88e347a +SERVER_TRAFFIC_SECRET_0 a9c57d09d0a6655dda99349b01c15ec6e30d1e3d05cffa00ed4c561d1ad1aafe 660a3a454a133c6d3a3eb4980c0ca3d317b8be045e3e529d347938f571ed7b1054ad213157b56f973b9959c0ee3dbd8d +CLIENT_HANDSHAKE_TRAFFIC_SECRET 67558c43fe763e5b8f7a5734560ae62f7935323efc136b5bcb3e485d95014a90 1b3d4cc4b0d849052f42c180e821fcfd276164ca9fd39abace214d254418da034b6e6001fe1fa68e40b75e6cd1110d04 +SERVER_HANDSHAKE_TRAFFIC_SECRET 67558c43fe763e5b8f7a5734560ae62f7935323efc136b5bcb3e485d95014a90 8976f8ad46cb045c935fdbcc5fd86008d6d298c5ab53c751b510671db5c5e07320d9aef04deedc5b03428c6654bb4448 +CLIENT_TRAFFIC_SECRET_0 67558c43fe763e5b8f7a5734560ae62f7935323efc136b5bcb3e485d95014a90 8b1c55c4a5cca9e4d2883cc03d0790d024e2d7ee9229bbf96ffda931e70ffcfe5acddb698d4c3fc69ce5493a9a995451 +SERVER_TRAFFIC_SECRET_0 67558c43fe763e5b8f7a5734560ae62f7935323efc136b5bcb3e485d95014a90 60cbf3a8ab056a54309d0383d1b6b0bfbef89eff9967a1bc8e44e6b3c4984df583a25fb5e360d85c1be2f1629bc05165 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 67558c43fe763e5b8f7a5734560ae62f7935323efc136b5bcb3e485d95014a90 1b3d4cc4b0d849052f42c180e821fcfd276164ca9fd39abace214d254418da034b6e6001fe1fa68e40b75e6cd1110d04 +SERVER_HANDSHAKE_TRAFFIC_SECRET 67558c43fe763e5b8f7a5734560ae62f7935323efc136b5bcb3e485d95014a90 8976f8ad46cb045c935fdbcc5fd86008d6d298c5ab53c751b510671db5c5e07320d9aef04deedc5b03428c6654bb4448 +CLIENT_TRAFFIC_SECRET_0 67558c43fe763e5b8f7a5734560ae62f7935323efc136b5bcb3e485d95014a90 8b1c55c4a5cca9e4d2883cc03d0790d024e2d7ee9229bbf96ffda931e70ffcfe5acddb698d4c3fc69ce5493a9a995451 +SERVER_TRAFFIC_SECRET_0 67558c43fe763e5b8f7a5734560ae62f7935323efc136b5bcb3e485d95014a90 60cbf3a8ab056a54309d0383d1b6b0bfbef89eff9967a1bc8e44e6b3c4984df583a25fb5e360d85c1be2f1629bc05165 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6073f0b42d001c63cc2c2a25c50d98e1f1d899b316a2418e788d5f0404daa2ef 84963899293efeddd4f0d460b96139c53851b37331cb61d936a47f1eb5fad6782b0aafcfdcb74d138cf4923a2367fe96 +SERVER_HANDSHAKE_TRAFFIC_SECRET 6073f0b42d001c63cc2c2a25c50d98e1f1d899b316a2418e788d5f0404daa2ef c2d634d9a2e5eef0ba6c419f75bb3e7e9633005d21ee4607eedbd4ba8588cdc84ed808f3244aae4998846186273d8b7a +CLIENT_TRAFFIC_SECRET_0 6073f0b42d001c63cc2c2a25c50d98e1f1d899b316a2418e788d5f0404daa2ef 7133c1e668878439248cea70f139fa567c6d01785a4d3af5dc128cd6fc9e3505719cc3ca03aadd1b134e6c27f997239d +SERVER_TRAFFIC_SECRET_0 6073f0b42d001c63cc2c2a25c50d98e1f1d899b316a2418e788d5f0404daa2ef e0010c083df6a11a4452674a4095aae4a1bd9336920f4a2fc17119e4cad285934bcca17a03d0e9ec27508a6b9bd6d4ae +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6073f0b42d001c63cc2c2a25c50d98e1f1d899b316a2418e788d5f0404daa2ef 84963899293efeddd4f0d460b96139c53851b37331cb61d936a47f1eb5fad6782b0aafcfdcb74d138cf4923a2367fe96 +SERVER_HANDSHAKE_TRAFFIC_SECRET 6073f0b42d001c63cc2c2a25c50d98e1f1d899b316a2418e788d5f0404daa2ef c2d634d9a2e5eef0ba6c419f75bb3e7e9633005d21ee4607eedbd4ba8588cdc84ed808f3244aae4998846186273d8b7a +CLIENT_TRAFFIC_SECRET_0 6073f0b42d001c63cc2c2a25c50d98e1f1d899b316a2418e788d5f0404daa2ef 7133c1e668878439248cea70f139fa567c6d01785a4d3af5dc128cd6fc9e3505719cc3ca03aadd1b134e6c27f997239d +SERVER_TRAFFIC_SECRET_0 6073f0b42d001c63cc2c2a25c50d98e1f1d899b316a2418e788d5f0404daa2ef e0010c083df6a11a4452674a4095aae4a1bd9336920f4a2fc17119e4cad285934bcca17a03d0e9ec27508a6b9bd6d4ae +CLIENT_HANDSHAKE_TRAFFIC_SECRET 973d560c7f2a1f75fb43adc33d2dcc7158f102abdd569e74a3ffe5834b923788 cd6e3eb1237821093d60b04a9af50cc414f574600b6ed461f785e774b082e3f0377143921c649786c204dac6c85f4286 +SERVER_HANDSHAKE_TRAFFIC_SECRET 973d560c7f2a1f75fb43adc33d2dcc7158f102abdd569e74a3ffe5834b923788 b958a33ebe19fb432b8c87bc4e8ea462aeacc7ccef3b9ac79138a2135b7c10019d563adfc50dcaf7c48e2ce73d90fbfd +CLIENT_TRAFFIC_SECRET_0 973d560c7f2a1f75fb43adc33d2dcc7158f102abdd569e74a3ffe5834b923788 e66d6707203c75b8218d14d84c63ecf7d1496c2b66d9a4c66d70d7c67f2fcf1b43c15031eb2073a59cdc9e360ce5b4a9 +SERVER_TRAFFIC_SECRET_0 973d560c7f2a1f75fb43adc33d2dcc7158f102abdd569e74a3ffe5834b923788 4b2db7eec6af690fa6b1c9b31bbd7ed2c9213d7c4fd3be9a86536db50e86be3903145358fc4562c63ff8a1843d1feb8c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 973d560c7f2a1f75fb43adc33d2dcc7158f102abdd569e74a3ffe5834b923788 cd6e3eb1237821093d60b04a9af50cc414f574600b6ed461f785e774b082e3f0377143921c649786c204dac6c85f4286 +SERVER_HANDSHAKE_TRAFFIC_SECRET 973d560c7f2a1f75fb43adc33d2dcc7158f102abdd569e74a3ffe5834b923788 b958a33ebe19fb432b8c87bc4e8ea462aeacc7ccef3b9ac79138a2135b7c10019d563adfc50dcaf7c48e2ce73d90fbfd +CLIENT_TRAFFIC_SECRET_0 973d560c7f2a1f75fb43adc33d2dcc7158f102abdd569e74a3ffe5834b923788 e66d6707203c75b8218d14d84c63ecf7d1496c2b66d9a4c66d70d7c67f2fcf1b43c15031eb2073a59cdc9e360ce5b4a9 +SERVER_TRAFFIC_SECRET_0 973d560c7f2a1f75fb43adc33d2dcc7158f102abdd569e74a3ffe5834b923788 4b2db7eec6af690fa6b1c9b31bbd7ed2c9213d7c4fd3be9a86536db50e86be3903145358fc4562c63ff8a1843d1feb8c +CLIENT_HANDSHAKE_TRAFFIC_SECRET fe12726aeca7ac09d16dbbf1f4669ff80dad811e13f07c158c876da543fb4f9e f2f5d25ac3b3e1724fae294a61ad1f3aedac6cc41eecc17afd484e0164d60816cbb950cf8925a511d19fbc72a5565824 +SERVER_HANDSHAKE_TRAFFIC_SECRET fe12726aeca7ac09d16dbbf1f4669ff80dad811e13f07c158c876da543fb4f9e 780cbe40caadb8e3651b737bfe647665805541814acb73577560e83676803b03de8ad52aa7fa723a2de7026f48df52de +CLIENT_TRAFFIC_SECRET_0 fe12726aeca7ac09d16dbbf1f4669ff80dad811e13f07c158c876da543fb4f9e 41cace056fd037f8918b9a1dde7f45ce383abadd9f92bfbef05758c59a1a1ae89581105d0b46e7eac2cec10284c13e9f +SERVER_TRAFFIC_SECRET_0 fe12726aeca7ac09d16dbbf1f4669ff80dad811e13f07c158c876da543fb4f9e 16d89a8890f4acfbfb18802a55b68420fa98f5dd98ffd4d5fbe569c83a18c95509e67dd8f28b6d830503e8b28bdd5b18 +CLIENT_HANDSHAKE_TRAFFIC_SECRET fe12726aeca7ac09d16dbbf1f4669ff80dad811e13f07c158c876da543fb4f9e f2f5d25ac3b3e1724fae294a61ad1f3aedac6cc41eecc17afd484e0164d60816cbb950cf8925a511d19fbc72a5565824 +SERVER_HANDSHAKE_TRAFFIC_SECRET fe12726aeca7ac09d16dbbf1f4669ff80dad811e13f07c158c876da543fb4f9e 780cbe40caadb8e3651b737bfe647665805541814acb73577560e83676803b03de8ad52aa7fa723a2de7026f48df52de +CLIENT_TRAFFIC_SECRET_0 fe12726aeca7ac09d16dbbf1f4669ff80dad811e13f07c158c876da543fb4f9e 41cace056fd037f8918b9a1dde7f45ce383abadd9f92bfbef05758c59a1a1ae89581105d0b46e7eac2cec10284c13e9f +SERVER_TRAFFIC_SECRET_0 fe12726aeca7ac09d16dbbf1f4669ff80dad811e13f07c158c876da543fb4f9e 16d89a8890f4acfbfb18802a55b68420fa98f5dd98ffd4d5fbe569c83a18c95509e67dd8f28b6d830503e8b28bdd5b18 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c03f0fcfd1781d277e3a8118b114a50cfa29a93b1d919ebccb183efac4973aec cc9f1346c78765ae5e97971485bd447a39b494561f140490b31b0d6aa745cc3e69f37ab1f920b596f243e8530864a33d +SERVER_HANDSHAKE_TRAFFIC_SECRET c03f0fcfd1781d277e3a8118b114a50cfa29a93b1d919ebccb183efac4973aec 09d5df1364549a053a5c640cc0a0383b5f616ac723e36f7cb4a9b6d72beb7dfe6a10ecf7a7c5d1b9d051472aa9206195 +CLIENT_TRAFFIC_SECRET_0 c03f0fcfd1781d277e3a8118b114a50cfa29a93b1d919ebccb183efac4973aec 7a574b9db94c75a01c2f25983532d8e155301a6f37b6de4c1990b3deeeed2756fe4c1f509579b77174a3da425fe72456 +SERVER_TRAFFIC_SECRET_0 c03f0fcfd1781d277e3a8118b114a50cfa29a93b1d919ebccb183efac4973aec 458ae8768290dd2f9caa77e17bfed4055c64cb5d44ce975b65dd458303e4df7ee55c39729fc3010c8b6b84023c0822df +CLIENT_HANDSHAKE_TRAFFIC_SECRET c03f0fcfd1781d277e3a8118b114a50cfa29a93b1d919ebccb183efac4973aec cc9f1346c78765ae5e97971485bd447a39b494561f140490b31b0d6aa745cc3e69f37ab1f920b596f243e8530864a33d +SERVER_HANDSHAKE_TRAFFIC_SECRET c03f0fcfd1781d277e3a8118b114a50cfa29a93b1d919ebccb183efac4973aec 09d5df1364549a053a5c640cc0a0383b5f616ac723e36f7cb4a9b6d72beb7dfe6a10ecf7a7c5d1b9d051472aa9206195 +CLIENT_TRAFFIC_SECRET_0 c03f0fcfd1781d277e3a8118b114a50cfa29a93b1d919ebccb183efac4973aec 7a574b9db94c75a01c2f25983532d8e155301a6f37b6de4c1990b3deeeed2756fe4c1f509579b77174a3da425fe72456 +SERVER_TRAFFIC_SECRET_0 c03f0fcfd1781d277e3a8118b114a50cfa29a93b1d919ebccb183efac4973aec 458ae8768290dd2f9caa77e17bfed4055c64cb5d44ce975b65dd458303e4df7ee55c39729fc3010c8b6b84023c0822df +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9b1530dc4ac656e620b1878aa0195085dda88a8462affdbf3327008236dd03ba aed13c8b4a420a1918773768562e4b94e123624f866f7c1922d2a7d8d576670d5a14784a189e676220c01a06582cd37c +SERVER_HANDSHAKE_TRAFFIC_SECRET 9b1530dc4ac656e620b1878aa0195085dda88a8462affdbf3327008236dd03ba 3565b598a2ce2044fdeda5d9b2666216c6d6ee0e86e7dcba1347c6161c51d9fa8e6febfce883c8e954d2826004283aa9 +CLIENT_TRAFFIC_SECRET_0 9b1530dc4ac656e620b1878aa0195085dda88a8462affdbf3327008236dd03ba 2d52add1aaf0f002220eb2632a2cd1fa85c471f535306a2d97a5ac6829264be2986ec46aab473098a12f40256b5b6bf5 +SERVER_TRAFFIC_SECRET_0 9b1530dc4ac656e620b1878aa0195085dda88a8462affdbf3327008236dd03ba c3b05bcccfd925d2c350a3adcceb864b1b5935c5a278ad352713169eeba13d3f954510f5ceaec4102de61f838d5f5965 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9b1530dc4ac656e620b1878aa0195085dda88a8462affdbf3327008236dd03ba aed13c8b4a420a1918773768562e4b94e123624f866f7c1922d2a7d8d576670d5a14784a189e676220c01a06582cd37c +SERVER_HANDSHAKE_TRAFFIC_SECRET 9b1530dc4ac656e620b1878aa0195085dda88a8462affdbf3327008236dd03ba 3565b598a2ce2044fdeda5d9b2666216c6d6ee0e86e7dcba1347c6161c51d9fa8e6febfce883c8e954d2826004283aa9 +CLIENT_TRAFFIC_SECRET_0 9b1530dc4ac656e620b1878aa0195085dda88a8462affdbf3327008236dd03ba 2d52add1aaf0f002220eb2632a2cd1fa85c471f535306a2d97a5ac6829264be2986ec46aab473098a12f40256b5b6bf5 +SERVER_TRAFFIC_SECRET_0 9b1530dc4ac656e620b1878aa0195085dda88a8462affdbf3327008236dd03ba c3b05bcccfd925d2c350a3adcceb864b1b5935c5a278ad352713169eeba13d3f954510f5ceaec4102de61f838d5f5965 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ad3ecb3cfca7825a7208ca3d7544d05bfda8d5e7a160e7aa21affee7b319a3a5 f65f20de5b28e1aa595caffecf20ab2673d7625e857ef9c7b04ea4092f5c5d5862bfb0c6ced435339d2b6a9612888bbe +SERVER_HANDSHAKE_TRAFFIC_SECRET ad3ecb3cfca7825a7208ca3d7544d05bfda8d5e7a160e7aa21affee7b319a3a5 fde5cafde1ebd3166485952496e38c5736e60cfe49d8fd0a99274f38b4e9932a6b67cdfb46bbc35e90a4350e14b8b12e +CLIENT_HANDSHAKE_TRAFFIC_SECRET ad3ecb3cfca7825a7208ca3d7544d05bfda8d5e7a160e7aa21affee7b319a3a5 f65f20de5b28e1aa595caffecf20ab2673d7625e857ef9c7b04ea4092f5c5d5862bfb0c6ced435339d2b6a9612888bbe +SERVER_HANDSHAKE_TRAFFIC_SECRET ad3ecb3cfca7825a7208ca3d7544d05bfda8d5e7a160e7aa21affee7b319a3a5 fde5cafde1ebd3166485952496e38c5736e60cfe49d8fd0a99274f38b4e9932a6b67cdfb46bbc35e90a4350e14b8b12e +SERVER_TRAFFIC_SECRET_0 ad3ecb3cfca7825a7208ca3d7544d05bfda8d5e7a160e7aa21affee7b319a3a5 03aa435235342c4848f1cf19635808b70c04736b7698449dbc5301462df0151265396344201d4c3ed737558ca8de8da4 +CLIENT_HANDSHAKE_TRAFFIC_SECRET cc68eed19523da3b20b26c374b6c2f19d7f6a0c74d223cace8e3fd4be87721f4 86556de07176c81e4ff442688d6d597d7b7ae7ff8d96cab8955b760121e31dce4922996342e0d3022fd9d2fc61c139a7 +SERVER_HANDSHAKE_TRAFFIC_SECRET cc68eed19523da3b20b26c374b6c2f19d7f6a0c74d223cace8e3fd4be87721f4 08269521d0b71108a36e95de954a1fc9c29992eab4d296f1fbda86db17690088fa108f8c1db57fc609021c38b1802940 +CLIENT_HANDSHAKE_TRAFFIC_SECRET cc68eed19523da3b20b26c374b6c2f19d7f6a0c74d223cace8e3fd4be87721f4 86556de07176c81e4ff442688d6d597d7b7ae7ff8d96cab8955b760121e31dce4922996342e0d3022fd9d2fc61c139a7 +SERVER_HANDSHAKE_TRAFFIC_SECRET cc68eed19523da3b20b26c374b6c2f19d7f6a0c74d223cace8e3fd4be87721f4 08269521d0b71108a36e95de954a1fc9c29992eab4d296f1fbda86db17690088fa108f8c1db57fc609021c38b1802940 +SERVER_TRAFFIC_SECRET_0 cc68eed19523da3b20b26c374b6c2f19d7f6a0c74d223cace8e3fd4be87721f4 0067a44b6c89d8264d7923caaaa06957c3edb421b3ee36bd827a5dcffaf8bee5b0586a87a5909352d5a3557b932f4af7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 44cb4a7519472bf7d735cbca8ac4e055d1418780b37ed64eeb788cd0b24cf3e2 19b638474dbb2452fcccde70e150c77102cccf815b932df96e298af90033e4de6710f2a9c5897cfd4f0662300fa56c8b +SERVER_HANDSHAKE_TRAFFIC_SECRET 44cb4a7519472bf7d735cbca8ac4e055d1418780b37ed64eeb788cd0b24cf3e2 08e0d31ed7faf5387dc62b66f3768d980355d0b1c18d791bd7025659b3884b3c48b0c83b9a589716097cb0aa29c9c5d9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 44cb4a7519472bf7d735cbca8ac4e055d1418780b37ed64eeb788cd0b24cf3e2 19b638474dbb2452fcccde70e150c77102cccf815b932df96e298af90033e4de6710f2a9c5897cfd4f0662300fa56c8b +SERVER_HANDSHAKE_TRAFFIC_SECRET 44cb4a7519472bf7d735cbca8ac4e055d1418780b37ed64eeb788cd0b24cf3e2 08e0d31ed7faf5387dc62b66f3768d980355d0b1c18d791bd7025659b3884b3c48b0c83b9a589716097cb0aa29c9c5d9 +SERVER_TRAFFIC_SECRET_0 44cb4a7519472bf7d735cbca8ac4e055d1418780b37ed64eeb788cd0b24cf3e2 13e2962d160183dce65a03ea392b1562b25c74831dfb07ebaa1d473455f87681c3447676f48d7c69e646c8d61b638586 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 7d2b99d1b3bdf84e0d47ccb0d682e2be45bca58e395d33f68913d6cb04c9f9e1 f241dd500c9061c8e28548c6b48c827e904609759b41e682dcd7bc88f1a694132d4ad93f71c1bb39315e8fd0c5b40f81 +SERVER_HANDSHAKE_TRAFFIC_SECRET 7d2b99d1b3bdf84e0d47ccb0d682e2be45bca58e395d33f68913d6cb04c9f9e1 30d024c0074207eb574a2cdb5fc4a57863f29d9fb96d87145613e1f2282136948c64bfc98931247ec5d6fbff9505c13c +CLIENT_TRAFFIC_SECRET_0 7d2b99d1b3bdf84e0d47ccb0d682e2be45bca58e395d33f68913d6cb04c9f9e1 fd5a4fe326019f1776bfc05178948ce23cccdf4238543bdedaadd8a78c6f00c02a5495fad6c4d961486744b7097077d9 +SERVER_TRAFFIC_SECRET_0 7d2b99d1b3bdf84e0d47ccb0d682e2be45bca58e395d33f68913d6cb04c9f9e1 7a88fddcf0f2fb90daa3058dd481bcd9fe9d1860552fa8c22267a20cd02f35c4f8f15db5dae6684ea5de385c07e1bf09 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 7d2b99d1b3bdf84e0d47ccb0d682e2be45bca58e395d33f68913d6cb04c9f9e1 f241dd500c9061c8e28548c6b48c827e904609759b41e682dcd7bc88f1a694132d4ad93f71c1bb39315e8fd0c5b40f81 +SERVER_HANDSHAKE_TRAFFIC_SECRET 7d2b99d1b3bdf84e0d47ccb0d682e2be45bca58e395d33f68913d6cb04c9f9e1 30d024c0074207eb574a2cdb5fc4a57863f29d9fb96d87145613e1f2282136948c64bfc98931247ec5d6fbff9505c13c +CLIENT_TRAFFIC_SECRET_0 7d2b99d1b3bdf84e0d47ccb0d682e2be45bca58e395d33f68913d6cb04c9f9e1 fd5a4fe326019f1776bfc05178948ce23cccdf4238543bdedaadd8a78c6f00c02a5495fad6c4d961486744b7097077d9 +SERVER_TRAFFIC_SECRET_0 7d2b99d1b3bdf84e0d47ccb0d682e2be45bca58e395d33f68913d6cb04c9f9e1 7a88fddcf0f2fb90daa3058dd481bcd9fe9d1860552fa8c22267a20cd02f35c4f8f15db5dae6684ea5de385c07e1bf09 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 51ef0c272920ab3817a576d83c5111e98a8ac6ea328c9c1b681294e35fb2409b d389cda48dbe893f48509371609a47446fe72470bec8409886a552246a4015365d99fde02d14d9bfa559095019a031a6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 51ef0c272920ab3817a576d83c5111e98a8ac6ea328c9c1b681294e35fb2409b 1f2601c3054b1d39acadb04e88c79596a45a979de795f2a523d0f41e04f614acb0c6b40d347175004d1873a8a74746b8 +CLIENT_TRAFFIC_SECRET_0 51ef0c272920ab3817a576d83c5111e98a8ac6ea328c9c1b681294e35fb2409b 4b7abc8abf223a16f0bf1524de0d79845b529d6debf210c1fc93cea7b12d48d13156679ce14fb9fde78eb10c86c6efac +SERVER_TRAFFIC_SECRET_0 51ef0c272920ab3817a576d83c5111e98a8ac6ea328c9c1b681294e35fb2409b 85a48178e8ba7b02ce754c09fd8bc1c66b20879ce4fa17417f54f1e706b93ac0d859027664ea3a43536200271103fc83 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 51ef0c272920ab3817a576d83c5111e98a8ac6ea328c9c1b681294e35fb2409b d389cda48dbe893f48509371609a47446fe72470bec8409886a552246a4015365d99fde02d14d9bfa559095019a031a6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 51ef0c272920ab3817a576d83c5111e98a8ac6ea328c9c1b681294e35fb2409b 1f2601c3054b1d39acadb04e88c79596a45a979de795f2a523d0f41e04f614acb0c6b40d347175004d1873a8a74746b8 +CLIENT_TRAFFIC_SECRET_0 51ef0c272920ab3817a576d83c5111e98a8ac6ea328c9c1b681294e35fb2409b 4b7abc8abf223a16f0bf1524de0d79845b529d6debf210c1fc93cea7b12d48d13156679ce14fb9fde78eb10c86c6efac +SERVER_TRAFFIC_SECRET_0 51ef0c272920ab3817a576d83c5111e98a8ac6ea328c9c1b681294e35fb2409b 85a48178e8ba7b02ce754c09fd8bc1c66b20879ce4fa17417f54f1e706b93ac0d859027664ea3a43536200271103fc83 +CLIENT_HANDSHAKE_TRAFFIC_SECRET fa1147270a1e5b71125e6b05f6d76d38d64a3cd181dc383f25cc2b6bb2493737 cb551a0016572ea9dd5bcdd5c76d884812029705a02ab1b0fa5dc7fdfe798fd482b6398026079bd9a67d77b25cc9b1ef +SERVER_HANDSHAKE_TRAFFIC_SECRET fa1147270a1e5b71125e6b05f6d76d38d64a3cd181dc383f25cc2b6bb2493737 d3602d266e692d95ffa9b53fbcd72dc8e948f2a25d13fb3469e13236140086e18c3c16168081d729f593ba67341efb88 +CLIENT_TRAFFIC_SECRET_0 fa1147270a1e5b71125e6b05f6d76d38d64a3cd181dc383f25cc2b6bb2493737 f798fbca24985dbb266413db98a17d45d10bb4f71f2dbac470986310523e9fd84f2ebff9cb3515e6cf488c3954e96779 +SERVER_TRAFFIC_SECRET_0 fa1147270a1e5b71125e6b05f6d76d38d64a3cd181dc383f25cc2b6bb2493737 9107300994994b33117b07c177e7c94c87df28363441c4cc25f66b2f969173c02f43a0a96fb6525ec885470ad050177f +CLIENT_HANDSHAKE_TRAFFIC_SECRET fa1147270a1e5b71125e6b05f6d76d38d64a3cd181dc383f25cc2b6bb2493737 cb551a0016572ea9dd5bcdd5c76d884812029705a02ab1b0fa5dc7fdfe798fd482b6398026079bd9a67d77b25cc9b1ef +SERVER_HANDSHAKE_TRAFFIC_SECRET fa1147270a1e5b71125e6b05f6d76d38d64a3cd181dc383f25cc2b6bb2493737 d3602d266e692d95ffa9b53fbcd72dc8e948f2a25d13fb3469e13236140086e18c3c16168081d729f593ba67341efb88 +CLIENT_TRAFFIC_SECRET_0 fa1147270a1e5b71125e6b05f6d76d38d64a3cd181dc383f25cc2b6bb2493737 f798fbca24985dbb266413db98a17d45d10bb4f71f2dbac470986310523e9fd84f2ebff9cb3515e6cf488c3954e96779 +SERVER_TRAFFIC_SECRET_0 fa1147270a1e5b71125e6b05f6d76d38d64a3cd181dc383f25cc2b6bb2493737 9107300994994b33117b07c177e7c94c87df28363441c4cc25f66b2f969173c02f43a0a96fb6525ec885470ad050177f +CLIENT_HANDSHAKE_TRAFFIC_SECRET 927747cac30fa194723dffabc744d6932305f77af16e1259eac2d1b0653bb1b4 617979684557032a0c3973277491d487b9464cbf3dd21376231172326bca77ca6ffe0e734780e40a3b4f28eac81400e0 +SERVER_HANDSHAKE_TRAFFIC_SECRET 927747cac30fa194723dffabc744d6932305f77af16e1259eac2d1b0653bb1b4 6f5445b51b0b12aa89ce9283667688038339555f82865fa0d49cb983cf302c0b491b3aa3209fc050b975ca8bb6c1c2e5 +CLIENT_TRAFFIC_SECRET_0 927747cac30fa194723dffabc744d6932305f77af16e1259eac2d1b0653bb1b4 7854d9f703be8077c0710e229ebf2fa9478e5794c4349aa3d64107f025d2728222cb0d874448c5e61a7b600fbccea51c +SERVER_TRAFFIC_SECRET_0 927747cac30fa194723dffabc744d6932305f77af16e1259eac2d1b0653bb1b4 d1283edf6c4003c0d058b1d306d9a6e032f780e184915b95b37d8eee139fea74a6a62bc240451a468790009c3ce9941a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 927747cac30fa194723dffabc744d6932305f77af16e1259eac2d1b0653bb1b4 617979684557032a0c3973277491d487b9464cbf3dd21376231172326bca77ca6ffe0e734780e40a3b4f28eac81400e0 +SERVER_HANDSHAKE_TRAFFIC_SECRET 927747cac30fa194723dffabc744d6932305f77af16e1259eac2d1b0653bb1b4 6f5445b51b0b12aa89ce9283667688038339555f82865fa0d49cb983cf302c0b491b3aa3209fc050b975ca8bb6c1c2e5 +CLIENT_TRAFFIC_SECRET_0 927747cac30fa194723dffabc744d6932305f77af16e1259eac2d1b0653bb1b4 7854d9f703be8077c0710e229ebf2fa9478e5794c4349aa3d64107f025d2728222cb0d874448c5e61a7b600fbccea51c +SERVER_TRAFFIC_SECRET_0 927747cac30fa194723dffabc744d6932305f77af16e1259eac2d1b0653bb1b4 d1283edf6c4003c0d058b1d306d9a6e032f780e184915b95b37d8eee139fea74a6a62bc240451a468790009c3ce9941a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 54c823d6eacaf6939f666ef087f072193442937473526f350789e0d7cef6d104 192eb57ecb16479423b8b2e718b43928a719a2b19711bc7740666405166e82bb62015a321e5f03310a73ed3a28dc87f7 +SERVER_HANDSHAKE_TRAFFIC_SECRET 54c823d6eacaf6939f666ef087f072193442937473526f350789e0d7cef6d104 fd4f13f87771ad4f31378699d49447bb16b972a6e3008566fa85973603c7e519067fdc9e961d6c436d47e93dd24c603b +CLIENT_TRAFFIC_SECRET_0 54c823d6eacaf6939f666ef087f072193442937473526f350789e0d7cef6d104 324f0099c012b8296ce823d3c579b267ba88d47c320b24250bd1e4503740440be123cc2d1a3fc0800a85ccdc07534e01 +SERVER_TRAFFIC_SECRET_0 54c823d6eacaf6939f666ef087f072193442937473526f350789e0d7cef6d104 88a5dcc118f3ba3a33328b5758c1b0bc6b56c22a5f271bc46fc180865e67339fdaa5f810edab4b6e5a086e8d240a97ef +CLIENT_HANDSHAKE_TRAFFIC_SECRET 54c823d6eacaf6939f666ef087f072193442937473526f350789e0d7cef6d104 192eb57ecb16479423b8b2e718b43928a719a2b19711bc7740666405166e82bb62015a321e5f03310a73ed3a28dc87f7 +SERVER_HANDSHAKE_TRAFFIC_SECRET 54c823d6eacaf6939f666ef087f072193442937473526f350789e0d7cef6d104 fd4f13f87771ad4f31378699d49447bb16b972a6e3008566fa85973603c7e519067fdc9e961d6c436d47e93dd24c603b +CLIENT_TRAFFIC_SECRET_0 54c823d6eacaf6939f666ef087f072193442937473526f350789e0d7cef6d104 324f0099c012b8296ce823d3c579b267ba88d47c320b24250bd1e4503740440be123cc2d1a3fc0800a85ccdc07534e01 +SERVER_TRAFFIC_SECRET_0 54c823d6eacaf6939f666ef087f072193442937473526f350789e0d7cef6d104 88a5dcc118f3ba3a33328b5758c1b0bc6b56c22a5f271bc46fc180865e67339fdaa5f810edab4b6e5a086e8d240a97ef +CLIENT_HANDSHAKE_TRAFFIC_SECRET 694366fafeea6c8e450a595096d5dcc135ef543f67ea3e1078db9659a006e495 461aa30fb8cb0b345a59139002f199cda28a20c2f20b749169e34c09af5aaf58e1b1c030d03e9d92dff9bfd0d8317813 +SERVER_HANDSHAKE_TRAFFIC_SECRET 694366fafeea6c8e450a595096d5dcc135ef543f67ea3e1078db9659a006e495 687a63b84ba802a3e2cad93366fac6a5d1505cb0b0e62bf15df6f89e76fb7fe830c8e2f3bd99673fae5b0bb87ab11f55 +CLIENT_TRAFFIC_SECRET_0 694366fafeea6c8e450a595096d5dcc135ef543f67ea3e1078db9659a006e495 ac3c9310f0c4cc3a045539f79819b32b588dd55c6bc573e1d120eccc225e6661a98b4627c98133783a6cf1a9d91d7053 +SERVER_TRAFFIC_SECRET_0 694366fafeea6c8e450a595096d5dcc135ef543f67ea3e1078db9659a006e495 d5b819255337e4be9959bc4757f3693845d2a808d2888df1349eb7747ce3f77fee8b5df530a7008fb6ec5e118a891abf +CLIENT_HANDSHAKE_TRAFFIC_SECRET 694366fafeea6c8e450a595096d5dcc135ef543f67ea3e1078db9659a006e495 461aa30fb8cb0b345a59139002f199cda28a20c2f20b749169e34c09af5aaf58e1b1c030d03e9d92dff9bfd0d8317813 +SERVER_HANDSHAKE_TRAFFIC_SECRET 694366fafeea6c8e450a595096d5dcc135ef543f67ea3e1078db9659a006e495 687a63b84ba802a3e2cad93366fac6a5d1505cb0b0e62bf15df6f89e76fb7fe830c8e2f3bd99673fae5b0bb87ab11f55 +CLIENT_TRAFFIC_SECRET_0 694366fafeea6c8e450a595096d5dcc135ef543f67ea3e1078db9659a006e495 ac3c9310f0c4cc3a045539f79819b32b588dd55c6bc573e1d120eccc225e6661a98b4627c98133783a6cf1a9d91d7053 +SERVER_TRAFFIC_SECRET_0 694366fafeea6c8e450a595096d5dcc135ef543f67ea3e1078db9659a006e495 d5b819255337e4be9959bc4757f3693845d2a808d2888df1349eb7747ce3f77fee8b5df530a7008fb6ec5e118a891abf +CLIENT_HANDSHAKE_TRAFFIC_SECRET d204076c08a9abbe215c835ad4645c5ee470f5b8b54b58503ae5e411111a73a5 5da52699392c18af425d1b9328a15a82f9a379eb1800d2b26f0cdbacaedee03614bee23bc7634a6baa0ff5533f3a53fd +SERVER_HANDSHAKE_TRAFFIC_SECRET d204076c08a9abbe215c835ad4645c5ee470f5b8b54b58503ae5e411111a73a5 4b0fa586f3e4f3a168fd4171eda2d67caf478f906433303eeab160f28b175d6cbc76cff4eb3dae0ef476898c432ac785 +CLIENT_TRAFFIC_SECRET_0 d204076c08a9abbe215c835ad4645c5ee470f5b8b54b58503ae5e411111a73a5 fc762dcc8b53aaf24a255bdede78096e2dd29d895e185f57136f4d4094fda593e5d12b2dd9de74bf0c2a96bac48a775d +SERVER_TRAFFIC_SECRET_0 d204076c08a9abbe215c835ad4645c5ee470f5b8b54b58503ae5e411111a73a5 4ca9dc1e9d791b42694c4300f04b576c3e6bf2f4d5a96e8b8a5b57caa26f298032762ce936620f357c03b8d24c1a4be1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d204076c08a9abbe215c835ad4645c5ee470f5b8b54b58503ae5e411111a73a5 5da52699392c18af425d1b9328a15a82f9a379eb1800d2b26f0cdbacaedee03614bee23bc7634a6baa0ff5533f3a53fd +SERVER_HANDSHAKE_TRAFFIC_SECRET d204076c08a9abbe215c835ad4645c5ee470f5b8b54b58503ae5e411111a73a5 4b0fa586f3e4f3a168fd4171eda2d67caf478f906433303eeab160f28b175d6cbc76cff4eb3dae0ef476898c432ac785 +CLIENT_TRAFFIC_SECRET_0 d204076c08a9abbe215c835ad4645c5ee470f5b8b54b58503ae5e411111a73a5 fc762dcc8b53aaf24a255bdede78096e2dd29d895e185f57136f4d4094fda593e5d12b2dd9de74bf0c2a96bac48a775d +SERVER_TRAFFIC_SECRET_0 d204076c08a9abbe215c835ad4645c5ee470f5b8b54b58503ae5e411111a73a5 4ca9dc1e9d791b42694c4300f04b576c3e6bf2f4d5a96e8b8a5b57caa26f298032762ce936620f357c03b8d24c1a4be1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6b59c1a31ee0ced273e17294a314e7c8f293dc2e73786c3de66a1f63a23019b4 a294111d7df0aec752c4f89f8a21a7740065cbbab3b884081e9ca7b8e21e46be14e1e39fe22f891163f4f4519618fdf9 +SERVER_HANDSHAKE_TRAFFIC_SECRET 6b59c1a31ee0ced273e17294a314e7c8f293dc2e73786c3de66a1f63a23019b4 456a0dcc09ca6b94729b4c76d184a7c73674bdb1c1e83190b43eed8b5dcbf0ae12c9bc143726e2ff44723a0949a028fa +CLIENT_TRAFFIC_SECRET_0 6b59c1a31ee0ced273e17294a314e7c8f293dc2e73786c3de66a1f63a23019b4 fb5daccf78cad6e31b205d2012a8f662c564219ae4ab2b2ec9e0eb574e574aadc61571310779806208ec9e4fedfb793b +SERVER_TRAFFIC_SECRET_0 6b59c1a31ee0ced273e17294a314e7c8f293dc2e73786c3de66a1f63a23019b4 77110376c241fb79ac4f2b2600d154a24be0b847a3dfb26a60f28589751d992c8a5d919e2e722d2ba0652cea07474bd2 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6b59c1a31ee0ced273e17294a314e7c8f293dc2e73786c3de66a1f63a23019b4 a294111d7df0aec752c4f89f8a21a7740065cbbab3b884081e9ca7b8e21e46be14e1e39fe22f891163f4f4519618fdf9 +SERVER_HANDSHAKE_TRAFFIC_SECRET 6b59c1a31ee0ced273e17294a314e7c8f293dc2e73786c3de66a1f63a23019b4 456a0dcc09ca6b94729b4c76d184a7c73674bdb1c1e83190b43eed8b5dcbf0ae12c9bc143726e2ff44723a0949a028fa +CLIENT_TRAFFIC_SECRET_0 6b59c1a31ee0ced273e17294a314e7c8f293dc2e73786c3de66a1f63a23019b4 fb5daccf78cad6e31b205d2012a8f662c564219ae4ab2b2ec9e0eb574e574aadc61571310779806208ec9e4fedfb793b +SERVER_TRAFFIC_SECRET_0 6b59c1a31ee0ced273e17294a314e7c8f293dc2e73786c3de66a1f63a23019b4 77110376c241fb79ac4f2b2600d154a24be0b847a3dfb26a60f28589751d992c8a5d919e2e722d2ba0652cea07474bd2 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e770a8fbfb1c2cc17dceb27a83a7d01207652733c900868827b76f593145ecc9 acc57883e0647ce1f02d9ab903a08b8a0a0eb98fc80fa871a959d072739cb6a2662683beae183544fc6c1719c09e5b32 +SERVER_HANDSHAKE_TRAFFIC_SECRET e770a8fbfb1c2cc17dceb27a83a7d01207652733c900868827b76f593145ecc9 963ba8052a98b90b1a53597729b17e5858b88415c607ab8090911bb11963ed114e66580d838bdd1cfa71c805ae104ede +CLIENT_TRAFFIC_SECRET_0 e770a8fbfb1c2cc17dceb27a83a7d01207652733c900868827b76f593145ecc9 5dbfc0d07e01c9162682d9dd0b39afd18cefbbf681e4ae22a260d9be8cb1e75faee9d2ae58ed1de6d6ae3fc54dff3dd7 +SERVER_TRAFFIC_SECRET_0 e770a8fbfb1c2cc17dceb27a83a7d01207652733c900868827b76f593145ecc9 4a9acf73755d7ec805632da3aaa9701f8c6c659ab006e5d5b301ae48e2aa360054fd888254450e2d98ca3b1d1f832c35 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e770a8fbfb1c2cc17dceb27a83a7d01207652733c900868827b76f593145ecc9 acc57883e0647ce1f02d9ab903a08b8a0a0eb98fc80fa871a959d072739cb6a2662683beae183544fc6c1719c09e5b32 +SERVER_HANDSHAKE_TRAFFIC_SECRET e770a8fbfb1c2cc17dceb27a83a7d01207652733c900868827b76f593145ecc9 963ba8052a98b90b1a53597729b17e5858b88415c607ab8090911bb11963ed114e66580d838bdd1cfa71c805ae104ede +CLIENT_TRAFFIC_SECRET_0 e770a8fbfb1c2cc17dceb27a83a7d01207652733c900868827b76f593145ecc9 5dbfc0d07e01c9162682d9dd0b39afd18cefbbf681e4ae22a260d9be8cb1e75faee9d2ae58ed1de6d6ae3fc54dff3dd7 +SERVER_TRAFFIC_SECRET_0 e770a8fbfb1c2cc17dceb27a83a7d01207652733c900868827b76f593145ecc9 4a9acf73755d7ec805632da3aaa9701f8c6c659ab006e5d5b301ae48e2aa360054fd888254450e2d98ca3b1d1f832c35 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 95f6124910cabddac7a7b72bd1f7fa34c9d043836e2902239f90eb41dbef312f b4d75da25ddcadde5a43a2c7c9a69e3783445d5e47b04d4ad4bd253fbe48eeb326617d3981b72981b0be49d51effb159 +SERVER_HANDSHAKE_TRAFFIC_SECRET 95f6124910cabddac7a7b72bd1f7fa34c9d043836e2902239f90eb41dbef312f c76cbd5c9cda042f07ac4cc18f5bf11c99b209b9d6101dbca5fba39bbd0042a216ec15f2171dced1d88377860693c087 +CLIENT_TRAFFIC_SECRET_0 95f6124910cabddac7a7b72bd1f7fa34c9d043836e2902239f90eb41dbef312f cf9e7cb55462287426962446de376aa1693273283754408c466c95c45589bdbeb12ab35d98e108f2ff1f68776040ac49 +SERVER_TRAFFIC_SECRET_0 95f6124910cabddac7a7b72bd1f7fa34c9d043836e2902239f90eb41dbef312f 1ebfa12feebc03970ec79fd73f1ac689f7d21d7637805daa42290acc6049e1264ee9f2ff1a1cb3ad6fa980d35cddc7bd +CLIENT_HANDSHAKE_TRAFFIC_SECRET 091f9e7a694c2d8b78413467bf5c9867d9be544fd47dde7bef1b3caf4cc0de97 bf0f8fd04cec47e62c8eb3d49cb2397ae49a4cbd9484c2b5d9ac24cb61176a8d11541aa855b5128296509d10ba6d0650 +SERVER_HANDSHAKE_TRAFFIC_SECRET 091f9e7a694c2d8b78413467bf5c9867d9be544fd47dde7bef1b3caf4cc0de97 3cc0960f0db56e3b2ec8b013ee2ed20052fdb7418bce0800be755578655dc976b25f7692f40b5a6921632a5412ec79fb +CLIENT_TRAFFIC_SECRET_0 091f9e7a694c2d8b78413467bf5c9867d9be544fd47dde7bef1b3caf4cc0de97 77bd44c55967ce589b98c5e16e7bed4c5a2e1c0ba800494bb8c0830eb9715282cf4e3eb1a9e406a2adc627fbc8f3f780 +SERVER_TRAFFIC_SECRET_0 091f9e7a694c2d8b78413467bf5c9867d9be544fd47dde7bef1b3caf4cc0de97 cad28bcb7588c0a2596e1283e324f21b7e3246dc8bba912933ab1a4c1f66af7acb8d78b059c4dfb609732f31652b1042 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 061b41d9f586f1785a5ac07e9a95ea3d261a141ad189522b40ce3a5cdfd342e0 891e4c3b5b5ba2c368a3d193d5c35e15f368b2711c5d68908d40eb0d13b07d037257a6b6eff6b951aff58025308d1a0f +SERVER_HANDSHAKE_TRAFFIC_SECRET 061b41d9f586f1785a5ac07e9a95ea3d261a141ad189522b40ce3a5cdfd342e0 67463d0d6d3fe4d0ecabf2a9ca6ce9c1826dcae8cd838a0ea27f8ac84fb1d1bee5e33b03fb90b06d762f7451919c8b22 +CLIENT_TRAFFIC_SECRET_0 061b41d9f586f1785a5ac07e9a95ea3d261a141ad189522b40ce3a5cdfd342e0 f6f7dace23830298619e261d5e8c11608b8b8632d6946758abb05c1bc519694e5e607414061d94cf674c58381d6378b1 +SERVER_TRAFFIC_SECRET_0 061b41d9f586f1785a5ac07e9a95ea3d261a141ad189522b40ce3a5cdfd342e0 bb3e9cee06f75f02c273a3d7273d05ffd6ad168a085edf9b4c7ff9c27f7f78056d57d7669956007cf3543749186f6dc7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET dc72926c02923acb0f87c6bba895d9a7d2360b9dcb930b7e477994ee0dbee429 df7711e23dd7b3a148d66833126eb53b7e5e04585234e06edf46926f04877be0fb6045b8fbf6cf26c96facb4e17ad71c +SERVER_HANDSHAKE_TRAFFIC_SECRET dc72926c02923acb0f87c6bba895d9a7d2360b9dcb930b7e477994ee0dbee429 f7b58d3b54d16414065fb8b77e7b5f7e93419213c11531aa35c40e9d34dd0c80f56062a5f9fb06a867f552b943f027da +CLIENT_TRAFFIC_SECRET_0 dc72926c02923acb0f87c6bba895d9a7d2360b9dcb930b7e477994ee0dbee429 4d44405a8a621f1501d82c8cf6ad9eab4858cc8bf726e6d9a1af052955c8ca48b615843206635a83b0af747ed0870c30 +SERVER_TRAFFIC_SECRET_0 dc72926c02923acb0f87c6bba895d9a7d2360b9dcb930b7e477994ee0dbee429 ff7d5a30fc29980312c5a8cdb6bd999e83db8cf719a2e249c13823e478a6b6bef87926676ed11e689c25c884426aeed9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e514f4c118ace6bf5782d6e7cc177cdaa90352a2db8a2b4419bf6834ad52f92b 0971d546091daeeeb29e6c65af666e8312ff8900e43a2da8a1b4a489177aee433fbc7ba57aeb54763d606a3a52ea34e6 +SERVER_HANDSHAKE_TRAFFIC_SECRET e514f4c118ace6bf5782d6e7cc177cdaa90352a2db8a2b4419bf6834ad52f92b 42456797446a5cc1e5be2b286d5463f4f30d51b9cbb8bf1329a2f9521a8b55b83de96d6ade6fe557d1e2d636040612a3 +CLIENT_TRAFFIC_SECRET_0 e514f4c118ace6bf5782d6e7cc177cdaa90352a2db8a2b4419bf6834ad52f92b 795254829f33940d10df73b00ab245af1b463ec9ff9bbbb747789b03a3015838d8e1915796f1375c32db124d01c885fb +SERVER_TRAFFIC_SECRET_0 e514f4c118ace6bf5782d6e7cc177cdaa90352a2db8a2b4419bf6834ad52f92b f45ec02b1114c430aff5a2ae8b04b214c0cbee0eef9ada2086efa8924010919c368c5e4d75ebc03c8f39568004345a21 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e514f4c118ace6bf5782d6e7cc177cdaa90352a2db8a2b4419bf6834ad52f92b 0971d546091daeeeb29e6c65af666e8312ff8900e43a2da8a1b4a489177aee433fbc7ba57aeb54763d606a3a52ea34e6 +SERVER_HANDSHAKE_TRAFFIC_SECRET e514f4c118ace6bf5782d6e7cc177cdaa90352a2db8a2b4419bf6834ad52f92b 42456797446a5cc1e5be2b286d5463f4f30d51b9cbb8bf1329a2f9521a8b55b83de96d6ade6fe557d1e2d636040612a3 +CLIENT_TRAFFIC_SECRET_0 e514f4c118ace6bf5782d6e7cc177cdaa90352a2db8a2b4419bf6834ad52f92b 795254829f33940d10df73b00ab245af1b463ec9ff9bbbb747789b03a3015838d8e1915796f1375c32db124d01c885fb +SERVER_TRAFFIC_SECRET_0 e514f4c118ace6bf5782d6e7cc177cdaa90352a2db8a2b4419bf6834ad52f92b f45ec02b1114c430aff5a2ae8b04b214c0cbee0eef9ada2086efa8924010919c368c5e4d75ebc03c8f39568004345a21 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0741eb62ccf4aa7d322b1e0daafa2d5e29153ca84ab5ba0d4cc9150e2549d0c7 1479e4f12688c9625378afff6d558320da5a0f9856708ebcdd153a96b9acd7b5142b88c94e3c314dcb372672dfd224f8 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0741eb62ccf4aa7d322b1e0daafa2d5e29153ca84ab5ba0d4cc9150e2549d0c7 ce8b074f1ba1b06cecc193f68cb8158f4295ac0d40848746a31cc279ad9f25d74767d229523be8d7783bd36170255fcb +CLIENT_TRAFFIC_SECRET_0 0741eb62ccf4aa7d322b1e0daafa2d5e29153ca84ab5ba0d4cc9150e2549d0c7 3363309cd45fe2db8437bb1365d8dc8ff479610765dbf60179170c662c9df91e3d667974f5a976266f9448b6e0d89d9f +SERVER_TRAFFIC_SECRET_0 0741eb62ccf4aa7d322b1e0daafa2d5e29153ca84ab5ba0d4cc9150e2549d0c7 d0adeb4e48ce8f0bac4315d79cb049cc3deb1188166688a2c26f365ffa536706413ffb0dfc65b24945451db3d8d4d66c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0741eb62ccf4aa7d322b1e0daafa2d5e29153ca84ab5ba0d4cc9150e2549d0c7 1479e4f12688c9625378afff6d558320da5a0f9856708ebcdd153a96b9acd7b5142b88c94e3c314dcb372672dfd224f8 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0741eb62ccf4aa7d322b1e0daafa2d5e29153ca84ab5ba0d4cc9150e2549d0c7 ce8b074f1ba1b06cecc193f68cb8158f4295ac0d40848746a31cc279ad9f25d74767d229523be8d7783bd36170255fcb +CLIENT_TRAFFIC_SECRET_0 0741eb62ccf4aa7d322b1e0daafa2d5e29153ca84ab5ba0d4cc9150e2549d0c7 3363309cd45fe2db8437bb1365d8dc8ff479610765dbf60179170c662c9df91e3d667974f5a976266f9448b6e0d89d9f +SERVER_TRAFFIC_SECRET_0 0741eb62ccf4aa7d322b1e0daafa2d5e29153ca84ab5ba0d4cc9150e2549d0c7 d0adeb4e48ce8f0bac4315d79cb049cc3deb1188166688a2c26f365ffa536706413ffb0dfc65b24945451db3d8d4d66c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 941f58e9a5dd664da69d43a23f1b325893e72eb14a47104b3a805b9c36a8afcb c556f8e58f7f395e789c9a723ddfa9f127d87e62473eb9439bfdd396470735d537fc717d2a82f9f03a26da7f082a1b5c +SERVER_HANDSHAKE_TRAFFIC_SECRET 941f58e9a5dd664da69d43a23f1b325893e72eb14a47104b3a805b9c36a8afcb e3e6e71520d9ad00cd95a9d5bcb8c5756c2e61d6fbe9a79b4d493aa5fa62af0e31ff32a40a016c2f7c3a60348e751a49 +CLIENT_TRAFFIC_SECRET_0 941f58e9a5dd664da69d43a23f1b325893e72eb14a47104b3a805b9c36a8afcb 0d78d7e75f0d1c0f03f8766fc862c674f6db869da99f41755b4a2dd7164b9e8f2feff58767965eca9e1e243dcc14d7b9 +SERVER_TRAFFIC_SECRET_0 941f58e9a5dd664da69d43a23f1b325893e72eb14a47104b3a805b9c36a8afcb d429bd8132a4c8d567cedc4b02b2baf87633e457138f33c71e1d9fc4e0bfd3ebaffaaeb8d7c86c44a1750de5a324db4c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 78bb2a4c16b3c9d0afc4fba318dd3c282db57299e663cbae5b27e91007f07f5f 00c0ce404ac8df53633d3ac6d1223468061b58e13870e2bcd57482eec6c95bb7c25bc0bd90645f1ba1f408899d6f7c3a +SERVER_HANDSHAKE_TRAFFIC_SECRET 78bb2a4c16b3c9d0afc4fba318dd3c282db57299e663cbae5b27e91007f07f5f f162b86b5030b1c1e109e8d0bf20188473f0ba550ed29d9994ba6e16f8a4f273647fdf6f5dd8988909d882dd984d284e +CLIENT_TRAFFIC_SECRET_0 78bb2a4c16b3c9d0afc4fba318dd3c282db57299e663cbae5b27e91007f07f5f 8cc8e9d4188333c950077df743c5fc5fa566a71166ff09a0242d6db11de7feb8f02434cfc1244311f09828b5542d429c +SERVER_TRAFFIC_SECRET_0 78bb2a4c16b3c9d0afc4fba318dd3c282db57299e663cbae5b27e91007f07f5f 29e4fa2439d9bab1a26f91b07be1f03342fd4ec798c007434e6d2a8359525089fe77c5b282f12c4528696db87b744c96 +CLIENT_HANDSHAKE_TRAFFIC_SECRET aeb4a94b1ddbd18f8e1226d867d70ec433847d32cce249cfeb7fbec0e221a1c3 16496efa24a24d97e50c5f56a8b8301705c5e8ad9e76597d34257d771f027d94c636699cfc3efffcb2216e39aed5267a +SERVER_HANDSHAKE_TRAFFIC_SECRET aeb4a94b1ddbd18f8e1226d867d70ec433847d32cce249cfeb7fbec0e221a1c3 5fd5c96d3effe9914085b2a8affccf4704b696134478be570f8b24b2529fbad21332117134b188e52dd7521627543735 +SERVER_TRAFFIC_SECRET_0 aeb4a94b1ddbd18f8e1226d867d70ec433847d32cce249cfeb7fbec0e221a1c3 535b770e3d31023c3ea88e25c360f51573ddd1ca3247eef02714f4c4488735a2cd438c347148c5c2763a953adce16576 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 81fc40c5d70ed5dce3dcceae8ecd802e7105866f671b44ead194b0a40e20a472 49c23f1ae73cbeed83982e7a1697eb4c9e516ec235f282d2f8d9b89b9cec9b6b94836b3aebdf28b6d32eaa92257a4c8c +SERVER_HANDSHAKE_TRAFFIC_SECRET 81fc40c5d70ed5dce3dcceae8ecd802e7105866f671b44ead194b0a40e20a472 62fd06cb381d1c5267a826006a15039bff8538d1e0318a7036f68202743b98a7f57bd823210e67bf1acacbf8013f31dd +SERVER_TRAFFIC_SECRET_0 81fc40c5d70ed5dce3dcceae8ecd802e7105866f671b44ead194b0a40e20a472 7dc4a611b2fe90b0e344e761bd49c8a0a72c5bdf823f2c13629078498ee3853d1a022f8afd472890845348be028c8b91 +CLIENT_HANDSHAKE_TRAFFIC_SECRET b50bdbbfabe65b23e7e8328651bd1a68c52010717e05bde104884b7ebc9ade60 611c225712b8a97952ed728f9ec80a88b9efc3e73eb656ff76c05ba338c6f729c50f46704e73f2cf023e154ab0b419d0 +SERVER_HANDSHAKE_TRAFFIC_SECRET b50bdbbfabe65b23e7e8328651bd1a68c52010717e05bde104884b7ebc9ade60 7e910f708981e49145b2b0082a5ed0b88c1ca07844965a12d642f8374f149958743736d740023c7feeb4e830d2b7774f +CLIENT_TRAFFIC_SECRET_0 b50bdbbfabe65b23e7e8328651bd1a68c52010717e05bde104884b7ebc9ade60 79bc02e4d73c28d5f520caf6dce35f6229c68a61e995fb28f2c691943180276120191433a589946b71ccfa62a7a4ad48 +SERVER_TRAFFIC_SECRET_0 b50bdbbfabe65b23e7e8328651bd1a68c52010717e05bde104884b7ebc9ade60 02b01e31bf7e3a14219eddb4d6986f1658697786c0b89261353418acf00df76d8ab2bcc4c8c66fa5bfa8a0780d228501 +CLIENT_HANDSHAKE_TRAFFIC_SECRET b50bdbbfabe65b23e7e8328651bd1a68c52010717e05bde104884b7ebc9ade60 611c225712b8a97952ed728f9ec80a88b9efc3e73eb656ff76c05ba338c6f729c50f46704e73f2cf023e154ab0b419d0 +SERVER_HANDSHAKE_TRAFFIC_SECRET b50bdbbfabe65b23e7e8328651bd1a68c52010717e05bde104884b7ebc9ade60 7e910f708981e49145b2b0082a5ed0b88c1ca07844965a12d642f8374f149958743736d740023c7feeb4e830d2b7774f +CLIENT_TRAFFIC_SECRET_0 b50bdbbfabe65b23e7e8328651bd1a68c52010717e05bde104884b7ebc9ade60 79bc02e4d73c28d5f520caf6dce35f6229c68a61e995fb28f2c691943180276120191433a589946b71ccfa62a7a4ad48 +SERVER_TRAFFIC_SECRET_0 b50bdbbfabe65b23e7e8328651bd1a68c52010717e05bde104884b7ebc9ade60 02b01e31bf7e3a14219eddb4d6986f1658697786c0b89261353418acf00df76d8ab2bcc4c8c66fa5bfa8a0780d228501 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 546d72ecbca8dca6d1145294a7d460f0da05dc60c979232e8fc8eac3381d3151 c68498a6b5103be668fbf5bb5870b1314f569a5bae7712832ab300917ebe684d804517fd2c9604c16bfc3ef439ab380c +SERVER_HANDSHAKE_TRAFFIC_SECRET 546d72ecbca8dca6d1145294a7d460f0da05dc60c979232e8fc8eac3381d3151 9a914374f350237df1797beb698501a0d552f1dc90a9a756cec7a913161b3a0eca2207549f33e568b3b530ecfbd38eb9 +CLIENT_TRAFFIC_SECRET_0 546d72ecbca8dca6d1145294a7d460f0da05dc60c979232e8fc8eac3381d3151 d9a18a6c9ffb379c662b5ea53354280e00ff1697b7a0536cdb0d712001597659af05c5bc7649604e62d5ed2d611ddda0 +SERVER_TRAFFIC_SECRET_0 546d72ecbca8dca6d1145294a7d460f0da05dc60c979232e8fc8eac3381d3151 2272bb84d3576b43a1de98e63eb0a19954f2963876346eb79ed8fca6af0e287c4f546a210439debb52830bc5faa2699e +CLIENT_HANDSHAKE_TRAFFIC_SECRET 546d72ecbca8dca6d1145294a7d460f0da05dc60c979232e8fc8eac3381d3151 c68498a6b5103be668fbf5bb5870b1314f569a5bae7712832ab300917ebe684d804517fd2c9604c16bfc3ef439ab380c +SERVER_HANDSHAKE_TRAFFIC_SECRET 546d72ecbca8dca6d1145294a7d460f0da05dc60c979232e8fc8eac3381d3151 9a914374f350237df1797beb698501a0d552f1dc90a9a756cec7a913161b3a0eca2207549f33e568b3b530ecfbd38eb9 +CLIENT_TRAFFIC_SECRET_0 546d72ecbca8dca6d1145294a7d460f0da05dc60c979232e8fc8eac3381d3151 d9a18a6c9ffb379c662b5ea53354280e00ff1697b7a0536cdb0d712001597659af05c5bc7649604e62d5ed2d611ddda0 +SERVER_TRAFFIC_SECRET_0 546d72ecbca8dca6d1145294a7d460f0da05dc60c979232e8fc8eac3381d3151 2272bb84d3576b43a1de98e63eb0a19954f2963876346eb79ed8fca6af0e287c4f546a210439debb52830bc5faa2699e +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5d38a54496517893411e820187ae9a704d4131720ec2dd89d10a06e06598d81e 18bc35e968f1fdc57e453a0dedb304ed30fc2ef946b640cbf3f57825e17925037bbc497caf0f34701fe966c0efcd34c6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 5d38a54496517893411e820187ae9a704d4131720ec2dd89d10a06e06598d81e 83087d79393603f3cdf2dff46da24eaac65c9fecc47a558ee8c26564d5bb80a450b2308b372fdd3617af31ad1c02a859 +CLIENT_TRAFFIC_SECRET_0 5d38a54496517893411e820187ae9a704d4131720ec2dd89d10a06e06598d81e 9f3dbb45df06aab177602468b18f595eae223298530ac67638798f121eaac2019be78529906eecab1e12fef9e3b85c4c +SERVER_TRAFFIC_SECRET_0 5d38a54496517893411e820187ae9a704d4131720ec2dd89d10a06e06598d81e 71f036f92c6ee9d2b508a244a14506e982ebf8acc5f5da0c5a21ab640310da5263aea2be198b3380ad20c56015b2b3b9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5d38a54496517893411e820187ae9a704d4131720ec2dd89d10a06e06598d81e 18bc35e968f1fdc57e453a0dedb304ed30fc2ef946b640cbf3f57825e17925037bbc497caf0f34701fe966c0efcd34c6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 5d38a54496517893411e820187ae9a704d4131720ec2dd89d10a06e06598d81e 83087d79393603f3cdf2dff46da24eaac65c9fecc47a558ee8c26564d5bb80a450b2308b372fdd3617af31ad1c02a859 +CLIENT_TRAFFIC_SECRET_0 5d38a54496517893411e820187ae9a704d4131720ec2dd89d10a06e06598d81e 9f3dbb45df06aab177602468b18f595eae223298530ac67638798f121eaac2019be78529906eecab1e12fef9e3b85c4c +SERVER_TRAFFIC_SECRET_0 5d38a54496517893411e820187ae9a704d4131720ec2dd89d10a06e06598d81e 71f036f92c6ee9d2b508a244a14506e982ebf8acc5f5da0c5a21ab640310da5263aea2be198b3380ad20c56015b2b3b9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2a9319d90a1205ae51bdf4bff2127d5cc885522f3e09d3e591d58babd605210f 79be02d4f2de0e776154bbe06ab67cb231239199c494a4d1c159a9499f157be3f5712a256fa910ce34f6c655c7720c3e +SERVER_HANDSHAKE_TRAFFIC_SECRET 2a9319d90a1205ae51bdf4bff2127d5cc885522f3e09d3e591d58babd605210f 4ad6fb0cca050823c00f02537bf5a5ba07ea7bb718261ae0e7f4bbd1967e84b5bfc13719d0b9593a6ff778c453a41623 +CLIENT_TRAFFIC_SECRET_0 2a9319d90a1205ae51bdf4bff2127d5cc885522f3e09d3e591d58babd605210f 8b9b9d4a8b051f5cd19aa0b007fb88335cea5bd6bfa65550db0699ada9ff5930f2b16550f9db75e643306e0139f4d8b0 +SERVER_TRAFFIC_SECRET_0 2a9319d90a1205ae51bdf4bff2127d5cc885522f3e09d3e591d58babd605210f 6d26f6c6053ba7d44bbc4d3a7510c8a05a3df992ed89acfa4e8b4996a0f8304f1dc1bc3048da27f7e16a4adaca3e7ebe +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2a9319d90a1205ae51bdf4bff2127d5cc885522f3e09d3e591d58babd605210f 79be02d4f2de0e776154bbe06ab67cb231239199c494a4d1c159a9499f157be3f5712a256fa910ce34f6c655c7720c3e +SERVER_HANDSHAKE_TRAFFIC_SECRET 2a9319d90a1205ae51bdf4bff2127d5cc885522f3e09d3e591d58babd605210f 4ad6fb0cca050823c00f02537bf5a5ba07ea7bb718261ae0e7f4bbd1967e84b5bfc13719d0b9593a6ff778c453a41623 +CLIENT_TRAFFIC_SECRET_0 2a9319d90a1205ae51bdf4bff2127d5cc885522f3e09d3e591d58babd605210f 8b9b9d4a8b051f5cd19aa0b007fb88335cea5bd6bfa65550db0699ada9ff5930f2b16550f9db75e643306e0139f4d8b0 +SERVER_TRAFFIC_SECRET_0 2a9319d90a1205ae51bdf4bff2127d5cc885522f3e09d3e591d58babd605210f 6d26f6c6053ba7d44bbc4d3a7510c8a05a3df992ed89acfa4e8b4996a0f8304f1dc1bc3048da27f7e16a4adaca3e7ebe +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2c0bdf9e236cc82d9d1d85fdac705091fab930f579f5b6355b08e06494a41790 6c639f50ce2792bf3c2ed67cee69c61c0113ce04378053bc6ea03932f298b043d83f75b7433e0ea0b115e34dfe9b3d72 +SERVER_HANDSHAKE_TRAFFIC_SECRET 2c0bdf9e236cc82d9d1d85fdac705091fab930f579f5b6355b08e06494a41790 7ddb579fcdc972067bd22e1b2d6065a0cddf0900dec272ff8ba35051a5d1526c1f99a0b271e2a2b36d5dd01d2286789a +CLIENT_TRAFFIC_SECRET_0 2c0bdf9e236cc82d9d1d85fdac705091fab930f579f5b6355b08e06494a41790 581a849e438072b028289d65c15e618dfcb8729cbd2ea1790438d1e2ff46b0cbf759a248ce147e55efb5cb0613cc08a5 +SERVER_TRAFFIC_SECRET_0 2c0bdf9e236cc82d9d1d85fdac705091fab930f579f5b6355b08e06494a41790 e15bea9b4d72eaf9757ec3815a3b0fd6a6dd5842053e4fcdc8f6fd683296d6cfad447e9bee14616278062b3409088149 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2c0bdf9e236cc82d9d1d85fdac705091fab930f579f5b6355b08e06494a41790 6c639f50ce2792bf3c2ed67cee69c61c0113ce04378053bc6ea03932f298b043d83f75b7433e0ea0b115e34dfe9b3d72 +SERVER_HANDSHAKE_TRAFFIC_SECRET 2c0bdf9e236cc82d9d1d85fdac705091fab930f579f5b6355b08e06494a41790 7ddb579fcdc972067bd22e1b2d6065a0cddf0900dec272ff8ba35051a5d1526c1f99a0b271e2a2b36d5dd01d2286789a +CLIENT_TRAFFIC_SECRET_0 2c0bdf9e236cc82d9d1d85fdac705091fab930f579f5b6355b08e06494a41790 581a849e438072b028289d65c15e618dfcb8729cbd2ea1790438d1e2ff46b0cbf759a248ce147e55efb5cb0613cc08a5 +SERVER_TRAFFIC_SECRET_0 2c0bdf9e236cc82d9d1d85fdac705091fab930f579f5b6355b08e06494a41790 e15bea9b4d72eaf9757ec3815a3b0fd6a6dd5842053e4fcdc8f6fd683296d6cfad447e9bee14616278062b3409088149 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 58399010ec8f6f203cd6cad3492387ae094df7affb9abdfcbc0093096b873add e958e3cbaac7c835f64d5aa66a4215be43f5b7f7203f52741ac0f7e0daddcfdda9753b08421c014ffcd647e4f22abb41 +SERVER_HANDSHAKE_TRAFFIC_SECRET 58399010ec8f6f203cd6cad3492387ae094df7affb9abdfcbc0093096b873add 2f707924fefa8aafc59789af04deb167e210ce41254978bf55fd3ec50940b6ed271a2d1bfc58267c02405de10135866b +CLIENT_TRAFFIC_SECRET_0 58399010ec8f6f203cd6cad3492387ae094df7affb9abdfcbc0093096b873add d6af1a222af9fd56fe2a30f2d4d3ae1c3ff842d39d29617fa2f0c35ed8729dc8d320a1a5fbf1181fda8e9c64670c55b4 +SERVER_TRAFFIC_SECRET_0 58399010ec8f6f203cd6cad3492387ae094df7affb9abdfcbc0093096b873add ed93a649ef571d70c813fd196ce28310a1dc483b80e47596643cfaeed672eacfee889f4bf224742e8dac52c07128dc57 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 58399010ec8f6f203cd6cad3492387ae094df7affb9abdfcbc0093096b873add e958e3cbaac7c835f64d5aa66a4215be43f5b7f7203f52741ac0f7e0daddcfdda9753b08421c014ffcd647e4f22abb41 +SERVER_HANDSHAKE_TRAFFIC_SECRET 58399010ec8f6f203cd6cad3492387ae094df7affb9abdfcbc0093096b873add 2f707924fefa8aafc59789af04deb167e210ce41254978bf55fd3ec50940b6ed271a2d1bfc58267c02405de10135866b +CLIENT_TRAFFIC_SECRET_0 58399010ec8f6f203cd6cad3492387ae094df7affb9abdfcbc0093096b873add d6af1a222af9fd56fe2a30f2d4d3ae1c3ff842d39d29617fa2f0c35ed8729dc8d320a1a5fbf1181fda8e9c64670c55b4 +SERVER_TRAFFIC_SECRET_0 58399010ec8f6f203cd6cad3492387ae094df7affb9abdfcbc0093096b873add ed93a649ef571d70c813fd196ce28310a1dc483b80e47596643cfaeed672eacfee889f4bf224742e8dac52c07128dc57 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 246d3744fb505613e59527b26e11cc520aed88b5cb4db404bdf109b5cdd917b0 b2ae1239c4c512477775fadf11035134b83d7b70c5179b47cd41eda7d5f757417c2774d1a83f55932c4c70d0bae1e734 +SERVER_HANDSHAKE_TRAFFIC_SECRET 246d3744fb505613e59527b26e11cc520aed88b5cb4db404bdf109b5cdd917b0 429f1570a980d3bc4e8fe3f9a458d658467b7f4fb5ba0dc523660abd7efb838e05363d16ca8f53f5f0c31e8b9d63590e +CLIENT_TRAFFIC_SECRET_0 246d3744fb505613e59527b26e11cc520aed88b5cb4db404bdf109b5cdd917b0 1f91791a8ffd38534a7195e60754f1de147eec29885d682a95b4fed24aa69c8c1f6616e7bd28d2f21a5ffa2c97a1d334 +SERVER_TRAFFIC_SECRET_0 246d3744fb505613e59527b26e11cc520aed88b5cb4db404bdf109b5cdd917b0 08c1da0abedd214a25882cd2fe2bccb5f933c2656dbac1e2018e3731f2169ab3497e994e04c69f8a13bbfa6f7e8a040e +CLIENT_HANDSHAKE_TRAFFIC_SECRET 246d3744fb505613e59527b26e11cc520aed88b5cb4db404bdf109b5cdd917b0 b2ae1239c4c512477775fadf11035134b83d7b70c5179b47cd41eda7d5f757417c2774d1a83f55932c4c70d0bae1e734 +SERVER_HANDSHAKE_TRAFFIC_SECRET 246d3744fb505613e59527b26e11cc520aed88b5cb4db404bdf109b5cdd917b0 429f1570a980d3bc4e8fe3f9a458d658467b7f4fb5ba0dc523660abd7efb838e05363d16ca8f53f5f0c31e8b9d63590e +CLIENT_TRAFFIC_SECRET_0 246d3744fb505613e59527b26e11cc520aed88b5cb4db404bdf109b5cdd917b0 1f91791a8ffd38534a7195e60754f1de147eec29885d682a95b4fed24aa69c8c1f6616e7bd28d2f21a5ffa2c97a1d334 +SERVER_TRAFFIC_SECRET_0 246d3744fb505613e59527b26e11cc520aed88b5cb4db404bdf109b5cdd917b0 08c1da0abedd214a25882cd2fe2bccb5f933c2656dbac1e2018e3731f2169ab3497e994e04c69f8a13bbfa6f7e8a040e +CLIENT_HANDSHAKE_TRAFFIC_SECRET 14863842ce5ea43b0ea1bab628af890592b6836f63172872955b55766f268ff7 cb0b261d5e282730150c2870ef33575f4dce0d6500ae18580091375685030f274e4f8e90eeae7d90617427e75bf2fbb0 +SERVER_HANDSHAKE_TRAFFIC_SECRET 14863842ce5ea43b0ea1bab628af890592b6836f63172872955b55766f268ff7 2cf221761188d32430f9e01ecb79c0784fda289d5034a69b141e99b28fa1ef31b424cb23ba3c0d26eab9f82928bea7c1 +CLIENT_TRAFFIC_SECRET_0 14863842ce5ea43b0ea1bab628af890592b6836f63172872955b55766f268ff7 c55237388b8510649ff068ddaec54ad1f8c39c66a66a747b5a0245e8f2102180b108ba24fa257b0ca1d44df06d36a679 +SERVER_TRAFFIC_SECRET_0 14863842ce5ea43b0ea1bab628af890592b6836f63172872955b55766f268ff7 b46507e5c62d1832f8bdd0a9a167d52ec0234ac1bc3748f87a66b2bda0e0488d12092f240caf161351ebe73f500702cd +CLIENT_HANDSHAKE_TRAFFIC_SECRET 14863842ce5ea43b0ea1bab628af890592b6836f63172872955b55766f268ff7 cb0b261d5e282730150c2870ef33575f4dce0d6500ae18580091375685030f274e4f8e90eeae7d90617427e75bf2fbb0 +SERVER_HANDSHAKE_TRAFFIC_SECRET 14863842ce5ea43b0ea1bab628af890592b6836f63172872955b55766f268ff7 2cf221761188d32430f9e01ecb79c0784fda289d5034a69b141e99b28fa1ef31b424cb23ba3c0d26eab9f82928bea7c1 +CLIENT_TRAFFIC_SECRET_0 14863842ce5ea43b0ea1bab628af890592b6836f63172872955b55766f268ff7 c55237388b8510649ff068ddaec54ad1f8c39c66a66a747b5a0245e8f2102180b108ba24fa257b0ca1d44df06d36a679 +SERVER_TRAFFIC_SECRET_0 14863842ce5ea43b0ea1bab628af890592b6836f63172872955b55766f268ff7 b46507e5c62d1832f8bdd0a9a167d52ec0234ac1bc3748f87a66b2bda0e0488d12092f240caf161351ebe73f500702cd +CLIENT_HANDSHAKE_TRAFFIC_SECRET ffa9d4a8168f4801204d71a985ecb43efc07ad4c9c4cc2ddb516f140e171aed4 98540b624c8e53a808be718c15cea41cd16286016c5f5de937b4f72f6f21d36245d34ae57ae4094c1ae86d7005a87497 +SERVER_HANDSHAKE_TRAFFIC_SECRET ffa9d4a8168f4801204d71a985ecb43efc07ad4c9c4cc2ddb516f140e171aed4 ad63216cd17e52f7647c4a9f9662474af07936e7b7e6ba6eef5672eb09c5d1ee5ad35faa45b04c1b9b4e2b184b4930c2 +CLIENT_TRAFFIC_SECRET_0 ffa9d4a8168f4801204d71a985ecb43efc07ad4c9c4cc2ddb516f140e171aed4 51556dfcd6b31b5dbad276b278bf2962455c5e362c9edfbea95ec766404cef8e65d70bd582ef8deb93e4ca249726a130 +SERVER_TRAFFIC_SECRET_0 ffa9d4a8168f4801204d71a985ecb43efc07ad4c9c4cc2ddb516f140e171aed4 8bf6498da2e4c8310be68e87ad783890a8dbca122d59bd1c6b45fe31b782e413959ff37d8540c70af43aa1cc93d3a154 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ffa9d4a8168f4801204d71a985ecb43efc07ad4c9c4cc2ddb516f140e171aed4 98540b624c8e53a808be718c15cea41cd16286016c5f5de937b4f72f6f21d36245d34ae57ae4094c1ae86d7005a87497 +SERVER_HANDSHAKE_TRAFFIC_SECRET ffa9d4a8168f4801204d71a985ecb43efc07ad4c9c4cc2ddb516f140e171aed4 ad63216cd17e52f7647c4a9f9662474af07936e7b7e6ba6eef5672eb09c5d1ee5ad35faa45b04c1b9b4e2b184b4930c2 +CLIENT_TRAFFIC_SECRET_0 ffa9d4a8168f4801204d71a985ecb43efc07ad4c9c4cc2ddb516f140e171aed4 51556dfcd6b31b5dbad276b278bf2962455c5e362c9edfbea95ec766404cef8e65d70bd582ef8deb93e4ca249726a130 +SERVER_TRAFFIC_SECRET_0 ffa9d4a8168f4801204d71a985ecb43efc07ad4c9c4cc2ddb516f140e171aed4 8bf6498da2e4c8310be68e87ad783890a8dbca122d59bd1c6b45fe31b782e413959ff37d8540c70af43aa1cc93d3a154 +CLIENT_HANDSHAKE_TRAFFIC_SECRET cb7dca3188aa3f72be6575113e8ee3d6c4df55d0616711c906856aa273b2c19d a46dd5ed723eace23a68ffcfbc6008821e908bcc2c9849c7c1f90263a10040152e5e28af945d78f9f4b8f796e76fbf24 +SERVER_HANDSHAKE_TRAFFIC_SECRET cb7dca3188aa3f72be6575113e8ee3d6c4df55d0616711c906856aa273b2c19d 113f92e527c239edd62cd8224fd9de4ced7c25b44dda3b85a41f4094a2f362a14a48b2bbf803fd41d393b8c3d584181c +CLIENT_TRAFFIC_SECRET_0 cb7dca3188aa3f72be6575113e8ee3d6c4df55d0616711c906856aa273b2c19d cd6652e199f7cbdf5697d80d5bcd525bc96b0b7819b35457722a399f67d27e58619c29f95884a7c8b28ef27062e632d5 +SERVER_TRAFFIC_SECRET_0 cb7dca3188aa3f72be6575113e8ee3d6c4df55d0616711c906856aa273b2c19d d618398903dd0d2499288d84e42a0313efef7b2bc5a358133c9ac78fea91ad8f82597aabb73a5e848ff81c1dc159026d +CLIENT_HANDSHAKE_TRAFFIC_SECRET cb7dca3188aa3f72be6575113e8ee3d6c4df55d0616711c906856aa273b2c19d a46dd5ed723eace23a68ffcfbc6008821e908bcc2c9849c7c1f90263a10040152e5e28af945d78f9f4b8f796e76fbf24 +SERVER_HANDSHAKE_TRAFFIC_SECRET cb7dca3188aa3f72be6575113e8ee3d6c4df55d0616711c906856aa273b2c19d 113f92e527c239edd62cd8224fd9de4ced7c25b44dda3b85a41f4094a2f362a14a48b2bbf803fd41d393b8c3d584181c +CLIENT_TRAFFIC_SECRET_0 cb7dca3188aa3f72be6575113e8ee3d6c4df55d0616711c906856aa273b2c19d cd6652e199f7cbdf5697d80d5bcd525bc96b0b7819b35457722a399f67d27e58619c29f95884a7c8b28ef27062e632d5 +SERVER_TRAFFIC_SECRET_0 cb7dca3188aa3f72be6575113e8ee3d6c4df55d0616711c906856aa273b2c19d d618398903dd0d2499288d84e42a0313efef7b2bc5a358133c9ac78fea91ad8f82597aabb73a5e848ff81c1dc159026d +CLIENT_HANDSHAKE_TRAFFIC_SECRET c8735832ef4f6268d649d35baf54e5b6b0f27d6524a757734b13e69310530ad8 6b42ed950cd7de174a6061907d4425c398cb3da3f9af90dafc92297f9a0163bcce7c8ebbbe9fe863ba9782a1019b104e +SERVER_HANDSHAKE_TRAFFIC_SECRET c8735832ef4f6268d649d35baf54e5b6b0f27d6524a757734b13e69310530ad8 e979f306cc94cc1a4c1170d4a1fc6e4fb9a14bafc7c52ff905c866cc8f39ddfa0021681f5877b2669e639e097a09f663 +CLIENT_TRAFFIC_SECRET_0 c8735832ef4f6268d649d35baf54e5b6b0f27d6524a757734b13e69310530ad8 0e0277f380e4b3a09261872041fefa98bb6d0825836601a4c85896980d3bcbe7217719782917d01a0d68a44b10a92650 +SERVER_TRAFFIC_SECRET_0 c8735832ef4f6268d649d35baf54e5b6b0f27d6524a757734b13e69310530ad8 f21de9c92cedb93a62222a2189173bb6b8ae73f1193c1075b86bf07ebd8d778e46076bdadca042d1bf5442ef6c584057 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c8735832ef4f6268d649d35baf54e5b6b0f27d6524a757734b13e69310530ad8 6b42ed950cd7de174a6061907d4425c398cb3da3f9af90dafc92297f9a0163bcce7c8ebbbe9fe863ba9782a1019b104e +SERVER_HANDSHAKE_TRAFFIC_SECRET c8735832ef4f6268d649d35baf54e5b6b0f27d6524a757734b13e69310530ad8 e979f306cc94cc1a4c1170d4a1fc6e4fb9a14bafc7c52ff905c866cc8f39ddfa0021681f5877b2669e639e097a09f663 +CLIENT_TRAFFIC_SECRET_0 c8735832ef4f6268d649d35baf54e5b6b0f27d6524a757734b13e69310530ad8 0e0277f380e4b3a09261872041fefa98bb6d0825836601a4c85896980d3bcbe7217719782917d01a0d68a44b10a92650 +SERVER_TRAFFIC_SECRET_0 c8735832ef4f6268d649d35baf54e5b6b0f27d6524a757734b13e69310530ad8 f21de9c92cedb93a62222a2189173bb6b8ae73f1193c1075b86bf07ebd8d778e46076bdadca042d1bf5442ef6c584057 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a1ec2cfefa152bd6cf3b717137260629385f21d07bea9a2a508bc2656a9391a5 cc7f72db28ae4417919f1324082a60ab8de8243edc28c7b00663a8fcf2020c4f42f78121f5abe6edd252d1fcfa8b5349 +SERVER_HANDSHAKE_TRAFFIC_SECRET a1ec2cfefa152bd6cf3b717137260629385f21d07bea9a2a508bc2656a9391a5 9ddcc20cc971b3c47b7bc3f99225a6ce34456bd5d445391a40cf86b4afaea6ee99dead36be9169aa356c276f5fb2616f +CLIENT_TRAFFIC_SECRET_0 a1ec2cfefa152bd6cf3b717137260629385f21d07bea9a2a508bc2656a9391a5 3c52bb1f8b2c4393c11d70b5ea1bfc1909c2767ca4982c3026ea928a8b1d3619f3deb94b347a3df7c4b328fd62e620d3 +SERVER_TRAFFIC_SECRET_0 a1ec2cfefa152bd6cf3b717137260629385f21d07bea9a2a508bc2656a9391a5 868429d8ede39137caaff774ad83e2c7358b2d21180609a26681c18506df6f1be23879a0eb02daddfdc8db5d4154900a +CLIENT_HANDSHAKE_TRAFFIC_SECRET a1ec2cfefa152bd6cf3b717137260629385f21d07bea9a2a508bc2656a9391a5 cc7f72db28ae4417919f1324082a60ab8de8243edc28c7b00663a8fcf2020c4f42f78121f5abe6edd252d1fcfa8b5349 +SERVER_HANDSHAKE_TRAFFIC_SECRET a1ec2cfefa152bd6cf3b717137260629385f21d07bea9a2a508bc2656a9391a5 9ddcc20cc971b3c47b7bc3f99225a6ce34456bd5d445391a40cf86b4afaea6ee99dead36be9169aa356c276f5fb2616f +CLIENT_TRAFFIC_SECRET_0 a1ec2cfefa152bd6cf3b717137260629385f21d07bea9a2a508bc2656a9391a5 3c52bb1f8b2c4393c11d70b5ea1bfc1909c2767ca4982c3026ea928a8b1d3619f3deb94b347a3df7c4b328fd62e620d3 +SERVER_TRAFFIC_SECRET_0 a1ec2cfefa152bd6cf3b717137260629385f21d07bea9a2a508bc2656a9391a5 868429d8ede39137caaff774ad83e2c7358b2d21180609a26681c18506df6f1be23879a0eb02daddfdc8db5d4154900a +CLIENT_HANDSHAKE_TRAFFIC_SECRET dd55707f45df371dbc43687e70568b6e6184414ab8e9959be713dd9ebc809b64 71d8ca9e52cbc40597f89fc29b2d320b1d45d75f4ba50fd8ec21bcb19d380a7cf893e2276cb8768dd04e51966912520c +SERVER_HANDSHAKE_TRAFFIC_SECRET dd55707f45df371dbc43687e70568b6e6184414ab8e9959be713dd9ebc809b64 d9d4c0bd8e6404b752cbc412d8087d78b2a2390bdd204a9e697457130b76a20de0f9335b7ea967dfdd32bbd67c8116d2 +CLIENT_TRAFFIC_SECRET_0 dd55707f45df371dbc43687e70568b6e6184414ab8e9959be713dd9ebc809b64 fbf14d9eacc35ceef47d29a3a265f56fa4a6d7a6083e8af00e74368599b9ec61076f607e5dc10820465301f5b9aa1617 +SERVER_TRAFFIC_SECRET_0 dd55707f45df371dbc43687e70568b6e6184414ab8e9959be713dd9ebc809b64 a384d8b9d3e7ecbe2613177b86ad1c99850eb44f522726f9bf24d8168e86de638ac99bc4f9f55dd377ab163617fe9d36 +CLIENT_HANDSHAKE_TRAFFIC_SECRET dd55707f45df371dbc43687e70568b6e6184414ab8e9959be713dd9ebc809b64 71d8ca9e52cbc40597f89fc29b2d320b1d45d75f4ba50fd8ec21bcb19d380a7cf893e2276cb8768dd04e51966912520c +SERVER_HANDSHAKE_TRAFFIC_SECRET dd55707f45df371dbc43687e70568b6e6184414ab8e9959be713dd9ebc809b64 d9d4c0bd8e6404b752cbc412d8087d78b2a2390bdd204a9e697457130b76a20de0f9335b7ea967dfdd32bbd67c8116d2 +CLIENT_TRAFFIC_SECRET_0 dd55707f45df371dbc43687e70568b6e6184414ab8e9959be713dd9ebc809b64 fbf14d9eacc35ceef47d29a3a265f56fa4a6d7a6083e8af00e74368599b9ec61076f607e5dc10820465301f5b9aa1617 +SERVER_TRAFFIC_SECRET_0 dd55707f45df371dbc43687e70568b6e6184414ab8e9959be713dd9ebc809b64 a384d8b9d3e7ecbe2613177b86ad1c99850eb44f522726f9bf24d8168e86de638ac99bc4f9f55dd377ab163617fe9d36 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6f9ba27e80772f34b73957a29b924f5f8614edb6473f2aea063cd5283ef9d3df 4e666c18d625245a96c35682e5c75deb39559b971cc0851a447f810f32a33a1d5f915294abb92cbe9601b6e2b8f0d3fa +SERVER_HANDSHAKE_TRAFFIC_SECRET 6f9ba27e80772f34b73957a29b924f5f8614edb6473f2aea063cd5283ef9d3df 9b3a53f622829eb7ad7244a9eada8b5cca21ba52058da8429dd68fe5c0507f2e4147f651939b1b15d757d4dd98f2430e +CLIENT_TRAFFIC_SECRET_0 6f9ba27e80772f34b73957a29b924f5f8614edb6473f2aea063cd5283ef9d3df b686c5f32461ef21cc46b66dc6d244979927400abc461b241d1f28422c1a4bde1c25e33efca76efba99e17d276340081 +SERVER_TRAFFIC_SECRET_0 6f9ba27e80772f34b73957a29b924f5f8614edb6473f2aea063cd5283ef9d3df 4c7a69fe9a28e3f00230c3653929a509ec8a5e013505701ab6cf5d44c502c178ab4badd04c4426bc5fd978e79f914660 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6f9ba27e80772f34b73957a29b924f5f8614edb6473f2aea063cd5283ef9d3df 4e666c18d625245a96c35682e5c75deb39559b971cc0851a447f810f32a33a1d5f915294abb92cbe9601b6e2b8f0d3fa +SERVER_HANDSHAKE_TRAFFIC_SECRET 6f9ba27e80772f34b73957a29b924f5f8614edb6473f2aea063cd5283ef9d3df 9b3a53f622829eb7ad7244a9eada8b5cca21ba52058da8429dd68fe5c0507f2e4147f651939b1b15d757d4dd98f2430e +CLIENT_TRAFFIC_SECRET_0 6f9ba27e80772f34b73957a29b924f5f8614edb6473f2aea063cd5283ef9d3df b686c5f32461ef21cc46b66dc6d244979927400abc461b241d1f28422c1a4bde1c25e33efca76efba99e17d276340081 +SERVER_TRAFFIC_SECRET_0 6f9ba27e80772f34b73957a29b924f5f8614edb6473f2aea063cd5283ef9d3df 4c7a69fe9a28e3f00230c3653929a509ec8a5e013505701ab6cf5d44c502c178ab4badd04c4426bc5fd978e79f914660 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 96426815b027189815b436d5c53050ce117bf0bc394734e71e657507bdf2fac0 4846c092729ca3026d06c95814ca4e4465a18c487cd2b111ac6c48d069f5ed307dccda6e97935ba99b1937a2268e2802 +SERVER_HANDSHAKE_TRAFFIC_SECRET 96426815b027189815b436d5c53050ce117bf0bc394734e71e657507bdf2fac0 89d9c29906ce62ebf6eee34a2072b2edb3107a4ad80d02835df8ad46776f0c40d9d4079cdcc5873531fd5ccf5d25dcd1 +CLIENT_TRAFFIC_SECRET_0 96426815b027189815b436d5c53050ce117bf0bc394734e71e657507bdf2fac0 c3e50fc47add9103947c10d3c39bc386d1fd56707fe4c7469cda01373453b23b94e723c95ac52a9eda40077a7b7b8ed0 +SERVER_TRAFFIC_SECRET_0 96426815b027189815b436d5c53050ce117bf0bc394734e71e657507bdf2fac0 9317c240319335e460cf71acda175677004c92617ce236253109bb5a4dc641aa2ef1e502f049efe0f74bca485dee7244 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 96426815b027189815b436d5c53050ce117bf0bc394734e71e657507bdf2fac0 4846c092729ca3026d06c95814ca4e4465a18c487cd2b111ac6c48d069f5ed307dccda6e97935ba99b1937a2268e2802 +SERVER_HANDSHAKE_TRAFFIC_SECRET 96426815b027189815b436d5c53050ce117bf0bc394734e71e657507bdf2fac0 89d9c29906ce62ebf6eee34a2072b2edb3107a4ad80d02835df8ad46776f0c40d9d4079cdcc5873531fd5ccf5d25dcd1 +CLIENT_TRAFFIC_SECRET_0 96426815b027189815b436d5c53050ce117bf0bc394734e71e657507bdf2fac0 c3e50fc47add9103947c10d3c39bc386d1fd56707fe4c7469cda01373453b23b94e723c95ac52a9eda40077a7b7b8ed0 +SERVER_TRAFFIC_SECRET_0 96426815b027189815b436d5c53050ce117bf0bc394734e71e657507bdf2fac0 9317c240319335e460cf71acda175677004c92617ce236253109bb5a4dc641aa2ef1e502f049efe0f74bca485dee7244 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 203e239626c5579e811ce8aa8f6946b76089ee753ddc05956b010a6c3f74dd4c ff59bc1d864f91d9eb7dc90f9f6d7edb178596bb2ff210f93d6094422a33c4651d30144e43d2cc4c2343371825f97a2a +SERVER_HANDSHAKE_TRAFFIC_SECRET 203e239626c5579e811ce8aa8f6946b76089ee753ddc05956b010a6c3f74dd4c e977d92396d177675899352e2066bd15f08cc0ccef40903f5a547b0b4026aaf80351c96f00c38316f27beaf760cc8ddf +CLIENT_TRAFFIC_SECRET_0 203e239626c5579e811ce8aa8f6946b76089ee753ddc05956b010a6c3f74dd4c 4838014625f62fad1a61d6bc8d1d84be147aa5314b378504fc82dee381138ad59b40e0315fb55f9c217297928710f140 +SERVER_TRAFFIC_SECRET_0 203e239626c5579e811ce8aa8f6946b76089ee753ddc05956b010a6c3f74dd4c dfeb249354644a3462625e2d9c0f471f9b0d297ef638de9ea4f0bdd0fe074c37ca7a71210f23d6a6d2ad27c53bf2a847 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 203e239626c5579e811ce8aa8f6946b76089ee753ddc05956b010a6c3f74dd4c ff59bc1d864f91d9eb7dc90f9f6d7edb178596bb2ff210f93d6094422a33c4651d30144e43d2cc4c2343371825f97a2a +SERVER_HANDSHAKE_TRAFFIC_SECRET 203e239626c5579e811ce8aa8f6946b76089ee753ddc05956b010a6c3f74dd4c e977d92396d177675899352e2066bd15f08cc0ccef40903f5a547b0b4026aaf80351c96f00c38316f27beaf760cc8ddf +CLIENT_TRAFFIC_SECRET_0 203e239626c5579e811ce8aa8f6946b76089ee753ddc05956b010a6c3f74dd4c 4838014625f62fad1a61d6bc8d1d84be147aa5314b378504fc82dee381138ad59b40e0315fb55f9c217297928710f140 +SERVER_TRAFFIC_SECRET_0 203e239626c5579e811ce8aa8f6946b76089ee753ddc05956b010a6c3f74dd4c dfeb249354644a3462625e2d9c0f471f9b0d297ef638de9ea4f0bdd0fe074c37ca7a71210f23d6a6d2ad27c53bf2a847 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3463ae6fc1730f0f3f83f1169f66f06527af325a22c14240e78a461e6b2dbf35 d5cbb6b3e02b6f369615b742e9c79d93ce1b49d3043332661bf1fd050cd4ee8215af6a327abd5ddf0cbf2c5b6c139b94 +SERVER_HANDSHAKE_TRAFFIC_SECRET 3463ae6fc1730f0f3f83f1169f66f06527af325a22c14240e78a461e6b2dbf35 e9bfed3d5d9927d7893f92cf564bb1060fca3bbd37b1213ce50fdef6194990509a992b8a3d316482b6f7a26cc317cb38 +CLIENT_TRAFFIC_SECRET_0 3463ae6fc1730f0f3f83f1169f66f06527af325a22c14240e78a461e6b2dbf35 e2f476322f25baf3920e5a649844426816b0e7650c9bb963d248ea3632f80b07e00d0baf873ef78db4c8685b62a1ce39 +SERVER_TRAFFIC_SECRET_0 3463ae6fc1730f0f3f83f1169f66f06527af325a22c14240e78a461e6b2dbf35 1d4b8b451797df1d33611a6a2c4ebb26147a73cce2e8f4fc989095a0e41ec44620c8303607358f972bd23ccdad037c47 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3463ae6fc1730f0f3f83f1169f66f06527af325a22c14240e78a461e6b2dbf35 d5cbb6b3e02b6f369615b742e9c79d93ce1b49d3043332661bf1fd050cd4ee8215af6a327abd5ddf0cbf2c5b6c139b94 +SERVER_HANDSHAKE_TRAFFIC_SECRET 3463ae6fc1730f0f3f83f1169f66f06527af325a22c14240e78a461e6b2dbf35 e9bfed3d5d9927d7893f92cf564bb1060fca3bbd37b1213ce50fdef6194990509a992b8a3d316482b6f7a26cc317cb38 +CLIENT_TRAFFIC_SECRET_0 3463ae6fc1730f0f3f83f1169f66f06527af325a22c14240e78a461e6b2dbf35 e2f476322f25baf3920e5a649844426816b0e7650c9bb963d248ea3632f80b07e00d0baf873ef78db4c8685b62a1ce39 +SERVER_TRAFFIC_SECRET_0 3463ae6fc1730f0f3f83f1169f66f06527af325a22c14240e78a461e6b2dbf35 1d4b8b451797df1d33611a6a2c4ebb26147a73cce2e8f4fc989095a0e41ec44620c8303607358f972bd23ccdad037c47 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 733b1c690f7355d2c47847117085d2b28b2250470f6a10adc7ddeee70ce879f0 cc4cdc4cdd3fb2eb744ed25ca29ce784bc76d997779e4fb9fc3d8a96a969ab17699b4d4e0a43a75f0f163e9de89fb14e +SERVER_HANDSHAKE_TRAFFIC_SECRET 733b1c690f7355d2c47847117085d2b28b2250470f6a10adc7ddeee70ce879f0 5b69d2050fc5a1f57a9acaeb70b36bd05e7b1ae50e38822c9cb2a936fa6bfc1d1cf428868aa21e3197a9e2c99d236dc6 +CLIENT_TRAFFIC_SECRET_0 733b1c690f7355d2c47847117085d2b28b2250470f6a10adc7ddeee70ce879f0 bed8c0647a7b45d0e8547335c4bf3e688960deffa6b7349080fcbda1ee4a9ff92c9d64190831b069578d31f0bcf28fdb +SERVER_TRAFFIC_SECRET_0 733b1c690f7355d2c47847117085d2b28b2250470f6a10adc7ddeee70ce879f0 927ab6f500529d71db9cf4c6f0410def9e1512d5ae33c55d24784e299688bb90aca5f4e2085a8cba97125266846a7ab2 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 733b1c690f7355d2c47847117085d2b28b2250470f6a10adc7ddeee70ce879f0 cc4cdc4cdd3fb2eb744ed25ca29ce784bc76d997779e4fb9fc3d8a96a969ab17699b4d4e0a43a75f0f163e9de89fb14e +SERVER_HANDSHAKE_TRAFFIC_SECRET 733b1c690f7355d2c47847117085d2b28b2250470f6a10adc7ddeee70ce879f0 5b69d2050fc5a1f57a9acaeb70b36bd05e7b1ae50e38822c9cb2a936fa6bfc1d1cf428868aa21e3197a9e2c99d236dc6 +CLIENT_TRAFFIC_SECRET_0 733b1c690f7355d2c47847117085d2b28b2250470f6a10adc7ddeee70ce879f0 bed8c0647a7b45d0e8547335c4bf3e688960deffa6b7349080fcbda1ee4a9ff92c9d64190831b069578d31f0bcf28fdb +SERVER_TRAFFIC_SECRET_0 733b1c690f7355d2c47847117085d2b28b2250470f6a10adc7ddeee70ce879f0 927ab6f500529d71db9cf4c6f0410def9e1512d5ae33c55d24784e299688bb90aca5f4e2085a8cba97125266846a7ab2 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f234d31b3d30f0c52534617804d22db990569e62adc4cbbc782c27c64509398a 458f2994d97ede2c6e69a55ef7dcdb48248c903ea2734c2595f8cb641ecfbb79407bff683ff0b6b605c9c9b397a3ba5c +SERVER_HANDSHAKE_TRAFFIC_SECRET f234d31b3d30f0c52534617804d22db990569e62adc4cbbc782c27c64509398a 2da090bd449a27eb0a77ebb6f74f31cceb4fda573a452c1c91d5083db101b39860da57af2ad1862d20b55c6f3f26f63f +CLIENT_TRAFFIC_SECRET_0 f234d31b3d30f0c52534617804d22db990569e62adc4cbbc782c27c64509398a 47bf03ce9eb874d0bed32bde66518f780c201b000c69d251c7beea3b75f7bbba6da3ad828a7b6fab5dffdaf3e3133013 +SERVER_TRAFFIC_SECRET_0 f234d31b3d30f0c52534617804d22db990569e62adc4cbbc782c27c64509398a ef3342d5451f7e42e83d51be19b0b672b847daf04a2340ba57bf5f8070abc1417383f509c3c8fec7041b03f9e0951057 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f234d31b3d30f0c52534617804d22db990569e62adc4cbbc782c27c64509398a 458f2994d97ede2c6e69a55ef7dcdb48248c903ea2734c2595f8cb641ecfbb79407bff683ff0b6b605c9c9b397a3ba5c +SERVER_HANDSHAKE_TRAFFIC_SECRET f234d31b3d30f0c52534617804d22db990569e62adc4cbbc782c27c64509398a 2da090bd449a27eb0a77ebb6f74f31cceb4fda573a452c1c91d5083db101b39860da57af2ad1862d20b55c6f3f26f63f +CLIENT_TRAFFIC_SECRET_0 f234d31b3d30f0c52534617804d22db990569e62adc4cbbc782c27c64509398a 47bf03ce9eb874d0bed32bde66518f780c201b000c69d251c7beea3b75f7bbba6da3ad828a7b6fab5dffdaf3e3133013 +SERVER_TRAFFIC_SECRET_0 f234d31b3d30f0c52534617804d22db990569e62adc4cbbc782c27c64509398a ef3342d5451f7e42e83d51be19b0b672b847daf04a2340ba57bf5f8070abc1417383f509c3c8fec7041b03f9e0951057 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8e80b6bc289c39c983f8161b818c08920808a949fcd8d8c29f7247cc94515830 8c299fa574771a3fe6430a0a8abb83c41caa713c0d8bc5d28ed0b942753bdf1dccc798248b369bf0a66c4538f9f583fc +SERVER_HANDSHAKE_TRAFFIC_SECRET 8e80b6bc289c39c983f8161b818c08920808a949fcd8d8c29f7247cc94515830 7f7db33cd8b712128563d0330896133795685633db2ea32822cc6066044dda915838d493c9d9cd9b4379121d04289875 +CLIENT_TRAFFIC_SECRET_0 8e80b6bc289c39c983f8161b818c08920808a949fcd8d8c29f7247cc94515830 09f9925d811dd5616405a67ce3e97a56617ac5c741678351d7ab1d8cbf64ced32ba033166c0a35d78e91fc145bf76f89 +SERVER_TRAFFIC_SECRET_0 8e80b6bc289c39c983f8161b818c08920808a949fcd8d8c29f7247cc94515830 08f19458a7294976ce08f3f4a0f6398d14a50089cf27c5c81c7c6ba3687bab27b713e2ce575688f1fed778f92c4640da +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8e80b6bc289c39c983f8161b818c08920808a949fcd8d8c29f7247cc94515830 8c299fa574771a3fe6430a0a8abb83c41caa713c0d8bc5d28ed0b942753bdf1dccc798248b369bf0a66c4538f9f583fc +SERVER_HANDSHAKE_TRAFFIC_SECRET 8e80b6bc289c39c983f8161b818c08920808a949fcd8d8c29f7247cc94515830 7f7db33cd8b712128563d0330896133795685633db2ea32822cc6066044dda915838d493c9d9cd9b4379121d04289875 +CLIENT_TRAFFIC_SECRET_0 8e80b6bc289c39c983f8161b818c08920808a949fcd8d8c29f7247cc94515830 09f9925d811dd5616405a67ce3e97a56617ac5c741678351d7ab1d8cbf64ced32ba033166c0a35d78e91fc145bf76f89 +SERVER_TRAFFIC_SECRET_0 8e80b6bc289c39c983f8161b818c08920808a949fcd8d8c29f7247cc94515830 08f19458a7294976ce08f3f4a0f6398d14a50089cf27c5c81c7c6ba3687bab27b713e2ce575688f1fed778f92c4640da +CLIENT_HANDSHAKE_TRAFFIC_SECRET 61b27ad9460df8e45610d49c1cb8a9ec28ac4fc7290638ece23f6b68958cc9f8 abd7812b844337d7d85e69ce58cc169645f87c3c91cf906bc0b0595cc7a26d052731ec2230421e538e03c60eaa8f00e7 +SERVER_HANDSHAKE_TRAFFIC_SECRET 61b27ad9460df8e45610d49c1cb8a9ec28ac4fc7290638ece23f6b68958cc9f8 20badb98f9326a941e67852675f0e84e5c5f3ef2b8263ad707488b8513c413b2ed8d6d75b0d28ad1af38369337d61350 +CLIENT_TRAFFIC_SECRET_0 61b27ad9460df8e45610d49c1cb8a9ec28ac4fc7290638ece23f6b68958cc9f8 3e5386b2d6cccd1b44b5ed6ee8e48b09447890880399f8ad4b477c6bab440373e81d99060e3e3ff6979240858fed3295 +SERVER_TRAFFIC_SECRET_0 61b27ad9460df8e45610d49c1cb8a9ec28ac4fc7290638ece23f6b68958cc9f8 92c6a583ab11673ea5022a06f267c4dcbfa4b2013096ed8b7e4d4ae5bc36bfebdc7b6574f92d90093c0ba963869ade7c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 61b27ad9460df8e45610d49c1cb8a9ec28ac4fc7290638ece23f6b68958cc9f8 abd7812b844337d7d85e69ce58cc169645f87c3c91cf906bc0b0595cc7a26d052731ec2230421e538e03c60eaa8f00e7 +SERVER_HANDSHAKE_TRAFFIC_SECRET 61b27ad9460df8e45610d49c1cb8a9ec28ac4fc7290638ece23f6b68958cc9f8 20badb98f9326a941e67852675f0e84e5c5f3ef2b8263ad707488b8513c413b2ed8d6d75b0d28ad1af38369337d61350 +CLIENT_TRAFFIC_SECRET_0 61b27ad9460df8e45610d49c1cb8a9ec28ac4fc7290638ece23f6b68958cc9f8 3e5386b2d6cccd1b44b5ed6ee8e48b09447890880399f8ad4b477c6bab440373e81d99060e3e3ff6979240858fed3295 +SERVER_TRAFFIC_SECRET_0 61b27ad9460df8e45610d49c1cb8a9ec28ac4fc7290638ece23f6b68958cc9f8 92c6a583ab11673ea5022a06f267c4dcbfa4b2013096ed8b7e4d4ae5bc36bfebdc7b6574f92d90093c0ba963869ade7c +CLIENT_HANDSHAKE_TRAFFIC_SECRET b6a472cef417400e1412e7e7fcf6dd09590efed78674de59247cadbaf50e1096 8fa9f91f3aeede58e3db3a01f441a15b6ea63bc0294d895e14660fe20356ece24c2a309bb7a463b762d3e0dd8e4d081c +SERVER_HANDSHAKE_TRAFFIC_SECRET b6a472cef417400e1412e7e7fcf6dd09590efed78674de59247cadbaf50e1096 997dd07701af8d9fbfdddb5576af13423e8574ad35e7a63b1560d4b6eca7ade2e2dcf55f3de3767b457bffd1f0d7f63e +CLIENT_TRAFFIC_SECRET_0 b6a472cef417400e1412e7e7fcf6dd09590efed78674de59247cadbaf50e1096 cf4c82dc025f67b0bc9ac57e0afa2df99666d2ed0eb4921c0065aee04c519780bcb1d86afe123c582363ca74dd22375e +SERVER_TRAFFIC_SECRET_0 b6a472cef417400e1412e7e7fcf6dd09590efed78674de59247cadbaf50e1096 ca0a02072d2a66b5939595880286bb4f1ee5cfea4217c863d2a04daf497bde9da12ca9449a4d2a58a4506016f176852b +CLIENT_HANDSHAKE_TRAFFIC_SECRET b6a472cef417400e1412e7e7fcf6dd09590efed78674de59247cadbaf50e1096 8fa9f91f3aeede58e3db3a01f441a15b6ea63bc0294d895e14660fe20356ece24c2a309bb7a463b762d3e0dd8e4d081c +SERVER_HANDSHAKE_TRAFFIC_SECRET b6a472cef417400e1412e7e7fcf6dd09590efed78674de59247cadbaf50e1096 997dd07701af8d9fbfdddb5576af13423e8574ad35e7a63b1560d4b6eca7ade2e2dcf55f3de3767b457bffd1f0d7f63e +CLIENT_TRAFFIC_SECRET_0 b6a472cef417400e1412e7e7fcf6dd09590efed78674de59247cadbaf50e1096 cf4c82dc025f67b0bc9ac57e0afa2df99666d2ed0eb4921c0065aee04c519780bcb1d86afe123c582363ca74dd22375e +SERVER_TRAFFIC_SECRET_0 b6a472cef417400e1412e7e7fcf6dd09590efed78674de59247cadbaf50e1096 ca0a02072d2a66b5939595880286bb4f1ee5cfea4217c863d2a04daf497bde9da12ca9449a4d2a58a4506016f176852b +CLIENT_HANDSHAKE_TRAFFIC_SECRET 68a23ab14cc7d857eae9bd984f69c3b3a422c2b9979401182b559b51d8febfc2 7e5335b28c14ea7293fd7d7b511bc8abb1418d8a54fb8e3bb78e68f5f2f89f5087377a225f726fafaa17aafce8afd976 +SERVER_HANDSHAKE_TRAFFIC_SECRET 68a23ab14cc7d857eae9bd984f69c3b3a422c2b9979401182b559b51d8febfc2 c4681dff5b69d492779d49542e63c110998f097d3ef968d99f0b1f9e8752ea01d667cb2ad87c2b63da1b0da931bbb921 +CLIENT_TRAFFIC_SECRET_0 68a23ab14cc7d857eae9bd984f69c3b3a422c2b9979401182b559b51d8febfc2 e8e2d43036ef4432020932cbde56a2ff081f5072c67c4f3653ff2486daa2ce77d418b7006eb81ddecc6505b37fb41baf +SERVER_TRAFFIC_SECRET_0 68a23ab14cc7d857eae9bd984f69c3b3a422c2b9979401182b559b51d8febfc2 d437bfaa4dfc152bfcceeca6baa8b34e32fc1d1d537ad228fb9f24b627e256fbb6c614948b5f2175144c0aa96ffdf08e +CLIENT_HANDSHAKE_TRAFFIC_SECRET 68a23ab14cc7d857eae9bd984f69c3b3a422c2b9979401182b559b51d8febfc2 7e5335b28c14ea7293fd7d7b511bc8abb1418d8a54fb8e3bb78e68f5f2f89f5087377a225f726fafaa17aafce8afd976 +SERVER_HANDSHAKE_TRAFFIC_SECRET 68a23ab14cc7d857eae9bd984f69c3b3a422c2b9979401182b559b51d8febfc2 c4681dff5b69d492779d49542e63c110998f097d3ef968d99f0b1f9e8752ea01d667cb2ad87c2b63da1b0da931bbb921 +CLIENT_TRAFFIC_SECRET_0 68a23ab14cc7d857eae9bd984f69c3b3a422c2b9979401182b559b51d8febfc2 e8e2d43036ef4432020932cbde56a2ff081f5072c67c4f3653ff2486daa2ce77d418b7006eb81ddecc6505b37fb41baf +SERVER_TRAFFIC_SECRET_0 68a23ab14cc7d857eae9bd984f69c3b3a422c2b9979401182b559b51d8febfc2 d437bfaa4dfc152bfcceeca6baa8b34e32fc1d1d537ad228fb9f24b627e256fbb6c614948b5f2175144c0aa96ffdf08e +CLIENT_HANDSHAKE_TRAFFIC_SECRET 44e5b1507a7f73c68ca6b1193db6ebeb3a8a200926474a8ca0d3255b438e304b 73e6c7d63d33925efdae6714bd21befe66ec78f9ec98e97375e177c660256e9d5a851e387391e9670850a14e10de1e45 +SERVER_HANDSHAKE_TRAFFIC_SECRET 44e5b1507a7f73c68ca6b1193db6ebeb3a8a200926474a8ca0d3255b438e304b 200627db49d8cea84b24c96a6049209ba4e51270ede5b6d4ce1c8fe7ffa722b090d9cdc3d3933cca4c2f9bbf2187df22 +CLIENT_TRAFFIC_SECRET_0 44e5b1507a7f73c68ca6b1193db6ebeb3a8a200926474a8ca0d3255b438e304b 53ce9adf3e19d38f3f49a76972aa2007b037724525f5246ddfea8009504fc56ba5ee979094b64f40bd4170705abfb4cc +SERVER_TRAFFIC_SECRET_0 44e5b1507a7f73c68ca6b1193db6ebeb3a8a200926474a8ca0d3255b438e304b 1a3cba76fd1e4eba4ca862e4037c93415d2429c8dc7cb63e599bb268e5dae9795ea027594e6130cdabc68e07e62ef975 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 44e5b1507a7f73c68ca6b1193db6ebeb3a8a200926474a8ca0d3255b438e304b 73e6c7d63d33925efdae6714bd21befe66ec78f9ec98e97375e177c660256e9d5a851e387391e9670850a14e10de1e45 +SERVER_HANDSHAKE_TRAFFIC_SECRET 44e5b1507a7f73c68ca6b1193db6ebeb3a8a200926474a8ca0d3255b438e304b 200627db49d8cea84b24c96a6049209ba4e51270ede5b6d4ce1c8fe7ffa722b090d9cdc3d3933cca4c2f9bbf2187df22 +CLIENT_TRAFFIC_SECRET_0 44e5b1507a7f73c68ca6b1193db6ebeb3a8a200926474a8ca0d3255b438e304b 53ce9adf3e19d38f3f49a76972aa2007b037724525f5246ddfea8009504fc56ba5ee979094b64f40bd4170705abfb4cc +SERVER_TRAFFIC_SECRET_0 44e5b1507a7f73c68ca6b1193db6ebeb3a8a200926474a8ca0d3255b438e304b 1a3cba76fd1e4eba4ca862e4037c93415d2429c8dc7cb63e599bb268e5dae9795ea027594e6130cdabc68e07e62ef975 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 215976d690cb46c3eb513049dbb63e27c7b840c17256997a408475a9bf3b4e88 adc4504b0359db44fbe0b139f0b9dce2bd8eea7d0b0117a6b1bcf160ed5f506b403b3685f025eda92096426fdafbc68f +SERVER_HANDSHAKE_TRAFFIC_SECRET 215976d690cb46c3eb513049dbb63e27c7b840c17256997a408475a9bf3b4e88 543df80ca17f20de45a155cac327c1db65699160f63dda2f5d6f2e85e4b867e8e22524f890cb04cf61ab2ac6a8634fec +CLIENT_TRAFFIC_SECRET_0 215976d690cb46c3eb513049dbb63e27c7b840c17256997a408475a9bf3b4e88 bdc8b87809adf576e1d36320f69d4fdba85d2a68db8d609ddddf122dd89d7a7c972132d510d421d318209cfd0576054b +SERVER_TRAFFIC_SECRET_0 215976d690cb46c3eb513049dbb63e27c7b840c17256997a408475a9bf3b4e88 9e44bc5a2fed692b058844380f28cd07bab13132564104b48da4cd3654cdb4abf40be7af5bf98e8ad82b183493f8e2be +CLIENT_HANDSHAKE_TRAFFIC_SECRET 215976d690cb46c3eb513049dbb63e27c7b840c17256997a408475a9bf3b4e88 adc4504b0359db44fbe0b139f0b9dce2bd8eea7d0b0117a6b1bcf160ed5f506b403b3685f025eda92096426fdafbc68f +SERVER_HANDSHAKE_TRAFFIC_SECRET 215976d690cb46c3eb513049dbb63e27c7b840c17256997a408475a9bf3b4e88 543df80ca17f20de45a155cac327c1db65699160f63dda2f5d6f2e85e4b867e8e22524f890cb04cf61ab2ac6a8634fec +CLIENT_TRAFFIC_SECRET_0 215976d690cb46c3eb513049dbb63e27c7b840c17256997a408475a9bf3b4e88 bdc8b87809adf576e1d36320f69d4fdba85d2a68db8d609ddddf122dd89d7a7c972132d510d421d318209cfd0576054b +SERVER_TRAFFIC_SECRET_0 215976d690cb46c3eb513049dbb63e27c7b840c17256997a408475a9bf3b4e88 9e44bc5a2fed692b058844380f28cd07bab13132564104b48da4cd3654cdb4abf40be7af5bf98e8ad82b183493f8e2be +CLIENT_HANDSHAKE_TRAFFIC_SECRET c2e6c373d1010bf79eebdf227a31131692c661baa34e2114eea8d72ea605a9f5 799bcd9d3c9e82604c62c91a4c6d5ca0f1191242edcdb213b2c2c30edd82915fe37d2e46a0c8d22f81b2bd5d60420080 +SERVER_HANDSHAKE_TRAFFIC_SECRET c2e6c373d1010bf79eebdf227a31131692c661baa34e2114eea8d72ea605a9f5 6c9377822d2da12b4f875c1480f239698be247baec22381fa26ab31de4227e944c8be66ce59ec9233dbe74da83c488a5 +CLIENT_TRAFFIC_SECRET_0 c2e6c373d1010bf79eebdf227a31131692c661baa34e2114eea8d72ea605a9f5 587b6e295ddb8d17129301468f4fac07cc478eff5f65d4586fa31c4842c8b5af2f0e23dfbd19e03eb72dcb94d7ecd0b2 +SERVER_TRAFFIC_SECRET_0 c2e6c373d1010bf79eebdf227a31131692c661baa34e2114eea8d72ea605a9f5 7906e3216931fd633a798b56fed8bc2c67f64ebf8f3d1fc5a15dcc6c1aa07fe8250a6a6372840352afb8d732e0ef4fa6 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c2e6c373d1010bf79eebdf227a31131692c661baa34e2114eea8d72ea605a9f5 799bcd9d3c9e82604c62c91a4c6d5ca0f1191242edcdb213b2c2c30edd82915fe37d2e46a0c8d22f81b2bd5d60420080 +SERVER_HANDSHAKE_TRAFFIC_SECRET c2e6c373d1010bf79eebdf227a31131692c661baa34e2114eea8d72ea605a9f5 6c9377822d2da12b4f875c1480f239698be247baec22381fa26ab31de4227e944c8be66ce59ec9233dbe74da83c488a5 +CLIENT_TRAFFIC_SECRET_0 c2e6c373d1010bf79eebdf227a31131692c661baa34e2114eea8d72ea605a9f5 587b6e295ddb8d17129301468f4fac07cc478eff5f65d4586fa31c4842c8b5af2f0e23dfbd19e03eb72dcb94d7ecd0b2 +SERVER_TRAFFIC_SECRET_0 c2e6c373d1010bf79eebdf227a31131692c661baa34e2114eea8d72ea605a9f5 7906e3216931fd633a798b56fed8bc2c67f64ebf8f3d1fc5a15dcc6c1aa07fe8250a6a6372840352afb8d732e0ef4fa6 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f5e6bc90a7004a7cbbd1f1eef2950b1d14b6561231992042c0acf861dd8c34ab 6ac02bd921b4a1640c1eb8e264c4e200bb542dfd3f05b849a95cbf523c2b3af367a8ff867fb54aaeebee74d2a78e74bc +SERVER_HANDSHAKE_TRAFFIC_SECRET f5e6bc90a7004a7cbbd1f1eef2950b1d14b6561231992042c0acf861dd8c34ab cb553c31906d1001315d38a5dbd4933a83226245ad4ba78e180a450d171f135cba824c691c236dd21e856b98365095da +CLIENT_TRAFFIC_SECRET_0 f5e6bc90a7004a7cbbd1f1eef2950b1d14b6561231992042c0acf861dd8c34ab 5815179f5b6312d35737262749bd50fd8f644cdd118ec9d0b56e2cda73ca5c69724be60e04e2ab2f7ce5b784805b3a8d +SERVER_TRAFFIC_SECRET_0 f5e6bc90a7004a7cbbd1f1eef2950b1d14b6561231992042c0acf861dd8c34ab 6929a86b1e2310814739284e5ac3320038013e0873abca78163adfc2f85fed893421e196fc0267a0aee2529a7cdcef21 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f5e6bc90a7004a7cbbd1f1eef2950b1d14b6561231992042c0acf861dd8c34ab 6ac02bd921b4a1640c1eb8e264c4e200bb542dfd3f05b849a95cbf523c2b3af367a8ff867fb54aaeebee74d2a78e74bc +SERVER_HANDSHAKE_TRAFFIC_SECRET f5e6bc90a7004a7cbbd1f1eef2950b1d14b6561231992042c0acf861dd8c34ab cb553c31906d1001315d38a5dbd4933a83226245ad4ba78e180a450d171f135cba824c691c236dd21e856b98365095da +CLIENT_TRAFFIC_SECRET_0 f5e6bc90a7004a7cbbd1f1eef2950b1d14b6561231992042c0acf861dd8c34ab 5815179f5b6312d35737262749bd50fd8f644cdd118ec9d0b56e2cda73ca5c69724be60e04e2ab2f7ce5b784805b3a8d +SERVER_TRAFFIC_SECRET_0 f5e6bc90a7004a7cbbd1f1eef2950b1d14b6561231992042c0acf861dd8c34ab 6929a86b1e2310814739284e5ac3320038013e0873abca78163adfc2f85fed893421e196fc0267a0aee2529a7cdcef21 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2dd4f09b754404792ebe98c251706fc2570202ddde38a5340040c673bf419f07 d137f01f433d597dd007df2af7ae3b2c8161c2f0098082bada4c557639b55b33faa1a33cc2af5d6e0583d8827a8c4df5 +SERVER_HANDSHAKE_TRAFFIC_SECRET 2dd4f09b754404792ebe98c251706fc2570202ddde38a5340040c673bf419f07 0f7e5dc4313ce9b828996f4a1bccc69806dd222b2793d99b4574a4a12410a4f4a4fffe0fde78ba02f66d7832f06fbf51 +CLIENT_TRAFFIC_SECRET_0 2dd4f09b754404792ebe98c251706fc2570202ddde38a5340040c673bf419f07 79386f80e7bf831f02223489f1933dfa839e4d6e376a7f4010be6ee54fda8a99b2ab646de2ed15daf0893af4e76cd4c5 +SERVER_TRAFFIC_SECRET_0 2dd4f09b754404792ebe98c251706fc2570202ddde38a5340040c673bf419f07 144c7bcc73f0804588ad1e983c444bc287be5e8ecfbedb9687198b70c9c20c348444f90d3f2ae55f5f12ca1c24e06acb +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2dd4f09b754404792ebe98c251706fc2570202ddde38a5340040c673bf419f07 d137f01f433d597dd007df2af7ae3b2c8161c2f0098082bada4c557639b55b33faa1a33cc2af5d6e0583d8827a8c4df5 +SERVER_HANDSHAKE_TRAFFIC_SECRET 2dd4f09b754404792ebe98c251706fc2570202ddde38a5340040c673bf419f07 0f7e5dc4313ce9b828996f4a1bccc69806dd222b2793d99b4574a4a12410a4f4a4fffe0fde78ba02f66d7832f06fbf51 +CLIENT_TRAFFIC_SECRET_0 2dd4f09b754404792ebe98c251706fc2570202ddde38a5340040c673bf419f07 79386f80e7bf831f02223489f1933dfa839e4d6e376a7f4010be6ee54fda8a99b2ab646de2ed15daf0893af4e76cd4c5 +SERVER_TRAFFIC_SECRET_0 2dd4f09b754404792ebe98c251706fc2570202ddde38a5340040c673bf419f07 144c7bcc73f0804588ad1e983c444bc287be5e8ecfbedb9687198b70c9c20c348444f90d3f2ae55f5f12ca1c24e06acb +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4174cb0c3001803e23fed328f4be60b25bdce15dd0cb36b4fe75e99387505ab6 7fa2a170d3bd71b843315510b556af3ef8e5664c8b9988596510122baed93cb070173867e88b93c460c2555d399d596c +SERVER_HANDSHAKE_TRAFFIC_SECRET 4174cb0c3001803e23fed328f4be60b25bdce15dd0cb36b4fe75e99387505ab6 be061fa124c971a17c902095df14690cfad64e1db6d39b9bfcf08586d8873085dbce3ef20d15674ff4500542c6140489 +CLIENT_TRAFFIC_SECRET_0 4174cb0c3001803e23fed328f4be60b25bdce15dd0cb36b4fe75e99387505ab6 2e97451733cd35a69cb5f4e2bc3bf079e6ef1f9289d41f433ab5c9d070b4498b0a14c242ddbc3f64a3cac5498a64353a +SERVER_TRAFFIC_SECRET_0 4174cb0c3001803e23fed328f4be60b25bdce15dd0cb36b4fe75e99387505ab6 f91a390b1c1c547e9e969af92b5f915e5b9f74a6807e90dd3a52ad730fe07f67cee01ce6a284bb4baa370a189cce8217 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4174cb0c3001803e23fed328f4be60b25bdce15dd0cb36b4fe75e99387505ab6 7fa2a170d3bd71b843315510b556af3ef8e5664c8b9988596510122baed93cb070173867e88b93c460c2555d399d596c +SERVER_HANDSHAKE_TRAFFIC_SECRET 4174cb0c3001803e23fed328f4be60b25bdce15dd0cb36b4fe75e99387505ab6 be061fa124c971a17c902095df14690cfad64e1db6d39b9bfcf08586d8873085dbce3ef20d15674ff4500542c6140489 +CLIENT_TRAFFIC_SECRET_0 4174cb0c3001803e23fed328f4be60b25bdce15dd0cb36b4fe75e99387505ab6 2e97451733cd35a69cb5f4e2bc3bf079e6ef1f9289d41f433ab5c9d070b4498b0a14c242ddbc3f64a3cac5498a64353a +SERVER_TRAFFIC_SECRET_0 4174cb0c3001803e23fed328f4be60b25bdce15dd0cb36b4fe75e99387505ab6 f91a390b1c1c547e9e969af92b5f915e5b9f74a6807e90dd3a52ad730fe07f67cee01ce6a284bb4baa370a189cce8217 +CLIENT_HANDSHAKE_TRAFFIC_SECRET baff590142837f2301355696c4e63c263a341cec7d80c14d93206c12535d6df8 1437df38f0fd20ec0a44af9b3549854ebfd2b6fa383644f4dee16ae6f91817837a01645a1fe3dbec9e4c94a1397d77fc +SERVER_HANDSHAKE_TRAFFIC_SECRET baff590142837f2301355696c4e63c263a341cec7d80c14d93206c12535d6df8 1c5ceaaeb07738b636921c27fc3eb395925c246a3fe339a5fc62afe1d554ede53ff025c84cfd45fe205bbf61b14f777a +CLIENT_TRAFFIC_SECRET_0 baff590142837f2301355696c4e63c263a341cec7d80c14d93206c12535d6df8 6b48b5f0a5684e761f1d5fd4a968bab78b692c915d6bbd7d47fc5b3a969858b0db52fa08fc886435768ef8c77b932de2 +SERVER_TRAFFIC_SECRET_0 baff590142837f2301355696c4e63c263a341cec7d80c14d93206c12535d6df8 b67b9195bada8b2af092af70e6c7979a680aa119751b0b081c0c4508ef217a6b72f2e3d7da1cd4fbfaa5d7b3b311031f +CLIENT_HANDSHAKE_TRAFFIC_SECRET baff590142837f2301355696c4e63c263a341cec7d80c14d93206c12535d6df8 1437df38f0fd20ec0a44af9b3549854ebfd2b6fa383644f4dee16ae6f91817837a01645a1fe3dbec9e4c94a1397d77fc +SERVER_HANDSHAKE_TRAFFIC_SECRET baff590142837f2301355696c4e63c263a341cec7d80c14d93206c12535d6df8 1c5ceaaeb07738b636921c27fc3eb395925c246a3fe339a5fc62afe1d554ede53ff025c84cfd45fe205bbf61b14f777a +CLIENT_TRAFFIC_SECRET_0 baff590142837f2301355696c4e63c263a341cec7d80c14d93206c12535d6df8 6b48b5f0a5684e761f1d5fd4a968bab78b692c915d6bbd7d47fc5b3a969858b0db52fa08fc886435768ef8c77b932de2 +SERVER_TRAFFIC_SECRET_0 baff590142837f2301355696c4e63c263a341cec7d80c14d93206c12535d6df8 b67b9195bada8b2af092af70e6c7979a680aa119751b0b081c0c4508ef217a6b72f2e3d7da1cd4fbfaa5d7b3b311031f +CLIENT_HANDSHAKE_TRAFFIC_SECRET a1630af37491a6a4db523519847565b347a9e7ad31178c98d09a6d8d13df44cd bb5c9dfd0e4c44556b83db77ad38e22ee6569deaeaceef71220f4a739316bad42a3ba8b476c33f8396afea250eec0743 +SERVER_HANDSHAKE_TRAFFIC_SECRET a1630af37491a6a4db523519847565b347a9e7ad31178c98d09a6d8d13df44cd b0868209908c65d935a4bc1d8da2b885fc7afc89275d56e7d93716b76982748b8c9e66d2de70106b3d86f34aeaca05be +CLIENT_TRAFFIC_SECRET_0 a1630af37491a6a4db523519847565b347a9e7ad31178c98d09a6d8d13df44cd db38180cc77766ea21409190c940b15f35e601fb9edcf4aec999c276c466a4d9a8eae9f809ed9d42ccc45ebf4774a1ef +SERVER_TRAFFIC_SECRET_0 a1630af37491a6a4db523519847565b347a9e7ad31178c98d09a6d8d13df44cd d437452d68d364cf1c79ab4544eac945d0d907c277e38ee7979a4e37ea6ef167bab7ed7bb4b4e9144b6aeabe3326b6a5 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a1630af37491a6a4db523519847565b347a9e7ad31178c98d09a6d8d13df44cd bb5c9dfd0e4c44556b83db77ad38e22ee6569deaeaceef71220f4a739316bad42a3ba8b476c33f8396afea250eec0743 +SERVER_HANDSHAKE_TRAFFIC_SECRET a1630af37491a6a4db523519847565b347a9e7ad31178c98d09a6d8d13df44cd b0868209908c65d935a4bc1d8da2b885fc7afc89275d56e7d93716b76982748b8c9e66d2de70106b3d86f34aeaca05be +CLIENT_TRAFFIC_SECRET_0 a1630af37491a6a4db523519847565b347a9e7ad31178c98d09a6d8d13df44cd db38180cc77766ea21409190c940b15f35e601fb9edcf4aec999c276c466a4d9a8eae9f809ed9d42ccc45ebf4774a1ef +SERVER_TRAFFIC_SECRET_0 a1630af37491a6a4db523519847565b347a9e7ad31178c98d09a6d8d13df44cd d437452d68d364cf1c79ab4544eac945d0d907c277e38ee7979a4e37ea6ef167bab7ed7bb4b4e9144b6aeabe3326b6a5 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a8e1186693e89572c6ed8b752e7a7c0b2bcbdf767dceaaa89a39cc102c48b2f9 683b3dba8ab12079b03e0e13f2bec869b61774a2a5bb56d09fd2857dd816895eeddff44efc717a729ddad7a958b16fb0 +SERVER_HANDSHAKE_TRAFFIC_SECRET a8e1186693e89572c6ed8b752e7a7c0b2bcbdf767dceaaa89a39cc102c48b2f9 4c47f92c08b6c7583d2ad43fada70c555408a0f0fc33c36c6ec3bd7a9e84416140d5307e75a1bb0ea93cf74c0fed4c62 +CLIENT_TRAFFIC_SECRET_0 a8e1186693e89572c6ed8b752e7a7c0b2bcbdf767dceaaa89a39cc102c48b2f9 0c40973ecd53e946f081b3645a0c7a9944f7717cbdc7138a605462ea960176fd3e432c9df69428b725d8026b1b70bcbd +SERVER_TRAFFIC_SECRET_0 a8e1186693e89572c6ed8b752e7a7c0b2bcbdf767dceaaa89a39cc102c48b2f9 34f98ddcc276a496be557a57dc3f60c895fca428611ef397df3f0295dbe499d1736aa0c2f9863d0c60f7cf62ccefdbce +CLIENT_HANDSHAKE_TRAFFIC_SECRET a8e1186693e89572c6ed8b752e7a7c0b2bcbdf767dceaaa89a39cc102c48b2f9 683b3dba8ab12079b03e0e13f2bec869b61774a2a5bb56d09fd2857dd816895eeddff44efc717a729ddad7a958b16fb0 +SERVER_HANDSHAKE_TRAFFIC_SECRET a8e1186693e89572c6ed8b752e7a7c0b2bcbdf767dceaaa89a39cc102c48b2f9 4c47f92c08b6c7583d2ad43fada70c555408a0f0fc33c36c6ec3bd7a9e84416140d5307e75a1bb0ea93cf74c0fed4c62 +CLIENT_TRAFFIC_SECRET_0 a8e1186693e89572c6ed8b752e7a7c0b2bcbdf767dceaaa89a39cc102c48b2f9 0c40973ecd53e946f081b3645a0c7a9944f7717cbdc7138a605462ea960176fd3e432c9df69428b725d8026b1b70bcbd +SERVER_TRAFFIC_SECRET_0 a8e1186693e89572c6ed8b752e7a7c0b2bcbdf767dceaaa89a39cc102c48b2f9 34f98ddcc276a496be557a57dc3f60c895fca428611ef397df3f0295dbe499d1736aa0c2f9863d0c60f7cf62ccefdbce +CLIENT_HANDSHAKE_TRAFFIC_SECRET f4b0a0cd4a4b21f73c0a2c89dd10f5d85bcf675e9eb7504bbc86443059856f99 0c199c7807b4c892b15dd48515a1a06cba20ffdf42ded0fdf113e59d67573f84c065f8a28a0a7ad4e2af95d5b2e47eea +SERVER_HANDSHAKE_TRAFFIC_SECRET f4b0a0cd4a4b21f73c0a2c89dd10f5d85bcf675e9eb7504bbc86443059856f99 4cd5f08ddc489cbe774139a4c9b5f2fda7ffb9cb510c447ac2b2a218dcc5ef4a633ee3cd794123053ae7b370df50a980 +CLIENT_TRAFFIC_SECRET_0 f4b0a0cd4a4b21f73c0a2c89dd10f5d85bcf675e9eb7504bbc86443059856f99 33cd91eb3417977973b0bd673b6741d7949ec003a3c567625bc85ddb90bef3cd5cdc541b5a09d88683c2e6d9b9ddb7f3 +SERVER_TRAFFIC_SECRET_0 f4b0a0cd4a4b21f73c0a2c89dd10f5d85bcf675e9eb7504bbc86443059856f99 3cd01c17c834d7b90531875e8603301f9e9e595e5d5f7b8a38e59781f2bea6a559d9f1e966dc4e123694f3cf30a18e59 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f4b0a0cd4a4b21f73c0a2c89dd10f5d85bcf675e9eb7504bbc86443059856f99 0c199c7807b4c892b15dd48515a1a06cba20ffdf42ded0fdf113e59d67573f84c065f8a28a0a7ad4e2af95d5b2e47eea +SERVER_HANDSHAKE_TRAFFIC_SECRET f4b0a0cd4a4b21f73c0a2c89dd10f5d85bcf675e9eb7504bbc86443059856f99 4cd5f08ddc489cbe774139a4c9b5f2fda7ffb9cb510c447ac2b2a218dcc5ef4a633ee3cd794123053ae7b370df50a980 +CLIENT_TRAFFIC_SECRET_0 f4b0a0cd4a4b21f73c0a2c89dd10f5d85bcf675e9eb7504bbc86443059856f99 33cd91eb3417977973b0bd673b6741d7949ec003a3c567625bc85ddb90bef3cd5cdc541b5a09d88683c2e6d9b9ddb7f3 +SERVER_TRAFFIC_SECRET_0 f4b0a0cd4a4b21f73c0a2c89dd10f5d85bcf675e9eb7504bbc86443059856f99 3cd01c17c834d7b90531875e8603301f9e9e595e5d5f7b8a38e59781f2bea6a559d9f1e966dc4e123694f3cf30a18e59 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d15e12a9e235964d6fb5f168d34c887cf35f2f8cb925caa4f77a2eee20214c0b bf671106ba0ea57956ecb2be5deca9a9599d6302d1a6ea4eb0de22b43c05df618e6f367f0d61b97cafeb9fa17af11b62 +SERVER_HANDSHAKE_TRAFFIC_SECRET d15e12a9e235964d6fb5f168d34c887cf35f2f8cb925caa4f77a2eee20214c0b a845374fb31458b03439ed2c691ae40a9fa058d852b0af97126c4a9a167bf8ba954b2e12336707427432668730d1cd2e +CLIENT_TRAFFIC_SECRET_0 d15e12a9e235964d6fb5f168d34c887cf35f2f8cb925caa4f77a2eee20214c0b 0c70cb157374d0d3732c5e74d621523d30b3d669a7a1bf2c02cc9c875125599240db0193aab5d364e341eb7b3422ee58 +SERVER_TRAFFIC_SECRET_0 d15e12a9e235964d6fb5f168d34c887cf35f2f8cb925caa4f77a2eee20214c0b 624960d968b5214d78ac25e533c2f6b3284ed69217a5722d0c4cb6e39cedba034632afce9fceba06f2f4cb78f9210ef1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d15e12a9e235964d6fb5f168d34c887cf35f2f8cb925caa4f77a2eee20214c0b bf671106ba0ea57956ecb2be5deca9a9599d6302d1a6ea4eb0de22b43c05df618e6f367f0d61b97cafeb9fa17af11b62 +SERVER_HANDSHAKE_TRAFFIC_SECRET d15e12a9e235964d6fb5f168d34c887cf35f2f8cb925caa4f77a2eee20214c0b a845374fb31458b03439ed2c691ae40a9fa058d852b0af97126c4a9a167bf8ba954b2e12336707427432668730d1cd2e +CLIENT_TRAFFIC_SECRET_0 d15e12a9e235964d6fb5f168d34c887cf35f2f8cb925caa4f77a2eee20214c0b 0c70cb157374d0d3732c5e74d621523d30b3d669a7a1bf2c02cc9c875125599240db0193aab5d364e341eb7b3422ee58 +SERVER_TRAFFIC_SECRET_0 d15e12a9e235964d6fb5f168d34c887cf35f2f8cb925caa4f77a2eee20214c0b 624960d968b5214d78ac25e533c2f6b3284ed69217a5722d0c4cb6e39cedba034632afce9fceba06f2f4cb78f9210ef1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 476d692199c1c697bdeba82f3795065f18655f0989d56a4ddf9c68cad0bd5f29 e3906196a3c939fe31e3bae750a61ae1de6d5530a745bc6dff2cf3b681a7ca603dda755dbca5ecf895b4aa6db6e86633 +SERVER_HANDSHAKE_TRAFFIC_SECRET 476d692199c1c697bdeba82f3795065f18655f0989d56a4ddf9c68cad0bd5f29 8c5cb3f185001856f1049863a0bcd2f082a449978a37dd9df6f33e399cab42ef8679e8a2d65f7ace9dfaf49eb0d31c7d +CLIENT_TRAFFIC_SECRET_0 476d692199c1c697bdeba82f3795065f18655f0989d56a4ddf9c68cad0bd5f29 436b6655a6ce1e4b3c328a1305a1c52ab4f87e71b62776e165fcfcf76422099a0159f114f922a2c2e9f2068a7bf9cec0 +SERVER_TRAFFIC_SECRET_0 476d692199c1c697bdeba82f3795065f18655f0989d56a4ddf9c68cad0bd5f29 5eeadda9de6ba3b271798b38a52ba1357c390045b38a7d4de6c75963567c6c017a76ce243422865d8e730d0e7ea1f244 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 476d692199c1c697bdeba82f3795065f18655f0989d56a4ddf9c68cad0bd5f29 e3906196a3c939fe31e3bae750a61ae1de6d5530a745bc6dff2cf3b681a7ca603dda755dbca5ecf895b4aa6db6e86633 +SERVER_HANDSHAKE_TRAFFIC_SECRET 476d692199c1c697bdeba82f3795065f18655f0989d56a4ddf9c68cad0bd5f29 8c5cb3f185001856f1049863a0bcd2f082a449978a37dd9df6f33e399cab42ef8679e8a2d65f7ace9dfaf49eb0d31c7d +CLIENT_TRAFFIC_SECRET_0 476d692199c1c697bdeba82f3795065f18655f0989d56a4ddf9c68cad0bd5f29 436b6655a6ce1e4b3c328a1305a1c52ab4f87e71b62776e165fcfcf76422099a0159f114f922a2c2e9f2068a7bf9cec0 +SERVER_TRAFFIC_SECRET_0 476d692199c1c697bdeba82f3795065f18655f0989d56a4ddf9c68cad0bd5f29 5eeadda9de6ba3b271798b38a52ba1357c390045b38a7d4de6c75963567c6c017a76ce243422865d8e730d0e7ea1f244 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 49b8160d00d32961c6d1078cb37897fd7811c3601e3b1aa3de87b1ec8f89ef2f 02a9c8fa3568df816d09e50544e2e77f006207827533ad54e05cb391235d7dc0230572653c2699b8d8bbcefeb15f5dde +SERVER_HANDSHAKE_TRAFFIC_SECRET 49b8160d00d32961c6d1078cb37897fd7811c3601e3b1aa3de87b1ec8f89ef2f b9172c4e11c3d0576d80924afb7b1f8cc6ca149544a2eaf30a7cc1730ac5b76c9b013dd7122e5dbb7e0f112024cf3146 +CLIENT_TRAFFIC_SECRET_0 49b8160d00d32961c6d1078cb37897fd7811c3601e3b1aa3de87b1ec8f89ef2f 1ee42351e95ede5852146465d96270b51f2631211ff512758d51cf6eb8c69ccbe4585365e0ea73a5387c50cd90be4f80 +SERVER_TRAFFIC_SECRET_0 49b8160d00d32961c6d1078cb37897fd7811c3601e3b1aa3de87b1ec8f89ef2f b845c6750c9741d0166b0401ed810390bf423aa385c65848bbfb7061d198ae111942be4a1a6ce73b1a629544b6fa9818 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 49b8160d00d32961c6d1078cb37897fd7811c3601e3b1aa3de87b1ec8f89ef2f 02a9c8fa3568df816d09e50544e2e77f006207827533ad54e05cb391235d7dc0230572653c2699b8d8bbcefeb15f5dde +SERVER_HANDSHAKE_TRAFFIC_SECRET 49b8160d00d32961c6d1078cb37897fd7811c3601e3b1aa3de87b1ec8f89ef2f b9172c4e11c3d0576d80924afb7b1f8cc6ca149544a2eaf30a7cc1730ac5b76c9b013dd7122e5dbb7e0f112024cf3146 +CLIENT_TRAFFIC_SECRET_0 49b8160d00d32961c6d1078cb37897fd7811c3601e3b1aa3de87b1ec8f89ef2f 1ee42351e95ede5852146465d96270b51f2631211ff512758d51cf6eb8c69ccbe4585365e0ea73a5387c50cd90be4f80 +SERVER_TRAFFIC_SECRET_0 49b8160d00d32961c6d1078cb37897fd7811c3601e3b1aa3de87b1ec8f89ef2f b845c6750c9741d0166b0401ed810390bf423aa385c65848bbfb7061d198ae111942be4a1a6ce73b1a629544b6fa9818 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 207e637835575fbba1a443683040a82e4b164f6fac4f6cdd4dd1d14290bcfced 235b55764446db37825a29495deb0f7b68374e945996f509b615c842e55ddeafd85cd5d837ac8d59e03ba6c717146bb1 +SERVER_HANDSHAKE_TRAFFIC_SECRET 207e637835575fbba1a443683040a82e4b164f6fac4f6cdd4dd1d14290bcfced 2168a8f2f78ddb7d63a4ecd12c973d36db8d729b89c5c89f4c1740f2862a565a4cc1d2b5c1a10b56f056266699d5cfbf +CLIENT_TRAFFIC_SECRET_0 207e637835575fbba1a443683040a82e4b164f6fac4f6cdd4dd1d14290bcfced f0df9aa6ee7ce3a04477047ad8fe4490074f97aec8b570447e3b29b44bc399336f8a25979a2a635a8dd8fea0653283c3 +SERVER_TRAFFIC_SECRET_0 207e637835575fbba1a443683040a82e4b164f6fac4f6cdd4dd1d14290bcfced c1c84c5992145ff95ac085774dd508181486614e441820e014502f769fa74ac122cddb223b71954f6af98f5d81e263d3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 207e637835575fbba1a443683040a82e4b164f6fac4f6cdd4dd1d14290bcfced 235b55764446db37825a29495deb0f7b68374e945996f509b615c842e55ddeafd85cd5d837ac8d59e03ba6c717146bb1 +SERVER_HANDSHAKE_TRAFFIC_SECRET 207e637835575fbba1a443683040a82e4b164f6fac4f6cdd4dd1d14290bcfced 2168a8f2f78ddb7d63a4ecd12c973d36db8d729b89c5c89f4c1740f2862a565a4cc1d2b5c1a10b56f056266699d5cfbf +CLIENT_TRAFFIC_SECRET_0 207e637835575fbba1a443683040a82e4b164f6fac4f6cdd4dd1d14290bcfced f0df9aa6ee7ce3a04477047ad8fe4490074f97aec8b570447e3b29b44bc399336f8a25979a2a635a8dd8fea0653283c3 +SERVER_TRAFFIC_SECRET_0 207e637835575fbba1a443683040a82e4b164f6fac4f6cdd4dd1d14290bcfced c1c84c5992145ff95ac085774dd508181486614e441820e014502f769fa74ac122cddb223b71954f6af98f5d81e263d3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 267743e45fc48ea7e47d986fa9e65ae12d5f3bd7c09901ee1578b2ae45ff4477 1cca4bfb78e69509d0678aef1988170a99d921994733fbac7d797c91acbf72fb0aa5d261c6d59aa902858285a3230a8d +SERVER_HANDSHAKE_TRAFFIC_SECRET 267743e45fc48ea7e47d986fa9e65ae12d5f3bd7c09901ee1578b2ae45ff4477 3228af78a9802b7a07d5c045805847163530003f69db4abdc6e4eafb29c34add2a5dd644fdaa19365fefc25e9276c8db +CLIENT_TRAFFIC_SECRET_0 267743e45fc48ea7e47d986fa9e65ae12d5f3bd7c09901ee1578b2ae45ff4477 506e73c9de16310c95da72e6d5accba366eef57d33dfce4f1bc2ff778a1c0b43a63b7972abef684ce555769eb3b305b6 +SERVER_TRAFFIC_SECRET_0 267743e45fc48ea7e47d986fa9e65ae12d5f3bd7c09901ee1578b2ae45ff4477 c76f6b68d0fc265e4e9e5df2017a3067acf16537d854e099f766d5feb69ee0c824ff11de8a80471f53210d24a4492b1f +CLIENT_HANDSHAKE_TRAFFIC_SECRET 267743e45fc48ea7e47d986fa9e65ae12d5f3bd7c09901ee1578b2ae45ff4477 1cca4bfb78e69509d0678aef1988170a99d921994733fbac7d797c91acbf72fb0aa5d261c6d59aa902858285a3230a8d +SERVER_HANDSHAKE_TRAFFIC_SECRET 267743e45fc48ea7e47d986fa9e65ae12d5f3bd7c09901ee1578b2ae45ff4477 3228af78a9802b7a07d5c045805847163530003f69db4abdc6e4eafb29c34add2a5dd644fdaa19365fefc25e9276c8db +CLIENT_TRAFFIC_SECRET_0 267743e45fc48ea7e47d986fa9e65ae12d5f3bd7c09901ee1578b2ae45ff4477 506e73c9de16310c95da72e6d5accba366eef57d33dfce4f1bc2ff778a1c0b43a63b7972abef684ce555769eb3b305b6 +SERVER_TRAFFIC_SECRET_0 267743e45fc48ea7e47d986fa9e65ae12d5f3bd7c09901ee1578b2ae45ff4477 c76f6b68d0fc265e4e9e5df2017a3067acf16537d854e099f766d5feb69ee0c824ff11de8a80471f53210d24a4492b1f +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4c0be9c101187f267d105cfe1fe9e62db589ef94158199d0873eebcc27d99a20 4c725d2f60cb62b5bf8b485f0688b83e3adfea6a096cbf2bab4a33adbeaa1624f3e0476f48b372fe4d412425dd61b141 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4c0be9c101187f267d105cfe1fe9e62db589ef94158199d0873eebcc27d99a20 dbb1762256251e5388494efc6ec1aa008b8c03c246305b6c175eccc22393270dd1085607f55e6b94f2dc91330996f4ff +CLIENT_TRAFFIC_SECRET_0 4c0be9c101187f267d105cfe1fe9e62db589ef94158199d0873eebcc27d99a20 15d562f1f7df8996184eb1dd35c3d72afb16eee0afa4c2b9cd8a6fdaa112d39158bd672ce60aada28becad37d3e84a6f +SERVER_TRAFFIC_SECRET_0 4c0be9c101187f267d105cfe1fe9e62db589ef94158199d0873eebcc27d99a20 ed43fb84fd37046dbdd0ab4bc8a92538ebc2dc7e058bd25da4b4502d7cf0f609836ae30fdd2dbb10943d6f2c438fcb84 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4c0be9c101187f267d105cfe1fe9e62db589ef94158199d0873eebcc27d99a20 4c725d2f60cb62b5bf8b485f0688b83e3adfea6a096cbf2bab4a33adbeaa1624f3e0476f48b372fe4d412425dd61b141 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4c0be9c101187f267d105cfe1fe9e62db589ef94158199d0873eebcc27d99a20 dbb1762256251e5388494efc6ec1aa008b8c03c246305b6c175eccc22393270dd1085607f55e6b94f2dc91330996f4ff +CLIENT_TRAFFIC_SECRET_0 4c0be9c101187f267d105cfe1fe9e62db589ef94158199d0873eebcc27d99a20 15d562f1f7df8996184eb1dd35c3d72afb16eee0afa4c2b9cd8a6fdaa112d39158bd672ce60aada28becad37d3e84a6f +SERVER_TRAFFIC_SECRET_0 4c0be9c101187f267d105cfe1fe9e62db589ef94158199d0873eebcc27d99a20 ed43fb84fd37046dbdd0ab4bc8a92538ebc2dc7e058bd25da4b4502d7cf0f609836ae30fdd2dbb10943d6f2c438fcb84 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4848f5293871580f305ff2bfed9cd9f24f6c0aa80c2c1288419713a666995d32 c8d0a2140e09c6d044ee28bca7d39cbc47f84f31678405ef92d66397f0f8923b761a6310004036a869e8812c3a8f1455 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4848f5293871580f305ff2bfed9cd9f24f6c0aa80c2c1288419713a666995d32 a850112902d39fedcb2d220391e2aae431a23d125580dbdf0a2923cc7d4e610c48da2cfcfb5b4113546665e4eee1a470 +CLIENT_TRAFFIC_SECRET_0 4848f5293871580f305ff2bfed9cd9f24f6c0aa80c2c1288419713a666995d32 9b59115c20d41d41aa055565f49f4726502c9e28037ab8e25b9d49fff8e975ebed57a1e4da359ccd673199107fb42aa3 +SERVER_TRAFFIC_SECRET_0 4848f5293871580f305ff2bfed9cd9f24f6c0aa80c2c1288419713a666995d32 aaefd782ffe2fb9911cded75df2f9e523e7c334081e31795d2aecbe4211be1520a33d4576313abd8d87ff8d0d8158847 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4848f5293871580f305ff2bfed9cd9f24f6c0aa80c2c1288419713a666995d32 c8d0a2140e09c6d044ee28bca7d39cbc47f84f31678405ef92d66397f0f8923b761a6310004036a869e8812c3a8f1455 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4848f5293871580f305ff2bfed9cd9f24f6c0aa80c2c1288419713a666995d32 a850112902d39fedcb2d220391e2aae431a23d125580dbdf0a2923cc7d4e610c48da2cfcfb5b4113546665e4eee1a470 +CLIENT_TRAFFIC_SECRET_0 4848f5293871580f305ff2bfed9cd9f24f6c0aa80c2c1288419713a666995d32 9b59115c20d41d41aa055565f49f4726502c9e28037ab8e25b9d49fff8e975ebed57a1e4da359ccd673199107fb42aa3 +SERVER_TRAFFIC_SECRET_0 4848f5293871580f305ff2bfed9cd9f24f6c0aa80c2c1288419713a666995d32 aaefd782ffe2fb9911cded75df2f9e523e7c334081e31795d2aecbe4211be1520a33d4576313abd8d87ff8d0d8158847 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0376ee11b09cde47151f09d188e2f815af95a439c0d3f6592609ec506f740892 1f7dcd74bbe4db5031ab570576a752ba683e17e8f0f2a52b63aa7bb38bb9a0dd2095af3a21a15998c95a5da719e63c66 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0376ee11b09cde47151f09d188e2f815af95a439c0d3f6592609ec506f740892 36e43b1e5beda4b42225c763158b5a01e01474c24aa0632832aac399ab81ace60370fb1acf69d604e9610618a0d462bb +CLIENT_TRAFFIC_SECRET_0 0376ee11b09cde47151f09d188e2f815af95a439c0d3f6592609ec506f740892 3ed9315a2f8b497184087e104455340406ef7fcd17ae27db26875ecb7cd67ea6aebae39ec2156947701629cd55252e55 +SERVER_TRAFFIC_SECRET_0 0376ee11b09cde47151f09d188e2f815af95a439c0d3f6592609ec506f740892 dd081e0a946d827868d5d9eae22b3af1e7ece57701c28543af15ad4ff8049cc7cdc4795bfa11ddd3f057fb1eaf60bb92 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0376ee11b09cde47151f09d188e2f815af95a439c0d3f6592609ec506f740892 1f7dcd74bbe4db5031ab570576a752ba683e17e8f0f2a52b63aa7bb38bb9a0dd2095af3a21a15998c95a5da719e63c66 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0376ee11b09cde47151f09d188e2f815af95a439c0d3f6592609ec506f740892 36e43b1e5beda4b42225c763158b5a01e01474c24aa0632832aac399ab81ace60370fb1acf69d604e9610618a0d462bb +CLIENT_TRAFFIC_SECRET_0 0376ee11b09cde47151f09d188e2f815af95a439c0d3f6592609ec506f740892 3ed9315a2f8b497184087e104455340406ef7fcd17ae27db26875ecb7cd67ea6aebae39ec2156947701629cd55252e55 +SERVER_TRAFFIC_SECRET_0 0376ee11b09cde47151f09d188e2f815af95a439c0d3f6592609ec506f740892 dd081e0a946d827868d5d9eae22b3af1e7ece57701c28543af15ad4ff8049cc7cdc4795bfa11ddd3f057fb1eaf60bb92 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 10774a5e3777d2d58a744e88cf2d10677a7704b752a37a5f2077128693c7549c 86961c06f30997c0eb0357923965be48cfa883b9a0947b776ebeecce2a67f6d5cdb925c1af45fb704aab4b0a5a1e8575 +SERVER_HANDSHAKE_TRAFFIC_SECRET 10774a5e3777d2d58a744e88cf2d10677a7704b752a37a5f2077128693c7549c 06e0da311de58c3af443eb398a4380417bf044024d70289bfa6d6027ed585599b2e8b838cfe5c37d725266a90db13caa +CLIENT_TRAFFIC_SECRET_0 10774a5e3777d2d58a744e88cf2d10677a7704b752a37a5f2077128693c7549c 176b959e7aa8eeda1658ace92ce5726f61d657b59c0d66ff7952150fcffe56b71277642a2239b6f8460343f50c5206bb +SERVER_TRAFFIC_SECRET_0 10774a5e3777d2d58a744e88cf2d10677a7704b752a37a5f2077128693c7549c 0e3c9ebaac151fd35d4e35a277710c1cf75ac1ce756ec5316ec2c4445108c35768a2bdb92e199e82bcd05dde66172c2c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 10774a5e3777d2d58a744e88cf2d10677a7704b752a37a5f2077128693c7549c 86961c06f30997c0eb0357923965be48cfa883b9a0947b776ebeecce2a67f6d5cdb925c1af45fb704aab4b0a5a1e8575 +SERVER_HANDSHAKE_TRAFFIC_SECRET 10774a5e3777d2d58a744e88cf2d10677a7704b752a37a5f2077128693c7549c 06e0da311de58c3af443eb398a4380417bf044024d70289bfa6d6027ed585599b2e8b838cfe5c37d725266a90db13caa +CLIENT_TRAFFIC_SECRET_0 10774a5e3777d2d58a744e88cf2d10677a7704b752a37a5f2077128693c7549c 176b959e7aa8eeda1658ace92ce5726f61d657b59c0d66ff7952150fcffe56b71277642a2239b6f8460343f50c5206bb +SERVER_TRAFFIC_SECRET_0 10774a5e3777d2d58a744e88cf2d10677a7704b752a37a5f2077128693c7549c 0e3c9ebaac151fd35d4e35a277710c1cf75ac1ce756ec5316ec2c4445108c35768a2bdb92e199e82bcd05dde66172c2c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 895a1c78884a926f3ae1cb9cb41d444e636a00b69d443bf0c9573ea76e5a567f a39c207f5d0cfcc6eef6043bf59f8933a3b1abab0afdae803d801845f35e77a35ec90cc24f0aad7fc4f499ffddfcb95b +SERVER_HANDSHAKE_TRAFFIC_SECRET 895a1c78884a926f3ae1cb9cb41d444e636a00b69d443bf0c9573ea76e5a567f 9870f397c3df40a91f81c22e189e959bb66403c17dc9d12d364f9e92105045c20c9a6fef21f453d9bd648a458bcbd2b7 +CLIENT_TRAFFIC_SECRET_0 895a1c78884a926f3ae1cb9cb41d444e636a00b69d443bf0c9573ea76e5a567f 49a6c6424c5960dff016a12e6dfe12e856321f04d50d220e9f63a21443379bbdc52bca611b9bb35976a9882d723d6034 +SERVER_TRAFFIC_SECRET_0 895a1c78884a926f3ae1cb9cb41d444e636a00b69d443bf0c9573ea76e5a567f 61f6b876dd5a716de928bd6f2322e801ee93b72078abd48d0dda98654ded8ca3715499d6d7e9808b9a5bea00491053ea +CLIENT_HANDSHAKE_TRAFFIC_SECRET 895a1c78884a926f3ae1cb9cb41d444e636a00b69d443bf0c9573ea76e5a567f a39c207f5d0cfcc6eef6043bf59f8933a3b1abab0afdae803d801845f35e77a35ec90cc24f0aad7fc4f499ffddfcb95b +SERVER_HANDSHAKE_TRAFFIC_SECRET 895a1c78884a926f3ae1cb9cb41d444e636a00b69d443bf0c9573ea76e5a567f 9870f397c3df40a91f81c22e189e959bb66403c17dc9d12d364f9e92105045c20c9a6fef21f453d9bd648a458bcbd2b7 +CLIENT_TRAFFIC_SECRET_0 895a1c78884a926f3ae1cb9cb41d444e636a00b69d443bf0c9573ea76e5a567f 49a6c6424c5960dff016a12e6dfe12e856321f04d50d220e9f63a21443379bbdc52bca611b9bb35976a9882d723d6034 +SERVER_TRAFFIC_SECRET_0 895a1c78884a926f3ae1cb9cb41d444e636a00b69d443bf0c9573ea76e5a567f 61f6b876dd5a716de928bd6f2322e801ee93b72078abd48d0dda98654ded8ca3715499d6d7e9808b9a5bea00491053ea +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5297e6ced3c3cd30776b981a494d8a3c40ad9eea4d5ab53e4e773c9b2f250cb6 bbf82c1ff95eae2cb2779662437cf797b8e4ae8a0a3cbf8676c411f6a70a87904ccb3d1d91615cfe233e96806de1a430 +SERVER_HANDSHAKE_TRAFFIC_SECRET 5297e6ced3c3cd30776b981a494d8a3c40ad9eea4d5ab53e4e773c9b2f250cb6 76a765bcf7c09fa557a6b867d4f3cf96cbbe10407240789b6082f7d86cb9e8dac09e853aeb584b7a85e05ef1dd7b478c +CLIENT_TRAFFIC_SECRET_0 5297e6ced3c3cd30776b981a494d8a3c40ad9eea4d5ab53e4e773c9b2f250cb6 5f359b4cb33fc9e03967e81e1caac2a5e2252a74a5698fc9bfd6ad1b4f2d8d04dd02465020cecafadfbc4b9f41862d00 +SERVER_TRAFFIC_SECRET_0 5297e6ced3c3cd30776b981a494d8a3c40ad9eea4d5ab53e4e773c9b2f250cb6 cf1af2fc13b0f1c9db1b69a8d72c0cb88f58441e6e02240aff4654ad8d6d99ff7b1fbf074b44cd85d2886fbcbb345d80 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5297e6ced3c3cd30776b981a494d8a3c40ad9eea4d5ab53e4e773c9b2f250cb6 bbf82c1ff95eae2cb2779662437cf797b8e4ae8a0a3cbf8676c411f6a70a87904ccb3d1d91615cfe233e96806de1a430 +SERVER_HANDSHAKE_TRAFFIC_SECRET 5297e6ced3c3cd30776b981a494d8a3c40ad9eea4d5ab53e4e773c9b2f250cb6 76a765bcf7c09fa557a6b867d4f3cf96cbbe10407240789b6082f7d86cb9e8dac09e853aeb584b7a85e05ef1dd7b478c +CLIENT_TRAFFIC_SECRET_0 5297e6ced3c3cd30776b981a494d8a3c40ad9eea4d5ab53e4e773c9b2f250cb6 5f359b4cb33fc9e03967e81e1caac2a5e2252a74a5698fc9bfd6ad1b4f2d8d04dd02465020cecafadfbc4b9f41862d00 +SERVER_TRAFFIC_SECRET_0 5297e6ced3c3cd30776b981a494d8a3c40ad9eea4d5ab53e4e773c9b2f250cb6 cf1af2fc13b0f1c9db1b69a8d72c0cb88f58441e6e02240aff4654ad8d6d99ff7b1fbf074b44cd85d2886fbcbb345d80 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4e6fb97d22da78139eea1731da4c9dee84be8c37d0d840b971a6cda0dca9088c f65b1c66cc23b1a9c18ed741ce856bfc4b2652c2e0bc4c321a4022f3959437b43fc0b1c1c793ba4c9b96e17be05afbca +SERVER_HANDSHAKE_TRAFFIC_SECRET 4e6fb97d22da78139eea1731da4c9dee84be8c37d0d840b971a6cda0dca9088c 218a16e85dfa0e4b11c5c05106200feb6fcd3730d33fb967199c2594d801d1658dc5b690347cf60b5f49cec01040804a +CLIENT_TRAFFIC_SECRET_0 4e6fb97d22da78139eea1731da4c9dee84be8c37d0d840b971a6cda0dca9088c 22c7ec265e54d79669c00ed9d22a66fcc16cf75fa5b0d92a14c4d337e454fbedeca12623b71bae542329f2c7dc65bc59 +SERVER_TRAFFIC_SECRET_0 4e6fb97d22da78139eea1731da4c9dee84be8c37d0d840b971a6cda0dca9088c 1b56b37248fede0479f12fd9faa0387960c6fc2ff506fb5655c0d562e1ece473260feca544807ef124d5b47add402cb7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4e6fb97d22da78139eea1731da4c9dee84be8c37d0d840b971a6cda0dca9088c f65b1c66cc23b1a9c18ed741ce856bfc4b2652c2e0bc4c321a4022f3959437b43fc0b1c1c793ba4c9b96e17be05afbca +SERVER_HANDSHAKE_TRAFFIC_SECRET 4e6fb97d22da78139eea1731da4c9dee84be8c37d0d840b971a6cda0dca9088c 218a16e85dfa0e4b11c5c05106200feb6fcd3730d33fb967199c2594d801d1658dc5b690347cf60b5f49cec01040804a +CLIENT_TRAFFIC_SECRET_0 4e6fb97d22da78139eea1731da4c9dee84be8c37d0d840b971a6cda0dca9088c 22c7ec265e54d79669c00ed9d22a66fcc16cf75fa5b0d92a14c4d337e454fbedeca12623b71bae542329f2c7dc65bc59 +SERVER_TRAFFIC_SECRET_0 4e6fb97d22da78139eea1731da4c9dee84be8c37d0d840b971a6cda0dca9088c 1b56b37248fede0479f12fd9faa0387960c6fc2ff506fb5655c0d562e1ece473260feca544807ef124d5b47add402cb7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 36a60383bcdefde080e3166f0f8e3c98b9d8675958a5184e21f38308101f5d56 e98a570ca78e53cd351d2e681dc779601f37cb945591eb80b1aa767c4d4261114526e917aef409542d294b0283231eb9 +SERVER_HANDSHAKE_TRAFFIC_SECRET 36a60383bcdefde080e3166f0f8e3c98b9d8675958a5184e21f38308101f5d56 8e24ba29abed1f19051a556b6431dd62bd5ec414d30fa60f0368b30ec7638f709a24376630993873b2f5f45bacb8a811 +CLIENT_TRAFFIC_SECRET_0 36a60383bcdefde080e3166f0f8e3c98b9d8675958a5184e21f38308101f5d56 e5e050b94a622785d1d0b11145a326fc85c9fd1288515e77f53af8a381b20a1141d9326cb01f6fccaded038bc429656d +SERVER_TRAFFIC_SECRET_0 36a60383bcdefde080e3166f0f8e3c98b9d8675958a5184e21f38308101f5d56 b906cc4b098e0bdda6f201e6a500fb109e089e9b8373acac76069e0cfc80c1b198656ee269484dc0237f328d3fe92c69 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 36a60383bcdefde080e3166f0f8e3c98b9d8675958a5184e21f38308101f5d56 e98a570ca78e53cd351d2e681dc779601f37cb945591eb80b1aa767c4d4261114526e917aef409542d294b0283231eb9 +SERVER_HANDSHAKE_TRAFFIC_SECRET 36a60383bcdefde080e3166f0f8e3c98b9d8675958a5184e21f38308101f5d56 8e24ba29abed1f19051a556b6431dd62bd5ec414d30fa60f0368b30ec7638f709a24376630993873b2f5f45bacb8a811 +CLIENT_TRAFFIC_SECRET_0 36a60383bcdefde080e3166f0f8e3c98b9d8675958a5184e21f38308101f5d56 e5e050b94a622785d1d0b11145a326fc85c9fd1288515e77f53af8a381b20a1141d9326cb01f6fccaded038bc429656d +SERVER_TRAFFIC_SECRET_0 36a60383bcdefde080e3166f0f8e3c98b9d8675958a5184e21f38308101f5d56 b906cc4b098e0bdda6f201e6a500fb109e089e9b8373acac76069e0cfc80c1b198656ee269484dc0237f328d3fe92c69 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c0d94b13fe00c184859ae0bd8e51f5d1e6ef6c1d163d84de4657f00b1fdbf54e 287f642d60fbbb99ac4135e57126044b05dbf52919599fa6ab7fde9ebb618ba7b45caaf7c9a5fe51e7aef19b68dee4e7 +SERVER_HANDSHAKE_TRAFFIC_SECRET c0d94b13fe00c184859ae0bd8e51f5d1e6ef6c1d163d84de4657f00b1fdbf54e c438d76e0a4da248b404543f3156a69488a1e73874a4c71a5e717fdd9187212b38927d9cbf210c8c6a7c91ecdf8421b3 +CLIENT_TRAFFIC_SECRET_0 c0d94b13fe00c184859ae0bd8e51f5d1e6ef6c1d163d84de4657f00b1fdbf54e 05f31faa63cd0617803387443bc6c87b0f940fe4899d87304f8c54e9e8ed1ed2d133cbfc1ab18ffb397a94434fddb0ef +SERVER_TRAFFIC_SECRET_0 c0d94b13fe00c184859ae0bd8e51f5d1e6ef6c1d163d84de4657f00b1fdbf54e a435e2d96369bcab19fb2d27b1bfa1f42a254b0ced00ada05269364339f06bb0d0b2e2fdae59151532e4848aa707a757 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c0d94b13fe00c184859ae0bd8e51f5d1e6ef6c1d163d84de4657f00b1fdbf54e 287f642d60fbbb99ac4135e57126044b05dbf52919599fa6ab7fde9ebb618ba7b45caaf7c9a5fe51e7aef19b68dee4e7 +SERVER_HANDSHAKE_TRAFFIC_SECRET c0d94b13fe00c184859ae0bd8e51f5d1e6ef6c1d163d84de4657f00b1fdbf54e c438d76e0a4da248b404543f3156a69488a1e73874a4c71a5e717fdd9187212b38927d9cbf210c8c6a7c91ecdf8421b3 +CLIENT_TRAFFIC_SECRET_0 c0d94b13fe00c184859ae0bd8e51f5d1e6ef6c1d163d84de4657f00b1fdbf54e 05f31faa63cd0617803387443bc6c87b0f940fe4899d87304f8c54e9e8ed1ed2d133cbfc1ab18ffb397a94434fddb0ef +SERVER_TRAFFIC_SECRET_0 c0d94b13fe00c184859ae0bd8e51f5d1e6ef6c1d163d84de4657f00b1fdbf54e a435e2d96369bcab19fb2d27b1bfa1f42a254b0ced00ada05269364339f06bb0d0b2e2fdae59151532e4848aa707a757 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 08f65a43dcf7a8a26d20ad8ca84a7377039d91dfd554ffa2b8b59d3557025150 ab901b5d6d5215d80066ccd613df26dc3d810880d219f5bf90378287cb24a00c0a750baec0d1e28ac2847ab84c7ecf6c +SERVER_HANDSHAKE_TRAFFIC_SECRET 08f65a43dcf7a8a26d20ad8ca84a7377039d91dfd554ffa2b8b59d3557025150 d6da395aafc3e8b61b979d1918b2f9795da126167b70f91e5484295c6763644dc8efef29c46879d58c6e3205f86dd0f8 +CLIENT_TRAFFIC_SECRET_0 08f65a43dcf7a8a26d20ad8ca84a7377039d91dfd554ffa2b8b59d3557025150 a6d054789ecd5c595b2bda3248e9a021c4d96e4fb322425b3ab0c4361b713e6f5253f97cb7ec4aa47e1796ebba168348 +SERVER_TRAFFIC_SECRET_0 08f65a43dcf7a8a26d20ad8ca84a7377039d91dfd554ffa2b8b59d3557025150 ba9e6305196b4b83d010b0021009a67faa055593d664965de0710919c2aa5f085473096b76aa0a477c1e8277b383b7e4 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 08f65a43dcf7a8a26d20ad8ca84a7377039d91dfd554ffa2b8b59d3557025150 ab901b5d6d5215d80066ccd613df26dc3d810880d219f5bf90378287cb24a00c0a750baec0d1e28ac2847ab84c7ecf6c +SERVER_HANDSHAKE_TRAFFIC_SECRET 08f65a43dcf7a8a26d20ad8ca84a7377039d91dfd554ffa2b8b59d3557025150 d6da395aafc3e8b61b979d1918b2f9795da126167b70f91e5484295c6763644dc8efef29c46879d58c6e3205f86dd0f8 +CLIENT_TRAFFIC_SECRET_0 08f65a43dcf7a8a26d20ad8ca84a7377039d91dfd554ffa2b8b59d3557025150 a6d054789ecd5c595b2bda3248e9a021c4d96e4fb322425b3ab0c4361b713e6f5253f97cb7ec4aa47e1796ebba168348 +SERVER_TRAFFIC_SECRET_0 08f65a43dcf7a8a26d20ad8ca84a7377039d91dfd554ffa2b8b59d3557025150 ba9e6305196b4b83d010b0021009a67faa055593d664965de0710919c2aa5f085473096b76aa0a477c1e8277b383b7e4 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4132ed62fba236644a5f815aba25061861cc9407a106b205fd85f47a276eb5d3 d95c2879bf61ee8a7c2f157ff500a292e8d5295d983d3b3f8cf3e460f4b3d65430f000ca88a9583de1aa4ea6c08e9c2d +SERVER_HANDSHAKE_TRAFFIC_SECRET 4132ed62fba236644a5f815aba25061861cc9407a106b205fd85f47a276eb5d3 aaa523c6495c6b0e05e2121c0374fac11317bb377ef472c5e4d0ea7a3ffe8dc355bf6211b50e0dfda6a0551d79173d38 +CLIENT_TRAFFIC_SECRET_0 4132ed62fba236644a5f815aba25061861cc9407a106b205fd85f47a276eb5d3 a3a2a9716e7568cb40198d313b87b81d43535ba3f7dd80f00a928fbe47685ebdd2ddba90c97f054d61458483f9e2c952 +SERVER_TRAFFIC_SECRET_0 4132ed62fba236644a5f815aba25061861cc9407a106b205fd85f47a276eb5d3 5410540e9102fbec0d4084fb2dad293c71984641c317ff91b57de4952f87cafc00ba510f7d5453fb10c6530a0ab3b447 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4132ed62fba236644a5f815aba25061861cc9407a106b205fd85f47a276eb5d3 d95c2879bf61ee8a7c2f157ff500a292e8d5295d983d3b3f8cf3e460f4b3d65430f000ca88a9583de1aa4ea6c08e9c2d +SERVER_HANDSHAKE_TRAFFIC_SECRET 4132ed62fba236644a5f815aba25061861cc9407a106b205fd85f47a276eb5d3 aaa523c6495c6b0e05e2121c0374fac11317bb377ef472c5e4d0ea7a3ffe8dc355bf6211b50e0dfda6a0551d79173d38 +CLIENT_TRAFFIC_SECRET_0 4132ed62fba236644a5f815aba25061861cc9407a106b205fd85f47a276eb5d3 a3a2a9716e7568cb40198d313b87b81d43535ba3f7dd80f00a928fbe47685ebdd2ddba90c97f054d61458483f9e2c952 +SERVER_TRAFFIC_SECRET_0 4132ed62fba236644a5f815aba25061861cc9407a106b205fd85f47a276eb5d3 5410540e9102fbec0d4084fb2dad293c71984641c317ff91b57de4952f87cafc00ba510f7d5453fb10c6530a0ab3b447 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6e35def0eb9ee1104cc12cf00a8a88c3b346b218d6e4415e0960c3a32b2d8c39 b8576b0c4fa2c7fbbff9124c07da15cc08f71d36e94d02ce5d034d3ac30583ab28fadb630c86a6ac52275afc8ad9d04f +SERVER_HANDSHAKE_TRAFFIC_SECRET 6e35def0eb9ee1104cc12cf00a8a88c3b346b218d6e4415e0960c3a32b2d8c39 44380d5a4eddb8d88f82ad411d14975670f87f9dd3fd8bc261aaa0a00f6ac808067f333a34b2d38e232f72eba91c8d1e +CLIENT_TRAFFIC_SECRET_0 6e35def0eb9ee1104cc12cf00a8a88c3b346b218d6e4415e0960c3a32b2d8c39 a9ce857bb0a679e04cec3fd6c0278b362a3298843ed98b43d1fc06cee87f86903082ff76c502520fdf85c67b48a71bb3 +SERVER_TRAFFIC_SECRET_0 6e35def0eb9ee1104cc12cf00a8a88c3b346b218d6e4415e0960c3a32b2d8c39 f21feedcca5ccc64d2d28dd900e6c6e25215778aea8c3ec1ca309164d4227f06ef4a9ef589bebceb10edc5b40b524cc7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6e35def0eb9ee1104cc12cf00a8a88c3b346b218d6e4415e0960c3a32b2d8c39 b8576b0c4fa2c7fbbff9124c07da15cc08f71d36e94d02ce5d034d3ac30583ab28fadb630c86a6ac52275afc8ad9d04f +SERVER_HANDSHAKE_TRAFFIC_SECRET 6e35def0eb9ee1104cc12cf00a8a88c3b346b218d6e4415e0960c3a32b2d8c39 44380d5a4eddb8d88f82ad411d14975670f87f9dd3fd8bc261aaa0a00f6ac808067f333a34b2d38e232f72eba91c8d1e +CLIENT_TRAFFIC_SECRET_0 6e35def0eb9ee1104cc12cf00a8a88c3b346b218d6e4415e0960c3a32b2d8c39 a9ce857bb0a679e04cec3fd6c0278b362a3298843ed98b43d1fc06cee87f86903082ff76c502520fdf85c67b48a71bb3 +SERVER_TRAFFIC_SECRET_0 6e35def0eb9ee1104cc12cf00a8a88c3b346b218d6e4415e0960c3a32b2d8c39 f21feedcca5ccc64d2d28dd900e6c6e25215778aea8c3ec1ca309164d4227f06ef4a9ef589bebceb10edc5b40b524cc7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 63b328dc89d70d89dda3a7717dfd396100a9b011befca37d0172665a6ee82ca5 dba19c652b80797df967a01812b5d1163099cb3b46687fab540d77a806695722638e053eef1b885463b5c756db6874c9 +SERVER_HANDSHAKE_TRAFFIC_SECRET 63b328dc89d70d89dda3a7717dfd396100a9b011befca37d0172665a6ee82ca5 897a43b6cf08c62113c4fb3a3edf1da71f78491af4edc7f885d3dd3aa550bca9606001d28ee9822db7d1f74e07c9b3af +CLIENT_TRAFFIC_SECRET_0 63b328dc89d70d89dda3a7717dfd396100a9b011befca37d0172665a6ee82ca5 906eeead5528bdabe88b9898ff7e4aad48335b9940f9a18167f84cb9afeea51cd722d829c11578a850cf7ee292be2051 +SERVER_TRAFFIC_SECRET_0 63b328dc89d70d89dda3a7717dfd396100a9b011befca37d0172665a6ee82ca5 be2f39e7491e8399e1bcc40655362ec3959276a037f03f736032deb5e1306d580247f1432db930b3b9a540c097f03394 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 63b328dc89d70d89dda3a7717dfd396100a9b011befca37d0172665a6ee82ca5 dba19c652b80797df967a01812b5d1163099cb3b46687fab540d77a806695722638e053eef1b885463b5c756db6874c9 +SERVER_HANDSHAKE_TRAFFIC_SECRET 63b328dc89d70d89dda3a7717dfd396100a9b011befca37d0172665a6ee82ca5 897a43b6cf08c62113c4fb3a3edf1da71f78491af4edc7f885d3dd3aa550bca9606001d28ee9822db7d1f74e07c9b3af +CLIENT_TRAFFIC_SECRET_0 63b328dc89d70d89dda3a7717dfd396100a9b011befca37d0172665a6ee82ca5 906eeead5528bdabe88b9898ff7e4aad48335b9940f9a18167f84cb9afeea51cd722d829c11578a850cf7ee292be2051 +SERVER_TRAFFIC_SECRET_0 63b328dc89d70d89dda3a7717dfd396100a9b011befca37d0172665a6ee82ca5 be2f39e7491e8399e1bcc40655362ec3959276a037f03f736032deb5e1306d580247f1432db930b3b9a540c097f03394 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c2b6c00f944cd4502b1d3c458afbf53e9061d84fd23d09768edd8eba1e6a36b4 71c5e284a07df559c62ebafd561fc18d535bd60608b5edf79b58e463b85a81381ac12e69193ec4cef2a0c6974219ec3c +SERVER_HANDSHAKE_TRAFFIC_SECRET c2b6c00f944cd4502b1d3c458afbf53e9061d84fd23d09768edd8eba1e6a36b4 987e16f6faf8158f5762cb9439520be89704e00bdc434ebe8b355d18642bdf84ac7a5a4555ce8fa6e63a8b4c850cd4b7 +CLIENT_TRAFFIC_SECRET_0 c2b6c00f944cd4502b1d3c458afbf53e9061d84fd23d09768edd8eba1e6a36b4 5fea85d3b1409dbb422693cd53cee418f33ac6b18df0ebaf2489aac1ba01228c6386c7a388f4d5ab1bbb0244263e0766 +SERVER_TRAFFIC_SECRET_0 c2b6c00f944cd4502b1d3c458afbf53e9061d84fd23d09768edd8eba1e6a36b4 faa2e25e0720a44b9d9db7f56f26a3b98b45a5238ff994a750b6fb5995dc57f8474df88c8b755d86702138f9734e893c +CLIENT_HANDSHAKE_TRAFFIC_SECRET c2b6c00f944cd4502b1d3c458afbf53e9061d84fd23d09768edd8eba1e6a36b4 71c5e284a07df559c62ebafd561fc18d535bd60608b5edf79b58e463b85a81381ac12e69193ec4cef2a0c6974219ec3c +SERVER_HANDSHAKE_TRAFFIC_SECRET c2b6c00f944cd4502b1d3c458afbf53e9061d84fd23d09768edd8eba1e6a36b4 987e16f6faf8158f5762cb9439520be89704e00bdc434ebe8b355d18642bdf84ac7a5a4555ce8fa6e63a8b4c850cd4b7 +CLIENT_TRAFFIC_SECRET_0 c2b6c00f944cd4502b1d3c458afbf53e9061d84fd23d09768edd8eba1e6a36b4 5fea85d3b1409dbb422693cd53cee418f33ac6b18df0ebaf2489aac1ba01228c6386c7a388f4d5ab1bbb0244263e0766 +SERVER_TRAFFIC_SECRET_0 c2b6c00f944cd4502b1d3c458afbf53e9061d84fd23d09768edd8eba1e6a36b4 faa2e25e0720a44b9d9db7f56f26a3b98b45a5238ff994a750b6fb5995dc57f8474df88c8b755d86702138f9734e893c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 756fb84fbc3dd85572c858e9319f2ef37c32030a18fc7189dabe39613c606ce6 3807e5228a9c598bc17014825d69e33bca283c07ba4728a595367ca83ba6032a6d4e5c3cebcd9bab65c43328b75a54cb +SERVER_HANDSHAKE_TRAFFIC_SECRET 756fb84fbc3dd85572c858e9319f2ef37c32030a18fc7189dabe39613c606ce6 527c21b357a5eca7ed1d814a5f294236c5e37a7ffe96028084d89da25aba87a6ff5810baba35ad52768d872705ce4f64 +CLIENT_TRAFFIC_SECRET_0 756fb84fbc3dd85572c858e9319f2ef37c32030a18fc7189dabe39613c606ce6 e625b71debe5f43be9997191cfaafe4fc509a44a1572292b62aba1bb6cf4105987fd4c5641de717ee278ade0dd641d13 +SERVER_TRAFFIC_SECRET_0 756fb84fbc3dd85572c858e9319f2ef37c32030a18fc7189dabe39613c606ce6 ac62e6fcd5fa3e1b7e3128177bc388eeacd0c4ab30b3d979e36d3d945e9a0230beab15534269178f974f172b683fea70 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 756fb84fbc3dd85572c858e9319f2ef37c32030a18fc7189dabe39613c606ce6 3807e5228a9c598bc17014825d69e33bca283c07ba4728a595367ca83ba6032a6d4e5c3cebcd9bab65c43328b75a54cb +SERVER_HANDSHAKE_TRAFFIC_SECRET 756fb84fbc3dd85572c858e9319f2ef37c32030a18fc7189dabe39613c606ce6 527c21b357a5eca7ed1d814a5f294236c5e37a7ffe96028084d89da25aba87a6ff5810baba35ad52768d872705ce4f64 +CLIENT_TRAFFIC_SECRET_0 756fb84fbc3dd85572c858e9319f2ef37c32030a18fc7189dabe39613c606ce6 e625b71debe5f43be9997191cfaafe4fc509a44a1572292b62aba1bb6cf4105987fd4c5641de717ee278ade0dd641d13 +SERVER_TRAFFIC_SECRET_0 756fb84fbc3dd85572c858e9319f2ef37c32030a18fc7189dabe39613c606ce6 ac62e6fcd5fa3e1b7e3128177bc388eeacd0c4ab30b3d979e36d3d945e9a0230beab15534269178f974f172b683fea70 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d4c9cf22dcd1efb45f5e47bffcced8a7881372ca18c8559dbaada4e27c24c3e7 1cd08af25df572dbd94d40a7af29760477e13ae87848873d200190a266623845e42ab23673e00676d8eb6b681d6dbfbc +SERVER_HANDSHAKE_TRAFFIC_SECRET d4c9cf22dcd1efb45f5e47bffcced8a7881372ca18c8559dbaada4e27c24c3e7 792139e712c83d4fc366195b0aa738bb1e63c662d6cb1c822e639b64154449a36bf8945f1dea45d1e931ee0b4fe0a927 +CLIENT_TRAFFIC_SECRET_0 d4c9cf22dcd1efb45f5e47bffcced8a7881372ca18c8559dbaada4e27c24c3e7 44549cd1280977d4092a1e6c247e37261a267acb0f962acfd76c024a9f43dc66ab179113e3c662d53c7ac4c8d5ecf049 +SERVER_TRAFFIC_SECRET_0 d4c9cf22dcd1efb45f5e47bffcced8a7881372ca18c8559dbaada4e27c24c3e7 5beea101bef51e040011ffbad17e78dc6dbe681d0d9965bcbab3b8f175c50c4aaa8642bb2a5a62e3b97f254b2a8e9722 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d4c9cf22dcd1efb45f5e47bffcced8a7881372ca18c8559dbaada4e27c24c3e7 1cd08af25df572dbd94d40a7af29760477e13ae87848873d200190a266623845e42ab23673e00676d8eb6b681d6dbfbc +SERVER_HANDSHAKE_TRAFFIC_SECRET d4c9cf22dcd1efb45f5e47bffcced8a7881372ca18c8559dbaada4e27c24c3e7 792139e712c83d4fc366195b0aa738bb1e63c662d6cb1c822e639b64154449a36bf8945f1dea45d1e931ee0b4fe0a927 +CLIENT_TRAFFIC_SECRET_0 d4c9cf22dcd1efb45f5e47bffcced8a7881372ca18c8559dbaada4e27c24c3e7 44549cd1280977d4092a1e6c247e37261a267acb0f962acfd76c024a9f43dc66ab179113e3c662d53c7ac4c8d5ecf049 +SERVER_TRAFFIC_SECRET_0 d4c9cf22dcd1efb45f5e47bffcced8a7881372ca18c8559dbaada4e27c24c3e7 5beea101bef51e040011ffbad17e78dc6dbe681d0d9965bcbab3b8f175c50c4aaa8642bb2a5a62e3b97f254b2a8e9722 +CLIENT_HANDSHAKE_TRAFFIC_SECRET feef77d3f7a2998a8e4afcadee9cc3197ebba790952c0d6a13935960fef6f2b9 821086192a4fc96a377cb9c6b7d9a8fb673554a88a1d204a1aab64951304f2ca2f848132c7f90c260f191c083202c13f +SERVER_HANDSHAKE_TRAFFIC_SECRET feef77d3f7a2998a8e4afcadee9cc3197ebba790952c0d6a13935960fef6f2b9 3b76533cefea61ab14450b130bebe1c0b94694322a2e8ae8cd6416ae27de543a819c54f645ae5abfe985fb3c0109734b +CLIENT_TRAFFIC_SECRET_0 feef77d3f7a2998a8e4afcadee9cc3197ebba790952c0d6a13935960fef6f2b9 0b6f7b45ea0242e8581e6aaf81c4f81b43fffb556ea4eaaddbfe7e680b5d177e525e5a4ba81d7ab227563c788494803e +SERVER_TRAFFIC_SECRET_0 feef77d3f7a2998a8e4afcadee9cc3197ebba790952c0d6a13935960fef6f2b9 4a7c9d58f82d17f286a16fc605b3025f68b43a616fa2b8bf5b60b7688a8f776b0db0adc815a937849e9a04d9050900ca +CLIENT_HANDSHAKE_TRAFFIC_SECRET feef77d3f7a2998a8e4afcadee9cc3197ebba790952c0d6a13935960fef6f2b9 821086192a4fc96a377cb9c6b7d9a8fb673554a88a1d204a1aab64951304f2ca2f848132c7f90c260f191c083202c13f +SERVER_HANDSHAKE_TRAFFIC_SECRET feef77d3f7a2998a8e4afcadee9cc3197ebba790952c0d6a13935960fef6f2b9 3b76533cefea61ab14450b130bebe1c0b94694322a2e8ae8cd6416ae27de543a819c54f645ae5abfe985fb3c0109734b +CLIENT_TRAFFIC_SECRET_0 feef77d3f7a2998a8e4afcadee9cc3197ebba790952c0d6a13935960fef6f2b9 0b6f7b45ea0242e8581e6aaf81c4f81b43fffb556ea4eaaddbfe7e680b5d177e525e5a4ba81d7ab227563c788494803e +SERVER_TRAFFIC_SECRET_0 feef77d3f7a2998a8e4afcadee9cc3197ebba790952c0d6a13935960fef6f2b9 4a7c9d58f82d17f286a16fc605b3025f68b43a616fa2b8bf5b60b7688a8f776b0db0adc815a937849e9a04d9050900ca +CLIENT_HANDSHAKE_TRAFFIC_SECRET d95f3cb437a73818dcb0346d2419a1fce66083706f6b38b70a43eb08e4521925 74ebc47c2c984d65792fb53c1c4484743ff727a96ebe60e52d0b3fe7ac86b79368f393147ccccc5f91d970808c28e739 +SERVER_HANDSHAKE_TRAFFIC_SECRET d95f3cb437a73818dcb0346d2419a1fce66083706f6b38b70a43eb08e4521925 572353d8c7a216227cfadc96cbe592bbd1534cb4e1a28365c04289af76f9bfe5c613b7030e454d2d80985811ae834a9f +CLIENT_TRAFFIC_SECRET_0 d95f3cb437a73818dcb0346d2419a1fce66083706f6b38b70a43eb08e4521925 d5ca6044046b7c3eda7b81f1b2c03b3131b7f5fe1fbd03db4ce5562ffe0d1c8f4bafddac7cac666ad71b6eab2b3cbd24 +SERVER_TRAFFIC_SECRET_0 d95f3cb437a73818dcb0346d2419a1fce66083706f6b38b70a43eb08e4521925 89820700dbc59e627bea24a1b520f1d095dd56bf677e15406a8a98ce098a0028f9e627a4b5016991db63c4403160ad4f +CLIENT_HANDSHAKE_TRAFFIC_SECRET d95f3cb437a73818dcb0346d2419a1fce66083706f6b38b70a43eb08e4521925 74ebc47c2c984d65792fb53c1c4484743ff727a96ebe60e52d0b3fe7ac86b79368f393147ccccc5f91d970808c28e739 +SERVER_HANDSHAKE_TRAFFIC_SECRET d95f3cb437a73818dcb0346d2419a1fce66083706f6b38b70a43eb08e4521925 572353d8c7a216227cfadc96cbe592bbd1534cb4e1a28365c04289af76f9bfe5c613b7030e454d2d80985811ae834a9f +CLIENT_TRAFFIC_SECRET_0 d95f3cb437a73818dcb0346d2419a1fce66083706f6b38b70a43eb08e4521925 d5ca6044046b7c3eda7b81f1b2c03b3131b7f5fe1fbd03db4ce5562ffe0d1c8f4bafddac7cac666ad71b6eab2b3cbd24 +SERVER_TRAFFIC_SECRET_0 d95f3cb437a73818dcb0346d2419a1fce66083706f6b38b70a43eb08e4521925 89820700dbc59e627bea24a1b520f1d095dd56bf677e15406a8a98ce098a0028f9e627a4b5016991db63c4403160ad4f +CLIENT_HANDSHAKE_TRAFFIC_SECRET c29a063e880fee55d73af467c3f9b55ab2dab94a645420179baf86b7810f4b8a 5ee33e88c4ee51ff82b75198a6b1f883b9049b7bf062ffb9eaee569466011b501d6e5d74919b90b0c3bd45d5592eac89 +SERVER_HANDSHAKE_TRAFFIC_SECRET c29a063e880fee55d73af467c3f9b55ab2dab94a645420179baf86b7810f4b8a 2a27f5fa0edc03ab3aa847d1c35e2dcdf2712a5b9bff847db07e458cb8a97e13d1cbd5680e595408b60974f3c5a9e1f2 +CLIENT_TRAFFIC_SECRET_0 c29a063e880fee55d73af467c3f9b55ab2dab94a645420179baf86b7810f4b8a 59f30cc40d372231f98c0239de9b7b6917cd9cd2c3ff3db05b04c61ce2bc1268b3e89f9533e7e24684e3252b9e303301 +SERVER_TRAFFIC_SECRET_0 c29a063e880fee55d73af467c3f9b55ab2dab94a645420179baf86b7810f4b8a 3174543bbc48c0d21d2a6784cf8f0b0cd29d5be61462dfad755e36ac401a2e1b2cc804142d85eef49e4e5aa86290d2c4 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c29a063e880fee55d73af467c3f9b55ab2dab94a645420179baf86b7810f4b8a 5ee33e88c4ee51ff82b75198a6b1f883b9049b7bf062ffb9eaee569466011b501d6e5d74919b90b0c3bd45d5592eac89 +SERVER_HANDSHAKE_TRAFFIC_SECRET c29a063e880fee55d73af467c3f9b55ab2dab94a645420179baf86b7810f4b8a 2a27f5fa0edc03ab3aa847d1c35e2dcdf2712a5b9bff847db07e458cb8a97e13d1cbd5680e595408b60974f3c5a9e1f2 +CLIENT_TRAFFIC_SECRET_0 c29a063e880fee55d73af467c3f9b55ab2dab94a645420179baf86b7810f4b8a 59f30cc40d372231f98c0239de9b7b6917cd9cd2c3ff3db05b04c61ce2bc1268b3e89f9533e7e24684e3252b9e303301 +SERVER_TRAFFIC_SECRET_0 c29a063e880fee55d73af467c3f9b55ab2dab94a645420179baf86b7810f4b8a 3174543bbc48c0d21d2a6784cf8f0b0cd29d5be61462dfad755e36ac401a2e1b2cc804142d85eef49e4e5aa86290d2c4 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d1543e9cf9888419e8a1e749e0725a5f62019b86397a29ce4c8eb6f28ab6ae82 d21d04c2cd83b41a13969eff4f91dd731c731dff2f30863e9eb266bc71943dedcbf0693fcdec0e7473fde4346dd0c09d +SERVER_HANDSHAKE_TRAFFIC_SECRET d1543e9cf9888419e8a1e749e0725a5f62019b86397a29ce4c8eb6f28ab6ae82 be360f241fbdb1f4a96803ff1898765513014a128e8ab9b6ad249bdeb880a0268c6714720dd5b925ad32e1a9e204d5a5 +CLIENT_TRAFFIC_SECRET_0 d1543e9cf9888419e8a1e749e0725a5f62019b86397a29ce4c8eb6f28ab6ae82 d479cd3d7e7e66029161846a92e9b83251c82cb0d4a7ea384d8a7eceb8864ee8a6b9fa6820d9656dbf8e0cfd2e431afe +SERVER_TRAFFIC_SECRET_0 d1543e9cf9888419e8a1e749e0725a5f62019b86397a29ce4c8eb6f28ab6ae82 48e978a34b387e17d319fc6a5f9eb25f15ce4395405546d42d32371c390c74817f2f2781b4714fde6bb779b3c573e864 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d1543e9cf9888419e8a1e749e0725a5f62019b86397a29ce4c8eb6f28ab6ae82 d21d04c2cd83b41a13969eff4f91dd731c731dff2f30863e9eb266bc71943dedcbf0693fcdec0e7473fde4346dd0c09d +SERVER_HANDSHAKE_TRAFFIC_SECRET d1543e9cf9888419e8a1e749e0725a5f62019b86397a29ce4c8eb6f28ab6ae82 be360f241fbdb1f4a96803ff1898765513014a128e8ab9b6ad249bdeb880a0268c6714720dd5b925ad32e1a9e204d5a5 +CLIENT_TRAFFIC_SECRET_0 d1543e9cf9888419e8a1e749e0725a5f62019b86397a29ce4c8eb6f28ab6ae82 d479cd3d7e7e66029161846a92e9b83251c82cb0d4a7ea384d8a7eceb8864ee8a6b9fa6820d9656dbf8e0cfd2e431afe +SERVER_TRAFFIC_SECRET_0 d1543e9cf9888419e8a1e749e0725a5f62019b86397a29ce4c8eb6f28ab6ae82 48e978a34b387e17d319fc6a5f9eb25f15ce4395405546d42d32371c390c74817f2f2781b4714fde6bb779b3c573e864 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c0185ffff7642d1bd0a00d09f2a9fbd8d7a1b4fd9378196fdb04b62f5508ed06 f62b523733b5d6e7858198ac0037ef9873482338f07deb9a2e441172fda85349579dc156abce9f8818e3364a93052cc4 +SERVER_HANDSHAKE_TRAFFIC_SECRET c0185ffff7642d1bd0a00d09f2a9fbd8d7a1b4fd9378196fdb04b62f5508ed06 bc63801639c2b69b258f8a264e0e3e9799a954a2081a8d88d259e285a661f6d7fee6acfea6c6cad7534e2ce05fd8fc61 +CLIENT_TRAFFIC_SECRET_0 c0185ffff7642d1bd0a00d09f2a9fbd8d7a1b4fd9378196fdb04b62f5508ed06 d6bd712268d94315ce1f1d99a63fb27956305210f9f8580832d1b823850057105dee3f9f3729edcb526522e2a95c066a +SERVER_TRAFFIC_SECRET_0 c0185ffff7642d1bd0a00d09f2a9fbd8d7a1b4fd9378196fdb04b62f5508ed06 245f1d0e2ef59632d22cb3d6a8889f8fdd9c8f9489c190428d91f93093bf2209cefeaaa2402bfa47d8f55a476d3c8ad1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c0185ffff7642d1bd0a00d09f2a9fbd8d7a1b4fd9378196fdb04b62f5508ed06 f62b523733b5d6e7858198ac0037ef9873482338f07deb9a2e441172fda85349579dc156abce9f8818e3364a93052cc4 +SERVER_HANDSHAKE_TRAFFIC_SECRET c0185ffff7642d1bd0a00d09f2a9fbd8d7a1b4fd9378196fdb04b62f5508ed06 bc63801639c2b69b258f8a264e0e3e9799a954a2081a8d88d259e285a661f6d7fee6acfea6c6cad7534e2ce05fd8fc61 +CLIENT_TRAFFIC_SECRET_0 c0185ffff7642d1bd0a00d09f2a9fbd8d7a1b4fd9378196fdb04b62f5508ed06 d6bd712268d94315ce1f1d99a63fb27956305210f9f8580832d1b823850057105dee3f9f3729edcb526522e2a95c066a +SERVER_TRAFFIC_SECRET_0 c0185ffff7642d1bd0a00d09f2a9fbd8d7a1b4fd9378196fdb04b62f5508ed06 245f1d0e2ef59632d22cb3d6a8889f8fdd9c8f9489c190428d91f93093bf2209cefeaaa2402bfa47d8f55a476d3c8ad1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a69f0f739d623912f4b76a3283198230e60d681aa35ad47fb0d19656b0032b97 0dfb82c7f8b3e7061fd9a6746bc64cffa11a09189694e06943b6e62a41649eea5ad6ecf8491b921b477edb29d4abe395 +SERVER_HANDSHAKE_TRAFFIC_SECRET a69f0f739d623912f4b76a3283198230e60d681aa35ad47fb0d19656b0032b97 73a6ae43d83a02833fcbee7bb012a7f81c60dd952de1f91c95b5e871335644f1cdfffdd542992c3842c4d676abcf21a7 +CLIENT_TRAFFIC_SECRET_0 a69f0f739d623912f4b76a3283198230e60d681aa35ad47fb0d19656b0032b97 b1d0f3d95448f678d1d950855c9eb734cb28657d428a44ce98838da389823b7704e6c67ea534153971eca0287479b41f +SERVER_TRAFFIC_SECRET_0 a69f0f739d623912f4b76a3283198230e60d681aa35ad47fb0d19656b0032b97 3f6582daf35fb4d6c9746a30d67da2f334ae9b4b7f8344af6d65d3b2ddb5373b6a31e7b86a1cfae39b970ad0b16789b7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a69f0f739d623912f4b76a3283198230e60d681aa35ad47fb0d19656b0032b97 0dfb82c7f8b3e7061fd9a6746bc64cffa11a09189694e06943b6e62a41649eea5ad6ecf8491b921b477edb29d4abe395 +SERVER_HANDSHAKE_TRAFFIC_SECRET a69f0f739d623912f4b76a3283198230e60d681aa35ad47fb0d19656b0032b97 73a6ae43d83a02833fcbee7bb012a7f81c60dd952de1f91c95b5e871335644f1cdfffdd542992c3842c4d676abcf21a7 +CLIENT_TRAFFIC_SECRET_0 a69f0f739d623912f4b76a3283198230e60d681aa35ad47fb0d19656b0032b97 b1d0f3d95448f678d1d950855c9eb734cb28657d428a44ce98838da389823b7704e6c67ea534153971eca0287479b41f +SERVER_TRAFFIC_SECRET_0 a69f0f739d623912f4b76a3283198230e60d681aa35ad47fb0d19656b0032b97 3f6582daf35fb4d6c9746a30d67da2f334ae9b4b7f8344af6d65d3b2ddb5373b6a31e7b86a1cfae39b970ad0b16789b7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5cac2a0a4565fec71487ded41939a027429c872ff167871a8a8cc195c299efd3 d71cefe2755bc23c5668a735be946e566be5489e6d8ca2a10a46ba672ef14dae75d7046696db57167e1bdc8b0b72b93c +SERVER_HANDSHAKE_TRAFFIC_SECRET 5cac2a0a4565fec71487ded41939a027429c872ff167871a8a8cc195c299efd3 4b234153610940c928634ce7cfc5bc0da8d1725adf5dc65ecbd64230f1c3a1e47a82eb848b2e37b3b57d976fdd740705 +CLIENT_TRAFFIC_SECRET_0 5cac2a0a4565fec71487ded41939a027429c872ff167871a8a8cc195c299efd3 06d182a7ce2663b24e9e6b44520bd7e6994cc155bbba948e10f23cd7d54cffec69b4d35fa39206c6966cffdf7b79ea33 +SERVER_TRAFFIC_SECRET_0 5cac2a0a4565fec71487ded41939a027429c872ff167871a8a8cc195c299efd3 e8fa868b27246e33efa90ead3e443308828918aa055a52d159d3ca37028e3b2089a6bcb117150fae17a92304208b8074 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5cac2a0a4565fec71487ded41939a027429c872ff167871a8a8cc195c299efd3 d71cefe2755bc23c5668a735be946e566be5489e6d8ca2a10a46ba672ef14dae75d7046696db57167e1bdc8b0b72b93c +SERVER_HANDSHAKE_TRAFFIC_SECRET 5cac2a0a4565fec71487ded41939a027429c872ff167871a8a8cc195c299efd3 4b234153610940c928634ce7cfc5bc0da8d1725adf5dc65ecbd64230f1c3a1e47a82eb848b2e37b3b57d976fdd740705 +CLIENT_TRAFFIC_SECRET_0 5cac2a0a4565fec71487ded41939a027429c872ff167871a8a8cc195c299efd3 06d182a7ce2663b24e9e6b44520bd7e6994cc155bbba948e10f23cd7d54cffec69b4d35fa39206c6966cffdf7b79ea33 +SERVER_TRAFFIC_SECRET_0 5cac2a0a4565fec71487ded41939a027429c872ff167871a8a8cc195c299efd3 e8fa868b27246e33efa90ead3e443308828918aa055a52d159d3ca37028e3b2089a6bcb117150fae17a92304208b8074 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 7fbf60df53f2bf8af20036dcdcc5c5252a6c9d07678536d41e4aa286111992b9 e5dbb1a9d7702fc7f6bdf66ed7d8496f0e979f77d694ef0d5c891bb951facb336355b20a937023860d2c7a5e8221d878 +SERVER_HANDSHAKE_TRAFFIC_SECRET 7fbf60df53f2bf8af20036dcdcc5c5252a6c9d07678536d41e4aa286111992b9 d080af1fcd1748d3fb6d25ee9dd30f86795874e2d1ad11af548f62243540e103f72fca7533803f3d19801635183b6125 +CLIENT_TRAFFIC_SECRET_0 7fbf60df53f2bf8af20036dcdcc5c5252a6c9d07678536d41e4aa286111992b9 1869779e64e759966e2a3608b54ddc6c7911f0967ba612c7c2eb515209b8f0f8464ba0410545dd1d05e775fd26306c54 +SERVER_TRAFFIC_SECRET_0 7fbf60df53f2bf8af20036dcdcc5c5252a6c9d07678536d41e4aa286111992b9 22839dcf67463da059d4a70377a263a682f002cecc57e1bed5f2bc8cae66d9231f1d3d6df168aed07f104970cb1a99a9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 7fbf60df53f2bf8af20036dcdcc5c5252a6c9d07678536d41e4aa286111992b9 e5dbb1a9d7702fc7f6bdf66ed7d8496f0e979f77d694ef0d5c891bb951facb336355b20a937023860d2c7a5e8221d878 +SERVER_HANDSHAKE_TRAFFIC_SECRET 7fbf60df53f2bf8af20036dcdcc5c5252a6c9d07678536d41e4aa286111992b9 d080af1fcd1748d3fb6d25ee9dd30f86795874e2d1ad11af548f62243540e103f72fca7533803f3d19801635183b6125 +CLIENT_TRAFFIC_SECRET_0 7fbf60df53f2bf8af20036dcdcc5c5252a6c9d07678536d41e4aa286111992b9 1869779e64e759966e2a3608b54ddc6c7911f0967ba612c7c2eb515209b8f0f8464ba0410545dd1d05e775fd26306c54 +SERVER_TRAFFIC_SECRET_0 7fbf60df53f2bf8af20036dcdcc5c5252a6c9d07678536d41e4aa286111992b9 22839dcf67463da059d4a70377a263a682f002cecc57e1bed5f2bc8cae66d9231f1d3d6df168aed07f104970cb1a99a9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 43b5972690998186ea431a4249b7dc4fac3b192c730e9e70489d1863b3c00d89 6a94540d4e886e0d074a0db10404eaa9805a5c3f4aa95d0d7f0f8eae413c141e60e55a717b70c956f5732f4424598196 +SERVER_HANDSHAKE_TRAFFIC_SECRET 43b5972690998186ea431a4249b7dc4fac3b192c730e9e70489d1863b3c00d89 01d0729ef61fd79a403c23b82328cb63de4d91a8a077862c3bf77238f6c5051010fdecb8ecbb393f7ffa5cd1ff23dc3f +CLIENT_TRAFFIC_SECRET_0 43b5972690998186ea431a4249b7dc4fac3b192c730e9e70489d1863b3c00d89 e4842a531b27d880cd59195813a34be6c721c3e84b5a0fe9d5b6ee250ff74113485d90c1af20f2ced446e40f7ce0f798 +SERVER_TRAFFIC_SECRET_0 43b5972690998186ea431a4249b7dc4fac3b192c730e9e70489d1863b3c00d89 1b211e2b5a440b45b06850e87204959fe777a31bf04ac3ca341409d497286e7720083e14c33b526e74204fe947331bb0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 43b5972690998186ea431a4249b7dc4fac3b192c730e9e70489d1863b3c00d89 6a94540d4e886e0d074a0db10404eaa9805a5c3f4aa95d0d7f0f8eae413c141e60e55a717b70c956f5732f4424598196 +SERVER_HANDSHAKE_TRAFFIC_SECRET 43b5972690998186ea431a4249b7dc4fac3b192c730e9e70489d1863b3c00d89 01d0729ef61fd79a403c23b82328cb63de4d91a8a077862c3bf77238f6c5051010fdecb8ecbb393f7ffa5cd1ff23dc3f +CLIENT_TRAFFIC_SECRET_0 43b5972690998186ea431a4249b7dc4fac3b192c730e9e70489d1863b3c00d89 e4842a531b27d880cd59195813a34be6c721c3e84b5a0fe9d5b6ee250ff74113485d90c1af20f2ced446e40f7ce0f798 +SERVER_TRAFFIC_SECRET_0 43b5972690998186ea431a4249b7dc4fac3b192c730e9e70489d1863b3c00d89 1b211e2b5a440b45b06850e87204959fe777a31bf04ac3ca341409d497286e7720083e14c33b526e74204fe947331bb0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 53704cdf6b4b7d79e305e22f31dc49a6e40abb471aa3476bedaf404b51f4b3f1 90e6b9290fcb4a85fd8ddef722d8fea55255d00d5380a9ebbd46dfefa321c63b115f6e8c1fbb6e30f84b3ff79c4f8433 +SERVER_HANDSHAKE_TRAFFIC_SECRET 53704cdf6b4b7d79e305e22f31dc49a6e40abb471aa3476bedaf404b51f4b3f1 1b91eaa6981dda6a4d03eae8a70783b8cee9b19ef3bac5ff6ceace7a3233519f700a627645a997ee59ec01f9214546c6 +CLIENT_TRAFFIC_SECRET_0 53704cdf6b4b7d79e305e22f31dc49a6e40abb471aa3476bedaf404b51f4b3f1 de4925d20a091597f32f84533effc4f4640de2f0556eda166726a5c2ee19ff4f404834d75742de3d32de03b4168077cd +SERVER_TRAFFIC_SECRET_0 53704cdf6b4b7d79e305e22f31dc49a6e40abb471aa3476bedaf404b51f4b3f1 dd8834105ff529bff414ec1665d37777afc82d4384938a11a148786cfa9719b9f11005ae4b6ed608671ef9a158474cce +CLIENT_HANDSHAKE_TRAFFIC_SECRET 53704cdf6b4b7d79e305e22f31dc49a6e40abb471aa3476bedaf404b51f4b3f1 90e6b9290fcb4a85fd8ddef722d8fea55255d00d5380a9ebbd46dfefa321c63b115f6e8c1fbb6e30f84b3ff79c4f8433 +SERVER_HANDSHAKE_TRAFFIC_SECRET 53704cdf6b4b7d79e305e22f31dc49a6e40abb471aa3476bedaf404b51f4b3f1 1b91eaa6981dda6a4d03eae8a70783b8cee9b19ef3bac5ff6ceace7a3233519f700a627645a997ee59ec01f9214546c6 +CLIENT_TRAFFIC_SECRET_0 53704cdf6b4b7d79e305e22f31dc49a6e40abb471aa3476bedaf404b51f4b3f1 de4925d20a091597f32f84533effc4f4640de2f0556eda166726a5c2ee19ff4f404834d75742de3d32de03b4168077cd +SERVER_TRAFFIC_SECRET_0 53704cdf6b4b7d79e305e22f31dc49a6e40abb471aa3476bedaf404b51f4b3f1 dd8834105ff529bff414ec1665d37777afc82d4384938a11a148786cfa9719b9f11005ae4b6ed608671ef9a158474cce +CLIENT_HANDSHAKE_TRAFFIC_SECRET 418b60e1325d46b3498a9117366d93482e25053532c51fc369686eda18887d40 91ea69b430a5c76a3e8d37fa3a513c05c85d757c086952e62d041609009b6d07329bb8c88be586aa3d88977f05360ad4 +SERVER_HANDSHAKE_TRAFFIC_SECRET 418b60e1325d46b3498a9117366d93482e25053532c51fc369686eda18887d40 59aab6626870499474501cf7111e940a13eaaf26ae0207d8945c1168d31336e61edbe56d5c39fa3ca5a7d796eb95f6aa +CLIENT_TRAFFIC_SECRET_0 418b60e1325d46b3498a9117366d93482e25053532c51fc369686eda18887d40 45fdcd5a7c3a9719731f8b1269a0449de2561c7756de85f60ed85fba2d89b32edd601b25c7f441a59bf9a60b53010383 +SERVER_TRAFFIC_SECRET_0 418b60e1325d46b3498a9117366d93482e25053532c51fc369686eda18887d40 531127cfde84e24e1c3f3d08337ff6b72d1ca1d38a982cabadfa80b97526af36a697b6960bd3fcbd646035366614dc4f +CLIENT_HANDSHAKE_TRAFFIC_SECRET 418b60e1325d46b3498a9117366d93482e25053532c51fc369686eda18887d40 91ea69b430a5c76a3e8d37fa3a513c05c85d757c086952e62d041609009b6d07329bb8c88be586aa3d88977f05360ad4 +SERVER_HANDSHAKE_TRAFFIC_SECRET 418b60e1325d46b3498a9117366d93482e25053532c51fc369686eda18887d40 59aab6626870499474501cf7111e940a13eaaf26ae0207d8945c1168d31336e61edbe56d5c39fa3ca5a7d796eb95f6aa +CLIENT_TRAFFIC_SECRET_0 418b60e1325d46b3498a9117366d93482e25053532c51fc369686eda18887d40 45fdcd5a7c3a9719731f8b1269a0449de2561c7756de85f60ed85fba2d89b32edd601b25c7f441a59bf9a60b53010383 +SERVER_TRAFFIC_SECRET_0 418b60e1325d46b3498a9117366d93482e25053532c51fc369686eda18887d40 531127cfde84e24e1c3f3d08337ff6b72d1ca1d38a982cabadfa80b97526af36a697b6960bd3fcbd646035366614dc4f +CLIENT_HANDSHAKE_TRAFFIC_SECRET e9de083a567f15cab6fc2b461e0b5b5301786b44f6d5f9856838b88cbb7e3a17 b61eedf159261a13787dec36ad6e5f860521db703847024025da8123c4314c77dce319c88b83dabb923a28940debf5a9 +SERVER_HANDSHAKE_TRAFFIC_SECRET e9de083a567f15cab6fc2b461e0b5b5301786b44f6d5f9856838b88cbb7e3a17 650bed8e0d9ee23af0a3db3765c0d83f634c9a412c8aa84edf6207ba3cb57ee257c5a1979cf877e5ecca37bc5e7cc1e3 +CLIENT_TRAFFIC_SECRET_0 e9de083a567f15cab6fc2b461e0b5b5301786b44f6d5f9856838b88cbb7e3a17 7194d6e866b535980a9a2f4c2a772adedc43a2f53596f61227e49d90ea3b31182a574ad82e9df512ab24fde935e8b478 +SERVER_TRAFFIC_SECRET_0 e9de083a567f15cab6fc2b461e0b5b5301786b44f6d5f9856838b88cbb7e3a17 5a7546c4ceb46b5baf7255915062531daa75c644841e8841d2a721637be6aa340a6d3752fe0efcf2459ec2763905b89d +CLIENT_HANDSHAKE_TRAFFIC_SECRET e9de083a567f15cab6fc2b461e0b5b5301786b44f6d5f9856838b88cbb7e3a17 b61eedf159261a13787dec36ad6e5f860521db703847024025da8123c4314c77dce319c88b83dabb923a28940debf5a9 +SERVER_HANDSHAKE_TRAFFIC_SECRET e9de083a567f15cab6fc2b461e0b5b5301786b44f6d5f9856838b88cbb7e3a17 650bed8e0d9ee23af0a3db3765c0d83f634c9a412c8aa84edf6207ba3cb57ee257c5a1979cf877e5ecca37bc5e7cc1e3 +CLIENT_TRAFFIC_SECRET_0 e9de083a567f15cab6fc2b461e0b5b5301786b44f6d5f9856838b88cbb7e3a17 7194d6e866b535980a9a2f4c2a772adedc43a2f53596f61227e49d90ea3b31182a574ad82e9df512ab24fde935e8b478 +SERVER_TRAFFIC_SECRET_0 e9de083a567f15cab6fc2b461e0b5b5301786b44f6d5f9856838b88cbb7e3a17 5a7546c4ceb46b5baf7255915062531daa75c644841e8841d2a721637be6aa340a6d3752fe0efcf2459ec2763905b89d +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4c0834b777745673b2df3c7cbf242cf686146a25bb499efefc0e7871eb3809c9 33e1f9e55dda915d3074371b22cb6c5ebe12993a555c2efbd15ffd7b16b52b1f4ee98b08b3029323f9e6b12d246e7bb0 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4c0834b777745673b2df3c7cbf242cf686146a25bb499efefc0e7871eb3809c9 ccb1f21a5d645ef28750e536107a4e84daaf24b5cf41f845c5306202a4ae782a8b783789999b47b8d4fb532736e7fdf7 +CLIENT_TRAFFIC_SECRET_0 4c0834b777745673b2df3c7cbf242cf686146a25bb499efefc0e7871eb3809c9 0a7e7ec301c0ef42ad2f0abd99f383dc37e906700c3921f570b10374e92569cb751ccc25a0d624290425303203229a88 +SERVER_TRAFFIC_SECRET_0 4c0834b777745673b2df3c7cbf242cf686146a25bb499efefc0e7871eb3809c9 abdf3809adc55fda5507d6c25c73c5e04c8bf73aa0d1407ce973bd8eeeacdd7f5642f4347889ef2b36864f0c1962be31 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4c0834b777745673b2df3c7cbf242cf686146a25bb499efefc0e7871eb3809c9 33e1f9e55dda915d3074371b22cb6c5ebe12993a555c2efbd15ffd7b16b52b1f4ee98b08b3029323f9e6b12d246e7bb0 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4c0834b777745673b2df3c7cbf242cf686146a25bb499efefc0e7871eb3809c9 ccb1f21a5d645ef28750e536107a4e84daaf24b5cf41f845c5306202a4ae782a8b783789999b47b8d4fb532736e7fdf7 +CLIENT_TRAFFIC_SECRET_0 4c0834b777745673b2df3c7cbf242cf686146a25bb499efefc0e7871eb3809c9 0a7e7ec301c0ef42ad2f0abd99f383dc37e906700c3921f570b10374e92569cb751ccc25a0d624290425303203229a88 +SERVER_TRAFFIC_SECRET_0 4c0834b777745673b2df3c7cbf242cf686146a25bb499efefc0e7871eb3809c9 abdf3809adc55fda5507d6c25c73c5e04c8bf73aa0d1407ce973bd8eeeacdd7f5642f4347889ef2b36864f0c1962be31 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 265cf5701f96baadaee97d079adccb8dda444111e5376c99ca54a6373f24e047 84663e0044194004b7e128d63749554888f6bdcbb393a5a1671d662d489d66e33dac3ba0e9883438151791b45183e336 +SERVER_HANDSHAKE_TRAFFIC_SECRET 265cf5701f96baadaee97d079adccb8dda444111e5376c99ca54a6373f24e047 f5974890ceb9fb53275abbc860b9e30bf971abc54a63cefe9aca70234dd15ea4e135a1a2cdfc11ddb7cc9ec835851c37 +CLIENT_TRAFFIC_SECRET_0 265cf5701f96baadaee97d079adccb8dda444111e5376c99ca54a6373f24e047 37f55c022bdd5bd6e25bd63d36edc2ccaebae4a61d3a88f57be2a4fb54eb227e655c4c30163cffd3b438820f825f2c28 +SERVER_TRAFFIC_SECRET_0 265cf5701f96baadaee97d079adccb8dda444111e5376c99ca54a6373f24e047 0df8d9b0da1e53ce816dfa49dd6693a9cd0d07cde75e89e9a5b1eec6dddf8dd8dfcc616b202b8acff73efc93e8c4afa5 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 265cf5701f96baadaee97d079adccb8dda444111e5376c99ca54a6373f24e047 84663e0044194004b7e128d63749554888f6bdcbb393a5a1671d662d489d66e33dac3ba0e9883438151791b45183e336 +SERVER_HANDSHAKE_TRAFFIC_SECRET 265cf5701f96baadaee97d079adccb8dda444111e5376c99ca54a6373f24e047 f5974890ceb9fb53275abbc860b9e30bf971abc54a63cefe9aca70234dd15ea4e135a1a2cdfc11ddb7cc9ec835851c37 +CLIENT_TRAFFIC_SECRET_0 265cf5701f96baadaee97d079adccb8dda444111e5376c99ca54a6373f24e047 37f55c022bdd5bd6e25bd63d36edc2ccaebae4a61d3a88f57be2a4fb54eb227e655c4c30163cffd3b438820f825f2c28 +SERVER_TRAFFIC_SECRET_0 265cf5701f96baadaee97d079adccb8dda444111e5376c99ca54a6373f24e047 0df8d9b0da1e53ce816dfa49dd6693a9cd0d07cde75e89e9a5b1eec6dddf8dd8dfcc616b202b8acff73efc93e8c4afa5 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 589aa3f5bb912835913eb9e0834ba4c552494b43a0552058cc809409d34becb1 cbad1b5b6a448ca74ff21051db272d628fd99fd0c66948f07e44cfd4c3162a88ad160ebed1c31063e1e29bac7556b83a +SERVER_HANDSHAKE_TRAFFIC_SECRET 589aa3f5bb912835913eb9e0834ba4c552494b43a0552058cc809409d34becb1 f44b181322d9e291bc075f4950cb0d818320792bdd5e4718ec63618bccff2297f8729afaccb78105a96ab02f24eb7ab0 +CLIENT_TRAFFIC_SECRET_0 589aa3f5bb912835913eb9e0834ba4c552494b43a0552058cc809409d34becb1 83dfda16868eb7d161cabb0f5853ff8d23dac03acd56e6cef7e13cf614807384742f4622428a2440c9516f9c617269fe +SERVER_TRAFFIC_SECRET_0 589aa3f5bb912835913eb9e0834ba4c552494b43a0552058cc809409d34becb1 b7e903ecac21ebe397039795a2c6f96b0d65437d2575c3fe3cd074c58bfe83b0b6261b30ea46fde0a5c0b067f97faa84 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 589aa3f5bb912835913eb9e0834ba4c552494b43a0552058cc809409d34becb1 cbad1b5b6a448ca74ff21051db272d628fd99fd0c66948f07e44cfd4c3162a88ad160ebed1c31063e1e29bac7556b83a +SERVER_HANDSHAKE_TRAFFIC_SECRET 589aa3f5bb912835913eb9e0834ba4c552494b43a0552058cc809409d34becb1 f44b181322d9e291bc075f4950cb0d818320792bdd5e4718ec63618bccff2297f8729afaccb78105a96ab02f24eb7ab0 +CLIENT_TRAFFIC_SECRET_0 589aa3f5bb912835913eb9e0834ba4c552494b43a0552058cc809409d34becb1 83dfda16868eb7d161cabb0f5853ff8d23dac03acd56e6cef7e13cf614807384742f4622428a2440c9516f9c617269fe +SERVER_TRAFFIC_SECRET_0 589aa3f5bb912835913eb9e0834ba4c552494b43a0552058cc809409d34becb1 b7e903ecac21ebe397039795a2c6f96b0d65437d2575c3fe3cd074c58bfe83b0b6261b30ea46fde0a5c0b067f97faa84 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 72f353256ed5866ebf27398c0a97e5f8545a6e0e2104bdb921aefc406bcac56e 0a708533053e84314973e70118d58264244e04e0b798734b9938530bdab575ae8deed91baea9ee72891a4b47297ae417 +SERVER_HANDSHAKE_TRAFFIC_SECRET 72f353256ed5866ebf27398c0a97e5f8545a6e0e2104bdb921aefc406bcac56e 3c8ec370f60b983feae8977ce45e38954d90637d1c94c7249c2e69130888fc52c547ba089ddde24c746ce9316d895de8 +CLIENT_TRAFFIC_SECRET_0 72f353256ed5866ebf27398c0a97e5f8545a6e0e2104bdb921aefc406bcac56e a6cc255b45fe8da691d87f45d0f43336ee92143d33ca5ed95ecb431c1fb2529cf0b880093dc3c9357bc6d8ed8d99d470 +SERVER_TRAFFIC_SECRET_0 72f353256ed5866ebf27398c0a97e5f8545a6e0e2104bdb921aefc406bcac56e 83b2437f0a2ae757709a096f0b3df75236ee01750e911237ff05b042856d184ec5eb035898cc36819a83296508196e2a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 72f353256ed5866ebf27398c0a97e5f8545a6e0e2104bdb921aefc406bcac56e 0a708533053e84314973e70118d58264244e04e0b798734b9938530bdab575ae8deed91baea9ee72891a4b47297ae417 +SERVER_HANDSHAKE_TRAFFIC_SECRET 72f353256ed5866ebf27398c0a97e5f8545a6e0e2104bdb921aefc406bcac56e 3c8ec370f60b983feae8977ce45e38954d90637d1c94c7249c2e69130888fc52c547ba089ddde24c746ce9316d895de8 +CLIENT_TRAFFIC_SECRET_0 72f353256ed5866ebf27398c0a97e5f8545a6e0e2104bdb921aefc406bcac56e a6cc255b45fe8da691d87f45d0f43336ee92143d33ca5ed95ecb431c1fb2529cf0b880093dc3c9357bc6d8ed8d99d470 +SERVER_TRAFFIC_SECRET_0 72f353256ed5866ebf27398c0a97e5f8545a6e0e2104bdb921aefc406bcac56e 83b2437f0a2ae757709a096f0b3df75236ee01750e911237ff05b042856d184ec5eb035898cc36819a83296508196e2a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1d021b149c7463666f872489cbe07e0b33adcb5048c514a371396576c78a12d6 53bdc28df689e62185fed8a137093c27b9e408e0ef98605b511c51434caae6b197f86130961b52d69c0caca3d2311816 +SERVER_HANDSHAKE_TRAFFIC_SECRET 1d021b149c7463666f872489cbe07e0b33adcb5048c514a371396576c78a12d6 95f64edf6215aac4271fb1c6ee152e0261c57658de6e31302818fd171b47063de549b078195212a0d5e571b1c7631634 +CLIENT_TRAFFIC_SECRET_0 1d021b149c7463666f872489cbe07e0b33adcb5048c514a371396576c78a12d6 e9563e8dc7faef58d6f95b8d27e10a323a241ed77308856d711de8dc9535a4b539bf6a4ca746d8a62dbdc39b03176a7a +SERVER_TRAFFIC_SECRET_0 1d021b149c7463666f872489cbe07e0b33adcb5048c514a371396576c78a12d6 d9534c27925d5be5224153bd67355a3b30d3fe464087571a58ff04404c3c1ab8524c76dcf05ad5b6100fbd84f1b5dc14 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1d021b149c7463666f872489cbe07e0b33adcb5048c514a371396576c78a12d6 53bdc28df689e62185fed8a137093c27b9e408e0ef98605b511c51434caae6b197f86130961b52d69c0caca3d2311816 +SERVER_HANDSHAKE_TRAFFIC_SECRET 1d021b149c7463666f872489cbe07e0b33adcb5048c514a371396576c78a12d6 95f64edf6215aac4271fb1c6ee152e0261c57658de6e31302818fd171b47063de549b078195212a0d5e571b1c7631634 +CLIENT_TRAFFIC_SECRET_0 1d021b149c7463666f872489cbe07e0b33adcb5048c514a371396576c78a12d6 e9563e8dc7faef58d6f95b8d27e10a323a241ed77308856d711de8dc9535a4b539bf6a4ca746d8a62dbdc39b03176a7a +SERVER_TRAFFIC_SECRET_0 1d021b149c7463666f872489cbe07e0b33adcb5048c514a371396576c78a12d6 d9534c27925d5be5224153bd67355a3b30d3fe464087571a58ff04404c3c1ab8524c76dcf05ad5b6100fbd84f1b5dc14 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1b54a7d5b09547aaf12311efebccd8185146f0d41a1aed54c9e179d1bde84c5c 872c58e5845a932078ab6a478f0861f10f21ea84528a1dca6b8935923d1055fc4fdc57da50fe352d5b7123eacd3038a5 +SERVER_HANDSHAKE_TRAFFIC_SECRET 1b54a7d5b09547aaf12311efebccd8185146f0d41a1aed54c9e179d1bde84c5c 2a85d8c3d2f248bb7fc41ce09dc12fe2b8fbec7cf522d76aef430b66ffb5742ca543b9b0d9024347de1db23c4a5f0a6a +CLIENT_TRAFFIC_SECRET_0 1b54a7d5b09547aaf12311efebccd8185146f0d41a1aed54c9e179d1bde84c5c 16140dccaf05c85a8c2fe0e168d76ac87ff37bc78403848bf6ac1b083ac5cfef85879e74befda7a5c95af63ab75ce41b +SERVER_TRAFFIC_SECRET_0 1b54a7d5b09547aaf12311efebccd8185146f0d41a1aed54c9e179d1bde84c5c 131f925b29fe58672e1a5160188ed1b57e5259ae05c7ea1683b3201dbae9cb70254e939ced8f02835af40e33394b52ef +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1b54a7d5b09547aaf12311efebccd8185146f0d41a1aed54c9e179d1bde84c5c 872c58e5845a932078ab6a478f0861f10f21ea84528a1dca6b8935923d1055fc4fdc57da50fe352d5b7123eacd3038a5 +SERVER_HANDSHAKE_TRAFFIC_SECRET 1b54a7d5b09547aaf12311efebccd8185146f0d41a1aed54c9e179d1bde84c5c 2a85d8c3d2f248bb7fc41ce09dc12fe2b8fbec7cf522d76aef430b66ffb5742ca543b9b0d9024347de1db23c4a5f0a6a +CLIENT_TRAFFIC_SECRET_0 1b54a7d5b09547aaf12311efebccd8185146f0d41a1aed54c9e179d1bde84c5c 16140dccaf05c85a8c2fe0e168d76ac87ff37bc78403848bf6ac1b083ac5cfef85879e74befda7a5c95af63ab75ce41b +SERVER_TRAFFIC_SECRET_0 1b54a7d5b09547aaf12311efebccd8185146f0d41a1aed54c9e179d1bde84c5c 131f925b29fe58672e1a5160188ed1b57e5259ae05c7ea1683b3201dbae9cb70254e939ced8f02835af40e33394b52ef +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6e4827ca1c23f64b78f561fe320353033e96e17674d0639d1a83a0a251dc0e55 75d9d48dd61f32406decb68cc72bb40985da4bc85e4e750bbc4a88315a306166c829101446eddd453e96eb4256f6a677 +SERVER_HANDSHAKE_TRAFFIC_SECRET 6e4827ca1c23f64b78f561fe320353033e96e17674d0639d1a83a0a251dc0e55 d3b6d6f6afcb549400315b40c8e55d4d6fcf734a0d613e3b5b1603b94b414a7f2e40d0270547d35085dfbb19a5d18323 +CLIENT_TRAFFIC_SECRET_0 6e4827ca1c23f64b78f561fe320353033e96e17674d0639d1a83a0a251dc0e55 d79b574c6b142ac3b371820f907901383a03fc99bc07dc9b00946f3c35142725e307c2612be27b21fb776ab37b43fa80 +SERVER_TRAFFIC_SECRET_0 6e4827ca1c23f64b78f561fe320353033e96e17674d0639d1a83a0a251dc0e55 1334b750f9b5288234b5c460a05d1759ac1eed4954fbd4fa8995dbe3c336c4b11ab1eab86d1623922d3451089bf218c4 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6e4827ca1c23f64b78f561fe320353033e96e17674d0639d1a83a0a251dc0e55 75d9d48dd61f32406decb68cc72bb40985da4bc85e4e750bbc4a88315a306166c829101446eddd453e96eb4256f6a677 +SERVER_HANDSHAKE_TRAFFIC_SECRET 6e4827ca1c23f64b78f561fe320353033e96e17674d0639d1a83a0a251dc0e55 d3b6d6f6afcb549400315b40c8e55d4d6fcf734a0d613e3b5b1603b94b414a7f2e40d0270547d35085dfbb19a5d18323 +CLIENT_TRAFFIC_SECRET_0 6e4827ca1c23f64b78f561fe320353033e96e17674d0639d1a83a0a251dc0e55 d79b574c6b142ac3b371820f907901383a03fc99bc07dc9b00946f3c35142725e307c2612be27b21fb776ab37b43fa80 +SERVER_TRAFFIC_SECRET_0 6e4827ca1c23f64b78f561fe320353033e96e17674d0639d1a83a0a251dc0e55 1334b750f9b5288234b5c460a05d1759ac1eed4954fbd4fa8995dbe3c336c4b11ab1eab86d1623922d3451089bf218c4 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f4a9f107a1f2f8f75b235dfd2d57e0ba7d8144b0e2303ce57ed334ac314b1340 75b41460a4fb345b172bc55012f5ab211f8b34d9f81ccedfcd37d73b1d9535d9d9028aa6f4a842c89cc8ff7fcf74c2c2 +SERVER_HANDSHAKE_TRAFFIC_SECRET f4a9f107a1f2f8f75b235dfd2d57e0ba7d8144b0e2303ce57ed334ac314b1340 d9f7b4f008bc41037ee237f81aa16a83514f3218632bec41d155d3bf5523a4466dce80ba3171f4a06017cb987091d7fc +CLIENT_TRAFFIC_SECRET_0 f4a9f107a1f2f8f75b235dfd2d57e0ba7d8144b0e2303ce57ed334ac314b1340 314816334992704b64ea494241c4b955e706db7514badc10bde4b44ebd8de830b4999b704035360102cd5b2f27501f7b +SERVER_TRAFFIC_SECRET_0 f4a9f107a1f2f8f75b235dfd2d57e0ba7d8144b0e2303ce57ed334ac314b1340 a87a770cf20a928b8b802446da533609ebf09efaf0f838c86a5a4b9f9031dff4c7727e1c40782212d3ce17e4901072db +CLIENT_HANDSHAKE_TRAFFIC_SECRET f4a9f107a1f2f8f75b235dfd2d57e0ba7d8144b0e2303ce57ed334ac314b1340 75b41460a4fb345b172bc55012f5ab211f8b34d9f81ccedfcd37d73b1d9535d9d9028aa6f4a842c89cc8ff7fcf74c2c2 +SERVER_HANDSHAKE_TRAFFIC_SECRET f4a9f107a1f2f8f75b235dfd2d57e0ba7d8144b0e2303ce57ed334ac314b1340 d9f7b4f008bc41037ee237f81aa16a83514f3218632bec41d155d3bf5523a4466dce80ba3171f4a06017cb987091d7fc +CLIENT_TRAFFIC_SECRET_0 f4a9f107a1f2f8f75b235dfd2d57e0ba7d8144b0e2303ce57ed334ac314b1340 314816334992704b64ea494241c4b955e706db7514badc10bde4b44ebd8de830b4999b704035360102cd5b2f27501f7b +SERVER_TRAFFIC_SECRET_0 f4a9f107a1f2f8f75b235dfd2d57e0ba7d8144b0e2303ce57ed334ac314b1340 a87a770cf20a928b8b802446da533609ebf09efaf0f838c86a5a4b9f9031dff4c7727e1c40782212d3ce17e4901072db +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1fbe3810ad4627f9993c4290510bec73d0573e7a2b0075e1da9644a76a1e916c ee319a3667fbcf9b4772ed9cd63e4f2875103d727709ddad30227c42d9186094a5265fcf46c92978f0e34a112a04b45a +SERVER_HANDSHAKE_TRAFFIC_SECRET 1fbe3810ad4627f9993c4290510bec73d0573e7a2b0075e1da9644a76a1e916c 386f650d2016ccdd21940608da1fa41cf165e6226ed1c8ecf6afaca2869087204abcf6902ef96a1ff3e1579593cc17d0 +CLIENT_TRAFFIC_SECRET_0 1fbe3810ad4627f9993c4290510bec73d0573e7a2b0075e1da9644a76a1e916c 7481546e9c12d9a0af06450d076d1584ec01ae3cfac9a0701d8ae43c8ca684cf0303e5d0413cdd4d243246dd04c4a998 +SERVER_TRAFFIC_SECRET_0 1fbe3810ad4627f9993c4290510bec73d0573e7a2b0075e1da9644a76a1e916c 3ec1233319df47cf10c086f53f48acf6ccaeb1eaa84aff1a29339b2ae0aed2784d562bc44dcc139d750d52d3732551c2 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1fbe3810ad4627f9993c4290510bec73d0573e7a2b0075e1da9644a76a1e916c ee319a3667fbcf9b4772ed9cd63e4f2875103d727709ddad30227c42d9186094a5265fcf46c92978f0e34a112a04b45a +SERVER_HANDSHAKE_TRAFFIC_SECRET 1fbe3810ad4627f9993c4290510bec73d0573e7a2b0075e1da9644a76a1e916c 386f650d2016ccdd21940608da1fa41cf165e6226ed1c8ecf6afaca2869087204abcf6902ef96a1ff3e1579593cc17d0 +CLIENT_TRAFFIC_SECRET_0 1fbe3810ad4627f9993c4290510bec73d0573e7a2b0075e1da9644a76a1e916c 7481546e9c12d9a0af06450d076d1584ec01ae3cfac9a0701d8ae43c8ca684cf0303e5d0413cdd4d243246dd04c4a998 +SERVER_TRAFFIC_SECRET_0 1fbe3810ad4627f9993c4290510bec73d0573e7a2b0075e1da9644a76a1e916c 3ec1233319df47cf10c086f53f48acf6ccaeb1eaa84aff1a29339b2ae0aed2784d562bc44dcc139d750d52d3732551c2 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e40c5e8c8a8a9e81867d6b78867aae21ded89f440b153e5fff262cc47a09c5bc 89916fa73e03735572e3584923b77fdec7f7c35da2ac36ddf6fa855c971fdcb25dee5ac9d7afa9e68f22d0639f0f1ca5 +SERVER_HANDSHAKE_TRAFFIC_SECRET e40c5e8c8a8a9e81867d6b78867aae21ded89f440b153e5fff262cc47a09c5bc 6bc4827f601b7c31f5b2afe6f1810157d13f89ce8a7b5db60cc9ff17680473aa07c5c4fec130b9d1f3059463ac6bef02 +CLIENT_TRAFFIC_SECRET_0 e40c5e8c8a8a9e81867d6b78867aae21ded89f440b153e5fff262cc47a09c5bc b830040213ee4dd60aea366f53ab258819ce2fb63ff43dac774c7298f1584ef2c8cccc81b6355bdd357d6213fabea51e +SERVER_TRAFFIC_SECRET_0 e40c5e8c8a8a9e81867d6b78867aae21ded89f440b153e5fff262cc47a09c5bc 60e600436ec396c72d6b2c64fbd7f65b55ea1a8653cda6f311919dbc9033295b5fa7d4c281b1463980fb9afab9f485c0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e40c5e8c8a8a9e81867d6b78867aae21ded89f440b153e5fff262cc47a09c5bc 89916fa73e03735572e3584923b77fdec7f7c35da2ac36ddf6fa855c971fdcb25dee5ac9d7afa9e68f22d0639f0f1ca5 +SERVER_HANDSHAKE_TRAFFIC_SECRET e40c5e8c8a8a9e81867d6b78867aae21ded89f440b153e5fff262cc47a09c5bc 6bc4827f601b7c31f5b2afe6f1810157d13f89ce8a7b5db60cc9ff17680473aa07c5c4fec130b9d1f3059463ac6bef02 +CLIENT_TRAFFIC_SECRET_0 e40c5e8c8a8a9e81867d6b78867aae21ded89f440b153e5fff262cc47a09c5bc b830040213ee4dd60aea366f53ab258819ce2fb63ff43dac774c7298f1584ef2c8cccc81b6355bdd357d6213fabea51e +SERVER_TRAFFIC_SECRET_0 e40c5e8c8a8a9e81867d6b78867aae21ded89f440b153e5fff262cc47a09c5bc 60e600436ec396c72d6b2c64fbd7f65b55ea1a8653cda6f311919dbc9033295b5fa7d4c281b1463980fb9afab9f485c0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4bde5773958314b226f5221a9057590adec860383cee83e45498de04d4df752a 9a4a6985cfc9515d89bf6a9a86646edeb8dece87a206347629ba487bd84a9dbf4aa813e4e1d09a1d72bf1a2f346f487c +SERVER_HANDSHAKE_TRAFFIC_SECRET 4bde5773958314b226f5221a9057590adec860383cee83e45498de04d4df752a 33c45f3be9b337b1a87f3f051d6f15a8cbf9e1784582e849e48665437bfef2810aaf638cf906acbd94393566683d6540 +CLIENT_TRAFFIC_SECRET_0 4bde5773958314b226f5221a9057590adec860383cee83e45498de04d4df752a 3f5570d08f0a5a23d9a8de1fe684670e20c315c5cbf8a0f5c7397d87ba3d52fbae288255e5f3390ce64b76d071fde7b3 +SERVER_TRAFFIC_SECRET_0 4bde5773958314b226f5221a9057590adec860383cee83e45498de04d4df752a 625eb8ae8e7833c49f065d56c8780560470d4e9f618ac096e5cea3203ad45ccadc116d0ab7dc1f3b93368da49f6ffbb0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4bde5773958314b226f5221a9057590adec860383cee83e45498de04d4df752a 9a4a6985cfc9515d89bf6a9a86646edeb8dece87a206347629ba487bd84a9dbf4aa813e4e1d09a1d72bf1a2f346f487c +SERVER_HANDSHAKE_TRAFFIC_SECRET 4bde5773958314b226f5221a9057590adec860383cee83e45498de04d4df752a 33c45f3be9b337b1a87f3f051d6f15a8cbf9e1784582e849e48665437bfef2810aaf638cf906acbd94393566683d6540 +CLIENT_TRAFFIC_SECRET_0 4bde5773958314b226f5221a9057590adec860383cee83e45498de04d4df752a 3f5570d08f0a5a23d9a8de1fe684670e20c315c5cbf8a0f5c7397d87ba3d52fbae288255e5f3390ce64b76d071fde7b3 +SERVER_TRAFFIC_SECRET_0 4bde5773958314b226f5221a9057590adec860383cee83e45498de04d4df752a 625eb8ae8e7833c49f065d56c8780560470d4e9f618ac096e5cea3203ad45ccadc116d0ab7dc1f3b93368da49f6ffbb0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5cb017c9c1fceaa34875c41a5ed86d055514e3f3d5e01d6547404d7916dfb094 9c06234e0071564598f8970298b70ebe963e2650c616fb52a8961fcfc6b56b229f3f0e4b1bc0e7c254732815e2a5457a +SERVER_HANDSHAKE_TRAFFIC_SECRET 5cb017c9c1fceaa34875c41a5ed86d055514e3f3d5e01d6547404d7916dfb094 214f1f4bfd871e8aaf7cee938bc0b89b8892929253475133f4f6ad9822fb601dbd233a41709fe6287a1902ae61e87068 +CLIENT_TRAFFIC_SECRET_0 5cb017c9c1fceaa34875c41a5ed86d055514e3f3d5e01d6547404d7916dfb094 03aca2062332802ed6d68ab6f03105d63ab9c9784f4504e480ae4cb21064ece809e9149e8fafb237267639ea0900dd99 +SERVER_TRAFFIC_SECRET_0 5cb017c9c1fceaa34875c41a5ed86d055514e3f3d5e01d6547404d7916dfb094 7ad0e19b6033b13dc53e014a4abb72d3a561a2974f15ff77d2030986c79af6c3fc9bbb2f689c215ec0ecd7434387ff95 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5cb017c9c1fceaa34875c41a5ed86d055514e3f3d5e01d6547404d7916dfb094 9c06234e0071564598f8970298b70ebe963e2650c616fb52a8961fcfc6b56b229f3f0e4b1bc0e7c254732815e2a5457a +SERVER_HANDSHAKE_TRAFFIC_SECRET 5cb017c9c1fceaa34875c41a5ed86d055514e3f3d5e01d6547404d7916dfb094 214f1f4bfd871e8aaf7cee938bc0b89b8892929253475133f4f6ad9822fb601dbd233a41709fe6287a1902ae61e87068 +CLIENT_TRAFFIC_SECRET_0 5cb017c9c1fceaa34875c41a5ed86d055514e3f3d5e01d6547404d7916dfb094 03aca2062332802ed6d68ab6f03105d63ab9c9784f4504e480ae4cb21064ece809e9149e8fafb237267639ea0900dd99 +SERVER_TRAFFIC_SECRET_0 5cb017c9c1fceaa34875c41a5ed86d055514e3f3d5e01d6547404d7916dfb094 7ad0e19b6033b13dc53e014a4abb72d3a561a2974f15ff77d2030986c79af6c3fc9bbb2f689c215ec0ecd7434387ff95 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e5f026b29595b4fa0d2b8bdc6a826d8c057888f529c4fc28fc9845177650c28a 5891e59094ebc38e4ae1481ff70f673983bbd89199184203f19bc54a23ebf98bd28ad61d101bed8f7023eab6f589fa24 +SERVER_HANDSHAKE_TRAFFIC_SECRET e5f026b29595b4fa0d2b8bdc6a826d8c057888f529c4fc28fc9845177650c28a 34925c1780babd76b67120011602423aa0e25ce225604222e6691100cedb4103e2b907e42bc54edb067bed4ad091e658 +CLIENT_TRAFFIC_SECRET_0 e5f026b29595b4fa0d2b8bdc6a826d8c057888f529c4fc28fc9845177650c28a 040d9b8413552807f0d74d3420d580660053ac82e227cf2e7ba1af14eff25b19683e554dd1b6b377465ad005b6da9251 +SERVER_TRAFFIC_SECRET_0 e5f026b29595b4fa0d2b8bdc6a826d8c057888f529c4fc28fc9845177650c28a 10ec401415ac363b5f026e0bcf3e6919a1c1d11efca3d9aac6f8279eace7bccee0146cc06d7bf35f6a088aa9e44397c9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e5f026b29595b4fa0d2b8bdc6a826d8c057888f529c4fc28fc9845177650c28a 5891e59094ebc38e4ae1481ff70f673983bbd89199184203f19bc54a23ebf98bd28ad61d101bed8f7023eab6f589fa24 +SERVER_HANDSHAKE_TRAFFIC_SECRET e5f026b29595b4fa0d2b8bdc6a826d8c057888f529c4fc28fc9845177650c28a 34925c1780babd76b67120011602423aa0e25ce225604222e6691100cedb4103e2b907e42bc54edb067bed4ad091e658 +CLIENT_TRAFFIC_SECRET_0 e5f026b29595b4fa0d2b8bdc6a826d8c057888f529c4fc28fc9845177650c28a 040d9b8413552807f0d74d3420d580660053ac82e227cf2e7ba1af14eff25b19683e554dd1b6b377465ad005b6da9251 +SERVER_TRAFFIC_SECRET_0 e5f026b29595b4fa0d2b8bdc6a826d8c057888f529c4fc28fc9845177650c28a 10ec401415ac363b5f026e0bcf3e6919a1c1d11efca3d9aac6f8279eace7bccee0146cc06d7bf35f6a088aa9e44397c9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a7d65facd564fa9fc1abc5cf8ca731fc89d78a2aca251d4b5a6655fdadd14e31 d19798ede4896dc5db6a82475bb1525ad8d56abab7ccd7a739c1496f10bd08c051309f0b1b4d085d68c22ffce9ab32c6 +SERVER_HANDSHAKE_TRAFFIC_SECRET a7d65facd564fa9fc1abc5cf8ca731fc89d78a2aca251d4b5a6655fdadd14e31 ce773ed1b383bfa3805b8371513383d313c46f0e907ed241ea34266763147bf4a4d328eb0818efb26806f913899e4f85 +CLIENT_TRAFFIC_SECRET_0 a7d65facd564fa9fc1abc5cf8ca731fc89d78a2aca251d4b5a6655fdadd14e31 e98663fe4a380abadc95845cfc0d32892ea1065f8095fcdd98e29e1f9fd50ca0deb724253141c873ff195c6e75d8d5c2 +SERVER_TRAFFIC_SECRET_0 a7d65facd564fa9fc1abc5cf8ca731fc89d78a2aca251d4b5a6655fdadd14e31 f7f02af2c3cc5f357315d14a8ad017b956a42351beff388fed3ff08fe14af50129964a0b5cde25db7e4af26d4b8e07b9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a7d65facd564fa9fc1abc5cf8ca731fc89d78a2aca251d4b5a6655fdadd14e31 d19798ede4896dc5db6a82475bb1525ad8d56abab7ccd7a739c1496f10bd08c051309f0b1b4d085d68c22ffce9ab32c6 +SERVER_HANDSHAKE_TRAFFIC_SECRET a7d65facd564fa9fc1abc5cf8ca731fc89d78a2aca251d4b5a6655fdadd14e31 ce773ed1b383bfa3805b8371513383d313c46f0e907ed241ea34266763147bf4a4d328eb0818efb26806f913899e4f85 +CLIENT_TRAFFIC_SECRET_0 a7d65facd564fa9fc1abc5cf8ca731fc89d78a2aca251d4b5a6655fdadd14e31 e98663fe4a380abadc95845cfc0d32892ea1065f8095fcdd98e29e1f9fd50ca0deb724253141c873ff195c6e75d8d5c2 +SERVER_TRAFFIC_SECRET_0 a7d65facd564fa9fc1abc5cf8ca731fc89d78a2aca251d4b5a6655fdadd14e31 f7f02af2c3cc5f357315d14a8ad017b956a42351beff388fed3ff08fe14af50129964a0b5cde25db7e4af26d4b8e07b9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4c53ef82748243dd2ccf508a9aa1c42e82c5a1e55f0132ec7cec1287e45a07d8 485ef278ee6fcc600c9ae4d2e993d2eaf6279d4b5f15f98c64eea1778dc20bba26fc0945008a75c668edebd8195b8d9f +SERVER_HANDSHAKE_TRAFFIC_SECRET 4c53ef82748243dd2ccf508a9aa1c42e82c5a1e55f0132ec7cec1287e45a07d8 0b246033f2dc8d0d2ff2ba4de9b49fb653673ccd65cb6994ecce947cf7ad18a3437e5b2989fe1a1bec0b1b2140aca820 +CLIENT_TRAFFIC_SECRET_0 4c53ef82748243dd2ccf508a9aa1c42e82c5a1e55f0132ec7cec1287e45a07d8 8dad25b33f80e141dcdd4e51592dedc52387a7bfc87fef526a5283282adfbafea1376a8fae083b37bbf49731ee7b82f6 +SERVER_TRAFFIC_SECRET_0 4c53ef82748243dd2ccf508a9aa1c42e82c5a1e55f0132ec7cec1287e45a07d8 3c946fbda23731ba3d7aa3a8cebe37ea7638ebea9c27b0d376ae15dee9df28bb031fa98cf977189314ddb702b4f6a560 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4c53ef82748243dd2ccf508a9aa1c42e82c5a1e55f0132ec7cec1287e45a07d8 485ef278ee6fcc600c9ae4d2e993d2eaf6279d4b5f15f98c64eea1778dc20bba26fc0945008a75c668edebd8195b8d9f +SERVER_HANDSHAKE_TRAFFIC_SECRET 4c53ef82748243dd2ccf508a9aa1c42e82c5a1e55f0132ec7cec1287e45a07d8 0b246033f2dc8d0d2ff2ba4de9b49fb653673ccd65cb6994ecce947cf7ad18a3437e5b2989fe1a1bec0b1b2140aca820 +CLIENT_TRAFFIC_SECRET_0 4c53ef82748243dd2ccf508a9aa1c42e82c5a1e55f0132ec7cec1287e45a07d8 8dad25b33f80e141dcdd4e51592dedc52387a7bfc87fef526a5283282adfbafea1376a8fae083b37bbf49731ee7b82f6 +SERVER_TRAFFIC_SECRET_0 4c53ef82748243dd2ccf508a9aa1c42e82c5a1e55f0132ec7cec1287e45a07d8 3c946fbda23731ba3d7aa3a8cebe37ea7638ebea9c27b0d376ae15dee9df28bb031fa98cf977189314ddb702b4f6a560 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 01c9abab45025f01123d142b0a1e38b3bc4cefe66b906e84733123dde884d403 3e01a4f543ef52a1ac4176c000d175ce340676097ada3434e84b06b8cb1ec9afad5fd20ef317e8640d3c5c263b1062bf +SERVER_HANDSHAKE_TRAFFIC_SECRET 01c9abab45025f01123d142b0a1e38b3bc4cefe66b906e84733123dde884d403 ca788696380eafead80c9abecfa1ac49ac839c61c19a780239dd6caa34353a2a6de703564d67f3d72d6f91aa4e926cca +CLIENT_TRAFFIC_SECRET_0 01c9abab45025f01123d142b0a1e38b3bc4cefe66b906e84733123dde884d403 3f2194d9e92ca8d80a3f6b78a755a017b026be56d90d85b23bcc6b338b9a0988ad3a457bfc486e58fcf35f30c0f66123 +SERVER_TRAFFIC_SECRET_0 01c9abab45025f01123d142b0a1e38b3bc4cefe66b906e84733123dde884d403 d54ff27e1e8a875a692838114d7cb2224918fa6c946d5fa90c2c90862058d4a5e1f2d2c30d01ac12db776e282e881549 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 01c9abab45025f01123d142b0a1e38b3bc4cefe66b906e84733123dde884d403 3e01a4f543ef52a1ac4176c000d175ce340676097ada3434e84b06b8cb1ec9afad5fd20ef317e8640d3c5c263b1062bf +SERVER_HANDSHAKE_TRAFFIC_SECRET 01c9abab45025f01123d142b0a1e38b3bc4cefe66b906e84733123dde884d403 ca788696380eafead80c9abecfa1ac49ac839c61c19a780239dd6caa34353a2a6de703564d67f3d72d6f91aa4e926cca +CLIENT_TRAFFIC_SECRET_0 01c9abab45025f01123d142b0a1e38b3bc4cefe66b906e84733123dde884d403 3f2194d9e92ca8d80a3f6b78a755a017b026be56d90d85b23bcc6b338b9a0988ad3a457bfc486e58fcf35f30c0f66123 +SERVER_TRAFFIC_SECRET_0 01c9abab45025f01123d142b0a1e38b3bc4cefe66b906e84733123dde884d403 d54ff27e1e8a875a692838114d7cb2224918fa6c946d5fa90c2c90862058d4a5e1f2d2c30d01ac12db776e282e881549 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9d71ad3d6b3a6120bc2b5390c3227dc33627bf150563bda90aa9be3a40d2dc50 7d1ff8540314aca999df319136ce434312e8b1a879876d6491f312422dd530aef39f0669c7240978bf59a00432af9385 +SERVER_HANDSHAKE_TRAFFIC_SECRET 9d71ad3d6b3a6120bc2b5390c3227dc33627bf150563bda90aa9be3a40d2dc50 44beac06f047438eac6607d34e7f01182b58146835dde04c5eb1ae29634855e91d8926fda531e547d28e8600a69a0909 +CLIENT_TRAFFIC_SECRET_0 9d71ad3d6b3a6120bc2b5390c3227dc33627bf150563bda90aa9be3a40d2dc50 7ed7261e15ddb3495ea525bd99194c9d0f4b1cc859f09bac314fdf5668927de8653eff4ee7a2f670af03f935e86fc34d +SERVER_TRAFFIC_SECRET_0 9d71ad3d6b3a6120bc2b5390c3227dc33627bf150563bda90aa9be3a40d2dc50 a0ae21600a6e930bd8dbcaf561c38fd8960199e0ba73205acb6cc6eb02dc3fc06075cfed5fc266d75cc6d4431746b843 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9d71ad3d6b3a6120bc2b5390c3227dc33627bf150563bda90aa9be3a40d2dc50 7d1ff8540314aca999df319136ce434312e8b1a879876d6491f312422dd530aef39f0669c7240978bf59a00432af9385 +SERVER_HANDSHAKE_TRAFFIC_SECRET 9d71ad3d6b3a6120bc2b5390c3227dc33627bf150563bda90aa9be3a40d2dc50 44beac06f047438eac6607d34e7f01182b58146835dde04c5eb1ae29634855e91d8926fda531e547d28e8600a69a0909 +CLIENT_TRAFFIC_SECRET_0 9d71ad3d6b3a6120bc2b5390c3227dc33627bf150563bda90aa9be3a40d2dc50 7ed7261e15ddb3495ea525bd99194c9d0f4b1cc859f09bac314fdf5668927de8653eff4ee7a2f670af03f935e86fc34d +SERVER_TRAFFIC_SECRET_0 9d71ad3d6b3a6120bc2b5390c3227dc33627bf150563bda90aa9be3a40d2dc50 a0ae21600a6e930bd8dbcaf561c38fd8960199e0ba73205acb6cc6eb02dc3fc06075cfed5fc266d75cc6d4431746b843 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 76002ea290bca456d54745a6e634ebd8b463dbacd66d5b8a3fca949c5e68e33e 718b1b80fb828a9d2f9ea586bdc1af8e72305e1dafeac4b5f02c904513631633e01009d095894facdab8163b19ff0cd2 +SERVER_HANDSHAKE_TRAFFIC_SECRET 76002ea290bca456d54745a6e634ebd8b463dbacd66d5b8a3fca949c5e68e33e 9c082200165c3c6275bdb8c86042f7d4f43645f6994d32718e81fafbaa494a6cd3c0d8159b86c77ebce107e54cb0c50c +CLIENT_TRAFFIC_SECRET_0 76002ea290bca456d54745a6e634ebd8b463dbacd66d5b8a3fca949c5e68e33e 56644f724139afe2539bdfd7c572e610656796bf7cac6f17d58886b47ded16d7b6b661b8c3ed8a1280b4268c688b293d +SERVER_TRAFFIC_SECRET_0 76002ea290bca456d54745a6e634ebd8b463dbacd66d5b8a3fca949c5e68e33e f2d8b78047059a9410607414980e96cfafa7e20c5b5b7b740aefe24fba8cf731fe2b0771f92c1b63b284bb5040045ed0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 76002ea290bca456d54745a6e634ebd8b463dbacd66d5b8a3fca949c5e68e33e 718b1b80fb828a9d2f9ea586bdc1af8e72305e1dafeac4b5f02c904513631633e01009d095894facdab8163b19ff0cd2 +SERVER_HANDSHAKE_TRAFFIC_SECRET 76002ea290bca456d54745a6e634ebd8b463dbacd66d5b8a3fca949c5e68e33e 9c082200165c3c6275bdb8c86042f7d4f43645f6994d32718e81fafbaa494a6cd3c0d8159b86c77ebce107e54cb0c50c +CLIENT_TRAFFIC_SECRET_0 76002ea290bca456d54745a6e634ebd8b463dbacd66d5b8a3fca949c5e68e33e 56644f724139afe2539bdfd7c572e610656796bf7cac6f17d58886b47ded16d7b6b661b8c3ed8a1280b4268c688b293d +SERVER_TRAFFIC_SECRET_0 76002ea290bca456d54745a6e634ebd8b463dbacd66d5b8a3fca949c5e68e33e f2d8b78047059a9410607414980e96cfafa7e20c5b5b7b740aefe24fba8cf731fe2b0771f92c1b63b284bb5040045ed0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a23c10d16d629235fea996285a1717ec71a0ff7e03e42617ee830bf624e3c5c2 08b9b1d286a8930ef6cb91c46ea6680310c1976aaa65a70b8ceaef23fa9c593051e631a181a239b9795c8e07d6d3c439 +SERVER_HANDSHAKE_TRAFFIC_SECRET a23c10d16d629235fea996285a1717ec71a0ff7e03e42617ee830bf624e3c5c2 3c62008c422470e6a02126095b3b18d4a44659aa556b643a74943ea8cf93692f427fb3db8b6bd7809fb773bd8b35d02a +CLIENT_TRAFFIC_SECRET_0 a23c10d16d629235fea996285a1717ec71a0ff7e03e42617ee830bf624e3c5c2 6b09eb4d1e9b66802f9e4de5d15994b3bae3fe1dcae0273f8055c0899b8f42435cc08e7799a57414c3387f39ffd47e80 +SERVER_TRAFFIC_SECRET_0 a23c10d16d629235fea996285a1717ec71a0ff7e03e42617ee830bf624e3c5c2 785543e8bc211f817c95b3b6f083076dd303a73c5c0b013abc3b86f73fa84db2aa719e5c7fc60d69f1d0da34316a4b0b +CLIENT_HANDSHAKE_TRAFFIC_SECRET a23c10d16d629235fea996285a1717ec71a0ff7e03e42617ee830bf624e3c5c2 08b9b1d286a8930ef6cb91c46ea6680310c1976aaa65a70b8ceaef23fa9c593051e631a181a239b9795c8e07d6d3c439 +SERVER_HANDSHAKE_TRAFFIC_SECRET a23c10d16d629235fea996285a1717ec71a0ff7e03e42617ee830bf624e3c5c2 3c62008c422470e6a02126095b3b18d4a44659aa556b643a74943ea8cf93692f427fb3db8b6bd7809fb773bd8b35d02a +CLIENT_TRAFFIC_SECRET_0 a23c10d16d629235fea996285a1717ec71a0ff7e03e42617ee830bf624e3c5c2 6b09eb4d1e9b66802f9e4de5d15994b3bae3fe1dcae0273f8055c0899b8f42435cc08e7799a57414c3387f39ffd47e80 +SERVER_TRAFFIC_SECRET_0 a23c10d16d629235fea996285a1717ec71a0ff7e03e42617ee830bf624e3c5c2 785543e8bc211f817c95b3b6f083076dd303a73c5c0b013abc3b86f73fa84db2aa719e5c7fc60d69f1d0da34316a4b0b +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8b143b19e3ef73212314a24f687176b165ea5a2bc1a18547d5250d67c08ba9a5 723f6bc3794b7f27dc33c1f77d12b3b967edf0bf807e679c167c8b8aa95e85229c393368dd8fb263932345cb75454c18 +SERVER_HANDSHAKE_TRAFFIC_SECRET 8b143b19e3ef73212314a24f687176b165ea5a2bc1a18547d5250d67c08ba9a5 f5f74a1c353f5306ab877a9a9ba1be7a80524ad7deb88c3686f24f7a809b112436e0ef4abb77a89680492ee6c25103c3 +CLIENT_TRAFFIC_SECRET_0 8b143b19e3ef73212314a24f687176b165ea5a2bc1a18547d5250d67c08ba9a5 3a281da6da4e49c72bf556efb7d025855ce91167e8400d75e8a633fabb88a2adecd157f6c6baed7dcb8fedef39183561 +SERVER_TRAFFIC_SECRET_0 8b143b19e3ef73212314a24f687176b165ea5a2bc1a18547d5250d67c08ba9a5 eb341fa4730f7c71b803b4ab1f379d263c079f6d84f11f1407669d55a896bd1c873365abe084b6582a2d1e4b9e10efb9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8b143b19e3ef73212314a24f687176b165ea5a2bc1a18547d5250d67c08ba9a5 723f6bc3794b7f27dc33c1f77d12b3b967edf0bf807e679c167c8b8aa95e85229c393368dd8fb263932345cb75454c18 +SERVER_HANDSHAKE_TRAFFIC_SECRET 8b143b19e3ef73212314a24f687176b165ea5a2bc1a18547d5250d67c08ba9a5 f5f74a1c353f5306ab877a9a9ba1be7a80524ad7deb88c3686f24f7a809b112436e0ef4abb77a89680492ee6c25103c3 +CLIENT_TRAFFIC_SECRET_0 8b143b19e3ef73212314a24f687176b165ea5a2bc1a18547d5250d67c08ba9a5 3a281da6da4e49c72bf556efb7d025855ce91167e8400d75e8a633fabb88a2adecd157f6c6baed7dcb8fedef39183561 +SERVER_TRAFFIC_SECRET_0 8b143b19e3ef73212314a24f687176b165ea5a2bc1a18547d5250d67c08ba9a5 eb341fa4730f7c71b803b4ab1f379d263c079f6d84f11f1407669d55a896bd1c873365abe084b6582a2d1e4b9e10efb9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f669b46c2ed2583984dd7a07695bd753a32a3ddbeff40d18916551be81c152b3 d7e4501664674e78a3f5c7a298a2b9a0bc3ea62ee0ae76b5175c63904a3bf24fc57cdde8b972c2b1917a03849e022e6c +SERVER_HANDSHAKE_TRAFFIC_SECRET f669b46c2ed2583984dd7a07695bd753a32a3ddbeff40d18916551be81c152b3 a90bad56eac52506092e0fece49fc7d141f468b4a9fed3474cdb1d4cc4a5f063ddcaa5087d8e36665a87bf9943b42cc7 +CLIENT_TRAFFIC_SECRET_0 f669b46c2ed2583984dd7a07695bd753a32a3ddbeff40d18916551be81c152b3 0290b711c3fec037b6a6d121e09899aeb59fcc851a68ea2ee6804211abba06ae276924426de7d81531654479827aa7ce +SERVER_TRAFFIC_SECRET_0 f669b46c2ed2583984dd7a07695bd753a32a3ddbeff40d18916551be81c152b3 0f70bf2066aa6ac875d97ef9c79799b31f5d9ba9efe41a28b78a04aecd33e9ec4f9e577b5e9d5076f34f1e74d46dd7b5 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f669b46c2ed2583984dd7a07695bd753a32a3ddbeff40d18916551be81c152b3 d7e4501664674e78a3f5c7a298a2b9a0bc3ea62ee0ae76b5175c63904a3bf24fc57cdde8b972c2b1917a03849e022e6c +SERVER_HANDSHAKE_TRAFFIC_SECRET f669b46c2ed2583984dd7a07695bd753a32a3ddbeff40d18916551be81c152b3 a90bad56eac52506092e0fece49fc7d141f468b4a9fed3474cdb1d4cc4a5f063ddcaa5087d8e36665a87bf9943b42cc7 +CLIENT_TRAFFIC_SECRET_0 f669b46c2ed2583984dd7a07695bd753a32a3ddbeff40d18916551be81c152b3 0290b711c3fec037b6a6d121e09899aeb59fcc851a68ea2ee6804211abba06ae276924426de7d81531654479827aa7ce +SERVER_TRAFFIC_SECRET_0 f669b46c2ed2583984dd7a07695bd753a32a3ddbeff40d18916551be81c152b3 0f70bf2066aa6ac875d97ef9c79799b31f5d9ba9efe41a28b78a04aecd33e9ec4f9e577b5e9d5076f34f1e74d46dd7b5 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d9fd804740783d3ef2929ee4924d3063e16cde3c212171214a12769dc20bebf6 03a5b7b73464036644033337b0ea4bf04aa16d72cb47a026850bbe1b262dbea8f4cdcf4032b8c466800217d34f2fc3ad +SERVER_HANDSHAKE_TRAFFIC_SECRET d9fd804740783d3ef2929ee4924d3063e16cde3c212171214a12769dc20bebf6 bdf9b8f07dcd360b8e41f4157f06d3e456756951e75999d226b66af999e524b58b05f52a440d06468c82daa4ee533ca4 +CLIENT_TRAFFIC_SECRET_0 d9fd804740783d3ef2929ee4924d3063e16cde3c212171214a12769dc20bebf6 95ee3009aabff2db069c08076c1e1b2d5a861426d1841f9e0211c106a79570445f11f0c1a986d735dc57c8b13ad6ec38 +SERVER_TRAFFIC_SECRET_0 d9fd804740783d3ef2929ee4924d3063e16cde3c212171214a12769dc20bebf6 a99a17bcff2f2573b743b32ff58038f6e8672c63ac1e5019063cc49267d4c9f00ebe41b9aa07a1537463c8199992a946 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d9fd804740783d3ef2929ee4924d3063e16cde3c212171214a12769dc20bebf6 03a5b7b73464036644033337b0ea4bf04aa16d72cb47a026850bbe1b262dbea8f4cdcf4032b8c466800217d34f2fc3ad +SERVER_HANDSHAKE_TRAFFIC_SECRET d9fd804740783d3ef2929ee4924d3063e16cde3c212171214a12769dc20bebf6 bdf9b8f07dcd360b8e41f4157f06d3e456756951e75999d226b66af999e524b58b05f52a440d06468c82daa4ee533ca4 +CLIENT_TRAFFIC_SECRET_0 d9fd804740783d3ef2929ee4924d3063e16cde3c212171214a12769dc20bebf6 95ee3009aabff2db069c08076c1e1b2d5a861426d1841f9e0211c106a79570445f11f0c1a986d735dc57c8b13ad6ec38 +SERVER_TRAFFIC_SECRET_0 d9fd804740783d3ef2929ee4924d3063e16cde3c212171214a12769dc20bebf6 a99a17bcff2f2573b743b32ff58038f6e8672c63ac1e5019063cc49267d4c9f00ebe41b9aa07a1537463c8199992a946 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 811d3aee9c3aa9291bf345acd55ac55e320f82917b2cafdd83b495b45c8367c9 772cc413c8b2d19eee2d261e4eba523fd6d1a5dee57de6afe811be8e9c18a9d332f171f23dbc5ae959eb55be760dc74f +SERVER_HANDSHAKE_TRAFFIC_SECRET 811d3aee9c3aa9291bf345acd55ac55e320f82917b2cafdd83b495b45c8367c9 5260580bf9a546a3f944cb48264ac057c5bb6b7e410dfbc71ba9315cd01ddefdc1508a388a09550a0c0ae0ece619c6e5 +CLIENT_TRAFFIC_SECRET_0 811d3aee9c3aa9291bf345acd55ac55e320f82917b2cafdd83b495b45c8367c9 fe8bb34bf7fc4fdcd5f8d178a9594496ca24bd29f52eef7f22f4957377aa254fbf0f8a35f14981e617fc7f4c999e6c14 +SERVER_TRAFFIC_SECRET_0 811d3aee9c3aa9291bf345acd55ac55e320f82917b2cafdd83b495b45c8367c9 f3f909dae993a449e1e2cb85943e918726d11f79585091276deb577fd55cf4afaab9fe8e625b39b6c91803bc0834c705 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 811d3aee9c3aa9291bf345acd55ac55e320f82917b2cafdd83b495b45c8367c9 772cc413c8b2d19eee2d261e4eba523fd6d1a5dee57de6afe811be8e9c18a9d332f171f23dbc5ae959eb55be760dc74f +SERVER_HANDSHAKE_TRAFFIC_SECRET 811d3aee9c3aa9291bf345acd55ac55e320f82917b2cafdd83b495b45c8367c9 5260580bf9a546a3f944cb48264ac057c5bb6b7e410dfbc71ba9315cd01ddefdc1508a388a09550a0c0ae0ece619c6e5 +CLIENT_TRAFFIC_SECRET_0 811d3aee9c3aa9291bf345acd55ac55e320f82917b2cafdd83b495b45c8367c9 fe8bb34bf7fc4fdcd5f8d178a9594496ca24bd29f52eef7f22f4957377aa254fbf0f8a35f14981e617fc7f4c999e6c14 +SERVER_TRAFFIC_SECRET_0 811d3aee9c3aa9291bf345acd55ac55e320f82917b2cafdd83b495b45c8367c9 f3f909dae993a449e1e2cb85943e918726d11f79585091276deb577fd55cf4afaab9fe8e625b39b6c91803bc0834c705 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1fd565ab13952cd3835f27b50a34c0b1bef713b72791aea46450ee3f70d9874c 998fec8115159444d5707037d3246c3fea0fef0b3af22a94c87bf694f2fcd34b6a07b02dd3dbe541eec4b857e207a95f +SERVER_HANDSHAKE_TRAFFIC_SECRET 1fd565ab13952cd3835f27b50a34c0b1bef713b72791aea46450ee3f70d9874c 69de9a156346a0a8b585db5e67d44ce7510beb0ec6edd9ff6156b605bf05ced5dfae58349456aa7a7a9d318e854024db +CLIENT_TRAFFIC_SECRET_0 1fd565ab13952cd3835f27b50a34c0b1bef713b72791aea46450ee3f70d9874c a41e2f96d6473e6532d6dd45261752ed85578a6d4f49a1f5c7317cfb51b1b87faee66b6a8fedde224a9ae96ba83cb243 +SERVER_TRAFFIC_SECRET_0 1fd565ab13952cd3835f27b50a34c0b1bef713b72791aea46450ee3f70d9874c ecb971e07032f5407391f9cbff4779bb6569727f727e5b9ee7e4627b5e116f9b82ba09ba51876b79b9efb901f7a94c41 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1fd565ab13952cd3835f27b50a34c0b1bef713b72791aea46450ee3f70d9874c 998fec8115159444d5707037d3246c3fea0fef0b3af22a94c87bf694f2fcd34b6a07b02dd3dbe541eec4b857e207a95f +SERVER_HANDSHAKE_TRAFFIC_SECRET 1fd565ab13952cd3835f27b50a34c0b1bef713b72791aea46450ee3f70d9874c 69de9a156346a0a8b585db5e67d44ce7510beb0ec6edd9ff6156b605bf05ced5dfae58349456aa7a7a9d318e854024db +CLIENT_TRAFFIC_SECRET_0 1fd565ab13952cd3835f27b50a34c0b1bef713b72791aea46450ee3f70d9874c a41e2f96d6473e6532d6dd45261752ed85578a6d4f49a1f5c7317cfb51b1b87faee66b6a8fedde224a9ae96ba83cb243 +SERVER_TRAFFIC_SECRET_0 1fd565ab13952cd3835f27b50a34c0b1bef713b72791aea46450ee3f70d9874c ecb971e07032f5407391f9cbff4779bb6569727f727e5b9ee7e4627b5e116f9b82ba09ba51876b79b9efb901f7a94c41 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 627a300d3126a42aeb10526a4c5c0ce05861906a8dc3ba1e05eb4db811a8522f e5e7f18a6e88209097ae7187c16de898701e2c424938a2130d1e45d703637872077ad512c0ef07222cbc782bdc18c634 +SERVER_HANDSHAKE_TRAFFIC_SECRET 627a300d3126a42aeb10526a4c5c0ce05861906a8dc3ba1e05eb4db811a8522f 914ec11d491eb9f6a1aa9c0e606665a9be6ddf22bd2718b49f7be14ec50f278a786fb6afdec9aaeb7b908489a74d9832 +CLIENT_TRAFFIC_SECRET_0 627a300d3126a42aeb10526a4c5c0ce05861906a8dc3ba1e05eb4db811a8522f d4a2c59d838ff464a635f38a45a03f8c3291966c3d8e0c1bcbad4e16acf22e9e322a38e5d36c81524d9a055acfb14655 +SERVER_TRAFFIC_SECRET_0 627a300d3126a42aeb10526a4c5c0ce05861906a8dc3ba1e05eb4db811a8522f 0f994b0633995000829881c17292448a6d44164dc1a62e5ecd170350e4a7613cdb87599d4256627e88126b65ac882a55 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 627a300d3126a42aeb10526a4c5c0ce05861906a8dc3ba1e05eb4db811a8522f e5e7f18a6e88209097ae7187c16de898701e2c424938a2130d1e45d703637872077ad512c0ef07222cbc782bdc18c634 +SERVER_HANDSHAKE_TRAFFIC_SECRET 627a300d3126a42aeb10526a4c5c0ce05861906a8dc3ba1e05eb4db811a8522f 914ec11d491eb9f6a1aa9c0e606665a9be6ddf22bd2718b49f7be14ec50f278a786fb6afdec9aaeb7b908489a74d9832 +CLIENT_TRAFFIC_SECRET_0 627a300d3126a42aeb10526a4c5c0ce05861906a8dc3ba1e05eb4db811a8522f d4a2c59d838ff464a635f38a45a03f8c3291966c3d8e0c1bcbad4e16acf22e9e322a38e5d36c81524d9a055acfb14655 +SERVER_TRAFFIC_SECRET_0 627a300d3126a42aeb10526a4c5c0ce05861906a8dc3ba1e05eb4db811a8522f 0f994b0633995000829881c17292448a6d44164dc1a62e5ecd170350e4a7613cdb87599d4256627e88126b65ac882a55 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 013132560879b457120b2769967f8e8a5e700ecfab91aa16aeac712a78f02550 3c1aba1f98900192db5e2cefcc6d94674125b47dfcff5873b82ae8709a5f4f31d7ae9b172663bef35182bbb11b572444 +SERVER_HANDSHAKE_TRAFFIC_SECRET 013132560879b457120b2769967f8e8a5e700ecfab91aa16aeac712a78f02550 058c9228b5bef110542902430c45ad0890232aa592d1b2851311b8076917cd9d24af20ca26b283e5a9c205bd3c60ad94 +CLIENT_TRAFFIC_SECRET_0 013132560879b457120b2769967f8e8a5e700ecfab91aa16aeac712a78f02550 e962f5d077d3235a3cbfb33755f1e3ca475fbd4e11b71eb684aef9602b1df7415e812d83feac4b1bbeda33eb85031314 +SERVER_TRAFFIC_SECRET_0 013132560879b457120b2769967f8e8a5e700ecfab91aa16aeac712a78f02550 ac2a7a53e55f590249164739120c5e3975a54c159ab9cbd48174cff6fe058ce2f41984f298d369327a5fcc3555635c12 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 013132560879b457120b2769967f8e8a5e700ecfab91aa16aeac712a78f02550 3c1aba1f98900192db5e2cefcc6d94674125b47dfcff5873b82ae8709a5f4f31d7ae9b172663bef35182bbb11b572444 +SERVER_HANDSHAKE_TRAFFIC_SECRET 013132560879b457120b2769967f8e8a5e700ecfab91aa16aeac712a78f02550 058c9228b5bef110542902430c45ad0890232aa592d1b2851311b8076917cd9d24af20ca26b283e5a9c205bd3c60ad94 +CLIENT_TRAFFIC_SECRET_0 013132560879b457120b2769967f8e8a5e700ecfab91aa16aeac712a78f02550 e962f5d077d3235a3cbfb33755f1e3ca475fbd4e11b71eb684aef9602b1df7415e812d83feac4b1bbeda33eb85031314 +SERVER_TRAFFIC_SECRET_0 013132560879b457120b2769967f8e8a5e700ecfab91aa16aeac712a78f02550 ac2a7a53e55f590249164739120c5e3975a54c159ab9cbd48174cff6fe058ce2f41984f298d369327a5fcc3555635c12 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 16ccd0b6a1503cddf0b1fcfb93cea0c15964be5380b90dce1865368c89ead7de 4406e2e9227709f8cfb181636f5e0573c10f49c310a28d4110b365df89a962372811002d3204cb9f09b6cd1ec0789576 +SERVER_HANDSHAKE_TRAFFIC_SECRET 16ccd0b6a1503cddf0b1fcfb93cea0c15964be5380b90dce1865368c89ead7de 63e98820d471528090e25fa74f422e2e645ff140bed73ba44e7b91207bbaee095b26571c93eaed2265d8fd1ef50436ee +CLIENT_TRAFFIC_SECRET_0 16ccd0b6a1503cddf0b1fcfb93cea0c15964be5380b90dce1865368c89ead7de 69fdb31fde542683551b79842c1a2a32a6b656131ffe7fa2b6b2be00c93ff3ae7856694ecc7a5e9d7bc0d0676b1c47dc +SERVER_TRAFFIC_SECRET_0 16ccd0b6a1503cddf0b1fcfb93cea0c15964be5380b90dce1865368c89ead7de 6cb79ec1e491a81974cf870a36feb502b3b87a45f1cc59ac21caf2e3f2d47da47983256bfdac6de4933d4202696dade1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 16ccd0b6a1503cddf0b1fcfb93cea0c15964be5380b90dce1865368c89ead7de 4406e2e9227709f8cfb181636f5e0573c10f49c310a28d4110b365df89a962372811002d3204cb9f09b6cd1ec0789576 +SERVER_HANDSHAKE_TRAFFIC_SECRET 16ccd0b6a1503cddf0b1fcfb93cea0c15964be5380b90dce1865368c89ead7de 63e98820d471528090e25fa74f422e2e645ff140bed73ba44e7b91207bbaee095b26571c93eaed2265d8fd1ef50436ee +CLIENT_TRAFFIC_SECRET_0 16ccd0b6a1503cddf0b1fcfb93cea0c15964be5380b90dce1865368c89ead7de 69fdb31fde542683551b79842c1a2a32a6b656131ffe7fa2b6b2be00c93ff3ae7856694ecc7a5e9d7bc0d0676b1c47dc +SERVER_TRAFFIC_SECRET_0 16ccd0b6a1503cddf0b1fcfb93cea0c15964be5380b90dce1865368c89ead7de 6cb79ec1e491a81974cf870a36feb502b3b87a45f1cc59ac21caf2e3f2d47da47983256bfdac6de4933d4202696dade1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a5ab2f4f2e58e5dcfa3734362146898b8a360463e3536e7f62c322fd3b492f6d b85be641b5dab1814ba23ea2fb9cbadaec64efbaba3ae8a3bb6ee1cd01edc3e2eb7143daaf86a10d27e642efe80fc678 +SERVER_HANDSHAKE_TRAFFIC_SECRET a5ab2f4f2e58e5dcfa3734362146898b8a360463e3536e7f62c322fd3b492f6d c6cc15f4df03af17b9967b389282da498db697445029acc8068b35862f76c5682e8f3ff5218ea999b971103bd234de2a +CLIENT_TRAFFIC_SECRET_0 a5ab2f4f2e58e5dcfa3734362146898b8a360463e3536e7f62c322fd3b492f6d 549e7d6adaa7df89b6758cd039314f89a678c1169813fa82e2febef2119883df657a685f252c072006ae94fd4867b18f +SERVER_TRAFFIC_SECRET_0 a5ab2f4f2e58e5dcfa3734362146898b8a360463e3536e7f62c322fd3b492f6d aa92bec33354be144daf1fe69d54e82d32a4393e4f1d735296578941a3a551b40ba2b647c6edcbbddce26112096c99a6 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a5ab2f4f2e58e5dcfa3734362146898b8a360463e3536e7f62c322fd3b492f6d b85be641b5dab1814ba23ea2fb9cbadaec64efbaba3ae8a3bb6ee1cd01edc3e2eb7143daaf86a10d27e642efe80fc678 +SERVER_HANDSHAKE_TRAFFIC_SECRET a5ab2f4f2e58e5dcfa3734362146898b8a360463e3536e7f62c322fd3b492f6d c6cc15f4df03af17b9967b389282da498db697445029acc8068b35862f76c5682e8f3ff5218ea999b971103bd234de2a +CLIENT_TRAFFIC_SECRET_0 a5ab2f4f2e58e5dcfa3734362146898b8a360463e3536e7f62c322fd3b492f6d 549e7d6adaa7df89b6758cd039314f89a678c1169813fa82e2febef2119883df657a685f252c072006ae94fd4867b18f +SERVER_TRAFFIC_SECRET_0 a5ab2f4f2e58e5dcfa3734362146898b8a360463e3536e7f62c322fd3b492f6d aa92bec33354be144daf1fe69d54e82d32a4393e4f1d735296578941a3a551b40ba2b647c6edcbbddce26112096c99a6 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 03f50f3f898e195b2b3f1f605558cc14fb86d3f1e191b9275f832459c188b0a4 02a4ef54660c05a916b703bcf9a2ce8cf91b35ad0e6e8a3503d393755c313a80447e91a1b783280464ca21ec04273114 +SERVER_HANDSHAKE_TRAFFIC_SECRET 03f50f3f898e195b2b3f1f605558cc14fb86d3f1e191b9275f832459c188b0a4 01e2e5417c2c9594642e9e752fe96886d47f2a7cbef70cbe9c3ee97deca62ba433a4beac5a92a6999811ffe6ef484b77 +CLIENT_TRAFFIC_SECRET_0 03f50f3f898e195b2b3f1f605558cc14fb86d3f1e191b9275f832459c188b0a4 f7b97cab2faea322bf0e91ca617667a7e692340e10a55cf65435fa5b83a3b19f3d26e575d39261f0fe3fa20c8b172da0 +SERVER_TRAFFIC_SECRET_0 03f50f3f898e195b2b3f1f605558cc14fb86d3f1e191b9275f832459c188b0a4 721765e8cf0849c24309bd02f348b45f41d8e1ce03acb31a384a1fc9b504d178b9d4a5785dbf3014e1e1df5c58bd12d6 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 03f50f3f898e195b2b3f1f605558cc14fb86d3f1e191b9275f832459c188b0a4 02a4ef54660c05a916b703bcf9a2ce8cf91b35ad0e6e8a3503d393755c313a80447e91a1b783280464ca21ec04273114 +SERVER_HANDSHAKE_TRAFFIC_SECRET 03f50f3f898e195b2b3f1f605558cc14fb86d3f1e191b9275f832459c188b0a4 01e2e5417c2c9594642e9e752fe96886d47f2a7cbef70cbe9c3ee97deca62ba433a4beac5a92a6999811ffe6ef484b77 +CLIENT_TRAFFIC_SECRET_0 03f50f3f898e195b2b3f1f605558cc14fb86d3f1e191b9275f832459c188b0a4 f7b97cab2faea322bf0e91ca617667a7e692340e10a55cf65435fa5b83a3b19f3d26e575d39261f0fe3fa20c8b172da0 +SERVER_TRAFFIC_SECRET_0 03f50f3f898e195b2b3f1f605558cc14fb86d3f1e191b9275f832459c188b0a4 721765e8cf0849c24309bd02f348b45f41d8e1ce03acb31a384a1fc9b504d178b9d4a5785dbf3014e1e1df5c58bd12d6 +CLIENT_HANDSHAKE_TRAFFIC_SECRET cf44ddcf3570db02897e660ddba2dca01fe0cfbdd4debf851b84d3ad0df74dbb e920ba1ff996ab8d4c3d419d096939cae869c64a8dcf96c1acb18ab40b652bedb912be4967550033830db04827999ea9 +SERVER_HANDSHAKE_TRAFFIC_SECRET cf44ddcf3570db02897e660ddba2dca01fe0cfbdd4debf851b84d3ad0df74dbb b2274efb99a10c4103f5e4873dc4ee98bbaf44e8a9fe711e0a97c8c3fb4fa6bd6d5aed422b8ba9b3b1a13addfe161017 +CLIENT_TRAFFIC_SECRET_0 cf44ddcf3570db02897e660ddba2dca01fe0cfbdd4debf851b84d3ad0df74dbb 704f4a6b0790b7139d58bb99ebab27ab48a49fffbb05fae427428ff83e46381c9f4458a8294cd6b4530fa97faa97d4d7 +SERVER_TRAFFIC_SECRET_0 cf44ddcf3570db02897e660ddba2dca01fe0cfbdd4debf851b84d3ad0df74dbb 668a7541f16f5397d89e3b0ea9affc60f9bde388faff4811427afec8189ac2263046f01fe0d94b60935ebbeebbc0c0fa +CLIENT_HANDSHAKE_TRAFFIC_SECRET cf44ddcf3570db02897e660ddba2dca01fe0cfbdd4debf851b84d3ad0df74dbb e920ba1ff996ab8d4c3d419d096939cae869c64a8dcf96c1acb18ab40b652bedb912be4967550033830db04827999ea9 +SERVER_HANDSHAKE_TRAFFIC_SECRET cf44ddcf3570db02897e660ddba2dca01fe0cfbdd4debf851b84d3ad0df74dbb b2274efb99a10c4103f5e4873dc4ee98bbaf44e8a9fe711e0a97c8c3fb4fa6bd6d5aed422b8ba9b3b1a13addfe161017 +CLIENT_TRAFFIC_SECRET_0 cf44ddcf3570db02897e660ddba2dca01fe0cfbdd4debf851b84d3ad0df74dbb 704f4a6b0790b7139d58bb99ebab27ab48a49fffbb05fae427428ff83e46381c9f4458a8294cd6b4530fa97faa97d4d7 +SERVER_TRAFFIC_SECRET_0 cf44ddcf3570db02897e660ddba2dca01fe0cfbdd4debf851b84d3ad0df74dbb 668a7541f16f5397d89e3b0ea9affc60f9bde388faff4811427afec8189ac2263046f01fe0d94b60935ebbeebbc0c0fa +CLIENT_HANDSHAKE_TRAFFIC_SECRET 016d0bacf874f5855a917a3952767fdd877b3890a011fa45c25b6046bdd042bc 444d69b6cd0ec030aff7faf87d5e7a8468a4ab2e8c6f56f35b924613bacff9fd31cbbbe947d341aacfda138fb951b875 +SERVER_HANDSHAKE_TRAFFIC_SECRET 016d0bacf874f5855a917a3952767fdd877b3890a011fa45c25b6046bdd042bc 3c49e1997afeb8d0ea84291d7b22c0a41893ed69288a6b20788591306901432a380193664cfb581a6ec3ebda141ca9f8 +CLIENT_TRAFFIC_SECRET_0 016d0bacf874f5855a917a3952767fdd877b3890a011fa45c25b6046bdd042bc 38778c6696f5cd9ed13ac5253638978874e4df49a945d32ceb497ebaa88ea75bf7c78e20b562be6e2b580d85a567212c +SERVER_TRAFFIC_SECRET_0 016d0bacf874f5855a917a3952767fdd877b3890a011fa45c25b6046bdd042bc 65438136b7f89f2329d07848327dda64ea516c5ae1e51450be077cd5e99ce483ce2e3ee8425647841cb12593d6db5c7e +CLIENT_HANDSHAKE_TRAFFIC_SECRET 016d0bacf874f5855a917a3952767fdd877b3890a011fa45c25b6046bdd042bc 444d69b6cd0ec030aff7faf87d5e7a8468a4ab2e8c6f56f35b924613bacff9fd31cbbbe947d341aacfda138fb951b875 +SERVER_HANDSHAKE_TRAFFIC_SECRET 016d0bacf874f5855a917a3952767fdd877b3890a011fa45c25b6046bdd042bc 3c49e1997afeb8d0ea84291d7b22c0a41893ed69288a6b20788591306901432a380193664cfb581a6ec3ebda141ca9f8 +CLIENT_TRAFFIC_SECRET_0 016d0bacf874f5855a917a3952767fdd877b3890a011fa45c25b6046bdd042bc 38778c6696f5cd9ed13ac5253638978874e4df49a945d32ceb497ebaa88ea75bf7c78e20b562be6e2b580d85a567212c +SERVER_TRAFFIC_SECRET_0 016d0bacf874f5855a917a3952767fdd877b3890a011fa45c25b6046bdd042bc 65438136b7f89f2329d07848327dda64ea516c5ae1e51450be077cd5e99ce483ce2e3ee8425647841cb12593d6db5c7e +CLIENT_HANDSHAKE_TRAFFIC_SECRET a98836a9356b5e922b4191560e7fa5b3a0d2cbf0ef6c8abd3b82db78e432e934 38d892c62eaf5578abbea2b16ed91b7eba87205a2c6fcaaa550556f4cee60992979667b6ddecf177b424b9f19e16961f +SERVER_HANDSHAKE_TRAFFIC_SECRET a98836a9356b5e922b4191560e7fa5b3a0d2cbf0ef6c8abd3b82db78e432e934 6aa06c643046256c15b1e24e5685197d999f0631eb0cfcd9612cc358e212164808e5625fc59daff32e3b51b349ac6dd4 +CLIENT_TRAFFIC_SECRET_0 a98836a9356b5e922b4191560e7fa5b3a0d2cbf0ef6c8abd3b82db78e432e934 37b717fa024417003ed0ec03cb310fd0706701cd087175a412b0c789945e87c439b2dea6bab0908b45243c785bf0e5bd +SERVER_TRAFFIC_SECRET_0 a98836a9356b5e922b4191560e7fa5b3a0d2cbf0ef6c8abd3b82db78e432e934 dec726793bb4d58299d3d45ee14e1ceba29ef025a0c2b2c4ee65dfbf19982c8f492fcaa4501dd64c8b48070537998711 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a98836a9356b5e922b4191560e7fa5b3a0d2cbf0ef6c8abd3b82db78e432e934 38d892c62eaf5578abbea2b16ed91b7eba87205a2c6fcaaa550556f4cee60992979667b6ddecf177b424b9f19e16961f +SERVER_HANDSHAKE_TRAFFIC_SECRET a98836a9356b5e922b4191560e7fa5b3a0d2cbf0ef6c8abd3b82db78e432e934 6aa06c643046256c15b1e24e5685197d999f0631eb0cfcd9612cc358e212164808e5625fc59daff32e3b51b349ac6dd4 +CLIENT_TRAFFIC_SECRET_0 a98836a9356b5e922b4191560e7fa5b3a0d2cbf0ef6c8abd3b82db78e432e934 37b717fa024417003ed0ec03cb310fd0706701cd087175a412b0c789945e87c439b2dea6bab0908b45243c785bf0e5bd +SERVER_TRAFFIC_SECRET_0 a98836a9356b5e922b4191560e7fa5b3a0d2cbf0ef6c8abd3b82db78e432e934 dec726793bb4d58299d3d45ee14e1ceba29ef025a0c2b2c4ee65dfbf19982c8f492fcaa4501dd64c8b48070537998711 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4a4e477ffbddf8f95abe618c6e6dba6f04b945f269d01ab1baeac8908705f532 fcc136d694a7accfe9bc5807a2703313ea083dc3b6b258bf418aebadfa25cb80fdb0ffcbea181719de1f81a558c83739 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4a4e477ffbddf8f95abe618c6e6dba6f04b945f269d01ab1baeac8908705f532 a1d2517dd7734bf9b5666112794d10f9be853bb7be69d01c0a249af5a2bd870b1b04594af9f624542c769ae3dc642475 +CLIENT_TRAFFIC_SECRET_0 4a4e477ffbddf8f95abe618c6e6dba6f04b945f269d01ab1baeac8908705f532 0e5b095b5c01d8e947fe048ce03cf03ab61228a3aa63d52238d48e83b1455c8771c53c2ca8f87461b06382d778ffdba4 +SERVER_TRAFFIC_SECRET_0 4a4e477ffbddf8f95abe618c6e6dba6f04b945f269d01ab1baeac8908705f532 579d9ee5b4a8c7270c0ef2be3e8e0b679641cd0568bee488213c2abee6495b5b7e2291a32f97037ebd2c9f3134efa7fb +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4a4e477ffbddf8f95abe618c6e6dba6f04b945f269d01ab1baeac8908705f532 fcc136d694a7accfe9bc5807a2703313ea083dc3b6b258bf418aebadfa25cb80fdb0ffcbea181719de1f81a558c83739 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4a4e477ffbddf8f95abe618c6e6dba6f04b945f269d01ab1baeac8908705f532 a1d2517dd7734bf9b5666112794d10f9be853bb7be69d01c0a249af5a2bd870b1b04594af9f624542c769ae3dc642475 +CLIENT_TRAFFIC_SECRET_0 4a4e477ffbddf8f95abe618c6e6dba6f04b945f269d01ab1baeac8908705f532 0e5b095b5c01d8e947fe048ce03cf03ab61228a3aa63d52238d48e83b1455c8771c53c2ca8f87461b06382d778ffdba4 +SERVER_TRAFFIC_SECRET_0 4a4e477ffbddf8f95abe618c6e6dba6f04b945f269d01ab1baeac8908705f532 579d9ee5b4a8c7270c0ef2be3e8e0b679641cd0568bee488213c2abee6495b5b7e2291a32f97037ebd2c9f3134efa7fb +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0c32c250241f582c4f7d3c9eb5331215adcca1d0e03bc929a5895a042f33276a 33cb8195951111141e3d5e9fad500cfc9cd2f9cee717fd474a73460a9243dd02b2d69b1ec2e97c4f53c1566531b602e7 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0c32c250241f582c4f7d3c9eb5331215adcca1d0e03bc929a5895a042f33276a 0d3e0837c70f79219d870c4394574e0bd222528bde2f5eabbdf6448ec6022424235d3d0dd9bf850cfa96c27d5f9f2699 +CLIENT_TRAFFIC_SECRET_0 0c32c250241f582c4f7d3c9eb5331215adcca1d0e03bc929a5895a042f33276a f9c21dccf3d0a084ef03c04bc2f29a6034d670ee4f0bfbef0d591b3db113a428c26ec672b457de00c7b170a87df276d4 +SERVER_TRAFFIC_SECRET_0 0c32c250241f582c4f7d3c9eb5331215adcca1d0e03bc929a5895a042f33276a c1734835bdf298298104ced2f72eb443840efe8c1ea69a8f8898f655fd31e21321e6fd95f70e641cd4881d5f769f809b +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0c32c250241f582c4f7d3c9eb5331215adcca1d0e03bc929a5895a042f33276a 33cb8195951111141e3d5e9fad500cfc9cd2f9cee717fd474a73460a9243dd02b2d69b1ec2e97c4f53c1566531b602e7 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0c32c250241f582c4f7d3c9eb5331215adcca1d0e03bc929a5895a042f33276a 0d3e0837c70f79219d870c4394574e0bd222528bde2f5eabbdf6448ec6022424235d3d0dd9bf850cfa96c27d5f9f2699 +CLIENT_TRAFFIC_SECRET_0 0c32c250241f582c4f7d3c9eb5331215adcca1d0e03bc929a5895a042f33276a f9c21dccf3d0a084ef03c04bc2f29a6034d670ee4f0bfbef0d591b3db113a428c26ec672b457de00c7b170a87df276d4 +SERVER_TRAFFIC_SECRET_0 0c32c250241f582c4f7d3c9eb5331215adcca1d0e03bc929a5895a042f33276a c1734835bdf298298104ced2f72eb443840efe8c1ea69a8f8898f655fd31e21321e6fd95f70e641cd4881d5f769f809b +CLIENT_HANDSHAKE_TRAFFIC_SECRET 53a50ade44e3cbb828c69fdabc565259ee0a9094323b592147f7d42ac89265ff cd7704425a9e760abbb5e8a86eb417b6382de780d6960643a61dc5e74ccfaa1a29ccb6179f66bf066e2762d0c2308efb +SERVER_HANDSHAKE_TRAFFIC_SECRET 53a50ade44e3cbb828c69fdabc565259ee0a9094323b592147f7d42ac89265ff 0d71d9fabf0e772bc2f93a4e35803ccc5852b9e58860e985bcfdd17692e1fb3ae655d87f8f1190833e06deeb5a5ba768 +CLIENT_TRAFFIC_SECRET_0 53a50ade44e3cbb828c69fdabc565259ee0a9094323b592147f7d42ac89265ff f6be3d0c2b9c63770578445258baee12a252ed991a503c9f0b21a7f54fc3998cac1b71fd3517e51686deec91a133d3cf +SERVER_TRAFFIC_SECRET_0 53a50ade44e3cbb828c69fdabc565259ee0a9094323b592147f7d42ac89265ff a4dc9636c98f99f3ec75ee578ed4e05dd3f7f18cdbad19efbb6e04ccc5bc82da6199ef6714be4a21adfac0260bcc5a14 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 53a50ade44e3cbb828c69fdabc565259ee0a9094323b592147f7d42ac89265ff cd7704425a9e760abbb5e8a86eb417b6382de780d6960643a61dc5e74ccfaa1a29ccb6179f66bf066e2762d0c2308efb +SERVER_HANDSHAKE_TRAFFIC_SECRET 53a50ade44e3cbb828c69fdabc565259ee0a9094323b592147f7d42ac89265ff 0d71d9fabf0e772bc2f93a4e35803ccc5852b9e58860e985bcfdd17692e1fb3ae655d87f8f1190833e06deeb5a5ba768 +CLIENT_TRAFFIC_SECRET_0 53a50ade44e3cbb828c69fdabc565259ee0a9094323b592147f7d42ac89265ff f6be3d0c2b9c63770578445258baee12a252ed991a503c9f0b21a7f54fc3998cac1b71fd3517e51686deec91a133d3cf +SERVER_TRAFFIC_SECRET_0 53a50ade44e3cbb828c69fdabc565259ee0a9094323b592147f7d42ac89265ff a4dc9636c98f99f3ec75ee578ed4e05dd3f7f18cdbad19efbb6e04ccc5bc82da6199ef6714be4a21adfac0260bcc5a14 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a0c84c9cabc701ab6be02e1f3238ef36aa27431acec2bba8046d7e9b06735cf9 c57fcbefe169f20bbfac4ba59252863fe09e0f2984d0fc15f12346bc95d0d68d1f888511ce21863468aaaad6201588a6 +SERVER_HANDSHAKE_TRAFFIC_SECRET a0c84c9cabc701ab6be02e1f3238ef36aa27431acec2bba8046d7e9b06735cf9 6bb1c3734157e282613dec1f80b135c78542031ff710315df083949ebf00596d19b411f2ffcc6dbdeafb19ff438d4559 +CLIENT_TRAFFIC_SECRET_0 a0c84c9cabc701ab6be02e1f3238ef36aa27431acec2bba8046d7e9b06735cf9 94332decad5b69a0ad51db25842ab0e7fae956d62502a50eadad7e19a31bc1b89ee26a1439cb038e691fe8a6f2603989 +SERVER_TRAFFIC_SECRET_0 a0c84c9cabc701ab6be02e1f3238ef36aa27431acec2bba8046d7e9b06735cf9 ab05e5be070ead58d63f798c484800a2149d863270a451f961e64ac2df14215bf892f02c0c562df0ef856283544837a1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a0c84c9cabc701ab6be02e1f3238ef36aa27431acec2bba8046d7e9b06735cf9 c57fcbefe169f20bbfac4ba59252863fe09e0f2984d0fc15f12346bc95d0d68d1f888511ce21863468aaaad6201588a6 +SERVER_HANDSHAKE_TRAFFIC_SECRET a0c84c9cabc701ab6be02e1f3238ef36aa27431acec2bba8046d7e9b06735cf9 6bb1c3734157e282613dec1f80b135c78542031ff710315df083949ebf00596d19b411f2ffcc6dbdeafb19ff438d4559 +CLIENT_TRAFFIC_SECRET_0 a0c84c9cabc701ab6be02e1f3238ef36aa27431acec2bba8046d7e9b06735cf9 94332decad5b69a0ad51db25842ab0e7fae956d62502a50eadad7e19a31bc1b89ee26a1439cb038e691fe8a6f2603989 +SERVER_TRAFFIC_SECRET_0 a0c84c9cabc701ab6be02e1f3238ef36aa27431acec2bba8046d7e9b06735cf9 ab05e5be070ead58d63f798c484800a2149d863270a451f961e64ac2df14215bf892f02c0c562df0ef856283544837a1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 26c3cb0f9ef986400efef8b50a97d323d492baf013e37c62a88f95db864447b0 126ad82b068a5fe1c4b60ff3605fcc475cd0329f3ba71362e12985565fe26779663f8227c22739660ee37cb3aff5368f +SERVER_HANDSHAKE_TRAFFIC_SECRET 26c3cb0f9ef986400efef8b50a97d323d492baf013e37c62a88f95db864447b0 8cda23f7bd9822d917ba764e7462eb42abc25626ba39940234ee67f3154b00df39f4caec3f3db2937a011f7d2efe701d +CLIENT_TRAFFIC_SECRET_0 26c3cb0f9ef986400efef8b50a97d323d492baf013e37c62a88f95db864447b0 ee96b8408b677d21d4a8dec2756dd7cbe3decedfe0c07098f3d067c3d82e2357afb5d8f6b90617562553cd90db8d237e +SERVER_TRAFFIC_SECRET_0 26c3cb0f9ef986400efef8b50a97d323d492baf013e37c62a88f95db864447b0 99d73e81bcdd5438675a0d87752195013f7d4d1939bd4ca9bf071b9004f9eed53072554490824b4ed8b18c81f33d6625 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 26c3cb0f9ef986400efef8b50a97d323d492baf013e37c62a88f95db864447b0 126ad82b068a5fe1c4b60ff3605fcc475cd0329f3ba71362e12985565fe26779663f8227c22739660ee37cb3aff5368f +SERVER_HANDSHAKE_TRAFFIC_SECRET 26c3cb0f9ef986400efef8b50a97d323d492baf013e37c62a88f95db864447b0 8cda23f7bd9822d917ba764e7462eb42abc25626ba39940234ee67f3154b00df39f4caec3f3db2937a011f7d2efe701d +CLIENT_TRAFFIC_SECRET_0 26c3cb0f9ef986400efef8b50a97d323d492baf013e37c62a88f95db864447b0 ee96b8408b677d21d4a8dec2756dd7cbe3decedfe0c07098f3d067c3d82e2357afb5d8f6b90617562553cd90db8d237e +SERVER_TRAFFIC_SECRET_0 26c3cb0f9ef986400efef8b50a97d323d492baf013e37c62a88f95db864447b0 99d73e81bcdd5438675a0d87752195013f7d4d1939bd4ca9bf071b9004f9eed53072554490824b4ed8b18c81f33d6625 +CLIENT_HANDSHAKE_TRAFFIC_SECRET aa48bc9c74dc8b13e848fd3689ff612fb57be739b5e767518eaed69cb9082481 90ff966cf3ca346beeb7b263defdaed33346a35c1d4301c7bedd0bc907a44f88f26a36479c58db4cfc47beb407aae325 +SERVER_HANDSHAKE_TRAFFIC_SECRET aa48bc9c74dc8b13e848fd3689ff612fb57be739b5e767518eaed69cb9082481 fc985b22b6cf9ca598b126304630c74a971306d29666e3fed5a039919ecca1dcd3c804c7b619face5784c516177d7365 +CLIENT_TRAFFIC_SECRET_0 aa48bc9c74dc8b13e848fd3689ff612fb57be739b5e767518eaed69cb9082481 b1a3949777937cf2cbda46d0899fa91af5f41d80785992df79c9c2cf061e9274bf29415fafc533437efe8cdcc18851a5 +SERVER_TRAFFIC_SECRET_0 aa48bc9c74dc8b13e848fd3689ff612fb57be739b5e767518eaed69cb9082481 9d034eff726b4f0005d3a97a234e2bf8d1f5f89b0696f14513d349ddc7bedfa7808d98dbbe2ff6b7df61b78986d8e728 +CLIENT_HANDSHAKE_TRAFFIC_SECRET aa48bc9c74dc8b13e848fd3689ff612fb57be739b5e767518eaed69cb9082481 90ff966cf3ca346beeb7b263defdaed33346a35c1d4301c7bedd0bc907a44f88f26a36479c58db4cfc47beb407aae325 +SERVER_HANDSHAKE_TRAFFIC_SECRET aa48bc9c74dc8b13e848fd3689ff612fb57be739b5e767518eaed69cb9082481 fc985b22b6cf9ca598b126304630c74a971306d29666e3fed5a039919ecca1dcd3c804c7b619face5784c516177d7365 +CLIENT_TRAFFIC_SECRET_0 aa48bc9c74dc8b13e848fd3689ff612fb57be739b5e767518eaed69cb9082481 b1a3949777937cf2cbda46d0899fa91af5f41d80785992df79c9c2cf061e9274bf29415fafc533437efe8cdcc18851a5 +SERVER_TRAFFIC_SECRET_0 aa48bc9c74dc8b13e848fd3689ff612fb57be739b5e767518eaed69cb9082481 9d034eff726b4f0005d3a97a234e2bf8d1f5f89b0696f14513d349ddc7bedfa7808d98dbbe2ff6b7df61b78986d8e728 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3535c3832f4fb2ce23d90d29ff8ca52d8d1be3a6068b2f5f1e746dd49803563f 08e16576632f06cdffcbe8cda2eb193609d01b62d062bb5a0eae096e20fb862e8cd2dad85e2b67102c2dfac2901627eb +SERVER_HANDSHAKE_TRAFFIC_SECRET 3535c3832f4fb2ce23d90d29ff8ca52d8d1be3a6068b2f5f1e746dd49803563f f521371e6358d1709ea43ffb47b7858a25520a16ff66feb6b4dbe6e449fed0340bb5a3ba278ad5349c569552f77284d6 +CLIENT_TRAFFIC_SECRET_0 3535c3832f4fb2ce23d90d29ff8ca52d8d1be3a6068b2f5f1e746dd49803563f 619004ea86af3cb7ccc7365478515e32d329a84d6c15f3309496469071a525fe0da150e1b9e3f9cd27af62768289d301 +SERVER_TRAFFIC_SECRET_0 3535c3832f4fb2ce23d90d29ff8ca52d8d1be3a6068b2f5f1e746dd49803563f fc7d3829934c293e3f958d3f3fafdf75e90fe3f3368372eb00b369884b1d0232935142794ddf8a296d02a4dd57429bf6 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3535c3832f4fb2ce23d90d29ff8ca52d8d1be3a6068b2f5f1e746dd49803563f 08e16576632f06cdffcbe8cda2eb193609d01b62d062bb5a0eae096e20fb862e8cd2dad85e2b67102c2dfac2901627eb +SERVER_HANDSHAKE_TRAFFIC_SECRET 3535c3832f4fb2ce23d90d29ff8ca52d8d1be3a6068b2f5f1e746dd49803563f f521371e6358d1709ea43ffb47b7858a25520a16ff66feb6b4dbe6e449fed0340bb5a3ba278ad5349c569552f77284d6 +CLIENT_TRAFFIC_SECRET_0 3535c3832f4fb2ce23d90d29ff8ca52d8d1be3a6068b2f5f1e746dd49803563f 619004ea86af3cb7ccc7365478515e32d329a84d6c15f3309496469071a525fe0da150e1b9e3f9cd27af62768289d301 +SERVER_TRAFFIC_SECRET_0 3535c3832f4fb2ce23d90d29ff8ca52d8d1be3a6068b2f5f1e746dd49803563f fc7d3829934c293e3f958d3f3fafdf75e90fe3f3368372eb00b369884b1d0232935142794ddf8a296d02a4dd57429bf6 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a52f8815be3182be0dbb21208d99066ad7b985e3176081ef7154341d76475985 776621236783ec838c16956eb08dc5146dcfb5f091225bfd7eb703d6b65c4b104eb426dbabf4127c7f87bd92cca01637 +SERVER_HANDSHAKE_TRAFFIC_SECRET a52f8815be3182be0dbb21208d99066ad7b985e3176081ef7154341d76475985 1a07915421c97bf065b44630117562032cc5be248088eabf7c003affed3f78960ab71b057f4f303093c850c6ea8e0cfb +CLIENT_TRAFFIC_SECRET_0 a52f8815be3182be0dbb21208d99066ad7b985e3176081ef7154341d76475985 49e407eae09d9ca815fbce89c2b2e1bfbee94ec10d57cde622ccc8af0c8fa3e08892c59eea0a7e1ead42cd0eac437592 +SERVER_TRAFFIC_SECRET_0 a52f8815be3182be0dbb21208d99066ad7b985e3176081ef7154341d76475985 7057f5d33bb9a902b13f0c5448c770c9c1d89fd3dfabafe836e829d946fd9111f04cf96e5f1176af942fb8ef38eaccb7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a52f8815be3182be0dbb21208d99066ad7b985e3176081ef7154341d76475985 776621236783ec838c16956eb08dc5146dcfb5f091225bfd7eb703d6b65c4b104eb426dbabf4127c7f87bd92cca01637 +SERVER_HANDSHAKE_TRAFFIC_SECRET a52f8815be3182be0dbb21208d99066ad7b985e3176081ef7154341d76475985 1a07915421c97bf065b44630117562032cc5be248088eabf7c003affed3f78960ab71b057f4f303093c850c6ea8e0cfb +CLIENT_TRAFFIC_SECRET_0 a52f8815be3182be0dbb21208d99066ad7b985e3176081ef7154341d76475985 49e407eae09d9ca815fbce89c2b2e1bfbee94ec10d57cde622ccc8af0c8fa3e08892c59eea0a7e1ead42cd0eac437592 +SERVER_TRAFFIC_SECRET_0 a52f8815be3182be0dbb21208d99066ad7b985e3176081ef7154341d76475985 7057f5d33bb9a902b13f0c5448c770c9c1d89fd3dfabafe836e829d946fd9111f04cf96e5f1176af942fb8ef38eaccb7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4cd29bd760c3e292e25643c67c9f1cfafcab82c1f2378fea458b87451d2c8c92 2aed509336353426354b8ed2e5287e1542a4f925fc2f5f6d21abcc042d7549f48d792065fca4bd29d6ce5e4ed049bada +SERVER_HANDSHAKE_TRAFFIC_SECRET 4cd29bd760c3e292e25643c67c9f1cfafcab82c1f2378fea458b87451d2c8c92 f968995ec6412904c9ecb6914dec2f7bc24db3fdb7a0fffed4de0a400efcb83320708e9d31152adcf73dfb4ec61438c3 +CLIENT_TRAFFIC_SECRET_0 4cd29bd760c3e292e25643c67c9f1cfafcab82c1f2378fea458b87451d2c8c92 29b39d8accb054d4b390d6627f4eb83393017a8562b51eb235310d4349905d283d21620720df4fe510d2980929a3b0c1 +SERVER_TRAFFIC_SECRET_0 4cd29bd760c3e292e25643c67c9f1cfafcab82c1f2378fea458b87451d2c8c92 711d8161bc1f6baa65578bedfa5829b122bd3d601207df0778270440664f5a864a981e10fd09a62d024fa4ecf2e841d8 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4cd29bd760c3e292e25643c67c9f1cfafcab82c1f2378fea458b87451d2c8c92 2aed509336353426354b8ed2e5287e1542a4f925fc2f5f6d21abcc042d7549f48d792065fca4bd29d6ce5e4ed049bada +SERVER_HANDSHAKE_TRAFFIC_SECRET 4cd29bd760c3e292e25643c67c9f1cfafcab82c1f2378fea458b87451d2c8c92 f968995ec6412904c9ecb6914dec2f7bc24db3fdb7a0fffed4de0a400efcb83320708e9d31152adcf73dfb4ec61438c3 +CLIENT_TRAFFIC_SECRET_0 4cd29bd760c3e292e25643c67c9f1cfafcab82c1f2378fea458b87451d2c8c92 29b39d8accb054d4b390d6627f4eb83393017a8562b51eb235310d4349905d283d21620720df4fe510d2980929a3b0c1 +SERVER_TRAFFIC_SECRET_0 4cd29bd760c3e292e25643c67c9f1cfafcab82c1f2378fea458b87451d2c8c92 711d8161bc1f6baa65578bedfa5829b122bd3d601207df0778270440664f5a864a981e10fd09a62d024fa4ecf2e841d8 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 27e2db1bb07d192ff6e6c393e7d8a506c0b7967ad36cf14d40c858893c793e35 3c594f314a96bc1ae1387c5fbfcfa03153da2501e7736752f5538287e411a82adf434d14c2c07c1a0a65f7ab08c1c91b +SERVER_HANDSHAKE_TRAFFIC_SECRET 27e2db1bb07d192ff6e6c393e7d8a506c0b7967ad36cf14d40c858893c793e35 93849a71590c894a843674f2874cb8b4cfa8aa3099072db1428a9579aade77e6f99e8ab5040498671f74561f63d01b96 +CLIENT_TRAFFIC_SECRET_0 27e2db1bb07d192ff6e6c393e7d8a506c0b7967ad36cf14d40c858893c793e35 09a98dca06faa01bff5d6e6cef8d1da080403e552d7bd19e58a790a00eff2fb1aef754937c76e9a96828985bafce5c1c +SERVER_TRAFFIC_SECRET_0 27e2db1bb07d192ff6e6c393e7d8a506c0b7967ad36cf14d40c858893c793e35 56a939a97392824e859df78c4ea9dc37d8552bf603f6bf706e09e30ba48e953121b8305a3539896d887a917252fe45d3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 27e2db1bb07d192ff6e6c393e7d8a506c0b7967ad36cf14d40c858893c793e35 3c594f314a96bc1ae1387c5fbfcfa03153da2501e7736752f5538287e411a82adf434d14c2c07c1a0a65f7ab08c1c91b +SERVER_HANDSHAKE_TRAFFIC_SECRET 27e2db1bb07d192ff6e6c393e7d8a506c0b7967ad36cf14d40c858893c793e35 93849a71590c894a843674f2874cb8b4cfa8aa3099072db1428a9579aade77e6f99e8ab5040498671f74561f63d01b96 +CLIENT_TRAFFIC_SECRET_0 27e2db1bb07d192ff6e6c393e7d8a506c0b7967ad36cf14d40c858893c793e35 09a98dca06faa01bff5d6e6cef8d1da080403e552d7bd19e58a790a00eff2fb1aef754937c76e9a96828985bafce5c1c +SERVER_TRAFFIC_SECRET_0 27e2db1bb07d192ff6e6c393e7d8a506c0b7967ad36cf14d40c858893c793e35 56a939a97392824e859df78c4ea9dc37d8552bf603f6bf706e09e30ba48e953121b8305a3539896d887a917252fe45d3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET aebfec6fe1629e639144268b422f0bad61be933ecbeb46fd8b7460f3eb291442 77ee4364d2fc487e46a42d26f07a26a8edb1942ffc11afea5ec7b5d5c2697d83ee8ee50b8d8bafaf5f3b93acb6af6a9b +SERVER_HANDSHAKE_TRAFFIC_SECRET aebfec6fe1629e639144268b422f0bad61be933ecbeb46fd8b7460f3eb291442 cf0622d6e3f2488009674ed0da279ba6e2e05953be2ebca5a9e2789789a43538253ec928006febca63489841f5d0b6ee +CLIENT_TRAFFIC_SECRET_0 aebfec6fe1629e639144268b422f0bad61be933ecbeb46fd8b7460f3eb291442 c24622bb17c43240e5c3014b2a2334d10eb4780b8898100ee2efcadffc40242798790e71ba42b7e929cfc661cc8d152c +SERVER_TRAFFIC_SECRET_0 aebfec6fe1629e639144268b422f0bad61be933ecbeb46fd8b7460f3eb291442 43863ef69ab28cbf81b675814575bd71747e7288a4965b94719c211b86207897adfe2271ac0f366d425fc35dba2b0388 +CLIENT_HANDSHAKE_TRAFFIC_SECRET aebfec6fe1629e639144268b422f0bad61be933ecbeb46fd8b7460f3eb291442 77ee4364d2fc487e46a42d26f07a26a8edb1942ffc11afea5ec7b5d5c2697d83ee8ee50b8d8bafaf5f3b93acb6af6a9b +SERVER_HANDSHAKE_TRAFFIC_SECRET aebfec6fe1629e639144268b422f0bad61be933ecbeb46fd8b7460f3eb291442 cf0622d6e3f2488009674ed0da279ba6e2e05953be2ebca5a9e2789789a43538253ec928006febca63489841f5d0b6ee +CLIENT_TRAFFIC_SECRET_0 aebfec6fe1629e639144268b422f0bad61be933ecbeb46fd8b7460f3eb291442 c24622bb17c43240e5c3014b2a2334d10eb4780b8898100ee2efcadffc40242798790e71ba42b7e929cfc661cc8d152c +SERVER_TRAFFIC_SECRET_0 aebfec6fe1629e639144268b422f0bad61be933ecbeb46fd8b7460f3eb291442 43863ef69ab28cbf81b675814575bd71747e7288a4965b94719c211b86207897adfe2271ac0f366d425fc35dba2b0388 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 24131afb0b94e0cb2cb2cbbfdee482152b3f0649eca1d3215307940f30018c93 b4917da369ca843c36fc3433b6aa1f8dbc574168c658dcc958a56db0fe346bfeb704c7e0942fd3a368e9106498bec7a3 +SERVER_HANDSHAKE_TRAFFIC_SECRET 24131afb0b94e0cb2cb2cbbfdee482152b3f0649eca1d3215307940f30018c93 0756b75839d72862a413fa26b3d8d375a8d9dcb5ad3cbc4ea6231b6c91d26b95ae026ac0aa1c52b9ce158ef05c104beb +CLIENT_TRAFFIC_SECRET_0 24131afb0b94e0cb2cb2cbbfdee482152b3f0649eca1d3215307940f30018c93 20ef24fd744e13e944f327f7b3426e677610940e445a22295151ad88bcb7bbeb41f6e179f179076cd0010b8107261804 +SERVER_TRAFFIC_SECRET_0 24131afb0b94e0cb2cb2cbbfdee482152b3f0649eca1d3215307940f30018c93 15e360d06627257bdd18f26e5859be9749c9b724e11d7e853a0d22e0fe0ed98be2a528c4e3d8348675f5e9a4eee0e49f +CLIENT_HANDSHAKE_TRAFFIC_SECRET 24131afb0b94e0cb2cb2cbbfdee482152b3f0649eca1d3215307940f30018c93 b4917da369ca843c36fc3433b6aa1f8dbc574168c658dcc958a56db0fe346bfeb704c7e0942fd3a368e9106498bec7a3 +SERVER_HANDSHAKE_TRAFFIC_SECRET 24131afb0b94e0cb2cb2cbbfdee482152b3f0649eca1d3215307940f30018c93 0756b75839d72862a413fa26b3d8d375a8d9dcb5ad3cbc4ea6231b6c91d26b95ae026ac0aa1c52b9ce158ef05c104beb +CLIENT_TRAFFIC_SECRET_0 24131afb0b94e0cb2cb2cbbfdee482152b3f0649eca1d3215307940f30018c93 20ef24fd744e13e944f327f7b3426e677610940e445a22295151ad88bcb7bbeb41f6e179f179076cd0010b8107261804 +SERVER_TRAFFIC_SECRET_0 24131afb0b94e0cb2cb2cbbfdee482152b3f0649eca1d3215307940f30018c93 15e360d06627257bdd18f26e5859be9749c9b724e11d7e853a0d22e0fe0ed98be2a528c4e3d8348675f5e9a4eee0e49f +CLIENT_HANDSHAKE_TRAFFIC_SECRET ca13c929ba31070d44418c2ba87c1aeb47f02bc4a27fc659fd132085fa16dd23 9faa217258af7f1981d1a2062734bb1546f5a284456f8655af460ed29b96c10eb6a6820c4596aaec69ee4ac50cc42b05 +SERVER_HANDSHAKE_TRAFFIC_SECRET ca13c929ba31070d44418c2ba87c1aeb47f02bc4a27fc659fd132085fa16dd23 d3b1047502ecf1ddb05deea6a394b53825420381c406a19cf5b1e60723734ac824f06e6a4845322b61d9c532dae808ba +CLIENT_TRAFFIC_SECRET_0 ca13c929ba31070d44418c2ba87c1aeb47f02bc4a27fc659fd132085fa16dd23 4d5ac3f1a432c58a9249d8ec5bcbde9646afc042b5ef10631d2ebcc65b88d0f0f08a889d6279792bbbf8a5d5d0e6cb39 +SERVER_TRAFFIC_SECRET_0 ca13c929ba31070d44418c2ba87c1aeb47f02bc4a27fc659fd132085fa16dd23 50591f4b08ca5c4119be7abd1903e6406ba75c540eed978242f3a7277d818443bd333c0d217a25639073d6ce395e24d5 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ca13c929ba31070d44418c2ba87c1aeb47f02bc4a27fc659fd132085fa16dd23 9faa217258af7f1981d1a2062734bb1546f5a284456f8655af460ed29b96c10eb6a6820c4596aaec69ee4ac50cc42b05 +SERVER_HANDSHAKE_TRAFFIC_SECRET ca13c929ba31070d44418c2ba87c1aeb47f02bc4a27fc659fd132085fa16dd23 d3b1047502ecf1ddb05deea6a394b53825420381c406a19cf5b1e60723734ac824f06e6a4845322b61d9c532dae808ba +CLIENT_TRAFFIC_SECRET_0 ca13c929ba31070d44418c2ba87c1aeb47f02bc4a27fc659fd132085fa16dd23 4d5ac3f1a432c58a9249d8ec5bcbde9646afc042b5ef10631d2ebcc65b88d0f0f08a889d6279792bbbf8a5d5d0e6cb39 +SERVER_TRAFFIC_SECRET_0 ca13c929ba31070d44418c2ba87c1aeb47f02bc4a27fc659fd132085fa16dd23 50591f4b08ca5c4119be7abd1903e6406ba75c540eed978242f3a7277d818443bd333c0d217a25639073d6ce395e24d5 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 074efd152248705aba0be2e989d2a32926330bd66c65fb4b3d39a7b1a59d7a62 d617a56820db75a4fee2fd12c1eac1d79306288163b82a600fe8ccec99e911c39798d4d698389c2f566df068e9925e94 +SERVER_HANDSHAKE_TRAFFIC_SECRET 074efd152248705aba0be2e989d2a32926330bd66c65fb4b3d39a7b1a59d7a62 03d10a15a274880a9bdc5f141215374383ac19679bd57af831b249576a7feb220748a92ddb43a676c29ec134553f15c0 +CLIENT_TRAFFIC_SECRET_0 074efd152248705aba0be2e989d2a32926330bd66c65fb4b3d39a7b1a59d7a62 a31f886f5737f0500fe2764b14d9ceba50abe399778ed59c38b08e21e097fec1e69eac7e3c595f35546a349d82d45862 +SERVER_TRAFFIC_SECRET_0 074efd152248705aba0be2e989d2a32926330bd66c65fb4b3d39a7b1a59d7a62 cbca2079bb658eb848f0242f54cf78e8226d1a30e9a9d234bdc69e1ab85ef6419cced91a2e68d180f3c03f48b2f4d7f4 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 074efd152248705aba0be2e989d2a32926330bd66c65fb4b3d39a7b1a59d7a62 d617a56820db75a4fee2fd12c1eac1d79306288163b82a600fe8ccec99e911c39798d4d698389c2f566df068e9925e94 +SERVER_HANDSHAKE_TRAFFIC_SECRET 074efd152248705aba0be2e989d2a32926330bd66c65fb4b3d39a7b1a59d7a62 03d10a15a274880a9bdc5f141215374383ac19679bd57af831b249576a7feb220748a92ddb43a676c29ec134553f15c0 +CLIENT_TRAFFIC_SECRET_0 074efd152248705aba0be2e989d2a32926330bd66c65fb4b3d39a7b1a59d7a62 a31f886f5737f0500fe2764b14d9ceba50abe399778ed59c38b08e21e097fec1e69eac7e3c595f35546a349d82d45862 +SERVER_TRAFFIC_SECRET_0 074efd152248705aba0be2e989d2a32926330bd66c65fb4b3d39a7b1a59d7a62 cbca2079bb658eb848f0242f54cf78e8226d1a30e9a9d234bdc69e1ab85ef6419cced91a2e68d180f3c03f48b2f4d7f4 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3ee978ab6d0a31ca327bc6b6248ecc6b9e0069845e89db989a94a1ad21ce7790 6dee004c6a696ea180df80312a772c88514f52938d850164ade20e58f2c5a9c423224686a63502ffabcb2d543a8c7cd4 +SERVER_HANDSHAKE_TRAFFIC_SECRET 3ee978ab6d0a31ca327bc6b6248ecc6b9e0069845e89db989a94a1ad21ce7790 c91476cf30fec55a1dd62b0d053e07a75c99c51b1b81f67b07d7a580c0058730caf1c2a45c580f5e60885b9929c40548 +CLIENT_TRAFFIC_SECRET_0 3ee978ab6d0a31ca327bc6b6248ecc6b9e0069845e89db989a94a1ad21ce7790 f3cefc272f6104d59fefad9324f74a89b00441b411eedd278d1380c38611c01e0cd790ca18837b4fc9b9ddc9d2d26608 +SERVER_TRAFFIC_SECRET_0 3ee978ab6d0a31ca327bc6b6248ecc6b9e0069845e89db989a94a1ad21ce7790 8590bad8aede19a89c6a64b6e8e4fa2b7ff31bd1b3d36fcef91671758ff93866b128abc71738e3ea8d5a58aaf3383fbc +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3ee978ab6d0a31ca327bc6b6248ecc6b9e0069845e89db989a94a1ad21ce7790 6dee004c6a696ea180df80312a772c88514f52938d850164ade20e58f2c5a9c423224686a63502ffabcb2d543a8c7cd4 +SERVER_HANDSHAKE_TRAFFIC_SECRET 3ee978ab6d0a31ca327bc6b6248ecc6b9e0069845e89db989a94a1ad21ce7790 c91476cf30fec55a1dd62b0d053e07a75c99c51b1b81f67b07d7a580c0058730caf1c2a45c580f5e60885b9929c40548 +CLIENT_TRAFFIC_SECRET_0 3ee978ab6d0a31ca327bc6b6248ecc6b9e0069845e89db989a94a1ad21ce7790 f3cefc272f6104d59fefad9324f74a89b00441b411eedd278d1380c38611c01e0cd790ca18837b4fc9b9ddc9d2d26608 +SERVER_TRAFFIC_SECRET_0 3ee978ab6d0a31ca327bc6b6248ecc6b9e0069845e89db989a94a1ad21ce7790 8590bad8aede19a89c6a64b6e8e4fa2b7ff31bd1b3d36fcef91671758ff93866b128abc71738e3ea8d5a58aaf3383fbc +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8f918e15c558eed63716dd517ae77cd30ede3b4526217719e6bc5a2696db1a23 6d21b95251b7491035e8d8c5eff3ae5ba526d3c8b8095294fd5c010cfc02aacb961970fc1044d68cc43c78fa0ad2d482 +SERVER_HANDSHAKE_TRAFFIC_SECRET 8f918e15c558eed63716dd517ae77cd30ede3b4526217719e6bc5a2696db1a23 7f7e1d8fcf411aa8607d97415a8593ee00af7afc94227fbeac10b0a7875cec75345def447fcd4a91f9ef7f9d4922bfb3 +CLIENT_TRAFFIC_SECRET_0 8f918e15c558eed63716dd517ae77cd30ede3b4526217719e6bc5a2696db1a23 03240082ebdf7485b80c3823650d30caf3047b9417c22ba3138bd84bd125d7ede6ad4c006d35a1a06111f59108f72235 +SERVER_TRAFFIC_SECRET_0 8f918e15c558eed63716dd517ae77cd30ede3b4526217719e6bc5a2696db1a23 b79e62b442215742ad50b9ec4b1b85501f722dc5b24e551878ac59cbe01b43955b5ca850b600499c874e99665c239433 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8f918e15c558eed63716dd517ae77cd30ede3b4526217719e6bc5a2696db1a23 6d21b95251b7491035e8d8c5eff3ae5ba526d3c8b8095294fd5c010cfc02aacb961970fc1044d68cc43c78fa0ad2d482 +SERVER_HANDSHAKE_TRAFFIC_SECRET 8f918e15c558eed63716dd517ae77cd30ede3b4526217719e6bc5a2696db1a23 7f7e1d8fcf411aa8607d97415a8593ee00af7afc94227fbeac10b0a7875cec75345def447fcd4a91f9ef7f9d4922bfb3 +CLIENT_TRAFFIC_SECRET_0 8f918e15c558eed63716dd517ae77cd30ede3b4526217719e6bc5a2696db1a23 03240082ebdf7485b80c3823650d30caf3047b9417c22ba3138bd84bd125d7ede6ad4c006d35a1a06111f59108f72235 +SERVER_TRAFFIC_SECRET_0 8f918e15c558eed63716dd517ae77cd30ede3b4526217719e6bc5a2696db1a23 b79e62b442215742ad50b9ec4b1b85501f722dc5b24e551878ac59cbe01b43955b5ca850b600499c874e99665c239433 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 52fe73d26e84fda35eb731affcbabfc48e9bfd3ca9e3929a292f72ecaa94c879 91400c0b0aec0c24c3c760216683c5fc15f400b699ad1c997ee70d0d0d571e12d4f519367b47cfa1f7364cfcc9cb3184 +SERVER_HANDSHAKE_TRAFFIC_SECRET 52fe73d26e84fda35eb731affcbabfc48e9bfd3ca9e3929a292f72ecaa94c879 5fea594c489a59f3efba8dbc6c1c1ad28c29d004c7fa5fbbe253d134eee5790ba765fe27e70d0761c180ab97a4f9d20d +CLIENT_TRAFFIC_SECRET_0 52fe73d26e84fda35eb731affcbabfc48e9bfd3ca9e3929a292f72ecaa94c879 35107ce384e30faee8edbea030c56bc16a7428e53dbe7cf66775c59fb6618095163a68f1c086343e5281cccd0d8a3110 +SERVER_TRAFFIC_SECRET_0 52fe73d26e84fda35eb731affcbabfc48e9bfd3ca9e3929a292f72ecaa94c879 5b30cb8c58cd9d689f179840684372fbdf25d04f520858fff022f3ce233ba9bf9bcc7ae615c0900df0ccacc129f50119 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 52fe73d26e84fda35eb731affcbabfc48e9bfd3ca9e3929a292f72ecaa94c879 91400c0b0aec0c24c3c760216683c5fc15f400b699ad1c997ee70d0d0d571e12d4f519367b47cfa1f7364cfcc9cb3184 +SERVER_HANDSHAKE_TRAFFIC_SECRET 52fe73d26e84fda35eb731affcbabfc48e9bfd3ca9e3929a292f72ecaa94c879 5fea594c489a59f3efba8dbc6c1c1ad28c29d004c7fa5fbbe253d134eee5790ba765fe27e70d0761c180ab97a4f9d20d +CLIENT_TRAFFIC_SECRET_0 52fe73d26e84fda35eb731affcbabfc48e9bfd3ca9e3929a292f72ecaa94c879 35107ce384e30faee8edbea030c56bc16a7428e53dbe7cf66775c59fb6618095163a68f1c086343e5281cccd0d8a3110 +SERVER_TRAFFIC_SECRET_0 52fe73d26e84fda35eb731affcbabfc48e9bfd3ca9e3929a292f72ecaa94c879 5b30cb8c58cd9d689f179840684372fbdf25d04f520858fff022f3ce233ba9bf9bcc7ae615c0900df0ccacc129f50119 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4ac9d3cad0fd781cd5dfa099c5c26d363d1d8641ca9029204b266bc575a8ebc2 df3f49a137182ba2a1a301cd51a52338fbc36d8c32ffbb4fdc2c05f132ee4555a4a1e9a50fce324da3599c9e6cea9ba4 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4ac9d3cad0fd781cd5dfa099c5c26d363d1d8641ca9029204b266bc575a8ebc2 165670c5fda61b398e2869cb4f78b515fe667e7f9e4defd87be0db4979c079842d40e2cacb7d549aa7058cf52b586d1b +CLIENT_TRAFFIC_SECRET_0 4ac9d3cad0fd781cd5dfa099c5c26d363d1d8641ca9029204b266bc575a8ebc2 259115e9929121ab74ace9b79c39c682c72dd3f52ea4bc89330d70e7416667fa6125c7ebbe8bf074b8a702f6b0466f60 +SERVER_TRAFFIC_SECRET_0 4ac9d3cad0fd781cd5dfa099c5c26d363d1d8641ca9029204b266bc575a8ebc2 67f79e9b174da76a401ca4ae2ceb3ca22eff64b669e31e0ea017f33f16715bbe3cec305f80df62a01a47aac61bf429a3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4ac9d3cad0fd781cd5dfa099c5c26d363d1d8641ca9029204b266bc575a8ebc2 df3f49a137182ba2a1a301cd51a52338fbc36d8c32ffbb4fdc2c05f132ee4555a4a1e9a50fce324da3599c9e6cea9ba4 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4ac9d3cad0fd781cd5dfa099c5c26d363d1d8641ca9029204b266bc575a8ebc2 165670c5fda61b398e2869cb4f78b515fe667e7f9e4defd87be0db4979c079842d40e2cacb7d549aa7058cf52b586d1b +CLIENT_TRAFFIC_SECRET_0 4ac9d3cad0fd781cd5dfa099c5c26d363d1d8641ca9029204b266bc575a8ebc2 259115e9929121ab74ace9b79c39c682c72dd3f52ea4bc89330d70e7416667fa6125c7ebbe8bf074b8a702f6b0466f60 +SERVER_TRAFFIC_SECRET_0 4ac9d3cad0fd781cd5dfa099c5c26d363d1d8641ca9029204b266bc575a8ebc2 67f79e9b174da76a401ca4ae2ceb3ca22eff64b669e31e0ea017f33f16715bbe3cec305f80df62a01a47aac61bf429a3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 75465881e2781caa6fbca4e00ebd8529a606f4c6212c7dafa06b896a6987f113 0a458f58802fe0f00880bd5ea4bd60d4ccc497007dee8c9b53827a62a77c3521f998e7edad848a5c74e2bcb400a034bb +SERVER_HANDSHAKE_TRAFFIC_SECRET 75465881e2781caa6fbca4e00ebd8529a606f4c6212c7dafa06b896a6987f113 959fe6edc8760c9eb0d5e771944b25f8ff714ea473cece1f1e83d26490a0611102f3ad32cd7c16cdc91549670123e934 +CLIENT_TRAFFIC_SECRET_0 75465881e2781caa6fbca4e00ebd8529a606f4c6212c7dafa06b896a6987f113 ec7a1f6a66464e367347b36a79ba9c7f494b772fd0ea789bbdd7c9b27b7a2beec651d6a37d2198355e1248e088a359ad +SERVER_TRAFFIC_SECRET_0 75465881e2781caa6fbca4e00ebd8529a606f4c6212c7dafa06b896a6987f113 5069e3833a0934ad07811acf7f32c12ba4752985b4330a82548e5006ddb583b4c414f222c580abdd83598fa8c37d8712 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 75465881e2781caa6fbca4e00ebd8529a606f4c6212c7dafa06b896a6987f113 0a458f58802fe0f00880bd5ea4bd60d4ccc497007dee8c9b53827a62a77c3521f998e7edad848a5c74e2bcb400a034bb +SERVER_HANDSHAKE_TRAFFIC_SECRET 75465881e2781caa6fbca4e00ebd8529a606f4c6212c7dafa06b896a6987f113 959fe6edc8760c9eb0d5e771944b25f8ff714ea473cece1f1e83d26490a0611102f3ad32cd7c16cdc91549670123e934 +CLIENT_TRAFFIC_SECRET_0 75465881e2781caa6fbca4e00ebd8529a606f4c6212c7dafa06b896a6987f113 ec7a1f6a66464e367347b36a79ba9c7f494b772fd0ea789bbdd7c9b27b7a2beec651d6a37d2198355e1248e088a359ad +SERVER_TRAFFIC_SECRET_0 75465881e2781caa6fbca4e00ebd8529a606f4c6212c7dafa06b896a6987f113 5069e3833a0934ad07811acf7f32c12ba4752985b4330a82548e5006ddb583b4c414f222c580abdd83598fa8c37d8712 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 7492d318a43dc57cd5e0b0080fed06d3a9515f0d07e34b3fb79035cf6876db81 6d0080d2ab8671ec726d03489f977b2b6a1a9e544a2c9581ef3891e91b7c5ed7960000f88865f34f6ec3451a052b3c9c +SERVER_HANDSHAKE_TRAFFIC_SECRET 7492d318a43dc57cd5e0b0080fed06d3a9515f0d07e34b3fb79035cf6876db81 62a305ab9c48a64b2553c0387ffb09015a2fd2cb74e9729dcf1d12b5bcb5ea248f65f610085c2eeecd0228f345c0bc63 +CLIENT_TRAFFIC_SECRET_0 7492d318a43dc57cd5e0b0080fed06d3a9515f0d07e34b3fb79035cf6876db81 a08d5e3da732ac3ab701f4766cca65eb3ccb8c0f0c6d2944e40130d53dd6fdf4856e40333d9ca70924be856e45e64e33 +SERVER_TRAFFIC_SECRET_0 7492d318a43dc57cd5e0b0080fed06d3a9515f0d07e34b3fb79035cf6876db81 c058900366518ee7b09b041b0cee55686dd04a9b4aec8ebffd1cd75c856bbc6400dd18fbe15085f69dad49e6476b09e1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 7492d318a43dc57cd5e0b0080fed06d3a9515f0d07e34b3fb79035cf6876db81 6d0080d2ab8671ec726d03489f977b2b6a1a9e544a2c9581ef3891e91b7c5ed7960000f88865f34f6ec3451a052b3c9c +SERVER_HANDSHAKE_TRAFFIC_SECRET 7492d318a43dc57cd5e0b0080fed06d3a9515f0d07e34b3fb79035cf6876db81 62a305ab9c48a64b2553c0387ffb09015a2fd2cb74e9729dcf1d12b5bcb5ea248f65f610085c2eeecd0228f345c0bc63 +CLIENT_TRAFFIC_SECRET_0 7492d318a43dc57cd5e0b0080fed06d3a9515f0d07e34b3fb79035cf6876db81 a08d5e3da732ac3ab701f4766cca65eb3ccb8c0f0c6d2944e40130d53dd6fdf4856e40333d9ca70924be856e45e64e33 +SERVER_TRAFFIC_SECRET_0 7492d318a43dc57cd5e0b0080fed06d3a9515f0d07e34b3fb79035cf6876db81 c058900366518ee7b09b041b0cee55686dd04a9b4aec8ebffd1cd75c856bbc6400dd18fbe15085f69dad49e6476b09e1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0d542cdcee93dcf1cd0981e4c6f463cd98a7eaab3ef62ece7794b336c7572181 9f3d48551bac25779548ee6a9b220662499a5cc7501baec75717686a8e28c7dd8a48266098796d6345231e83d89259b5 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0d542cdcee93dcf1cd0981e4c6f463cd98a7eaab3ef62ece7794b336c7572181 8f39c98006f0ddbe86cbcd1a52458002dc60f7eee740648b9a1981777a6f631cffee5f52fa3fe4183a06c613edcfbac9 +CLIENT_TRAFFIC_SECRET_0 0d542cdcee93dcf1cd0981e4c6f463cd98a7eaab3ef62ece7794b336c7572181 6e684aa8760ae35845b78cbb61ad65e70c994578ea29212751359b438dabaa03c0376c84e70f387805df99d5d28f9bce +SERVER_TRAFFIC_SECRET_0 0d542cdcee93dcf1cd0981e4c6f463cd98a7eaab3ef62ece7794b336c7572181 2dd9a71619d07c9faaaf921243d83ad1554c84b98dbab44474b1d345b121ee2f413583f34951b233b82af7d6169dad77 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0d542cdcee93dcf1cd0981e4c6f463cd98a7eaab3ef62ece7794b336c7572181 9f3d48551bac25779548ee6a9b220662499a5cc7501baec75717686a8e28c7dd8a48266098796d6345231e83d89259b5 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0d542cdcee93dcf1cd0981e4c6f463cd98a7eaab3ef62ece7794b336c7572181 8f39c98006f0ddbe86cbcd1a52458002dc60f7eee740648b9a1981777a6f631cffee5f52fa3fe4183a06c613edcfbac9 +CLIENT_TRAFFIC_SECRET_0 0d542cdcee93dcf1cd0981e4c6f463cd98a7eaab3ef62ece7794b336c7572181 6e684aa8760ae35845b78cbb61ad65e70c994578ea29212751359b438dabaa03c0376c84e70f387805df99d5d28f9bce +SERVER_TRAFFIC_SECRET_0 0d542cdcee93dcf1cd0981e4c6f463cd98a7eaab3ef62ece7794b336c7572181 2dd9a71619d07c9faaaf921243d83ad1554c84b98dbab44474b1d345b121ee2f413583f34951b233b82af7d6169dad77 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ecc39c02cbe1887f7907d6f5c28949aedc6a808095954a11714f0a5f3b960af6 750dbe27432eae3e4c06568df65ef4338feca320dac726ff70fc2602bd9f3e75ce49158594fb6a5a622c9eee902bd918 +SERVER_HANDSHAKE_TRAFFIC_SECRET ecc39c02cbe1887f7907d6f5c28949aedc6a808095954a11714f0a5f3b960af6 7dfc1fc94942b17147c0b71172b307a5a283f1a5daee9467bcd01b7ca151f09f760f99f5159ff2c04b56623541000abe +CLIENT_TRAFFIC_SECRET_0 ecc39c02cbe1887f7907d6f5c28949aedc6a808095954a11714f0a5f3b960af6 afc1e5c72dbcc6711f387201364a8556cb821beaeff09083c7a347774e94638d1c769f7f0860d75c02b146173ff36a93 +SERVER_TRAFFIC_SECRET_0 ecc39c02cbe1887f7907d6f5c28949aedc6a808095954a11714f0a5f3b960af6 16c08d46737a741d2c786fda66870e02228c9466e4b2058ed8179803ba7030e730a629787cd8fa92bfdcb0f0b86825e3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ecc39c02cbe1887f7907d6f5c28949aedc6a808095954a11714f0a5f3b960af6 750dbe27432eae3e4c06568df65ef4338feca320dac726ff70fc2602bd9f3e75ce49158594fb6a5a622c9eee902bd918 +SERVER_HANDSHAKE_TRAFFIC_SECRET ecc39c02cbe1887f7907d6f5c28949aedc6a808095954a11714f0a5f3b960af6 7dfc1fc94942b17147c0b71172b307a5a283f1a5daee9467bcd01b7ca151f09f760f99f5159ff2c04b56623541000abe +CLIENT_TRAFFIC_SECRET_0 ecc39c02cbe1887f7907d6f5c28949aedc6a808095954a11714f0a5f3b960af6 afc1e5c72dbcc6711f387201364a8556cb821beaeff09083c7a347774e94638d1c769f7f0860d75c02b146173ff36a93 +SERVER_TRAFFIC_SECRET_0 ecc39c02cbe1887f7907d6f5c28949aedc6a808095954a11714f0a5f3b960af6 16c08d46737a741d2c786fda66870e02228c9466e4b2058ed8179803ba7030e730a629787cd8fa92bfdcb0f0b86825e3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5922ca210296d8e2b6524f46504389f4d756d197d0042420c388bba1f63ddb1a 1cca9d39432fc656ac3bc76a54d0720f7715a8da010f408c7081ac1ec597a0945b49bb9d9884923c165a23d943790a60 +SERVER_HANDSHAKE_TRAFFIC_SECRET 5922ca210296d8e2b6524f46504389f4d756d197d0042420c388bba1f63ddb1a f001f6b49b7cda87803bb70ef167b411a3996d6a1889c0720652c4190cc63ca3392b217704c02d0d2ffe8c1f44e9ceb5 +CLIENT_TRAFFIC_SECRET_0 5922ca210296d8e2b6524f46504389f4d756d197d0042420c388bba1f63ddb1a 52a9e41d8f32176042c648e967c2ea5a587b04f5504f1a96ea1463bf9963155416ec9939e62a00b96830ea994b0c8d56 +SERVER_TRAFFIC_SECRET_0 5922ca210296d8e2b6524f46504389f4d756d197d0042420c388bba1f63ddb1a 3ab86802c4312684f381fa02c4d8ffb4ac4ca76558b12fa9aecb892d6024633aed4cfea75cc66bfc76784714e29ebe19 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5922ca210296d8e2b6524f46504389f4d756d197d0042420c388bba1f63ddb1a 1cca9d39432fc656ac3bc76a54d0720f7715a8da010f408c7081ac1ec597a0945b49bb9d9884923c165a23d943790a60 +SERVER_HANDSHAKE_TRAFFIC_SECRET 5922ca210296d8e2b6524f46504389f4d756d197d0042420c388bba1f63ddb1a f001f6b49b7cda87803bb70ef167b411a3996d6a1889c0720652c4190cc63ca3392b217704c02d0d2ffe8c1f44e9ceb5 +CLIENT_TRAFFIC_SECRET_0 5922ca210296d8e2b6524f46504389f4d756d197d0042420c388bba1f63ddb1a 52a9e41d8f32176042c648e967c2ea5a587b04f5504f1a96ea1463bf9963155416ec9939e62a00b96830ea994b0c8d56 +SERVER_TRAFFIC_SECRET_0 5922ca210296d8e2b6524f46504389f4d756d197d0042420c388bba1f63ddb1a 3ab86802c4312684f381fa02c4d8ffb4ac4ca76558b12fa9aecb892d6024633aed4cfea75cc66bfc76784714e29ebe19 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3647016f498dd9f96735acb538affbd7607d709f219ebce4e6e5c99eecfc27a2 3ffd61685a1a4328a40676701d21d0acc127555b925e09c3e68ad18a31d9db9595eaeb6dd7b19dad56cb702f74a22c46 +SERVER_HANDSHAKE_TRAFFIC_SECRET 3647016f498dd9f96735acb538affbd7607d709f219ebce4e6e5c99eecfc27a2 6c2c9f851179a9cc27098778cdfc7799280a87673881b83b44d77040b056789dcc2aacb73b62fbf5a4246b76018a23d1 +CLIENT_TRAFFIC_SECRET_0 3647016f498dd9f96735acb538affbd7607d709f219ebce4e6e5c99eecfc27a2 c9565e3b29886910787131b7f3c06aed3b01215cd49e836913830e7daf2416149ba626726d65e7fb9e5544a8afac08ee +SERVER_TRAFFIC_SECRET_0 3647016f498dd9f96735acb538affbd7607d709f219ebce4e6e5c99eecfc27a2 c00ff9bc93b8348d38f7aaef91ef2c7325d44bd3f88173905a82d235af98e2245a9cf483db128ffe798e1f2f83ad0cce +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3647016f498dd9f96735acb538affbd7607d709f219ebce4e6e5c99eecfc27a2 3ffd61685a1a4328a40676701d21d0acc127555b925e09c3e68ad18a31d9db9595eaeb6dd7b19dad56cb702f74a22c46 +SERVER_HANDSHAKE_TRAFFIC_SECRET 3647016f498dd9f96735acb538affbd7607d709f219ebce4e6e5c99eecfc27a2 6c2c9f851179a9cc27098778cdfc7799280a87673881b83b44d77040b056789dcc2aacb73b62fbf5a4246b76018a23d1 +CLIENT_TRAFFIC_SECRET_0 3647016f498dd9f96735acb538affbd7607d709f219ebce4e6e5c99eecfc27a2 c9565e3b29886910787131b7f3c06aed3b01215cd49e836913830e7daf2416149ba626726d65e7fb9e5544a8afac08ee +SERVER_TRAFFIC_SECRET_0 3647016f498dd9f96735acb538affbd7607d709f219ebce4e6e5c99eecfc27a2 c00ff9bc93b8348d38f7aaef91ef2c7325d44bd3f88173905a82d235af98e2245a9cf483db128ffe798e1f2f83ad0cce +CLIENT_HANDSHAKE_TRAFFIC_SECRET d4aa76d71dd89e8023882772b530f5b6d41ff8943c97b458dcefa02187ebe101 965f6d1244d3b2ee79fca35ff29018b84d6fa474300fbe88ad29125323c1d09f50cf3761614faea8a4b6d80fa3eeeef5 +SERVER_HANDSHAKE_TRAFFIC_SECRET d4aa76d71dd89e8023882772b530f5b6d41ff8943c97b458dcefa02187ebe101 f790850a355bd6429f9c2529df31de89e185eba4a788b49bf6a741659764ca308d038d66ea4d8ade4d921965c5ad3327 +CLIENT_TRAFFIC_SECRET_0 d4aa76d71dd89e8023882772b530f5b6d41ff8943c97b458dcefa02187ebe101 9707837836df1ea2768c9ab2a1d62df548d1dde92212d7226b7f40a64c997602f6eb767d09b24ef8c1a4b2b5698feb43 +SERVER_TRAFFIC_SECRET_0 d4aa76d71dd89e8023882772b530f5b6d41ff8943c97b458dcefa02187ebe101 d592237bf001f2460c8a46739c7fcc26e70d3d99109c60c3309e6d2b03000a836a9eafe8c11f3cf39b0a7f1c5fbdc7e1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d4aa76d71dd89e8023882772b530f5b6d41ff8943c97b458dcefa02187ebe101 965f6d1244d3b2ee79fca35ff29018b84d6fa474300fbe88ad29125323c1d09f50cf3761614faea8a4b6d80fa3eeeef5 +SERVER_HANDSHAKE_TRAFFIC_SECRET d4aa76d71dd89e8023882772b530f5b6d41ff8943c97b458dcefa02187ebe101 f790850a355bd6429f9c2529df31de89e185eba4a788b49bf6a741659764ca308d038d66ea4d8ade4d921965c5ad3327 +CLIENT_TRAFFIC_SECRET_0 d4aa76d71dd89e8023882772b530f5b6d41ff8943c97b458dcefa02187ebe101 9707837836df1ea2768c9ab2a1d62df548d1dde92212d7226b7f40a64c997602f6eb767d09b24ef8c1a4b2b5698feb43 +SERVER_TRAFFIC_SECRET_0 d4aa76d71dd89e8023882772b530f5b6d41ff8943c97b458dcefa02187ebe101 d592237bf001f2460c8a46739c7fcc26e70d3d99109c60c3309e6d2b03000a836a9eafe8c11f3cf39b0a7f1c5fbdc7e1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET b30add545112452f6fa27a3ef64c6f2a88e862089955115aa24a4d5a17e4a6ed eef549df65f2834d2a054d8a4ce3a0b3a80b41f143db7342c402475ba70090a7888feb0e39832637bae6552805de9dff +SERVER_HANDSHAKE_TRAFFIC_SECRET b30add545112452f6fa27a3ef64c6f2a88e862089955115aa24a4d5a17e4a6ed 21a33c0b9f7de10fe22e1e3a3249bd42cd9769512e0d09890edfd78b74189e26cc6da7d80b04c7bedeb5aac8112fd335 +CLIENT_TRAFFIC_SECRET_0 b30add545112452f6fa27a3ef64c6f2a88e862089955115aa24a4d5a17e4a6ed 9174725b3c0ade34cc7d5d910d7f1b840a9002a3b5ce617840f1546bb04778493d94cc7fea4d3df2ddd700b604b2b66a +SERVER_TRAFFIC_SECRET_0 b30add545112452f6fa27a3ef64c6f2a88e862089955115aa24a4d5a17e4a6ed 93bd5678b62696ba87fc7bbffc653575ca3ed91d6009371c957072611f181346f7ce69e76116e6cf4240913cd69274ad +CLIENT_HANDSHAKE_TRAFFIC_SECRET b30add545112452f6fa27a3ef64c6f2a88e862089955115aa24a4d5a17e4a6ed eef549df65f2834d2a054d8a4ce3a0b3a80b41f143db7342c402475ba70090a7888feb0e39832637bae6552805de9dff +SERVER_HANDSHAKE_TRAFFIC_SECRET b30add545112452f6fa27a3ef64c6f2a88e862089955115aa24a4d5a17e4a6ed 21a33c0b9f7de10fe22e1e3a3249bd42cd9769512e0d09890edfd78b74189e26cc6da7d80b04c7bedeb5aac8112fd335 +CLIENT_TRAFFIC_SECRET_0 b30add545112452f6fa27a3ef64c6f2a88e862089955115aa24a4d5a17e4a6ed 9174725b3c0ade34cc7d5d910d7f1b840a9002a3b5ce617840f1546bb04778493d94cc7fea4d3df2ddd700b604b2b66a +SERVER_TRAFFIC_SECRET_0 b30add545112452f6fa27a3ef64c6f2a88e862089955115aa24a4d5a17e4a6ed 93bd5678b62696ba87fc7bbffc653575ca3ed91d6009371c957072611f181346f7ce69e76116e6cf4240913cd69274ad +CLIENT_HANDSHAKE_TRAFFIC_SECRET d1e0a34efe36189eac67f6bf84369136c286ad27c898375a8ba295089e1346f5 9bf767d885dc067cc8eeda0230fd0a3c137fa2fa6b77dcd0b2d2e7294b21b29a6316820ec1e9cf1e92ae9793b0976400 +SERVER_HANDSHAKE_TRAFFIC_SECRET d1e0a34efe36189eac67f6bf84369136c286ad27c898375a8ba295089e1346f5 c6e21203eaa1a51a4764f0717ae86511adc63e9a72d054793fdc4d45c07a250dc21171e81d38fa402d1221302431a7e2 +CLIENT_TRAFFIC_SECRET_0 d1e0a34efe36189eac67f6bf84369136c286ad27c898375a8ba295089e1346f5 bf39f98b71080d2811ade8c4e693386c39dcb56566485bfa04478754628a1040be8d3c02487f64ff02f2bc58348452aa +SERVER_TRAFFIC_SECRET_0 d1e0a34efe36189eac67f6bf84369136c286ad27c898375a8ba295089e1346f5 e747677fb63562103fcf54e2a5e202671a4a1e07eb0bbd789acd6fea499f6a8a6f9cb726a8314a95ec16ebd213377c6f +CLIENT_HANDSHAKE_TRAFFIC_SECRET d1e0a34efe36189eac67f6bf84369136c286ad27c898375a8ba295089e1346f5 9bf767d885dc067cc8eeda0230fd0a3c137fa2fa6b77dcd0b2d2e7294b21b29a6316820ec1e9cf1e92ae9793b0976400 +SERVER_HANDSHAKE_TRAFFIC_SECRET d1e0a34efe36189eac67f6bf84369136c286ad27c898375a8ba295089e1346f5 c6e21203eaa1a51a4764f0717ae86511adc63e9a72d054793fdc4d45c07a250dc21171e81d38fa402d1221302431a7e2 +CLIENT_TRAFFIC_SECRET_0 d1e0a34efe36189eac67f6bf84369136c286ad27c898375a8ba295089e1346f5 bf39f98b71080d2811ade8c4e693386c39dcb56566485bfa04478754628a1040be8d3c02487f64ff02f2bc58348452aa +SERVER_TRAFFIC_SECRET_0 d1e0a34efe36189eac67f6bf84369136c286ad27c898375a8ba295089e1346f5 e747677fb63562103fcf54e2a5e202671a4a1e07eb0bbd789acd6fea499f6a8a6f9cb726a8314a95ec16ebd213377c6f +CLIENT_HANDSHAKE_TRAFFIC_SECRET 422c27fdcf63a1c2e5a4b5d70250bf08ac50c7a016616483546b2aa19424305f e831eef4bacd461d9ac7ec714232727eaad902f6d5f23a380b675e8eae64138efc4183f4409dab0a291ec0d3208bc6eb +SERVER_HANDSHAKE_TRAFFIC_SECRET 422c27fdcf63a1c2e5a4b5d70250bf08ac50c7a016616483546b2aa19424305f 7e9f33d54703bd5e083ec50b2a358d9da14a284b722bdc8ba22dbf6be69fcea3bc87cc0cfc7f3cfe92a90edd2da595ac +CLIENT_TRAFFIC_SECRET_0 422c27fdcf63a1c2e5a4b5d70250bf08ac50c7a016616483546b2aa19424305f 21cc8a682c820ea211d44fb2e8ab91a931d5010f7f08db116ca1d9a73a4ec37c9b27c80ce5a77ef15d6f72d5609c0b1d +SERVER_TRAFFIC_SECRET_0 422c27fdcf63a1c2e5a4b5d70250bf08ac50c7a016616483546b2aa19424305f a396342ede765f67241fd1de8e5e3df4b8cbd41dc6f78d045246ab940c49d111a8815f1e6ce41655193cf34b224eab03 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 422c27fdcf63a1c2e5a4b5d70250bf08ac50c7a016616483546b2aa19424305f e831eef4bacd461d9ac7ec714232727eaad902f6d5f23a380b675e8eae64138efc4183f4409dab0a291ec0d3208bc6eb +SERVER_HANDSHAKE_TRAFFIC_SECRET 422c27fdcf63a1c2e5a4b5d70250bf08ac50c7a016616483546b2aa19424305f 7e9f33d54703bd5e083ec50b2a358d9da14a284b722bdc8ba22dbf6be69fcea3bc87cc0cfc7f3cfe92a90edd2da595ac +CLIENT_TRAFFIC_SECRET_0 422c27fdcf63a1c2e5a4b5d70250bf08ac50c7a016616483546b2aa19424305f 21cc8a682c820ea211d44fb2e8ab91a931d5010f7f08db116ca1d9a73a4ec37c9b27c80ce5a77ef15d6f72d5609c0b1d +SERVER_TRAFFIC_SECRET_0 422c27fdcf63a1c2e5a4b5d70250bf08ac50c7a016616483546b2aa19424305f a396342ede765f67241fd1de8e5e3df4b8cbd41dc6f78d045246ab940c49d111a8815f1e6ce41655193cf34b224eab03 +CLIENT_HANDSHAKE_TRAFFIC_SECRET cc6277c0a59dde79fb51fff2dcf54ea77b69546df461ccc1c0db019e135407ed 8bd5bb1a16d093f7a57eba222939d887035a35eefc8cccee5185d535cecce44619bb5e1b27950c5bb0c6e04ab4ec07f3 +SERVER_HANDSHAKE_TRAFFIC_SECRET cc6277c0a59dde79fb51fff2dcf54ea77b69546df461ccc1c0db019e135407ed 9ae6bc4ab60c54a9badf8c1706c0fe4d4d5c84f9a10af7a3469180835b326ec7fb5df0e2f0cc436322a5ea5d27e68725 +CLIENT_TRAFFIC_SECRET_0 cc6277c0a59dde79fb51fff2dcf54ea77b69546df461ccc1c0db019e135407ed c995447d28545fadd7995e1ab713f1d0a9e21354057366184e9aa8851d931ac88d471478e14a73fd03341d74d36bb374 +SERVER_TRAFFIC_SECRET_0 cc6277c0a59dde79fb51fff2dcf54ea77b69546df461ccc1c0db019e135407ed 422747ca85018cc2caa0ac890ae937e3f6ef8b3458e90eda569273304666ed6fab60a35f9ee1e479c53c660c1b836f10 +CLIENT_HANDSHAKE_TRAFFIC_SECRET cc6277c0a59dde79fb51fff2dcf54ea77b69546df461ccc1c0db019e135407ed 8bd5bb1a16d093f7a57eba222939d887035a35eefc8cccee5185d535cecce44619bb5e1b27950c5bb0c6e04ab4ec07f3 +SERVER_HANDSHAKE_TRAFFIC_SECRET cc6277c0a59dde79fb51fff2dcf54ea77b69546df461ccc1c0db019e135407ed 9ae6bc4ab60c54a9badf8c1706c0fe4d4d5c84f9a10af7a3469180835b326ec7fb5df0e2f0cc436322a5ea5d27e68725 +CLIENT_TRAFFIC_SECRET_0 cc6277c0a59dde79fb51fff2dcf54ea77b69546df461ccc1c0db019e135407ed c995447d28545fadd7995e1ab713f1d0a9e21354057366184e9aa8851d931ac88d471478e14a73fd03341d74d36bb374 +SERVER_TRAFFIC_SECRET_0 cc6277c0a59dde79fb51fff2dcf54ea77b69546df461ccc1c0db019e135407ed 422747ca85018cc2caa0ac890ae937e3f6ef8b3458e90eda569273304666ed6fab60a35f9ee1e479c53c660c1b836f10 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 05493c0d0ce48902b824c5d2995bbe306836607df09c836a85ba39e7b2c0477d bba42075464f29e0a93cbab0a714711ef921e4cebbe828bbf2987be583c505043354d5156831e51f46bccfc11d0e69d2 +SERVER_HANDSHAKE_TRAFFIC_SECRET 05493c0d0ce48902b824c5d2995bbe306836607df09c836a85ba39e7b2c0477d b2d9111a6c96df6df927ba666f99849a1518d51b87c11f69d66a6947937e06b30676b9b3076a776222e9d9065bef05da +CLIENT_TRAFFIC_SECRET_0 05493c0d0ce48902b824c5d2995bbe306836607df09c836a85ba39e7b2c0477d 0963f7e3c9b45553ffde55559b6a2d9deb62314a4bcbdcaa2ce96094609e5f1def1704543efe15a65fb4cf6be86abea1 +SERVER_TRAFFIC_SECRET_0 05493c0d0ce48902b824c5d2995bbe306836607df09c836a85ba39e7b2c0477d 743364c8acd03cb122d270104558da46fe7934016bd60791a7ff7ed7e1f473a6542ea8a62f9c060692ccb6e692fb2e7d +CLIENT_HANDSHAKE_TRAFFIC_SECRET 05493c0d0ce48902b824c5d2995bbe306836607df09c836a85ba39e7b2c0477d bba42075464f29e0a93cbab0a714711ef921e4cebbe828bbf2987be583c505043354d5156831e51f46bccfc11d0e69d2 +SERVER_HANDSHAKE_TRAFFIC_SECRET 05493c0d0ce48902b824c5d2995bbe306836607df09c836a85ba39e7b2c0477d b2d9111a6c96df6df927ba666f99849a1518d51b87c11f69d66a6947937e06b30676b9b3076a776222e9d9065bef05da +CLIENT_TRAFFIC_SECRET_0 05493c0d0ce48902b824c5d2995bbe306836607df09c836a85ba39e7b2c0477d 0963f7e3c9b45553ffde55559b6a2d9deb62314a4bcbdcaa2ce96094609e5f1def1704543efe15a65fb4cf6be86abea1 +SERVER_TRAFFIC_SECRET_0 05493c0d0ce48902b824c5d2995bbe306836607df09c836a85ba39e7b2c0477d 743364c8acd03cb122d270104558da46fe7934016bd60791a7ff7ed7e1f473a6542ea8a62f9c060692ccb6e692fb2e7d +CLIENT_HANDSHAKE_TRAFFIC_SECRET 317a44375b019ac6ab94f17f945cd82bd584f7d672034c003fcc1e7936fe81f0 848095f42468b707d904c96be9f1fe4875fd7f99d14d677fbdaf3dea55d0c59ec765e5845125571d6a90e48c22175728 +SERVER_HANDSHAKE_TRAFFIC_SECRET 317a44375b019ac6ab94f17f945cd82bd584f7d672034c003fcc1e7936fe81f0 a39e40a716349d5b6372b9dc8d3d47c3cb6849dffede04d64761e71832b87cb492c8f536efbc677b95bb170b739cf640 +CLIENT_TRAFFIC_SECRET_0 317a44375b019ac6ab94f17f945cd82bd584f7d672034c003fcc1e7936fe81f0 1d5e44c7e25d31256e269b4116c82b1d0f3f0b92c37124862b5819ad8b8c668065a0f8d75091cb548f1ffa8a6c0eb246 +SERVER_TRAFFIC_SECRET_0 317a44375b019ac6ab94f17f945cd82bd584f7d672034c003fcc1e7936fe81f0 07852b398ac505ba97dec1d16c901f58c9d667abc6693be014db809e6aa3ac63cd7babed8d9778f9efdaf5d6b14aff80 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 317a44375b019ac6ab94f17f945cd82bd584f7d672034c003fcc1e7936fe81f0 848095f42468b707d904c96be9f1fe4875fd7f99d14d677fbdaf3dea55d0c59ec765e5845125571d6a90e48c22175728 +SERVER_HANDSHAKE_TRAFFIC_SECRET 317a44375b019ac6ab94f17f945cd82bd584f7d672034c003fcc1e7936fe81f0 a39e40a716349d5b6372b9dc8d3d47c3cb6849dffede04d64761e71832b87cb492c8f536efbc677b95bb170b739cf640 +CLIENT_TRAFFIC_SECRET_0 317a44375b019ac6ab94f17f945cd82bd584f7d672034c003fcc1e7936fe81f0 1d5e44c7e25d31256e269b4116c82b1d0f3f0b92c37124862b5819ad8b8c668065a0f8d75091cb548f1ffa8a6c0eb246 +SERVER_TRAFFIC_SECRET_0 317a44375b019ac6ab94f17f945cd82bd584f7d672034c003fcc1e7936fe81f0 07852b398ac505ba97dec1d16c901f58c9d667abc6693be014db809e6aa3ac63cd7babed8d9778f9efdaf5d6b14aff80 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 99f7341209510ecd272e4ff05d266d0cd36c2d09ba461e0b9f50f37a43dfdd82 78ab9f67dbfd57b147f96e9db67dc5d93b8d3ef4473fcf57582d9329fb9eae491eb0565de1981ad0155764ccefc07623 +SERVER_HANDSHAKE_TRAFFIC_SECRET 99f7341209510ecd272e4ff05d266d0cd36c2d09ba461e0b9f50f37a43dfdd82 d9fc71c22cd8f01ca5c7597e6ea9e0132e5e42a4bbf2992fa33aa0aa7dc04b4c48cad75af5c6a68b8df3114451065aaf +CLIENT_TRAFFIC_SECRET_0 99f7341209510ecd272e4ff05d266d0cd36c2d09ba461e0b9f50f37a43dfdd82 cecb4ce501620e124cde46d60fb082d8f1ee111f847b96db0f7a69968efed7ef972df744c31731cff4d3555c06f2135e +SERVER_TRAFFIC_SECRET_0 99f7341209510ecd272e4ff05d266d0cd36c2d09ba461e0b9f50f37a43dfdd82 f89c6c37ef6d3c83024ae326222b34127153f1f559f1d6ded5aeaa660f9d38e25a1912755bd17644903ae76897da7dd4 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 99f7341209510ecd272e4ff05d266d0cd36c2d09ba461e0b9f50f37a43dfdd82 78ab9f67dbfd57b147f96e9db67dc5d93b8d3ef4473fcf57582d9329fb9eae491eb0565de1981ad0155764ccefc07623 +SERVER_HANDSHAKE_TRAFFIC_SECRET 99f7341209510ecd272e4ff05d266d0cd36c2d09ba461e0b9f50f37a43dfdd82 d9fc71c22cd8f01ca5c7597e6ea9e0132e5e42a4bbf2992fa33aa0aa7dc04b4c48cad75af5c6a68b8df3114451065aaf +CLIENT_TRAFFIC_SECRET_0 99f7341209510ecd272e4ff05d266d0cd36c2d09ba461e0b9f50f37a43dfdd82 cecb4ce501620e124cde46d60fb082d8f1ee111f847b96db0f7a69968efed7ef972df744c31731cff4d3555c06f2135e +SERVER_TRAFFIC_SECRET_0 99f7341209510ecd272e4ff05d266d0cd36c2d09ba461e0b9f50f37a43dfdd82 f89c6c37ef6d3c83024ae326222b34127153f1f559f1d6ded5aeaa660f9d38e25a1912755bd17644903ae76897da7dd4 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 81511974e5e64f98588fdb73dd7262a837c7f75ebb6a6dc67bc4291fec7ff9a4 132f465743f6415af917967aafceba012b95aa7d6d9164f0bf9825560f71c78dc7d977db3871fa922b076b7fe8b2d075 +SERVER_HANDSHAKE_TRAFFIC_SECRET 81511974e5e64f98588fdb73dd7262a837c7f75ebb6a6dc67bc4291fec7ff9a4 78af2bde0642b21bb67254e3267c265467dd89ecf694438996f33bf0a9e3f157eb727f118ddabcfa0f00cfba30a75312 +CLIENT_TRAFFIC_SECRET_0 81511974e5e64f98588fdb73dd7262a837c7f75ebb6a6dc67bc4291fec7ff9a4 0b7a414318736d0bb046ad1811d842fe9b0d0bad8a5ef31058ba9dfc76f53642dfa1286e469a5f8ad782eec4fe4616cd +SERVER_TRAFFIC_SECRET_0 81511974e5e64f98588fdb73dd7262a837c7f75ebb6a6dc67bc4291fec7ff9a4 f95ed3525a94c713c53db3943d7a3c830d41420f33b218708ad1621e001b97a947d024b971678bfa22fd09f15ff54c1a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 81511974e5e64f98588fdb73dd7262a837c7f75ebb6a6dc67bc4291fec7ff9a4 132f465743f6415af917967aafceba012b95aa7d6d9164f0bf9825560f71c78dc7d977db3871fa922b076b7fe8b2d075 +SERVER_HANDSHAKE_TRAFFIC_SECRET 81511974e5e64f98588fdb73dd7262a837c7f75ebb6a6dc67bc4291fec7ff9a4 78af2bde0642b21bb67254e3267c265467dd89ecf694438996f33bf0a9e3f157eb727f118ddabcfa0f00cfba30a75312 +CLIENT_TRAFFIC_SECRET_0 81511974e5e64f98588fdb73dd7262a837c7f75ebb6a6dc67bc4291fec7ff9a4 0b7a414318736d0bb046ad1811d842fe9b0d0bad8a5ef31058ba9dfc76f53642dfa1286e469a5f8ad782eec4fe4616cd +SERVER_TRAFFIC_SECRET_0 81511974e5e64f98588fdb73dd7262a837c7f75ebb6a6dc67bc4291fec7ff9a4 f95ed3525a94c713c53db3943d7a3c830d41420f33b218708ad1621e001b97a947d024b971678bfa22fd09f15ff54c1a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4db292352ad14100bbfa53ab727be84417f056d040442715f9ba3fba4b26871b d2d73133f7955fa243c179894835b7357ab1eecccbd6d1e8a7ffdf7b7daf5d5c63cf6738d1c404a701c38c747f0ca2c8 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4db292352ad14100bbfa53ab727be84417f056d040442715f9ba3fba4b26871b cbd42efe623d7cac92e35954ee91b2c977c02cf8d236d653095e73b7ab8a68d9bcec1d63296c160f235671018975f824 +CLIENT_TRAFFIC_SECRET_0 4db292352ad14100bbfa53ab727be84417f056d040442715f9ba3fba4b26871b 113028677f91db4bdc2975fe406ace1cd523aa31ff872d30d0e7faaf5931c0b191268e5d556abf0587f6436f18dcafea +SERVER_TRAFFIC_SECRET_0 4db292352ad14100bbfa53ab727be84417f056d040442715f9ba3fba4b26871b c0a53077afad5b7fa3d1db7706a0f06d9537d45af74f7a24d7838fd0a10d81898a72fd3826e9ede5f74c064cde1b8db1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4db292352ad14100bbfa53ab727be84417f056d040442715f9ba3fba4b26871b d2d73133f7955fa243c179894835b7357ab1eecccbd6d1e8a7ffdf7b7daf5d5c63cf6738d1c404a701c38c747f0ca2c8 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4db292352ad14100bbfa53ab727be84417f056d040442715f9ba3fba4b26871b cbd42efe623d7cac92e35954ee91b2c977c02cf8d236d653095e73b7ab8a68d9bcec1d63296c160f235671018975f824 +CLIENT_TRAFFIC_SECRET_0 4db292352ad14100bbfa53ab727be84417f056d040442715f9ba3fba4b26871b 113028677f91db4bdc2975fe406ace1cd523aa31ff872d30d0e7faaf5931c0b191268e5d556abf0587f6436f18dcafea +SERVER_TRAFFIC_SECRET_0 4db292352ad14100bbfa53ab727be84417f056d040442715f9ba3fba4b26871b c0a53077afad5b7fa3d1db7706a0f06d9537d45af74f7a24d7838fd0a10d81898a72fd3826e9ede5f74c064cde1b8db1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 10d1a816b51698f8a810036e0757613e72b2f08b56c71f1b61acc150952d7143 28f04cd5f629df64d559d28cdb3468f99ee237710894468ae4de25f0fe1741c3e338f6dd1906b434e18e850fdb1cf864 +SERVER_HANDSHAKE_TRAFFIC_SECRET 10d1a816b51698f8a810036e0757613e72b2f08b56c71f1b61acc150952d7143 544fc68d05a1528c2a580900c57063d2b25b205381d0461b67827d16441f4dee3a6d5a21abdc3e621ca82dd7b7cdd25c +CLIENT_TRAFFIC_SECRET_0 10d1a816b51698f8a810036e0757613e72b2f08b56c71f1b61acc150952d7143 cd27503d094c5ac3bc762fd1ffa857b765acdd395ea3d44142b99c320968d857f18dec72c82b922fb345c6ab60b28830 +SERVER_TRAFFIC_SECRET_0 10d1a816b51698f8a810036e0757613e72b2f08b56c71f1b61acc150952d7143 2639cb7b4f880a2b57489edddecac0f994aadfa962bfcb43773bdb2eccce3bf3fe32b7161f7acda3527b6f3b8ed47d1d +CLIENT_HANDSHAKE_TRAFFIC_SECRET 10d1a816b51698f8a810036e0757613e72b2f08b56c71f1b61acc150952d7143 28f04cd5f629df64d559d28cdb3468f99ee237710894468ae4de25f0fe1741c3e338f6dd1906b434e18e850fdb1cf864 +SERVER_HANDSHAKE_TRAFFIC_SECRET 10d1a816b51698f8a810036e0757613e72b2f08b56c71f1b61acc150952d7143 544fc68d05a1528c2a580900c57063d2b25b205381d0461b67827d16441f4dee3a6d5a21abdc3e621ca82dd7b7cdd25c +CLIENT_TRAFFIC_SECRET_0 10d1a816b51698f8a810036e0757613e72b2f08b56c71f1b61acc150952d7143 cd27503d094c5ac3bc762fd1ffa857b765acdd395ea3d44142b99c320968d857f18dec72c82b922fb345c6ab60b28830 +SERVER_TRAFFIC_SECRET_0 10d1a816b51698f8a810036e0757613e72b2f08b56c71f1b61acc150952d7143 2639cb7b4f880a2b57489edddecac0f994aadfa962bfcb43773bdb2eccce3bf3fe32b7161f7acda3527b6f3b8ed47d1d +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5d60ba6f4610611965bf05cc8e01f44812257c31698823506aa16a48f610d368 3f958d892bed9d590eeda62c3327d1d0860550bd247cd4ef5e0ba78fee8f63d98d5aa75b011373bdc88d5cca04b4cce6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 5d60ba6f4610611965bf05cc8e01f44812257c31698823506aa16a48f610d368 dec818d264254fe5b00f96b64bc784062a99751caf0d7a4710b328afc3bbf77c8157608b2d135f450867adc0a1e16f45 +CLIENT_TRAFFIC_SECRET_0 5d60ba6f4610611965bf05cc8e01f44812257c31698823506aa16a48f610d368 487749559418ae59c71b7964c38eb015322f3df8f5cd0dfe26daea8a1435883e083530994589f5b3d7e72a4dfd2d6d3b +SERVER_TRAFFIC_SECRET_0 5d60ba6f4610611965bf05cc8e01f44812257c31698823506aa16a48f610d368 833212e62f3fadeedddf27d42535b7aa35d2b13e8ce81b08816435206de0cfe531c79742d4dea65ad0376644c6617248 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5d60ba6f4610611965bf05cc8e01f44812257c31698823506aa16a48f610d368 3f958d892bed9d590eeda62c3327d1d0860550bd247cd4ef5e0ba78fee8f63d98d5aa75b011373bdc88d5cca04b4cce6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 5d60ba6f4610611965bf05cc8e01f44812257c31698823506aa16a48f610d368 dec818d264254fe5b00f96b64bc784062a99751caf0d7a4710b328afc3bbf77c8157608b2d135f450867adc0a1e16f45 +CLIENT_TRAFFIC_SECRET_0 5d60ba6f4610611965bf05cc8e01f44812257c31698823506aa16a48f610d368 487749559418ae59c71b7964c38eb015322f3df8f5cd0dfe26daea8a1435883e083530994589f5b3d7e72a4dfd2d6d3b +SERVER_TRAFFIC_SECRET_0 5d60ba6f4610611965bf05cc8e01f44812257c31698823506aa16a48f610d368 833212e62f3fadeedddf27d42535b7aa35d2b13e8ce81b08816435206de0cfe531c79742d4dea65ad0376644c6617248 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8e123e668b4afc2f264e4061c0c8fe944d73baaf8f5d2e228b669ad562743cd0 070e94fe9667696c51e34519497221d1718d6f9d0138e98860a07320e3d5a61c97a331b4d35b6201ad7e0eb0359f9e01 +SERVER_HANDSHAKE_TRAFFIC_SECRET 8e123e668b4afc2f264e4061c0c8fe944d73baaf8f5d2e228b669ad562743cd0 7653ca2c5d7b94b0db82abcb2f5a6ebae06641567c2d7b75cc55fe8fe9b2e8453b5dddd0dcae0ce63adc7bf96491e88d +CLIENT_TRAFFIC_SECRET_0 8e123e668b4afc2f264e4061c0c8fe944d73baaf8f5d2e228b669ad562743cd0 c22785e3db4f9f3df121661049b32e19bee17927bab1bd4395422f3959189dac1a2f0706d5c1dbd1ec84ce4f00690ee5 +SERVER_TRAFFIC_SECRET_0 8e123e668b4afc2f264e4061c0c8fe944d73baaf8f5d2e228b669ad562743cd0 e6f2c433410cfe5da58a464be9352c46156b48aeb329ab713413d1975a08b583bc56ddc0b934690835096670c98b4b52 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8e123e668b4afc2f264e4061c0c8fe944d73baaf8f5d2e228b669ad562743cd0 070e94fe9667696c51e34519497221d1718d6f9d0138e98860a07320e3d5a61c97a331b4d35b6201ad7e0eb0359f9e01 +SERVER_HANDSHAKE_TRAFFIC_SECRET 8e123e668b4afc2f264e4061c0c8fe944d73baaf8f5d2e228b669ad562743cd0 7653ca2c5d7b94b0db82abcb2f5a6ebae06641567c2d7b75cc55fe8fe9b2e8453b5dddd0dcae0ce63adc7bf96491e88d +CLIENT_TRAFFIC_SECRET_0 8e123e668b4afc2f264e4061c0c8fe944d73baaf8f5d2e228b669ad562743cd0 c22785e3db4f9f3df121661049b32e19bee17927bab1bd4395422f3959189dac1a2f0706d5c1dbd1ec84ce4f00690ee5 +SERVER_TRAFFIC_SECRET_0 8e123e668b4afc2f264e4061c0c8fe944d73baaf8f5d2e228b669ad562743cd0 e6f2c433410cfe5da58a464be9352c46156b48aeb329ab713413d1975a08b583bc56ddc0b934690835096670c98b4b52 +CLIENT_HANDSHAKE_TRAFFIC_SECRET dcd75a6231b2d0b03bc732b46d02f1c69719cd68a7ef05bd25e669637fe82003 85ea6caabe62d086d0f00e73717d99b634d2930d3988d0cf9a5ecd26b32778081f6959eb216647ba6da7a2745efc6e25 +SERVER_HANDSHAKE_TRAFFIC_SECRET dcd75a6231b2d0b03bc732b46d02f1c69719cd68a7ef05bd25e669637fe82003 dc757a63032594d4fdcd8ec7bb25c5eb0af018ebf982a4304e10aea8c1c104a512902ebc5e074b47e2782ec5a882d1bf +CLIENT_TRAFFIC_SECRET_0 dcd75a6231b2d0b03bc732b46d02f1c69719cd68a7ef05bd25e669637fe82003 9d3aa498dfa5012e7d2e765d27d2257ab82dc69a2b723e3aa8c1b19cebbd4c795356b8a68187dd7da9d00bb1e2f4546d +SERVER_TRAFFIC_SECRET_0 dcd75a6231b2d0b03bc732b46d02f1c69719cd68a7ef05bd25e669637fe82003 32e7f1b8ca69253712ff190ceaa684271b8d0a8374e6e0161e7e089d7d0e943a8cd8057d02891180d500189f5845d703 +CLIENT_HANDSHAKE_TRAFFIC_SECRET dcd75a6231b2d0b03bc732b46d02f1c69719cd68a7ef05bd25e669637fe82003 85ea6caabe62d086d0f00e73717d99b634d2930d3988d0cf9a5ecd26b32778081f6959eb216647ba6da7a2745efc6e25 +SERVER_HANDSHAKE_TRAFFIC_SECRET dcd75a6231b2d0b03bc732b46d02f1c69719cd68a7ef05bd25e669637fe82003 dc757a63032594d4fdcd8ec7bb25c5eb0af018ebf982a4304e10aea8c1c104a512902ebc5e074b47e2782ec5a882d1bf +CLIENT_TRAFFIC_SECRET_0 dcd75a6231b2d0b03bc732b46d02f1c69719cd68a7ef05bd25e669637fe82003 9d3aa498dfa5012e7d2e765d27d2257ab82dc69a2b723e3aa8c1b19cebbd4c795356b8a68187dd7da9d00bb1e2f4546d +SERVER_TRAFFIC_SECRET_0 dcd75a6231b2d0b03bc732b46d02f1c69719cd68a7ef05bd25e669637fe82003 32e7f1b8ca69253712ff190ceaa684271b8d0a8374e6e0161e7e089d7d0e943a8cd8057d02891180d500189f5845d703 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 310bbb54c1b8231aee71f8061cf94d4ae8f2cb1e7a0133ddea21a3b1c49420ff 5cc89a8e3636895af304390a2438380b38a7f7e2d0834a97bebaade47cadcb5446cb7cafe78d682c277a397883690253 +SERVER_HANDSHAKE_TRAFFIC_SECRET 310bbb54c1b8231aee71f8061cf94d4ae8f2cb1e7a0133ddea21a3b1c49420ff c0966b7b91c6e3b343a95c00ace3103bc1003da8b5785faa2e98da63c2c36518fa5c9617e8d6dd6aee5778992a586dcd +CLIENT_TRAFFIC_SECRET_0 310bbb54c1b8231aee71f8061cf94d4ae8f2cb1e7a0133ddea21a3b1c49420ff 7631f11078de4bc848d0cc75d7caeec0d5f25989f09ea3b461ee63bb5ce15db7d92f4c0d559bb49086fc5bd5ef3665df +SERVER_TRAFFIC_SECRET_0 310bbb54c1b8231aee71f8061cf94d4ae8f2cb1e7a0133ddea21a3b1c49420ff d1fbb8368ed8948b5ec990283411d82b01ee8e579be6ad4eb003ea2e881dd8d901f7004698ed372792e6ad7414516298 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 310bbb54c1b8231aee71f8061cf94d4ae8f2cb1e7a0133ddea21a3b1c49420ff 5cc89a8e3636895af304390a2438380b38a7f7e2d0834a97bebaade47cadcb5446cb7cafe78d682c277a397883690253 +SERVER_HANDSHAKE_TRAFFIC_SECRET 310bbb54c1b8231aee71f8061cf94d4ae8f2cb1e7a0133ddea21a3b1c49420ff c0966b7b91c6e3b343a95c00ace3103bc1003da8b5785faa2e98da63c2c36518fa5c9617e8d6dd6aee5778992a586dcd +CLIENT_TRAFFIC_SECRET_0 310bbb54c1b8231aee71f8061cf94d4ae8f2cb1e7a0133ddea21a3b1c49420ff 7631f11078de4bc848d0cc75d7caeec0d5f25989f09ea3b461ee63bb5ce15db7d92f4c0d559bb49086fc5bd5ef3665df +SERVER_TRAFFIC_SECRET_0 310bbb54c1b8231aee71f8061cf94d4ae8f2cb1e7a0133ddea21a3b1c49420ff d1fbb8368ed8948b5ec990283411d82b01ee8e579be6ad4eb003ea2e881dd8d901f7004698ed372792e6ad7414516298 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8c8c4c530f91ee7c28cf20be62322baa9f5c0c9a6f42fb83ba6baed23f00d25f d043d754105a69ced794b77b116911392d1e64bca58bb418c14fb2c770063a7e765808416ef0448a98c3890001bb65ae +SERVER_HANDSHAKE_TRAFFIC_SECRET 8c8c4c530f91ee7c28cf20be62322baa9f5c0c9a6f42fb83ba6baed23f00d25f 8c5035bf7f4a6c2afe3f70b4bcfb1f2e89e843541e62dbea463a37180292089be1d11ac856f67839751ca5c3795fab37 +CLIENT_TRAFFIC_SECRET_0 8c8c4c530f91ee7c28cf20be62322baa9f5c0c9a6f42fb83ba6baed23f00d25f cb073b4d44cdbd91489e2c886f463cf4e161f5a49e4bac3fc9512eb37cf1bb298d07719f3bf195976dadf055b0bbe98a +SERVER_TRAFFIC_SECRET_0 8c8c4c530f91ee7c28cf20be62322baa9f5c0c9a6f42fb83ba6baed23f00d25f e2aac1b1b06e6f8889878720b2ce6c7ee9b886d7c192b4da80d18002f85c9b1f5ad1805397bd90f445bd72cf5827481d +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8c8c4c530f91ee7c28cf20be62322baa9f5c0c9a6f42fb83ba6baed23f00d25f d043d754105a69ced794b77b116911392d1e64bca58bb418c14fb2c770063a7e765808416ef0448a98c3890001bb65ae +SERVER_HANDSHAKE_TRAFFIC_SECRET 8c8c4c530f91ee7c28cf20be62322baa9f5c0c9a6f42fb83ba6baed23f00d25f 8c5035bf7f4a6c2afe3f70b4bcfb1f2e89e843541e62dbea463a37180292089be1d11ac856f67839751ca5c3795fab37 +CLIENT_TRAFFIC_SECRET_0 8c8c4c530f91ee7c28cf20be62322baa9f5c0c9a6f42fb83ba6baed23f00d25f cb073b4d44cdbd91489e2c886f463cf4e161f5a49e4bac3fc9512eb37cf1bb298d07719f3bf195976dadf055b0bbe98a +SERVER_TRAFFIC_SECRET_0 8c8c4c530f91ee7c28cf20be62322baa9f5c0c9a6f42fb83ba6baed23f00d25f e2aac1b1b06e6f8889878720b2ce6c7ee9b886d7c192b4da80d18002f85c9b1f5ad1805397bd90f445bd72cf5827481d +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4b0435be27e803edf94bb9fa51136ed7824a168f151feaa1e4c5816e7d41857d 4a9131d1bd230993120fc19f682e7e694fd8cb8e4c3993f6cd0af42bec011d316895cd7885ad89091194480c421c04bd +SERVER_HANDSHAKE_TRAFFIC_SECRET 4b0435be27e803edf94bb9fa51136ed7824a168f151feaa1e4c5816e7d41857d 2d78734fa29f00a0c2cac087c4c2e65f98b6de0a0a9c542e8095010afeed645e5d285b6768009cfd4eda3013135cba62 +CLIENT_TRAFFIC_SECRET_0 4b0435be27e803edf94bb9fa51136ed7824a168f151feaa1e4c5816e7d41857d 71dc2f8edd3a05c216742c0adc8a39ae269b434527df913c35922b1a7bbcb61cbe9d8dabee3c17e7899d61ceee801f28 +SERVER_TRAFFIC_SECRET_0 4b0435be27e803edf94bb9fa51136ed7824a168f151feaa1e4c5816e7d41857d 111572e1a027bed9e9d9b731aa5190040e86aef8f0482985ec9dcc25bf9c8ba551b8710ac36b6f663d691b779e8c8469 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4b0435be27e803edf94bb9fa51136ed7824a168f151feaa1e4c5816e7d41857d 4a9131d1bd230993120fc19f682e7e694fd8cb8e4c3993f6cd0af42bec011d316895cd7885ad89091194480c421c04bd +SERVER_HANDSHAKE_TRAFFIC_SECRET 4b0435be27e803edf94bb9fa51136ed7824a168f151feaa1e4c5816e7d41857d 2d78734fa29f00a0c2cac087c4c2e65f98b6de0a0a9c542e8095010afeed645e5d285b6768009cfd4eda3013135cba62 +CLIENT_TRAFFIC_SECRET_0 4b0435be27e803edf94bb9fa51136ed7824a168f151feaa1e4c5816e7d41857d 71dc2f8edd3a05c216742c0adc8a39ae269b434527df913c35922b1a7bbcb61cbe9d8dabee3c17e7899d61ceee801f28 +SERVER_TRAFFIC_SECRET_0 4b0435be27e803edf94bb9fa51136ed7824a168f151feaa1e4c5816e7d41857d 111572e1a027bed9e9d9b731aa5190040e86aef8f0482985ec9dcc25bf9c8ba551b8710ac36b6f663d691b779e8c8469 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 43574476886bf8c67ac289a4dacfba2987504ca1e1b8863393955c3e1170d924 fbcaea42159abc5427631a0f42ad141228d97869d7ebfa2dc5b834d67408e43dbd8a7d4147348f0d63cfbb6c588f3d1d +SERVER_HANDSHAKE_TRAFFIC_SECRET 43574476886bf8c67ac289a4dacfba2987504ca1e1b8863393955c3e1170d924 2d81099a947801e944e724c21af72aba9ad16d57b9c4726d16008d4857f5c987cb4e8d315b86eca2b4f777571da646ca +CLIENT_TRAFFIC_SECRET_0 43574476886bf8c67ac289a4dacfba2987504ca1e1b8863393955c3e1170d924 32a4dce74e25e7795fcce4a2c40959950924d3d06274a73c06fddf39eb19e4b2f877545dc86557cb780057fb01243688 +SERVER_TRAFFIC_SECRET_0 43574476886bf8c67ac289a4dacfba2987504ca1e1b8863393955c3e1170d924 76a213af22084ed6ebc3b28f6169366132c44d3787fb6ad791de5b164edcdebd7292225752aa2c1250e285f2ef5efb6c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 43574476886bf8c67ac289a4dacfba2987504ca1e1b8863393955c3e1170d924 fbcaea42159abc5427631a0f42ad141228d97869d7ebfa2dc5b834d67408e43dbd8a7d4147348f0d63cfbb6c588f3d1d +SERVER_HANDSHAKE_TRAFFIC_SECRET 43574476886bf8c67ac289a4dacfba2987504ca1e1b8863393955c3e1170d924 2d81099a947801e944e724c21af72aba9ad16d57b9c4726d16008d4857f5c987cb4e8d315b86eca2b4f777571da646ca +CLIENT_TRAFFIC_SECRET_0 43574476886bf8c67ac289a4dacfba2987504ca1e1b8863393955c3e1170d924 32a4dce74e25e7795fcce4a2c40959950924d3d06274a73c06fddf39eb19e4b2f877545dc86557cb780057fb01243688 +SERVER_TRAFFIC_SECRET_0 43574476886bf8c67ac289a4dacfba2987504ca1e1b8863393955c3e1170d924 76a213af22084ed6ebc3b28f6169366132c44d3787fb6ad791de5b164edcdebd7292225752aa2c1250e285f2ef5efb6c +CLIENT_HANDSHAKE_TRAFFIC_SECRET f91f2aca0f397b4847836575249c08e78350d07b85ae2a6eaa1bdca72fa70a8c d8cad854aa21f0a29858480356d7b0e80f619fe13ebc3bedf92a9bf21b122821e6b394add62bce68e1871dddd0bb6ab1 +SERVER_HANDSHAKE_TRAFFIC_SECRET f91f2aca0f397b4847836575249c08e78350d07b85ae2a6eaa1bdca72fa70a8c 6de41c9fe4ea89d9112cce65fa5eb9bf73e3cf6248bd3394a60ef09dda337306f5c00429ca550712b48a7d4041231fa4 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f91f2aca0f397b4847836575249c08e78350d07b85ae2a6eaa1bdca72fa70a8c d8cad854aa21f0a29858480356d7b0e80f619fe13ebc3bedf92a9bf21b122821e6b394add62bce68e1871dddd0bb6ab1 +SERVER_HANDSHAKE_TRAFFIC_SECRET f91f2aca0f397b4847836575249c08e78350d07b85ae2a6eaa1bdca72fa70a8c 6de41c9fe4ea89d9112cce65fa5eb9bf73e3cf6248bd3394a60ef09dda337306f5c00429ca550712b48a7d4041231fa4 +SERVER_TRAFFIC_SECRET_0 f91f2aca0f397b4847836575249c08e78350d07b85ae2a6eaa1bdca72fa70a8c 3bd647443df49b73c878472f27ff2e919240b26cc774a16d7f8336daff6f9dbb812acb5b817a772a5fad1f5090bac9f8 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8476aff21186721c18865ac071a1c67695b8a84a4b278751818f3e392f624d6d 8d15253172c88c919537fb148897f11489cdbe91c54b861f1fdff2c8f449834cb07703d6b480bd43fbad0e27d51574d0 +SERVER_HANDSHAKE_TRAFFIC_SECRET 8476aff21186721c18865ac071a1c67695b8a84a4b278751818f3e392f624d6d 6e5bdec5f932cb083c468059f8eadddd3c1e0eeecf188f589c644f474d731f0f7a682eab7baf5a5f2b37896652ca31f6 +CLIENT_TRAFFIC_SECRET_0 8476aff21186721c18865ac071a1c67695b8a84a4b278751818f3e392f624d6d 3c2cfcbffb6a60879db1873c7c1e075cdfcbe2fd6d6f234b51345cae19f2891f6a6407834b088c4cb161fcc161bb8d30 +SERVER_TRAFFIC_SECRET_0 8476aff21186721c18865ac071a1c67695b8a84a4b278751818f3e392f624d6d 521d70b3568a55eca9cae68fd6970dd67b1d7c3180866a6a3eddda0c358e16f9ba0e4cac497c5be9da897536cb9b8389 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8476aff21186721c18865ac071a1c67695b8a84a4b278751818f3e392f624d6d 8d15253172c88c919537fb148897f11489cdbe91c54b861f1fdff2c8f449834cb07703d6b480bd43fbad0e27d51574d0 +SERVER_HANDSHAKE_TRAFFIC_SECRET 8476aff21186721c18865ac071a1c67695b8a84a4b278751818f3e392f624d6d 6e5bdec5f932cb083c468059f8eadddd3c1e0eeecf188f589c644f474d731f0f7a682eab7baf5a5f2b37896652ca31f6 +SERVER_TRAFFIC_SECRET_0 8476aff21186721c18865ac071a1c67695b8a84a4b278751818f3e392f624d6d 521d70b3568a55eca9cae68fd6970dd67b1d7c3180866a6a3eddda0c358e16f9ba0e4cac497c5be9da897536cb9b8389 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 686085e91bafac705d3def5ef342280ac315088247bf99b207e31ced9ab0c6dd ab9924ed3b7e7537faebc3db4b1cba90f4f5156f5793f9be1b52bc1d076e046159b7bca77705c25ca9df0ca2c279f032 +SERVER_HANDSHAKE_TRAFFIC_SECRET 686085e91bafac705d3def5ef342280ac315088247bf99b207e31ced9ab0c6dd 77a2c9cd4c3f856f25d395df63c9bce8e772e9f578877cae23ddcef0973c4244621c2ed6cf16b3d338e5345b1b04cc38 +CLIENT_TRAFFIC_SECRET_0 686085e91bafac705d3def5ef342280ac315088247bf99b207e31ced9ab0c6dd 60bf27354c842bc6d9eadf22799ce2523c0d88db0981d9c75a7b252e90e8a3f9018ad55e03644ce119260436b81bba05 +SERVER_TRAFFIC_SECRET_0 686085e91bafac705d3def5ef342280ac315088247bf99b207e31ced9ab0c6dd 9446ae48f1d7b3f69f4cea521680de52d42503e0a2a74dccd1dca2bd986af663b2d4666b604a42ebdd8d3272f93c5ddd +CLIENT_HANDSHAKE_TRAFFIC_SECRET 686085e91bafac705d3def5ef342280ac315088247bf99b207e31ced9ab0c6dd ab9924ed3b7e7537faebc3db4b1cba90f4f5156f5793f9be1b52bc1d076e046159b7bca77705c25ca9df0ca2c279f032 +SERVER_HANDSHAKE_TRAFFIC_SECRET 686085e91bafac705d3def5ef342280ac315088247bf99b207e31ced9ab0c6dd 77a2c9cd4c3f856f25d395df63c9bce8e772e9f578877cae23ddcef0973c4244621c2ed6cf16b3d338e5345b1b04cc38 +CLIENT_TRAFFIC_SECRET_0 686085e91bafac705d3def5ef342280ac315088247bf99b207e31ced9ab0c6dd 60bf27354c842bc6d9eadf22799ce2523c0d88db0981d9c75a7b252e90e8a3f9018ad55e03644ce119260436b81bba05 +SERVER_TRAFFIC_SECRET_0 686085e91bafac705d3def5ef342280ac315088247bf99b207e31ced9ab0c6dd 9446ae48f1d7b3f69f4cea521680de52d42503e0a2a74dccd1dca2bd986af663b2d4666b604a42ebdd8d3272f93c5ddd +CLIENT_HANDSHAKE_TRAFFIC_SECRET f9ac4fdd5d0f82cd37d82afe51d98e6036fde0b6fd6582144f664e2595669131 8bad34cdad6dfe6b90e5de8f9d87e108e8aeba988910b24b84200c181f93b313cb04a8b8d6e79583c04ecf23140287df +SERVER_HANDSHAKE_TRAFFIC_SECRET f9ac4fdd5d0f82cd37d82afe51d98e6036fde0b6fd6582144f664e2595669131 dae2bea19a07e9417d92167f472fa18a51d5cf62aa3ea473c45fb1a0c38462000c8e67ca17d4a659727d3bd8707d8eb4 +CLIENT_TRAFFIC_SECRET_0 f9ac4fdd5d0f82cd37d82afe51d98e6036fde0b6fd6582144f664e2595669131 45c1c905e9f3c05c0e730dcd06011293875238cc4263a61a94bf8d6954907ed267e9e8121b6e16f3c6c8ee3f2289a205 +SERVER_TRAFFIC_SECRET_0 f9ac4fdd5d0f82cd37d82afe51d98e6036fde0b6fd6582144f664e2595669131 acdd43b54e2fa7f39cb73f48b2cf7f972a3bf67db414c99b2372af17f5e5bc3e7f94be5326870996cc9da51593d3b113 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f9ac4fdd5d0f82cd37d82afe51d98e6036fde0b6fd6582144f664e2595669131 8bad34cdad6dfe6b90e5de8f9d87e108e8aeba988910b24b84200c181f93b313cb04a8b8d6e79583c04ecf23140287df +SERVER_HANDSHAKE_TRAFFIC_SECRET f9ac4fdd5d0f82cd37d82afe51d98e6036fde0b6fd6582144f664e2595669131 dae2bea19a07e9417d92167f472fa18a51d5cf62aa3ea473c45fb1a0c38462000c8e67ca17d4a659727d3bd8707d8eb4 +CLIENT_TRAFFIC_SECRET_0 f9ac4fdd5d0f82cd37d82afe51d98e6036fde0b6fd6582144f664e2595669131 45c1c905e9f3c05c0e730dcd06011293875238cc4263a61a94bf8d6954907ed267e9e8121b6e16f3c6c8ee3f2289a205 +SERVER_TRAFFIC_SECRET_0 f9ac4fdd5d0f82cd37d82afe51d98e6036fde0b6fd6582144f664e2595669131 acdd43b54e2fa7f39cb73f48b2cf7f972a3bf67db414c99b2372af17f5e5bc3e7f94be5326870996cc9da51593d3b113 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4ac66c6bbcf6871baa4d4bb8a220569ebf700546dbd4755c44d3f303c5d10b3f 4dbbd12497efbcd45fc272eed451146c109524f4ed8c778c200320822da082bb4bd6a33428c6e5c14d1356f2228fdca9 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4ac66c6bbcf6871baa4d4bb8a220569ebf700546dbd4755c44d3f303c5d10b3f d74e340ee37d9692d048c5537d6ad925a49a37572a5a7fa63e9ba5f7a88036c810c368db55d4acced2408bf0422cc239 +CLIENT_TRAFFIC_SECRET_0 4ac66c6bbcf6871baa4d4bb8a220569ebf700546dbd4755c44d3f303c5d10b3f 6c63f3ad01fa9b44500dcc5efa7447f0b512398653fa869b7235d53da1a891d92457d4c636f43302569abbf973b4e010 +SERVER_TRAFFIC_SECRET_0 4ac66c6bbcf6871baa4d4bb8a220569ebf700546dbd4755c44d3f303c5d10b3f 38c0e3084e3e616e7d85f4f8ca83b3cf520f9b3445da3c330c63893b5b9f9fb4ed64bbe647c0f3a5101b8f06d3f26e1c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4ac66c6bbcf6871baa4d4bb8a220569ebf700546dbd4755c44d3f303c5d10b3f 4dbbd12497efbcd45fc272eed451146c109524f4ed8c778c200320822da082bb4bd6a33428c6e5c14d1356f2228fdca9 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4ac66c6bbcf6871baa4d4bb8a220569ebf700546dbd4755c44d3f303c5d10b3f d74e340ee37d9692d048c5537d6ad925a49a37572a5a7fa63e9ba5f7a88036c810c368db55d4acced2408bf0422cc239 +SERVER_TRAFFIC_SECRET_0 4ac66c6bbcf6871baa4d4bb8a220569ebf700546dbd4755c44d3f303c5d10b3f 38c0e3084e3e616e7d85f4f8ca83b3cf520f9b3445da3c330c63893b5b9f9fb4ed64bbe647c0f3a5101b8f06d3f26e1c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 52a04e0772b852ee4d20f96e431224e0bc45dfe02d6462b21f3e9ccc2d6d8829 24dfad7faab4f7b9eb58459df5315ad7c00afd413ff633976f4a7c174606308cda0f5372a3bc877c1d60543e3a177841 +SERVER_HANDSHAKE_TRAFFIC_SECRET 52a04e0772b852ee4d20f96e431224e0bc45dfe02d6462b21f3e9ccc2d6d8829 e7c61b30199404e5c40f584e608221c630e3248db6b0ed94aa19e85ce6cb824bd66922cd35e92ac76596570580fd7060 +CLIENT_TRAFFIC_SECRET_0 52a04e0772b852ee4d20f96e431224e0bc45dfe02d6462b21f3e9ccc2d6d8829 0118a5d0ee9301d74981fdadd38597432f17a2dbf863b59d987fd60dd7da0f9a42751023713c9c4a383bc9f26a419ca0 +SERVER_TRAFFIC_SECRET_0 52a04e0772b852ee4d20f96e431224e0bc45dfe02d6462b21f3e9ccc2d6d8829 935f8c4e6ed8f439233de0ead360228326f0f7f3c75b6af2da88f884b18effb28dcffd297d7042f20ba4806ca32d3d27 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 52a04e0772b852ee4d20f96e431224e0bc45dfe02d6462b21f3e9ccc2d6d8829 24dfad7faab4f7b9eb58459df5315ad7c00afd413ff633976f4a7c174606308cda0f5372a3bc877c1d60543e3a177841 +SERVER_HANDSHAKE_TRAFFIC_SECRET 52a04e0772b852ee4d20f96e431224e0bc45dfe02d6462b21f3e9ccc2d6d8829 e7c61b30199404e5c40f584e608221c630e3248db6b0ed94aa19e85ce6cb824bd66922cd35e92ac76596570580fd7060 +CLIENT_TRAFFIC_SECRET_0 52a04e0772b852ee4d20f96e431224e0bc45dfe02d6462b21f3e9ccc2d6d8829 0118a5d0ee9301d74981fdadd38597432f17a2dbf863b59d987fd60dd7da0f9a42751023713c9c4a383bc9f26a419ca0 +SERVER_TRAFFIC_SECRET_0 52a04e0772b852ee4d20f96e431224e0bc45dfe02d6462b21f3e9ccc2d6d8829 935f8c4e6ed8f439233de0ead360228326f0f7f3c75b6af2da88f884b18effb28dcffd297d7042f20ba4806ca32d3d27 +CLIENT_HANDSHAKE_TRAFFIC_SECRET b2db1f00b71c7d40b28b57d2d6059f11fdc5422b6ba72d60f4c970ae0bd8386a 642c7fba232e583d17f1a8632ad87cdcc2f52628b0f1130f11b107ef912aaf784ea67a17238102ba9e4a9bae893b21e8 +SERVER_HANDSHAKE_TRAFFIC_SECRET b2db1f00b71c7d40b28b57d2d6059f11fdc5422b6ba72d60f4c970ae0bd8386a e23462ea459fe8c4b9fc1a4b10cc3acf9fc1e9f4c07dbfa26b454188a57d46d63c3fd1944d469f911f9c42b75de1b731 +CLIENT_TRAFFIC_SECRET_0 b2db1f00b71c7d40b28b57d2d6059f11fdc5422b6ba72d60f4c970ae0bd8386a 2527d6a5e97bb9bf06d8d907937f27d844d1d993c50aa6d87064a930afcda37d3140e4c44db2cdce72bfa8bf38fef330 +SERVER_TRAFFIC_SECRET_0 b2db1f00b71c7d40b28b57d2d6059f11fdc5422b6ba72d60f4c970ae0bd8386a ee33e1e47a891625803323ec7a9b128a67ed34443ed6a0683ebedfab49727fdb2d5a967008ba2d6e8e40f20b19a69cc2 +CLIENT_HANDSHAKE_TRAFFIC_SECRET b2db1f00b71c7d40b28b57d2d6059f11fdc5422b6ba72d60f4c970ae0bd8386a 642c7fba232e583d17f1a8632ad87cdcc2f52628b0f1130f11b107ef912aaf784ea67a17238102ba9e4a9bae893b21e8 +SERVER_HANDSHAKE_TRAFFIC_SECRET b2db1f00b71c7d40b28b57d2d6059f11fdc5422b6ba72d60f4c970ae0bd8386a e23462ea459fe8c4b9fc1a4b10cc3acf9fc1e9f4c07dbfa26b454188a57d46d63c3fd1944d469f911f9c42b75de1b731 +CLIENT_TRAFFIC_SECRET_0 b2db1f00b71c7d40b28b57d2d6059f11fdc5422b6ba72d60f4c970ae0bd8386a 2527d6a5e97bb9bf06d8d907937f27d844d1d993c50aa6d87064a930afcda37d3140e4c44db2cdce72bfa8bf38fef330 +SERVER_TRAFFIC_SECRET_0 b2db1f00b71c7d40b28b57d2d6059f11fdc5422b6ba72d60f4c970ae0bd8386a ee33e1e47a891625803323ec7a9b128a67ed34443ed6a0683ebedfab49727fdb2d5a967008ba2d6e8e40f20b19a69cc2 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 18453d8e6f8700a9220ac0370764c315b2fa45589140a9bd0f84ebf1e7d59453 fc3317662c1d1bbe39c1165be009c027813ff184bc8ee6d787ee92845bdb196be357571d6ca733c237762dd7208f1794 +SERVER_HANDSHAKE_TRAFFIC_SECRET 18453d8e6f8700a9220ac0370764c315b2fa45589140a9bd0f84ebf1e7d59453 9d3990a4d6f63bbffc777df34d8b9c1e8851564322a6e6b6bdf25774a973c7ee39453fcf12c8ea8268f1283c4cfdebba +CLIENT_TRAFFIC_SECRET_0 18453d8e6f8700a9220ac0370764c315b2fa45589140a9bd0f84ebf1e7d59453 bab8eecc3711ef30cd6053c0668600b5f1c0abd1d0f0c3130b7d07e95a3f053a29cbbfb31195c7f411ce1b8663a0c2c4 +SERVER_TRAFFIC_SECRET_0 18453d8e6f8700a9220ac0370764c315b2fa45589140a9bd0f84ebf1e7d59453 1d1b66de7aa1ae5f1b631fce030bc211f18c66b77a38e65b690a5e4c6f5ce578723de50d06eadeb6c867b875287a218b +CLIENT_HANDSHAKE_TRAFFIC_SECRET 18453d8e6f8700a9220ac0370764c315b2fa45589140a9bd0f84ebf1e7d59453 fc3317662c1d1bbe39c1165be009c027813ff184bc8ee6d787ee92845bdb196be357571d6ca733c237762dd7208f1794 +SERVER_HANDSHAKE_TRAFFIC_SECRET 18453d8e6f8700a9220ac0370764c315b2fa45589140a9bd0f84ebf1e7d59453 9d3990a4d6f63bbffc777df34d8b9c1e8851564322a6e6b6bdf25774a973c7ee39453fcf12c8ea8268f1283c4cfdebba +CLIENT_TRAFFIC_SECRET_0 18453d8e6f8700a9220ac0370764c315b2fa45589140a9bd0f84ebf1e7d59453 bab8eecc3711ef30cd6053c0668600b5f1c0abd1d0f0c3130b7d07e95a3f053a29cbbfb31195c7f411ce1b8663a0c2c4 +SERVER_TRAFFIC_SECRET_0 18453d8e6f8700a9220ac0370764c315b2fa45589140a9bd0f84ebf1e7d59453 1d1b66de7aa1ae5f1b631fce030bc211f18c66b77a38e65b690a5e4c6f5ce578723de50d06eadeb6c867b875287a218b +CLIENT_HANDSHAKE_TRAFFIC_SECRET 54e1af73a36127206599d66513913eee6d3ef6ad32616d515a9e37f702e0b804 fa252eebe9531a91995f8043660ad0df6633623ef35dd04130a56a1fcd37e7e62cac7fcb6a82838151b09c6bf012afa4 +SERVER_HANDSHAKE_TRAFFIC_SECRET 54e1af73a36127206599d66513913eee6d3ef6ad32616d515a9e37f702e0b804 ea927e5f0cf7284d3fc46891399cb61ca278b47009269a674bdf28d5847039c21c3e73211da9868135dbbb6d44103dad +CLIENT_HANDSHAKE_TRAFFIC_SECRET 54e1af73a36127206599d66513913eee6d3ef6ad32616d515a9e37f702e0b804 fa252eebe9531a91995f8043660ad0df6633623ef35dd04130a56a1fcd37e7e62cac7fcb6a82838151b09c6bf012afa4 +SERVER_HANDSHAKE_TRAFFIC_SECRET 54e1af73a36127206599d66513913eee6d3ef6ad32616d515a9e37f702e0b804 ea927e5f0cf7284d3fc46891399cb61ca278b47009269a674bdf28d5847039c21c3e73211da9868135dbbb6d44103dad +SERVER_TRAFFIC_SECRET_0 54e1af73a36127206599d66513913eee6d3ef6ad32616d515a9e37f702e0b804 d0cbb6220e75a389285fd41d4ea0e54d5e0c1b1cdb0d9107585f1ca182ea92bbe3413de7fdbdbb7d63a9cbbc11b77e61 +CLIENT_HANDSHAKE_TRAFFIC_SECRET bd15ba3713a7ec80302e4277442d75b7c5e29b3da5e37d5ec3578e3c09db097e 460586b2dce9608432ed07ce08f0e9ac2c91968c62719bb4238ad1149a4ff4d481c62a3cb097ea0147d5b9daf6f9d7f4 +SERVER_HANDSHAKE_TRAFFIC_SECRET bd15ba3713a7ec80302e4277442d75b7c5e29b3da5e37d5ec3578e3c09db097e 5b895db386efef80af9f6a3137ad4833b92befc7132dbb9dd4b84374446260635d13cf6aff53058909c20273841585fa +CLIENT_TRAFFIC_SECRET_0 bd15ba3713a7ec80302e4277442d75b7c5e29b3da5e37d5ec3578e3c09db097e 200df02784d84a6cecf0642dfc20eeab489b9c60adfff199ab792935c82e026dde8c226e064ae1862a08188b1e563e51 +SERVER_TRAFFIC_SECRET_0 bd15ba3713a7ec80302e4277442d75b7c5e29b3da5e37d5ec3578e3c09db097e 124d6356f1b925e0a74109bf7507dbf0e5e05b4659013d789ce084bb1ed2750a0b6d239722d91b971d886d36fb4b3a57 +CLIENT_HANDSHAKE_TRAFFIC_SECRET bd15ba3713a7ec80302e4277442d75b7c5e29b3da5e37d5ec3578e3c09db097e 460586b2dce9608432ed07ce08f0e9ac2c91968c62719bb4238ad1149a4ff4d481c62a3cb097ea0147d5b9daf6f9d7f4 +SERVER_HANDSHAKE_TRAFFIC_SECRET bd15ba3713a7ec80302e4277442d75b7c5e29b3da5e37d5ec3578e3c09db097e 5b895db386efef80af9f6a3137ad4833b92befc7132dbb9dd4b84374446260635d13cf6aff53058909c20273841585fa +CLIENT_TRAFFIC_SECRET_0 bd15ba3713a7ec80302e4277442d75b7c5e29b3da5e37d5ec3578e3c09db097e 200df02784d84a6cecf0642dfc20eeab489b9c60adfff199ab792935c82e026dde8c226e064ae1862a08188b1e563e51 +SERVER_TRAFFIC_SECRET_0 bd15ba3713a7ec80302e4277442d75b7c5e29b3da5e37d5ec3578e3c09db097e 124d6356f1b925e0a74109bf7507dbf0e5e05b4659013d789ce084bb1ed2750a0b6d239722d91b971d886d36fb4b3a57 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 429b4009a32943d1a4bbd5396daeecddd6b9cb041239c7c1d82bba45797b5cdd 2ffc618ae264999c54b15c939665eb16efddfa15b8f34f089d254679fd181094694a54583fb10e6b4d85539c078c5b21 +SERVER_HANDSHAKE_TRAFFIC_SECRET 429b4009a32943d1a4bbd5396daeecddd6b9cb041239c7c1d82bba45797b5cdd ac50592efb6bab9d0802b01e902c712f5238e9e6a734f16b35331a4cc452af88126e364b583739b19331d37a17088a97 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 429b4009a32943d1a4bbd5396daeecddd6b9cb041239c7c1d82bba45797b5cdd 2ffc618ae264999c54b15c939665eb16efddfa15b8f34f089d254679fd181094694a54583fb10e6b4d85539c078c5b21 +SERVER_HANDSHAKE_TRAFFIC_SECRET 429b4009a32943d1a4bbd5396daeecddd6b9cb041239c7c1d82bba45797b5cdd ac50592efb6bab9d0802b01e902c712f5238e9e6a734f16b35331a4cc452af88126e364b583739b19331d37a17088a97 +SERVER_TRAFFIC_SECRET_0 429b4009a32943d1a4bbd5396daeecddd6b9cb041239c7c1d82bba45797b5cdd e3242b450866d9798a9515e8c49d98223bb5ceba58ccdc1b3a69385bb2caa273a451de9454cf0ac9b3951d91e74ae838 +CLIENT_HANDSHAKE_TRAFFIC_SECRET cec57f22dd49150e92e98c05d451a0591cb86b6cc177ca719209de4213f3de0c 6376c6a7dbdcd8cdd12d7c91b57c28c305a1b1989e69259c9474b778ed32c1e649e60124e4aefb07b362cb3d36cf3973 +SERVER_HANDSHAKE_TRAFFIC_SECRET cec57f22dd49150e92e98c05d451a0591cb86b6cc177ca719209de4213f3de0c 914c380ddba6522afb9c377cef96eee94aea5215483db79a42cc64335b0f8c84cae1a912dadbd8a920e7f9b52d4ce304 +CLIENT_TRAFFIC_SECRET_0 cec57f22dd49150e92e98c05d451a0591cb86b6cc177ca719209de4213f3de0c 9ecd22f2dc8a39a2723dd67f6ea585f01f23d8cf1ab9bf3d16471e034cbcb7fcef7a9b025f54964457a861451a73d4df +SERVER_TRAFFIC_SECRET_0 cec57f22dd49150e92e98c05d451a0591cb86b6cc177ca719209de4213f3de0c c62689c2586f44aad0dbd592bbe3c1741c14ab551a104a6d8bdf9be26a86416e2616012666f380c40d065d99b9a3ba83 +CLIENT_HANDSHAKE_TRAFFIC_SECRET cec57f22dd49150e92e98c05d451a0591cb86b6cc177ca719209de4213f3de0c 6376c6a7dbdcd8cdd12d7c91b57c28c305a1b1989e69259c9474b778ed32c1e649e60124e4aefb07b362cb3d36cf3973 +SERVER_HANDSHAKE_TRAFFIC_SECRET cec57f22dd49150e92e98c05d451a0591cb86b6cc177ca719209de4213f3de0c 914c380ddba6522afb9c377cef96eee94aea5215483db79a42cc64335b0f8c84cae1a912dadbd8a920e7f9b52d4ce304 +CLIENT_TRAFFIC_SECRET_0 cec57f22dd49150e92e98c05d451a0591cb86b6cc177ca719209de4213f3de0c 9ecd22f2dc8a39a2723dd67f6ea585f01f23d8cf1ab9bf3d16471e034cbcb7fcef7a9b025f54964457a861451a73d4df +SERVER_TRAFFIC_SECRET_0 cec57f22dd49150e92e98c05d451a0591cb86b6cc177ca719209de4213f3de0c c62689c2586f44aad0dbd592bbe3c1741c14ab551a104a6d8bdf9be26a86416e2616012666f380c40d065d99b9a3ba83 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9aa08693c33b42b2b9db043ae7a87d15e64a70c3156627ea8a0dc44aa1f47a00 815413b83445a0308287382b55f0e35a73869a790ee6ff686c831571bf4c8cd0f2276777d8e83cfff6beccf3ffa50039 +SERVER_HANDSHAKE_TRAFFIC_SECRET 9aa08693c33b42b2b9db043ae7a87d15e64a70c3156627ea8a0dc44aa1f47a00 f972791c6cc4410c67ca033850c77297afbf2ab38a348c9a1357933d4436fc28d5891d7119259793eac3982d016cbf88 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9aa08693c33b42b2b9db043ae7a87d15e64a70c3156627ea8a0dc44aa1f47a00 815413b83445a0308287382b55f0e35a73869a790ee6ff686c831571bf4c8cd0f2276777d8e83cfff6beccf3ffa50039 +SERVER_HANDSHAKE_TRAFFIC_SECRET 9aa08693c33b42b2b9db043ae7a87d15e64a70c3156627ea8a0dc44aa1f47a00 f972791c6cc4410c67ca033850c77297afbf2ab38a348c9a1357933d4436fc28d5891d7119259793eac3982d016cbf88 +SERVER_TRAFFIC_SECRET_0 9aa08693c33b42b2b9db043ae7a87d15e64a70c3156627ea8a0dc44aa1f47a00 bfc90dee203d19f2c8d23bcbe8190fd5c4027fe7cd051b74f42f0057cdfa2947472fff57822a89f57d24ccbd3bcf77c8 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d235fefd830f4036224a827114b56b64405fcccd437922af0754311d320b1b16 17e0cd020f4b39d6e845306f73aacbc83a0ecbdc7f0edae9d44ef93b59c88370f2738713fd17d2afe2794d4630a72a6f +SERVER_HANDSHAKE_TRAFFIC_SECRET d235fefd830f4036224a827114b56b64405fcccd437922af0754311d320b1b16 08502348798d751a5cdafdd2b36104c5ea944729791efbf38d30c698e4b8e53e323f3c9cef429fde947ffa35765dae9f +CLIENT_HANDSHAKE_TRAFFIC_SECRET d235fefd830f4036224a827114b56b64405fcccd437922af0754311d320b1b16 17e0cd020f4b39d6e845306f73aacbc83a0ecbdc7f0edae9d44ef93b59c88370f2738713fd17d2afe2794d4630a72a6f +SERVER_HANDSHAKE_TRAFFIC_SECRET d235fefd830f4036224a827114b56b64405fcccd437922af0754311d320b1b16 08502348798d751a5cdafdd2b36104c5ea944729791efbf38d30c698e4b8e53e323f3c9cef429fde947ffa35765dae9f +SERVER_TRAFFIC_SECRET_0 d235fefd830f4036224a827114b56b64405fcccd437922af0754311d320b1b16 62fc450d6214d376ab19b038f6c637c72ccbb3733f401ac6409888297c0083c18ddff29e9a0719b62da0aa9c96cec9bb +CLIENT_HANDSHAKE_TRAFFIC_SECRET ddd0a8be5b1ed1ce7e4095f522e631d6e1d2a90a824647aeac7c1262f3dffd81 73bc8e84bc2f4e2b6238f7ec8d1f46e2219baacb67ccefd4d912e42fcc9c10d97e7d8319dc42522cf48ab049ab81e4c2 +SERVER_HANDSHAKE_TRAFFIC_SECRET ddd0a8be5b1ed1ce7e4095f522e631d6e1d2a90a824647aeac7c1262f3dffd81 162a38c09b3d6c04cf19b556fa9c078c15ebb32f05cdd66a39e244b31cd6971f16668682b77801e6788cf0925117d12b +CLIENT_HANDSHAKE_TRAFFIC_SECRET ddd0a8be5b1ed1ce7e4095f522e631d6e1d2a90a824647aeac7c1262f3dffd81 73bc8e84bc2f4e2b6238f7ec8d1f46e2219baacb67ccefd4d912e42fcc9c10d97e7d8319dc42522cf48ab049ab81e4c2 +SERVER_HANDSHAKE_TRAFFIC_SECRET ddd0a8be5b1ed1ce7e4095f522e631d6e1d2a90a824647aeac7c1262f3dffd81 162a38c09b3d6c04cf19b556fa9c078c15ebb32f05cdd66a39e244b31cd6971f16668682b77801e6788cf0925117d12b +SERVER_TRAFFIC_SECRET_0 ddd0a8be5b1ed1ce7e4095f522e631d6e1d2a90a824647aeac7c1262f3dffd81 d40ed541c88f152867048c2e7ec544fa3b923439789c49076995ee68e80c7d22f64310943195155a889495bd81a45327 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 37db9aca491620e737346af99624971a7078efb9af0317b68e204e0aa3760791 002c264a5a29fe7c8affe023ef69ff68fd0a2c9584f130018da838aecc10cb4b018ec0085c779970adfa70edf328277f +SERVER_HANDSHAKE_TRAFFIC_SECRET 37db9aca491620e737346af99624971a7078efb9af0317b68e204e0aa3760791 329aaccec9900c011b246bce3b42f46c0cf7aab478721323bf6a4732a4c976f64c5e419a3d7631a14dfa0398ec829b5e +CLIENT_HANDSHAKE_TRAFFIC_SECRET 37db9aca491620e737346af99624971a7078efb9af0317b68e204e0aa3760791 002c264a5a29fe7c8affe023ef69ff68fd0a2c9584f130018da838aecc10cb4b018ec0085c779970adfa70edf328277f +SERVER_HANDSHAKE_TRAFFIC_SECRET 37db9aca491620e737346af99624971a7078efb9af0317b68e204e0aa3760791 329aaccec9900c011b246bce3b42f46c0cf7aab478721323bf6a4732a4c976f64c5e419a3d7631a14dfa0398ec829b5e +SERVER_TRAFFIC_SECRET_0 37db9aca491620e737346af99624971a7078efb9af0317b68e204e0aa3760791 63fa83218f1c77ef1504a4c262024fd3a7af295d4df62605377b61288d5d64a595789a704d7c5d8c97c93e2b522d129d +CLIENT_HANDSHAKE_TRAFFIC_SECRET 246fa40b1e2dc235c534905d92fc5b977cc822bb756640ebd053f8ed3ac8b4f8 f3ba23138d450c2ed368e0ccce31f169ba9ad5f30ace9c1d60a8e99f66987d587bd7d17afb1bc634e22c34a392465f28 +SERVER_HANDSHAKE_TRAFFIC_SECRET 246fa40b1e2dc235c534905d92fc5b977cc822bb756640ebd053f8ed3ac8b4f8 3fafe9b6648bd4e7a0baaeccbbb3e56c9cbbe88b562f6b0301d0728f7cb5c12afc7534a0a6784283e39362f3e83cabec +CLIENT_HANDSHAKE_TRAFFIC_SECRET 246fa40b1e2dc235c534905d92fc5b977cc822bb756640ebd053f8ed3ac8b4f8 f3ba23138d450c2ed368e0ccce31f169ba9ad5f30ace9c1d60a8e99f66987d587bd7d17afb1bc634e22c34a392465f28 +SERVER_HANDSHAKE_TRAFFIC_SECRET 246fa40b1e2dc235c534905d92fc5b977cc822bb756640ebd053f8ed3ac8b4f8 3fafe9b6648bd4e7a0baaeccbbb3e56c9cbbe88b562f6b0301d0728f7cb5c12afc7534a0a6784283e39362f3e83cabec +SERVER_TRAFFIC_SECRET_0 246fa40b1e2dc235c534905d92fc5b977cc822bb756640ebd053f8ed3ac8b4f8 26f09f087b796bc7c4c8bab8006b56333b3b9a3d3faae34d86a03c333b6acddf795a22563ff1f397dc3a655c678743fb +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2bac565b63437a58d867d8e902c05bfbe081b5d6c7d42ea67ed21988dc8db14b 3223e36bc72b3f1bbbf121cb6acf58b28ef576cc99401f990615266541d8dea5b947607e55bb3fa7ffab88fde50c67cc +SERVER_HANDSHAKE_TRAFFIC_SECRET 2bac565b63437a58d867d8e902c05bfbe081b5d6c7d42ea67ed21988dc8db14b bc011cd8874f6ffcffbe325baf2889ff720467a4fae67877e7482f5c67ee626a02fcbe560b907a8f10847a6ec5755bb7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2bac565b63437a58d867d8e902c05bfbe081b5d6c7d42ea67ed21988dc8db14b 3223e36bc72b3f1bbbf121cb6acf58b28ef576cc99401f990615266541d8dea5b947607e55bb3fa7ffab88fde50c67cc +SERVER_HANDSHAKE_TRAFFIC_SECRET 2bac565b63437a58d867d8e902c05bfbe081b5d6c7d42ea67ed21988dc8db14b bc011cd8874f6ffcffbe325baf2889ff720467a4fae67877e7482f5c67ee626a02fcbe560b907a8f10847a6ec5755bb7 +SERVER_TRAFFIC_SECRET_0 2bac565b63437a58d867d8e902c05bfbe081b5d6c7d42ea67ed21988dc8db14b 9555e5d927dbb1ba585580f639a40b2ad3599d683358f604883fd8453d5689383bdf1d9a0d4c7b4c7c901c1ae0bf3e06 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ea76add53f2fc3ea529c111f50d59d2cdf2bdb8402caebb53de3f82da5b20e94 2c08d02da94f31d9c260d0b1c13ed89428871d7923b7cae0d203d30bf7ba979b715958530feac65a6cac98a021d4b943 +SERVER_HANDSHAKE_TRAFFIC_SECRET ea76add53f2fc3ea529c111f50d59d2cdf2bdb8402caebb53de3f82da5b20e94 c5894cb10905d0b080dd106908294165642cb51b7e60140eee288486ea7cdff7505e7c03123a658ea284c63df6de8c66 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ea76add53f2fc3ea529c111f50d59d2cdf2bdb8402caebb53de3f82da5b20e94 2c08d02da94f31d9c260d0b1c13ed89428871d7923b7cae0d203d30bf7ba979b715958530feac65a6cac98a021d4b943 +SERVER_HANDSHAKE_TRAFFIC_SECRET ea76add53f2fc3ea529c111f50d59d2cdf2bdb8402caebb53de3f82da5b20e94 c5894cb10905d0b080dd106908294165642cb51b7e60140eee288486ea7cdff7505e7c03123a658ea284c63df6de8c66 +SERVER_TRAFFIC_SECRET_0 ea76add53f2fc3ea529c111f50d59d2cdf2bdb8402caebb53de3f82da5b20e94 e751ace468635ca69c2dd285d732730b39fd9f074f665ea483e46562cf5d9d6a4acb500cb48074cdfd50400a64dabd59 +CLIENT_HANDSHAKE_TRAFFIC_SECRET b1b32793e6ed2868d0c2770c5a1cc71a7748c40924426749abea3509c63cec1f 570387a5d13e774b448776be8e577facd994ffbe4102603e6821c413241b93db9160de5963db06e4b9873f15671e2bbc +SERVER_HANDSHAKE_TRAFFIC_SECRET b1b32793e6ed2868d0c2770c5a1cc71a7748c40924426749abea3509c63cec1f 630f7bbb8372417052daada3b3ecb88ceedeea27c1354aee3c493cb41f50269b0ce357f3a5870c1e85ec4154a44b0822 +CLIENT_TRAFFIC_SECRET_0 b1b32793e6ed2868d0c2770c5a1cc71a7748c40924426749abea3509c63cec1f 1e38f2f164d3214cc22e229a64a4fe14621249bada3944d48cef55db69cecbaa6d846439704271259595151f1da57853 +SERVER_TRAFFIC_SECRET_0 b1b32793e6ed2868d0c2770c5a1cc71a7748c40924426749abea3509c63cec1f 8489e72d2c5c62395156ef4901d8c34566f18249d06b8ee632abbbc32f9ef30638d296bcee717526e96c5000065fcb1f +CLIENT_HANDSHAKE_TRAFFIC_SECRET b1b32793e6ed2868d0c2770c5a1cc71a7748c40924426749abea3509c63cec1f 570387a5d13e774b448776be8e577facd994ffbe4102603e6821c413241b93db9160de5963db06e4b9873f15671e2bbc +SERVER_HANDSHAKE_TRAFFIC_SECRET b1b32793e6ed2868d0c2770c5a1cc71a7748c40924426749abea3509c63cec1f 630f7bbb8372417052daada3b3ecb88ceedeea27c1354aee3c493cb41f50269b0ce357f3a5870c1e85ec4154a44b0822 +CLIENT_TRAFFIC_SECRET_0 b1b32793e6ed2868d0c2770c5a1cc71a7748c40924426749abea3509c63cec1f 1e38f2f164d3214cc22e229a64a4fe14621249bada3944d48cef55db69cecbaa6d846439704271259595151f1da57853 +SERVER_TRAFFIC_SECRET_0 b1b32793e6ed2868d0c2770c5a1cc71a7748c40924426749abea3509c63cec1f 8489e72d2c5c62395156ef4901d8c34566f18249d06b8ee632abbbc32f9ef30638d296bcee717526e96c5000065fcb1f +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5125ca28c8f8254886827794e11b2c6deb6690da456e7f97c6f3d26237ee88e2 6e70f059d6e4a56ba82888d85be0f5165f79112754a38784e055c50a7ea1e2238116f0739c1f94110c07fa76f4465ca9 +SERVER_HANDSHAKE_TRAFFIC_SECRET 5125ca28c8f8254886827794e11b2c6deb6690da456e7f97c6f3d26237ee88e2 aab8d403414e5022f61bc1e9c3cc5a7e4bad3bcd1fc927bf3e47c892d86623adad02891ae4d276c836c17815f4bb745b +CLIENT_TRAFFIC_SECRET_0 5125ca28c8f8254886827794e11b2c6deb6690da456e7f97c6f3d26237ee88e2 dcaf765a5104eeb8adcb9a900cf5559b1695100b4977718dcb4e4515234028f21f0416f31b0f8dbaef48290e9806a211 +SERVER_TRAFFIC_SECRET_0 5125ca28c8f8254886827794e11b2c6deb6690da456e7f97c6f3d26237ee88e2 343c62dfee59ba07347b3de3e1eee76cc2f706ee71cf0f3cc8992dc051301d23c15557b97cbf3b02bff629efc12a38c3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5125ca28c8f8254886827794e11b2c6deb6690da456e7f97c6f3d26237ee88e2 6e70f059d6e4a56ba82888d85be0f5165f79112754a38784e055c50a7ea1e2238116f0739c1f94110c07fa76f4465ca9 +SERVER_HANDSHAKE_TRAFFIC_SECRET 5125ca28c8f8254886827794e11b2c6deb6690da456e7f97c6f3d26237ee88e2 aab8d403414e5022f61bc1e9c3cc5a7e4bad3bcd1fc927bf3e47c892d86623adad02891ae4d276c836c17815f4bb745b +CLIENT_TRAFFIC_SECRET_0 5125ca28c8f8254886827794e11b2c6deb6690da456e7f97c6f3d26237ee88e2 dcaf765a5104eeb8adcb9a900cf5559b1695100b4977718dcb4e4515234028f21f0416f31b0f8dbaef48290e9806a211 +SERVER_TRAFFIC_SECRET_0 5125ca28c8f8254886827794e11b2c6deb6690da456e7f97c6f3d26237ee88e2 343c62dfee59ba07347b3de3e1eee76cc2f706ee71cf0f3cc8992dc051301d23c15557b97cbf3b02bff629efc12a38c3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e39d9fdd1ee39ce81d52528b96d310eb35008c8d688cd9982e1dff2860ab1eec fc6ea98b13a45d052207653e00b1a43bc8ed2fcacfad39a155565f5af529bc4e3cc69fb57c5f9536da8387b8b35889c9 +SERVER_HANDSHAKE_TRAFFIC_SECRET e39d9fdd1ee39ce81d52528b96d310eb35008c8d688cd9982e1dff2860ab1eec 60f01136792e6330b63219e909bdfdefdb929afcc8a62fb5a722374464c7a7edf251cbe72740555829b97e26923a20ed +CLIENT_TRAFFIC_SECRET_0 e39d9fdd1ee39ce81d52528b96d310eb35008c8d688cd9982e1dff2860ab1eec 60371f2554880e7c4e2275169dbbaf7c94eb3b68dd0114dc4d79ec71e2a2157d29db8f9a978ed023cb77debcec63fbea +SERVER_TRAFFIC_SECRET_0 e39d9fdd1ee39ce81d52528b96d310eb35008c8d688cd9982e1dff2860ab1eec 6a5b40b591c948032aae6c000256bf3f348c477af714e1b5f80e04f1c6c970851e2f5a223863b16e0846f33794cc95e7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e39d9fdd1ee39ce81d52528b96d310eb35008c8d688cd9982e1dff2860ab1eec fc6ea98b13a45d052207653e00b1a43bc8ed2fcacfad39a155565f5af529bc4e3cc69fb57c5f9536da8387b8b35889c9 +SERVER_HANDSHAKE_TRAFFIC_SECRET e39d9fdd1ee39ce81d52528b96d310eb35008c8d688cd9982e1dff2860ab1eec 60f01136792e6330b63219e909bdfdefdb929afcc8a62fb5a722374464c7a7edf251cbe72740555829b97e26923a20ed +CLIENT_TRAFFIC_SECRET_0 e39d9fdd1ee39ce81d52528b96d310eb35008c8d688cd9982e1dff2860ab1eec 60371f2554880e7c4e2275169dbbaf7c94eb3b68dd0114dc4d79ec71e2a2157d29db8f9a978ed023cb77debcec63fbea +SERVER_TRAFFIC_SECRET_0 e39d9fdd1ee39ce81d52528b96d310eb35008c8d688cd9982e1dff2860ab1eec 6a5b40b591c948032aae6c000256bf3f348c477af714e1b5f80e04f1c6c970851e2f5a223863b16e0846f33794cc95e7 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e3e9824be313f25515570eda3163fd679ecb512b792b94cecd00c40a8e48a07f a476dab9e96975f1449c2aad256c023d6726ca60f9052f467825a5916be2fcd2ea090a519f02341d32b4196848848553 +SERVER_HANDSHAKE_TRAFFIC_SECRET e3e9824be313f25515570eda3163fd679ecb512b792b94cecd00c40a8e48a07f bedbcbf0dee154fd6ad18fefa352c4856f89a2b857f3d11718b798808d18aa4ea48d49fa361f767f2aa48f526ab2ee8e +CLIENT_TRAFFIC_SECRET_0 e3e9824be313f25515570eda3163fd679ecb512b792b94cecd00c40a8e48a07f 05f06670869311dadd17a3ba1accf2a75aea5a730d1ebc545bbd5672bdba1384b460a470b2ceb6285b224a137b4a369d +SERVER_TRAFFIC_SECRET_0 e3e9824be313f25515570eda3163fd679ecb512b792b94cecd00c40a8e48a07f 4d41f3ce40c7e29734dfba1e2fab7e13ce7cecd2dc7d96a2040c01d3730a443dc145e170190df7726a4932d061b8e27d +CLIENT_HANDSHAKE_TRAFFIC_SECRET e3e9824be313f25515570eda3163fd679ecb512b792b94cecd00c40a8e48a07f a476dab9e96975f1449c2aad256c023d6726ca60f9052f467825a5916be2fcd2ea090a519f02341d32b4196848848553 +SERVER_HANDSHAKE_TRAFFIC_SECRET e3e9824be313f25515570eda3163fd679ecb512b792b94cecd00c40a8e48a07f bedbcbf0dee154fd6ad18fefa352c4856f89a2b857f3d11718b798808d18aa4ea48d49fa361f767f2aa48f526ab2ee8e +CLIENT_TRAFFIC_SECRET_0 e3e9824be313f25515570eda3163fd679ecb512b792b94cecd00c40a8e48a07f 05f06670869311dadd17a3ba1accf2a75aea5a730d1ebc545bbd5672bdba1384b460a470b2ceb6285b224a137b4a369d +SERVER_TRAFFIC_SECRET_0 e3e9824be313f25515570eda3163fd679ecb512b792b94cecd00c40a8e48a07f 4d41f3ce40c7e29734dfba1e2fab7e13ce7cecd2dc7d96a2040c01d3730a443dc145e170190df7726a4932d061b8e27d +CLIENT_HANDSHAKE_TRAFFIC_SECRET 838a33bafd8ad972edfe24aac7b777b0bde253f3027eca6516cd254d813d06a7 f66039d570df91a2c170dc44c7f9019cf4a8e5ca4421d7a92da0dae5bf4b8e78616ef62e4a33e81c3dfab7e82327d27d +SERVER_HANDSHAKE_TRAFFIC_SECRET 838a33bafd8ad972edfe24aac7b777b0bde253f3027eca6516cd254d813d06a7 9853fdf5c2c9f028947c4b1e284a309597bf369d247ab3f2552fe7af62614b7316ae90231442fa826119651fcd793d03 +CLIENT_TRAFFIC_SECRET_0 838a33bafd8ad972edfe24aac7b777b0bde253f3027eca6516cd254d813d06a7 3152c77cd5122c13988cfd7fe5bb7bd039a37b20b1b200998525b55b3a16ce3e2dd8f50922626ac9894edc2e027546e1 +SERVER_TRAFFIC_SECRET_0 838a33bafd8ad972edfe24aac7b777b0bde253f3027eca6516cd254d813d06a7 4d0383af502538c29f02a2be5fb795b5c37e4e22fecbabdcb004af836b34ac5980b48516fc927b1333c6fba2b0296656 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 838a33bafd8ad972edfe24aac7b777b0bde253f3027eca6516cd254d813d06a7 f66039d570df91a2c170dc44c7f9019cf4a8e5ca4421d7a92da0dae5bf4b8e78616ef62e4a33e81c3dfab7e82327d27d +SERVER_HANDSHAKE_TRAFFIC_SECRET 838a33bafd8ad972edfe24aac7b777b0bde253f3027eca6516cd254d813d06a7 9853fdf5c2c9f028947c4b1e284a309597bf369d247ab3f2552fe7af62614b7316ae90231442fa826119651fcd793d03 +CLIENT_TRAFFIC_SECRET_0 838a33bafd8ad972edfe24aac7b777b0bde253f3027eca6516cd254d813d06a7 3152c77cd5122c13988cfd7fe5bb7bd039a37b20b1b200998525b55b3a16ce3e2dd8f50922626ac9894edc2e027546e1 +SERVER_TRAFFIC_SECRET_0 838a33bafd8ad972edfe24aac7b777b0bde253f3027eca6516cd254d813d06a7 4d0383af502538c29f02a2be5fb795b5c37e4e22fecbabdcb004af836b34ac5980b48516fc927b1333c6fba2b0296656 +CLIENT_HANDSHAKE_TRAFFIC_SECRET b9fba251369591a0aa56300d928fb0b7b942a936ff1428ac82171eeb048ec3b2 d6c386679c98c215e87d64885ad2a0192205e799526d0cd1a23c07d6b3cae9c2c9cb16d0dfbd83810249d512475c7a73 +SERVER_HANDSHAKE_TRAFFIC_SECRET b9fba251369591a0aa56300d928fb0b7b942a936ff1428ac82171eeb048ec3b2 22ba5e4142e4fd8a44296e1fcfbb5ec82ce644223e5ddaf79fe16c96b989f06a96fb0d440323a82dfdd38ced346439f8 +CLIENT_TRAFFIC_SECRET_0 b9fba251369591a0aa56300d928fb0b7b942a936ff1428ac82171eeb048ec3b2 55074a3272a79a0350605ba5cbdb61349d229e9d19402299a1dd410262b3391d0cb90cfda425db5575bc7161a93dc0c0 +SERVER_TRAFFIC_SECRET_0 b9fba251369591a0aa56300d928fb0b7b942a936ff1428ac82171eeb048ec3b2 48556be7fa90843aea6e3ed6752a67820c1c9764dbaa4df0109173e07430150d8142ffa59a6fae6037f9394443ccdb1d +CLIENT_HANDSHAKE_TRAFFIC_SECRET b9fba251369591a0aa56300d928fb0b7b942a936ff1428ac82171eeb048ec3b2 d6c386679c98c215e87d64885ad2a0192205e799526d0cd1a23c07d6b3cae9c2c9cb16d0dfbd83810249d512475c7a73 +SERVER_HANDSHAKE_TRAFFIC_SECRET b9fba251369591a0aa56300d928fb0b7b942a936ff1428ac82171eeb048ec3b2 22ba5e4142e4fd8a44296e1fcfbb5ec82ce644223e5ddaf79fe16c96b989f06a96fb0d440323a82dfdd38ced346439f8 +CLIENT_TRAFFIC_SECRET_0 b9fba251369591a0aa56300d928fb0b7b942a936ff1428ac82171eeb048ec3b2 55074a3272a79a0350605ba5cbdb61349d229e9d19402299a1dd410262b3391d0cb90cfda425db5575bc7161a93dc0c0 +SERVER_TRAFFIC_SECRET_0 b9fba251369591a0aa56300d928fb0b7b942a936ff1428ac82171eeb048ec3b2 48556be7fa90843aea6e3ed6752a67820c1c9764dbaa4df0109173e07430150d8142ffa59a6fae6037f9394443ccdb1d +CLIENT_HANDSHAKE_TRAFFIC_SECRET 747b3f20b8ff69be58751c2d7c7531ef2185cc30f7d003d99b436eb29f86f418 3828432a940c56555c081cf650c03dd5bd839e2ea1856fb26d0ca576e2c226e95339eab63d2433c9f338bbfc6efd1226 +SERVER_HANDSHAKE_TRAFFIC_SECRET 747b3f20b8ff69be58751c2d7c7531ef2185cc30f7d003d99b436eb29f86f418 635182116333ce429c712b93c21eded1a0ee38d1dce3e9c2aacb513b7a548afcd7efc161ab8b46ea2fc0e9c648c7a61e +CLIENT_TRAFFIC_SECRET_0 747b3f20b8ff69be58751c2d7c7531ef2185cc30f7d003d99b436eb29f86f418 241a4dec0a658a6a7abb81548ac4e828bc73b6235516c8de859013e6d9afb88e8b21279eb497bd93a39b8a6abbaea164 +SERVER_TRAFFIC_SECRET_0 747b3f20b8ff69be58751c2d7c7531ef2185cc30f7d003d99b436eb29f86f418 039ff6f151d3abaddc031e4668d9dadf94d1128415fa7a3a39e006c5ab17cddb2220155262cf0b8ba4ace74cf9074160 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 747b3f20b8ff69be58751c2d7c7531ef2185cc30f7d003d99b436eb29f86f418 3828432a940c56555c081cf650c03dd5bd839e2ea1856fb26d0ca576e2c226e95339eab63d2433c9f338bbfc6efd1226 +SERVER_HANDSHAKE_TRAFFIC_SECRET 747b3f20b8ff69be58751c2d7c7531ef2185cc30f7d003d99b436eb29f86f418 635182116333ce429c712b93c21eded1a0ee38d1dce3e9c2aacb513b7a548afcd7efc161ab8b46ea2fc0e9c648c7a61e +CLIENT_TRAFFIC_SECRET_0 747b3f20b8ff69be58751c2d7c7531ef2185cc30f7d003d99b436eb29f86f418 241a4dec0a658a6a7abb81548ac4e828bc73b6235516c8de859013e6d9afb88e8b21279eb497bd93a39b8a6abbaea164 +SERVER_TRAFFIC_SECRET_0 747b3f20b8ff69be58751c2d7c7531ef2185cc30f7d003d99b436eb29f86f418 039ff6f151d3abaddc031e4668d9dadf94d1128415fa7a3a39e006c5ab17cddb2220155262cf0b8ba4ace74cf9074160 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2f0471c83c920a043768938257f8966626adad2f814a665bd498c1bae1430479 01a87a8b88bd819f6afeef854bbc9ceef8fdc6de0624d8df17808243f562dd35869b796f102548737bf5ec8d282512e5 +SERVER_HANDSHAKE_TRAFFIC_SECRET 2f0471c83c920a043768938257f8966626adad2f814a665bd498c1bae1430479 a28901d21ffe01fc157fe1c00d65c8f7c3639d595d8617d12d1089a93b0d8dda01f0c129c20256f352fe486521c67d2e +CLIENT_TRAFFIC_SECRET_0 2f0471c83c920a043768938257f8966626adad2f814a665bd498c1bae1430479 0ba8d0e66203ab2692ca9ad4045bbc420b661402df99ee86bd7bdb08e9c93d0ef7ac7e148ad29a7d4c62f37760483512 +SERVER_TRAFFIC_SECRET_0 2f0471c83c920a043768938257f8966626adad2f814a665bd498c1bae1430479 e98f93a0df7a3b7b892616a8190dc32e59c64015835e08af93ff9ccd5ff1f8628afd93acad90261500da94ebdb1ad993 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2f0471c83c920a043768938257f8966626adad2f814a665bd498c1bae1430479 01a87a8b88bd819f6afeef854bbc9ceef8fdc6de0624d8df17808243f562dd35869b796f102548737bf5ec8d282512e5 +SERVER_HANDSHAKE_TRAFFIC_SECRET 2f0471c83c920a043768938257f8966626adad2f814a665bd498c1bae1430479 a28901d21ffe01fc157fe1c00d65c8f7c3639d595d8617d12d1089a93b0d8dda01f0c129c20256f352fe486521c67d2e +CLIENT_TRAFFIC_SECRET_0 2f0471c83c920a043768938257f8966626adad2f814a665bd498c1bae1430479 0ba8d0e66203ab2692ca9ad4045bbc420b661402df99ee86bd7bdb08e9c93d0ef7ac7e148ad29a7d4c62f37760483512 +SERVER_TRAFFIC_SECRET_0 2f0471c83c920a043768938257f8966626adad2f814a665bd498c1bae1430479 e98f93a0df7a3b7b892616a8190dc32e59c64015835e08af93ff9ccd5ff1f8628afd93acad90261500da94ebdb1ad993 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a4544c15ef38caa66603323c2562b3012e950f5884bbf95d7a3660fb3f1566c7 241bf03c7dee3c53c82410795c8f9c63d07730e51099963b14629922d0fe20d21d520f2ec1b29672318d6aaa25ce045e +SERVER_HANDSHAKE_TRAFFIC_SECRET a4544c15ef38caa66603323c2562b3012e950f5884bbf95d7a3660fb3f1566c7 dff0c48a5b6bf684d463c869332490505be2ea1c02f30784ddc27ed74a87ccc145203692e24fa41cb1a9ea69f1cefcc6 +CLIENT_TRAFFIC_SECRET_0 a4544c15ef38caa66603323c2562b3012e950f5884bbf95d7a3660fb3f1566c7 32b3728e37b202f598fa7e62c0fa4aeed76fe002d4263581c2581c9d09b60067f05d70d05c88203bbdf0cc00c3bb512b +SERVER_TRAFFIC_SECRET_0 a4544c15ef38caa66603323c2562b3012e950f5884bbf95d7a3660fb3f1566c7 19435057ffc468756f2acd880a947abbe90b9f9b89aec50b96a6df134f9193743bfeed6c3517143d65d8964b04e2d43d +CLIENT_HANDSHAKE_TRAFFIC_SECRET a4544c15ef38caa66603323c2562b3012e950f5884bbf95d7a3660fb3f1566c7 241bf03c7dee3c53c82410795c8f9c63d07730e51099963b14629922d0fe20d21d520f2ec1b29672318d6aaa25ce045e +SERVER_HANDSHAKE_TRAFFIC_SECRET a4544c15ef38caa66603323c2562b3012e950f5884bbf95d7a3660fb3f1566c7 dff0c48a5b6bf684d463c869332490505be2ea1c02f30784ddc27ed74a87ccc145203692e24fa41cb1a9ea69f1cefcc6 +CLIENT_TRAFFIC_SECRET_0 a4544c15ef38caa66603323c2562b3012e950f5884bbf95d7a3660fb3f1566c7 32b3728e37b202f598fa7e62c0fa4aeed76fe002d4263581c2581c9d09b60067f05d70d05c88203bbdf0cc00c3bb512b +SERVER_TRAFFIC_SECRET_0 a4544c15ef38caa66603323c2562b3012e950f5884bbf95d7a3660fb3f1566c7 19435057ffc468756f2acd880a947abbe90b9f9b89aec50b96a6df134f9193743bfeed6c3517143d65d8964b04e2d43d +CLIENT_HANDSHAKE_TRAFFIC_SECRET e95ebacf1b220c45985d57de539dfb7063bac4fad71e5de0d787411cd13a2c13 2f2ec4876da7715df0aaf091d98eb7dbb7bea0a65edfbb2f35714a1fe04012eea386aa2618ff29279502fd29414bc42e +SERVER_HANDSHAKE_TRAFFIC_SECRET e95ebacf1b220c45985d57de539dfb7063bac4fad71e5de0d787411cd13a2c13 fb2f043b8f5d846a148854a220bbf256dee4dda841fceb3f076ea7a9a025c5f6998a3005d1e6921ba04413cd9cf8359b +CLIENT_TRAFFIC_SECRET_0 e95ebacf1b220c45985d57de539dfb7063bac4fad71e5de0d787411cd13a2c13 d89d5f0974d1b18559a396ff696f4bc275ea78eef8f82e36620c56e3b6bcf47e0373ce2903d2593ccade0ef59c25c5b2 +SERVER_TRAFFIC_SECRET_0 e95ebacf1b220c45985d57de539dfb7063bac4fad71e5de0d787411cd13a2c13 8e1795a23ff81979a72ec90d1735e350ce5198341f1b40cb38c4481260e60629001d3775d9a11083bb18ac7e5fdace22 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e95ebacf1b220c45985d57de539dfb7063bac4fad71e5de0d787411cd13a2c13 2f2ec4876da7715df0aaf091d98eb7dbb7bea0a65edfbb2f35714a1fe04012eea386aa2618ff29279502fd29414bc42e +SERVER_HANDSHAKE_TRAFFIC_SECRET e95ebacf1b220c45985d57de539dfb7063bac4fad71e5de0d787411cd13a2c13 fb2f043b8f5d846a148854a220bbf256dee4dda841fceb3f076ea7a9a025c5f6998a3005d1e6921ba04413cd9cf8359b +CLIENT_TRAFFIC_SECRET_0 e95ebacf1b220c45985d57de539dfb7063bac4fad71e5de0d787411cd13a2c13 d89d5f0974d1b18559a396ff696f4bc275ea78eef8f82e36620c56e3b6bcf47e0373ce2903d2593ccade0ef59c25c5b2 +SERVER_TRAFFIC_SECRET_0 e95ebacf1b220c45985d57de539dfb7063bac4fad71e5de0d787411cd13a2c13 8e1795a23ff81979a72ec90d1735e350ce5198341f1b40cb38c4481260e60629001d3775d9a11083bb18ac7e5fdace22 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 97252cb537cf139d6097a324372b5115ebafc39ab17afb6dd59f508f1c7b9c1d ac0e296e242f26a311418bc6facd13530c116f1ac287c2fb2ce9dc96aaffccce4fc1852193c41fa97ba51bde1ae7f49b +SERVER_HANDSHAKE_TRAFFIC_SECRET 97252cb537cf139d6097a324372b5115ebafc39ab17afb6dd59f508f1c7b9c1d 1d0aa4cf6fb9205cd8b6adb2e489c32693b87331ba3ea5a190b97da3928624b1a230a6d150241df76f4b1e324d945513 +CLIENT_TRAFFIC_SECRET_0 97252cb537cf139d6097a324372b5115ebafc39ab17afb6dd59f508f1c7b9c1d 281d90dc3876b2cd1db2fae9db63144f30b5b012480811f1ca272f7330c7325845e3354ffbe3b542829ecea75ebae2b2 +SERVER_TRAFFIC_SECRET_0 97252cb537cf139d6097a324372b5115ebafc39ab17afb6dd59f508f1c7b9c1d 4acc9243ef916267b2977c0588e4dca134ba00cf16c52d44d8e845dbae2ef403f0ab0fd1fd18c5ab86dd4f5f245a88a1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 97252cb537cf139d6097a324372b5115ebafc39ab17afb6dd59f508f1c7b9c1d ac0e296e242f26a311418bc6facd13530c116f1ac287c2fb2ce9dc96aaffccce4fc1852193c41fa97ba51bde1ae7f49b +SERVER_HANDSHAKE_TRAFFIC_SECRET 97252cb537cf139d6097a324372b5115ebafc39ab17afb6dd59f508f1c7b9c1d 1d0aa4cf6fb9205cd8b6adb2e489c32693b87331ba3ea5a190b97da3928624b1a230a6d150241df76f4b1e324d945513 +CLIENT_TRAFFIC_SECRET_0 97252cb537cf139d6097a324372b5115ebafc39ab17afb6dd59f508f1c7b9c1d 281d90dc3876b2cd1db2fae9db63144f30b5b012480811f1ca272f7330c7325845e3354ffbe3b542829ecea75ebae2b2 +SERVER_TRAFFIC_SECRET_0 97252cb537cf139d6097a324372b5115ebafc39ab17afb6dd59f508f1c7b9c1d 4acc9243ef916267b2977c0588e4dca134ba00cf16c52d44d8e845dbae2ef403f0ab0fd1fd18c5ab86dd4f5f245a88a1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a2dabe2a34316dc871a7dfb09c70b7c8a6032ad2cee7796b27523f80d5949e60 88d84653ef2c664cbd9284df85e573c78210e70b4bf5a3a666f6da39ff95d5d72ced816f4673e9c169890ec6b61d1529 +SERVER_HANDSHAKE_TRAFFIC_SECRET a2dabe2a34316dc871a7dfb09c70b7c8a6032ad2cee7796b27523f80d5949e60 76b786a71745f5a503be41dd10d0c2b454c278c16216c80778eae3a6159bfb0511d2c7005896f0ab85136df5d8149417 +CLIENT_TRAFFIC_SECRET_0 a2dabe2a34316dc871a7dfb09c70b7c8a6032ad2cee7796b27523f80d5949e60 90d9d27c595cc30c6e796398de6d2243ed4d9eccf7e50a512fcf2e14aa26d3bba24491813870f0dcbadff4865c68d055 +SERVER_TRAFFIC_SECRET_0 a2dabe2a34316dc871a7dfb09c70b7c8a6032ad2cee7796b27523f80d5949e60 59e4c61fb7706983d74dd751c54cff6429aad920bdf73ddf96c37b34eb0f6e2cef02d303cd9ed2a6243c1d4bcd44c585 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a2dabe2a34316dc871a7dfb09c70b7c8a6032ad2cee7796b27523f80d5949e60 88d84653ef2c664cbd9284df85e573c78210e70b4bf5a3a666f6da39ff95d5d72ced816f4673e9c169890ec6b61d1529 +SERVER_HANDSHAKE_TRAFFIC_SECRET a2dabe2a34316dc871a7dfb09c70b7c8a6032ad2cee7796b27523f80d5949e60 76b786a71745f5a503be41dd10d0c2b454c278c16216c80778eae3a6159bfb0511d2c7005896f0ab85136df5d8149417 +CLIENT_TRAFFIC_SECRET_0 a2dabe2a34316dc871a7dfb09c70b7c8a6032ad2cee7796b27523f80d5949e60 90d9d27c595cc30c6e796398de6d2243ed4d9eccf7e50a512fcf2e14aa26d3bba24491813870f0dcbadff4865c68d055 +SERVER_TRAFFIC_SECRET_0 a2dabe2a34316dc871a7dfb09c70b7c8a6032ad2cee7796b27523f80d5949e60 59e4c61fb7706983d74dd751c54cff6429aad920bdf73ddf96c37b34eb0f6e2cef02d303cd9ed2a6243c1d4bcd44c585 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2f4d599da0094592f37710e8e9ec4496a9d877baa5b5760151d69c1e9e124f3a dadd1cdc4625fda53d1cee35bc13bd36acf26848a68251dba9f73dd381d2500fc192e4d31551af83a61b045cad6a2d10 +SERVER_HANDSHAKE_TRAFFIC_SECRET 2f4d599da0094592f37710e8e9ec4496a9d877baa5b5760151d69c1e9e124f3a 6f9fdf6271f7655e902de6208225ff73b9b81ef9b09b44bbddfb77d5987946e4a4dc32353cb76a2ca13a1ef3d5b91bd1 +CLIENT_TRAFFIC_SECRET_0 2f4d599da0094592f37710e8e9ec4496a9d877baa5b5760151d69c1e9e124f3a 91ad38930a9b0e61b6007cd7f5e9f3719ef34486156f6bde48d419fb07356efb9c985079425e1fa7ed02853495a46510 +SERVER_TRAFFIC_SECRET_0 2f4d599da0094592f37710e8e9ec4496a9d877baa5b5760151d69c1e9e124f3a 3c49da581a94ba52fcdfe0b33275fa9b5f6ad6cc78c629ee9efe94265a1774965326d61097ebf5f98dc06dff0ce87487 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2f4d599da0094592f37710e8e9ec4496a9d877baa5b5760151d69c1e9e124f3a dadd1cdc4625fda53d1cee35bc13bd36acf26848a68251dba9f73dd381d2500fc192e4d31551af83a61b045cad6a2d10 +SERVER_HANDSHAKE_TRAFFIC_SECRET 2f4d599da0094592f37710e8e9ec4496a9d877baa5b5760151d69c1e9e124f3a 6f9fdf6271f7655e902de6208225ff73b9b81ef9b09b44bbddfb77d5987946e4a4dc32353cb76a2ca13a1ef3d5b91bd1 +CLIENT_TRAFFIC_SECRET_0 2f4d599da0094592f37710e8e9ec4496a9d877baa5b5760151d69c1e9e124f3a 91ad38930a9b0e61b6007cd7f5e9f3719ef34486156f6bde48d419fb07356efb9c985079425e1fa7ed02853495a46510 +SERVER_TRAFFIC_SECRET_0 2f4d599da0094592f37710e8e9ec4496a9d877baa5b5760151d69c1e9e124f3a 3c49da581a94ba52fcdfe0b33275fa9b5f6ad6cc78c629ee9efe94265a1774965326d61097ebf5f98dc06dff0ce87487 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c6cf4f50aaa92b670e9eefb782ce386308cbd86e3bb35d2bff46c1faff562ff4 c20f365e2266c9f15bb2dbdb9f752096e85994c7bc0a76a38d061e28efe87177e21976e3933921326709591a8dfbae6f +SERVER_HANDSHAKE_TRAFFIC_SECRET c6cf4f50aaa92b670e9eefb782ce386308cbd86e3bb35d2bff46c1faff562ff4 e0dd3d5a4d0fa8c5246fa49a5e6c34983e96f42f7677c45799302227a7a906aec60fd12ccfa3a5f35afdbe7bf48098f9 +CLIENT_TRAFFIC_SECRET_0 c6cf4f50aaa92b670e9eefb782ce386308cbd86e3bb35d2bff46c1faff562ff4 ec94119411ebb37e314b3ac4ce77980c593e7acbc184d6dbf6f390e1c4ba8cdbcf51283d7909246d92686f3466d7ef66 +SERVER_TRAFFIC_SECRET_0 c6cf4f50aaa92b670e9eefb782ce386308cbd86e3bb35d2bff46c1faff562ff4 36208acd5be6df2c07f9f633e4a7b58cb276a435b28daaab6488bbec8cb38a9dd1567ad45e30263dab768d7b522565ec +CLIENT_HANDSHAKE_TRAFFIC_SECRET c6cf4f50aaa92b670e9eefb782ce386308cbd86e3bb35d2bff46c1faff562ff4 c20f365e2266c9f15bb2dbdb9f752096e85994c7bc0a76a38d061e28efe87177e21976e3933921326709591a8dfbae6f +SERVER_HANDSHAKE_TRAFFIC_SECRET c6cf4f50aaa92b670e9eefb782ce386308cbd86e3bb35d2bff46c1faff562ff4 e0dd3d5a4d0fa8c5246fa49a5e6c34983e96f42f7677c45799302227a7a906aec60fd12ccfa3a5f35afdbe7bf48098f9 +CLIENT_TRAFFIC_SECRET_0 c6cf4f50aaa92b670e9eefb782ce386308cbd86e3bb35d2bff46c1faff562ff4 ec94119411ebb37e314b3ac4ce77980c593e7acbc184d6dbf6f390e1c4ba8cdbcf51283d7909246d92686f3466d7ef66 +SERVER_TRAFFIC_SECRET_0 c6cf4f50aaa92b670e9eefb782ce386308cbd86e3bb35d2bff46c1faff562ff4 36208acd5be6df2c07f9f633e4a7b58cb276a435b28daaab6488bbec8cb38a9dd1567ad45e30263dab768d7b522565ec +CLIENT_HANDSHAKE_TRAFFIC_SECRET 69ee3cb7e0e85f12ffb227a85b82fdab19bc0b8f2a23a0b4d965bbaf24740f80 25e0614b2b9e25a4cea6434d49e8a1eeb9a3216fc8b7f19ecca5386d63a065d70f7a1709a0f8dc641e4094efae11679d +SERVER_HANDSHAKE_TRAFFIC_SECRET 69ee3cb7e0e85f12ffb227a85b82fdab19bc0b8f2a23a0b4d965bbaf24740f80 8c0a607157ac10ffc0bb2b9f146d075f02cad1b01d6212a33c13a20365f6a14c12dd241708cef115ad4ee53590a484fe +CLIENT_TRAFFIC_SECRET_0 69ee3cb7e0e85f12ffb227a85b82fdab19bc0b8f2a23a0b4d965bbaf24740f80 e222b38d3b266fc836ed188382f96be5cf2fb6a5f57d3d7877af5fdac64f8d6ed2c8c132eada7b92c3cc4c78c99a192f +SERVER_TRAFFIC_SECRET_0 69ee3cb7e0e85f12ffb227a85b82fdab19bc0b8f2a23a0b4d965bbaf24740f80 3820bc2d022b7edc078a2e7e1511e735dd762630bf471ea0fafbfeebc8a223e1659796c6afed4cf23437a830f2203802 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 69ee3cb7e0e85f12ffb227a85b82fdab19bc0b8f2a23a0b4d965bbaf24740f80 25e0614b2b9e25a4cea6434d49e8a1eeb9a3216fc8b7f19ecca5386d63a065d70f7a1709a0f8dc641e4094efae11679d +SERVER_HANDSHAKE_TRAFFIC_SECRET 69ee3cb7e0e85f12ffb227a85b82fdab19bc0b8f2a23a0b4d965bbaf24740f80 8c0a607157ac10ffc0bb2b9f146d075f02cad1b01d6212a33c13a20365f6a14c12dd241708cef115ad4ee53590a484fe +CLIENT_TRAFFIC_SECRET_0 69ee3cb7e0e85f12ffb227a85b82fdab19bc0b8f2a23a0b4d965bbaf24740f80 e222b38d3b266fc836ed188382f96be5cf2fb6a5f57d3d7877af5fdac64f8d6ed2c8c132eada7b92c3cc4c78c99a192f +SERVER_TRAFFIC_SECRET_0 69ee3cb7e0e85f12ffb227a85b82fdab19bc0b8f2a23a0b4d965bbaf24740f80 3820bc2d022b7edc078a2e7e1511e735dd762630bf471ea0fafbfeebc8a223e1659796c6afed4cf23437a830f2203802 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 72b09324b66dc15e40551aed0c46e8e8dffa7963642d8e33a2b220bcd533f013 8cd9118c6793bc85a83d4d0659d29e81c222c20f482b9842d1b951a16600e40934a0c21c2ae60a1f9fc1ac630f05e699 +SERVER_HANDSHAKE_TRAFFIC_SECRET 72b09324b66dc15e40551aed0c46e8e8dffa7963642d8e33a2b220bcd533f013 e536156c696ab1177a682ee1e18300669e1531bdf209b887947c857c6fc008b060baf55599497a71650abd1e5a388b71 +CLIENT_TRAFFIC_SECRET_0 72b09324b66dc15e40551aed0c46e8e8dffa7963642d8e33a2b220bcd533f013 45895a72bb644df4a8dd3fde352a59232d2318844cd7b11996a86eb9a53a84e0d45d4d591c5b166a24afef0529302aab +SERVER_TRAFFIC_SECRET_0 72b09324b66dc15e40551aed0c46e8e8dffa7963642d8e33a2b220bcd533f013 c8eecaab6156ab0f85e313e6eb7f03ed7d5e82a75117a1b2231a97e309d7dc3513195b01c6215fb08ab2734da96e4030 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 72b09324b66dc15e40551aed0c46e8e8dffa7963642d8e33a2b220bcd533f013 8cd9118c6793bc85a83d4d0659d29e81c222c20f482b9842d1b951a16600e40934a0c21c2ae60a1f9fc1ac630f05e699 +SERVER_HANDSHAKE_TRAFFIC_SECRET 72b09324b66dc15e40551aed0c46e8e8dffa7963642d8e33a2b220bcd533f013 e536156c696ab1177a682ee1e18300669e1531bdf209b887947c857c6fc008b060baf55599497a71650abd1e5a388b71 +CLIENT_TRAFFIC_SECRET_0 72b09324b66dc15e40551aed0c46e8e8dffa7963642d8e33a2b220bcd533f013 45895a72bb644df4a8dd3fde352a59232d2318844cd7b11996a86eb9a53a84e0d45d4d591c5b166a24afef0529302aab +SERVER_TRAFFIC_SECRET_0 72b09324b66dc15e40551aed0c46e8e8dffa7963642d8e33a2b220bcd533f013 c8eecaab6156ab0f85e313e6eb7f03ed7d5e82a75117a1b2231a97e309d7dc3513195b01c6215fb08ab2734da96e4030 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1e10144cf5d6187d5cfad354c1459b7ce5ac06dbb428ddb3f38c359b1c4c761a d543fa4cb1c5f86848eab9a852b1b6510232e644fc6e67a02a12fd4caefd5103d7bf07e80a6176520d40e5d91ffd4e00 +SERVER_HANDSHAKE_TRAFFIC_SECRET 1e10144cf5d6187d5cfad354c1459b7ce5ac06dbb428ddb3f38c359b1c4c761a c370f056148f4b53997e77510e3653df8eef1212f91c7f853b1a288a35b4f46d789dd65c68cf27a2d64f21af2c870b5c +CLIENT_TRAFFIC_SECRET_0 1e10144cf5d6187d5cfad354c1459b7ce5ac06dbb428ddb3f38c359b1c4c761a f1bf3b9034e9b6cee7717a2d1594d726789197353bca9ec707934144b67ac29667ccb437be78379745024c0e7aa4953e +SERVER_TRAFFIC_SECRET_0 1e10144cf5d6187d5cfad354c1459b7ce5ac06dbb428ddb3f38c359b1c4c761a 27d6546a3456ce458aa6ceb787ecc181c35b9f2769f31b70c94693f6d1265743ead6fec4f1ba93867cf763ce8042ac96 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1e10144cf5d6187d5cfad354c1459b7ce5ac06dbb428ddb3f38c359b1c4c761a d543fa4cb1c5f86848eab9a852b1b6510232e644fc6e67a02a12fd4caefd5103d7bf07e80a6176520d40e5d91ffd4e00 +SERVER_HANDSHAKE_TRAFFIC_SECRET 1e10144cf5d6187d5cfad354c1459b7ce5ac06dbb428ddb3f38c359b1c4c761a c370f056148f4b53997e77510e3653df8eef1212f91c7f853b1a288a35b4f46d789dd65c68cf27a2d64f21af2c870b5c +CLIENT_TRAFFIC_SECRET_0 1e10144cf5d6187d5cfad354c1459b7ce5ac06dbb428ddb3f38c359b1c4c761a f1bf3b9034e9b6cee7717a2d1594d726789197353bca9ec707934144b67ac29667ccb437be78379745024c0e7aa4953e +SERVER_TRAFFIC_SECRET_0 1e10144cf5d6187d5cfad354c1459b7ce5ac06dbb428ddb3f38c359b1c4c761a 27d6546a3456ce458aa6ceb787ecc181c35b9f2769f31b70c94693f6d1265743ead6fec4f1ba93867cf763ce8042ac96 +CLIENT_HANDSHAKE_TRAFFIC_SECRET b93fbbfccd19ff0c5f4d92741653bddf4f1bf8e69e3049bd8e03c46daf517666 82e81ab1112bd19a8242b44cb2c7bf1ec3c1a32eb67beb5c196345e5e0e8005e8f3f74f5f01e51460b23290a240b8ce3 +SERVER_HANDSHAKE_TRAFFIC_SECRET b93fbbfccd19ff0c5f4d92741653bddf4f1bf8e69e3049bd8e03c46daf517666 7b25f6aa97be69112429f48e076e5c535c45ecb618ff35be57d6efa51dfcde0c5d38f1e2abe3ef6b817f4d2137867918 +CLIENT_TRAFFIC_SECRET_0 b93fbbfccd19ff0c5f4d92741653bddf4f1bf8e69e3049bd8e03c46daf517666 0b15079ec139a37bda3c957809939480097b2f249500516adb74a155c723471470fcb8b206a7b13dcfdbc8ec3654f971 +SERVER_TRAFFIC_SECRET_0 b93fbbfccd19ff0c5f4d92741653bddf4f1bf8e69e3049bd8e03c46daf517666 e4c14b2bac36530230a42e606732503902ef096fdb6de4b5ce4232cf8e10803bb7d5ab7dc16e1c5f5ba6f517ade6f7b5 +CLIENT_HANDSHAKE_TRAFFIC_SECRET b93fbbfccd19ff0c5f4d92741653bddf4f1bf8e69e3049bd8e03c46daf517666 82e81ab1112bd19a8242b44cb2c7bf1ec3c1a32eb67beb5c196345e5e0e8005e8f3f74f5f01e51460b23290a240b8ce3 +SERVER_HANDSHAKE_TRAFFIC_SECRET b93fbbfccd19ff0c5f4d92741653bddf4f1bf8e69e3049bd8e03c46daf517666 7b25f6aa97be69112429f48e076e5c535c45ecb618ff35be57d6efa51dfcde0c5d38f1e2abe3ef6b817f4d2137867918 +CLIENT_TRAFFIC_SECRET_0 b93fbbfccd19ff0c5f4d92741653bddf4f1bf8e69e3049bd8e03c46daf517666 0b15079ec139a37bda3c957809939480097b2f249500516adb74a155c723471470fcb8b206a7b13dcfdbc8ec3654f971 +SERVER_TRAFFIC_SECRET_0 b93fbbfccd19ff0c5f4d92741653bddf4f1bf8e69e3049bd8e03c46daf517666 e4c14b2bac36530230a42e606732503902ef096fdb6de4b5ce4232cf8e10803bb7d5ab7dc16e1c5f5ba6f517ade6f7b5 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4472fc5624a03809709b68e8af75affc4ad3abfdf78e18d397acd1ccfa11f12d e7314e97e1b0bb1a3b9d95d5075af3c3749cc389da6d0280ee3eb713e2a7cf18921b5f8d6e5d9e0cfc3e1fcde2fd23c6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4472fc5624a03809709b68e8af75affc4ad3abfdf78e18d397acd1ccfa11f12d fb4b88ec5bc8c5b8d459aee40fa0329310cbac683193d5a57a2601e12a102924f08cc8ec53586b36b1662d142ddce850 +CLIENT_TRAFFIC_SECRET_0 4472fc5624a03809709b68e8af75affc4ad3abfdf78e18d397acd1ccfa11f12d 13579d86670f55bf241ece74a51cb0b412b8e58ca75c05ca632ee40d92e5c38e6a8669cbdee30262bbbc0b4aca95a85f +SERVER_TRAFFIC_SECRET_0 4472fc5624a03809709b68e8af75affc4ad3abfdf78e18d397acd1ccfa11f12d fb2dc751812bd875be94e034a8476cb037ac409b3412a8faf32bf40d2ff9abf1bc0869c142aabe0e1e575836d6a2e4d3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4472fc5624a03809709b68e8af75affc4ad3abfdf78e18d397acd1ccfa11f12d e7314e97e1b0bb1a3b9d95d5075af3c3749cc389da6d0280ee3eb713e2a7cf18921b5f8d6e5d9e0cfc3e1fcde2fd23c6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4472fc5624a03809709b68e8af75affc4ad3abfdf78e18d397acd1ccfa11f12d fb4b88ec5bc8c5b8d459aee40fa0329310cbac683193d5a57a2601e12a102924f08cc8ec53586b36b1662d142ddce850 +CLIENT_TRAFFIC_SECRET_0 4472fc5624a03809709b68e8af75affc4ad3abfdf78e18d397acd1ccfa11f12d 13579d86670f55bf241ece74a51cb0b412b8e58ca75c05ca632ee40d92e5c38e6a8669cbdee30262bbbc0b4aca95a85f +SERVER_TRAFFIC_SECRET_0 4472fc5624a03809709b68e8af75affc4ad3abfdf78e18d397acd1ccfa11f12d fb2dc751812bd875be94e034a8476cb037ac409b3412a8faf32bf40d2ff9abf1bc0869c142aabe0e1e575836d6a2e4d3 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0af46236c0168db5835a13efd4d4c0c02ce4387d8e76e484e2804e5b5161705d 7cdc062a8c07820b0aea656a545390417872fd4891a5834237e34d1a2bfc9a1b4c581bc2d0bbe4d72a658ebc74ed1b9e +SERVER_HANDSHAKE_TRAFFIC_SECRET 0af46236c0168db5835a13efd4d4c0c02ce4387d8e76e484e2804e5b5161705d 42233fe3cd1c10f2b5bfbeff274feab4a3482fe2b417254008278e9bc42d75085864afbed0da5221181dbf49f25be533 +CLIENT_TRAFFIC_SECRET_0 0af46236c0168db5835a13efd4d4c0c02ce4387d8e76e484e2804e5b5161705d 8380e07c94918d98f1c0456b47f36fc022881d3260bde3586b84b54ac8862c75d2b33aba04807f44e74f447c3ca6bc87 +SERVER_TRAFFIC_SECRET_0 0af46236c0168db5835a13efd4d4c0c02ce4387d8e76e484e2804e5b5161705d c5e2e09c51992ce8247cb92c791b20faaaefe686cde75c0e700813caaaab0e900113762d6ef78887727267bc5d680382 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0af46236c0168db5835a13efd4d4c0c02ce4387d8e76e484e2804e5b5161705d 7cdc062a8c07820b0aea656a545390417872fd4891a5834237e34d1a2bfc9a1b4c581bc2d0bbe4d72a658ebc74ed1b9e +SERVER_HANDSHAKE_TRAFFIC_SECRET 0af46236c0168db5835a13efd4d4c0c02ce4387d8e76e484e2804e5b5161705d 42233fe3cd1c10f2b5bfbeff274feab4a3482fe2b417254008278e9bc42d75085864afbed0da5221181dbf49f25be533 +CLIENT_TRAFFIC_SECRET_0 0af46236c0168db5835a13efd4d4c0c02ce4387d8e76e484e2804e5b5161705d 8380e07c94918d98f1c0456b47f36fc022881d3260bde3586b84b54ac8862c75d2b33aba04807f44e74f447c3ca6bc87 +SERVER_TRAFFIC_SECRET_0 0af46236c0168db5835a13efd4d4c0c02ce4387d8e76e484e2804e5b5161705d c5e2e09c51992ce8247cb92c791b20faaaefe686cde75c0e700813caaaab0e900113762d6ef78887727267bc5d680382 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5c537de9e6d31aae5f4b00278b4ab3f34e129f2f1f977874fdec897fb8493670 034dad16779e075ef14b1a61eb07b604210ef8b997b4b50c53ec4f846c5660bd891d1ddc9e9f8c65bdd6ff28373d6d54 +SERVER_HANDSHAKE_TRAFFIC_SECRET 5c537de9e6d31aae5f4b00278b4ab3f34e129f2f1f977874fdec897fb8493670 3da47d5df279e4f1bf8f6eb402b9f8d66357ebeb5979d0c80190fa077a353adbb2680cc55914e8ebe752731c506e416a +CLIENT_TRAFFIC_SECRET_0 5c537de9e6d31aae5f4b00278b4ab3f34e129f2f1f977874fdec897fb8493670 7ae26222369be951cd59d96b9521f0eb6a2697424854c29d7e80675d1fbacf9ef16eb7135cb164d0fcb0df08eb98f1b8 +SERVER_TRAFFIC_SECRET_0 5c537de9e6d31aae5f4b00278b4ab3f34e129f2f1f977874fdec897fb8493670 272cefac7f635f0dfc9ec65365311507da2bd753626a7ded2ce8d9599ef71e1b9b82afd41356382ea3d7f7605f40c095 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 5c537de9e6d31aae5f4b00278b4ab3f34e129f2f1f977874fdec897fb8493670 034dad16779e075ef14b1a61eb07b604210ef8b997b4b50c53ec4f846c5660bd891d1ddc9e9f8c65bdd6ff28373d6d54 +SERVER_HANDSHAKE_TRAFFIC_SECRET 5c537de9e6d31aae5f4b00278b4ab3f34e129f2f1f977874fdec897fb8493670 3da47d5df279e4f1bf8f6eb402b9f8d66357ebeb5979d0c80190fa077a353adbb2680cc55914e8ebe752731c506e416a +CLIENT_TRAFFIC_SECRET_0 5c537de9e6d31aae5f4b00278b4ab3f34e129f2f1f977874fdec897fb8493670 7ae26222369be951cd59d96b9521f0eb6a2697424854c29d7e80675d1fbacf9ef16eb7135cb164d0fcb0df08eb98f1b8 +SERVER_TRAFFIC_SECRET_0 5c537de9e6d31aae5f4b00278b4ab3f34e129f2f1f977874fdec897fb8493670 272cefac7f635f0dfc9ec65365311507da2bd753626a7ded2ce8d9599ef71e1b9b82afd41356382ea3d7f7605f40c095 +CLIENT_HANDSHAKE_TRAFFIC_SECRET fb420df0c80c8cefb91a531f05dc633c28e438bb3aecdbd02fc16b6ca36ee8af 35e45573ac4ad5e98738fe01f03441df48132d4271578bfae90cdcf619327ba1711551f1b8f9d65df207904786a2bd09 +SERVER_HANDSHAKE_TRAFFIC_SECRET fb420df0c80c8cefb91a531f05dc633c28e438bb3aecdbd02fc16b6ca36ee8af 9d6afd8b56aa239d0784d831342b5aa71758cd6a9a4a4a56f6c3dc8e04aa53dd4dcccc2d54da6dbc372f37d6a42618f2 +CLIENT_TRAFFIC_SECRET_0 fb420df0c80c8cefb91a531f05dc633c28e438bb3aecdbd02fc16b6ca36ee8af e8c002c2df24a9d2fd4dc2b2fe608b4a51d4eb534540957ef78333b8f21ca0d5a52f59109eeeb45d80c23c3c51433834 +SERVER_TRAFFIC_SECRET_0 fb420df0c80c8cefb91a531f05dc633c28e438bb3aecdbd02fc16b6ca36ee8af 9f5626c5008ec1fd2e78176be815a860088d8db1987e2670d89745c0cbbfd87f44e54d3855af231b0beb04892231b629 +CLIENT_HANDSHAKE_TRAFFIC_SECRET fb420df0c80c8cefb91a531f05dc633c28e438bb3aecdbd02fc16b6ca36ee8af 35e45573ac4ad5e98738fe01f03441df48132d4271578bfae90cdcf619327ba1711551f1b8f9d65df207904786a2bd09 +SERVER_HANDSHAKE_TRAFFIC_SECRET fb420df0c80c8cefb91a531f05dc633c28e438bb3aecdbd02fc16b6ca36ee8af 9d6afd8b56aa239d0784d831342b5aa71758cd6a9a4a4a56f6c3dc8e04aa53dd4dcccc2d54da6dbc372f37d6a42618f2 +CLIENT_TRAFFIC_SECRET_0 fb420df0c80c8cefb91a531f05dc633c28e438bb3aecdbd02fc16b6ca36ee8af e8c002c2df24a9d2fd4dc2b2fe608b4a51d4eb534540957ef78333b8f21ca0d5a52f59109eeeb45d80c23c3c51433834 +SERVER_TRAFFIC_SECRET_0 fb420df0c80c8cefb91a531f05dc633c28e438bb3aecdbd02fc16b6ca36ee8af 9f5626c5008ec1fd2e78176be815a860088d8db1987e2670d89745c0cbbfd87f44e54d3855af231b0beb04892231b629 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9fdcff17c224c42d3e5846a46e7e1303b2affee42ebf556fff3887a3ac90c432 7d8a741b2ff17f04cee486260983afdd5fa96b72c147761fee973e284b6bdd60c41e32f9ea60b1c5ac2b9ae418b91266 +SERVER_HANDSHAKE_TRAFFIC_SECRET 9fdcff17c224c42d3e5846a46e7e1303b2affee42ebf556fff3887a3ac90c432 8305a7213b69cb3c388dc12e4fc6c60f59dd8eb9582d0058b19331e4f4a5c6bb8e76ddd2f7c8f3fb1eba3ab55d02fe57 +CLIENT_TRAFFIC_SECRET_0 9fdcff17c224c42d3e5846a46e7e1303b2affee42ebf556fff3887a3ac90c432 a07a0903473588fb36399ad6e00bd10f279f1208702c81461fab966af882662cfed624f0bfdb0bbdc85b13e47c109c0a +SERVER_TRAFFIC_SECRET_0 9fdcff17c224c42d3e5846a46e7e1303b2affee42ebf556fff3887a3ac90c432 2f6cf1ea111832715d5849b35adf0dfa1dde5421f653b03d386d1d4cba244af5841f26454bbc802e0542b99d66b97a35 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9fdcff17c224c42d3e5846a46e7e1303b2affee42ebf556fff3887a3ac90c432 7d8a741b2ff17f04cee486260983afdd5fa96b72c147761fee973e284b6bdd60c41e32f9ea60b1c5ac2b9ae418b91266 +SERVER_HANDSHAKE_TRAFFIC_SECRET 9fdcff17c224c42d3e5846a46e7e1303b2affee42ebf556fff3887a3ac90c432 8305a7213b69cb3c388dc12e4fc6c60f59dd8eb9582d0058b19331e4f4a5c6bb8e76ddd2f7c8f3fb1eba3ab55d02fe57 +CLIENT_TRAFFIC_SECRET_0 9fdcff17c224c42d3e5846a46e7e1303b2affee42ebf556fff3887a3ac90c432 a07a0903473588fb36399ad6e00bd10f279f1208702c81461fab966af882662cfed624f0bfdb0bbdc85b13e47c109c0a +SERVER_TRAFFIC_SECRET_0 9fdcff17c224c42d3e5846a46e7e1303b2affee42ebf556fff3887a3ac90c432 2f6cf1ea111832715d5849b35adf0dfa1dde5421f653b03d386d1d4cba244af5841f26454bbc802e0542b99d66b97a35 +CLIENT_HANDSHAKE_TRAFFIC_SECRET eacb654b0f7a889c034be4d1b5e21e1d69e6fd57ce2776837f215d5749108e78 d014a790c9a0999c8527987fa4d5d4cb1a2b74f5f19c8fe91d64470974fe52bbfb0410b8fa911753513764834e41d02c +SERVER_HANDSHAKE_TRAFFIC_SECRET eacb654b0f7a889c034be4d1b5e21e1d69e6fd57ce2776837f215d5749108e78 e318f5924eae4e042778ee40f955441edffc9c6ca0a5cb7ab258b9cb97a299e524ae295b3f9c6264b43802fefbd911ae +CLIENT_TRAFFIC_SECRET_0 eacb654b0f7a889c034be4d1b5e21e1d69e6fd57ce2776837f215d5749108e78 abeb7b2f894759bdb99828c2f0a065664f5f243cb51d8f914af59315ae1e1ab94779f3a28af0ed05767c67b0276b71b6 +SERVER_TRAFFIC_SECRET_0 eacb654b0f7a889c034be4d1b5e21e1d69e6fd57ce2776837f215d5749108e78 f43309483661e293851bc21ed2ad7c857f36bbd42f2d58e4969be668e8d8a7d21931a640365849622344f80658c8965d +CLIENT_HANDSHAKE_TRAFFIC_SECRET eacb654b0f7a889c034be4d1b5e21e1d69e6fd57ce2776837f215d5749108e78 d014a790c9a0999c8527987fa4d5d4cb1a2b74f5f19c8fe91d64470974fe52bbfb0410b8fa911753513764834e41d02c +SERVER_HANDSHAKE_TRAFFIC_SECRET eacb654b0f7a889c034be4d1b5e21e1d69e6fd57ce2776837f215d5749108e78 e318f5924eae4e042778ee40f955441edffc9c6ca0a5cb7ab258b9cb97a299e524ae295b3f9c6264b43802fefbd911ae +CLIENT_TRAFFIC_SECRET_0 eacb654b0f7a889c034be4d1b5e21e1d69e6fd57ce2776837f215d5749108e78 abeb7b2f894759bdb99828c2f0a065664f5f243cb51d8f914af59315ae1e1ab94779f3a28af0ed05767c67b0276b71b6 +SERVER_TRAFFIC_SECRET_0 eacb654b0f7a889c034be4d1b5e21e1d69e6fd57ce2776837f215d5749108e78 f43309483661e293851bc21ed2ad7c857f36bbd42f2d58e4969be668e8d8a7d21931a640365849622344f80658c8965d +CLIENT_HANDSHAKE_TRAFFIC_SECRET ba9c17255d495b272259f9c9f23447c356d1529d044ca46aaa88eaf44fccb5d7 c586d5f146014f4fd1e1b75c7825c3d761d8505435817e7995b6d35da918ddc3fbf0f0670c0a17059ed24ddf1c0203af +SERVER_HANDSHAKE_TRAFFIC_SECRET ba9c17255d495b272259f9c9f23447c356d1529d044ca46aaa88eaf44fccb5d7 ca0052831b39d5d99144283e688d4e11b02b38a89c6c543ac820bf3bacc7d10aa5c5d34617637873aad0524794878a25 +CLIENT_TRAFFIC_SECRET_0 ba9c17255d495b272259f9c9f23447c356d1529d044ca46aaa88eaf44fccb5d7 27c46d3b9bceb5bde268d2d2c0373f592b1669ed5f1e34dfe4ba7cff38a3713c43d0acb4752349bb868d8fb8ac4a3ecd +SERVER_TRAFFIC_SECRET_0 ba9c17255d495b272259f9c9f23447c356d1529d044ca46aaa88eaf44fccb5d7 f3dff9792a0f685b90fb59dce3addb6cab475fe4c7f796fd8f16fee49e9ca71310ab1b35688cbdfdc00fb3d1c0012ef0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ba9c17255d495b272259f9c9f23447c356d1529d044ca46aaa88eaf44fccb5d7 c586d5f146014f4fd1e1b75c7825c3d761d8505435817e7995b6d35da918ddc3fbf0f0670c0a17059ed24ddf1c0203af +SERVER_HANDSHAKE_TRAFFIC_SECRET ba9c17255d495b272259f9c9f23447c356d1529d044ca46aaa88eaf44fccb5d7 ca0052831b39d5d99144283e688d4e11b02b38a89c6c543ac820bf3bacc7d10aa5c5d34617637873aad0524794878a25 +CLIENT_TRAFFIC_SECRET_0 ba9c17255d495b272259f9c9f23447c356d1529d044ca46aaa88eaf44fccb5d7 27c46d3b9bceb5bde268d2d2c0373f592b1669ed5f1e34dfe4ba7cff38a3713c43d0acb4752349bb868d8fb8ac4a3ecd +SERVER_TRAFFIC_SECRET_0 ba9c17255d495b272259f9c9f23447c356d1529d044ca46aaa88eaf44fccb5d7 f3dff9792a0f685b90fb59dce3addb6cab475fe4c7f796fd8f16fee49e9ca71310ab1b35688cbdfdc00fb3d1c0012ef0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6bf1a98e5f16f1a0ebe0d531cd44c8fd2e78e999286e35ca6ed3e3cdf39a5315 fd60a24d828e4d4fd405cb0e20465bcc8ebac8aa454571fcdb3587770d2415259afe4352191121e6a408d84ec191846f +SERVER_HANDSHAKE_TRAFFIC_SECRET 6bf1a98e5f16f1a0ebe0d531cd44c8fd2e78e999286e35ca6ed3e3cdf39a5315 2fd4ad8dd5cf146379a43ed6863324a93e27e4fa82bcf0c7b122f6e83aef7cc9ef79324afc0cdc2f3dac3bd167ec9d2a +CLIENT_TRAFFIC_SECRET_0 6bf1a98e5f16f1a0ebe0d531cd44c8fd2e78e999286e35ca6ed3e3cdf39a5315 bde015db8ec7bfabd115336ccae66f34083aba7c47be4925da28ee42a13b348e98a1a82e01f40609f9785214c73746f9 +SERVER_TRAFFIC_SECRET_0 6bf1a98e5f16f1a0ebe0d531cd44c8fd2e78e999286e35ca6ed3e3cdf39a5315 5bd412f1a4485f0890a50bee1e1940b15f0ce7218617c8f2eacbf31d53ae066eb69b0b675deafabdf7c07ef76051a4de +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6bf1a98e5f16f1a0ebe0d531cd44c8fd2e78e999286e35ca6ed3e3cdf39a5315 fd60a24d828e4d4fd405cb0e20465bcc8ebac8aa454571fcdb3587770d2415259afe4352191121e6a408d84ec191846f +SERVER_HANDSHAKE_TRAFFIC_SECRET 6bf1a98e5f16f1a0ebe0d531cd44c8fd2e78e999286e35ca6ed3e3cdf39a5315 2fd4ad8dd5cf146379a43ed6863324a93e27e4fa82bcf0c7b122f6e83aef7cc9ef79324afc0cdc2f3dac3bd167ec9d2a +CLIENT_TRAFFIC_SECRET_0 6bf1a98e5f16f1a0ebe0d531cd44c8fd2e78e999286e35ca6ed3e3cdf39a5315 bde015db8ec7bfabd115336ccae66f34083aba7c47be4925da28ee42a13b348e98a1a82e01f40609f9785214c73746f9 +SERVER_TRAFFIC_SECRET_0 6bf1a98e5f16f1a0ebe0d531cd44c8fd2e78e999286e35ca6ed3e3cdf39a5315 5bd412f1a4485f0890a50bee1e1940b15f0ce7218617c8f2eacbf31d53ae066eb69b0b675deafabdf7c07ef76051a4de +CLIENT_HANDSHAKE_TRAFFIC_SECRET ce14d3a06d89efd0256e7b7edaf59ab548e449e8157367ddc6a68b85c461cf1d d0dfa6b079994caa2fe921bded982ecc2c342311824927e0c85baa959ebe9f0cc3ad8cbe7c30113ffc1aab9dbda18567 +SERVER_HANDSHAKE_TRAFFIC_SECRET ce14d3a06d89efd0256e7b7edaf59ab548e449e8157367ddc6a68b85c461cf1d 2e9d5d253a13b647ad5cd8aff188a099ce397d184c69cf2897aa4c943242fab8ee5138d85060e531b06e13112ea1df0e +CLIENT_TRAFFIC_SECRET_0 ce14d3a06d89efd0256e7b7edaf59ab548e449e8157367ddc6a68b85c461cf1d 5a57fafcbf182bfdd66e1e03261cf73ab2d0bbeecbfef5de607bc1c8bb9ef75330134cc170eb5afd731b5c705106f907 +SERVER_TRAFFIC_SECRET_0 ce14d3a06d89efd0256e7b7edaf59ab548e449e8157367ddc6a68b85c461cf1d 7cb9853f7aaf447ce442b1eb5aeef4c46622f5d7eac94437434779a2099a69bbfb1667bbf61a405d7a5a02b05c0eccad +CLIENT_HANDSHAKE_TRAFFIC_SECRET ce14d3a06d89efd0256e7b7edaf59ab548e449e8157367ddc6a68b85c461cf1d d0dfa6b079994caa2fe921bded982ecc2c342311824927e0c85baa959ebe9f0cc3ad8cbe7c30113ffc1aab9dbda18567 +SERVER_HANDSHAKE_TRAFFIC_SECRET ce14d3a06d89efd0256e7b7edaf59ab548e449e8157367ddc6a68b85c461cf1d 2e9d5d253a13b647ad5cd8aff188a099ce397d184c69cf2897aa4c943242fab8ee5138d85060e531b06e13112ea1df0e +CLIENT_TRAFFIC_SECRET_0 ce14d3a06d89efd0256e7b7edaf59ab548e449e8157367ddc6a68b85c461cf1d 5a57fafcbf182bfdd66e1e03261cf73ab2d0bbeecbfef5de607bc1c8bb9ef75330134cc170eb5afd731b5c705106f907 +SERVER_TRAFFIC_SECRET_0 ce14d3a06d89efd0256e7b7edaf59ab548e449e8157367ddc6a68b85c461cf1d 7cb9853f7aaf447ce442b1eb5aeef4c46622f5d7eac94437434779a2099a69bbfb1667bbf61a405d7a5a02b05c0eccad +CLIENT_HANDSHAKE_TRAFFIC_SECRET 826329188efe9217b770270b343c9fa91e98aff1e3357b94ce1de76e1f0660e1 4920d7114e1b0bc2ae68172e626f724faf9be48ea09ddd0888458476972f08af7b66c5553c94f09f62130875d2553190 +SERVER_HANDSHAKE_TRAFFIC_SECRET 826329188efe9217b770270b343c9fa91e98aff1e3357b94ce1de76e1f0660e1 cd911057eaa6c96235a733f50175805c32b557583a35d336fac69b1e554c0147fd3dc6309c11f8154f9cd641641ce486 +CLIENT_TRAFFIC_SECRET_0 826329188efe9217b770270b343c9fa91e98aff1e3357b94ce1de76e1f0660e1 13c6baa55e4656add7195301135d919e69031b9ca293941530f2a2d5c248c505b106ffe8aa5caf7fe1cf99ac97730c4c +SERVER_TRAFFIC_SECRET_0 826329188efe9217b770270b343c9fa91e98aff1e3357b94ce1de76e1f0660e1 8174cdd2fab0f6fcd79d244b7eb3339b24a6129cda7bb42e17df587d054e069ad45486384f404c81de44219121dfbeda +CLIENT_HANDSHAKE_TRAFFIC_SECRET 826329188efe9217b770270b343c9fa91e98aff1e3357b94ce1de76e1f0660e1 4920d7114e1b0bc2ae68172e626f724faf9be48ea09ddd0888458476972f08af7b66c5553c94f09f62130875d2553190 +SERVER_HANDSHAKE_TRAFFIC_SECRET 826329188efe9217b770270b343c9fa91e98aff1e3357b94ce1de76e1f0660e1 cd911057eaa6c96235a733f50175805c32b557583a35d336fac69b1e554c0147fd3dc6309c11f8154f9cd641641ce486 +CLIENT_TRAFFIC_SECRET_0 826329188efe9217b770270b343c9fa91e98aff1e3357b94ce1de76e1f0660e1 13c6baa55e4656add7195301135d919e69031b9ca293941530f2a2d5c248c505b106ffe8aa5caf7fe1cf99ac97730c4c +SERVER_TRAFFIC_SECRET_0 826329188efe9217b770270b343c9fa91e98aff1e3357b94ce1de76e1f0660e1 8174cdd2fab0f6fcd79d244b7eb3339b24a6129cda7bb42e17df587d054e069ad45486384f404c81de44219121dfbeda +CLIENT_HANDSHAKE_TRAFFIC_SECRET 609571d58738d1f1a1b7a1657f30435b12360d3cd54126698c595e286ddf07b2 97432c7787d5eaa7f0935702358b8d1f2a288a3b413f00e7cbdbd91ce778caeb3c0beaffcafb21d151e218466e2a242a +SERVER_HANDSHAKE_TRAFFIC_SECRET 609571d58738d1f1a1b7a1657f30435b12360d3cd54126698c595e286ddf07b2 31bf153b67bf30a19a98d8d4554ba77c1edbcf19e0b74369ab64047f1dbfa77adad644b6b653d892eede45eba78b7d3b +CLIENT_TRAFFIC_SECRET_0 609571d58738d1f1a1b7a1657f30435b12360d3cd54126698c595e286ddf07b2 6945a0a679be276b60936871e8265ab44805bbeaa21f78cb01f4a8c220861e1c796b32b9c4c07778aa6fb3016db12736 +SERVER_TRAFFIC_SECRET_0 609571d58738d1f1a1b7a1657f30435b12360d3cd54126698c595e286ddf07b2 dd220173dcfea106d7f3c385a63af4cfa23792e04eeebeca69042cd7629519b26568ccb63cb0056ee7d8a2bb02666e15 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 609571d58738d1f1a1b7a1657f30435b12360d3cd54126698c595e286ddf07b2 97432c7787d5eaa7f0935702358b8d1f2a288a3b413f00e7cbdbd91ce778caeb3c0beaffcafb21d151e218466e2a242a +SERVER_HANDSHAKE_TRAFFIC_SECRET 609571d58738d1f1a1b7a1657f30435b12360d3cd54126698c595e286ddf07b2 31bf153b67bf30a19a98d8d4554ba77c1edbcf19e0b74369ab64047f1dbfa77adad644b6b653d892eede45eba78b7d3b +CLIENT_TRAFFIC_SECRET_0 609571d58738d1f1a1b7a1657f30435b12360d3cd54126698c595e286ddf07b2 6945a0a679be276b60936871e8265ab44805bbeaa21f78cb01f4a8c220861e1c796b32b9c4c07778aa6fb3016db12736 +SERVER_TRAFFIC_SECRET_0 609571d58738d1f1a1b7a1657f30435b12360d3cd54126698c595e286ddf07b2 dd220173dcfea106d7f3c385a63af4cfa23792e04eeebeca69042cd7629519b26568ccb63cb0056ee7d8a2bb02666e15 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8964c722f111ae8a6d30cdcfeb04303b1314fbd6dc6af66907b736e829db3929 1d066f281571b787d14637c487b025d0815e7a5b4bb447e913335e97ce2c3bf0550827ee2f8852077e3c83ad5917b89b +SERVER_HANDSHAKE_TRAFFIC_SECRET 8964c722f111ae8a6d30cdcfeb04303b1314fbd6dc6af66907b736e829db3929 b9b60a7c9810958c6dd61659c4990975b6c4d688c3cce74f125f349c155d20077233eaf41ea667dc07a3d5c05902d46d +CLIENT_TRAFFIC_SECRET_0 8964c722f111ae8a6d30cdcfeb04303b1314fbd6dc6af66907b736e829db3929 18ccb5a9a3e6ba7a429a4b77312a49541612306decd92898e60c1bdf474821cc8eb28473c2f0890103ee63351cb509c1 +SERVER_TRAFFIC_SECRET_0 8964c722f111ae8a6d30cdcfeb04303b1314fbd6dc6af66907b736e829db3929 c072ae70491042dbc1f351b187c948e544229a7f1716f7670bc588d2c4ee3cc1ad0469c8a78ab4970c248545eacbb91a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8964c722f111ae8a6d30cdcfeb04303b1314fbd6dc6af66907b736e829db3929 1d066f281571b787d14637c487b025d0815e7a5b4bb447e913335e97ce2c3bf0550827ee2f8852077e3c83ad5917b89b +SERVER_HANDSHAKE_TRAFFIC_SECRET 8964c722f111ae8a6d30cdcfeb04303b1314fbd6dc6af66907b736e829db3929 b9b60a7c9810958c6dd61659c4990975b6c4d688c3cce74f125f349c155d20077233eaf41ea667dc07a3d5c05902d46d +CLIENT_TRAFFIC_SECRET_0 8964c722f111ae8a6d30cdcfeb04303b1314fbd6dc6af66907b736e829db3929 18ccb5a9a3e6ba7a429a4b77312a49541612306decd92898e60c1bdf474821cc8eb28473c2f0890103ee63351cb509c1 +SERVER_TRAFFIC_SECRET_0 8964c722f111ae8a6d30cdcfeb04303b1314fbd6dc6af66907b736e829db3929 c072ae70491042dbc1f351b187c948e544229a7f1716f7670bc588d2c4ee3cc1ad0469c8a78ab4970c248545eacbb91a +CLIENT_HANDSHAKE_TRAFFIC_SECRET f41995841d575355e4a3ab0641725a0c18c21d2f74331f7cc02343c797cdf1cc 5bef46a2e2c89f67d7dd29e0f5275617f17a0179a74a351519a0266067148f3894de5f7daf639dc1cb57e78598b84974 +SERVER_HANDSHAKE_TRAFFIC_SECRET f41995841d575355e4a3ab0641725a0c18c21d2f74331f7cc02343c797cdf1cc 713a2861e69978112e83aca0c92ed8d1478f52fab42b0d32c5fe7fe22bb3be572083676b3f1ab26a1f090e4a6427d40f +CLIENT_TRAFFIC_SECRET_0 f41995841d575355e4a3ab0641725a0c18c21d2f74331f7cc02343c797cdf1cc 9e379bfd0d10ff6fcdfe2c8b491ce936467f92536d26d66e1259db9e382d967ff2fa75cbe5cce831a42cee0be9e52c66 +SERVER_TRAFFIC_SECRET_0 f41995841d575355e4a3ab0641725a0c18c21d2f74331f7cc02343c797cdf1cc 007c471db9caa2108512bd5fce1ea41c77c60915e373d8b9224ffec1d6a3be1f944463071d8bde88e235d97f70fff07f +CLIENT_HANDSHAKE_TRAFFIC_SECRET f41995841d575355e4a3ab0641725a0c18c21d2f74331f7cc02343c797cdf1cc 5bef46a2e2c89f67d7dd29e0f5275617f17a0179a74a351519a0266067148f3894de5f7daf639dc1cb57e78598b84974 +SERVER_HANDSHAKE_TRAFFIC_SECRET f41995841d575355e4a3ab0641725a0c18c21d2f74331f7cc02343c797cdf1cc 713a2861e69978112e83aca0c92ed8d1478f52fab42b0d32c5fe7fe22bb3be572083676b3f1ab26a1f090e4a6427d40f +CLIENT_TRAFFIC_SECRET_0 f41995841d575355e4a3ab0641725a0c18c21d2f74331f7cc02343c797cdf1cc 9e379bfd0d10ff6fcdfe2c8b491ce936467f92536d26d66e1259db9e382d967ff2fa75cbe5cce831a42cee0be9e52c66 +SERVER_TRAFFIC_SECRET_0 f41995841d575355e4a3ab0641725a0c18c21d2f74331f7cc02343c797cdf1cc 007c471db9caa2108512bd5fce1ea41c77c60915e373d8b9224ffec1d6a3be1f944463071d8bde88e235d97f70fff07f +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4ef7224c6c4ef35c805dfe7351c00006ef38a4a630efc7c366e3d63985243328 063d1b24e133317b49b1ff5549cf259b3093cd7520cd89ee37f0f57213124c7dc6ab7319bd8c1f961a42db10a10d80e6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4ef7224c6c4ef35c805dfe7351c00006ef38a4a630efc7c366e3d63985243328 b18516a3ac035d21838d9ffee37474f16e40e95f9088c2a1c04a9c8536e986595441735cebae85dc18e72c3f3e1b4bcc +CLIENT_TRAFFIC_SECRET_0 4ef7224c6c4ef35c805dfe7351c00006ef38a4a630efc7c366e3d63985243328 4fe6bbea6ac0691b17d9108db11fe0953c88717b723038a434ba12a966658323221ec70d6abeffb854f1f58a7b6b81ff +SERVER_TRAFFIC_SECRET_0 4ef7224c6c4ef35c805dfe7351c00006ef38a4a630efc7c366e3d63985243328 2bbb1d9f13be367b66677931a885de3b2f4cc4946ab6486bce3373921fa9935c3182413356a45d0b9708e6e19557a066 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4ef7224c6c4ef35c805dfe7351c00006ef38a4a630efc7c366e3d63985243328 063d1b24e133317b49b1ff5549cf259b3093cd7520cd89ee37f0f57213124c7dc6ab7319bd8c1f961a42db10a10d80e6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4ef7224c6c4ef35c805dfe7351c00006ef38a4a630efc7c366e3d63985243328 b18516a3ac035d21838d9ffee37474f16e40e95f9088c2a1c04a9c8536e986595441735cebae85dc18e72c3f3e1b4bcc +CLIENT_TRAFFIC_SECRET_0 4ef7224c6c4ef35c805dfe7351c00006ef38a4a630efc7c366e3d63985243328 4fe6bbea6ac0691b17d9108db11fe0953c88717b723038a434ba12a966658323221ec70d6abeffb854f1f58a7b6b81ff +SERVER_TRAFFIC_SECRET_0 4ef7224c6c4ef35c805dfe7351c00006ef38a4a630efc7c366e3d63985243328 2bbb1d9f13be367b66677931a885de3b2f4cc4946ab6486bce3373921fa9935c3182413356a45d0b9708e6e19557a066 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1c9202ed98fae4e235d13008e596bdd7f11f116db7db5def46c5e2f7fd52f242 a07f60f75b9e0ceb5e899123d6c3ffe487d536419a07ec77afa7e95c5fd1267825a94f5fdff6745f5a2ca8c1226f9f1a +SERVER_HANDSHAKE_TRAFFIC_SECRET 1c9202ed98fae4e235d13008e596bdd7f11f116db7db5def46c5e2f7fd52f242 aafe82d34ec8d9c3f8de22491e84fc3c6308a85db1466f4e712c92be5c21928a388ee00f171bf71e28746807f64d18f0 +CLIENT_TRAFFIC_SECRET_0 1c9202ed98fae4e235d13008e596bdd7f11f116db7db5def46c5e2f7fd52f242 72e08988e5f9fb1881e3648a63538359f792734e8c3c71ac11c23d32c9ae4295a99e649831ef60ca56bc1c10c2256da4 +SERVER_TRAFFIC_SECRET_0 1c9202ed98fae4e235d13008e596bdd7f11f116db7db5def46c5e2f7fd52f242 c9fe16ddb62f698b92c5aa83aa593f74a15a2dedc5edfa8d3724d59ab6596b3c57b767242d1247ea4cfb29bc55294f4e +CLIENT_HANDSHAKE_TRAFFIC_SECRET 1c9202ed98fae4e235d13008e596bdd7f11f116db7db5def46c5e2f7fd52f242 a07f60f75b9e0ceb5e899123d6c3ffe487d536419a07ec77afa7e95c5fd1267825a94f5fdff6745f5a2ca8c1226f9f1a +SERVER_HANDSHAKE_TRAFFIC_SECRET 1c9202ed98fae4e235d13008e596bdd7f11f116db7db5def46c5e2f7fd52f242 aafe82d34ec8d9c3f8de22491e84fc3c6308a85db1466f4e712c92be5c21928a388ee00f171bf71e28746807f64d18f0 +CLIENT_TRAFFIC_SECRET_0 1c9202ed98fae4e235d13008e596bdd7f11f116db7db5def46c5e2f7fd52f242 72e08988e5f9fb1881e3648a63538359f792734e8c3c71ac11c23d32c9ae4295a99e649831ef60ca56bc1c10c2256da4 +SERVER_TRAFFIC_SECRET_0 1c9202ed98fae4e235d13008e596bdd7f11f116db7db5def46c5e2f7fd52f242 c9fe16ddb62f698b92c5aa83aa593f74a15a2dedc5edfa8d3724d59ab6596b3c57b767242d1247ea4cfb29bc55294f4e +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8690a3562ff27a9005c87c702d01bb2b06210c212461d9a78c4f49d9baedd6d5 54e28b2d7cd70807080f2b4a1f83ea6f5008e8a322e05be69e2bc2048ca4294d4cef511197927ea335407f48034f2f2f +SERVER_HANDSHAKE_TRAFFIC_SECRET 8690a3562ff27a9005c87c702d01bb2b06210c212461d9a78c4f49d9baedd6d5 f69d22d79a32f0b18df2a3f17cfc58d0a6f1f19718932de55297715546ba9495c108966d31a0a8188839a21f0a7bf82c +CLIENT_TRAFFIC_SECRET_0 8690a3562ff27a9005c87c702d01bb2b06210c212461d9a78c4f49d9baedd6d5 9f316daea2ccf302cd5a2caa7df9731b4f945a37487f0003ef47c59c8f9b9d3bd2b05be1a9492902f67b5884a20bc78f +SERVER_TRAFFIC_SECRET_0 8690a3562ff27a9005c87c702d01bb2b06210c212461d9a78c4f49d9baedd6d5 83c65b61c5b5a86325acafc9d48d9724974873f44a214cf2a20a3492ad9957fba0c7d99199b75c0ab93ff4480b8a8484 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 8690a3562ff27a9005c87c702d01bb2b06210c212461d9a78c4f49d9baedd6d5 54e28b2d7cd70807080f2b4a1f83ea6f5008e8a322e05be69e2bc2048ca4294d4cef511197927ea335407f48034f2f2f +SERVER_HANDSHAKE_TRAFFIC_SECRET 8690a3562ff27a9005c87c702d01bb2b06210c212461d9a78c4f49d9baedd6d5 f69d22d79a32f0b18df2a3f17cfc58d0a6f1f19718932de55297715546ba9495c108966d31a0a8188839a21f0a7bf82c +CLIENT_TRAFFIC_SECRET_0 8690a3562ff27a9005c87c702d01bb2b06210c212461d9a78c4f49d9baedd6d5 9f316daea2ccf302cd5a2caa7df9731b4f945a37487f0003ef47c59c8f9b9d3bd2b05be1a9492902f67b5884a20bc78f +SERVER_TRAFFIC_SECRET_0 8690a3562ff27a9005c87c702d01bb2b06210c212461d9a78c4f49d9baedd6d5 83c65b61c5b5a86325acafc9d48d9724974873f44a214cf2a20a3492ad9957fba0c7d99199b75c0ab93ff4480b8a8484 +CLIENT_HANDSHAKE_TRAFFIC_SECRET a60eae941822f775202011b605e8f9e9b4c5bc3496d0c14f58d335c2a91f2cb9 ce64a5dd704b6c662285c4d348d86d21ee2354c811d8c8ec11a4966e731560323f1c7261c2898a9c344458a3f4b52d08 +SERVER_HANDSHAKE_TRAFFIC_SECRET a60eae941822f775202011b605e8f9e9b4c5bc3496d0c14f58d335c2a91f2cb9 9e864a306df147c02d7e1d100e95fb85f9f742ddb27ce539ae48f5878364b63742f9f8c21e9731c13d08f39d0ededfa5 +CLIENT_TRAFFIC_SECRET_0 a60eae941822f775202011b605e8f9e9b4c5bc3496d0c14f58d335c2a91f2cb9 98ab8e5cac2d5f5c549d823e1b1765a05fee0693afb277d18fb59f26ee5ce8e5c4c15e52a2a2f20abb9704f21033518c +SERVER_TRAFFIC_SECRET_0 a60eae941822f775202011b605e8f9e9b4c5bc3496d0c14f58d335c2a91f2cb9 0cc42b53ef1d679f383a47ad70de7056fb5efc6b691b8d7adef504ba2c4ab4ea6e784bea6d51ac94ce832a065052e0af +CLIENT_HANDSHAKE_TRAFFIC_SECRET a60eae941822f775202011b605e8f9e9b4c5bc3496d0c14f58d335c2a91f2cb9 ce64a5dd704b6c662285c4d348d86d21ee2354c811d8c8ec11a4966e731560323f1c7261c2898a9c344458a3f4b52d08 +SERVER_HANDSHAKE_TRAFFIC_SECRET a60eae941822f775202011b605e8f9e9b4c5bc3496d0c14f58d335c2a91f2cb9 9e864a306df147c02d7e1d100e95fb85f9f742ddb27ce539ae48f5878364b63742f9f8c21e9731c13d08f39d0ededfa5 +CLIENT_TRAFFIC_SECRET_0 a60eae941822f775202011b605e8f9e9b4c5bc3496d0c14f58d335c2a91f2cb9 98ab8e5cac2d5f5c549d823e1b1765a05fee0693afb277d18fb59f26ee5ce8e5c4c15e52a2a2f20abb9704f21033518c +SERVER_TRAFFIC_SECRET_0 a60eae941822f775202011b605e8f9e9b4c5bc3496d0c14f58d335c2a91f2cb9 0cc42b53ef1d679f383a47ad70de7056fb5efc6b691b8d7adef504ba2c4ab4ea6e784bea6d51ac94ce832a065052e0af +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2f58409d82a2acf4c5c36eebd5734347e72ea50de15fc4efb34d65bbe61b8e5c e83b8661b9459d46aa7e4cacf83d8c11c18faeba0a4a0eeb321f491a4d7a9b18527a1891423a4267a32ec8ae70f000d2 +SERVER_HANDSHAKE_TRAFFIC_SECRET 2f58409d82a2acf4c5c36eebd5734347e72ea50de15fc4efb34d65bbe61b8e5c 5ea289e941c4f70a82d374888313e8a8e42a190fd6c1832d67b0f9bb336083779617e1559bfe0f6b0545a1665ebaefe5 +CLIENT_TRAFFIC_SECRET_0 2f58409d82a2acf4c5c36eebd5734347e72ea50de15fc4efb34d65bbe61b8e5c 985b4019e71e6c2f7d4c3419ddf42737fb6b9918e38128bba4a59af337b558c03c697bd087fa8bc43ef9098231658000 +SERVER_TRAFFIC_SECRET_0 2f58409d82a2acf4c5c36eebd5734347e72ea50de15fc4efb34d65bbe61b8e5c db410cc9405e5f63309ecf3d0a64bf255ef235c31266e29fecd1ef3b7fcf9f1b2ec738509c64821a9e65c323a61f967c +CLIENT_HANDSHAKE_TRAFFIC_SECRET 2f58409d82a2acf4c5c36eebd5734347e72ea50de15fc4efb34d65bbe61b8e5c e83b8661b9459d46aa7e4cacf83d8c11c18faeba0a4a0eeb321f491a4d7a9b18527a1891423a4267a32ec8ae70f000d2 +SERVER_HANDSHAKE_TRAFFIC_SECRET 2f58409d82a2acf4c5c36eebd5734347e72ea50de15fc4efb34d65bbe61b8e5c 5ea289e941c4f70a82d374888313e8a8e42a190fd6c1832d67b0f9bb336083779617e1559bfe0f6b0545a1665ebaefe5 +CLIENT_TRAFFIC_SECRET_0 2f58409d82a2acf4c5c36eebd5734347e72ea50de15fc4efb34d65bbe61b8e5c 985b4019e71e6c2f7d4c3419ddf42737fb6b9918e38128bba4a59af337b558c03c697bd087fa8bc43ef9098231658000 +SERVER_TRAFFIC_SECRET_0 2f58409d82a2acf4c5c36eebd5734347e72ea50de15fc4efb34d65bbe61b8e5c db410cc9405e5f63309ecf3d0a64bf255ef235c31266e29fecd1ef3b7fcf9f1b2ec738509c64821a9e65c323a61f967c +CLIENT_HANDSHAKE_TRAFFIC_SECRET f198ab40f69900ca9516b6ce109d8df7ae3287c67f96f6a735cf20440fdbc9f0 d3a5f6f40d58b9d74e6e62f7d8484bf134e007864a53a4a236b5d1142d4fce1fb377a1ced9d64e350199bcaf9b03ca81 +SERVER_HANDSHAKE_TRAFFIC_SECRET f198ab40f69900ca9516b6ce109d8df7ae3287c67f96f6a735cf20440fdbc9f0 c6ab1b393cd7b67ca90c59e4dfa7e1b05fc8ac428f2dd570167c7c706635914f74064c19b58a77d05135c16c2d28edda +CLIENT_TRAFFIC_SECRET_0 f198ab40f69900ca9516b6ce109d8df7ae3287c67f96f6a735cf20440fdbc9f0 21590b2bd6e5a75df9c0a6c84a2b259ec13c937378a773e637984d1ba0130cd3bfb25818b2a8fd56be62ab0a73b2d3ef +SERVER_TRAFFIC_SECRET_0 f198ab40f69900ca9516b6ce109d8df7ae3287c67f96f6a735cf20440fdbc9f0 95331e2304c3bfa3c97714f8ed78b8265f2c50b7b0f564f22157ab734c2e9df3d6fcc8e60884d213a78a2d17a8761fba +CLIENT_HANDSHAKE_TRAFFIC_SECRET f198ab40f69900ca9516b6ce109d8df7ae3287c67f96f6a735cf20440fdbc9f0 d3a5f6f40d58b9d74e6e62f7d8484bf134e007864a53a4a236b5d1142d4fce1fb377a1ced9d64e350199bcaf9b03ca81 +SERVER_HANDSHAKE_TRAFFIC_SECRET f198ab40f69900ca9516b6ce109d8df7ae3287c67f96f6a735cf20440fdbc9f0 c6ab1b393cd7b67ca90c59e4dfa7e1b05fc8ac428f2dd570167c7c706635914f74064c19b58a77d05135c16c2d28edda +CLIENT_TRAFFIC_SECRET_0 f198ab40f69900ca9516b6ce109d8df7ae3287c67f96f6a735cf20440fdbc9f0 21590b2bd6e5a75df9c0a6c84a2b259ec13c937378a773e637984d1ba0130cd3bfb25818b2a8fd56be62ab0a73b2d3ef +SERVER_TRAFFIC_SECRET_0 f198ab40f69900ca9516b6ce109d8df7ae3287c67f96f6a735cf20440fdbc9f0 95331e2304c3bfa3c97714f8ed78b8265f2c50b7b0f564f22157ab734c2e9df3d6fcc8e60884d213a78a2d17a8761fba +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9187f43f301e7140fb6df623fc553609669f81ee1ec67f2b28ecbabd5f224377 889c0041a83786ebafeb0302b91e2d56650f8f6b2fc1510d1824d27b159cb6953506c4c12f8b3acfca19730816910c51 +SERVER_HANDSHAKE_TRAFFIC_SECRET 9187f43f301e7140fb6df623fc553609669f81ee1ec67f2b28ecbabd5f224377 a91fd4ddb90eca532a55448c065a78251ba17a73426fafae37fa581e36e7ae8ee3fff2eedfe1c5ff2b816341cec8fef1 +CLIENT_TRAFFIC_SECRET_0 9187f43f301e7140fb6df623fc553609669f81ee1ec67f2b28ecbabd5f224377 d5f4550f597160a633439208327118ec355ead43073ea1e3f8e42185c4f676c6feb65929575b86e77738e905cc28643c +SERVER_TRAFFIC_SECRET_0 9187f43f301e7140fb6df623fc553609669f81ee1ec67f2b28ecbabd5f224377 5f53c702d02810f947eee6a75ffbca789540e224d3f47769e6d6322caf079bd078cc68b7b4623ba9a138eeec9f175f7f +CLIENT_HANDSHAKE_TRAFFIC_SECRET 9187f43f301e7140fb6df623fc553609669f81ee1ec67f2b28ecbabd5f224377 889c0041a83786ebafeb0302b91e2d56650f8f6b2fc1510d1824d27b159cb6953506c4c12f8b3acfca19730816910c51 +SERVER_HANDSHAKE_TRAFFIC_SECRET 9187f43f301e7140fb6df623fc553609669f81ee1ec67f2b28ecbabd5f224377 a91fd4ddb90eca532a55448c065a78251ba17a73426fafae37fa581e36e7ae8ee3fff2eedfe1c5ff2b816341cec8fef1 +CLIENT_TRAFFIC_SECRET_0 9187f43f301e7140fb6df623fc553609669f81ee1ec67f2b28ecbabd5f224377 d5f4550f597160a633439208327118ec355ead43073ea1e3f8e42185c4f676c6feb65929575b86e77738e905cc28643c +SERVER_TRAFFIC_SECRET_0 9187f43f301e7140fb6df623fc553609669f81ee1ec67f2b28ecbabd5f224377 5f53c702d02810f947eee6a75ffbca789540e224d3f47769e6d6322caf079bd078cc68b7b4623ba9a138eeec9f175f7f +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6fd0fb0fd3c403ce8b73ebe8d97032379e5c963c10f0b08ed09fcdab8046e1be c0dbaeb52b9160e6da303976c63ef4abbc6e8e7fb8da2aac123e911d944c385aada887a3ef01cd4363ca62fd2e451119 +SERVER_HANDSHAKE_TRAFFIC_SECRET 6fd0fb0fd3c403ce8b73ebe8d97032379e5c963c10f0b08ed09fcdab8046e1be 9ac7a7911f95c9b92d8f56191849901c47330154695937115651233dff3ba9bb74e84e3129d634f891399fb1214f949c +CLIENT_TRAFFIC_SECRET_0 6fd0fb0fd3c403ce8b73ebe8d97032379e5c963c10f0b08ed09fcdab8046e1be 89968b10a1c43f4865ad834e21ab7321b0d998b3932bff842d0a82b2efa409273fa07be7d8ba7571e51366da6e1650fb +SERVER_TRAFFIC_SECRET_0 6fd0fb0fd3c403ce8b73ebe8d97032379e5c963c10f0b08ed09fcdab8046e1be b9d1957adcfa5934d968b41d987b0e1b80a3d85b38f16cc81c80f89773e6f5553fd1b43784a7330682730187b3dcc4ae +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6fd0fb0fd3c403ce8b73ebe8d97032379e5c963c10f0b08ed09fcdab8046e1be c0dbaeb52b9160e6da303976c63ef4abbc6e8e7fb8da2aac123e911d944c385aada887a3ef01cd4363ca62fd2e451119 +SERVER_HANDSHAKE_TRAFFIC_SECRET 6fd0fb0fd3c403ce8b73ebe8d97032379e5c963c10f0b08ed09fcdab8046e1be 9ac7a7911f95c9b92d8f56191849901c47330154695937115651233dff3ba9bb74e84e3129d634f891399fb1214f949c +CLIENT_TRAFFIC_SECRET_0 6fd0fb0fd3c403ce8b73ebe8d97032379e5c963c10f0b08ed09fcdab8046e1be 89968b10a1c43f4865ad834e21ab7321b0d998b3932bff842d0a82b2efa409273fa07be7d8ba7571e51366da6e1650fb +SERVER_TRAFFIC_SECRET_0 6fd0fb0fd3c403ce8b73ebe8d97032379e5c963c10f0b08ed09fcdab8046e1be b9d1957adcfa5934d968b41d987b0e1b80a3d85b38f16cc81c80f89773e6f5553fd1b43784a7330682730187b3dcc4ae +CLIENT_HANDSHAKE_TRAFFIC_SECRET 722eb850b233c5ed42b2212f0c36665b475a45394021f255b0526ac5da8c55e3 80b611733da93be64005433958ef7be7091d2b11a4bf4f4f332f1ed49c435ac9fd48b18b9cf91bf13aa17eb28ec9f0e6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 722eb850b233c5ed42b2212f0c36665b475a45394021f255b0526ac5da8c55e3 ea357ef50fc87a4f9931eb8609baecda5bd06ebddbbae4a9db299c86d6e770cc5cbba4c4aff5e722523def1ed2ad2b5d +CLIENT_TRAFFIC_SECRET_0 722eb850b233c5ed42b2212f0c36665b475a45394021f255b0526ac5da8c55e3 fe31ce85b57160f00d694db9cabc0870180795630ef1c37dd5c6014d6ecba24721e074650036c04449429b33d152eda3 +SERVER_TRAFFIC_SECRET_0 722eb850b233c5ed42b2212f0c36665b475a45394021f255b0526ac5da8c55e3 bad85eb3faab274c8bdcf57330abbc755ac0ff5c47d4093ae2e328986b08961081cbedcf5ffbda2a81a6100230bbefb0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 722eb850b233c5ed42b2212f0c36665b475a45394021f255b0526ac5da8c55e3 80b611733da93be64005433958ef7be7091d2b11a4bf4f4f332f1ed49c435ac9fd48b18b9cf91bf13aa17eb28ec9f0e6 +SERVER_HANDSHAKE_TRAFFIC_SECRET 722eb850b233c5ed42b2212f0c36665b475a45394021f255b0526ac5da8c55e3 ea357ef50fc87a4f9931eb8609baecda5bd06ebddbbae4a9db299c86d6e770cc5cbba4c4aff5e722523def1ed2ad2b5d +CLIENT_TRAFFIC_SECRET_0 722eb850b233c5ed42b2212f0c36665b475a45394021f255b0526ac5da8c55e3 fe31ce85b57160f00d694db9cabc0870180795630ef1c37dd5c6014d6ecba24721e074650036c04449429b33d152eda3 +SERVER_TRAFFIC_SECRET_0 722eb850b233c5ed42b2212f0c36665b475a45394021f255b0526ac5da8c55e3 bad85eb3faab274c8bdcf57330abbc755ac0ff5c47d4093ae2e328986b08961081cbedcf5ffbda2a81a6100230bbefb0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c6867b0da9123ff359d2c30f7307e1054245540f41a75dec530fd82726b26a9b 6dc6881ab651c791739cf10db86ce62c0246d97b309da8102471c05538778a17bf63c05a629b1b812dc0a612b669bcf3 +SERVER_HANDSHAKE_TRAFFIC_SECRET c6867b0da9123ff359d2c30f7307e1054245540f41a75dec530fd82726b26a9b f30ab1a4df7a0da7849f42cf9817787676b33ed6da9ac588e43312b1cd7b9c6e91914cfde086b19c4009a26e373c1d7f +CLIENT_TRAFFIC_SECRET_0 c6867b0da9123ff359d2c30f7307e1054245540f41a75dec530fd82726b26a9b 692556d35d53852be40c3112f3b4c05b0d5462ba9f9cf742b4622c41b559b2fb091882216b9a72e791d6602dec12c73a +SERVER_TRAFFIC_SECRET_0 c6867b0da9123ff359d2c30f7307e1054245540f41a75dec530fd82726b26a9b 6e59a9906bc508f1f12911651ed1479a088fa3f9fecf26acae06b97f1be1622f30061f962513efaac9ddd7f37c99aecc +CLIENT_HANDSHAKE_TRAFFIC_SECRET c6867b0da9123ff359d2c30f7307e1054245540f41a75dec530fd82726b26a9b 6dc6881ab651c791739cf10db86ce62c0246d97b309da8102471c05538778a17bf63c05a629b1b812dc0a612b669bcf3 +SERVER_HANDSHAKE_TRAFFIC_SECRET c6867b0da9123ff359d2c30f7307e1054245540f41a75dec530fd82726b26a9b f30ab1a4df7a0da7849f42cf9817787676b33ed6da9ac588e43312b1cd7b9c6e91914cfde086b19c4009a26e373c1d7f +CLIENT_TRAFFIC_SECRET_0 c6867b0da9123ff359d2c30f7307e1054245540f41a75dec530fd82726b26a9b 692556d35d53852be40c3112f3b4c05b0d5462ba9f9cf742b4622c41b559b2fb091882216b9a72e791d6602dec12c73a +SERVER_TRAFFIC_SECRET_0 c6867b0da9123ff359d2c30f7307e1054245540f41a75dec530fd82726b26a9b 6e59a9906bc508f1f12911651ed1479a088fa3f9fecf26acae06b97f1be1622f30061f962513efaac9ddd7f37c99aecc +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4213c1b1ff459bc93e1b106bbd5512629f61225438b635828b692689860f1289 49f752e9f555764c1e72ee35dd434b6f6b72c39f893f987945cbd47adb4176983444db1d34b9e2378c0b9f507a14696c +SERVER_HANDSHAKE_TRAFFIC_SECRET 4213c1b1ff459bc93e1b106bbd5512629f61225438b635828b692689860f1289 3308eeb9a1d474241541dadf183a74c6e154d07fc85d0837bf1418e61dc73c8a5c60a5fbbc696618c2898d534ac9d6b0 +CLIENT_TRAFFIC_SECRET_0 4213c1b1ff459bc93e1b106bbd5512629f61225438b635828b692689860f1289 bd3606426107ab7b629be8feb1985f43b6bc630204d7877694181a0e4b195a6729cad0da8f23f9537788d5630cb43982 +SERVER_TRAFFIC_SECRET_0 4213c1b1ff459bc93e1b106bbd5512629f61225438b635828b692689860f1289 aff3098c5c41a5b8634630eac60a66d38ef38652e9ac88ce8e8dcd98fd55e0f57b57595dfeac120081b474522249d60a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4213c1b1ff459bc93e1b106bbd5512629f61225438b635828b692689860f1289 49f752e9f555764c1e72ee35dd434b6f6b72c39f893f987945cbd47adb4176983444db1d34b9e2378c0b9f507a14696c +SERVER_HANDSHAKE_TRAFFIC_SECRET 4213c1b1ff459bc93e1b106bbd5512629f61225438b635828b692689860f1289 3308eeb9a1d474241541dadf183a74c6e154d07fc85d0837bf1418e61dc73c8a5c60a5fbbc696618c2898d534ac9d6b0 +CLIENT_TRAFFIC_SECRET_0 4213c1b1ff459bc93e1b106bbd5512629f61225438b635828b692689860f1289 bd3606426107ab7b629be8feb1985f43b6bc630204d7877694181a0e4b195a6729cad0da8f23f9537788d5630cb43982 +SERVER_TRAFFIC_SECRET_0 4213c1b1ff459bc93e1b106bbd5512629f61225438b635828b692689860f1289 aff3098c5c41a5b8634630eac60a66d38ef38652e9ac88ce8e8dcd98fd55e0f57b57595dfeac120081b474522249d60a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 676f1c12a72e0c91e5a9a8c0ae740124b7e6af4eee0fd3c72c95514801b8e5da 23500796af166cc582469a3a42ef3555bde31abd65fa78f8ee0a41825ca36c7ca928b9b822c17724afd80daf98312d7c +SERVER_HANDSHAKE_TRAFFIC_SECRET 676f1c12a72e0c91e5a9a8c0ae740124b7e6af4eee0fd3c72c95514801b8e5da ce196a5bbabf37a25640773399f2c26d18ba88c2bede4013b37feb3a739b7ed62dac823a74c022cb332ea7151b66aef3 +CLIENT_TRAFFIC_SECRET_0 676f1c12a72e0c91e5a9a8c0ae740124b7e6af4eee0fd3c72c95514801b8e5da 238a4265cc30adc098a358f5d0d5ba958cbb5dfc92353a96146d920f3a726411c8e5a6a3bfbe4ff708c9dedc613428f8 +SERVER_TRAFFIC_SECRET_0 676f1c12a72e0c91e5a9a8c0ae740124b7e6af4eee0fd3c72c95514801b8e5da 2605cba13b8529af917ddaddc4613aa964be01a205ee1c1e0c5650bbaab3d528a88cd2d4663ffbc165c3723f3e0923bf +CLIENT_HANDSHAKE_TRAFFIC_SECRET 676f1c12a72e0c91e5a9a8c0ae740124b7e6af4eee0fd3c72c95514801b8e5da 23500796af166cc582469a3a42ef3555bde31abd65fa78f8ee0a41825ca36c7ca928b9b822c17724afd80daf98312d7c +SERVER_HANDSHAKE_TRAFFIC_SECRET 676f1c12a72e0c91e5a9a8c0ae740124b7e6af4eee0fd3c72c95514801b8e5da ce196a5bbabf37a25640773399f2c26d18ba88c2bede4013b37feb3a739b7ed62dac823a74c022cb332ea7151b66aef3 +CLIENT_TRAFFIC_SECRET_0 676f1c12a72e0c91e5a9a8c0ae740124b7e6af4eee0fd3c72c95514801b8e5da 238a4265cc30adc098a358f5d0d5ba958cbb5dfc92353a96146d920f3a726411c8e5a6a3bfbe4ff708c9dedc613428f8 +SERVER_TRAFFIC_SECRET_0 676f1c12a72e0c91e5a9a8c0ae740124b7e6af4eee0fd3c72c95514801b8e5da 2605cba13b8529af917ddaddc4613aa964be01a205ee1c1e0c5650bbaab3d528a88cd2d4663ffbc165c3723f3e0923bf +CLIENT_HANDSHAKE_TRAFFIC_SECRET cff45d744ba1b3c69c355abb0f59416071bc9967b5d0ec1f0322798eda5b7255 353a9ecb0ff0a93d3b88a04f114ce3fe2c7d083e173603c5f8799309eead640f353a44ebd802aef05d88977403435390 +SERVER_HANDSHAKE_TRAFFIC_SECRET cff45d744ba1b3c69c355abb0f59416071bc9967b5d0ec1f0322798eda5b7255 b1338d90bafc280cde0f7272d6fe022dfbd4f071b76456234a4cef939750b87d4dc8812c5e3e70942477a4050e34ad4e +CLIENT_TRAFFIC_SECRET_0 cff45d744ba1b3c69c355abb0f59416071bc9967b5d0ec1f0322798eda5b7255 418bec3037a95469fc284fbc17050791370f23dcb1cc91746694d9d9fe6875382128108ef36df42829da152dc4b9670b +SERVER_TRAFFIC_SECRET_0 cff45d744ba1b3c69c355abb0f59416071bc9967b5d0ec1f0322798eda5b7255 22921fc5d2fa1604beec6345d1eda6cb7e1521ac81cf24098cf9c5b6ae6a88448f2703cb6ce0d74a9b914171594a0a23 +CLIENT_HANDSHAKE_TRAFFIC_SECRET cff45d744ba1b3c69c355abb0f59416071bc9967b5d0ec1f0322798eda5b7255 353a9ecb0ff0a93d3b88a04f114ce3fe2c7d083e173603c5f8799309eead640f353a44ebd802aef05d88977403435390 +SERVER_HANDSHAKE_TRAFFIC_SECRET cff45d744ba1b3c69c355abb0f59416071bc9967b5d0ec1f0322798eda5b7255 b1338d90bafc280cde0f7272d6fe022dfbd4f071b76456234a4cef939750b87d4dc8812c5e3e70942477a4050e34ad4e +CLIENT_TRAFFIC_SECRET_0 cff45d744ba1b3c69c355abb0f59416071bc9967b5d0ec1f0322798eda5b7255 418bec3037a95469fc284fbc17050791370f23dcb1cc91746694d9d9fe6875382128108ef36df42829da152dc4b9670b +SERVER_TRAFFIC_SECRET_0 cff45d744ba1b3c69c355abb0f59416071bc9967b5d0ec1f0322798eda5b7255 22921fc5d2fa1604beec6345d1eda6cb7e1521ac81cf24098cf9c5b6ae6a88448f2703cb6ce0d74a9b914171594a0a23 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 7b3eb141c792bfa67d0a641074ba4f55b9ccf81bfd629e3c0c728222abd6929b 2d75d3e4eee50fe69ad9c7d758a67f4f77c05cf3dedeb941abb3980b99695edae1a544c9956bb6a2cd6441072b800e22 +SERVER_HANDSHAKE_TRAFFIC_SECRET 7b3eb141c792bfa67d0a641074ba4f55b9ccf81bfd629e3c0c728222abd6929b 9821f7ebe275fc81a8f777477328d9e2e8ef1c1ef8532223226d289349efcf0f84dacc8b8ce086468366623d604de252 +CLIENT_TRAFFIC_SECRET_0 7b3eb141c792bfa67d0a641074ba4f55b9ccf81bfd629e3c0c728222abd6929b 6d93dc574556aba4e6862f54db5315c2f222ba2002a060441eaeb653b09d5150feec07d58e538872696d80ade9778b04 +SERVER_TRAFFIC_SECRET_0 7b3eb141c792bfa67d0a641074ba4f55b9ccf81bfd629e3c0c728222abd6929b eb9e276bd8b42f49309cdeaba60bbce421529c200493adf33c90f00354eb395a2d193a5920dd6900a3fb35b76d6ed977 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 7b3eb141c792bfa67d0a641074ba4f55b9ccf81bfd629e3c0c728222abd6929b 2d75d3e4eee50fe69ad9c7d758a67f4f77c05cf3dedeb941abb3980b99695edae1a544c9956bb6a2cd6441072b800e22 +SERVER_HANDSHAKE_TRAFFIC_SECRET 7b3eb141c792bfa67d0a641074ba4f55b9ccf81bfd629e3c0c728222abd6929b 9821f7ebe275fc81a8f777477328d9e2e8ef1c1ef8532223226d289349efcf0f84dacc8b8ce086468366623d604de252 +CLIENT_TRAFFIC_SECRET_0 7b3eb141c792bfa67d0a641074ba4f55b9ccf81bfd629e3c0c728222abd6929b 6d93dc574556aba4e6862f54db5315c2f222ba2002a060441eaeb653b09d5150feec07d58e538872696d80ade9778b04 +SERVER_TRAFFIC_SECRET_0 7b3eb141c792bfa67d0a641074ba4f55b9ccf81bfd629e3c0c728222abd6929b eb9e276bd8b42f49309cdeaba60bbce421529c200493adf33c90f00354eb395a2d193a5920dd6900a3fb35b76d6ed977 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3d9356a95f70694e5db57fd849e9d00ea5e6d56f1b1bf70fc03b15aacc181ee2 1bed041d26dc6cb8386dda72869e171fbae7850b09d3fd22294d593ff3b6238264756fc4deeec9980b2f0953a7c4c4d1 +SERVER_HANDSHAKE_TRAFFIC_SECRET 3d9356a95f70694e5db57fd849e9d00ea5e6d56f1b1bf70fc03b15aacc181ee2 5564ebb172bcd2def91531d81855eb0d88edaf5bc867a15653fddd25917b63af504580e960c5c02b24361beaa30dd5e9 +CLIENT_TRAFFIC_SECRET_0 3d9356a95f70694e5db57fd849e9d00ea5e6d56f1b1bf70fc03b15aacc181ee2 1935a8652b1f4300f9529123a209a68cd54d42a44937d2669a4e1f79eaedf6a380a611804299b682bef147145568a27c +SERVER_TRAFFIC_SECRET_0 3d9356a95f70694e5db57fd849e9d00ea5e6d56f1b1bf70fc03b15aacc181ee2 7cc75a272f2d1361a57516b8c2f878b40751b703c5680b5c2e245e6a172d56ffa884e81c1a500cde4c6f3b42412fcfb0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 3d9356a95f70694e5db57fd849e9d00ea5e6d56f1b1bf70fc03b15aacc181ee2 1bed041d26dc6cb8386dda72869e171fbae7850b09d3fd22294d593ff3b6238264756fc4deeec9980b2f0953a7c4c4d1 +SERVER_HANDSHAKE_TRAFFIC_SECRET 3d9356a95f70694e5db57fd849e9d00ea5e6d56f1b1bf70fc03b15aacc181ee2 5564ebb172bcd2def91531d81855eb0d88edaf5bc867a15653fddd25917b63af504580e960c5c02b24361beaa30dd5e9 +CLIENT_TRAFFIC_SECRET_0 3d9356a95f70694e5db57fd849e9d00ea5e6d56f1b1bf70fc03b15aacc181ee2 1935a8652b1f4300f9529123a209a68cd54d42a44937d2669a4e1f79eaedf6a380a611804299b682bef147145568a27c +SERVER_TRAFFIC_SECRET_0 3d9356a95f70694e5db57fd849e9d00ea5e6d56f1b1bf70fc03b15aacc181ee2 7cc75a272f2d1361a57516b8c2f878b40751b703c5680b5c2e245e6a172d56ffa884e81c1a500cde4c6f3b42412fcfb0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 98b8b0c56100b2ef3beabb86f0e5d43c8812fa34c32bbc85dacfe1a4e7897588 6da3403003992e40d3e7ddeb0bf0d10fe286423805cef0f88ec821d23795f16f2db8b8d1759d36f82eb9e0c952bf99e5 +SERVER_HANDSHAKE_TRAFFIC_SECRET 98b8b0c56100b2ef3beabb86f0e5d43c8812fa34c32bbc85dacfe1a4e7897588 87212ebede422212882f7e1eb1818d1cf03f476666d1607fcc4a3fbce7c4a77e9936a09d959e50320366726b8588db0d +CLIENT_TRAFFIC_SECRET_0 98b8b0c56100b2ef3beabb86f0e5d43c8812fa34c32bbc85dacfe1a4e7897588 89781cfdbfdff3c21a870d4665037362608673d248cd33b324546b628c083b788ea2e85cc5e715810d2a69e0f26f700e +SERVER_TRAFFIC_SECRET_0 98b8b0c56100b2ef3beabb86f0e5d43c8812fa34c32bbc85dacfe1a4e7897588 d179ed4b438c3d15116f2bf8056562cef7adfb7e79c49f25e690e9629849a72b9edf9d126b14257b720914674ecfc415 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 98b8b0c56100b2ef3beabb86f0e5d43c8812fa34c32bbc85dacfe1a4e7897588 6da3403003992e40d3e7ddeb0bf0d10fe286423805cef0f88ec821d23795f16f2db8b8d1759d36f82eb9e0c952bf99e5 +SERVER_HANDSHAKE_TRAFFIC_SECRET 98b8b0c56100b2ef3beabb86f0e5d43c8812fa34c32bbc85dacfe1a4e7897588 87212ebede422212882f7e1eb1818d1cf03f476666d1607fcc4a3fbce7c4a77e9936a09d959e50320366726b8588db0d +CLIENT_TRAFFIC_SECRET_0 98b8b0c56100b2ef3beabb86f0e5d43c8812fa34c32bbc85dacfe1a4e7897588 89781cfdbfdff3c21a870d4665037362608673d248cd33b324546b628c083b788ea2e85cc5e715810d2a69e0f26f700e +SERVER_TRAFFIC_SECRET_0 98b8b0c56100b2ef3beabb86f0e5d43c8812fa34c32bbc85dacfe1a4e7897588 d179ed4b438c3d15116f2bf8056562cef7adfb7e79c49f25e690e9629849a72b9edf9d126b14257b720914674ecfc415 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f5706d5f29621a3ca691e56428e57b717c0966fb646162a3c1bbbc23995a0d58 e8bda59a7047ef236e5efc61702e6a20e64ad8fe3d1e6947913ff50d715a6a9ea001631aef71b10494c6d0ccd8da7e87 +SERVER_HANDSHAKE_TRAFFIC_SECRET f5706d5f29621a3ca691e56428e57b717c0966fb646162a3c1bbbc23995a0d58 4db44ba401568d39303f9feb00825e8a1a680bc5f131cb7a131322f7b7440d002629e9ac193eb6f618f851c4dfffe129 +CLIENT_TRAFFIC_SECRET_0 f5706d5f29621a3ca691e56428e57b717c0966fb646162a3c1bbbc23995a0d58 a6f02317b4755577bc7107f72f116f45100b33cc0c62fb047c97af5b047fc0c34f652d62ded0211e062a6dd52a0347af +SERVER_TRAFFIC_SECRET_0 f5706d5f29621a3ca691e56428e57b717c0966fb646162a3c1bbbc23995a0d58 51fa8432ec1b07e13ab7b61541f7509cb1ea73046085ad907d7598eb9a8d1531c79fc39b5c6b92fdb40770be3b13796d +CLIENT_HANDSHAKE_TRAFFIC_SECRET f5706d5f29621a3ca691e56428e57b717c0966fb646162a3c1bbbc23995a0d58 e8bda59a7047ef236e5efc61702e6a20e64ad8fe3d1e6947913ff50d715a6a9ea001631aef71b10494c6d0ccd8da7e87 +SERVER_HANDSHAKE_TRAFFIC_SECRET f5706d5f29621a3ca691e56428e57b717c0966fb646162a3c1bbbc23995a0d58 4db44ba401568d39303f9feb00825e8a1a680bc5f131cb7a131322f7b7440d002629e9ac193eb6f618f851c4dfffe129 +CLIENT_TRAFFIC_SECRET_0 f5706d5f29621a3ca691e56428e57b717c0966fb646162a3c1bbbc23995a0d58 a6f02317b4755577bc7107f72f116f45100b33cc0c62fb047c97af5b047fc0c34f652d62ded0211e062a6dd52a0347af +SERVER_TRAFFIC_SECRET_0 f5706d5f29621a3ca691e56428e57b717c0966fb646162a3c1bbbc23995a0d58 51fa8432ec1b07e13ab7b61541f7509cb1ea73046085ad907d7598eb9a8d1531c79fc39b5c6b92fdb40770be3b13796d +CLIENT_HANDSHAKE_TRAFFIC_SECRET 75ca53191068bd784e3b2668052e51222bf32a616b1ac3259cfe6172333d0242 4dd2e498438cadad8c81ccdbc2ebda91005357aa8ebc2bf9cc5f5f84c2b5136e914f3ddf6b0d167a09f339dad387c098 +SERVER_HANDSHAKE_TRAFFIC_SECRET 75ca53191068bd784e3b2668052e51222bf32a616b1ac3259cfe6172333d0242 a3953a754e8aeb12c08ad34b595cb5ee090dc40ad5c9de69b00782c9ca223a6bb1269520d737d0d8f389f7038e8e69f1 +CLIENT_TRAFFIC_SECRET_0 75ca53191068bd784e3b2668052e51222bf32a616b1ac3259cfe6172333d0242 2873b285d4c2366419fb4525f8e2a1260c3b5a00d91a77fe90c53d54c44e35ceeb66ab6ddbc4de46aa40d27fd99d0594 +SERVER_TRAFFIC_SECRET_0 75ca53191068bd784e3b2668052e51222bf32a616b1ac3259cfe6172333d0242 d317de3555b3ed52f849f6d41b402f3c3f4a04e671634a55a2dd4eac486045554b7a64a6ba28dbd1a891b26bd7f6dff0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 75ca53191068bd784e3b2668052e51222bf32a616b1ac3259cfe6172333d0242 4dd2e498438cadad8c81ccdbc2ebda91005357aa8ebc2bf9cc5f5f84c2b5136e914f3ddf6b0d167a09f339dad387c098 +SERVER_HANDSHAKE_TRAFFIC_SECRET 75ca53191068bd784e3b2668052e51222bf32a616b1ac3259cfe6172333d0242 a3953a754e8aeb12c08ad34b595cb5ee090dc40ad5c9de69b00782c9ca223a6bb1269520d737d0d8f389f7038e8e69f1 +CLIENT_TRAFFIC_SECRET_0 75ca53191068bd784e3b2668052e51222bf32a616b1ac3259cfe6172333d0242 2873b285d4c2366419fb4525f8e2a1260c3b5a00d91a77fe90c53d54c44e35ceeb66ab6ddbc4de46aa40d27fd99d0594 +SERVER_TRAFFIC_SECRET_0 75ca53191068bd784e3b2668052e51222bf32a616b1ac3259cfe6172333d0242 d317de3555b3ed52f849f6d41b402f3c3f4a04e671634a55a2dd4eac486045554b7a64a6ba28dbd1a891b26bd7f6dff0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ca819e2e67415ffa2d1482ceeded030fca9f545062b084a78ebbbf901cf3c468 ec2814456acfd3f91280afe418c6ef53a39a0cca7f2785405ca94a29398ccc55c0908401220ed659285c7838ddb6188c +SERVER_HANDSHAKE_TRAFFIC_SECRET ca819e2e67415ffa2d1482ceeded030fca9f545062b084a78ebbbf901cf3c468 0965c92a35dd16471f75d38a439fe4a19e3542d95594e4752ec3ff3b69fa38bce0ab0232bbf4c8862e8621b17f2f7423 +CLIENT_TRAFFIC_SECRET_0 ca819e2e67415ffa2d1482ceeded030fca9f545062b084a78ebbbf901cf3c468 586fb76c585a4abd7cf8c894586b4b4a1db75d85400d241dc97894897788bc7fecac54bdc3510919b218bf6416030a3e +SERVER_TRAFFIC_SECRET_0 ca819e2e67415ffa2d1482ceeded030fca9f545062b084a78ebbbf901cf3c468 1c8ea9743954b3853842f1f44200a996d65968963257427c5811a73eadd0bcc47e3ca5d4b1acf30ea64af9cedb59a92c +CLIENT_HANDSHAKE_TRAFFIC_SECRET ca819e2e67415ffa2d1482ceeded030fca9f545062b084a78ebbbf901cf3c468 ec2814456acfd3f91280afe418c6ef53a39a0cca7f2785405ca94a29398ccc55c0908401220ed659285c7838ddb6188c +SERVER_HANDSHAKE_TRAFFIC_SECRET ca819e2e67415ffa2d1482ceeded030fca9f545062b084a78ebbbf901cf3c468 0965c92a35dd16471f75d38a439fe4a19e3542d95594e4752ec3ff3b69fa38bce0ab0232bbf4c8862e8621b17f2f7423 +CLIENT_TRAFFIC_SECRET_0 ca819e2e67415ffa2d1482ceeded030fca9f545062b084a78ebbbf901cf3c468 586fb76c585a4abd7cf8c894586b4b4a1db75d85400d241dc97894897788bc7fecac54bdc3510919b218bf6416030a3e +SERVER_TRAFFIC_SECRET_0 ca819e2e67415ffa2d1482ceeded030fca9f545062b084a78ebbbf901cf3c468 1c8ea9743954b3853842f1f44200a996d65968963257427c5811a73eadd0bcc47e3ca5d4b1acf30ea64af9cedb59a92c +CLIENT_HANDSHAKE_TRAFFIC_SECRET b4dcccecfd3c600e3f965e0487c6fcf9abf1a80d97dddf1f06caed388e37eb14 801814553487ad577ad54c773fd02a7d272e0764cbedc1880f9e55ad3c30678c39cd780b1f4322e6196da925979f6c53 +SERVER_HANDSHAKE_TRAFFIC_SECRET b4dcccecfd3c600e3f965e0487c6fcf9abf1a80d97dddf1f06caed388e37eb14 aeeadd81198104161a017ee0806e8be6afc865364da81c2928c7af2966bf647017ee0abb58eaa558642c498b5c8d35c1 +CLIENT_TRAFFIC_SECRET_0 b4dcccecfd3c600e3f965e0487c6fcf9abf1a80d97dddf1f06caed388e37eb14 039beb7311cb7013fdcf972152843013e313d32dfebef7236f117df2336f02b37e32df081510f0f44981bbc5acda8049 +SERVER_TRAFFIC_SECRET_0 b4dcccecfd3c600e3f965e0487c6fcf9abf1a80d97dddf1f06caed388e37eb14 e0b3453cc9a895d4c5ca8f48551186ea04b2dd96e3447579ccf29aead55a4897b6aeb3ff7739a9c62a998beaec092b1e +CLIENT_HANDSHAKE_TRAFFIC_SECRET b4dcccecfd3c600e3f965e0487c6fcf9abf1a80d97dddf1f06caed388e37eb14 801814553487ad577ad54c773fd02a7d272e0764cbedc1880f9e55ad3c30678c39cd780b1f4322e6196da925979f6c53 +SERVER_HANDSHAKE_TRAFFIC_SECRET b4dcccecfd3c600e3f965e0487c6fcf9abf1a80d97dddf1f06caed388e37eb14 aeeadd81198104161a017ee0806e8be6afc865364da81c2928c7af2966bf647017ee0abb58eaa558642c498b5c8d35c1 +CLIENT_TRAFFIC_SECRET_0 b4dcccecfd3c600e3f965e0487c6fcf9abf1a80d97dddf1f06caed388e37eb14 039beb7311cb7013fdcf972152843013e313d32dfebef7236f117df2336f02b37e32df081510f0f44981bbc5acda8049 +SERVER_TRAFFIC_SECRET_0 b4dcccecfd3c600e3f965e0487c6fcf9abf1a80d97dddf1f06caed388e37eb14 e0b3453cc9a895d4c5ca8f48551186ea04b2dd96e3447579ccf29aead55a4897b6aeb3ff7739a9c62a998beaec092b1e +CLIENT_HANDSHAKE_TRAFFIC_SECRET 276c7c53a7c4d73577bfbaa32ad8823c1ab8a6843a9292105f612ed114887cbb fee062980bf87934dec7291c81d6c0322222a6389ad0765700f0009cd403a2ff83264eb8184e1c7ba741b30bb6bcfde2 +SERVER_HANDSHAKE_TRAFFIC_SECRET 276c7c53a7c4d73577bfbaa32ad8823c1ab8a6843a9292105f612ed114887cbb f612e2e2a45db49442034258113f391542f8e2272acc0b8b0e61445d05c850dc53333334f642d33cac7113cd98d30f6b +CLIENT_TRAFFIC_SECRET_0 276c7c53a7c4d73577bfbaa32ad8823c1ab8a6843a9292105f612ed114887cbb 7e6ea44a2ea4cc3ad9d897d44e7edc528825a2cc8e9b7eeddf8cbc47ca29fa32b0ee8a5d4bb10ce7f2b3655baf743019 +SERVER_TRAFFIC_SECRET_0 276c7c53a7c4d73577bfbaa32ad8823c1ab8a6843a9292105f612ed114887cbb ca7da6269636317215812c85df61b6270c0a1e25215dfe9f6ec642ef79b28299aaa461a7925ee8e5142cc70b6557428a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 276c7c53a7c4d73577bfbaa32ad8823c1ab8a6843a9292105f612ed114887cbb fee062980bf87934dec7291c81d6c0322222a6389ad0765700f0009cd403a2ff83264eb8184e1c7ba741b30bb6bcfde2 +SERVER_HANDSHAKE_TRAFFIC_SECRET 276c7c53a7c4d73577bfbaa32ad8823c1ab8a6843a9292105f612ed114887cbb f612e2e2a45db49442034258113f391542f8e2272acc0b8b0e61445d05c850dc53333334f642d33cac7113cd98d30f6b +CLIENT_TRAFFIC_SECRET_0 276c7c53a7c4d73577bfbaa32ad8823c1ab8a6843a9292105f612ed114887cbb 7e6ea44a2ea4cc3ad9d897d44e7edc528825a2cc8e9b7eeddf8cbc47ca29fa32b0ee8a5d4bb10ce7f2b3655baf743019 +SERVER_TRAFFIC_SECRET_0 276c7c53a7c4d73577bfbaa32ad8823c1ab8a6843a9292105f612ed114887cbb ca7da6269636317215812c85df61b6270c0a1e25215dfe9f6ec642ef79b28299aaa461a7925ee8e5142cc70b6557428a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 93d3fa28847b79762344699ffe25dfc6519a0d59d14f6390738f31cab0468103 99ce9e2245d4275fc23ce5b55dce9e66a05a61ae87ce9fe236e05d0c199ff4f05db95822c8e8993f4abda088e89d4d1c +SERVER_HANDSHAKE_TRAFFIC_SECRET 93d3fa28847b79762344699ffe25dfc6519a0d59d14f6390738f31cab0468103 fe4ee7afafeaa5778fbb1451fd4786954cd08f72e1c9faa689047ae0cfa0e10b364b7393dad57ed5e4219769ff79e465 +CLIENT_TRAFFIC_SECRET_0 93d3fa28847b79762344699ffe25dfc6519a0d59d14f6390738f31cab0468103 a9adca6a8a7ad38efcf2dc1799ce48fe3f9688f99a1a0240ba78bcabeac9d2c299c1363c2d7baf11011167401dba6e8b +SERVER_TRAFFIC_SECRET_0 93d3fa28847b79762344699ffe25dfc6519a0d59d14f6390738f31cab0468103 18fe8901d36eb20e9b2c2a564ac42bcf755ff439c47c7f5d1126e7d97baf0719b1370f998d54160eef37d8cc8dab33e0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 93d3fa28847b79762344699ffe25dfc6519a0d59d14f6390738f31cab0468103 99ce9e2245d4275fc23ce5b55dce9e66a05a61ae87ce9fe236e05d0c199ff4f05db95822c8e8993f4abda088e89d4d1c +SERVER_HANDSHAKE_TRAFFIC_SECRET 93d3fa28847b79762344699ffe25dfc6519a0d59d14f6390738f31cab0468103 fe4ee7afafeaa5778fbb1451fd4786954cd08f72e1c9faa689047ae0cfa0e10b364b7393dad57ed5e4219769ff79e465 +CLIENT_TRAFFIC_SECRET_0 93d3fa28847b79762344699ffe25dfc6519a0d59d14f6390738f31cab0468103 a9adca6a8a7ad38efcf2dc1799ce48fe3f9688f99a1a0240ba78bcabeac9d2c299c1363c2d7baf11011167401dba6e8b +SERVER_TRAFFIC_SECRET_0 93d3fa28847b79762344699ffe25dfc6519a0d59d14f6390738f31cab0468103 18fe8901d36eb20e9b2c2a564ac42bcf755ff439c47c7f5d1126e7d97baf0719b1370f998d54160eef37d8cc8dab33e0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 038628c9852ce8e97b121e17624be9a44eedbce60ed175bc5d222cbeb3133507 bcc2057ec67a4280fa0c7dd86289d1dad6ebf8ea4d772d8beffcd740767559c33adc21f528c6ae23732b4f2d5ccd0b71 +SERVER_HANDSHAKE_TRAFFIC_SECRET 038628c9852ce8e97b121e17624be9a44eedbce60ed175bc5d222cbeb3133507 2d2e10785d0eb71a496b87acc1ba58b76912443087bed79644dd776dc5519daa78b0ee19c0065e29293aa33be2ef96ba +CLIENT_TRAFFIC_SECRET_0 038628c9852ce8e97b121e17624be9a44eedbce60ed175bc5d222cbeb3133507 ed94f47b38a2c159f8ded195ad8e4d41b2d7839c23f45d9881f55f0ebb7df761eeca626a196b963bc607452dddd1cd04 +SERVER_TRAFFIC_SECRET_0 038628c9852ce8e97b121e17624be9a44eedbce60ed175bc5d222cbeb3133507 782d4f53395a57a391060be60ab383b96c60dfdb1f7c0191c99e85262bbb9bec8ea99291e8581cc944358698e42617a9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 038628c9852ce8e97b121e17624be9a44eedbce60ed175bc5d222cbeb3133507 bcc2057ec67a4280fa0c7dd86289d1dad6ebf8ea4d772d8beffcd740767559c33adc21f528c6ae23732b4f2d5ccd0b71 +SERVER_HANDSHAKE_TRAFFIC_SECRET 038628c9852ce8e97b121e17624be9a44eedbce60ed175bc5d222cbeb3133507 2d2e10785d0eb71a496b87acc1ba58b76912443087bed79644dd776dc5519daa78b0ee19c0065e29293aa33be2ef96ba +CLIENT_TRAFFIC_SECRET_0 038628c9852ce8e97b121e17624be9a44eedbce60ed175bc5d222cbeb3133507 ed94f47b38a2c159f8ded195ad8e4d41b2d7839c23f45d9881f55f0ebb7df761eeca626a196b963bc607452dddd1cd04 +SERVER_TRAFFIC_SECRET_0 038628c9852ce8e97b121e17624be9a44eedbce60ed175bc5d222cbeb3133507 782d4f53395a57a391060be60ab383b96c60dfdb1f7c0191c99e85262bbb9bec8ea99291e8581cc944358698e42617a9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f7bfc652dd242054bb46de08b72cfbef478b302ae00a9f4159b341b4ee9cf4be 2fcb11712a6a4ae913bde29b6e4f65a4cf0c6f126aa126206f23ff3a9e5945c83708e58f0143b515c16f2a38d488e409 +SERVER_HANDSHAKE_TRAFFIC_SECRET f7bfc652dd242054bb46de08b72cfbef478b302ae00a9f4159b341b4ee9cf4be 1ce6012aa9f22b3f7cf137ea89762927ccecb9da6ea6b58d590f919ac0ffeca8e384eafe3b8ce0edf774fa5b43adcec1 +CLIENT_TRAFFIC_SECRET_0 f7bfc652dd242054bb46de08b72cfbef478b302ae00a9f4159b341b4ee9cf4be ff1af0eceb4acaabc7e1f0924bb37869c66d607d7e04a54000ce6a86f8e6ff9f6d823556af36a32362b9ed808865d925 +SERVER_TRAFFIC_SECRET_0 f7bfc652dd242054bb46de08b72cfbef478b302ae00a9f4159b341b4ee9cf4be 85b312e41c3c57e246a4642a50f46a4c2298e61be7cdd295ac8599a8b7b98e9f199115f9d7cb8db3b29540a65dd81c97 +CLIENT_HANDSHAKE_TRAFFIC_SECRET f7bfc652dd242054bb46de08b72cfbef478b302ae00a9f4159b341b4ee9cf4be 2fcb11712a6a4ae913bde29b6e4f65a4cf0c6f126aa126206f23ff3a9e5945c83708e58f0143b515c16f2a38d488e409 +SERVER_HANDSHAKE_TRAFFIC_SECRET f7bfc652dd242054bb46de08b72cfbef478b302ae00a9f4159b341b4ee9cf4be 1ce6012aa9f22b3f7cf137ea89762927ccecb9da6ea6b58d590f919ac0ffeca8e384eafe3b8ce0edf774fa5b43adcec1 +CLIENT_TRAFFIC_SECRET_0 f7bfc652dd242054bb46de08b72cfbef478b302ae00a9f4159b341b4ee9cf4be ff1af0eceb4acaabc7e1f0924bb37869c66d607d7e04a54000ce6a86f8e6ff9f6d823556af36a32362b9ed808865d925 +SERVER_TRAFFIC_SECRET_0 f7bfc652dd242054bb46de08b72cfbef478b302ae00a9f4159b341b4ee9cf4be 85b312e41c3c57e246a4642a50f46a4c2298e61be7cdd295ac8599a8b7b98e9f199115f9d7cb8db3b29540a65dd81c97 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c6a02da4308f2c0082e276fa1ef8c787cb17f66cb38d3da3270975402f795d54 f0aaafa113c18f37ed7b490d0b45d4dbfa5a497272e577b965789b53c540af8eff03ef56489ccd7c08b20f21c0538997 +SERVER_HANDSHAKE_TRAFFIC_SECRET c6a02da4308f2c0082e276fa1ef8c787cb17f66cb38d3da3270975402f795d54 60842754f1d3cb23597f578eaecb88af306343aa618030603d866443a2feddb766b068d1ebce859ac1e88c520bdf2e98 +CLIENT_TRAFFIC_SECRET_0 c6a02da4308f2c0082e276fa1ef8c787cb17f66cb38d3da3270975402f795d54 35f8a342b1d5bcdd1a842c809dd2620e943aeffd9e756e1d8c65010d4176e0670d9baaef6ed388d8b09e1bba8c07a00f +SERVER_TRAFFIC_SECRET_0 c6a02da4308f2c0082e276fa1ef8c787cb17f66cb38d3da3270975402f795d54 3b5c49bd5f4a47ccf66bed502febc1a0264a4ec00a01b9b71b9580d6cea059ecdd2e3a9471eb5a87ff98ecac01407420 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c6a02da4308f2c0082e276fa1ef8c787cb17f66cb38d3da3270975402f795d54 f0aaafa113c18f37ed7b490d0b45d4dbfa5a497272e577b965789b53c540af8eff03ef56489ccd7c08b20f21c0538997 +SERVER_HANDSHAKE_TRAFFIC_SECRET c6a02da4308f2c0082e276fa1ef8c787cb17f66cb38d3da3270975402f795d54 60842754f1d3cb23597f578eaecb88af306343aa618030603d866443a2feddb766b068d1ebce859ac1e88c520bdf2e98 +CLIENT_TRAFFIC_SECRET_0 c6a02da4308f2c0082e276fa1ef8c787cb17f66cb38d3da3270975402f795d54 35f8a342b1d5bcdd1a842c809dd2620e943aeffd9e756e1d8c65010d4176e0670d9baaef6ed388d8b09e1bba8c07a00f +SERVER_TRAFFIC_SECRET_0 c6a02da4308f2c0082e276fa1ef8c787cb17f66cb38d3da3270975402f795d54 3b5c49bd5f4a47ccf66bed502febc1a0264a4ec00a01b9b71b9580d6cea059ecdd2e3a9471eb5a87ff98ecac01407420 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d64052ddc80a3ff089a2478ef9b0e2b6bfebb89d6440745880f70af859608821 7f8f80e9764d217060d9313140c3e4baf0889fbaa9d8ffe0f50bffb62f0c8ce87aabd7cad4ec484967f3739d6a4f9f8d +SERVER_HANDSHAKE_TRAFFIC_SECRET d64052ddc80a3ff089a2478ef9b0e2b6bfebb89d6440745880f70af859608821 d973492ffb9a5b31ff1d5d9d43dac35c4b7d52e25edfe1c215013a9bd7ed0e3ba561854599ae1759ea79c95478ffdfb1 +CLIENT_TRAFFIC_SECRET_0 d64052ddc80a3ff089a2478ef9b0e2b6bfebb89d6440745880f70af859608821 b79fc1ea2a0c084424e40cd221b921be27544490ecab4dcf67556004d9c9033aff5d5ed7de640e0c6c26f58998f44db5 +SERVER_TRAFFIC_SECRET_0 d64052ddc80a3ff089a2478ef9b0e2b6bfebb89d6440745880f70af859608821 5ed1f5a61ae2c822b01e6c43c170c08200be95518958e4fbab9bb6eca8ae7a29507668fd50aa45fc29e099bcb3aa8b8a +CLIENT_HANDSHAKE_TRAFFIC_SECRET d64052ddc80a3ff089a2478ef9b0e2b6bfebb89d6440745880f70af859608821 7f8f80e9764d217060d9313140c3e4baf0889fbaa9d8ffe0f50bffb62f0c8ce87aabd7cad4ec484967f3739d6a4f9f8d +SERVER_HANDSHAKE_TRAFFIC_SECRET d64052ddc80a3ff089a2478ef9b0e2b6bfebb89d6440745880f70af859608821 d973492ffb9a5b31ff1d5d9d43dac35c4b7d52e25edfe1c215013a9bd7ed0e3ba561854599ae1759ea79c95478ffdfb1 +CLIENT_TRAFFIC_SECRET_0 d64052ddc80a3ff089a2478ef9b0e2b6bfebb89d6440745880f70af859608821 b79fc1ea2a0c084424e40cd221b921be27544490ecab4dcf67556004d9c9033aff5d5ed7de640e0c6c26f58998f44db5 +SERVER_TRAFFIC_SECRET_0 d64052ddc80a3ff089a2478ef9b0e2b6bfebb89d6440745880f70af859608821 5ed1f5a61ae2c822b01e6c43c170c08200be95518958e4fbab9bb6eca8ae7a29507668fd50aa45fc29e099bcb3aa8b8a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0acf366c5ec99528596e3cea4122986ab6b76c1192d9a20db5cc4d30240b8071 f071a0122b18c81c10674d73f40a9e728c4ecc6343bc249b2ac53dfd7a4a8cd38d3a2e5640ccb274799af8fa1fa35ba2 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0acf366c5ec99528596e3cea4122986ab6b76c1192d9a20db5cc4d30240b8071 f72a739898be20d996e250d8855ec4cf3e3737e6f9310927d46c7a6fa33a659d49ef9dc419060385a613496d42dacecf +CLIENT_TRAFFIC_SECRET_0 0acf366c5ec99528596e3cea4122986ab6b76c1192d9a20db5cc4d30240b8071 e10b3a5406b85f33bfaf02d82607a7eb2eafe7728fc7390f7bcddb9768607e4294207ac865db39e7eb6fab861553fb5a +SERVER_TRAFFIC_SECRET_0 0acf366c5ec99528596e3cea4122986ab6b76c1192d9a20db5cc4d30240b8071 d5ea00f44e2beba7b95c151ae93b3911752a324b8ae200db999aa4153037104ca3dbfb4157a8287f3475b0d4eb34c793 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 0acf366c5ec99528596e3cea4122986ab6b76c1192d9a20db5cc4d30240b8071 f071a0122b18c81c10674d73f40a9e728c4ecc6343bc249b2ac53dfd7a4a8cd38d3a2e5640ccb274799af8fa1fa35ba2 +SERVER_HANDSHAKE_TRAFFIC_SECRET 0acf366c5ec99528596e3cea4122986ab6b76c1192d9a20db5cc4d30240b8071 f72a739898be20d996e250d8855ec4cf3e3737e6f9310927d46c7a6fa33a659d49ef9dc419060385a613496d42dacecf +CLIENT_TRAFFIC_SECRET_0 0acf366c5ec99528596e3cea4122986ab6b76c1192d9a20db5cc4d30240b8071 e10b3a5406b85f33bfaf02d82607a7eb2eafe7728fc7390f7bcddb9768607e4294207ac865db39e7eb6fab861553fb5a +SERVER_TRAFFIC_SECRET_0 0acf366c5ec99528596e3cea4122986ab6b76c1192d9a20db5cc4d30240b8071 d5ea00f44e2beba7b95c151ae93b3911752a324b8ae200db999aa4153037104ca3dbfb4157a8287f3475b0d4eb34c793 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 21155d55f742e8764acc41da2135d1a266c71fcbc2394745b343ff569823585d 142d3c9e7a1e07ac7bdd9f26f4876d3e5a50d38a62e768a933f05bb3250360362f21772e009d77c551e4d1d4f5373c3f +SERVER_HANDSHAKE_TRAFFIC_SECRET 21155d55f742e8764acc41da2135d1a266c71fcbc2394745b343ff569823585d 56371f74a6843f7b2d61f6c5ebe37f7e40f243e290c28aefc43c93a72e7bcb1d3bd48aab5c55562786532fd2cc17a017 +CLIENT_TRAFFIC_SECRET_0 21155d55f742e8764acc41da2135d1a266c71fcbc2394745b343ff569823585d 73509aef9669ce37d267f3adf827e5fee02c77bb142c7ba2316e028e7ceebe0af8f130a85ea2c48d5a6d91d379e767b3 +SERVER_TRAFFIC_SECRET_0 21155d55f742e8764acc41da2135d1a266c71fcbc2394745b343ff569823585d 1794a57a56b7985c6563ba83f9e9907d8767457e3b6b801991fd2ccb898a550f5d933fd890c891aed2a72ae805e9de6e +CLIENT_HANDSHAKE_TRAFFIC_SECRET 21155d55f742e8764acc41da2135d1a266c71fcbc2394745b343ff569823585d 142d3c9e7a1e07ac7bdd9f26f4876d3e5a50d38a62e768a933f05bb3250360362f21772e009d77c551e4d1d4f5373c3f +SERVER_HANDSHAKE_TRAFFIC_SECRET 21155d55f742e8764acc41da2135d1a266c71fcbc2394745b343ff569823585d 56371f74a6843f7b2d61f6c5ebe37f7e40f243e290c28aefc43c93a72e7bcb1d3bd48aab5c55562786532fd2cc17a017 +CLIENT_TRAFFIC_SECRET_0 21155d55f742e8764acc41da2135d1a266c71fcbc2394745b343ff569823585d 73509aef9669ce37d267f3adf827e5fee02c77bb142c7ba2316e028e7ceebe0af8f130a85ea2c48d5a6d91d379e767b3 +SERVER_TRAFFIC_SECRET_0 21155d55f742e8764acc41da2135d1a266c71fcbc2394745b343ff569823585d 1794a57a56b7985c6563ba83f9e9907d8767457e3b6b801991fd2ccb898a550f5d933fd890c891aed2a72ae805e9de6e +CLIENT_HANDSHAKE_TRAFFIC_SECRET dfd1b93fc957263dd4fa35edc3f15bdc1fd9dff9866c2cc9399f3cfb36175cb0 433ed73870ed3dbb843b4ede6792ad9ba0415ae8081ff4693cb09bb7ea4d6f2e8a126ddab7e4cf2c8aa9b2afce3ad6f0 +SERVER_HANDSHAKE_TRAFFIC_SECRET dfd1b93fc957263dd4fa35edc3f15bdc1fd9dff9866c2cc9399f3cfb36175cb0 e6e33c8975d699f1b533e1fcae0a7397fa10d9c6c1a32036c9e2021cadb005f306b5680c92086a0c932e8cd7106b6aa0 +CLIENT_TRAFFIC_SECRET_0 dfd1b93fc957263dd4fa35edc3f15bdc1fd9dff9866c2cc9399f3cfb36175cb0 f437a75070d49de59345b047e9d422a1ea0b9cbd70c78c58249707e856eedcf680a3b01daab0740ffcac6c5442a6ba65 +SERVER_TRAFFIC_SECRET_0 dfd1b93fc957263dd4fa35edc3f15bdc1fd9dff9866c2cc9399f3cfb36175cb0 9baa5cb50ef410cbde7347a2b165453d284a26a68d7bfa92351f0f3ccbfe9a90243be490cca89b661333f68d4aa64529 +CLIENT_HANDSHAKE_TRAFFIC_SECRET dfd1b93fc957263dd4fa35edc3f15bdc1fd9dff9866c2cc9399f3cfb36175cb0 433ed73870ed3dbb843b4ede6792ad9ba0415ae8081ff4693cb09bb7ea4d6f2e8a126ddab7e4cf2c8aa9b2afce3ad6f0 +SERVER_HANDSHAKE_TRAFFIC_SECRET dfd1b93fc957263dd4fa35edc3f15bdc1fd9dff9866c2cc9399f3cfb36175cb0 e6e33c8975d699f1b533e1fcae0a7397fa10d9c6c1a32036c9e2021cadb005f306b5680c92086a0c932e8cd7106b6aa0 +CLIENT_TRAFFIC_SECRET_0 dfd1b93fc957263dd4fa35edc3f15bdc1fd9dff9866c2cc9399f3cfb36175cb0 f437a75070d49de59345b047e9d422a1ea0b9cbd70c78c58249707e856eedcf680a3b01daab0740ffcac6c5442a6ba65 +SERVER_TRAFFIC_SECRET_0 dfd1b93fc957263dd4fa35edc3f15bdc1fd9dff9866c2cc9399f3cfb36175cb0 9baa5cb50ef410cbde7347a2b165453d284a26a68d7bfa92351f0f3ccbfe9a90243be490cca89b661333f68d4aa64529 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 302894ced3f08d9c759fd963d9cc8460183bc47314d38669deb1edc9ed503052 bb03c3adf68c534f162436782e0e9afdddb92d79935066982872ace2f6905241cfbaf0d01d3044b612c1d7641bf24168 +SERVER_HANDSHAKE_TRAFFIC_SECRET 302894ced3f08d9c759fd963d9cc8460183bc47314d38669deb1edc9ed503052 f1b91b52db025942abcd157764bd68ba2ae5213d1cdcd9faf5f7836d5c22216c7c5e505808338512640d1bfe217e6972 +CLIENT_TRAFFIC_SECRET_0 302894ced3f08d9c759fd963d9cc8460183bc47314d38669deb1edc9ed503052 64e396729738a6a64d19095efb1d948566fd71761605eaa4dca98ab9fc94102f80f9921c9729c507d527a2150681edc0 +SERVER_TRAFFIC_SECRET_0 302894ced3f08d9c759fd963d9cc8460183bc47314d38669deb1edc9ed503052 7515434591f45230e1d3b89f8d9e87296a06f27a82fe69eaa0fcfd3f1dcc205f518f4002e93dd274ed69a298419485e9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 302894ced3f08d9c759fd963d9cc8460183bc47314d38669deb1edc9ed503052 bb03c3adf68c534f162436782e0e9afdddb92d79935066982872ace2f6905241cfbaf0d01d3044b612c1d7641bf24168 +SERVER_HANDSHAKE_TRAFFIC_SECRET 302894ced3f08d9c759fd963d9cc8460183bc47314d38669deb1edc9ed503052 f1b91b52db025942abcd157764bd68ba2ae5213d1cdcd9faf5f7836d5c22216c7c5e505808338512640d1bfe217e6972 +CLIENT_TRAFFIC_SECRET_0 302894ced3f08d9c759fd963d9cc8460183bc47314d38669deb1edc9ed503052 64e396729738a6a64d19095efb1d948566fd71761605eaa4dca98ab9fc94102f80f9921c9729c507d527a2150681edc0 +SERVER_TRAFFIC_SECRET_0 302894ced3f08d9c759fd963d9cc8460183bc47314d38669deb1edc9ed503052 7515434591f45230e1d3b89f8d9e87296a06f27a82fe69eaa0fcfd3f1dcc205f518f4002e93dd274ed69a298419485e9 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d2e8740dd25c82b1933e4f95e6cb8927bdc15d7cd46d092b8dc568cead88337b 77c27682e770d7e49cbc12e3ef0985a7e044a890a59a077c6b91885c0ecf16845ab37c4ce01ad8561961dd2c2da84f9c +SERVER_HANDSHAKE_TRAFFIC_SECRET d2e8740dd25c82b1933e4f95e6cb8927bdc15d7cd46d092b8dc568cead88337b 91d31befca16b549181ca2f83cec23a454b13c9c854b9395612d94c87e2ca27e50ab23a5b3e812214a0accf5fc3fc210 +CLIENT_TRAFFIC_SECRET_0 d2e8740dd25c82b1933e4f95e6cb8927bdc15d7cd46d092b8dc568cead88337b 4bac6751c51ece1e04ff1cc98c72b284b92927ccd517670baf7f4f8fbd4449d1e1dd9ec04f2b200a6a137b38b55dda60 +SERVER_TRAFFIC_SECRET_0 d2e8740dd25c82b1933e4f95e6cb8927bdc15d7cd46d092b8dc568cead88337b 9678cc87644c466f72f30c9b6900107038419ba01d465fca02f1a20c9f3a4525b198e2e4d3def452daf58ec0da64f2b1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d2e8740dd25c82b1933e4f95e6cb8927bdc15d7cd46d092b8dc568cead88337b 77c27682e770d7e49cbc12e3ef0985a7e044a890a59a077c6b91885c0ecf16845ab37c4ce01ad8561961dd2c2da84f9c +SERVER_HANDSHAKE_TRAFFIC_SECRET d2e8740dd25c82b1933e4f95e6cb8927bdc15d7cd46d092b8dc568cead88337b 91d31befca16b549181ca2f83cec23a454b13c9c854b9395612d94c87e2ca27e50ab23a5b3e812214a0accf5fc3fc210 +CLIENT_TRAFFIC_SECRET_0 d2e8740dd25c82b1933e4f95e6cb8927bdc15d7cd46d092b8dc568cead88337b 4bac6751c51ece1e04ff1cc98c72b284b92927ccd517670baf7f4f8fbd4449d1e1dd9ec04f2b200a6a137b38b55dda60 +SERVER_TRAFFIC_SECRET_0 d2e8740dd25c82b1933e4f95e6cb8927bdc15d7cd46d092b8dc568cead88337b 9678cc87644c466f72f30c9b6900107038419ba01d465fca02f1a20c9f3a4525b198e2e4d3def452daf58ec0da64f2b1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ebf02e00c407c2fada6cd5d4a7096fff5cc7d2dcd8d00b83be2730a61bf71767 996d1377c7686076e3ed524e1e2be79fc50283b90ec931c3bd97e6180dc38f9a92f0be74776e99c5b1ce8d5e13729764 +SERVER_HANDSHAKE_TRAFFIC_SECRET ebf02e00c407c2fada6cd5d4a7096fff5cc7d2dcd8d00b83be2730a61bf71767 1949dfba1c56af627046546d2b1abc8254af42b4323ae040d4a26525c88f71052bf9f0b4d6a7b4d3ab549e5af5952d08 +CLIENT_TRAFFIC_SECRET_0 ebf02e00c407c2fada6cd5d4a7096fff5cc7d2dcd8d00b83be2730a61bf71767 c24867598419403e9801754c330e197867f9a684232d8676773d281f199f0df1ed248fba8d1416f01d4b696753d13ac1 +SERVER_TRAFFIC_SECRET_0 ebf02e00c407c2fada6cd5d4a7096fff5cc7d2dcd8d00b83be2730a61bf71767 869f6cfe1e8f28fa1836a30365d8132ed7b47e0481ec03cede0cac035578b1609e3c09b026807f9a223e2531b52296bf +CLIENT_HANDSHAKE_TRAFFIC_SECRET ebf02e00c407c2fada6cd5d4a7096fff5cc7d2dcd8d00b83be2730a61bf71767 996d1377c7686076e3ed524e1e2be79fc50283b90ec931c3bd97e6180dc38f9a92f0be74776e99c5b1ce8d5e13729764 +SERVER_HANDSHAKE_TRAFFIC_SECRET ebf02e00c407c2fada6cd5d4a7096fff5cc7d2dcd8d00b83be2730a61bf71767 1949dfba1c56af627046546d2b1abc8254af42b4323ae040d4a26525c88f71052bf9f0b4d6a7b4d3ab549e5af5952d08 +CLIENT_TRAFFIC_SECRET_0 ebf02e00c407c2fada6cd5d4a7096fff5cc7d2dcd8d00b83be2730a61bf71767 c24867598419403e9801754c330e197867f9a684232d8676773d281f199f0df1ed248fba8d1416f01d4b696753d13ac1 +SERVER_TRAFFIC_SECRET_0 ebf02e00c407c2fada6cd5d4a7096fff5cc7d2dcd8d00b83be2730a61bf71767 869f6cfe1e8f28fa1836a30365d8132ed7b47e0481ec03cede0cac035578b1609e3c09b026807f9a223e2531b52296bf +CLIENT_HANDSHAKE_TRAFFIC_SECRET a0df456f9a8bbfff8e8d4cb6b1ff91e69d2456dbdb52f9cff65ec0230859c072 1e9c446e9ddbe1dc1dd562311a11a69db429beff787cc2db6d712d011859c0bc5dde206788f500001cb773aac95a8d6b +SERVER_HANDSHAKE_TRAFFIC_SECRET a0df456f9a8bbfff8e8d4cb6b1ff91e69d2456dbdb52f9cff65ec0230859c072 96aee6c6d57d6f5f9cbd92b20fdb747c6585b8604097d83853cb6b421883ea142a4ca734ae813ec03b444398a5297fee +CLIENT_TRAFFIC_SECRET_0 a0df456f9a8bbfff8e8d4cb6b1ff91e69d2456dbdb52f9cff65ec0230859c072 fed692874f2e7a8e3828cf759fc7f734d9e8cc9c0ae0af222eef12fd533d4f8d2abf5edadb47a6b8391d0ef1eca69b5c +SERVER_TRAFFIC_SECRET_0 a0df456f9a8bbfff8e8d4cb6b1ff91e69d2456dbdb52f9cff65ec0230859c072 0f8aa09734911173f81b9ca10d65d3c3480332d0d5c4d7971bfd7fec71722d0e8b65c428b2612c3f19094827fd1ce57a +CLIENT_HANDSHAKE_TRAFFIC_SECRET a0df456f9a8bbfff8e8d4cb6b1ff91e69d2456dbdb52f9cff65ec0230859c072 1e9c446e9ddbe1dc1dd562311a11a69db429beff787cc2db6d712d011859c0bc5dde206788f500001cb773aac95a8d6b +SERVER_HANDSHAKE_TRAFFIC_SECRET a0df456f9a8bbfff8e8d4cb6b1ff91e69d2456dbdb52f9cff65ec0230859c072 96aee6c6d57d6f5f9cbd92b20fdb747c6585b8604097d83853cb6b421883ea142a4ca734ae813ec03b444398a5297fee +CLIENT_TRAFFIC_SECRET_0 a0df456f9a8bbfff8e8d4cb6b1ff91e69d2456dbdb52f9cff65ec0230859c072 fed692874f2e7a8e3828cf759fc7f734d9e8cc9c0ae0af222eef12fd533d4f8d2abf5edadb47a6b8391d0ef1eca69b5c +SERVER_TRAFFIC_SECRET_0 a0df456f9a8bbfff8e8d4cb6b1ff91e69d2456dbdb52f9cff65ec0230859c072 0f8aa09734911173f81b9ca10d65d3c3480332d0d5c4d7971bfd7fec71722d0e8b65c428b2612c3f19094827fd1ce57a +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4a86ed19046e295469f17bdb84467b1397d5fba867864010442de1c3677a472e 2a9813f704bf23eb413e736655c6d1c35fdb1948a7c9bdbf608d315464ee04b654453f7856ff36d801d10c7be7ec53b3 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4a86ed19046e295469f17bdb84467b1397d5fba867864010442de1c3677a472e b2ea15910e0eff4d2ea3fbcc8388f2adc616912c7bdcdb1b6174a51af284cfe662637cb75339dd84a485d26a71ed3aea +CLIENT_TRAFFIC_SECRET_0 4a86ed19046e295469f17bdb84467b1397d5fba867864010442de1c3677a472e 969d810cb73c666d264df1975f407835652b5062101d889623be68c1098a8c82aa11de0440b1ce91e2390283623ccbc8 +SERVER_TRAFFIC_SECRET_0 4a86ed19046e295469f17bdb84467b1397d5fba867864010442de1c3677a472e 3e54e328f055576cb45ea3666b10e30791e04d5dcdaf0431c36563b7e122aa7e0e664436a245d46d2d3138e555407514 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 4a86ed19046e295469f17bdb84467b1397d5fba867864010442de1c3677a472e 2a9813f704bf23eb413e736655c6d1c35fdb1948a7c9bdbf608d315464ee04b654453f7856ff36d801d10c7be7ec53b3 +SERVER_HANDSHAKE_TRAFFIC_SECRET 4a86ed19046e295469f17bdb84467b1397d5fba867864010442de1c3677a472e b2ea15910e0eff4d2ea3fbcc8388f2adc616912c7bdcdb1b6174a51af284cfe662637cb75339dd84a485d26a71ed3aea +CLIENT_TRAFFIC_SECRET_0 4a86ed19046e295469f17bdb84467b1397d5fba867864010442de1c3677a472e 969d810cb73c666d264df1975f407835652b5062101d889623be68c1098a8c82aa11de0440b1ce91e2390283623ccbc8 +SERVER_TRAFFIC_SECRET_0 4a86ed19046e295469f17bdb84467b1397d5fba867864010442de1c3677a472e 3e54e328f055576cb45ea3666b10e30791e04d5dcdaf0431c36563b7e122aa7e0e664436a245d46d2d3138e555407514 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c054d83c10b5135d13151b7af2f18ad813e97d8520c9ede0da62489c4a592e20 5466f59635ecaa11ec89a2bb03bb4d6515d81f8aa61843446b2d524d936050c0c6ed398e64ad59699adf0de4ee454728 +SERVER_HANDSHAKE_TRAFFIC_SECRET c054d83c10b5135d13151b7af2f18ad813e97d8520c9ede0da62489c4a592e20 7853f41a651bea02b665f2531eaab57455d79e576b3a2ca18d3fc4f5ac492017d9d840a4626bf4a2c3ba0e35dc493fdc +CLIENT_TRAFFIC_SECRET_0 c054d83c10b5135d13151b7af2f18ad813e97d8520c9ede0da62489c4a592e20 8a3cd52294d5492c0b58bc7fc0e9e1d13412c886450efab6f83b70430c713499b9c75b6ae5d14a788adffc9578bd8bd2 +SERVER_TRAFFIC_SECRET_0 c054d83c10b5135d13151b7af2f18ad813e97d8520c9ede0da62489c4a592e20 fa2a60ac829d28cb273da8343e5f354977f144e9ffcf44dc9087175ccf672f565c825f6d889eb2ae780d0d3224316113 +CLIENT_HANDSHAKE_TRAFFIC_SECRET c054d83c10b5135d13151b7af2f18ad813e97d8520c9ede0da62489c4a592e20 5466f59635ecaa11ec89a2bb03bb4d6515d81f8aa61843446b2d524d936050c0c6ed398e64ad59699adf0de4ee454728 +SERVER_HANDSHAKE_TRAFFIC_SECRET c054d83c10b5135d13151b7af2f18ad813e97d8520c9ede0da62489c4a592e20 7853f41a651bea02b665f2531eaab57455d79e576b3a2ca18d3fc4f5ac492017d9d840a4626bf4a2c3ba0e35dc493fdc +CLIENT_TRAFFIC_SECRET_0 c054d83c10b5135d13151b7af2f18ad813e97d8520c9ede0da62489c4a592e20 8a3cd52294d5492c0b58bc7fc0e9e1d13412c886450efab6f83b70430c713499b9c75b6ae5d14a788adffc9578bd8bd2 +SERVER_TRAFFIC_SECRET_0 c054d83c10b5135d13151b7af2f18ad813e97d8520c9ede0da62489c4a592e20 fa2a60ac829d28cb273da8343e5f354977f144e9ffcf44dc9087175ccf672f565c825f6d889eb2ae780d0d3224316113 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6aa929a8425955c72733ab204777a120788fb33b3522761a9ff0b68bd0a03d6a af7d0740aa98e307ca06612caac2988a75286ef79a66f925fc7c345fbd4f5f740551950fbd3177c13053683f4ee3e4fb +SERVER_HANDSHAKE_TRAFFIC_SECRET 6aa929a8425955c72733ab204777a120788fb33b3522761a9ff0b68bd0a03d6a edb9922ef7ae78bf61d2558fd84a5f6cd551b6fef1b864f583c6e21175b6aee4b43c8535ee0a8e92ec80c82684772004 +CLIENT_TRAFFIC_SECRET_0 6aa929a8425955c72733ab204777a120788fb33b3522761a9ff0b68bd0a03d6a 0a6495bf1397eaef41e50fee9e6678e7dbdf351c2ee6792df3a5fa1e64c7d8e9fc9c0799fd4a13b7c9f89bf3efbb8f9c +SERVER_TRAFFIC_SECRET_0 6aa929a8425955c72733ab204777a120788fb33b3522761a9ff0b68bd0a03d6a bb9ebd7c5c6146bc30194124e9436e17d3b14a1d41ae5e55b8a938dfa4a4b1a00f9d91f302c2255238b009f4a311467d +CLIENT_HANDSHAKE_TRAFFIC_SECRET 6aa929a8425955c72733ab204777a120788fb33b3522761a9ff0b68bd0a03d6a af7d0740aa98e307ca06612caac2988a75286ef79a66f925fc7c345fbd4f5f740551950fbd3177c13053683f4ee3e4fb +SERVER_HANDSHAKE_TRAFFIC_SECRET 6aa929a8425955c72733ab204777a120788fb33b3522761a9ff0b68bd0a03d6a edb9922ef7ae78bf61d2558fd84a5f6cd551b6fef1b864f583c6e21175b6aee4b43c8535ee0a8e92ec80c82684772004 +CLIENT_TRAFFIC_SECRET_0 6aa929a8425955c72733ab204777a120788fb33b3522761a9ff0b68bd0a03d6a 0a6495bf1397eaef41e50fee9e6678e7dbdf351c2ee6792df3a5fa1e64c7d8e9fc9c0799fd4a13b7c9f89bf3efbb8f9c +SERVER_TRAFFIC_SECRET_0 6aa929a8425955c72733ab204777a120788fb33b3522761a9ff0b68bd0a03d6a bb9ebd7c5c6146bc30194124e9436e17d3b14a1d41ae5e55b8a938dfa4a4b1a00f9d91f302c2255238b009f4a311467d +CLIENT_HANDSHAKE_TRAFFIC_SECRET d51adfb098c51f5407d7efb4530a8df8b9de486ce5c2f774e28e47a3f7ba45cb 209e089860f72770be62c4f24076ab17a71453e13800dc9cb02fc29c95333b834a230a0213f64262cc0714e6c015ea97 +SERVER_HANDSHAKE_TRAFFIC_SECRET d51adfb098c51f5407d7efb4530a8df8b9de486ce5c2f774e28e47a3f7ba45cb da9acd09e86c875aabc55d8f4f522f1ee724be49cb4304ff9c1dd166655cbd65ec719837148a52e3e7eec064eb479321 +CLIENT_TRAFFIC_SECRET_0 d51adfb098c51f5407d7efb4530a8df8b9de486ce5c2f774e28e47a3f7ba45cb 8c876f2b1b246449afce2b641e67d79825297c15dc0b665fe9e79b4a56dcd6166f38a01ec44ed9137a5522319a430c36 +SERVER_TRAFFIC_SECRET_0 d51adfb098c51f5407d7efb4530a8df8b9de486ce5c2f774e28e47a3f7ba45cb 77509463290eab6656bc17c6fc827939da71679d181d1e4ede97e0686377cf23a3aca6b9d94234c7b49199d8d9388ab0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET d51adfb098c51f5407d7efb4530a8df8b9de486ce5c2f774e28e47a3f7ba45cb 209e089860f72770be62c4f24076ab17a71453e13800dc9cb02fc29c95333b834a230a0213f64262cc0714e6c015ea97 +SERVER_HANDSHAKE_TRAFFIC_SECRET d51adfb098c51f5407d7efb4530a8df8b9de486ce5c2f774e28e47a3f7ba45cb da9acd09e86c875aabc55d8f4f522f1ee724be49cb4304ff9c1dd166655cbd65ec719837148a52e3e7eec064eb479321 +CLIENT_TRAFFIC_SECRET_0 d51adfb098c51f5407d7efb4530a8df8b9de486ce5c2f774e28e47a3f7ba45cb 8c876f2b1b246449afce2b641e67d79825297c15dc0b665fe9e79b4a56dcd6166f38a01ec44ed9137a5522319a430c36 +SERVER_TRAFFIC_SECRET_0 d51adfb098c51f5407d7efb4530a8df8b9de486ce5c2f774e28e47a3f7ba45cb 77509463290eab6656bc17c6fc827939da71679d181d1e4ede97e0686377cf23a3aca6b9d94234c7b49199d8d9388ab0 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 84cdd88ebedc0f3ea4e3c46b551962c214a582fb296935c905716fc7c4e52ec8 90ee0cf861d3cb90d9b8652426baf8616a922e1c2322737cbc5199af681cc166aae92b60c42c40030af7de3a132d598f +SERVER_HANDSHAKE_TRAFFIC_SECRET 84cdd88ebedc0f3ea4e3c46b551962c214a582fb296935c905716fc7c4e52ec8 7e2bf57ee6a62fc85e2c90195594371fe8246b4987160f203007e49f7ecbfb53f66edaadf30b4288f450dbddc5449bcd +CLIENT_TRAFFIC_SECRET_0 84cdd88ebedc0f3ea4e3c46b551962c214a582fb296935c905716fc7c4e52ec8 4e21db59a42fc4e448fa7a1293c795d923a83df350d327b17483194842fcaf7d0fb3af784a698ed5ef79cef28c448c4c +SERVER_TRAFFIC_SECRET_0 84cdd88ebedc0f3ea4e3c46b551962c214a582fb296935c905716fc7c4e52ec8 661a1adee044bc892decb1894bc4cab3467401dc7420e42c290a6548f47889c2b454560770daf1266b86fc9b01d23a42 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 84cdd88ebedc0f3ea4e3c46b551962c214a582fb296935c905716fc7c4e52ec8 90ee0cf861d3cb90d9b8652426baf8616a922e1c2322737cbc5199af681cc166aae92b60c42c40030af7de3a132d598f +SERVER_HANDSHAKE_TRAFFIC_SECRET 84cdd88ebedc0f3ea4e3c46b551962c214a582fb296935c905716fc7c4e52ec8 7e2bf57ee6a62fc85e2c90195594371fe8246b4987160f203007e49f7ecbfb53f66edaadf30b4288f450dbddc5449bcd +CLIENT_TRAFFIC_SECRET_0 84cdd88ebedc0f3ea4e3c46b551962c214a582fb296935c905716fc7c4e52ec8 4e21db59a42fc4e448fa7a1293c795d923a83df350d327b17483194842fcaf7d0fb3af784a698ed5ef79cef28c448c4c +SERVER_TRAFFIC_SECRET_0 84cdd88ebedc0f3ea4e3c46b551962c214a582fb296935c905716fc7c4e52ec8 661a1adee044bc892decb1894bc4cab3467401dc7420e42c290a6548f47889c2b454560770daf1266b86fc9b01d23a42 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 734172b7d57463ab89c2d8dd08e6ec5e0508054ee9263ab9e3b4aa0c28d9850b 9130a04cfb0c729bab3c899f4428621511dcdb8e7968ca68d5d556f0b7832cd05f28bf9ab94ffedcd1cc8748c2f2be45 +SERVER_HANDSHAKE_TRAFFIC_SECRET 734172b7d57463ab89c2d8dd08e6ec5e0508054ee9263ab9e3b4aa0c28d9850b 7a91f2277e6b43bdcc4549cd7bdd6fdf1f37a6b17a1df9afdf3256b14a0330c683b30e770abca64e49c5dc0ad54a1512 +CLIENT_TRAFFIC_SECRET_0 734172b7d57463ab89c2d8dd08e6ec5e0508054ee9263ab9e3b4aa0c28d9850b 630a419955acf1848dad4600e5d6c757f95795c9d6c9ace5fd2c279b13dfe7538654593afd5e6ef37529cf2db6aebc4a +SERVER_TRAFFIC_SECRET_0 734172b7d57463ab89c2d8dd08e6ec5e0508054ee9263ab9e3b4aa0c28d9850b e54392f4945803a1560f51a386d31ce57874a680c29ad742bc6e17e75407896a68528e5fdd9154e0f208b4383a5711ef +CLIENT_HANDSHAKE_TRAFFIC_SECRET 734172b7d57463ab89c2d8dd08e6ec5e0508054ee9263ab9e3b4aa0c28d9850b 9130a04cfb0c729bab3c899f4428621511dcdb8e7968ca68d5d556f0b7832cd05f28bf9ab94ffedcd1cc8748c2f2be45 +SERVER_HANDSHAKE_TRAFFIC_SECRET 734172b7d57463ab89c2d8dd08e6ec5e0508054ee9263ab9e3b4aa0c28d9850b 7a91f2277e6b43bdcc4549cd7bdd6fdf1f37a6b17a1df9afdf3256b14a0330c683b30e770abca64e49c5dc0ad54a1512 +CLIENT_TRAFFIC_SECRET_0 734172b7d57463ab89c2d8dd08e6ec5e0508054ee9263ab9e3b4aa0c28d9850b 630a419955acf1848dad4600e5d6c757f95795c9d6c9ace5fd2c279b13dfe7538654593afd5e6ef37529cf2db6aebc4a +SERVER_TRAFFIC_SECRET_0 734172b7d57463ab89c2d8dd08e6ec5e0508054ee9263ab9e3b4aa0c28d9850b e54392f4945803a1560f51a386d31ce57874a680c29ad742bc6e17e75407896a68528e5fdd9154e0f208b4383a5711ef +CLIENT_HANDSHAKE_TRAFFIC_SECRET 29a2ed0f68ae9dd57e4ebd781a1da04a841733f913df8e7a6b7505403563791f cd4751074672a730c465cfff0362b985eaf35daecb1ce24539e1129a0de768811f52d3c72e7912c83a30919c00c50904 +SERVER_HANDSHAKE_TRAFFIC_SECRET 29a2ed0f68ae9dd57e4ebd781a1da04a841733f913df8e7a6b7505403563791f caa09bc8986c7c1c3f2a6cbb97246bbb70ca75e8f73f2787ab2ebdb1fedc5635338a167e056d756924f88470c4338b9d +CLIENT_TRAFFIC_SECRET_0 29a2ed0f68ae9dd57e4ebd781a1da04a841733f913df8e7a6b7505403563791f a68e4957eb994f75dcef0fe6b3ee087d9eaabcb322576cfcafa74854627232168d311df7cd5a249858dfd1640446b2f4 +SERVER_TRAFFIC_SECRET_0 29a2ed0f68ae9dd57e4ebd781a1da04a841733f913df8e7a6b7505403563791f 95260ec2be65f2496e98f10ae59f58883390fc24f66c42a271337f580394c7e764f988ee13713e8ab3b20db2a0c8afd1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 29a2ed0f68ae9dd57e4ebd781a1da04a841733f913df8e7a6b7505403563791f cd4751074672a730c465cfff0362b985eaf35daecb1ce24539e1129a0de768811f52d3c72e7912c83a30919c00c50904 +SERVER_HANDSHAKE_TRAFFIC_SECRET 29a2ed0f68ae9dd57e4ebd781a1da04a841733f913df8e7a6b7505403563791f caa09bc8986c7c1c3f2a6cbb97246bbb70ca75e8f73f2787ab2ebdb1fedc5635338a167e056d756924f88470c4338b9d +CLIENT_TRAFFIC_SECRET_0 29a2ed0f68ae9dd57e4ebd781a1da04a841733f913df8e7a6b7505403563791f a68e4957eb994f75dcef0fe6b3ee087d9eaabcb322576cfcafa74854627232168d311df7cd5a249858dfd1640446b2f4 +SERVER_TRAFFIC_SECRET_0 29a2ed0f68ae9dd57e4ebd781a1da04a841733f913df8e7a6b7505403563791f 95260ec2be65f2496e98f10ae59f58883390fc24f66c42a271337f580394c7e764f988ee13713e8ab3b20db2a0c8afd1 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 83c66c3925580fe66ffc7dc35373ea9dfb841e58f66ccae8fa4bd11f66743c4f b586b9291c4b3c11529ba80b46ebbbe32dc5c54e0853d20882ee5cfaedf1fbedba03c856478914b160fff53a68d9b0ea +SERVER_HANDSHAKE_TRAFFIC_SECRET 83c66c3925580fe66ffc7dc35373ea9dfb841e58f66ccae8fa4bd11f66743c4f 5e2e4863b00a05ccb392268af41c1c58e104311dbace757860c428f19cbc9c6ed9cf37b96a280d10c80ee4843afff391 +CLIENT_TRAFFIC_SECRET_0 83c66c3925580fe66ffc7dc35373ea9dfb841e58f66ccae8fa4bd11f66743c4f b8b500a2755bf6667eb1cdb381bb3b547c6b35eba8f0d92aa7d91c380b32b82be1151279d5fc0023a0657617d5bb2f79 +SERVER_TRAFFIC_SECRET_0 83c66c3925580fe66ffc7dc35373ea9dfb841e58f66ccae8fa4bd11f66743c4f bf988a5d11eb205d8486e2418e56c474ac570a6054c627b183b7d77930bc1719dc77dfcea76f6239002b9e120c25ce76 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 83c66c3925580fe66ffc7dc35373ea9dfb841e58f66ccae8fa4bd11f66743c4f b586b9291c4b3c11529ba80b46ebbbe32dc5c54e0853d20882ee5cfaedf1fbedba03c856478914b160fff53a68d9b0ea +SERVER_HANDSHAKE_TRAFFIC_SECRET 83c66c3925580fe66ffc7dc35373ea9dfb841e58f66ccae8fa4bd11f66743c4f 5e2e4863b00a05ccb392268af41c1c58e104311dbace757860c428f19cbc9c6ed9cf37b96a280d10c80ee4843afff391 +CLIENT_TRAFFIC_SECRET_0 83c66c3925580fe66ffc7dc35373ea9dfb841e58f66ccae8fa4bd11f66743c4f b8b500a2755bf6667eb1cdb381bb3b547c6b35eba8f0d92aa7d91c380b32b82be1151279d5fc0023a0657617d5bb2f79 +SERVER_TRAFFIC_SECRET_0 83c66c3925580fe66ffc7dc35373ea9dfb841e58f66ccae8fa4bd11f66743c4f bf988a5d11eb205d8486e2418e56c474ac570a6054c627b183b7d77930bc1719dc77dfcea76f6239002b9e120c25ce76 +CLIENT_HANDSHAKE_TRAFFIC_SECRET ff438a4000a76f444ed083285f216fccda49000fd46b1d23722b96861b7f864e 7046441bdf0dc1c140036665f7fd5e213281a55f66481c3e5e0fdae5a0f8c55a79859a0af3c1a4bad81861e23a5b549c +SERVER_HANDSHAKE_TRAFFIC_SECRET ff438a4000a76f444ed083285f216fccda49000fd46b1d23722b96861b7f864e 823b61d2c6a39dec0ad5a9d094d59f47cc5d02148ffe22fe3ac478d472b8e41efeb7600e957ab422a33d97dd5cba737d +CLIENT_TRAFFIC_SECRET_0 ff438a4000a76f444ed083285f216fccda49000fd46b1d23722b96861b7f864e e37b9e2a5e2f0fb22b75b951a9d339c5d5a8428d69ba8747cd99b1a5f7ee9ca16634198f6e7cf5c1dbfedfdd35b5be0f +SERVER_TRAFFIC_SECRET_0 ff438a4000a76f444ed083285f216fccda49000fd46b1d23722b96861b7f864e b93c51a4cf21b723a4bdea1aba3ea1ce2ba8a30b8bf58164c5fa357b6496c18f19443ac722465c841c802d501f1fe6ba +CLIENT_HANDSHAKE_TRAFFIC_SECRET ff438a4000a76f444ed083285f216fccda49000fd46b1d23722b96861b7f864e 7046441bdf0dc1c140036665f7fd5e213281a55f66481c3e5e0fdae5a0f8c55a79859a0af3c1a4bad81861e23a5b549c +SERVER_HANDSHAKE_TRAFFIC_SECRET ff438a4000a76f444ed083285f216fccda49000fd46b1d23722b96861b7f864e 823b61d2c6a39dec0ad5a9d094d59f47cc5d02148ffe22fe3ac478d472b8e41efeb7600e957ab422a33d97dd5cba737d +SERVER_TRAFFIC_SECRET_0 ff438a4000a76f444ed083285f216fccda49000fd46b1d23722b96861b7f864e b93c51a4cf21b723a4bdea1aba3ea1ce2ba8a30b8bf58164c5fa357b6496c18f19443ac722465c841c802d501f1fe6ba +CLIENT_HANDSHAKE_TRAFFIC_SECRET 62710a516b6fc6c458f2ea11e5d6a7d34d862ba05dc516304841dc01a7b03f0b 7c8097b11e8e056317ffc6eed6bd8dc51849561881ec8a8382da4a00791925de5e4c074dcafcb7742910d8c1fe9dc542 +SERVER_HANDSHAKE_TRAFFIC_SECRET 62710a516b6fc6c458f2ea11e5d6a7d34d862ba05dc516304841dc01a7b03f0b a0de1f451a9198b46ea35929e38440b92319dbb25c375fdceb5bfb2f014b5add8dc851f525be10a4552a47ef7c8122a5 +CLIENT_TRAFFIC_SECRET_0 62710a516b6fc6c458f2ea11e5d6a7d34d862ba05dc516304841dc01a7b03f0b 543435e93f6d95cd4e4222bc48079572a29d56e8a97930e63e20a8343444da3fc370743d94569d8d95f2b9aff92d0ea1 +SERVER_TRAFFIC_SECRET_0 62710a516b6fc6c458f2ea11e5d6a7d34d862ba05dc516304841dc01a7b03f0b 4c7fb57c3146690a06875bbc92172160486f632fd21864576dfe698b0f1ade59b7e66963aa620d748def89cc7cfa2230 +CLIENT_HANDSHAKE_TRAFFIC_SECRET 62710a516b6fc6c458f2ea11e5d6a7d34d862ba05dc516304841dc01a7b03f0b 7c8097b11e8e056317ffc6eed6bd8dc51849561881ec8a8382da4a00791925de5e4c074dcafcb7742910d8c1fe9dc542 +SERVER_HANDSHAKE_TRAFFIC_SECRET 62710a516b6fc6c458f2ea11e5d6a7d34d862ba05dc516304841dc01a7b03f0b a0de1f451a9198b46ea35929e38440b92319dbb25c375fdceb5bfb2f014b5add8dc851f525be10a4552a47ef7c8122a5 +SERVER_TRAFFIC_SECRET_0 62710a516b6fc6c458f2ea11e5d6a7d34d862ba05dc516304841dc01a7b03f0b 4c7fb57c3146690a06875bbc92172160486f632fd21864576dfe698b0f1ade59b7e66963aa620d748def89cc7cfa2230