From 608631c7922906eb565bcc48ccf5da1d06b53726 Mon Sep 17 00:00:00 2001 From: PanagiotisChar Date: Fri, 28 Jun 2024 10:38:07 +0300 Subject: [PATCH] Updated SDK to cServer 90 Updated SDK to cServer 90 --- samples/WinForms.Sample/Main.cs | 9 +- samples/WinForms.Sample/Main.resx | 120 + src/OpenAPI.Net/Helpers/MessageFactory.cs | 92 +- .../Messages/OpenApiCommonMessages.cs | 65 +- .../Messages/OpenApiCommonModelMessages.cs | 8 +- src/OpenAPI.Net/Messages/OpenApiMessages.cs | 4724 +++++++++++++++-- .../Messages/OpenApiModelMessages.cs | 2733 +++++++--- 7 files changed, 6585 insertions(+), 1166 deletions(-) create mode 100644 samples/WinForms.Sample/Main.resx diff --git a/samples/WinForms.Sample/Main.cs b/samples/WinForms.Sample/Main.cs index 84e2370..0435307 100644 --- a/samples/WinForms.Sample/Main.cs +++ b/samples/WinForms.Sample/Main.cs @@ -454,7 +454,14 @@ private void btnClosePosition_Click(object sender, EventArgs e) }.ToByteString(), PayloadType = (int)ProtoOAPayloadType.ProtoOaClosePositionReq, }; - + message = new ProtoMessage + { + Payload = new ProtoOAGetPositionUnrealizedPnLReq + { + CtidTraderAccountId = _accountID, + }.ToByteString(), + PayloadType = (int)ProtoOAPayloadType.ProtoOaGetPositionUnrealizedPnlReq, + }; Transmit(message); } diff --git a/samples/WinForms.Sample/Main.resx b/samples/WinForms.Sample/Main.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/samples/WinForms.Sample/Main.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/src/OpenAPI.Net/Helpers/MessageFactory.cs b/src/OpenAPI.Net/Helpers/MessageFactory.cs index 730daea..ab99331 100644 --- a/src/OpenAPI.Net/Helpers/MessageFactory.cs +++ b/src/OpenAPI.Net/Helpers/MessageFactory.cs @@ -43,48 +43,96 @@ public static IMessage GetMessage(ProtoMessage protoMessage) return protoMessage.PayloadType switch { - (int)ProtoOAPayloadType.ProtoOaErrorRes => ProtoOAErrorRes.Parser.ParseFrom(payload), (int)ProtoPayloadType.HeartbeatEvent => ProtoHeartbeatEvent.Parser.ParseFrom(payload), - (int)ProtoOAPayloadType.ProtoOaAccountAuthRes => ProtoOAAccountAuthRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaApplicationAuthReq => ProtoOAApplicationAuthReq.Parser.ParseFrom(payload), (int)ProtoOAPayloadType.ProtoOaApplicationAuthRes => ProtoOAApplicationAuthRes.Parser.ParseFrom(payload), - (int)ProtoOAPayloadType.ProtoOaClientDisconnectEvent => ProtoOAClientDisconnectEvent.Parser.ParseFrom(payload), - (int)ProtoOAPayloadType.ProtoOaDealListRes => ProtoOADealListRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaAccountAuthReq => ProtoOAAccountAuthReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaAccountAuthRes => ProtoOAAccountAuthRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaVersionReq => ProtoOAVersionReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaVersionRes => ProtoOAVersionRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaNewOrderReq => ProtoOANewOrderReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaTrailingSlChangedEvent => ProtoOATrailingSLChangedEvent.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaCancelOrderReq => ProtoOACancelOrderReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaAmendOrderReq => ProtoOAAmendOrderReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaAmendPositionSltpReq => ProtoOAAmendPositionSLTPReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaClosePositionReq => ProtoOAClosePositionReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaAssetListReq => ProtoOAAssetListReq.Parser.ParseFrom(payload), (int)ProtoOAPayloadType.ProtoOaAssetListRes => ProtoOAAssetListRes.Parser.ParseFrom(payload), - (int)ProtoOAPayloadType.ProtoOaAssetClassListRes => ProtoOAAssetClassListRes.Parser.ParseFrom(payload), - (int)ProtoOAPayloadType.ProtoOaAccountsTokenInvalidatedEvent => ProtoOAAccountsTokenInvalidatedEvent.Parser.ParseFrom(payload), - (int)ProtoOAPayloadType.ProtoOaCashFlowHistoryListRes => ProtoOACashFlowHistoryListRes.Parser.ParseFrom(payload), - (int)ProtoOAPayloadType.ProtoOaExecutionEvent => ProtoOAExecutionEvent.Parser.ParseFrom(payload), - (int)ProtoOAPayloadType.ProtoOaExpectedMarginRes => ProtoOAExpectedMarginRes.Parser.ParseFrom(payload), - (int)ProtoOAPayloadType.ProtoOaGetAccountsByAccessTokenRes => ProtoOAGetAccountListByAccessTokenRes.Parser.ParseFrom(payload), - (int)ProtoOAPayloadType.ProtoOaGetTickdataRes => ProtoOAGetTickDataRes.Parser.ParseFrom(payload), - (int)ProtoOAPayloadType.ProtoOaGetTrendbarsRes => ProtoOAGetTrendbarsRes.Parser.ParseFrom(payload), - (int)ProtoOAPayloadType.ProtoOaMarginChangedEvent => ProtoOAMarginChangedEvent.Parser.ParseFrom(payload), - (int)ProtoOAPayloadType.ProtoOaOrderErrorEvent => ProtoOAOrderErrorEvent.Parser.ParseFrom(payload), - (int)ProtoOAPayloadType.ProtoOaReconcileRes => ProtoOAReconcileRes.Parser.ParseFrom(payload), - (int)ProtoOAPayloadType.ProtoOaSpotEvent => ProtoOASpotEvent.Parser.ParseFrom(payload), - (int)ProtoOAPayloadType.ProtoOaSubscribeSpotsRes => ProtoOASubscribeSpotsRes.Parser.ParseFrom(payload), - (int)ProtoOAPayloadType.ProtoOaSymbolsForConversionRes => ProtoOASymbolsForConversionRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaSymbolsListReq => ProtoOASymbolsListReq.Parser.ParseFrom(payload), (int)ProtoOAPayloadType.ProtoOaSymbolsListRes => ProtoOASymbolsListRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaSymbolByIdReq => ProtoOASymbolByIdReq.Parser.ParseFrom(payload), (int)ProtoOAPayloadType.ProtoOaSymbolByIdRes => ProtoOASymbolByIdRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaSymbolsForConversionReq => ProtoOASymbolsForConversionReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaSymbolsForConversionRes => ProtoOASymbolsForConversionRes.Parser.ParseFrom(payload), (int)ProtoOAPayloadType.ProtoOaSymbolChangedEvent => ProtoOASymbolChangedEvent.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaTraderReq => ProtoOATraderReq.Parser.ParseFrom(payload), (int)ProtoOAPayloadType.ProtoOaTraderRes => ProtoOATraderRes.Parser.ParseFrom(payload), (int)ProtoOAPayloadType.ProtoOaTraderUpdateEvent => ProtoOATraderUpdatedEvent.Parser.ParseFrom(payload), - (int)ProtoOAPayloadType.ProtoOaTrailingSlChangedEvent => ProtoOATrailingSLChangedEvent.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaReconcileReq => ProtoOAReconcileReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaReconcileRes => ProtoOAReconcileRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaExecutionEvent => ProtoOAExecutionEvent.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaSubscribeSpotsReq => ProtoOASubscribeSpotsReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaSubscribeSpotsRes => ProtoOASubscribeSpotsRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaUnsubscribeSpotsReq => ProtoOAUnsubscribeSpotsReq.Parser.ParseFrom(payload), (int)ProtoOAPayloadType.ProtoOaUnsubscribeSpotsRes => ProtoOAUnsubscribeSpotsRes.Parser.ParseFrom(payload), - (int)ProtoOAPayloadType.ProtoOaVersionRes => ProtoOAVersionRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaSpotEvent => ProtoOASpotEvent.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaOrderErrorEvent => ProtoOAOrderErrorEvent.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaDealListReq => ProtoOADealListReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaDealListRes => ProtoOADealListRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaSubscribeLiveTrendbarReq => ProtoOASubscribeLiveTrendbarReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaUnsubscribeLiveTrendbarReq => ProtoOAUnsubscribeLiveTrendbarReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaGetTrendbarsReq => ProtoOAGetTrendbarsReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaGetTrendbarsRes => ProtoOAGetTrendbarsRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaExpectedMarginReq => ProtoOAGetTrendbarsReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaExpectedMarginRes => ProtoOAExpectedMarginRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaMarginChangedEvent => ProtoOAMarginChangedEvent.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaErrorRes => ProtoOAErrorRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaCashFlowHistoryListReq => ProtoOACashFlowHistoryListReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaCashFlowHistoryListRes => ProtoOACashFlowHistoryListRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaGetTickdataReq => ProtoOAGetTickDataReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaGetTickdataRes => ProtoOAGetTickDataRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaAccountsTokenInvalidatedEvent => ProtoOAAccountsTokenInvalidatedEvent.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaClientDisconnectEvent => ProtoOAClientDisconnectEvent.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaGetAccountsByAccessTokenReq => ProtoOAGetAccountListByAccessTokenReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaGetAccountsByAccessTokenRes => ProtoOAGetAccountListByAccessTokenRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaGetCtidProfileByTokenReq => ProtoOAGetCtidProfileByTokenReq.Parser.ParseFrom(payload), (int)ProtoOAPayloadType.ProtoOaGetCtidProfileByTokenRes => ProtoOAGetCtidProfileByTokenRes.Parser.ParseFrom(payload), - (int)ProtoOAPayloadType.ProtoOaSymbolCategoryRes => ProtoOASymbolCategoryListRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaAssetClassListReq => ProtoOAAssetClassListReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaAssetClassListRes => ProtoOAAssetClassListRes.Parser.ParseFrom(payload), (int)ProtoOAPayloadType.ProtoOaDepthEvent => ProtoOADepthEvent.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaSubscribeDepthQuotesReq => ProtoOASubscribeDepthQuotesReq.Parser.ParseFrom(payload), (int)ProtoOAPayloadType.ProtoOaSubscribeDepthQuotesRes => ProtoOASubscribeDepthQuotesRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaUnsubscribeDepthQuotesReq => ProtoOAUnsubscribeDepthQuotesReq.Parser.ParseFrom(payload), (int)ProtoOAPayloadType.ProtoOaUnsubscribeDepthQuotesRes => ProtoOAUnsubscribeDepthQuotesRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaSymbolCategoryReq => ProtoOASymbolCategoryListReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaSymbolCategoryRes => ProtoOASymbolCategoryListRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaAccountLogoutReq => ProtoOAAccountLogoutReq.Parser.ParseFrom(payload), (int)ProtoOAPayloadType.ProtoOaAccountLogoutRes => ProtoOAAccountLogoutRes.Parser.ParseFrom(payload), - (int)ProtoOAPayloadType.ProtoOaRefreshTokenRes => ProtoOARefreshTokenRes.Parser.ParseFrom(payload), (int)ProtoOAPayloadType.ProtoOaAccountDisconnectEvent => ProtoOAAccountDisconnectEvent.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaSubscribeLiveTrendbarRes => ProtoOASubscribeLiveTrendbarRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaUnsubscribeLiveTrendbarRes => ProtoOAUnsubscribeLiveTrendbarRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaMarginCallListReq => ProtoOAMarginCallListReq.Parser.ParseFrom(payload), (int)ProtoOAPayloadType.ProtoOaMarginCallListRes => ProtoOAMarginCallListRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaMarginCallUpdateReq => ProtoOAMarginCallUpdateReq.Parser.ParseFrom(payload), (int)ProtoOAPayloadType.ProtoOaMarginCallUpdateRes => ProtoOAMarginCallUpdateRes.Parser.ParseFrom(payload), (int)ProtoOAPayloadType.ProtoOaMarginCallUpdateEvent => ProtoOAMarginCallUpdateEvent.Parser.ParseFrom(payload), (int)ProtoOAPayloadType.ProtoOaMarginCallTriggerEvent => ProtoOAMarginCallTriggerEvent.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaRefreshTokenReq => ProtoOARefreshTokenRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaRefreshTokenRes => ProtoOARefreshTokenRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaOrderListReq => ProtoOAOrderListReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaOrderListRes => ProtoOAOrderListRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaGetDynamicLeverageReq => ProtoOAGetDynamicLeverageByIDReq.Parser.ParseFrom(payload), (int)ProtoOAPayloadType.ProtoOaGetDynamicLeverageRes => ProtoOAGetDynamicLeverageByIDRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaDealListByPositionIdReq => ProtoOADealListByPositionIdReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaDealListByPositionIdRes => ProtoOADealListByPositionIdRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaOrderDetailsReq => ProtoOAOrderDetailsReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaOrderDetailsRes => ProtoOAOrderDetailsRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaOrderListByPositionIdReq => ProtoOAOrderListByPositionIdReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaOrderListByPositionIdRes => ProtoOAOrderListByPositionIdRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaDealOffsetListReq => ProtoOADealOffsetListReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaDealOffsetListRes => ProtoOADealOffsetListRes.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaGetPositionUnrealizedPnlReq => ProtoOAGetPositionUnrealizedPnLReq.Parser.ParseFrom(payload), + (int)ProtoOAPayloadType.ProtoOaGetPositionUnrealizedPnlRes => ProtoOAGetPositionUnrealizedPnLRes.Parser.ParseFrom(payload), _ => null }; } diff --git a/src/OpenAPI.Net/Messages/OpenApiCommonMessages.cs b/src/OpenAPI.Net/Messages/OpenApiCommonMessages.cs index 32e954a..af3dc55 100644 --- a/src/OpenAPI.Net/Messages/OpenApiCommonMessages.cs +++ b/src/OpenAPI.Net/Messages/OpenApiCommonMessages.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: OpenApiCommonMessages.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -30,8 +30,8 @@ static OpenApiCommonMessagesReflection() { "CRITCgtkZXNjcmlwdGlvbhgDIAEoCRIfChdtYWludGVuYW5jZUVuZFRpbWVz", "dGFtcBgEIAEoBCJOChNQcm90b0hlYXJ0YmVhdEV2ZW50EjcKC3BheWxvYWRU", "eXBlGAEgASgOMhEuUHJvdG9QYXlsb2FkVHlwZToPSEVBUlRCRUFUX0VWRU5U", - "QkIKImNvbS54dHJhZGVyLnByb3RvY29sLnByb3RvLmNvbW1vbnNCF0NvbnRh", - "aW5lckNvbW1vbk1lc3NhZ2VzUAGgAQE=")); + "QkwKImNvbS54dHJhZGVyLnByb3RvY29sLnByb3RvLmNvbW1vbnNCF0NvbnRh", + "aW5lckNvbW1vbk1lc3NhZ2VzUAFaCC9vcGVuYXBpoAEB")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::OpenApiCommonModelMessagesReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { @@ -44,6 +44,10 @@ static OpenApiCommonMessagesReflection() { } #region Messages +/// +///* Base message that is used for all messages that are sent to/from Open API proxy of cTrader platform. +/// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoMessage : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -98,7 +102,7 @@ public ProtoMessage Clone() { private uint payloadType_; /// - /// Contains id of ProtoPayloadType or other custom PayloadTypes (e.g. ProtoOAPayloadType) + /// Contains id of ProtoPayloadType or other custom PayloadTypes (e.g. ProtoOAPayloadType). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -128,7 +132,7 @@ public void ClearPayloadType() { private pb::ByteString payload_; /// - /// Serialized protobuf message that corresponds to payloadType + /// Serialized protobuf message that corresponds to payloadType. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -157,7 +161,7 @@ public void ClearPayload() { private string clientMsgId_; /// - /// Request message id, assigned by the client that will be returned in the response + /// Request message id, assigned by the client that will be returned in the response. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -311,7 +315,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -338,7 +346,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -361,6 +373,10 @@ public void MergeFrom(pb::CodedInputStream input) { } +/// +///* Error response that is sent from Open API proxy when error occurs. +/// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoErrorRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -443,7 +459,7 @@ public void ClearPayloadType() { private string errorCode_; /// - /// Contains name of ProtoErrorCode or other custom ErrorCodes (e.g. ProtoCHErrorCode) + /// Contains name of ProtoErrorCode or other custom ErrorCodes (e.g. ProtoCHErrorCode). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -472,7 +488,7 @@ public void ClearErrorCode() { private string description_; /// - /// Error description + /// Error description. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -501,7 +517,7 @@ public void ClearDescription() { private ulong maintenanceEndTimestamp_; /// - /// CS-10489 Epoch timestamp in second + /// The Unix time in milliseconds of the end of the maintenance. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -672,7 +688,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -703,7 +723,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -731,8 +755,9 @@ public void MergeFrom(pb::CodedInputStream input) { } /// -///* Event that is sent from Open API proxy and can be used as criteria that connection is healthy when no other messages are sent by cTrader platform. Open API client can send this message when he needs to keep the connection open for a period without other messages longer than 30 seconds +///* Event that is sent from Open API proxy and can be used as criteria that connection is healthy when no other messages are sent by cTrader platform. Open API client can send this message when he needs to keep the connection open for a period without other messages longer than 30 seconds. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoHeartbeatEvent : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -905,7 +930,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -924,7 +953,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; diff --git a/src/OpenAPI.Net/Messages/OpenApiCommonModelMessages.cs b/src/OpenAPI.Net/Messages/OpenApiCommonModelMessages.cs index cc31abc..51e2219 100644 --- a/src/OpenAPI.Net/Messages/OpenApiCommonModelMessages.cs +++ b/src/OpenAPI.Net/Messages/OpenApiCommonModelMessages.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: OpenApiCommonModelMessages.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -29,9 +29,9 @@ static OpenApiCommonModelMessagesReflection() { "TElEX1JFUVVFU1QQAxIRCg1USU1FT1VUX0VSUk9SEAUSFAoQRU5USVRZX05P", "VF9GT1VORBAGEhYKEkNBTlRfUk9VVEVfUkVRVUVTVBAHEhIKDkZSQU1FX1RP", "T19MT05HEAgSEQoNTUFSS0VUX0NMT1NFRBAJEhsKF0NPTkNVUlJFTlRfTU9E", - "SUZJQ0FUSU9OEAoSGAoUQkxPQ0tFRF9QQVlMT0FEX1RZUEUQC0JNCihjb20u", + "SUZJQ0FUSU9OEAoSGAoUQkxPQ0tFRF9QQVlMT0FEX1RZUEUQC0JXCihjb20u", "eHRyYWRlci5wcm90b2NvbC5wcm90by5jb21tb25zLm1vZGVsQhxDb250YWlu", - "ZXJDb21tb25Nb2RlbE1lc3NhZ2VzUAGgAQE=")); + "ZXJDb21tb25Nb2RlbE1lc3NhZ2VzUAFaCC9vcGVuYXBpoAEB")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { }, new pbr::GeneratedClrTypeInfo(new[] {typeof(global::ProtoPayloadType), typeof(global::ProtoErrorCode), }, null, null)); @@ -97,7 +97,7 @@ public enum ProtoErrorCode { /// [pbr::OriginalName("CONCURRENT_MODIFICATION")] ConcurrentModification = 10, /// - /// Message is blocked by server. + /// Message is blocked by server or rate limit is reached. /// [pbr::OriginalName("BLOCKED_PAYLOAD_TYPE")] BlockedPayloadType = 11, } diff --git a/src/OpenAPI.Net/Messages/OpenApiMessages.cs b/src/OpenAPI.Net/Messages/OpenApiMessages.cs index d5832ea..279e37b 100644 --- a/src/OpenAPI.Net/Messages/OpenApiMessages.cs +++ b/src/OpenAPI.Net/Messages/OpenApiMessages.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: OpenApiMessages.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -34,320 +34,354 @@ static OpenApiMessagesReflection() { "QWNjb3VudElkGAIgAigDEhMKC2FjY2Vzc1Rva2VuGAMgAigJInkKFVByb3Rv", "T0FBY2NvdW50QXV0aFJlcxJDCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3Rv", "T0FQYXlsb2FkVHlwZToZUFJPVE9fT0FfQUNDT1VOVF9BVVRIX1JFUxIbChNj", - "dGlkVHJhZGVyQWNjb3VudElkGAIgAigDIrUBCg9Qcm90b09BRXJyb3JSZXMS", + "dGlkVHJhZGVyQWNjb3VudElkGAIgAigDIskBCg9Qcm90b09BRXJyb3JSZXMS", "PAoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6ElBS", "T1RPX09BX0VSUk9SX1JFUxIbChNjdGlkVHJhZGVyQWNjb3VudElkGAIgASgD", "EhEKCWVycm9yQ29kZRgDIAIoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIfChdt", - "YWludGVuYW5jZUVuZFRpbWVzdGFtcBgFIAEoAyJ6ChxQcm90b09BQ2xpZW50", - "RGlzY29ubmVjdEV2ZW50EkoKC3BheWxvYWRUeXBlGAEgASgOMhMuUHJvdG9P", - "QVBheWxvYWRUeXBlOiBQUk9UT19PQV9DTElFTlRfRElTQ09OTkVDVF9FVkVO", - "VBIOCgZyZWFzb24YAiABKAkiqQEKJFByb3RvT0FBY2NvdW50c1Rva2VuSW52", - "YWxpZGF0ZWRFdmVudBJTCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQ", - "YXlsb2FkVHlwZTopUFJPVE9fT0FfQUNDT1VOVFNfVE9LRU5fSU5WQUxJREFU", - "RURfRVZFTlQSHAoUY3RpZFRyYWRlckFjY291bnRJZHMYAiADKAMSDgoGcmVh", - "c29uGAMgASgJIlMKEVByb3RvT0FWZXJzaW9uUmVxEj4KC3BheWxvYWRUeXBl", - "GAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOhRQUk9UT19PQV9WRVJTSU9O", - "X1JFUSJkChFQcm90b09BVmVyc2lvblJlcxI+CgtwYXlsb2FkVHlwZRgBIAEo", - "DjITLlByb3RvT0FQYXlsb2FkVHlwZToUUFJPVE9fT0FfVkVSU0lPTl9SRVMS", - "DwoHdmVyc2lvbhgCIAIoCSKxBQoSUHJvdG9PQU5ld09yZGVyUmVxEkAKC3Bh", - "eWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOhZQUk9UT19P", - "QV9ORVdfT1JERVJfUkVREhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMS", - "EAoIc3ltYm9sSWQYAyACKAMSJAoJb3JkZXJUeXBlGAQgAigOMhEuUHJvdG9P", - "QU9yZGVyVHlwZRIkCgl0cmFkZVNpZGUYBSACKA4yES5Qcm90b09BVHJhZGVT", - "aWRlEg4KBnZvbHVtZRgGIAIoAxISCgpsaW1pdFByaWNlGAcgASgBEhEKCXN0", - "b3BQcmljZRgIIAEoARI6Cgt0aW1lSW5Gb3JjZRgJIAEoDjITLlByb3RvT0FU", - "aW1lSW5Gb3JjZToQR09PRF9USUxMX0NBTkNFTBIbChNleHBpcmF0aW9uVGlt", - "ZXN0YW1wGAogASgDEhAKCHN0b3BMb3NzGAsgASgBEhIKCnRha2VQcm9maXQY", - "DCABKAESDwoHY29tbWVudBgNIAEoCRIZChFiYXNlU2xpcHBhZ2VQcmljZRgO", - "IAEoARIYChBzbGlwcGFnZUluUG9pbnRzGA8gASgFEg0KBWxhYmVsGBAgASgJ", - "EhIKCnBvc2l0aW9uSWQYESABKAMSFQoNY2xpZW50T3JkZXJJZBgSIAEoCRIY", - "ChByZWxhdGl2ZVN0b3BMb3NzGBMgASgDEhoKEnJlbGF0aXZlVGFrZVByb2Zp", - "dBgUIAEoAxIaChJndWFyYW50ZWVkU3RvcExvc3MYFSABKAgSGAoQdHJhaWxp", - "bmdTdG9wTG9zcxgWIAEoCBI8ChFzdG9wVHJpZ2dlck1ldGhvZBgXIAEoDjIa", - "LlByb3RvT0FPcmRlclRyaWdnZXJNZXRob2Q6BVRSQURFIpwDChVQcm90b09B", - "RXhlY3V0aW9uRXZlbnQSQgoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09B", - "UGF5bG9hZFR5cGU6GFBST1RPX09BX0VYRUNVVElPTl9FVkVOVBIbChNjdGlk", - "VHJhZGVyQWNjb3VudElkGAIgAigDEiwKDWV4ZWN1dGlvblR5cGUYAyACKA4y", - "FS5Qcm90b09BRXhlY3V0aW9uVHlwZRIiCghwb3NpdGlvbhgEIAEoCzIQLlBy", - "b3RvT0FQb3NpdGlvbhIcCgVvcmRlchgFIAEoCzINLlByb3RvT0FPcmRlchIa", - "CgRkZWFsGAYgASgLMgwuUHJvdG9PQURlYWwSOgoUYm9udXNEZXBvc2l0V2l0", - "aGRyYXcYByABKAsyHC5Qcm90b09BQm9udXNEZXBvc2l0V2l0aGRyYXcSMAoP", - "ZGVwb3NpdFdpdGhkcmF3GAggASgLMhcuUHJvdG9PQURlcG9zaXRXaXRoZHJh", - "dxIRCgllcnJvckNvZGUYCSABKAkSFQoNaXNTZXJ2ZXJFdmVudBgKIAEoCCKK", - "AQoVUHJvdG9PQUNhbmNlbE9yZGVyUmVxEkMKC3BheWxvYWRUeXBlGAEgASgO", - "MhMuUHJvdG9PQVBheWxvYWRUeXBlOhlQUk9UT19PQV9DQU5DRUxfT1JERVJf", - "UkVREhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMSDwoHb3JkZXJJZBgD", - "IAIoAyLGAwoUUHJvdG9PQUFtZW5kT3JkZXJSZXESQgoLcGF5bG9hZFR5cGUY", - "ASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6GFBST1RPX09BX0FNRU5EX09S", - "REVSX1JFURIbChNjdGlkVHJhZGVyQWNjb3VudElkGAIgAigDEg8KB29yZGVy", - "SWQYAyACKAMSDgoGdm9sdW1lGAQgASgDEhIKCmxpbWl0UHJpY2UYBSABKAES", - "EQoJc3RvcFByaWNlGAYgASgBEhsKE2V4cGlyYXRpb25UaW1lc3RhbXAYByAB", - "KAMSEAoIc3RvcExvc3MYCCABKAESEgoKdGFrZVByb2ZpdBgJIAEoARIYChBz", - "bGlwcGFnZUluUG9pbnRzGAogASgFEhgKEHJlbGF0aXZlU3RvcExvc3MYCyAB", - "KAMSGgoScmVsYXRpdmVUYWtlUHJvZml0GAwgASgDEhoKEmd1YXJhbnRlZWRT", - "dG9wTG9zcxgNIAEoCBIYChB0cmFpbGluZ1N0b3BMb3NzGA4gASgIEjwKEXN0", - "b3BUcmlnZ2VyTWV0aG9kGA8gASgOMhouUHJvdG9PQU9yZGVyVHJpZ2dlck1l", - "dGhvZDoFVFJBREUiuAIKG1Byb3RvT0FBbWVuZFBvc2l0aW9uU0xUUFJlcRJK", - "CgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2FkVHlwZTogUFJP", - "VE9fT0FfQU1FTkRfUE9TSVRJT05fU0xUUF9SRVESGwoTY3RpZFRyYWRlckFj", - "Y291bnRJZBgCIAIoAxISCgpwb3NpdGlvbklkGAMgAigDEhAKCHN0b3BMb3Nz", - "GAQgASgBEhIKCnRha2VQcm9maXQYBSABKAESGgoSZ3VhcmFudGVlZFN0b3BM", - "b3NzGAcgASgIEhgKEHRyYWlsaW5nU3RvcExvc3MYCCABKAgSQAoVc3RvcExv", - "c3NUcmlnZ2VyTWV0aG9kGAkgASgOMhouUHJvdG9PQU9yZGVyVHJpZ2dlck1l", - "dGhvZDoFVFJBREUioQEKF1Byb3RvT0FDbG9zZVBvc2l0aW9uUmVxEkUKC3Bh", - "eWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOhtQUk9UT19P", - "QV9DTE9TRV9QT1NJVElPTl9SRVESGwoTY3RpZFRyYWRlckFjY291bnRJZBgC", - "IAIoAxISCgpwb3NpdGlvbklkGAMgAigDEg4KBnZvbHVtZRgEIAIoAyLiAQod", - "UHJvdG9PQVRyYWlsaW5nU0xDaGFuZ2VkRXZlbnQSTAoLcGF5bG9hZFR5cGUY", - "ASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6IlBST1RPX09BX1RSQUlMSU5H", - "X1NMX0NIQU5HRURfRVZFTlQSGwoTY3RpZFRyYWRlckFjY291bnRJZBgCIAIo", - "AxISCgpwb3NpdGlvbklkGAMgAigDEg8KB29yZGVySWQYBCACKAMSEQoJc3Rv", - "cFByaWNlGAUgAigBEh4KFnV0Y0xhc3RVcGRhdGVUaW1lc3RhbXAYBiACKAMi", - "dQoTUHJvdG9PQUFzc2V0TGlzdFJlcRJBCgtwYXlsb2FkVHlwZRgBIAEoDjIT", - "LlByb3RvT0FQYXlsb2FkVHlwZToXUFJPVE9fT0FfQVNTRVRfTElTVF9SRVES", - "GwoTY3RpZFRyYWRlckFjY291bnRJZBgCIAIoAyKTAQoTUHJvdG9PQUFzc2V0", - "TGlzdFJlcxJBCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2Fk", - "VHlwZToXUFJPVE9fT0FfQVNTRVRfTElTVF9SRVMSGwoTY3RpZFRyYWRlckFj", - "Y291bnRJZBgCIAIoAxIcCgVhc3NldBgDIAMoCzINLlByb3RvT0FBc3NldCKg", - "AQoVUHJvdG9PQVN5bWJvbHNMaXN0UmVxEkMKC3BheWxvYWRUeXBlGAEgASgO", - "MhMuUHJvdG9PQVBheWxvYWRUeXBlOhlQUk9UT19PQV9TWU1CT0xTX0xJU1Rf", - "UkVREhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMSJQoWaW5jbHVkZUFy", - "Y2hpdmVkU3ltYm9scxgDIAEoCDoFZmFsc2UizgEKFVByb3RvT0FTeW1ib2xz", - "TGlzdFJlcxJDCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2Fk", - "VHlwZToZUFJPVE9fT0FfU1lNQk9MU19MSVNUX1JFUxIbChNjdGlkVHJhZGVy", - "QWNjb3VudElkGAIgAigDEiMKBnN5bWJvbBgDIAMoCzITLlByb3RvT0FMaWdo", - "dFN5bWJvbBIuCg5hcmNoaXZlZFN5bWJvbBgEIAMoCzIWLlByb3RvT0FBcmNo", - "aXZlZFN5bWJvbCKKAQoUUHJvdG9PQVN5bWJvbEJ5SWRSZXESQwoLcGF5bG9h", - "ZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6GVBST1RPX09BX1NZ", - "TUJPTF9CWV9JRF9SRVESGwoTY3RpZFRyYWRlckFjY291bnRJZBgCIAIoAxIQ", - "CghzeW1ib2xJZBgDIAMoAyLIAQoUUHJvdG9PQVN5bWJvbEJ5SWRSZXMSQwoL", - "cGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6GVBST1RP", - "X09BX1NZTUJPTF9CWV9JRF9SRVMSGwoTY3RpZFRyYWRlckFjY291bnRJZBgC", - "IAIoAxIeCgZzeW1ib2wYAyADKAsyDi5Qcm90b09BU3ltYm9sEi4KDmFyY2hp", - "dmVkU3ltYm9sGAQgAygLMhYuUHJvdG9PQUFyY2hpdmVkU3ltYm9sIrcBCh5Q", - "cm90b09BU3ltYm9sc0ZvckNvbnZlcnNpb25SZXESTQoLcGF5bG9hZFR5cGUY", - "ASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6I1BST1RPX09BX1NZTUJPTFNf", - "Rk9SX0NPTlZFUlNJT05fUkVREhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiAC", - "KAMSFAoMZmlyc3RBc3NldElkGAMgAigDEhMKC2xhc3RBc3NldElkGAQgAigD", - "IrEBCh5Qcm90b09BU3ltYm9sc0ZvckNvbnZlcnNpb25SZXMSTQoLcGF5bG9h", - "ZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6I1BST1RPX09BX1NZ", - "TUJPTFNfRk9SX0NPTlZFUlNJT05fUkVTEhsKE2N0aWRUcmFkZXJBY2NvdW50", - "SWQYAiACKAMSIwoGc3ltYm9sGAMgAygLMhMuUHJvdG9PQUxpZ2h0U3ltYm9s", - "IpMBChlQcm90b09BU3ltYm9sQ2hhbmdlZEV2ZW50EkcKC3BheWxvYWRUeXBl", - "GAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOh1QUk9UT19PQV9TWU1CT0xf", - "Q0hBTkdFRF9FVkVOVBIbChNjdGlkVHJhZGVyQWNjb3VudElkGAIgAigDEhAK", - "CHN5bWJvbElkGAMgAygDIoABChhQcm90b09BQXNzZXRDbGFzc0xpc3RSZXES", - "RwoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6HVBS", - "T1RPX09BX0FTU0VUX0NMQVNTX0xJU1RfUkVREhsKE2N0aWRUcmFkZXJBY2Nv", - "dW50SWQYAiACKAMiqAEKGFByb3RvT0FBc3NldENsYXNzTGlzdFJlcxJHCgtw", - "YXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2FkVHlwZTodUFJPVE9f", - "T0FfQVNTRVRfQ0xBU1NfTElTVF9SRVMSGwoTY3RpZFRyYWRlckFjY291bnRJ", - "ZBgCIAIoAxImCgphc3NldENsYXNzGAMgAygLMhIuUHJvdG9PQUFzc2V0Q2xh", - "c3MibgoQUHJvdG9PQVRyYWRlclJlcRI9CgtwYXlsb2FkVHlwZRgBIAEoDjIT", - "LlByb3RvT0FQYXlsb2FkVHlwZToTUFJPVE9fT0FfVFJBREVSX1JFURIbChNj", - "dGlkVHJhZGVyQWNjb3VudElkGAIgAigDIo4BChBQcm90b09BVHJhZGVyUmVz", - "Ej0KC3BheWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOhNQ", - "Uk9UT19PQV9UUkFERVJfUkVTEhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiAC", - "KAMSHgoGdHJhZGVyGAMgAigLMg4uUHJvdG9PQVRyYWRlciKgAQoZUHJvdG9P", - "QVRyYWRlclVwZGF0ZWRFdmVudBJGCgtwYXlsb2FkVHlwZRgBIAEoDjITLlBy", - "b3RvT0FQYXlsb2FkVHlwZTocUFJPVE9fT0FfVFJBREVSX1VQREFURV9FVkVO", - "VBIbChNjdGlkVHJhZGVyQWNjb3VudElkGAIgAigDEh4KBnRyYWRlchgDIAIo", - "CzIOLlByb3RvT0FUcmFkZXIidAoTUHJvdG9PQVJlY29uY2lsZVJlcRJACgtw", - "YXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2FkVHlwZToWUFJPVE9f", - "T0FfUkVDT05DSUxFX1JFURIbChNjdGlkVHJhZGVyQWNjb3VudElkGAIgAigD", - "IrYBChNQcm90b09BUmVjb25jaWxlUmVzEkAKC3BheWxvYWRUeXBlGAEgASgO", - "MhMuUHJvdG9PQVBheWxvYWRUeXBlOhZQUk9UT19PQV9SRUNPTkNJTEVfUkVT", - "EhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMSIgoIcG9zaXRpb24YAyAD", - "KAsyEC5Qcm90b09BUG9zaXRpb24SHAoFb3JkZXIYBCADKAsyDS5Qcm90b09B", - "T3JkZXIiyAEKFlByb3RvT0FPcmRlckVycm9yRXZlbnQSRAoLcGF5bG9hZFR5", - "cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6GlBST1RPX09BX09SREVS", - "X0VSUk9SX0VWRU5UEhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYBSACKAMSEQoJ", - "ZXJyb3JDb2RlGAIgAigJEg8KB29yZGVySWQYAyABKAMSEgoKcG9zaXRpb25J", - "ZBgGIAEoAxITCgtkZXNjcmlwdGlvbhgHIAEoCSKwAQoSUHJvdG9PQURlYWxM", - "aXN0UmVxEkAKC3BheWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRU", - "eXBlOhZQUk9UT19PQV9ERUFMX0xJU1RfUkVREhsKE2N0aWRUcmFkZXJBY2Nv", - "dW50SWQYAiACKAMSFQoNZnJvbVRpbWVzdGFtcBgDIAIoAxITCgt0b1RpbWVz", - "dGFtcBgEIAIoAxIPCgdtYXhSb3dzGAUgASgFIqABChJQcm90b09BRGVhbExp", - "c3RSZXMSQAoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5", - "cGU6FlBST1RPX09BX0RFQUxfTElTVF9SRVMSGwoTY3RpZFRyYWRlckFjY291", - "bnRJZBgCIAIoAxIaCgRkZWFsGAMgAygLMgwuUHJvdG9PQURlYWwSDwoHaGFz", - "TW9yZRgEIAIoCCKhAQoTUHJvdG9PQU9yZGVyTGlzdFJlcRJBCgtwYXlsb2Fk", - "VHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2FkVHlwZToXUFJPVE9fT0FfT1JE", - "RVJfTElTVF9SRVESGwoTY3RpZFRyYWRlckFjY291bnRJZBgCIAIoAxIVCg1m", - "cm9tVGltZXN0YW1wGAMgAigDEhMKC3RvVGltZXN0YW1wGAQgAigDIqQBChNQ", - "cm90b09BT3JkZXJMaXN0UmVzEkEKC3BheWxvYWRUeXBlGAEgASgOMhMuUHJv", - "dG9PQVBheWxvYWRUeXBlOhdQUk9UT19PQV9PUkRFUl9MSVNUX1JFUxIbChNj", - "dGlkVHJhZGVyQWNjb3VudElkGAIgAigDEhwKBW9yZGVyGAMgAygLMg0uUHJv", - "dG9PQU9yZGVyEg8KB2hhc01vcmUYBCACKAgioQEKGFByb3RvT0FFeHBlY3Rl", - "ZE1hcmdpblJlcRJGCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXls", - "b2FkVHlwZTocUFJPVE9fT0FfRVhQRUNURURfTUFSR0lOX1JFURIbChNjdGlk", - "VHJhZGVyQWNjb3VudElkGAIgAigDEhAKCHN5bWJvbElkGAMgAigDEg4KBnZv", - "bHVtZRgEIAMoAyK8AQoYUHJvdG9PQUV4cGVjdGVkTWFyZ2luUmVzEkYKC3Bh", + "YWludGVuYW5jZUVuZFRpbWVzdGFtcBgFIAEoAxISCgpyZXRyeUFmdGVyGAYg", + "ASgEInoKHFByb3RvT0FDbGllbnREaXNjb25uZWN0RXZlbnQSSgoLcGF5bG9h", + "ZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6IFBST1RPX09BX0NM", + "SUVOVF9ESVNDT05ORUNUX0VWRU5UEg4KBnJlYXNvbhgCIAEoCSKpAQokUHJv", + "dG9PQUFjY291bnRzVG9rZW5JbnZhbGlkYXRlZEV2ZW50ElMKC3BheWxvYWRU", + "eXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOilQUk9UT19PQV9BQ0NP", + "VU5UU19UT0tFTl9JTlZBTElEQVRFRF9FVkVOVBIcChRjdGlkVHJhZGVyQWNj", + "b3VudElkcxgCIAMoAxIOCgZyZWFzb24YAyABKAkiUwoRUHJvdG9PQVZlcnNp", + "b25SZXESPgoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5", + "cGU6FFBST1RPX09BX1ZFUlNJT05fUkVRImQKEVByb3RvT0FWZXJzaW9uUmVz", + "Ej4KC3BheWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOhRQ", + "Uk9UT19PQV9WRVJTSU9OX1JFUxIPCgd2ZXJzaW9uGAIgAigJIrEFChJQcm90", + "b09BTmV3T3JkZXJSZXESQAoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09B", + "UGF5bG9hZFR5cGU6FlBST1RPX09BX05FV19PUkRFUl9SRVESGwoTY3RpZFRy", + "YWRlckFjY291bnRJZBgCIAIoAxIQCghzeW1ib2xJZBgDIAIoAxIkCglvcmRl", + "clR5cGUYBCACKA4yES5Qcm90b09BT3JkZXJUeXBlEiQKCXRyYWRlU2lkZRgF", + "IAIoDjIRLlByb3RvT0FUcmFkZVNpZGUSDgoGdm9sdW1lGAYgAigDEhIKCmxp", + "bWl0UHJpY2UYByABKAESEQoJc3RvcFByaWNlGAggASgBEjoKC3RpbWVJbkZv", + "cmNlGAkgASgOMhMuUHJvdG9PQVRpbWVJbkZvcmNlOhBHT09EX1RJTExfQ0FO", + "Q0VMEhsKE2V4cGlyYXRpb25UaW1lc3RhbXAYCiABKAMSEAoIc3RvcExvc3MY", + "CyABKAESEgoKdGFrZVByb2ZpdBgMIAEoARIPCgdjb21tZW50GA0gASgJEhkK", + "EWJhc2VTbGlwcGFnZVByaWNlGA4gASgBEhgKEHNsaXBwYWdlSW5Qb2ludHMY", + "DyABKAUSDQoFbGFiZWwYECABKAkSEgoKcG9zaXRpb25JZBgRIAEoAxIVCg1j", + "bGllbnRPcmRlcklkGBIgASgJEhgKEHJlbGF0aXZlU3RvcExvc3MYEyABKAMS", + "GgoScmVsYXRpdmVUYWtlUHJvZml0GBQgASgDEhoKEmd1YXJhbnRlZWRTdG9w", + "TG9zcxgVIAEoCBIYChB0cmFpbGluZ1N0b3BMb3NzGBYgASgIEjwKEXN0b3BU", + "cmlnZ2VyTWV0aG9kGBcgASgOMhouUHJvdG9PQU9yZGVyVHJpZ2dlck1ldGhv", + "ZDoFVFJBREUinAMKFVByb3RvT0FFeGVjdXRpb25FdmVudBJCCgtwYXlsb2Fk", + "VHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2FkVHlwZToYUFJPVE9fT0FfRVhF", + "Q1VUSU9OX0VWRU5UEhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMSLAoN", + "ZXhlY3V0aW9uVHlwZRgDIAIoDjIVLlByb3RvT0FFeGVjdXRpb25UeXBlEiIK", + "CHBvc2l0aW9uGAQgASgLMhAuUHJvdG9PQVBvc2l0aW9uEhwKBW9yZGVyGAUg", + "ASgLMg0uUHJvdG9PQU9yZGVyEhoKBGRlYWwYBiABKAsyDC5Qcm90b09BRGVh", + "bBI6ChRib251c0RlcG9zaXRXaXRoZHJhdxgHIAEoCzIcLlByb3RvT0FCb251", + "c0RlcG9zaXRXaXRoZHJhdxIwCg9kZXBvc2l0V2l0aGRyYXcYCCABKAsyFy5Q", + "cm90b09BRGVwb3NpdFdpdGhkcmF3EhEKCWVycm9yQ29kZRgJIAEoCRIVCg1p", + "c1NlcnZlckV2ZW50GAogASgIIooBChVQcm90b09BQ2FuY2VsT3JkZXJSZXES", + "QwoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6GVBS", + "T1RPX09BX0NBTkNFTF9PUkRFUl9SRVESGwoTY3RpZFRyYWRlckFjY291bnRJ", + "ZBgCIAIoAxIPCgdvcmRlcklkGAMgAigDIsYDChRQcm90b09BQW1lbmRPcmRl", + "clJlcRJCCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2FkVHlw", + "ZToYUFJPVE9fT0FfQU1FTkRfT1JERVJfUkVREhsKE2N0aWRUcmFkZXJBY2Nv", + "dW50SWQYAiACKAMSDwoHb3JkZXJJZBgDIAIoAxIOCgZ2b2x1bWUYBCABKAMS", + "EgoKbGltaXRQcmljZRgFIAEoARIRCglzdG9wUHJpY2UYBiABKAESGwoTZXhw", + "aXJhdGlvblRpbWVzdGFtcBgHIAEoAxIQCghzdG9wTG9zcxgIIAEoARISCgp0", + "YWtlUHJvZml0GAkgASgBEhgKEHNsaXBwYWdlSW5Qb2ludHMYCiABKAUSGAoQ", + "cmVsYXRpdmVTdG9wTG9zcxgLIAEoAxIaChJyZWxhdGl2ZVRha2VQcm9maXQY", + "DCABKAMSGgoSZ3VhcmFudGVlZFN0b3BMb3NzGA0gASgIEhgKEHRyYWlsaW5n", + "U3RvcExvc3MYDiABKAgSPAoRc3RvcFRyaWdnZXJNZXRob2QYDyABKA4yGi5Q", + "cm90b09BT3JkZXJUcmlnZ2VyTWV0aG9kOgVUUkFERSK4AgobUHJvdG9PQUFt", + "ZW5kUG9zaXRpb25TTFRQUmVxEkoKC3BheWxvYWRUeXBlGAEgASgOMhMuUHJv", + "dG9PQVBheWxvYWRUeXBlOiBQUk9UT19PQV9BTUVORF9QT1NJVElPTl9TTFRQ", + "X1JFURIbChNjdGlkVHJhZGVyQWNjb3VudElkGAIgAigDEhIKCnBvc2l0aW9u", + "SWQYAyACKAMSEAoIc3RvcExvc3MYBCABKAESEgoKdGFrZVByb2ZpdBgFIAEo", + "ARIaChJndWFyYW50ZWVkU3RvcExvc3MYByABKAgSGAoQdHJhaWxpbmdTdG9w", + "TG9zcxgIIAEoCBJAChVzdG9wTG9zc1RyaWdnZXJNZXRob2QYCSABKA4yGi5Q", + "cm90b09BT3JkZXJUcmlnZ2VyTWV0aG9kOgVUUkFERSKhAQoXUHJvdG9PQUNs", + "b3NlUG9zaXRpb25SZXESRQoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09B", + "UGF5bG9hZFR5cGU6G1BST1RPX09BX0NMT1NFX1BPU0lUSU9OX1JFURIbChNj", + "dGlkVHJhZGVyQWNjb3VudElkGAIgAigDEhIKCnBvc2l0aW9uSWQYAyACKAMS", + "DgoGdm9sdW1lGAQgAigDIuIBCh1Qcm90b09BVHJhaWxpbmdTTENoYW5nZWRF", + "dmVudBJMCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2FkVHlw", + "ZToiUFJPVE9fT0FfVFJBSUxJTkdfU0xfQ0hBTkdFRF9FVkVOVBIbChNjdGlk", + "VHJhZGVyQWNjb3VudElkGAIgAigDEhIKCnBvc2l0aW9uSWQYAyACKAMSDwoH", + "b3JkZXJJZBgEIAIoAxIRCglzdG9wUHJpY2UYBSACKAESHgoWdXRjTGFzdFVw", + "ZGF0ZVRpbWVzdGFtcBgGIAIoAyJ1ChNQcm90b09BQXNzZXRMaXN0UmVxEkEK", + "C3BheWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOhdQUk9U", + "T19PQV9BU1NFVF9MSVNUX1JFURIbChNjdGlkVHJhZGVyQWNjb3VudElkGAIg", + "AigDIpMBChNQcm90b09BQXNzZXRMaXN0UmVzEkEKC3BheWxvYWRUeXBlGAEg", + "ASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOhdQUk9UT19PQV9BU1NFVF9MSVNU", + "X1JFUxIbChNjdGlkVHJhZGVyQWNjb3VudElkGAIgAigDEhwKBWFzc2V0GAMg", + "AygLMg0uUHJvdG9PQUFzc2V0IqABChVQcm90b09BU3ltYm9sc0xpc3RSZXES", + "QwoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6GVBS", + "T1RPX09BX1NZTUJPTFNfTElTVF9SRVESGwoTY3RpZFRyYWRlckFjY291bnRJ", + "ZBgCIAIoAxIlChZpbmNsdWRlQXJjaGl2ZWRTeW1ib2xzGAMgASgIOgVmYWxz", + "ZSLOAQoVUHJvdG9PQVN5bWJvbHNMaXN0UmVzEkMKC3BheWxvYWRUeXBlGAEg", + "ASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOhlQUk9UT19PQV9TWU1CT0xTX0xJ", + "U1RfUkVTEhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMSIwoGc3ltYm9s", + "GAMgAygLMhMuUHJvdG9PQUxpZ2h0U3ltYm9sEi4KDmFyY2hpdmVkU3ltYm9s", + "GAQgAygLMhYuUHJvdG9PQUFyY2hpdmVkU3ltYm9sIooBChRQcm90b09BU3lt", + "Ym9sQnlJZFJlcRJDCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXls", + "b2FkVHlwZToZUFJPVE9fT0FfU1lNQk9MX0JZX0lEX1JFURIbChNjdGlkVHJh", + "ZGVyQWNjb3VudElkGAIgAigDEhAKCHN5bWJvbElkGAMgAygDIsgBChRQcm90", + "b09BU3ltYm9sQnlJZFJlcxJDCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3Rv", + "T0FQYXlsb2FkVHlwZToZUFJPVE9fT0FfU1lNQk9MX0JZX0lEX1JFUxIbChNj", + "dGlkVHJhZGVyQWNjb3VudElkGAIgAigDEh4KBnN5bWJvbBgDIAMoCzIOLlBy", + "b3RvT0FTeW1ib2wSLgoOYXJjaGl2ZWRTeW1ib2wYBCADKAsyFi5Qcm90b09B", + "QXJjaGl2ZWRTeW1ib2witwEKHlByb3RvT0FTeW1ib2xzRm9yQ29udmVyc2lv", + "blJlcRJNCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2FkVHlw", + "ZTojUFJPVE9fT0FfU1lNQk9MU19GT1JfQ09OVkVSU0lPTl9SRVESGwoTY3Rp", + "ZFRyYWRlckFjY291bnRJZBgCIAIoAxIUCgxmaXJzdEFzc2V0SWQYAyACKAMS", + "EwoLbGFzdEFzc2V0SWQYBCACKAMisQEKHlByb3RvT0FTeW1ib2xzRm9yQ29u", + "dmVyc2lvblJlcxJNCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXls", + "b2FkVHlwZTojUFJPVE9fT0FfU1lNQk9MU19GT1JfQ09OVkVSU0lPTl9SRVMS", + "GwoTY3RpZFRyYWRlckFjY291bnRJZBgCIAIoAxIjCgZzeW1ib2wYAyADKAsy", + "Ey5Qcm90b09BTGlnaHRTeW1ib2wikwEKGVByb3RvT0FTeW1ib2xDaGFuZ2Vk", + "RXZlbnQSRwoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5", + "cGU6HVBST1RPX09BX1NZTUJPTF9DSEFOR0VEX0VWRU5UEhsKE2N0aWRUcmFk", + "ZXJBY2NvdW50SWQYAiACKAMSEAoIc3ltYm9sSWQYAyADKAMigAEKGFByb3Rv", + "T0FBc3NldENsYXNzTGlzdFJlcRJHCgtwYXlsb2FkVHlwZRgBIAEoDjITLlBy", + "b3RvT0FQYXlsb2FkVHlwZTodUFJPVE9fT0FfQVNTRVRfQ0xBU1NfTElTVF9S", + "RVESGwoTY3RpZFRyYWRlckFjY291bnRJZBgCIAIoAyKoAQoYUHJvdG9PQUFz", + "c2V0Q2xhc3NMaXN0UmVzEkcKC3BheWxvYWRUeXBlGAEgASgOMhMuUHJvdG9P", + "QVBheWxvYWRUeXBlOh1QUk9UT19PQV9BU1NFVF9DTEFTU19MSVNUX1JFUxIb", + "ChNjdGlkVHJhZGVyQWNjb3VudElkGAIgAigDEiYKCmFzc2V0Q2xhc3MYAyAD", + "KAsyEi5Qcm90b09BQXNzZXRDbGFzcyJuChBQcm90b09BVHJhZGVyUmVxEj0K", + "C3BheWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOhNQUk9U", + "T19PQV9UUkFERVJfUkVREhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMi", + "jgEKEFByb3RvT0FUcmFkZXJSZXMSPQoLcGF5bG9hZFR5cGUYASABKA4yEy5Q", + "cm90b09BUGF5bG9hZFR5cGU6E1BST1RPX09BX1RSQURFUl9SRVMSGwoTY3Rp", + "ZFRyYWRlckFjY291bnRJZBgCIAIoAxIeCgZ0cmFkZXIYAyACKAsyDi5Qcm90", + "b09BVHJhZGVyIqABChlQcm90b09BVHJhZGVyVXBkYXRlZEV2ZW50EkYKC3Bh", "eWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOhxQUk9UT19P", - "QV9FWFBFQ1RFRF9NQVJHSU5fUkVTEhsKE2N0aWRUcmFkZXJBY2NvdW50SWQY", - "AiACKAMSJgoGbWFyZ2luGAMgAygLMhYuUHJvdG9PQUV4cGVjdGVkTWFyZ2lu", - "EhMKC21vbmV5RGlnaXRzGAQgASgNIr4BChlQcm90b09BTWFyZ2luQ2hhbmdl", - "ZEV2ZW50EkcKC3BheWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRU", - "eXBlOh1QUk9UT19PQV9NQVJHSU5fQ0hBTkdFRF9FVkVOVBIbChNjdGlkVHJh", - "ZGVyQWNjb3VudElkGAIgAigDEhIKCnBvc2l0aW9uSWQYAyACKAQSEgoKdXNl", - "ZE1hcmdpbhgEIAIoBBITCgttb25leURpZ2l0cxgFIAEoDSK3AQodUHJvdG9P", - "QUNhc2hGbG93SGlzdG9yeUxpc3RSZXESTQoLcGF5bG9hZFR5cGUYASABKA4y", - "Ey5Qcm90b09BUGF5bG9hZFR5cGU6I1BST1RPX09BX0NBU0hfRkxPV19ISVNU", - "T1JZX0xJU1RfUkVREhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMSFQoN", - "ZnJvbVRpbWVzdGFtcBgDIAIoAxITCgt0b1RpbWVzdGFtcBgEIAIoAyK9AQod", - "UHJvdG9PQUNhc2hGbG93SGlzdG9yeUxpc3RSZXMSTQoLcGF5bG9hZFR5cGUY", - "ASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6I1BST1RPX09BX0NBU0hfRkxP", - "V19ISVNUT1JZX0xJU1RfUkVTEhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiAC", - "KAMSMAoPZGVwb3NpdFdpdGhkcmF3GAMgAygLMhcuUHJvdG9PQURlcG9zaXRX", - "aXRoZHJhdyKRAQolUHJvdG9PQUdldEFjY291bnRMaXN0QnlBY2Nlc3NUb2tl", - "blJlcRJTCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2FkVHlw", - "ZTopUFJPVE9fT0FfR0VUX0FDQ09VTlRTX0JZX0FDQ0VTU19UT0tFTl9SRVES", - "EwoLYWNjZXNzVG9rZW4YAiACKAki/wEKJVByb3RvT0FHZXRBY2NvdW50TGlz", - "dEJ5QWNjZXNzVG9rZW5SZXMSUwoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90", - "b09BUGF5bG9hZFR5cGU6KVBST1RPX09BX0dFVF9BQ0NPVU5UU19CWV9BQ0NF", - "U1NfVE9LRU5fUkVTEhMKC2FjY2Vzc1Rva2VuGAIgAigJEjYKD3Blcm1pc3Np", - "b25TY29wZRgDIAEoDjIdLlByb3RvT0FDbGllbnRQZXJtaXNzaW9uU2NvcGUS", - "NAoRY3RpZFRyYWRlckFjY291bnQYBCADKAsyGS5Qcm90b09BQ3RpZFRyYWRl", - "ckFjY291bnQidAoWUHJvdG9PQVJlZnJlc2hUb2tlblJlcRJECgtwYXlsb2Fk", - "VHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2FkVHlwZToaUFJPVE9fT0FfUkVG", - "UkVTSF9UT0tFTl9SRVESFAoMcmVmcmVzaFRva2VuGAIgAigJIq8BChZQcm90", - "b09BUmVmcmVzaFRva2VuUmVzEkQKC3BheWxvYWRUeXBlGAEgASgOMhMuUHJv", - "dG9PQVBheWxvYWRUeXBlOhpQUk9UT19PQV9SRUZSRVNIX1RPS0VOX1JFUxIT", - "CgthY2Nlc3NUb2tlbhgCIAIoCRIRCgl0b2tlblR5cGUYAyACKAkSEQoJZXhw", - "aXJlc0luGAQgAigDEhQKDHJlZnJlc2hUb2tlbhgFIAIoCSKzAQoYUHJvdG9P", - "QVN1YnNjcmliZVNwb3RzUmVxEkYKC3BheWxvYWRUeXBlGAEgASgOMhMuUHJv", - "dG9PQVBheWxvYWRUeXBlOhxQUk9UT19PQV9TVUJTQ1JJQkVfU1BPVFNfUkVR", - "EhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMSEAoIc3ltYm9sSWQYAyAD", - "KAMSIAoYc3Vic2NyaWJlVG9TcG90VGltZXN0YW1wGAQgASgIIn8KGFByb3Rv", - "T0FTdWJzY3JpYmVTcG90c1JlcxJGCgtwYXlsb2FkVHlwZRgBIAEoDjITLlBy", - "b3RvT0FQYXlsb2FkVHlwZTocUFJPVE9fT0FfU1VCU0NSSUJFX1NQT1RTX1JF", - "UxIbChNjdGlkVHJhZGVyQWNjb3VudElkGAIgAigDIpUBChpQcm90b09BVW5z", - "dWJzY3JpYmVTcG90c1JlcRJICgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3Rv", - "T0FQYXlsb2FkVHlwZToeUFJPVE9fT0FfVU5TVUJTQ1JJQkVfU1BPVFNfUkVR", - "EhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMSEAoIc3ltYm9sSWQYAyAD", - "KAMigwEKGlByb3RvT0FVbnN1YnNjcmliZVNwb3RzUmVzEkgKC3BheWxvYWRU", - "eXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOh5QUk9UT19PQV9VTlNV", - "QlNDUklCRV9TUE9UU19SRVMSGwoTY3RpZFRyYWRlckFjY291bnRJZBgCIAIo", - "AyLnAQoQUHJvdG9PQVNwb3RFdmVudBI9CgtwYXlsb2FkVHlwZRgBIAEoDjIT", - "LlByb3RvT0FQYXlsb2FkVHlwZToTUFJPVE9fT0FfU1BPVF9FVkVOVBIbChNj", - "dGlkVHJhZGVyQWNjb3VudElkGAIgAigDEhAKCHN5bWJvbElkGAMgAigDEgsK", - "A2JpZBgEIAEoBBILCgNhc2sYBSABKAQSIgoIdHJlbmRiYXIYBiADKAsyEC5Q", - "cm90b09BVHJlbmRiYXISFAoMc2Vzc2lvbkNsb3NlGAcgASgEEhEKCXRpbWVz", - "dGFtcBgIIAEoAyLIAQofUHJvdG9PQVN1YnNjcmliZUxpdmVUcmVuZGJhclJl", - "cRJOCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2FkVHlwZTok", - "UFJPVE9fT0FfU1VCU0NSSUJFX0xJVkVfVFJFTkRCQVJfUkVREhsKE2N0aWRU", + "QV9UUkFERVJfVVBEQVRFX0VWRU5UEhsKE2N0aWRUcmFkZXJBY2NvdW50SWQY", + "AiACKAMSHgoGdHJhZGVyGAMgAigLMg4uUHJvdG9PQVRyYWRlciKUAQoTUHJv", + "dG9PQVJlY29uY2lsZVJlcRJACgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3Rv", + "T0FQYXlsb2FkVHlwZToWUFJPVE9fT0FfUkVDT05DSUxFX1JFURIbChNjdGlk", + "VHJhZGVyQWNjb3VudElkGAIgAigDEh4KFnJldHVyblByb3RlY3Rpb25PcmRl", + "cnMYAyABKAgitgEKE1Byb3RvT0FSZWNvbmNpbGVSZXMSQAoLcGF5bG9hZFR5", + "cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6FlBST1RPX09BX1JFQ09O", + "Q0lMRV9SRVMSGwoTY3RpZFRyYWRlckFjY291bnRJZBgCIAIoAxIiCghwb3Np", + "dGlvbhgDIAMoCzIQLlByb3RvT0FQb3NpdGlvbhIcCgVvcmRlchgEIAMoCzIN", + "LlByb3RvT0FPcmRlciLIAQoWUHJvdG9PQU9yZGVyRXJyb3JFdmVudBJECgtw", + "YXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2FkVHlwZToaUFJPVE9f", + "T0FfT1JERVJfRVJST1JfRVZFTlQSGwoTY3RpZFRyYWRlckFjY291bnRJZBgF", + "IAIoAxIRCgllcnJvckNvZGUYAiACKAkSDwoHb3JkZXJJZBgDIAEoAxISCgpw", + "b3NpdGlvbklkGAYgASgDEhMKC2Rlc2NyaXB0aW9uGAcgASgJIrABChJQcm90", + "b09BRGVhbExpc3RSZXESQAoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09B", + "UGF5bG9hZFR5cGU6FlBST1RPX09BX0RFQUxfTElTVF9SRVESGwoTY3RpZFRy", + "YWRlckFjY291bnRJZBgCIAIoAxIVCg1mcm9tVGltZXN0YW1wGAMgASgDEhMK", + "C3RvVGltZXN0YW1wGAQgASgDEg8KB21heFJvd3MYBSABKAUioAEKElByb3Rv", + "T0FEZWFsTGlzdFJlcxJACgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQ", + "YXlsb2FkVHlwZToWUFJPVE9fT0FfREVBTF9MSVNUX1JFUxIbChNjdGlkVHJh", + "ZGVyQWNjb3VudElkGAIgAigDEhoKBGRlYWwYAyADKAsyDC5Qcm90b09BRGVh", + "bBIPCgdoYXNNb3JlGAQgAigIIqEBChNQcm90b09BT3JkZXJMaXN0UmVxEkEK", + "C3BheWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOhdQUk9U", + "T19PQV9PUkRFUl9MSVNUX1JFURIbChNjdGlkVHJhZGVyQWNjb3VudElkGAIg", + "AigDEhUKDWZyb21UaW1lc3RhbXAYAyABKAMSEwoLdG9UaW1lc3RhbXAYBCAB", + "KAMipAEKE1Byb3RvT0FPcmRlckxpc3RSZXMSQQoLcGF5bG9hZFR5cGUYASAB", + "KA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6F1BST1RPX09BX09SREVSX0xJU1Rf", + "UkVTEhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMSHAoFb3JkZXIYAyAD", + "KAsyDS5Qcm90b09BT3JkZXISDwoHaGFzTW9yZRgEIAIoCCKhAQoYUHJvdG9P", + "QUV4cGVjdGVkTWFyZ2luUmVxEkYKC3BheWxvYWRUeXBlGAEgASgOMhMuUHJv", + "dG9PQVBheWxvYWRUeXBlOhxQUk9UT19PQV9FWFBFQ1RFRF9NQVJHSU5fUkVR", + "EhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMSEAoIc3ltYm9sSWQYAyAC", + "KAMSDgoGdm9sdW1lGAQgAygDIrwBChhQcm90b09BRXhwZWN0ZWRNYXJnaW5S", + "ZXMSRgoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6", + "HFBST1RPX09BX0VYUEVDVEVEX01BUkdJTl9SRVMSGwoTY3RpZFRyYWRlckFj", + "Y291bnRJZBgCIAIoAxImCgZtYXJnaW4YAyADKAsyFi5Qcm90b09BRXhwZWN0", + "ZWRNYXJnaW4SEwoLbW9uZXlEaWdpdHMYBCABKA0ivgEKGVByb3RvT0FNYXJn", + "aW5DaGFuZ2VkRXZlbnQSRwoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09B", + "UGF5bG9hZFR5cGU6HVBST1RPX09BX01BUkdJTl9DSEFOR0VEX0VWRU5UEhsK", + "E2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMSEgoKcG9zaXRpb25JZBgDIAIo", + "BBISCgp1c2VkTWFyZ2luGAQgAigEEhMKC21vbmV5RGlnaXRzGAUgASgNIrcB", + "Ch1Qcm90b09BQ2FzaEZsb3dIaXN0b3J5TGlzdFJlcRJNCgtwYXlsb2FkVHlw", + "ZRgBIAEoDjITLlByb3RvT0FQYXlsb2FkVHlwZTojUFJPVE9fT0FfQ0FTSF9G", + "TE9XX0hJU1RPUllfTElTVF9SRVESGwoTY3RpZFRyYWRlckFjY291bnRJZBgC", + "IAIoAxIVCg1mcm9tVGltZXN0YW1wGAMgAigDEhMKC3RvVGltZXN0YW1wGAQg", + "AigDIr0BCh1Qcm90b09BQ2FzaEZsb3dIaXN0b3J5TGlzdFJlcxJNCgtwYXls", + "b2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2FkVHlwZTojUFJPVE9fT0Ff", + "Q0FTSF9GTE9XX0hJU1RPUllfTElTVF9SRVMSGwoTY3RpZFRyYWRlckFjY291", + "bnRJZBgCIAIoAxIwCg9kZXBvc2l0V2l0aGRyYXcYAyADKAsyFy5Qcm90b09B", + "RGVwb3NpdFdpdGhkcmF3IpEBCiVQcm90b09BR2V0QWNjb3VudExpc3RCeUFj", + "Y2Vzc1Rva2VuUmVxElMKC3BheWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBh", + "eWxvYWRUeXBlOilQUk9UT19PQV9HRVRfQUNDT1VOVFNfQllfQUNDRVNTX1RP", + "S0VOX1JFURITCgthY2Nlc3NUb2tlbhgCIAIoCSL/AQolUHJvdG9PQUdldEFj", + "Y291bnRMaXN0QnlBY2Nlc3NUb2tlblJlcxJTCgtwYXlsb2FkVHlwZRgBIAEo", + "DjITLlByb3RvT0FQYXlsb2FkVHlwZTopUFJPVE9fT0FfR0VUX0FDQ09VTlRT", + "X0JZX0FDQ0VTU19UT0tFTl9SRVMSEwoLYWNjZXNzVG9rZW4YAiACKAkSNgoP", + "cGVybWlzc2lvblNjb3BlGAMgASgOMh0uUHJvdG9PQUNsaWVudFBlcm1pc3Np", + "b25TY29wZRI0ChFjdGlkVHJhZGVyQWNjb3VudBgEIAMoCzIZLlByb3RvT0FD", + "dGlkVHJhZGVyQWNjb3VudCJ0ChZQcm90b09BUmVmcmVzaFRva2VuUmVxEkQK", + "C3BheWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOhpQUk9U", + "T19PQV9SRUZSRVNIX1RPS0VOX1JFURIUCgxyZWZyZXNoVG9rZW4YAiACKAki", + "rwEKFlByb3RvT0FSZWZyZXNoVG9rZW5SZXMSRAoLcGF5bG9hZFR5cGUYASAB", + "KA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6GlBST1RPX09BX1JFRlJFU0hfVE9L", + "RU5fUkVTEhMKC2FjY2Vzc1Rva2VuGAIgAigJEhEKCXRva2VuVHlwZRgDIAIo", + "CRIRCglleHBpcmVzSW4YBCACKAMSFAoMcmVmcmVzaFRva2VuGAUgAigJIrMB", + "ChhQcm90b09BU3Vic2NyaWJlU3BvdHNSZXESRgoLcGF5bG9hZFR5cGUYASAB", + "KA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6HFBST1RPX09BX1NVQlNDUklCRV9T", + "UE9UU19SRVESGwoTY3RpZFRyYWRlckFjY291bnRJZBgCIAIoAxIQCghzeW1i", + "b2xJZBgDIAMoAxIgChhzdWJzY3JpYmVUb1Nwb3RUaW1lc3RhbXAYBCABKAgi", + "fwoYUHJvdG9PQVN1YnNjcmliZVNwb3RzUmVzEkYKC3BheWxvYWRUeXBlGAEg", + "ASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOhxQUk9UT19PQV9TVUJTQ1JJQkVf", + "U1BPVFNfUkVTEhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMilQEKGlBy", + "b3RvT0FVbnN1YnNjcmliZVNwb3RzUmVxEkgKC3BheWxvYWRUeXBlGAEgASgO", + "MhMuUHJvdG9PQVBheWxvYWRUeXBlOh5QUk9UT19PQV9VTlNVQlNDUklCRV9T", + "UE9UU19SRVESGwoTY3RpZFRyYWRlckFjY291bnRJZBgCIAIoAxIQCghzeW1i", + "b2xJZBgDIAMoAyKDAQoaUHJvdG9PQVVuc3Vic2NyaWJlU3BvdHNSZXMSSAoL", + "cGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6HlBST1RP", + "X09BX1VOU1VCU0NSSUJFX1NQT1RTX1JFUxIbChNjdGlkVHJhZGVyQWNjb3Vu", + "dElkGAIgAigDIucBChBQcm90b09BU3BvdEV2ZW50Ej0KC3BheWxvYWRUeXBl", + "GAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOhNQUk9UT19PQV9TUE9UX0VW", + "RU5UEhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMSEAoIc3ltYm9sSWQY", + "AyACKAMSCwoDYmlkGAQgASgEEgsKA2FzaxgFIAEoBBIiCgh0cmVuZGJhchgG", + "IAMoCzIQLlByb3RvT0FUcmVuZGJhchIUCgxzZXNzaW9uQ2xvc2UYByABKAQS", + "EQoJdGltZXN0YW1wGAggASgDIsgBCh9Qcm90b09BU3Vic2NyaWJlTGl2ZVRy", + "ZW5kYmFyUmVxEk4KC3BheWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxv", + "YWRUeXBlOiRQUk9UT19PQV9TVUJTQ1JJQkVfTElWRV9UUkVOREJBUl9SRVES", + "GwoTY3RpZFRyYWRlckFjY291bnRJZBgCIAIoAxImCgZwZXJpb2QYAyACKA4y", + "Fi5Qcm90b09BVHJlbmRiYXJQZXJpb2QSEAoIc3ltYm9sSWQYBCACKAMijgEK", + "H1Byb3RvT0FTdWJzY3JpYmVMaXZlVHJlbmRiYXJSZXMSTgoLcGF5bG9hZFR5", + "cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6JFBST1RPX09BX1NVQlND", + "UklCRV9MSVZFX1RSRU5EQkFSX1JFUxIbChNjdGlkVHJhZGVyQWNjb3VudElk", + "GAIgAigDIswBCiFQcm90b09BVW5zdWJzY3JpYmVMaXZlVHJlbmRiYXJSZXES", + "UAoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6JlBS", + "T1RPX09BX1VOU1VCU0NSSUJFX0xJVkVfVFJFTkRCQVJfUkVREhsKE2N0aWRU", "cmFkZXJBY2NvdW50SWQYAiACKAMSJgoGcGVyaW9kGAMgAigOMhYuUHJvdG9P", - "QVRyZW5kYmFyUGVyaW9kEhAKCHN5bWJvbElkGAQgAigDIo4BCh9Qcm90b09B", - "U3Vic2NyaWJlTGl2ZVRyZW5kYmFyUmVzEk4KC3BheWxvYWRUeXBlGAEgASgO", - "MhMuUHJvdG9PQVBheWxvYWRUeXBlOiRQUk9UT19PQV9TVUJTQ1JJQkVfTElW", - "RV9UUkVOREJBUl9SRVMSGwoTY3RpZFRyYWRlckFjY291bnRJZBgCIAIoAyLM", - "AQohUHJvdG9PQVVuc3Vic2NyaWJlTGl2ZVRyZW5kYmFyUmVxElAKC3BheWxv", - "YWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOiZQUk9UT19PQV9V", - "TlNVQlNDUklCRV9MSVZFX1RSRU5EQkFSX1JFURIbChNjdGlkVHJhZGVyQWNj", - "b3VudElkGAIgAigDEiYKBnBlcmlvZBgDIAIoDjIWLlByb3RvT0FUcmVuZGJh", - "clBlcmlvZBIQCghzeW1ib2xJZBgEIAIoAyKSAQohUHJvdG9PQVVuc3Vic2Ny", - "aWJlTGl2ZVRyZW5kYmFyUmVzElAKC3BheWxvYWRUeXBlGAEgASgOMhMuUHJv", - "dG9PQVBheWxvYWRUeXBlOiZQUk9UT19PQV9VTlNVQlNDUklCRV9MSVZFX1RS", - "RU5EQkFSX1JFUxIbChNjdGlkVHJhZGVyQWNjb3VudElkGAIgAigDIvABChZQ", - "cm90b09BR2V0VHJlbmRiYXJzUmVxEkQKC3BheWxvYWRUeXBlGAEgASgOMhMu", - "UHJvdG9PQVBheWxvYWRUeXBlOhpQUk9UT19PQV9HRVRfVFJFTkRCQVJTX1JF", - "URIbChNjdGlkVHJhZGVyQWNjb3VudElkGAIgAigDEhUKDWZyb21UaW1lc3Rh", - "bXAYAyACKAMSEwoLdG9UaW1lc3RhbXAYBCACKAMSJgoGcGVyaW9kGAUgAigO", - "MhYuUHJvdG9PQVRyZW5kYmFyUGVyaW9kEhAKCHN5bWJvbElkGAYgAigDEg0K", - "BWNvdW50GAcgASgNIuwBChZQcm90b09BR2V0VHJlbmRiYXJzUmVzEkQKC3Bh", - "eWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOhpQUk9UT19P", - "QV9HRVRfVFJFTkRCQVJTX1JFUxIbChNjdGlkVHJhZGVyQWNjb3VudElkGAIg", - "AigDEiYKBnBlcmlvZBgDIAIoDjIWLlByb3RvT0FUcmVuZGJhclBlcmlvZBIR", - "Cgl0aW1lc3RhbXAYBCACKAMSIgoIdHJlbmRiYXIYBSADKAsyEC5Qcm90b09B", - "VHJlbmRiYXISEAoIc3ltYm9sSWQYBiABKAMi2AEKFVByb3RvT0FHZXRUaWNr", - "RGF0YVJlcRJDCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2Fk", - "VHlwZToZUFJPVE9fT0FfR0VUX1RJQ0tEQVRBX1JFURIbChNjdGlkVHJhZGVy", - "QWNjb3VudElkGAIgAigDEhAKCHN5bWJvbElkGAMgAigDEh8KBHR5cGUYBCAC", - "KA4yES5Qcm90b09BUXVvdGVUeXBlEhUKDWZyb21UaW1lc3RhbXAYBSACKAMS", - "EwoLdG9UaW1lc3RhbXAYBiACKAMirgEKFVByb3RvT0FHZXRUaWNrRGF0YVJl", - "cxJDCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2FkVHlwZToZ", - "UFJPVE9fT0FfR0VUX1RJQ0tEQVRBX1JFUxIbChNjdGlkVHJhZGVyQWNjb3Vu", - "dElkGAIgAigDEiIKCHRpY2tEYXRhGAMgAygLMhAuUHJvdG9PQVRpY2tEYXRh", - "Eg8KB2hhc01vcmUYBCACKAgiiAEKH1Byb3RvT0FHZXRDdGlkUHJvZmlsZUJ5", - "VG9rZW5SZXESUAoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9h", - "ZFR5cGU6JlBST1RPX09BX0dFVF9DVElEX1BST0ZJTEVfQllfVE9LRU5fUkVR", - "EhMKC2FjY2Vzc1Rva2VuGAIgAigJIpkBCh9Qcm90b09BR2V0Q3RpZFByb2Zp", - "bGVCeVRva2VuUmVzElAKC3BheWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBh", - "eWxvYWRUeXBlOiZQUk9UT19PQV9HRVRfQ1RJRF9QUk9GSUxFX0JZX1RPS0VO", - "X1JFUxIkCgdwcm9maWxlGAIgAigLMhMuUHJvdG9PQUN0aWRQcm9maWxlIsQB", - "ChFQcm90b09BRGVwdGhFdmVudBI+CgtwYXlsb2FkVHlwZRgBIAEoDjITLlBy", - "b3RvT0FQYXlsb2FkVHlwZToUUFJPVE9fT0FfREVQVEhfRVZFTlQSGwoTY3Rp", - "ZFRyYWRlckFjY291bnRJZBgCIAIoAxIQCghzeW1ib2xJZBgDIAIoBBIlCglu", - "ZXdRdW90ZXMYBCADKAsyEi5Qcm90b09BRGVwdGhRdW90ZRIZCg1kZWxldGVk", - "UXVvdGVzGAUgAygEQgIQASKeAQoeUHJvdG9PQVN1YnNjcmliZURlcHRoUXVv", - "dGVzUmVxEk0KC3BheWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRU", - "eXBlOiNQUk9UT19PQV9TVUJTQ1JJQkVfREVQVEhfUVVPVEVTX1JFURIbChNj", - "dGlkVHJhZGVyQWNjb3VudElkGAIgAigDEhAKCHN5bWJvbElkGAMgAygDIowB", - "Ch5Qcm90b09BU3Vic2NyaWJlRGVwdGhRdW90ZXNSZXMSTQoLcGF5bG9hZFR5", - "cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6I1BST1RPX09BX1NVQlND", - "UklCRV9ERVBUSF9RVU9URVNfUkVTEhsKE2N0aWRUcmFkZXJBY2NvdW50SWQY", - "AiACKAMiogEKIFByb3RvT0FVbnN1YnNjcmliZURlcHRoUXVvdGVzUmVxEk8K", - "C3BheWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOiVQUk9U", - "T19PQV9VTlNVQlNDUklCRV9ERVBUSF9RVU9URVNfUkVREhsKE2N0aWRUcmFk", - "ZXJBY2NvdW50SWQYAiACKAMSEAoIc3ltYm9sSWQYAyADKAMikAEKIFByb3Rv", - "T0FVbnN1YnNjcmliZURlcHRoUXVvdGVzUmVzEk8KC3BheWxvYWRUeXBlGAEg", - "ASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOiVQUk9UT19PQV9VTlNVQlNDUklC", - "RV9ERVBUSF9RVU9URVNfUkVTEhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiAC", - "KAMigwEKHFByb3RvT0FTeW1ib2xDYXRlZ29yeUxpc3RSZXESRgoLcGF5bG9h", - "ZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6HFBST1RPX09BX1NZ", - "TUJPTF9DQVRFR09SWV9SRVESGwoTY3RpZFRyYWRlckFjY291bnRJZBgCIAIo", - "AyKzAQocUHJvdG9PQVN5bWJvbENhdGVnb3J5TGlzdFJlcxJGCgtwYXlsb2Fk", - "VHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2FkVHlwZTocUFJPVE9fT0FfU1lN", - "Qk9MX0NBVEVHT1JZX1JFUxIbChNjdGlkVHJhZGVyQWNjb3VudElkGAIgAigD", - "Ei4KDnN5bWJvbENhdGVnb3J5GAMgAygLMhYuUHJvdG9PQVN5bWJvbENhdGVn", - "b3J5In0KF1Byb3RvT0FBY2NvdW50TG9nb3V0UmVxEkUKC3BheWxvYWRUeXBl", - "GAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOhtQUk9UT19PQV9BQ0NPVU5U", - "X0xPR09VVF9SRVESGwoTY3RpZFRyYWRlckFjY291bnRJZBgCIAIoAyJ9ChdQ", - "cm90b09BQWNjb3VudExvZ291dFJlcxJFCgtwYXlsb2FkVHlwZRgBIAEoDjIT", - "LlByb3RvT0FQYXlsb2FkVHlwZTobUFJPVE9fT0FfQUNDT1VOVF9MT0dPVVRf", - "UkVTEhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMiiQEKHVByb3RvT0FB", - "Y2NvdW50RGlzY29ubmVjdEV2ZW50EksKC3BheWxvYWRUeXBlGAEgASgOMhMu", - "UHJvdG9PQVBheWxvYWRUeXBlOiFQUk9UT19PQV9BQ0NPVU5UX0RJU0NPTk5F", - "Q1RfRVZFTlQSGwoTY3RpZFRyYWRlckFjY291bnRJZBgCIAIoAyKAAQoYUHJv", - "dG9PQU1hcmdpbkNhbGxMaXN0UmVxEkcKC3BheWxvYWRUeXBlGAEgASgOMhMu", - "UHJvdG9PQVBheWxvYWRUeXBlOh1QUk9UT19PQV9NQVJHSU5fQ0FMTF9MSVNU", - "X1JFURIbChNjdGlkVHJhZGVyQWNjb3VudElkGAIgAigDIosBChhQcm90b09B", - "TWFyZ2luQ2FsbExpc3RSZXMSRwoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90", - "b09BUGF5bG9hZFR5cGU6HVBST1RPX09BX01BUkdJTl9DQUxMX0xJU1RfUkVT", - "EiYKCm1hcmdpbkNhbGwYAiADKAsyEi5Qcm90b09BTWFyZ2luQ2FsbCKsAQoa", - "UHJvdG9PQU1hcmdpbkNhbGxVcGRhdGVSZXESSQoLcGF5bG9hZFR5cGUYASAB", - "KA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6H1BST1RPX09BX01BUkdJTl9DQUxM", - "X1VQREFURV9SRVESGwoTY3RpZFRyYWRlckFjY291bnRJZBgCIAIoAxImCgpt", - "YXJnaW5DYWxsGAMgAigLMhIuUHJvdG9PQU1hcmdpbkNhbGwiZwoaUHJvdG9P", - "QU1hcmdpbkNhbGxVcGRhdGVSZXMSSQoLcGF5bG9hZFR5cGUYASABKA4yEy5Q", - "cm90b09BUGF5bG9hZFR5cGU6H1BST1RPX09BX01BUkdJTl9DQUxMX1VQREFU", - "RV9SRVMisAEKHFByb3RvT0FNYXJnaW5DYWxsVXBkYXRlRXZlbnQSSwoLcGF5", - "bG9hZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6IVBST1RPX09B", - "X01BUkdJTl9DQUxMX1VQREFURV9FVkVOVBIbChNjdGlkVHJhZGVyQWNjb3Vu", - "dElkGAIgAigDEiYKCm1hcmdpbkNhbGwYAyACKAsyEi5Qcm90b09BTWFyZ2lu", - "Q2FsbCKyAQodUHJvdG9PQU1hcmdpbkNhbGxUcmlnZ2VyRXZlbnQSTAoLcGF5", - "bG9hZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6IlBST1RPX09B", - "X01BUkdJTl9DQUxMX1RSSUdHRVJfRVZFTlQSGwoTY3RpZFRyYWRlckFjY291", - "bnRJZBgCIAIoAxImCgptYXJnaW5DYWxsGAMgAigLMhIuUHJvdG9PQU1hcmdp", - "bkNhbGwioAEKIFByb3RvT0FHZXREeW5hbWljTGV2ZXJhZ2VCeUlEUmVxEksK", - "C3BheWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOiFQUk9U", - "T19PQV9HRVRfRFlOQU1JQ19MRVZFUkFHRV9SRVESGwoTY3RpZFRyYWRlckFj", - "Y291bnRJZBgCIAIoAxISCgpsZXZlcmFnZUlkGAMgAigDIrcBCiBQcm90b09B", - "R2V0RHluYW1pY0xldmVyYWdlQnlJRFJlcxJLCgtwYXlsb2FkVHlwZRgBIAEo", - "DjITLlByb3RvT0FQYXlsb2FkVHlwZTohUFJPVE9fT0FfR0VUX0RZTkFNSUNf", - "TEVWRVJBR0VfUkVTEhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMSKQoI", - "bGV2ZXJhZ2UYAyACKAsyFy5Qcm90b09BRHluYW1pY0xldmVyYWdlIs4BCh5Q", - "cm90b09BRGVhbExpc3RCeVBvc2l0aW9uSWRSZXESTwoLcGF5bG9hZFR5cGUY", - "ASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6JVBST1RPX09BX0RFQUxfTElT", - "VF9CWV9QT1NJVElPTl9JRF9SRVESGwoTY3RpZFRyYWRlckFjY291bnRJZBgC", - "IAIoAxISCgpwb3NpdGlvbklkGAMgAigDEhUKDWZyb21UaW1lc3RhbXAYBCAC", - "KAMSEwoLdG9UaW1lc3RhbXAYBSACKAMiuwEKHlByb3RvT0FEZWFsTGlzdEJ5", - "UG9zaXRpb25JZFJlcxJPCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQ", + "QVRyZW5kYmFyUGVyaW9kEhAKCHN5bWJvbElkGAQgAigDIpIBCiFQcm90b09B", + "VW5zdWJzY3JpYmVMaXZlVHJlbmRiYXJSZXMSUAoLcGF5bG9hZFR5cGUYASAB", + "KA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6JlBST1RPX09BX1VOU1VCU0NSSUJF", + "X0xJVkVfVFJFTkRCQVJfUkVTEhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiAC", + "KAMi8AEKFlByb3RvT0FHZXRUcmVuZGJhcnNSZXESRAoLcGF5bG9hZFR5cGUY", + "ASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6GlBST1RPX09BX0dFVF9UUkVO", + "REJBUlNfUkVREhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMSFQoNZnJv", + "bVRpbWVzdGFtcBgDIAEoAxITCgt0b1RpbWVzdGFtcBgEIAEoAxImCgZwZXJp", + "b2QYBSACKA4yFi5Qcm90b09BVHJlbmRiYXJQZXJpb2QSEAoIc3ltYm9sSWQY", + "BiACKAMSDQoFY291bnQYByABKA0igQIKFlByb3RvT0FHZXRUcmVuZGJhcnNS", + "ZXMSRAoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6", + "GlBST1RPX09BX0dFVF9UUkVOREJBUlNfUkVTEhsKE2N0aWRUcmFkZXJBY2Nv", + "dW50SWQYAiACKAMSJgoGcGVyaW9kGAMgAigOMhYuUHJvdG9PQVRyZW5kYmFy", + "UGVyaW9kEhUKCXRpbWVzdGFtcBgEIAEoA0ICGAESIgoIdHJlbmRiYXIYBSAD", + "KAsyEC5Qcm90b09BVHJlbmRiYXISEAoIc3ltYm9sSWQYBiABKAMSDwoHaGFz", + "TW9yZRgHIAEoCCLYAQoVUHJvdG9PQUdldFRpY2tEYXRhUmVxEkMKC3BheWxv", + "YWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOhlQUk9UT19PQV9H", + "RVRfVElDS0RBVEFfUkVREhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMS", + "EAoIc3ltYm9sSWQYAyACKAMSHwoEdHlwZRgEIAIoDjIRLlByb3RvT0FRdW90", + "ZVR5cGUSFQoNZnJvbVRpbWVzdGFtcBgFIAEoAxITCgt0b1RpbWVzdGFtcBgG", + "IAEoAyKuAQoVUHJvdG9PQUdldFRpY2tEYXRhUmVzEkMKC3BheWxvYWRUeXBl", + "GAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOhlQUk9UT19PQV9HRVRfVElD", + "S0RBVEFfUkVTEhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMSIgoIdGlj", + "a0RhdGEYAyADKAsyEC5Qcm90b09BVGlja0RhdGESDwoHaGFzTW9yZRgEIAIo", + "CCKIAQofUHJvdG9PQUdldEN0aWRQcm9maWxlQnlUb2tlblJlcRJQCgtwYXls", + "b2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2FkVHlwZTomUFJPVE9fT0Ff", + "R0VUX0NUSURfUFJPRklMRV9CWV9UT0tFTl9SRVESEwoLYWNjZXNzVG9rZW4Y", + "AiACKAkimQEKH1Byb3RvT0FHZXRDdGlkUHJvZmlsZUJ5VG9rZW5SZXMSUAoL", + "cGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6JlBST1RP", + "X09BX0dFVF9DVElEX1BST0ZJTEVfQllfVE9LRU5fUkVTEiQKB3Byb2ZpbGUY", + "AiACKAsyEy5Qcm90b09BQ3RpZFByb2ZpbGUixAEKEVByb3RvT0FEZXB0aEV2", + "ZW50Ej4KC3BheWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBl", + "OhRQUk9UT19PQV9ERVBUSF9FVkVOVBIbChNjdGlkVHJhZGVyQWNjb3VudElk", + "GAIgAigDEhAKCHN5bWJvbElkGAMgAigEEiUKCW5ld1F1b3RlcxgEIAMoCzIS", + "LlByb3RvT0FEZXB0aFF1b3RlEhkKDWRlbGV0ZWRRdW90ZXMYBSADKARCAhAB", + "Ip4BCh5Qcm90b09BU3Vic2NyaWJlRGVwdGhRdW90ZXNSZXESTQoLcGF5bG9h", + "ZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6I1BST1RPX09BX1NV", + "QlNDUklCRV9ERVBUSF9RVU9URVNfUkVREhsKE2N0aWRUcmFkZXJBY2NvdW50", + "SWQYAiACKAMSEAoIc3ltYm9sSWQYAyADKAMijAEKHlByb3RvT0FTdWJzY3Jp", + "YmVEZXB0aFF1b3Rlc1JlcxJNCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3Rv", + "T0FQYXlsb2FkVHlwZTojUFJPVE9fT0FfU1VCU0NSSUJFX0RFUFRIX1FVT1RF", + "U19SRVMSGwoTY3RpZFRyYWRlckFjY291bnRJZBgCIAIoAyKiAQogUHJvdG9P", + "QVVuc3Vic2NyaWJlRGVwdGhRdW90ZXNSZXESTwoLcGF5bG9hZFR5cGUYASAB", + "KA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6JVBST1RPX09BX1VOU1VCU0NSSUJF", + "X0RFUFRIX1FVT1RFU19SRVESGwoTY3RpZFRyYWRlckFjY291bnRJZBgCIAIo", + "AxIQCghzeW1ib2xJZBgDIAMoAyKQAQogUHJvdG9PQVVuc3Vic2NyaWJlRGVw", + "dGhRdW90ZXNSZXMSTwoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09BUGF5", + "bG9hZFR5cGU6JVBST1RPX09BX1VOU1VCU0NSSUJFX0RFUFRIX1FVT1RFU19S", + "RVMSGwoTY3RpZFRyYWRlckFjY291bnRJZBgCIAIoAyKDAQocUHJvdG9PQVN5", + "bWJvbENhdGVnb3J5TGlzdFJlcRJGCgtwYXlsb2FkVHlwZRgBIAEoDjITLlBy", + "b3RvT0FQYXlsb2FkVHlwZTocUFJPVE9fT0FfU1lNQk9MX0NBVEVHT1JZX1JF", + "URIbChNjdGlkVHJhZGVyQWNjb3VudElkGAIgAigDIrMBChxQcm90b09BU3lt", + "Ym9sQ2F0ZWdvcnlMaXN0UmVzEkYKC3BheWxvYWRUeXBlGAEgASgOMhMuUHJv", + "dG9PQVBheWxvYWRUeXBlOhxQUk9UT19PQV9TWU1CT0xfQ0FURUdPUllfUkVT", + "EhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMSLgoOc3ltYm9sQ2F0ZWdv", + "cnkYAyADKAsyFi5Qcm90b09BU3ltYm9sQ2F0ZWdvcnkifQoXUHJvdG9PQUFj", + "Y291bnRMb2dvdXRSZXESRQoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09B", + "UGF5bG9hZFR5cGU6G1BST1RPX09BX0FDQ09VTlRfTE9HT1VUX1JFURIbChNj", + "dGlkVHJhZGVyQWNjb3VudElkGAIgAigDIn0KF1Byb3RvT0FBY2NvdW50TG9n", + "b3V0UmVzEkUKC3BheWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRU", + "eXBlOhtQUk9UT19PQV9BQ0NPVU5UX0xPR09VVF9SRVMSGwoTY3RpZFRyYWRl", + "ckFjY291bnRJZBgCIAIoAyKJAQodUHJvdG9PQUFjY291bnREaXNjb25uZWN0", + "RXZlbnQSSwoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5", + "cGU6IVBST1RPX09BX0FDQ09VTlRfRElTQ09OTkVDVF9FVkVOVBIbChNjdGlk", + "VHJhZGVyQWNjb3VudElkGAIgAigDIoABChhQcm90b09BTWFyZ2luQ2FsbExp", + "c3RSZXESRwoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5", + "cGU6HVBST1RPX09BX01BUkdJTl9DQUxMX0xJU1RfUkVREhsKE2N0aWRUcmFk", + "ZXJBY2NvdW50SWQYAiACKAMiiwEKGFByb3RvT0FNYXJnaW5DYWxsTGlzdFJl", + "cxJHCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2FkVHlwZTod", + "UFJPVE9fT0FfTUFSR0lOX0NBTExfTElTVF9SRVMSJgoKbWFyZ2luQ2FsbBgC", + "IAMoCzISLlByb3RvT0FNYXJnaW5DYWxsIqwBChpQcm90b09BTWFyZ2luQ2Fs", + "bFVwZGF0ZVJlcRJJCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXls", + "b2FkVHlwZTofUFJPVE9fT0FfTUFSR0lOX0NBTExfVVBEQVRFX1JFURIbChNj", + "dGlkVHJhZGVyQWNjb3VudElkGAIgAigDEiYKCm1hcmdpbkNhbGwYAyACKAsy", + "Ei5Qcm90b09BTWFyZ2luQ2FsbCJnChpQcm90b09BTWFyZ2luQ2FsbFVwZGF0", + "ZVJlcxJJCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2FkVHlw", + "ZTofUFJPVE9fT0FfTUFSR0lOX0NBTExfVVBEQVRFX1JFUyKwAQocUHJvdG9P", + "QU1hcmdpbkNhbGxVcGRhdGVFdmVudBJLCgtwYXlsb2FkVHlwZRgBIAEoDjIT", + "LlByb3RvT0FQYXlsb2FkVHlwZTohUFJPVE9fT0FfTUFSR0lOX0NBTExfVVBE", + "QVRFX0VWRU5UEhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMSJgoKbWFy", + "Z2luQ2FsbBgDIAIoCzISLlByb3RvT0FNYXJnaW5DYWxsIrIBCh1Qcm90b09B", + "TWFyZ2luQ2FsbFRyaWdnZXJFdmVudBJMCgtwYXlsb2FkVHlwZRgBIAEoDjIT", + "LlByb3RvT0FQYXlsb2FkVHlwZToiUFJPVE9fT0FfTUFSR0lOX0NBTExfVFJJ", + "R0dFUl9FVkVOVBIbChNjdGlkVHJhZGVyQWNjb3VudElkGAIgAigDEiYKCm1h", + "cmdpbkNhbGwYAyACKAsyEi5Qcm90b09BTWFyZ2luQ2FsbCKgAQogUHJvdG9P", + "QUdldER5bmFtaWNMZXZlcmFnZUJ5SURSZXESSwoLcGF5bG9hZFR5cGUYASAB", + "KA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6IVBST1RPX09BX0dFVF9EWU5BTUlD", + "X0xFVkVSQUdFX1JFURIbChNjdGlkVHJhZGVyQWNjb3VudElkGAIgAigDEhIK", + "CmxldmVyYWdlSWQYAyACKAMitwEKIFByb3RvT0FHZXREeW5hbWljTGV2ZXJh", + "Z2VCeUlEUmVzEksKC3BheWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxv", + "YWRUeXBlOiFQUk9UT19PQV9HRVRfRFlOQU1JQ19MRVZFUkFHRV9SRVMSGwoT", + "Y3RpZFRyYWRlckFjY291bnRJZBgCIAIoAxIpCghsZXZlcmFnZRgDIAIoCzIX", + "LlByb3RvT0FEeW5hbWljTGV2ZXJhZ2UizgEKHlByb3RvT0FEZWFsTGlzdEJ5", + "UG9zaXRpb25JZFJlcRJPCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQ", "YXlsb2FkVHlwZTolUFJPVE9fT0FfREVBTF9MSVNUX0JZX1BPU0lUSU9OX0lE", - "X1JFUxIbChNjdGlkVHJhZGVyQWNjb3VudElkGAIgAigDEhoKBGRlYWwYAyAD", - "KAsyDC5Qcm90b09BRGVhbBIPCgdoYXNNb3JlGAQgAigIQkIKH2NvbS54dHJh", - "ZGVyLnByb3RvY29sLm9wZW5hcGkudjJCGkNvbnRhaW5lck9wZW5BcGlWMk1l", - "c3NhZ2VzUAGgAQE=")); + "X1JFURIbChNjdGlkVHJhZGVyQWNjb3VudElkGAIgAigDEhIKCnBvc2l0aW9u", + "SWQYAyACKAMSFQoNZnJvbVRpbWVzdGFtcBgEIAEoAxITCgt0b1RpbWVzdGFt", + "cBgFIAEoAyK7AQoeUHJvdG9PQURlYWxMaXN0QnlQb3NpdGlvbklkUmVzEk8K", + "C3BheWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOiVQUk9U", + "T19PQV9ERUFMX0xJU1RfQllfUE9TSVRJT05fSURfUkVTEhsKE2N0aWRUcmFk", + "ZXJBY2NvdW50SWQYAiACKAMSGgoEZGVhbBgDIAMoCzIMLlByb3RvT0FEZWFs", + "Eg8KB2hhc01vcmUYBCACKAgijAEKFlByb3RvT0FPcmRlckRldGFpbHNSZXES", + "RAoLcGF5bG9hZFR5cGUYASABKA4yEy5Qcm90b09BUGF5bG9hZFR5cGU6GlBS", + "T1RPX09BX09SREVSX0RFVEFJTFNfUkVREhsKE2N0aWRUcmFkZXJBY2NvdW50", + "SWQYAiACKAMSDwoHb3JkZXJJZBgDIAIoAyK1AQoWUHJvdG9PQU9yZGVyRGV0", + "YWlsc1JlcxJECgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQYXlsb2Fk", + "VHlwZToaUFJPVE9fT0FfT1JERVJfREVUQUlMU19SRVMSGwoTY3RpZFRyYWRl", + "ckFjY291bnRJZBgCIAIoAxIcCgVvcmRlchgDIAIoCzINLlByb3RvT0FPcmRl", + "chIaCgRkZWFsGAQgAygLMgwuUHJvdG9PQURlYWwi0AEKH1Byb3RvT0FPcmRl", + "ckxpc3RCeVBvc2l0aW9uSWRSZXESUAoLcGF5bG9hZFR5cGUYASABKA4yEy5Q", + "cm90b09BUGF5bG9hZFR5cGU6JlBST1RPX09BX09SREVSX0xJU1RfQllfUE9T", + "SVRJT05fSURfUkVREhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYAiACKAMSEgoK", + "cG9zaXRpb25JZBgDIAIoAxIVCg1mcm9tVGltZXN0YW1wGAQgASgDEhMKC3Rv", + "VGltZXN0YW1wGAUgASgDIr8BCh9Qcm90b09BT3JkZXJMaXN0QnlQb3NpdGlv", + "bklkUmVzElAKC3BheWxvYWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRU", + "eXBlOiZQUk9UT19PQV9PUkRFUl9MSVNUX0JZX1BPU0lUSU9OX0lEX1JFUxIb", + "ChNjdGlkVHJhZGVyQWNjb3VudElkGAIgAigDEhwKBW9yZGVyGAMgAygLMg0u", + "UHJvdG9PQU9yZGVyEg8KB2hhc01vcmUYBCACKAgikAEKGFByb3RvT0FEZWFs", + "T2Zmc2V0TGlzdFJlcRJHCgtwYXlsb2FkVHlwZRgBIAEoDjITLlByb3RvT0FQ", + "YXlsb2FkVHlwZTodUFJPVE9fT0FfREVBTF9PRkZTRVRfTElTVF9SRVESGwoT", + "Y3RpZFRyYWRlckFjY291bnRJZBgCIAIoAxIOCgZkZWFsSWQYAyACKAMizgEK", + "GFByb3RvT0FEZWFsT2Zmc2V0TGlzdFJlcxJHCgtwYXlsb2FkVHlwZRgBIAEo", + "DjITLlByb3RvT0FQYXlsb2FkVHlwZTodUFJPVE9fT0FfREVBTF9PRkZTRVRf", + "TElTVF9SRVMSGwoTY3RpZFRyYWRlckFjY291bnRJZBgCIAIoAxIkCghvZmZz", + "ZXRCeRgDIAMoCzISLlByb3RvT0FEZWFsT2Zmc2V0EiYKCm9mZnNldHRpbmcY", + "BCADKAsyEi5Qcm90b09BRGVhbE9mZnNldCKVAQoiUHJvdG9PQUdldFBvc2l0", + "aW9uVW5yZWFsaXplZFBuTFJlcRJSCgtwYXlsb2FkVHlwZRgBIAEoDjITLlBy", + "b3RvT0FQYXlsb2FkVHlwZTooUFJPVE9fT0FfR0VUX1BPU0lUSU9OX1VOUkVB", + "TElaRURfUE5MX1JFURIbChNjdGlkVHJhZGVyQWNjb3VudElkGAIgAigDIugB", + "CiJQcm90b09BR2V0UG9zaXRpb25VbnJlYWxpemVkUG5MUmVzElIKC3BheWxv", + "YWRUeXBlGAEgASgOMhMuUHJvdG9PQVBheWxvYWRUeXBlOihQUk9UT19PQV9H", + "RVRfUE9TSVRJT05fVU5SRUFMSVpFRF9QTkxfUkVTEhsKE2N0aWRUcmFkZXJB", + "Y2NvdW50SWQYAiACKAMSPAoVcG9zaXRpb25VbnJlYWxpemVkUG5MGAMgAygL", + "Mh0uUHJvdG9PQVBvc2l0aW9uVW5yZWFsaXplZFBuTBITCgttb25leURpZ2l0", + "cxgEIAIoDUJMCh9jb20ueHRyYWRlci5wcm90b2NvbC5vcGVuYXBpLnYyQhpD", + "b250YWluZXJPcGVuQXBpVjJNZXNzYWdlc1ABWggvb3BlbmFwaaABAQ==")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::OpenApiModelMessagesReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { @@ -355,7 +389,7 @@ static OpenApiMessagesReflection() { new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAApplicationAuthRes), global::ProtoOAApplicationAuthRes.Parser, new[]{ "PayloadType" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAAccountAuthReq), global::ProtoOAAccountAuthReq.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "AccessToken" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAAccountAuthRes), global::ProtoOAAccountAuthRes.Parser, new[]{ "PayloadType", "CtidTraderAccountId" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAErrorRes), global::ProtoOAErrorRes.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "ErrorCode", "Description", "MaintenanceEndTimestamp" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAErrorRes), global::ProtoOAErrorRes.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "ErrorCode", "Description", "MaintenanceEndTimestamp", "RetryAfter" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAClientDisconnectEvent), global::ProtoOAClientDisconnectEvent.Parser, new[]{ "PayloadType", "Reason" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAAccountsTokenInvalidatedEvent), global::ProtoOAAccountsTokenInvalidatedEvent.Parser, new[]{ "PayloadType", "CtidTraderAccountIds", "Reason" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAVersionReq), global::ProtoOAVersionReq.Parser, new[]{ "PayloadType" }, null, null, null, null), @@ -381,7 +415,7 @@ static OpenApiMessagesReflection() { new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOATraderReq), global::ProtoOATraderReq.Parser, new[]{ "PayloadType", "CtidTraderAccountId" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOATraderRes), global::ProtoOATraderRes.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "Trader" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOATraderUpdatedEvent), global::ProtoOATraderUpdatedEvent.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "Trader" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAReconcileReq), global::ProtoOAReconcileReq.Parser, new[]{ "PayloadType", "CtidTraderAccountId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAReconcileReq), global::ProtoOAReconcileReq.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "ReturnProtectionOrders" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAReconcileRes), global::ProtoOAReconcileRes.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "Position", "Order" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAOrderErrorEvent), global::ProtoOAOrderErrorEvent.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "ErrorCode", "OrderId", "PositionId", "Description" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOADealListReq), global::ProtoOADealListReq.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "FromTimestamp", "ToTimestamp", "MaxRows" }, null, null, null, null), @@ -407,7 +441,7 @@ static OpenApiMessagesReflection() { new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAUnsubscribeLiveTrendbarReq), global::ProtoOAUnsubscribeLiveTrendbarReq.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "Period", "SymbolId" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAUnsubscribeLiveTrendbarRes), global::ProtoOAUnsubscribeLiveTrendbarRes.Parser, new[]{ "PayloadType", "CtidTraderAccountId" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAGetTrendbarsReq), global::ProtoOAGetTrendbarsReq.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "FromTimestamp", "ToTimestamp", "Period", "SymbolId", "Count" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAGetTrendbarsRes), global::ProtoOAGetTrendbarsRes.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "Period", "Timestamp", "Trendbar", "SymbolId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAGetTrendbarsRes), global::ProtoOAGetTrendbarsRes.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "Period", "Timestamp", "Trendbar", "SymbolId", "HasMore" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAGetTickDataReq), global::ProtoOAGetTickDataReq.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "SymbolId", "Type", "FromTimestamp", "ToTimestamp" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAGetTickDataRes), global::ProtoOAGetTickDataRes.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "TickData", "HasMore" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAGetCtidProfileByTokenReq), global::ProtoOAGetCtidProfileByTokenReq.Parser, new[]{ "PayloadType", "AccessToken" }, null, null, null, null), @@ -431,7 +465,15 @@ static OpenApiMessagesReflection() { new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAGetDynamicLeverageByIDReq), global::ProtoOAGetDynamicLeverageByIDReq.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "LeverageId" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAGetDynamicLeverageByIDRes), global::ProtoOAGetDynamicLeverageByIDRes.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "Leverage" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOADealListByPositionIdReq), global::ProtoOADealListByPositionIdReq.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "PositionId", "FromTimestamp", "ToTimestamp" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOADealListByPositionIdRes), global::ProtoOADealListByPositionIdRes.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "Deal", "HasMore" }, null, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOADealListByPositionIdRes), global::ProtoOADealListByPositionIdRes.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "Deal", "HasMore" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAOrderDetailsReq), global::ProtoOAOrderDetailsReq.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "OrderId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAOrderDetailsRes), global::ProtoOAOrderDetailsRes.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "Order", "Deal" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAOrderListByPositionIdReq), global::ProtoOAOrderListByPositionIdReq.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "PositionId", "FromTimestamp", "ToTimestamp" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAOrderListByPositionIdRes), global::ProtoOAOrderListByPositionIdRes.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "Order", "HasMore" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOADealOffsetListReq), global::ProtoOADealOffsetListReq.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "DealId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOADealOffsetListRes), global::ProtoOADealOffsetListRes.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "OffsetBy", "Offsetting" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAGetPositionUnrealizedPnLReq), global::ProtoOAGetPositionUnrealizedPnLReq.Parser, new[]{ "PayloadType", "CtidTraderAccountId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAGetPositionUnrealizedPnLRes), global::ProtoOAGetPositionUnrealizedPnLRes.Parser, new[]{ "PayloadType", "CtidTraderAccountId", "PositionUnrealizedPnL", "MoneyDigits" }, null, null, null, null) })); } #endregion @@ -441,6 +483,7 @@ static OpenApiMessagesReflection() { /// ///* Request for the authorizing an application to work with the cTrader platform Proxies. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAApplicationAuthReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -522,7 +565,7 @@ public void ClearPayloadType() { private string clientId_; /// - ///The unique Client ID provided during the registration. + /// The unique Client ID provided during the registration. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -551,7 +594,7 @@ public void ClearClientId() { private string clientSecret_; /// - ///The unique Client Secret provided during the registration. + /// The unique Client Secret provided during the registration. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -705,7 +748,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -732,7 +779,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -758,6 +809,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoOAApplicationAuthReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAApplicationAuthRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -930,7 +982,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -949,7 +1005,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -967,6 +1027,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for the authorizing trading account session. Requires established authorized connection with the client application using ProtoOAApplicationAuthReq. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAAccountAuthReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1232,7 +1293,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1259,7 +1324,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1285,6 +1354,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoOAApplicationAuthRes request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAAccountAuthRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1504,7 +1574,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1527,7 +1601,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1549,6 +1627,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Generic response when an ERROR occurred. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAErrorRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1590,6 +1669,7 @@ public ProtoOAErrorRes(ProtoOAErrorRes other) : this() { errorCode_ = other.errorCode_; description_ = other.description_; maintenanceEndTimestamp_ = other.maintenanceEndTimestamp_; + retryAfter_ = other.retryAfter_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1632,7 +1712,7 @@ public void ClearPayloadType() { private long ctidTraderAccountId_; /// - ///The unique identifier of the trader's account in cTrader platform. + /// The unique identifier of the trader's account in cTrader platform. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -1720,7 +1800,7 @@ public void ClearDescription() { private long maintenanceEndTimestamp_; /// - /// The timestamp in seconds when the current maintenance session will be ended. + /// The Unix time in seconds when the current maintenance session will be ended. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -1744,6 +1824,36 @@ public void ClearMaintenanceEndTimestamp() { _hasBits0 &= ~4; } + /// Field number for the "retryAfter" field. + public const int RetryAfterFieldNumber = 6; + private readonly static ulong RetryAfterDefaultValue = 0UL; + + private ulong retryAfter_; + /// + /// When you hit rate limit with errorCode=BLOCKED_PAYLOAD_TYPE, this field will contain amount of seconds until related payload type will be unlocked. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong RetryAfter { + get { if ((_hasBits0 & 8) != 0) { return retryAfter_; } else { return RetryAfterDefaultValue; } } + set { + _hasBits0 |= 8; + retryAfter_ = value; + } + } + /// Gets whether the "retryAfter" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRetryAfter { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "retryAfter" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRetryAfter() { + _hasBits0 &= ~8; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -1764,6 +1874,7 @@ public bool Equals(ProtoOAErrorRes other) { if (ErrorCode != other.ErrorCode) return false; if (Description != other.Description) return false; if (MaintenanceEndTimestamp != other.MaintenanceEndTimestamp) return false; + if (RetryAfter != other.RetryAfter) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1776,6 +1887,7 @@ public override int GetHashCode() { if (HasErrorCode) hash ^= ErrorCode.GetHashCode(); if (HasDescription) hash ^= Description.GetHashCode(); if (HasMaintenanceEndTimestamp) hash ^= MaintenanceEndTimestamp.GetHashCode(); + if (HasRetryAfter) hash ^= RetryAfter.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1814,6 +1926,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(40); output.WriteInt64(MaintenanceEndTimestamp); } + if (HasRetryAfter) { + output.WriteRawTag(48); + output.WriteUInt64(RetryAfter); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -1844,6 +1960,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(40); output.WriteInt64(MaintenanceEndTimestamp); } + if (HasRetryAfter) { + output.WriteRawTag(48); + output.WriteUInt64(RetryAfter); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -1869,6 +1989,9 @@ public int CalculateSize() { if (HasMaintenanceEndTimestamp) { size += 1 + pb::CodedOutputStream.ComputeInt64Size(MaintenanceEndTimestamp); } + if (HasRetryAfter) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RetryAfter); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -1896,6 +2019,9 @@ public void MergeFrom(ProtoOAErrorRes other) { if (other.HasMaintenanceEndTimestamp) { MaintenanceEndTimestamp = other.MaintenanceEndTimestamp; } + if (other.HasRetryAfter) { + RetryAfter = other.RetryAfter; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1907,7 +2033,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1931,6 +2061,10 @@ public void MergeFrom(pb::CodedInputStream input) { MaintenanceEndTimestamp = input.ReadInt64(); break; } + case 48: { + RetryAfter = input.ReadUInt64(); + break; + } } } #endif @@ -1942,7 +2076,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1966,6 +2104,10 @@ public void MergeFrom(pb::CodedInputStream input) { MaintenanceEndTimestamp = input.ReadInt64(); break; } + case 48: { + RetryAfter = input.ReadUInt64(); + break; + } } } } @@ -1976,6 +2118,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Event that is sent when the connection with the client application is cancelled by the server. All the sessions for the traders' accounts will be terminated. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAClientDisconnectEvent : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2194,7 +2337,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2217,7 +2364,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2239,6 +2390,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Event that is sent when a session to a specific trader's account is terminated by the server but the existing connections with the other trader's accounts are maintained. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAAccountsTokenInvalidatedEvent : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2478,7 +2630,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2506,7 +2662,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2533,6 +2693,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for getting the proxy version. Can be used to check the current version of the Open API scheme. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAVersionReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2705,7 +2866,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2724,7 +2889,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2742,6 +2911,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoOAVersionReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAVersionRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2960,7 +3130,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2983,7 +3157,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3005,6 +3183,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for sending a new trading order. Allowed only if the accessToken has the "trade" permissions for the trading account. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOANewOrderReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3346,7 +3525,7 @@ public void ClearTimeInForce() { private long expirationTimestamp_; /// - /// The exact Order expiration time. Should be set for the Good Till Date orders. + /// The Unix time in milliseconds of Order expiration. Should be set for the Good Till Date orders. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -3673,7 +3852,7 @@ public void ClearRelativeTakeProfit() { private bool guaranteedStopLoss_; /// - /// If TRUE then stopLoss is guaranteed. Available for the French Risk or the Guaranteed Stop Loss Accounts. + /// If TRUE then stopLoss is guaranteed. Required to be set to TRUE for the Limited Risk accounts (ProtoOATrader.isLimitedRisk=true). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -4208,7 +4387,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4315,7 +4498,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4421,6 +4608,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Event that is sent following the successful order acceptance or execution by the server. Acts as response to the ProtoOANewOrderReq, ProtoOACancelOrderReq, ProtoOAAmendOrderReq, ProtoOAAmendPositionSLTPReq, ProtoOAClosePositionReq requests. Also, the event is sent when a Deposit/Withdrawal took place. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAExecutionEvent : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4644,7 +4832,7 @@ public void ClearExecutionType() { private string errorCode_; /// - ///The name of the ProtoErrorCode or the other custom ErrorCodes (e.g. ProtoCHErrorCode). + /// The name of the ProtoErrorCode or the other custom ErrorCodes (e.g. ProtoCHErrorCode). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -4955,7 +5143,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5025,7 +5217,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5094,6 +5290,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for cancelling existing pending order. Allowed only if the accessToken has "trade" permissions for the trading account. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOACancelOrderReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5360,7 +5557,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5387,7 +5588,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5413,6 +5618,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for amending the existing pending order. Allowed only if the Access Token has "trade" permissions for the trading account. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAAmendOrderReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5656,7 +5862,7 @@ public void ClearStopPrice() { private long expirationTimestamp_; /// - /// The exact Order expiration time. Should be set for the Good Till Date orders. + /// The Unix timestamp in milliseconds of Order expiration. Should be set for the Good Till Date orders. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -6243,7 +6449,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -6318,7 +6528,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -6392,6 +6606,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for amending StopLoss and TakeProfit of existing position. Allowed only if the accessToken has "trade" permissions for the trading account. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAAmendPositionSLTPReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -6893,7 +7108,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -6940,7 +7159,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -6986,6 +7209,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for closing or partially closing of an existing position. Allowed only if the accessToken has "trade" permissions for the trading account. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAClosePositionReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -7299,7 +7523,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -7330,7 +7558,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -7360,6 +7592,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Event that is sent when the level of the Trailing Stop Loss is changed due to the price level changes. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOATrailingSLChangedEvent : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -7564,7 +7797,7 @@ public void ClearStopPrice() { private long utcLastUpdateTimestamp_; /// - /// The exact UTC time when the Stop Loss was updated. + /// The Unix time in milliseconds when the Stop Loss was updated. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -7767,7 +8000,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -7806,7 +8043,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -7844,6 +8085,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for the list of assets available for a trader's account. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAAssetListReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -8063,7 +8305,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -8086,7 +8332,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -8108,6 +8358,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoOAAssetListReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAAssetListRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -8348,7 +8599,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -8375,7 +8630,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -8401,6 +8660,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for a list of symbols available for a trading account. Symbol entries are returned with the limited set of fields. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOASymbolsListReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -8667,7 +8927,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -8694,7 +8958,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -8720,6 +8988,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoOASymbolsListReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOASymbolsListRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -8981,7 +9250,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -9012,7 +9285,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -9042,6 +9319,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for getting a full symbol entity. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOASymbolByIdReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -9282,7 +9560,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -9310,7 +9592,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -9337,6 +9623,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoOASymbolByIdReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOASymbolByIdRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -9598,7 +9885,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -9629,7 +9920,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -9657,8 +9952,9 @@ public void MergeFrom(pb::CodedInputStream input) { } /// -///* Request for getting a conversion chain between two assets that consists of several symbols. Use when no direct quote is available +///* Request for getting a conversion chain between two assets that consists of several symbols. Use when no direct quote is available. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOASymbolsForConversionReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -9972,7 +10268,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -10003,7 +10303,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -10033,6 +10337,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoOASymbolsForConversionReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOASymbolsForConversionRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -10273,7 +10578,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -10300,7 +10609,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -10326,6 +10639,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Event that is sent when the symbol is changed on the Server side. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOASymbolChangedEvent : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -10566,7 +10880,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -10594,7 +10912,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -10621,6 +10943,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for a list of asset classes available for the trader's account. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAAssetClassListReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -10840,7 +11163,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -10863,7 +11190,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -10885,6 +11216,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoOAAssetListReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAAssetClassListRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -11125,7 +11457,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -11152,7 +11488,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -11178,6 +11518,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for getting data of Trader's Account. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOATraderReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -11397,7 +11738,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -11420,7 +11765,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -11442,6 +11791,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoOATraderReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOATraderRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -11696,7 +12046,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -11726,7 +12080,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -11755,6 +12113,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Event that is sent when a Trader is updated on Server side. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOATraderUpdatedEvent : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -12009,7 +12368,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -12039,7 +12402,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -12068,6 +12435,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for getting Trader's current open positions and pending orders data. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAReconcileReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -12106,6 +12474,7 @@ public ProtoOAReconcileReq(ProtoOAReconcileReq other) : this() { _hasBits0 = other._hasBits0; payloadType_ = other.payloadType_; ctidTraderAccountId_ = other.ctidTraderAccountId_; + returnProtectionOrders_ = other.returnProtectionOrders_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -12172,6 +12541,36 @@ public void ClearCtidTraderAccountId() { _hasBits0 &= ~2; } + /// Field number for the "returnProtectionOrders" field. + public const int ReturnProtectionOrdersFieldNumber = 3; + private readonly static bool ReturnProtectionOrdersDefaultValue = false; + + private bool returnProtectionOrders_; + /// + /// If TRUE, then current protection orders are returned separately, otherwise you can use position.stopLoss and position.takeProfit fields. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool ReturnProtectionOrders { + get { if ((_hasBits0 & 4) != 0) { return returnProtectionOrders_; } else { return ReturnProtectionOrdersDefaultValue; } } + set { + _hasBits0 |= 4; + returnProtectionOrders_ = value; + } + } + /// Gets whether the "returnProtectionOrders" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasReturnProtectionOrders { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "returnProtectionOrders" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearReturnProtectionOrders() { + _hasBits0 &= ~4; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -12189,6 +12588,7 @@ public bool Equals(ProtoOAReconcileReq other) { } if (PayloadType != other.PayloadType) return false; if (CtidTraderAccountId != other.CtidTraderAccountId) return false; + if (ReturnProtectionOrders != other.ReturnProtectionOrders) return false; return Equals(_unknownFields, other._unknownFields); } @@ -12198,6 +12598,7 @@ public override int GetHashCode() { int hash = 1; if (HasPayloadType) hash ^= PayloadType.GetHashCode(); if (HasCtidTraderAccountId) hash ^= CtidTraderAccountId.GetHashCode(); + if (HasReturnProtectionOrders) hash ^= ReturnProtectionOrders.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -12224,6 +12625,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(16); output.WriteInt64(CtidTraderAccountId); } + if (HasReturnProtectionOrders) { + output.WriteRawTag(24); + output.WriteBool(ReturnProtectionOrders); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -12242,6 +12647,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(16); output.WriteInt64(CtidTraderAccountId); } + if (HasReturnProtectionOrders) { + output.WriteRawTag(24); + output.WriteBool(ReturnProtectionOrders); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -12258,6 +12667,9 @@ public int CalculateSize() { if (HasCtidTraderAccountId) { size += 1 + pb::CodedOutputStream.ComputeInt64Size(CtidTraderAccountId); } + if (HasReturnProtectionOrders) { + size += 1 + 1; + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -12276,6 +12688,9 @@ public void MergeFrom(ProtoOAReconcileReq other) { if (other.HasCtidTraderAccountId) { CtidTraderAccountId = other.CtidTraderAccountId; } + if (other.HasReturnProtectionOrders) { + ReturnProtectionOrders = other.ReturnProtectionOrders; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -12287,7 +12702,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -12299,6 +12718,10 @@ public void MergeFrom(pb::CodedInputStream input) { CtidTraderAccountId = input.ReadInt64(); break; } + case 24: { + ReturnProtectionOrders = input.ReadBool(); + break; + } } } #endif @@ -12310,7 +12733,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -12322,6 +12749,10 @@ public void MergeFrom(pb::CodedInputStream input) { CtidTraderAccountId = input.ReadInt64(); break; } + case 24: { + ReturnProtectionOrders = input.ReadBool(); + break; + } } } } @@ -12332,6 +12763,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* The response to the ProtoOAReconcileReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAReconcileRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -12593,7 +13025,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -12624,7 +13060,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -12654,6 +13094,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Event that is sent when errors occur during the order requests. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAOrderErrorEvent : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -13059,7 +13500,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -13098,7 +13543,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -13136,6 +13585,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for getting Trader's deals historical data (execution details). /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOADealListReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -13249,7 +13699,7 @@ public void ClearCtidTraderAccountId() { private long fromTimestamp_; /// - /// The UNIX time from which the search starts >=0 (1-1-1970). Validation: toTimestamp - fromTimestamp <= 604800000 (1 week). + /// The Unix time from which the search starts >=0 (1st Jan 1970). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -13279,7 +13729,7 @@ public void ClearFromTimestamp() { private long toTimestamp_; /// - /// The UNIX time where to stop searching <= 2147483646000 (19-1-2038). + /// The Unix time where to stop searching <= 2147483646000 (19th Jan 2038). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -13496,7 +13946,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -13531,7 +13985,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -13565,6 +14023,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* The response to the ProtoOADealListRes request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOADealListRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -13691,7 +14150,7 @@ public void ClearCtidTraderAccountId() { private bool hasMore_; /// - /// If TRUE then the response will provide more than 10000 deals. + /// If TRUE then the number of records by filter is larger than chunkSize, the response contains the number of records that is equal to chunkSize. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -13852,7 +14311,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -13883,7 +14346,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -13911,8 +14378,9 @@ public void MergeFrom(pb::CodedInputStream input) { } /// -///* Request for getting Trader's closed orders filtered by timestamp +///* Request for getting Trader's orders filtered by timestamp /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAOrderListReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -14025,7 +14493,7 @@ public void ClearCtidTraderAccountId() { private long fromTimestamp_; /// - /// The UNIX time from which the search starts >=0 (1-1-1970). Validation: toTimestamp - fromTimestamp <= 604800000 (1 week). + /// The Unix time from which the search starts >=0 (1st Jan 1970). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -14055,7 +14523,7 @@ public void ClearFromTimestamp() { private long toTimestamp_; /// - /// The UNIX time where to stop searching <= 2147483646000 (19-1-2038). + /// The Unix time where to stop searching <= 2147483646000 (19th Jan 2038). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -14226,7 +14694,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -14257,7 +14729,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -14287,6 +14763,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* The response to the ProtoOAOrderListReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAOrderListRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -14413,7 +14890,7 @@ public void ClearCtidTraderAccountId() { private bool hasMore_; /// - /// If TRUE then the response will provide more than 10000 orders. + /// If TRUE then the number of records by filter is larger than chunkSize, the response contains the number of records that is equal to chunkSize. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -14574,7 +15051,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -14605,7 +15086,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -14633,8 +15118,9 @@ public void MergeFrom(pb::CodedInputStream input) { } /// -///* Request for getting the margin estimate. Can be used before sending a new order request. +///* Request for getting the margin estimate according to leverage profiles. Can be used before sending a new order request. This doesn't consider ACCORDING_TO_GSL margin calculation type, as this calculation is trivial: usedMargin = (VWAP price of the position - GSL price) * volume * Quote2Deposit. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAExpectedMarginReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -14922,7 +15408,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -14954,7 +15444,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -14985,6 +15479,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* The response to the ProtoOAExpectedMarginReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAExpectedMarginRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -15272,7 +15767,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -15303,7 +15802,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -15333,6 +15836,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Event that is sent when the margin allocated to a specific position is changed. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAMarginChangedEvent : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -15693,7 +16197,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -15728,7 +16236,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -15762,6 +16274,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for getting Trader's historical data of deposits and withdrawals. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOACashFlowHistoryListReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -15874,7 +16387,7 @@ public void ClearCtidTraderAccountId() { private long fromTimestamp_; /// - /// The UNIX time from which the search starts >=0 (1-1-1970). Validation: toTimestamp - fromTimestamp <= 604800000 (1 week). + /// The Unix time from which the search starts >=0 (1st Jan 1970). Validation: toTimestamp - fromTimestamp <= 604800000 (1 week). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -15904,7 +16417,7 @@ public void ClearFromTimestamp() { private long toTimestamp_; /// - /// The UNIX time where to stop searching <= 2147483646000 (19-1-2038). + /// The Unix time where to stop searching <= 2147483646000 (19th Jan 2038). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -16075,7 +16588,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -16106,7 +16623,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -16136,6 +16657,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoOACashFlowHistoryListReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOACashFlowHistoryListRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -16376,7 +16898,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -16403,7 +16929,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -16429,6 +16959,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for getting the list of granted trader's account for the access token. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAGetAccountListByAccessTokenReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -16647,7 +17178,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -16670,7 +17205,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -16692,6 +17231,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoOAGetAccountListByAccessTokenReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAGetAccountListByAccessTokenRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -16978,7 +17518,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -17009,7 +17553,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -17039,6 +17587,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request to refresh the access token using refresh token of granted trader's account. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOARefreshTokenReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -17257,7 +17806,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -17280,7 +17833,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -17302,6 +17859,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoOARefreshTokenReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOARefreshTokenRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -17659,7 +18217,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -17694,7 +18256,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -17726,8 +18292,9 @@ public void MergeFrom(pb::CodedInputStream input) { } /// -///* Request for subscribing on spot events of the specified symbol. +///* Request for subscribing on spot events of the specified symbol. After successful subscription you'll receive technical ProtoOASpotEvent with latest price, after which you'll start receiving updates on prices via consequent ProtoOASpotEvents. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOASubscribeSpotsReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -18015,7 +18582,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -18047,7 +18618,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -18076,8 +18651,9 @@ public void MergeFrom(pb::CodedInputStream input) { } /// -///* Response to the ProtoOASubscribeSpotsReq request. +///* Response to the ProtoOASubscribeSpotsReq request. Reflects that your request to subscribe for symbol has been added to queue. You'll receive technical ProtoOASpotEvent with current price shortly after this response. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOASubscribeSpotsRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -18297,8 +18873,12 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { @@ -18320,7 +18900,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -18340,8 +18924,9 @@ public void MergeFrom(pb::CodedInputStream input) { } /// -///* Request for unsubscribing from the spot events of the specified symbol. +///* Request for unsubscribing from the spot events of the specified symbol. Request to stop receiving ProtoOASpotEvents related to particular symbols. Unsubscription is useful to minimize traffic, especially during high volatility events. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAUnsubscribeSpotsReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -18582,7 +19167,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -18610,7 +19199,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -18635,8 +19228,9 @@ public void MergeFrom(pb::CodedInputStream input) { } /// -///* Response to the ProtoOASubscribeSpotsRes request. +///* Response to the ProtoOASubscribeSpotsRes request. Reflects that your request to unsubscribe will has been added to queue and will be completed shortly. You may still occasionally receive ProtoOASpotEvents until request processing is complete. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAUnsubscribeSpotsRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -18856,7 +19450,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -18879,7 +19477,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -18901,6 +19503,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Event that is sent when a new spot event is generated on the server side. Requires subscription on the spot events, see ProtoOASubscribeSpotsReq. First event, received after subscription will contain latest spot prices even if market is closed. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOASpotEvent : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -19151,7 +19754,7 @@ public void ClearSessionClose() { private long timestamp_; /// - /// The UNIX timestamp for spot. + /// The Unix time for spot. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -19376,7 +19979,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -19423,7 +20030,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -19469,6 +20080,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for subscribing for live trend bars. Requires subscription on the spot events, see ProtoOASubscribeSpotsReq. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOASubscribeLiveTrendbarReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -19782,7 +20394,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -19813,7 +20429,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -19843,6 +20463,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoOASubscribeLiveTrendbarReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOASubscribeLiveTrendbarRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -20062,7 +20683,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -20085,7 +20710,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -20107,6 +20736,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for unsubscribing from the live trend bars. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAUnsubscribeLiveTrendbarReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -20420,7 +21050,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -20451,7 +21085,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -20481,6 +21119,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoOASubscribeLiveTrendbarReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAUnsubscribeLiveTrendbarRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -20700,7 +21339,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -20723,7 +21366,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -20745,6 +21392,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for getting historical trend bars for the symbol. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAGetTrendbarsReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -20860,7 +21508,7 @@ public void ClearCtidTraderAccountId() { private long fromTimestamp_; /// - /// The exact time of starting the search in milliseconds. Must be bigger or equal to zero (1-1-1970). Validation: toTimestamp - fromTimestamp <= X, where X depends on series period: M1, M2, M3, M4, M5: 302400000 (5 weeks); M10, M15, M30, H1: 21168000000 (35 weeks), H4, H12, D1: 31622400000 (1 year); W1, MN1: 158112000000 (5 years). + /// The Unix time in milliseconds from which the search starts. Must be bigger or equal to zero (1st Jan 1970). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -20890,7 +21538,7 @@ public void ClearFromTimestamp() { private long toTimestamp_; /// - /// The exact time of finishing the search in milliseconds. Smaller or equal to 2147483646000 (19-1-2038). + /// The Unix time in milliseconds of finishing the search. Smaller or equal to 2147483646000 (19th Jan 2038). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -21199,7 +21847,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -21242,7 +21894,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -21284,6 +21940,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoOAGetTrendbarsReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAGetTrendbarsRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -21326,6 +21983,7 @@ public ProtoOAGetTrendbarsRes(ProtoOAGetTrendbarsRes other) : this() { timestamp_ = other.timestamp_; trendbar_ = other.trendbar_.Clone(); symbolId_ = other.symbolId_; + hasMore_ = other.hasMore_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -21428,8 +22086,9 @@ public void ClearPeriod() { private long timestamp_; /// - /// Equals to toTimestamp from the request. + /// Simply don't use this field, as your original request already contains toTimestamp. /// + [global::System.ObsoleteAttribute] [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public long Timestamp { @@ -21440,12 +22099,14 @@ public long Timestamp { } } /// Gets whether the "timestamp" field is set + [global::System.ObsoleteAttribute] [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasTimestamp { get { return (_hasBits0 & 8) != 0; } } /// Clears the value of the "timestamp" field + [global::System.ObsoleteAttribute] [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearTimestamp() { @@ -21496,6 +22157,36 @@ public void ClearSymbolId() { _hasBits0 &= ~16; } + /// Field number for the "hasMore" field. + public const int HasMoreFieldNumber = 7; + private readonly static bool HasMoreDefaultValue = false; + + private bool hasMore_; + /// + /// If TRUE then the number of records by filter is larger than chunkSize, the response contains the number of records that is equal to chunkSize. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMore { + get { if ((_hasBits0 & 32) != 0) { return hasMore_; } else { return HasMoreDefaultValue; } } + set { + _hasBits0 |= 32; + hasMore_ = value; + } + } + /// Gets whether the "hasMore" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasHasMore { + get { return (_hasBits0 & 32) != 0; } + } + /// Clears the value of the "hasMore" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearHasMore() { + _hasBits0 &= ~32; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -21517,6 +22208,7 @@ public bool Equals(ProtoOAGetTrendbarsRes other) { if (Timestamp != other.Timestamp) return false; if(!trendbar_.Equals(other.trendbar_)) return false; if (SymbolId != other.SymbolId) return false; + if (HasMore != other.HasMore) return false; return Equals(_unknownFields, other._unknownFields); } @@ -21530,6 +22222,7 @@ public override int GetHashCode() { if (HasTimestamp) hash ^= Timestamp.GetHashCode(); hash ^= trendbar_.GetHashCode(); if (HasSymbolId) hash ^= SymbolId.GetHashCode(); + if (HasHasMore) hash ^= HasMore.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -21569,6 +22262,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(48); output.WriteInt64(SymbolId); } + if (HasHasMore) { + output.WriteRawTag(56); + output.WriteBool(HasMore); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -21600,6 +22297,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(48); output.WriteInt64(SymbolId); } + if (HasHasMore) { + output.WriteRawTag(56); + output.WriteBool(HasMore); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -21626,6 +22327,9 @@ public int CalculateSize() { if (HasSymbolId) { size += 1 + pb::CodedOutputStream.ComputeInt64Size(SymbolId); } + if (HasHasMore) { + size += 1 + 1; + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -21654,6 +22358,9 @@ public void MergeFrom(ProtoOAGetTrendbarsRes other) { if (other.HasSymbolId) { SymbolId = other.SymbolId; } + if (other.HasHasMore) { + HasMore = other.HasMore; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -21665,7 +22372,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -21693,6 +22404,10 @@ public void MergeFrom(pb::CodedInputStream input) { SymbolId = input.ReadInt64(); break; } + case 56: { + HasMore = input.ReadBool(); + break; + } } } #endif @@ -21704,7 +22419,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -21732,6 +22451,10 @@ public void MergeFrom(pb::CodedInputStream input) { SymbolId = input.ReadInt64(); break; } + case 56: { + HasMore = input.ReadBool(); + break; + } } } } @@ -21742,6 +22465,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for getting historical tick data for the symbol. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAGetTickDataReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -21916,7 +22640,7 @@ public void ClearType() { private long fromTimestamp_; /// - /// The exact time of starting the search in milliseconds. Must be bigger of equal to zero (1-1-1970). Validation: toTimestamp - fromTimestamp <= 604800000 (1 week). + /// The Unix time in milliseconds of starting the search. Must be bigger or equal to zero (1st Jan 1970). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -21946,7 +22670,7 @@ public void ClearFromTimestamp() { private long toTimestamp_; /// - /// The exact time of finishing the search in milliseconds <= 2147483646000 (19-1-2038). + /// The Unix time in milliseconds of finishing the search. <= 2147483646000 (19th Jan 2038). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -22149,7 +22873,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -22188,7 +22916,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -22226,6 +22958,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoOAGetTickDataReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAGetTickDataRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -22338,7 +23071,7 @@ public void ClearCtidTraderAccountId() { = pb::FieldCodec.ForMessage(26, global::ProtoOATickData.Parser); private readonly pbc::RepeatedField tickData_ = new pbc::RepeatedField(); /// - /// The list of ticks is in chronological order. The first tick contains Unix timestamp in milliseconds while all subsequent ticks have the time difference in milliseconds between the previous and the current one. + /// The list of ticks is in chronological order (newest first). The first tick contains Unix time in milliseconds while all subsequent ticks have the time difference in milliseconds between the previous and the current one. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -22513,7 +23246,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -22544,7 +23281,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -22574,6 +23315,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for getting details of Trader's profile. Limited due to GDRP requirements. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAGetCtidProfileByTokenReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -22792,7 +23534,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -22815,7 +23561,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -22837,6 +23587,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoOAGetCtidProfileByTokenReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAGetCtidProfileByTokenRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -23044,7 +23795,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -23070,7 +23825,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -23095,6 +23854,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Event that is sent when the structure of depth of market is changed. Requires subscription on the depth of markets for the symbol, see ProtoOASubscribeDepthQuotesReq. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOADepthEvent : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -23403,7 +24163,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -23439,7 +24203,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -23474,6 +24242,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for subscribing on depth of market of the specified symbol. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOASubscribeDepthQuotesReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -23714,7 +24483,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -23742,7 +24515,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -23769,6 +24546,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoOASubscribeDepthQuotesReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOASubscribeDepthQuotesRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -23988,7 +24766,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -24011,7 +24793,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -24033,6 +24819,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for unsubscribing from the depth of market of the specified symbol. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAUnsubscribeDepthQuotesReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -24273,7 +25060,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -24301,7 +25092,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -24328,6 +25123,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoOAUnsubscribeDepthQuotesReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAUnsubscribeDepthQuotesRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -24547,7 +25343,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -24570,7 +25370,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -24592,6 +25396,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for a list of symbol categories available for a trading account. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOASymbolCategoryListReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -24811,7 +25616,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -24834,7 +25643,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -24856,6 +25669,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoSymbolCategoryListReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOASymbolCategoryListRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -25096,7 +25910,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -25123,7 +25941,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -25147,8 +25969,9 @@ public void MergeFrom(pb::CodedInputStream input) { } /// -///* Request for logout of trading account session. +///* Request for logout of trading account session. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAAccountLogoutReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -25368,7 +26191,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -25391,7 +26218,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -25411,8 +26242,9 @@ public void MergeFrom(pb::CodedInputStream input) { } /// -///* Response to the ProtoOATraderLogoutReq request. +///* Response to the ProtoOATraderLogoutReq request. Actual logout of trading account will be completed on ProtoOAAccountDisconnectEvent. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAAccountLogoutRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -25632,7 +26464,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -25655,7 +26491,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -25677,6 +26517,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Event that is sent when the established session for an account is dropped on the server side. A new session must be authorized for the account. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAAccountDisconnectEvent : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -25896,7 +26737,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -25919,7 +26764,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -25941,6 +26790,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for a list of existing margin call thresholds configured for a user. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAMarginCallListReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -26157,7 +27007,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -26180,7 +27034,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -26202,6 +27060,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response with a list of existing user Margin Calls, usually contains 3 items. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAMarginCallListRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -26392,7 +27251,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -26415,7 +27278,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -26437,6 +27304,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request to modify marginLevelThreshold of specified marginCallType for ctidTraderAccountId. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAMarginCallUpdateReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -26685,7 +27553,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -26715,7 +27587,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -26744,6 +27620,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* If this response received, it means that margin call was successfully updated. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAMarginCallUpdateRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -26916,7 +27793,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -26935,7 +27816,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -26953,6 +27838,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Event that is sent when a Margin Call threshold configuration is updated. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAMarginCallUpdateEvent : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -27201,7 +28087,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -27231,7 +28121,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -27260,6 +28154,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Event that is sent when account margin level reaches target marginLevelThreshold. Event is sent no more than once every 10 minutes to avoid spamming. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAMarginCallTriggerEvent : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -27508,7 +28403,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -27538,7 +28437,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -27567,6 +28470,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for getting a dynamic leverage entity referenced in ProtoOASymbol.leverageId. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAGetDynamicLeverageByIDReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -27830,7 +28734,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -27857,7 +28765,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -27883,6 +28795,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoOAGetDynamicLeverageByIDReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAGetDynamicLeverageByIDRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -28134,7 +29047,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -28164,7 +29081,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -28193,6 +29114,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Request for retrieving the deals related to a position. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOADealListByPositionIdReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -28336,7 +29258,7 @@ public void ClearPositionId() { private long fromTimestamp_; /// - /// The exact time of starting the search in milliseconds. Must be bigger of equal to zero (1-1-1970). Validation: toTimestamp - fromTimestamp <= 604800000 (1 week). + /// The Unix time in milliseconds of starting the search. Must be bigger or equal to zero (1st Jan 1970). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -28366,7 +29288,7 @@ public void ClearFromTimestamp() { private long toTimestamp_; /// - /// The exact time of finishing the search in milliseconds <= 2147483646000 (19-1-2038). + /// The Unix time in milliseconds of finishing the search. <= 2147483646000 (19th Jan 2038). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -28553,7 +29475,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -28588,7 +29514,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -28622,6 +29552,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Response to the ProtoOADealListByPositionIdReq request. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOADealListByPositionIdRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -28909,7 +29840,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -28940,7 +29875,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -28967,6 +29906,2769 @@ public void MergeFrom(pb::CodedInputStream input) { } +/// +///* Request for getting Order and its related Deals. +/// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] +public sealed partial class ProtoOAOrderDetailsReq : pb::IMessage +#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage +#endif +{ + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoOAOrderDetailsReq()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::OpenApiMessagesReflection.Descriptor.MessageTypes[81]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOAOrderDetailsReq() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOAOrderDetailsReq(ProtoOAOrderDetailsReq other) : this() { + _hasBits0 = other._hasBits0; + payloadType_ = other.payloadType_; + ctidTraderAccountId_ = other.ctidTraderAccountId_; + orderId_ = other.orderId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOAOrderDetailsReq Clone() { + return new ProtoOAOrderDetailsReq(this); + } + + /// Field number for the "payloadType" field. + public const int PayloadTypeFieldNumber = 1; + private readonly static global::ProtoOAPayloadType PayloadTypeDefaultValue = global::ProtoOAPayloadType.ProtoOaOrderDetailsReq; + + private global::ProtoOAPayloadType payloadType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ProtoOAPayloadType PayloadType { + get { if ((_hasBits0 & 1) != 0) { return payloadType_; } else { return PayloadTypeDefaultValue; } } + set { + _hasBits0 |= 1; + payloadType_ = value; + } + } + /// Gets whether the "payloadType" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPayloadType { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "payloadType" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPayloadType() { + _hasBits0 &= ~1; + } + + /// Field number for the "ctidTraderAccountId" field. + public const int CtidTraderAccountIdFieldNumber = 2; + private readonly static long CtidTraderAccountIdDefaultValue = 0L; + + private long ctidTraderAccountId_; + /// + /// Unique identifier of the trader's account. Used to match responses to trader's accounts. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long CtidTraderAccountId { + get { if ((_hasBits0 & 2) != 0) { return ctidTraderAccountId_; } else { return CtidTraderAccountIdDefaultValue; } } + set { + _hasBits0 |= 2; + ctidTraderAccountId_ = value; + } + } + /// Gets whether the "ctidTraderAccountId" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasCtidTraderAccountId { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "ctidTraderAccountId" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearCtidTraderAccountId() { + _hasBits0 &= ~2; + } + + /// Field number for the "orderId" field. + public const int OrderIdFieldNumber = 3; + private readonly static long OrderIdDefaultValue = 0L; + + private long orderId_; + /// + /// The unique ID of the Order. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long OrderId { + get { if ((_hasBits0 & 4) != 0) { return orderId_; } else { return OrderIdDefaultValue; } } + set { + _hasBits0 |= 4; + orderId_ = value; + } + } + /// Gets whether the "orderId" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasOrderId { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "orderId" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearOrderId() { + _hasBits0 &= ~4; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ProtoOAOrderDetailsReq); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ProtoOAOrderDetailsReq other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (PayloadType != other.PayloadType) return false; + if (CtidTraderAccountId != other.CtidTraderAccountId) return false; + if (OrderId != other.OrderId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasPayloadType) hash ^= PayloadType.GetHashCode(); + if (HasCtidTraderAccountId) hash ^= CtidTraderAccountId.GetHashCode(); + if (HasOrderId) hash ^= OrderId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasPayloadType) { + output.WriteRawTag(8); + output.WriteEnum((int) PayloadType); + } + if (HasCtidTraderAccountId) { + output.WriteRawTag(16); + output.WriteInt64(CtidTraderAccountId); + } + if (HasOrderId) { + output.WriteRawTag(24); + output.WriteInt64(OrderId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasPayloadType) { + output.WriteRawTag(8); + output.WriteEnum((int) PayloadType); + } + if (HasCtidTraderAccountId) { + output.WriteRawTag(16); + output.WriteInt64(CtidTraderAccountId); + } + if (HasOrderId) { + output.WriteRawTag(24); + output.WriteInt64(OrderId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasPayloadType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PayloadType); + } + if (HasCtidTraderAccountId) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(CtidTraderAccountId); + } + if (HasOrderId) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(OrderId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ProtoOAOrderDetailsReq other) { + if (other == null) { + return; + } + if (other.HasPayloadType) { + PayloadType = other.PayloadType; + } + if (other.HasCtidTraderAccountId) { + CtidTraderAccountId = other.CtidTraderAccountId; + } + if (other.HasOrderId) { + OrderId = other.OrderId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + PayloadType = (global::ProtoOAPayloadType) input.ReadEnum(); + break; + } + case 16: { + CtidTraderAccountId = input.ReadInt64(); + break; + } + case 24: { + OrderId = input.ReadInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + PayloadType = (global::ProtoOAPayloadType) input.ReadEnum(); + break; + } + case 16: { + CtidTraderAccountId = input.ReadInt64(); + break; + } + case 24: { + OrderId = input.ReadInt64(); + break; + } + } + } + } + #endif + +} + +/// +///* Response to the ProtoOAOrderDetailsReq request. +/// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] +public sealed partial class ProtoOAOrderDetailsRes : pb::IMessage +#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage +#endif +{ + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoOAOrderDetailsRes()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::OpenApiMessagesReflection.Descriptor.MessageTypes[82]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOAOrderDetailsRes() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOAOrderDetailsRes(ProtoOAOrderDetailsRes other) : this() { + _hasBits0 = other._hasBits0; + payloadType_ = other.payloadType_; + ctidTraderAccountId_ = other.ctidTraderAccountId_; + order_ = other.order_ != null ? other.order_.Clone() : null; + deal_ = other.deal_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOAOrderDetailsRes Clone() { + return new ProtoOAOrderDetailsRes(this); + } + + /// Field number for the "payloadType" field. + public const int PayloadTypeFieldNumber = 1; + private readonly static global::ProtoOAPayloadType PayloadTypeDefaultValue = global::ProtoOAPayloadType.ProtoOaOrderDetailsRes; + + private global::ProtoOAPayloadType payloadType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ProtoOAPayloadType PayloadType { + get { if ((_hasBits0 & 1) != 0) { return payloadType_; } else { return PayloadTypeDefaultValue; } } + set { + _hasBits0 |= 1; + payloadType_ = value; + } + } + /// Gets whether the "payloadType" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPayloadType { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "payloadType" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPayloadType() { + _hasBits0 &= ~1; + } + + /// Field number for the "ctidTraderAccountId" field. + public const int CtidTraderAccountIdFieldNumber = 2; + private readonly static long CtidTraderAccountIdDefaultValue = 0L; + + private long ctidTraderAccountId_; + /// + /// Unique identifier of the trader's account. Used to match responses to trader's accounts. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long CtidTraderAccountId { + get { if ((_hasBits0 & 2) != 0) { return ctidTraderAccountId_; } else { return CtidTraderAccountIdDefaultValue; } } + set { + _hasBits0 |= 2; + ctidTraderAccountId_ = value; + } + } + /// Gets whether the "ctidTraderAccountId" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasCtidTraderAccountId { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "ctidTraderAccountId" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearCtidTraderAccountId() { + _hasBits0 &= ~2; + } + + /// Field number for the "order" field. + public const int OrderFieldNumber = 3; + private global::ProtoOAOrder order_; + /// + /// Order details. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ProtoOAOrder Order { + get { return order_; } + set { + order_ = value; + } + } + + /// Field number for the "deal" field. + public const int DealFieldNumber = 4; + private static readonly pb::FieldCodec _repeated_deal_codec + = pb::FieldCodec.ForMessage(34, global::ProtoOADeal.Parser); + private readonly pbc::RepeatedField deal_ = new pbc::RepeatedField(); + /// + /// All Deals created by filling the specified Order. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField Deal { + get { return deal_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ProtoOAOrderDetailsRes); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ProtoOAOrderDetailsRes other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (PayloadType != other.PayloadType) return false; + if (CtidTraderAccountId != other.CtidTraderAccountId) return false; + if (!object.Equals(Order, other.Order)) return false; + if(!deal_.Equals(other.deal_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasPayloadType) hash ^= PayloadType.GetHashCode(); + if (HasCtidTraderAccountId) hash ^= CtidTraderAccountId.GetHashCode(); + if (order_ != null) hash ^= Order.GetHashCode(); + hash ^= deal_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasPayloadType) { + output.WriteRawTag(8); + output.WriteEnum((int) PayloadType); + } + if (HasCtidTraderAccountId) { + output.WriteRawTag(16); + output.WriteInt64(CtidTraderAccountId); + } + if (order_ != null) { + output.WriteRawTag(26); + output.WriteMessage(Order); + } + deal_.WriteTo(output, _repeated_deal_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasPayloadType) { + output.WriteRawTag(8); + output.WriteEnum((int) PayloadType); + } + if (HasCtidTraderAccountId) { + output.WriteRawTag(16); + output.WriteInt64(CtidTraderAccountId); + } + if (order_ != null) { + output.WriteRawTag(26); + output.WriteMessage(Order); + } + deal_.WriteTo(ref output, _repeated_deal_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasPayloadType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PayloadType); + } + if (HasCtidTraderAccountId) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(CtidTraderAccountId); + } + if (order_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Order); + } + size += deal_.CalculateSize(_repeated_deal_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ProtoOAOrderDetailsRes other) { + if (other == null) { + return; + } + if (other.HasPayloadType) { + PayloadType = other.PayloadType; + } + if (other.HasCtidTraderAccountId) { + CtidTraderAccountId = other.CtidTraderAccountId; + } + if (other.order_ != null) { + if (order_ == null) { + Order = new global::ProtoOAOrder(); + } + Order.MergeFrom(other.Order); + } + deal_.Add(other.deal_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + PayloadType = (global::ProtoOAPayloadType) input.ReadEnum(); + break; + } + case 16: { + CtidTraderAccountId = input.ReadInt64(); + break; + } + case 26: { + if (order_ == null) { + Order = new global::ProtoOAOrder(); + } + input.ReadMessage(Order); + break; + } + case 34: { + deal_.AddEntriesFrom(input, _repeated_deal_codec); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + PayloadType = (global::ProtoOAPayloadType) input.ReadEnum(); + break; + } + case 16: { + CtidTraderAccountId = input.ReadInt64(); + break; + } + case 26: { + if (order_ == null) { + Order = new global::ProtoOAOrder(); + } + input.ReadMessage(Order); + break; + } + case 34: { + deal_.AddEntriesFrom(ref input, _repeated_deal_codec); + break; + } + } + } + } + #endif + +} + +/// +///* Request for retrieving Orders related to a Position by using Position ID. Filtered by utcLastUpdateTimestamp. +/// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] +public sealed partial class ProtoOAOrderListByPositionIdReq : pb::IMessage +#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage +#endif +{ + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoOAOrderListByPositionIdReq()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::OpenApiMessagesReflection.Descriptor.MessageTypes[83]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOAOrderListByPositionIdReq() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOAOrderListByPositionIdReq(ProtoOAOrderListByPositionIdReq other) : this() { + _hasBits0 = other._hasBits0; + payloadType_ = other.payloadType_; + ctidTraderAccountId_ = other.ctidTraderAccountId_; + positionId_ = other.positionId_; + fromTimestamp_ = other.fromTimestamp_; + toTimestamp_ = other.toTimestamp_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOAOrderListByPositionIdReq Clone() { + return new ProtoOAOrderListByPositionIdReq(this); + } + + /// Field number for the "payloadType" field. + public const int PayloadTypeFieldNumber = 1; + private readonly static global::ProtoOAPayloadType PayloadTypeDefaultValue = global::ProtoOAPayloadType.ProtoOaOrderListByPositionIdReq; + + private global::ProtoOAPayloadType payloadType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ProtoOAPayloadType PayloadType { + get { if ((_hasBits0 & 1) != 0) { return payloadType_; } else { return PayloadTypeDefaultValue; } } + set { + _hasBits0 |= 1; + payloadType_ = value; + } + } + /// Gets whether the "payloadType" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPayloadType { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "payloadType" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPayloadType() { + _hasBits0 &= ~1; + } + + /// Field number for the "ctidTraderAccountId" field. + public const int CtidTraderAccountIdFieldNumber = 2; + private readonly static long CtidTraderAccountIdDefaultValue = 0L; + + private long ctidTraderAccountId_; + /// + /// Unique identifier of the trader's account. Used to match responses to trader's accounts. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long CtidTraderAccountId { + get { if ((_hasBits0 & 2) != 0) { return ctidTraderAccountId_; } else { return CtidTraderAccountIdDefaultValue; } } + set { + _hasBits0 |= 2; + ctidTraderAccountId_ = value; + } + } + /// Gets whether the "ctidTraderAccountId" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasCtidTraderAccountId { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "ctidTraderAccountId" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearCtidTraderAccountId() { + _hasBits0 &= ~2; + } + + /// Field number for the "positionId" field. + public const int PositionIdFieldNumber = 3; + private readonly static long PositionIdDefaultValue = 0L; + + private long positionId_; + /// + /// The unique ID of the Position. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long PositionId { + get { if ((_hasBits0 & 4) != 0) { return positionId_; } else { return PositionIdDefaultValue; } } + set { + _hasBits0 |= 4; + positionId_ = value; + } + } + /// Gets whether the "positionId" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPositionId { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "positionId" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPositionId() { + _hasBits0 &= ~4; + } + + /// Field number for the "fromTimestamp" field. + public const int FromTimestampFieldNumber = 4; + private readonly static long FromTimestampDefaultValue = 0L; + + private long fromTimestamp_; + /// + /// The Unix time from which the search starts >=0 (1st Jan 1970). Search by utcLastUpdateTimestamp of the Order. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long FromTimestamp { + get { if ((_hasBits0 & 8) != 0) { return fromTimestamp_; } else { return FromTimestampDefaultValue; } } + set { + _hasBits0 |= 8; + fromTimestamp_ = value; + } + } + /// Gets whether the "fromTimestamp" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFromTimestamp { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "fromTimestamp" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFromTimestamp() { + _hasBits0 &= ~8; + } + + /// Field number for the "toTimestamp" field. + public const int ToTimestampFieldNumber = 5; + private readonly static long ToTimestampDefaultValue = 0L; + + private long toTimestamp_; + /// + /// The Unix time where to stop searching <= 2147483646000 (19th Jan 2038). Search by utcLastUpdateTimestamp of the Order. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long ToTimestamp { + get { if ((_hasBits0 & 16) != 0) { return toTimestamp_; } else { return ToTimestampDefaultValue; } } + set { + _hasBits0 |= 16; + toTimestamp_ = value; + } + } + /// Gets whether the "toTimestamp" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasToTimestamp { + get { return (_hasBits0 & 16) != 0; } + } + /// Clears the value of the "toTimestamp" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearToTimestamp() { + _hasBits0 &= ~16; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ProtoOAOrderListByPositionIdReq); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ProtoOAOrderListByPositionIdReq other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (PayloadType != other.PayloadType) return false; + if (CtidTraderAccountId != other.CtidTraderAccountId) return false; + if (PositionId != other.PositionId) return false; + if (FromTimestamp != other.FromTimestamp) return false; + if (ToTimestamp != other.ToTimestamp) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasPayloadType) hash ^= PayloadType.GetHashCode(); + if (HasCtidTraderAccountId) hash ^= CtidTraderAccountId.GetHashCode(); + if (HasPositionId) hash ^= PositionId.GetHashCode(); + if (HasFromTimestamp) hash ^= FromTimestamp.GetHashCode(); + if (HasToTimestamp) hash ^= ToTimestamp.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasPayloadType) { + output.WriteRawTag(8); + output.WriteEnum((int) PayloadType); + } + if (HasCtidTraderAccountId) { + output.WriteRawTag(16); + output.WriteInt64(CtidTraderAccountId); + } + if (HasPositionId) { + output.WriteRawTag(24); + output.WriteInt64(PositionId); + } + if (HasFromTimestamp) { + output.WriteRawTag(32); + output.WriteInt64(FromTimestamp); + } + if (HasToTimestamp) { + output.WriteRawTag(40); + output.WriteInt64(ToTimestamp); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasPayloadType) { + output.WriteRawTag(8); + output.WriteEnum((int) PayloadType); + } + if (HasCtidTraderAccountId) { + output.WriteRawTag(16); + output.WriteInt64(CtidTraderAccountId); + } + if (HasPositionId) { + output.WriteRawTag(24); + output.WriteInt64(PositionId); + } + if (HasFromTimestamp) { + output.WriteRawTag(32); + output.WriteInt64(FromTimestamp); + } + if (HasToTimestamp) { + output.WriteRawTag(40); + output.WriteInt64(ToTimestamp); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasPayloadType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PayloadType); + } + if (HasCtidTraderAccountId) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(CtidTraderAccountId); + } + if (HasPositionId) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(PositionId); + } + if (HasFromTimestamp) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(FromTimestamp); + } + if (HasToTimestamp) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(ToTimestamp); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ProtoOAOrderListByPositionIdReq other) { + if (other == null) { + return; + } + if (other.HasPayloadType) { + PayloadType = other.PayloadType; + } + if (other.HasCtidTraderAccountId) { + CtidTraderAccountId = other.CtidTraderAccountId; + } + if (other.HasPositionId) { + PositionId = other.PositionId; + } + if (other.HasFromTimestamp) { + FromTimestamp = other.FromTimestamp; + } + if (other.HasToTimestamp) { + ToTimestamp = other.ToTimestamp; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + PayloadType = (global::ProtoOAPayloadType) input.ReadEnum(); + break; + } + case 16: { + CtidTraderAccountId = input.ReadInt64(); + break; + } + case 24: { + PositionId = input.ReadInt64(); + break; + } + case 32: { + FromTimestamp = input.ReadInt64(); + break; + } + case 40: { + ToTimestamp = input.ReadInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + PayloadType = (global::ProtoOAPayloadType) input.ReadEnum(); + break; + } + case 16: { + CtidTraderAccountId = input.ReadInt64(); + break; + } + case 24: { + PositionId = input.ReadInt64(); + break; + } + case 32: { + FromTimestamp = input.ReadInt64(); + break; + } + case 40: { + ToTimestamp = input.ReadInt64(); + break; + } + } + } + } + #endif + +} + +/// +///* Response to ProtoOAOrderListByPositionIdReq request. +/// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] +public sealed partial class ProtoOAOrderListByPositionIdRes : pb::IMessage +#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage +#endif +{ + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoOAOrderListByPositionIdRes()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::OpenApiMessagesReflection.Descriptor.MessageTypes[84]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOAOrderListByPositionIdRes() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOAOrderListByPositionIdRes(ProtoOAOrderListByPositionIdRes other) : this() { + _hasBits0 = other._hasBits0; + payloadType_ = other.payloadType_; + ctidTraderAccountId_ = other.ctidTraderAccountId_; + order_ = other.order_.Clone(); + hasMore_ = other.hasMore_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOAOrderListByPositionIdRes Clone() { + return new ProtoOAOrderListByPositionIdRes(this); + } + + /// Field number for the "payloadType" field. + public const int PayloadTypeFieldNumber = 1; + private readonly static global::ProtoOAPayloadType PayloadTypeDefaultValue = global::ProtoOAPayloadType.ProtoOaOrderListByPositionIdRes; + + private global::ProtoOAPayloadType payloadType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ProtoOAPayloadType PayloadType { + get { if ((_hasBits0 & 1) != 0) { return payloadType_; } else { return PayloadTypeDefaultValue; } } + set { + _hasBits0 |= 1; + payloadType_ = value; + } + } + /// Gets whether the "payloadType" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPayloadType { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "payloadType" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPayloadType() { + _hasBits0 &= ~1; + } + + /// Field number for the "ctidTraderAccountId" field. + public const int CtidTraderAccountIdFieldNumber = 2; + private readonly static long CtidTraderAccountIdDefaultValue = 0L; + + private long ctidTraderAccountId_; + /// + /// Unique identifier of the trader's account. Used to match responses to trader's accounts. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long CtidTraderAccountId { + get { if ((_hasBits0 & 2) != 0) { return ctidTraderAccountId_; } else { return CtidTraderAccountIdDefaultValue; } } + set { + _hasBits0 |= 2; + ctidTraderAccountId_ = value; + } + } + /// Gets whether the "ctidTraderAccountId" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasCtidTraderAccountId { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "ctidTraderAccountId" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearCtidTraderAccountId() { + _hasBits0 &= ~2; + } + + /// Field number for the "order" field. + public const int OrderFieldNumber = 3; + private static readonly pb::FieldCodec _repeated_order_codec + = pb::FieldCodec.ForMessage(26, global::ProtoOAOrder.Parser); + private readonly pbc::RepeatedField order_ = new pbc::RepeatedField(); + /// + /// Orders related to the specified Position, sorted by utcLastUpdateTimestamp in descending order (newest first). + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField Order { + get { return order_; } + } + + /// Field number for the "hasMore" field. + public const int HasMoreFieldNumber = 4; + private readonly static bool HasMoreDefaultValue = false; + + private bool hasMore_; + /// + /// If TRUE then the number of records by filter is larger than chunkSize, the response contains the number of records that is equal to chunkSize. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMore { + get { if ((_hasBits0 & 4) != 0) { return hasMore_; } else { return HasMoreDefaultValue; } } + set { + _hasBits0 |= 4; + hasMore_ = value; + } + } + /// Gets whether the "hasMore" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasHasMore { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "hasMore" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearHasMore() { + _hasBits0 &= ~4; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ProtoOAOrderListByPositionIdRes); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ProtoOAOrderListByPositionIdRes other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (PayloadType != other.PayloadType) return false; + if (CtidTraderAccountId != other.CtidTraderAccountId) return false; + if(!order_.Equals(other.order_)) return false; + if (HasMore != other.HasMore) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasPayloadType) hash ^= PayloadType.GetHashCode(); + if (HasCtidTraderAccountId) hash ^= CtidTraderAccountId.GetHashCode(); + hash ^= order_.GetHashCode(); + if (HasHasMore) hash ^= HasMore.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasPayloadType) { + output.WriteRawTag(8); + output.WriteEnum((int) PayloadType); + } + if (HasCtidTraderAccountId) { + output.WriteRawTag(16); + output.WriteInt64(CtidTraderAccountId); + } + order_.WriteTo(output, _repeated_order_codec); + if (HasHasMore) { + output.WriteRawTag(32); + output.WriteBool(HasMore); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasPayloadType) { + output.WriteRawTag(8); + output.WriteEnum((int) PayloadType); + } + if (HasCtidTraderAccountId) { + output.WriteRawTag(16); + output.WriteInt64(CtidTraderAccountId); + } + order_.WriteTo(ref output, _repeated_order_codec); + if (HasHasMore) { + output.WriteRawTag(32); + output.WriteBool(HasMore); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasPayloadType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PayloadType); + } + if (HasCtidTraderAccountId) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(CtidTraderAccountId); + } + size += order_.CalculateSize(_repeated_order_codec); + if (HasHasMore) { + size += 1 + 1; + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ProtoOAOrderListByPositionIdRes other) { + if (other == null) { + return; + } + if (other.HasPayloadType) { + PayloadType = other.PayloadType; + } + if (other.HasCtidTraderAccountId) { + CtidTraderAccountId = other.CtidTraderAccountId; + } + order_.Add(other.order_); + if (other.HasHasMore) { + HasMore = other.HasMore; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + PayloadType = (global::ProtoOAPayloadType) input.ReadEnum(); + break; + } + case 16: { + CtidTraderAccountId = input.ReadInt64(); + break; + } + case 26: { + order_.AddEntriesFrom(input, _repeated_order_codec); + break; + } + case 32: { + HasMore = input.ReadBool(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + PayloadType = (global::ProtoOAPayloadType) input.ReadEnum(); + break; + } + case 16: { + CtidTraderAccountId = input.ReadInt64(); + break; + } + case 26: { + order_.AddEntriesFrom(ref input, _repeated_order_codec); + break; + } + case 32: { + HasMore = input.ReadBool(); + break; + } + } + } + } + #endif + +} + +/// +///* Request for getting sets of Deals that were offset by a specific Deal and that are offsetting the Deal. +/// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] +public sealed partial class ProtoOADealOffsetListReq : pb::IMessage +#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage +#endif +{ + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoOADealOffsetListReq()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::OpenApiMessagesReflection.Descriptor.MessageTypes[85]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOADealOffsetListReq() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOADealOffsetListReq(ProtoOADealOffsetListReq other) : this() { + _hasBits0 = other._hasBits0; + payloadType_ = other.payloadType_; + ctidTraderAccountId_ = other.ctidTraderAccountId_; + dealId_ = other.dealId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOADealOffsetListReq Clone() { + return new ProtoOADealOffsetListReq(this); + } + + /// Field number for the "payloadType" field. + public const int PayloadTypeFieldNumber = 1; + private readonly static global::ProtoOAPayloadType PayloadTypeDefaultValue = global::ProtoOAPayloadType.ProtoOaDealOffsetListReq; + + private global::ProtoOAPayloadType payloadType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ProtoOAPayloadType PayloadType { + get { if ((_hasBits0 & 1) != 0) { return payloadType_; } else { return PayloadTypeDefaultValue; } } + set { + _hasBits0 |= 1; + payloadType_ = value; + } + } + /// Gets whether the "payloadType" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPayloadType { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "payloadType" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPayloadType() { + _hasBits0 &= ~1; + } + + /// Field number for the "ctidTraderAccountId" field. + public const int CtidTraderAccountIdFieldNumber = 2; + private readonly static long CtidTraderAccountIdDefaultValue = 0L; + + private long ctidTraderAccountId_; + /// + /// Unique identifier of the trader's account. Used to match responses to trader's accounts. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long CtidTraderAccountId { + get { if ((_hasBits0 & 2) != 0) { return ctidTraderAccountId_; } else { return CtidTraderAccountIdDefaultValue; } } + set { + _hasBits0 |= 2; + ctidTraderAccountId_ = value; + } + } + /// Gets whether the "ctidTraderAccountId" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasCtidTraderAccountId { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "ctidTraderAccountId" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearCtidTraderAccountId() { + _hasBits0 &= ~2; + } + + /// Field number for the "dealId" field. + public const int DealIdFieldNumber = 3; + private readonly static long DealIdDefaultValue = 0L; + + private long dealId_; + /// + /// The unique ID of the Deal. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long DealId { + get { if ((_hasBits0 & 4) != 0) { return dealId_; } else { return DealIdDefaultValue; } } + set { + _hasBits0 |= 4; + dealId_ = value; + } + } + /// Gets whether the "dealId" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDealId { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "dealId" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDealId() { + _hasBits0 &= ~4; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ProtoOADealOffsetListReq); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ProtoOADealOffsetListReq other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (PayloadType != other.PayloadType) return false; + if (CtidTraderAccountId != other.CtidTraderAccountId) return false; + if (DealId != other.DealId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasPayloadType) hash ^= PayloadType.GetHashCode(); + if (HasCtidTraderAccountId) hash ^= CtidTraderAccountId.GetHashCode(); + if (HasDealId) hash ^= DealId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasPayloadType) { + output.WriteRawTag(8); + output.WriteEnum((int) PayloadType); + } + if (HasCtidTraderAccountId) { + output.WriteRawTag(16); + output.WriteInt64(CtidTraderAccountId); + } + if (HasDealId) { + output.WriteRawTag(24); + output.WriteInt64(DealId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasPayloadType) { + output.WriteRawTag(8); + output.WriteEnum((int) PayloadType); + } + if (HasCtidTraderAccountId) { + output.WriteRawTag(16); + output.WriteInt64(CtidTraderAccountId); + } + if (HasDealId) { + output.WriteRawTag(24); + output.WriteInt64(DealId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasPayloadType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PayloadType); + } + if (HasCtidTraderAccountId) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(CtidTraderAccountId); + } + if (HasDealId) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(DealId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ProtoOADealOffsetListReq other) { + if (other == null) { + return; + } + if (other.HasPayloadType) { + PayloadType = other.PayloadType; + } + if (other.HasCtidTraderAccountId) { + CtidTraderAccountId = other.CtidTraderAccountId; + } + if (other.HasDealId) { + DealId = other.DealId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + PayloadType = (global::ProtoOAPayloadType) input.ReadEnum(); + break; + } + case 16: { + CtidTraderAccountId = input.ReadInt64(); + break; + } + case 24: { + DealId = input.ReadInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + PayloadType = (global::ProtoOAPayloadType) input.ReadEnum(); + break; + } + case 16: { + CtidTraderAccountId = input.ReadInt64(); + break; + } + case 24: { + DealId = input.ReadInt64(); + break; + } + } + } + } + #endif + +} + +/// +///* Response for ProtoOADealOffsetListReq. +/// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] +public sealed partial class ProtoOADealOffsetListRes : pb::IMessage +#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage +#endif +{ + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoOADealOffsetListRes()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::OpenApiMessagesReflection.Descriptor.MessageTypes[86]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOADealOffsetListRes() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOADealOffsetListRes(ProtoOADealOffsetListRes other) : this() { + _hasBits0 = other._hasBits0; + payloadType_ = other.payloadType_; + ctidTraderAccountId_ = other.ctidTraderAccountId_; + offsetBy_ = other.offsetBy_.Clone(); + offsetting_ = other.offsetting_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOADealOffsetListRes Clone() { + return new ProtoOADealOffsetListRes(this); + } + + /// Field number for the "payloadType" field. + public const int PayloadTypeFieldNumber = 1; + private readonly static global::ProtoOAPayloadType PayloadTypeDefaultValue = global::ProtoOAPayloadType.ProtoOaDealOffsetListRes; + + private global::ProtoOAPayloadType payloadType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ProtoOAPayloadType PayloadType { + get { if ((_hasBits0 & 1) != 0) { return payloadType_; } else { return PayloadTypeDefaultValue; } } + set { + _hasBits0 |= 1; + payloadType_ = value; + } + } + /// Gets whether the "payloadType" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPayloadType { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "payloadType" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPayloadType() { + _hasBits0 &= ~1; + } + + /// Field number for the "ctidTraderAccountId" field. + public const int CtidTraderAccountIdFieldNumber = 2; + private readonly static long CtidTraderAccountIdDefaultValue = 0L; + + private long ctidTraderAccountId_; + /// + /// Unique identifier of the trader's account. Used to match responses to trader's accounts. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long CtidTraderAccountId { + get { if ((_hasBits0 & 2) != 0) { return ctidTraderAccountId_; } else { return CtidTraderAccountIdDefaultValue; } } + set { + _hasBits0 |= 2; + ctidTraderAccountId_ = value; + } + } + /// Gets whether the "ctidTraderAccountId" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasCtidTraderAccountId { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "ctidTraderAccountId" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearCtidTraderAccountId() { + _hasBits0 &= ~2; + } + + /// Field number for the "offsetBy" field. + public const int OffsetByFieldNumber = 3; + private static readonly pb::FieldCodec _repeated_offsetBy_codec + = pb::FieldCodec.ForMessage(26, global::ProtoOADealOffset.Parser); + private readonly pbc::RepeatedField offsetBy_ = new pbc::RepeatedField(); + /// + /// Deals which closed the specified deal. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField OffsetBy { + get { return offsetBy_; } + } + + /// Field number for the "offsetting" field. + public const int OffsettingFieldNumber = 4; + private static readonly pb::FieldCodec _repeated_offsetting_codec + = pb::FieldCodec.ForMessage(34, global::ProtoOADealOffset.Parser); + private readonly pbc::RepeatedField offsetting_ = new pbc::RepeatedField(); + /// + /// Deals which were closed by the specified deal. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField Offsetting { + get { return offsetting_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ProtoOADealOffsetListRes); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ProtoOADealOffsetListRes other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (PayloadType != other.PayloadType) return false; + if (CtidTraderAccountId != other.CtidTraderAccountId) return false; + if(!offsetBy_.Equals(other.offsetBy_)) return false; + if(!offsetting_.Equals(other.offsetting_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasPayloadType) hash ^= PayloadType.GetHashCode(); + if (HasCtidTraderAccountId) hash ^= CtidTraderAccountId.GetHashCode(); + hash ^= offsetBy_.GetHashCode(); + hash ^= offsetting_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasPayloadType) { + output.WriteRawTag(8); + output.WriteEnum((int) PayloadType); + } + if (HasCtidTraderAccountId) { + output.WriteRawTag(16); + output.WriteInt64(CtidTraderAccountId); + } + offsetBy_.WriteTo(output, _repeated_offsetBy_codec); + offsetting_.WriteTo(output, _repeated_offsetting_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasPayloadType) { + output.WriteRawTag(8); + output.WriteEnum((int) PayloadType); + } + if (HasCtidTraderAccountId) { + output.WriteRawTag(16); + output.WriteInt64(CtidTraderAccountId); + } + offsetBy_.WriteTo(ref output, _repeated_offsetBy_codec); + offsetting_.WriteTo(ref output, _repeated_offsetting_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasPayloadType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PayloadType); + } + if (HasCtidTraderAccountId) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(CtidTraderAccountId); + } + size += offsetBy_.CalculateSize(_repeated_offsetBy_codec); + size += offsetting_.CalculateSize(_repeated_offsetting_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ProtoOADealOffsetListRes other) { + if (other == null) { + return; + } + if (other.HasPayloadType) { + PayloadType = other.PayloadType; + } + if (other.HasCtidTraderAccountId) { + CtidTraderAccountId = other.CtidTraderAccountId; + } + offsetBy_.Add(other.offsetBy_); + offsetting_.Add(other.offsetting_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + PayloadType = (global::ProtoOAPayloadType) input.ReadEnum(); + break; + } + case 16: { + CtidTraderAccountId = input.ReadInt64(); + break; + } + case 26: { + offsetBy_.AddEntriesFrom(input, _repeated_offsetBy_codec); + break; + } + case 34: { + offsetting_.AddEntriesFrom(input, _repeated_offsetting_codec); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + PayloadType = (global::ProtoOAPayloadType) input.ReadEnum(); + break; + } + case 16: { + CtidTraderAccountId = input.ReadInt64(); + break; + } + case 26: { + offsetBy_.AddEntriesFrom(ref input, _repeated_offsetBy_codec); + break; + } + case 34: { + offsetting_.AddEntriesFrom(ref input, _repeated_offsetting_codec); + break; + } + } + } + } + #endif + +} + +/// +///* Request for getting trader's positions' unrealized PnLs. +/// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] +public sealed partial class ProtoOAGetPositionUnrealizedPnLReq : pb::IMessage +#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage +#endif +{ + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoOAGetPositionUnrealizedPnLReq()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::OpenApiMessagesReflection.Descriptor.MessageTypes[87]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOAGetPositionUnrealizedPnLReq() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOAGetPositionUnrealizedPnLReq(ProtoOAGetPositionUnrealizedPnLReq other) : this() { + _hasBits0 = other._hasBits0; + payloadType_ = other.payloadType_; + ctidTraderAccountId_ = other.ctidTraderAccountId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOAGetPositionUnrealizedPnLReq Clone() { + return new ProtoOAGetPositionUnrealizedPnLReq(this); + } + + /// Field number for the "payloadType" field. + public const int PayloadTypeFieldNumber = 1; + private readonly static global::ProtoOAPayloadType PayloadTypeDefaultValue = global::ProtoOAPayloadType.ProtoOaGetPositionUnrealizedPnlReq; + + private global::ProtoOAPayloadType payloadType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ProtoOAPayloadType PayloadType { + get { if ((_hasBits0 & 1) != 0) { return payloadType_; } else { return PayloadTypeDefaultValue; } } + set { + _hasBits0 |= 1; + payloadType_ = value; + } + } + /// Gets whether the "payloadType" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPayloadType { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "payloadType" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPayloadType() { + _hasBits0 &= ~1; + } + + /// Field number for the "ctidTraderAccountId" field. + public const int CtidTraderAccountIdFieldNumber = 2; + private readonly static long CtidTraderAccountIdDefaultValue = 0L; + + private long ctidTraderAccountId_; + /// + /// The unique identifier of the trader's account in cTrader platform. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long CtidTraderAccountId { + get { if ((_hasBits0 & 2) != 0) { return ctidTraderAccountId_; } else { return CtidTraderAccountIdDefaultValue; } } + set { + _hasBits0 |= 2; + ctidTraderAccountId_ = value; + } + } + /// Gets whether the "ctidTraderAccountId" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasCtidTraderAccountId { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "ctidTraderAccountId" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearCtidTraderAccountId() { + _hasBits0 &= ~2; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ProtoOAGetPositionUnrealizedPnLReq); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ProtoOAGetPositionUnrealizedPnLReq other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (PayloadType != other.PayloadType) return false; + if (CtidTraderAccountId != other.CtidTraderAccountId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasPayloadType) hash ^= PayloadType.GetHashCode(); + if (HasCtidTraderAccountId) hash ^= CtidTraderAccountId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasPayloadType) { + output.WriteRawTag(8); + output.WriteEnum((int) PayloadType); + } + if (HasCtidTraderAccountId) { + output.WriteRawTag(16); + output.WriteInt64(CtidTraderAccountId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasPayloadType) { + output.WriteRawTag(8); + output.WriteEnum((int) PayloadType); + } + if (HasCtidTraderAccountId) { + output.WriteRawTag(16); + output.WriteInt64(CtidTraderAccountId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasPayloadType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PayloadType); + } + if (HasCtidTraderAccountId) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(CtidTraderAccountId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ProtoOAGetPositionUnrealizedPnLReq other) { + if (other == null) { + return; + } + if (other.HasPayloadType) { + PayloadType = other.PayloadType; + } + if (other.HasCtidTraderAccountId) { + CtidTraderAccountId = other.CtidTraderAccountId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + PayloadType = (global::ProtoOAPayloadType) input.ReadEnum(); + break; + } + case 16: { + CtidTraderAccountId = input.ReadInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + PayloadType = (global::ProtoOAPayloadType) input.ReadEnum(); + break; + } + case 16: { + CtidTraderAccountId = input.ReadInt64(); + break; + } + } + } + } + #endif + +} + +/// +///* Response to ProtoOAGetPositionUnrealizedPnLReq request. +/// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] +public sealed partial class ProtoOAGetPositionUnrealizedPnLRes : pb::IMessage +#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage +#endif +{ + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoOAGetPositionUnrealizedPnLRes()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::OpenApiMessagesReflection.Descriptor.MessageTypes[88]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOAGetPositionUnrealizedPnLRes() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOAGetPositionUnrealizedPnLRes(ProtoOAGetPositionUnrealizedPnLRes other) : this() { + _hasBits0 = other._hasBits0; + payloadType_ = other.payloadType_; + ctidTraderAccountId_ = other.ctidTraderAccountId_; + positionUnrealizedPnL_ = other.positionUnrealizedPnL_.Clone(); + moneyDigits_ = other.moneyDigits_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOAGetPositionUnrealizedPnLRes Clone() { + return new ProtoOAGetPositionUnrealizedPnLRes(this); + } + + /// Field number for the "payloadType" field. + public const int PayloadTypeFieldNumber = 1; + private readonly static global::ProtoOAPayloadType PayloadTypeDefaultValue = global::ProtoOAPayloadType.ProtoOaGetPositionUnrealizedPnlRes; + + private global::ProtoOAPayloadType payloadType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ProtoOAPayloadType PayloadType { + get { if ((_hasBits0 & 1) != 0) { return payloadType_; } else { return PayloadTypeDefaultValue; } } + set { + _hasBits0 |= 1; + payloadType_ = value; + } + } + /// Gets whether the "payloadType" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPayloadType { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "payloadType" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPayloadType() { + _hasBits0 &= ~1; + } + + /// Field number for the "ctidTraderAccountId" field. + public const int CtidTraderAccountIdFieldNumber = 2; + private readonly static long CtidTraderAccountIdDefaultValue = 0L; + + private long ctidTraderAccountId_; + /// + /// The unique identifier of the trader's account in cTrader platform. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long CtidTraderAccountId { + get { if ((_hasBits0 & 2) != 0) { return ctidTraderAccountId_; } else { return CtidTraderAccountIdDefaultValue; } } + set { + _hasBits0 |= 2; + ctidTraderAccountId_ = value; + } + } + /// Gets whether the "ctidTraderAccountId" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasCtidTraderAccountId { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "ctidTraderAccountId" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearCtidTraderAccountId() { + _hasBits0 &= ~2; + } + + /// Field number for the "positionUnrealizedPnL" field. + public const int PositionUnrealizedPnLFieldNumber = 3; + private static readonly pb::FieldCodec _repeated_positionUnrealizedPnL_codec + = pb::FieldCodec.ForMessage(26, global::ProtoOAPositionUnrealizedPnL.Parser); + private readonly pbc::RepeatedField positionUnrealizedPnL_ = new pbc::RepeatedField(); + /// + /// Information about trader's positions' unrealized PnLs. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField PositionUnrealizedPnL { + get { return positionUnrealizedPnL_; } + } + + /// Field number for the "moneyDigits" field. + public const int MoneyDigitsFieldNumber = 4; + private readonly static uint MoneyDigitsDefaultValue = 0; + + private uint moneyDigits_; + /// + /// Specifies the exponent of various monetary values. E.g., moneyDigits = 8 should be interpreted as the value multiplied by 10^8 with the 'real' value equal to 10053099944 / 10^8 = 100.53099944. Affects positionUnrealizedPnL.grossUnrealizedPnL, positionUnrealizedPnL.netUnrealizedPnL. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint MoneyDigits { + get { if ((_hasBits0 & 4) != 0) { return moneyDigits_; } else { return MoneyDigitsDefaultValue; } } + set { + _hasBits0 |= 4; + moneyDigits_ = value; + } + } + /// Gets whether the "moneyDigits" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMoneyDigits { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "moneyDigits" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMoneyDigits() { + _hasBits0 &= ~4; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ProtoOAGetPositionUnrealizedPnLRes); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ProtoOAGetPositionUnrealizedPnLRes other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (PayloadType != other.PayloadType) return false; + if (CtidTraderAccountId != other.CtidTraderAccountId) return false; + if(!positionUnrealizedPnL_.Equals(other.positionUnrealizedPnL_)) return false; + if (MoneyDigits != other.MoneyDigits) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasPayloadType) hash ^= PayloadType.GetHashCode(); + if (HasCtidTraderAccountId) hash ^= CtidTraderAccountId.GetHashCode(); + hash ^= positionUnrealizedPnL_.GetHashCode(); + if (HasMoneyDigits) hash ^= MoneyDigits.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasPayloadType) { + output.WriteRawTag(8); + output.WriteEnum((int) PayloadType); + } + if (HasCtidTraderAccountId) { + output.WriteRawTag(16); + output.WriteInt64(CtidTraderAccountId); + } + positionUnrealizedPnL_.WriteTo(output, _repeated_positionUnrealizedPnL_codec); + if (HasMoneyDigits) { + output.WriteRawTag(32); + output.WriteUInt32(MoneyDigits); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasPayloadType) { + output.WriteRawTag(8); + output.WriteEnum((int) PayloadType); + } + if (HasCtidTraderAccountId) { + output.WriteRawTag(16); + output.WriteInt64(CtidTraderAccountId); + } + positionUnrealizedPnL_.WriteTo(ref output, _repeated_positionUnrealizedPnL_codec); + if (HasMoneyDigits) { + output.WriteRawTag(32); + output.WriteUInt32(MoneyDigits); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasPayloadType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PayloadType); + } + if (HasCtidTraderAccountId) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(CtidTraderAccountId); + } + size += positionUnrealizedPnL_.CalculateSize(_repeated_positionUnrealizedPnL_codec); + if (HasMoneyDigits) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MoneyDigits); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ProtoOAGetPositionUnrealizedPnLRes other) { + if (other == null) { + return; + } + if (other.HasPayloadType) { + PayloadType = other.PayloadType; + } + if (other.HasCtidTraderAccountId) { + CtidTraderAccountId = other.CtidTraderAccountId; + } + positionUnrealizedPnL_.Add(other.positionUnrealizedPnL_); + if (other.HasMoneyDigits) { + MoneyDigits = other.MoneyDigits; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + PayloadType = (global::ProtoOAPayloadType) input.ReadEnum(); + break; + } + case 16: { + CtidTraderAccountId = input.ReadInt64(); + break; + } + case 26: { + positionUnrealizedPnL_.AddEntriesFrom(input, _repeated_positionUnrealizedPnL_codec); + break; + } + case 32: { + MoneyDigits = input.ReadUInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + PayloadType = (global::ProtoOAPayloadType) input.ReadEnum(); + break; + } + case 16: { + CtidTraderAccountId = input.ReadInt64(); + break; + } + case 26: { + positionUnrealizedPnL_.AddEntriesFrom(ref input, _repeated_positionUnrealizedPnL_codec); + break; + } + case 32: { + MoneyDigits = input.ReadUInt32(); + break; + } + } + } + } + #endif + +} + #endregion diff --git a/src/OpenAPI.Net/Messages/OpenApiModelMessages.cs b/src/OpenAPI.Net/Messages/OpenApiModelMessages.cs index 3632246..7c27ec6 100644 --- a/src/OpenAPI.Net/Messages/OpenApiModelMessages.cs +++ b/src/OpenAPI.Net/Messages/OpenApiModelMessages.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: OpenApiModelMessages.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -24,7 +24,7 @@ static OpenApiModelMessagesReflection() { string.Concat( "ChpPcGVuQXBpTW9kZWxNZXNzYWdlcy5wcm90byJSCgxQcm90b09BQXNzZXQS", "DwoHYXNzZXRJZBgBIAIoAxIMCgRuYW1lGAIgAigJEhMKC2Rpc3BsYXlOYW1l", - "GAMgASgJEg4KBmRpZ2l0cxgEIAEoBSLICQoNUHJvdG9PQVN5bWJvbBIQCghz", + "GAMgASgJEg4KBmRpZ2l0cxgEIAEoBSLiCQoNUHJvdG9PQVN5bWJvbBIQCghz", "eW1ib2xJZBgBIAIoAxIOCgZkaWdpdHMYAiACKAUSEwoLcGlwUG9zaXRpb24Y", "AyACKAUSGgoSZW5hYmxlU2hvcnRTZWxsaW5nGAQgASgIEhoKEmd1YXJhbnRl", "ZWRTdG9wTG9zcxgFIAEoCBI0ChFzd2FwUm9sbG92ZXIzRGF5cxgGIAEoDjIR", @@ -51,316 +51,339 @@ static OpenApiModelMessagesReflection() { "ZGF5GCEgAygLMg8uUHJvdG9PQUhvbGlkYXkSHAoUcG5sQ29udmVyc2lvbkZl", "ZVJhdGUYIiABKAUSEgoKbGV2ZXJhZ2VJZBgjIAEoAxISCgpzd2FwUGVyaW9k", "GCQgASgFEhAKCHN3YXBUaW1lGCUgASgFEhcKD3NraXBTV0FQUGVyaW9kcxgm", - "IAEoBRIcChRjaGFyZ2VTd2FwQXRXZWVrZW5kcxgnIAEoCCKlAQoSUHJvdG9P", - "QUxpZ2h0U3ltYm9sEhAKCHN5bWJvbElkGAEgAigDEhIKCnN5bWJvbE5hbWUY", - "AiABKAkSDwoHZW5hYmxlZBgDIAEoCBITCgtiYXNlQXNzZXRJZBgEIAEoAxIU", - "CgxxdW90ZUFzc2V0SWQYBSABKAMSGAoQc3ltYm9sQ2F0ZWdvcnlJZBgGIAEo", - "AxITCgtkZXNjcmlwdGlvbhgHIAEoCSJsChVQcm90b09BQXJjaGl2ZWRTeW1i", - "b2wSEAoIc3ltYm9sSWQYASACKAMSDAoEbmFtZRgCIAIoCRIeChZ1dGNMYXN0", - "VXBkYXRlVGltZXN0YW1wGAMgAigDEhMKC2Rlc2NyaXB0aW9uGAQgASgJIkcK", - "FVByb3RvT0FTeW1ib2xDYXRlZ29yeRIKCgJpZBgBIAIoAxIUCgxhc3NldENs", - "YXNzSWQYAiACKAMSDAoEbmFtZRgDIAIoCSI5Cg9Qcm90b09BSW50ZXJ2YWwS", - "EwoLc3RhcnRTZWNvbmQYAyACKA0SEQoJZW5kU2Vjb25kGAQgAigNIqQFCg1Q", - "cm90b09BVHJhZGVyEhsKE2N0aWRUcmFkZXJBY2NvdW50SWQYASACKAMSDwoH", - "YmFsYW5jZRgCIAIoAxIWCg5iYWxhbmNlVmVyc2lvbhgDIAEoAxIUCgxtYW5h", - "Z2VyQm9udXMYBCABKAMSDwoHaWJCb251cxgFIAEoAxIcChRub25XaXRoZHJh", - "d2FibGVCb251cxgGIAEoAxI3CgxhY2Nlc3NSaWdodHMYByABKA4yFC5Qcm90", - "b09BQWNjZXNzUmlnaHRzOgtGVUxMX0FDQ0VTUxIWCg5kZXBvc2l0QXNzZXRJ", - "ZBgIIAIoAxIQCghzd2FwRnJlZRgJIAEoCBIXCg9sZXZlcmFnZUluQ2VudHMY", - "CiABKA0SRgoadG90YWxNYXJnaW5DYWxjdWxhdGlvblR5cGUYCyABKA4yIi5Q", - "cm90b09BVG90YWxNYXJnaW5DYWxjdWxhdGlvblR5cGUSEwoLbWF4TGV2ZXJh", - "Z2UYDCABKA0SFgoKZnJlbmNoUmlzaxgNIAEoCEICGAESEwoLdHJhZGVyTG9n", - "aW4YDiABKAMSMAoLYWNjb3VudFR5cGUYDyABKA4yEy5Qcm90b09BQWNjb3Vu", - "dFR5cGU6BkhFREdFRBISCgpicm9rZXJOYW1lGBAgASgJEh0KFXJlZ2lzdHJh", - "dGlvblRpbWVzdGFtcBgRIAEoAxIVCg1pc0xpbWl0ZWRSaXNrGBIgASgIEnEK", - "JGxpbWl0ZWRSaXNrTWFyZ2luQ2FsY3VsYXRpb25TdHJhdGVneRgTIAEoDjIs", - "LlByb3RvT0FMaW1pdGVkUmlza01hcmdpbkNhbGN1bGF0aW9uU3RyYXRlZ3k6", - "FUFDQ09SRElOR19UT19MRVZFUkFHRRITCgttb25leURpZ2l0cxgUIAEoDSLE", - "AwoPUHJvdG9PQVBvc2l0aW9uEhIKCnBvc2l0aW9uSWQYASACKAMSJAoJdHJh", - "ZGVEYXRhGAIgAigLMhEuUHJvdG9PQVRyYWRlRGF0YRIuCg5wb3NpdGlvblN0", - "YXR1cxgDIAIoDjIWLlByb3RvT0FQb3NpdGlvblN0YXR1cxIMCgRzd2FwGAQg", - "AigDEg0KBXByaWNlGAUgASgBEhAKCHN0b3BMb3NzGAYgASgBEhIKCnRha2VQ", - "cm9maXQYByABKAESHgoWdXRjTGFzdFVwZGF0ZVRpbWVzdGFtcBgIIAEoAxIS", - "Cgpjb21taXNzaW9uGAkgASgDEhIKCm1hcmdpblJhdGUYCiABKAESGwoTbWly", - "cm9yaW5nQ29tbWlzc2lvbhgLIAEoAxIaChJndWFyYW50ZWVkU3RvcExvc3MY", - "DCABKAgSEgoKdXNlZE1hcmdpbhgNIAEoBBJAChVzdG9wTG9zc1RyaWdnZXJN", - "ZXRob2QYDiABKA4yGi5Qcm90b09BT3JkZXJUcmlnZ2VyTWV0aG9kOgVUUkFE", - "RRITCgttb25leURpZ2l0cxgPIAEoDRIYChB0cmFpbGluZ1N0b3BMb3NzGBAg", - "ASgIIq0BChBQcm90b09BVHJhZGVEYXRhEhAKCHN5bWJvbElkGAEgAigDEg4K", - "BnZvbHVtZRgCIAIoAxIkCgl0cmFkZVNpZGUYAyACKA4yES5Qcm90b09BVHJh", - "ZGVTaWRlEhUKDW9wZW5UaW1lc3RhbXAYBCABKAMSDQoFbGFiZWwYBSABKAkS", - "GgoSZ3VhcmFudGVlZFN0b3BMb3NzGAYgASgIEg8KB2NvbW1lbnQYByABKAki", - "pQUKDFByb3RvT0FPcmRlchIPCgdvcmRlcklkGAEgAigDEiQKCXRyYWRlRGF0", - "YRgCIAIoCzIRLlByb3RvT0FUcmFkZURhdGESJAoJb3JkZXJUeXBlGAMgAigO", - "MhEuUHJvdG9PQU9yZGVyVHlwZRIoCgtvcmRlclN0YXR1cxgEIAIoDjITLlBy", - "b3RvT0FPcmRlclN0YXR1cxIbChNleHBpcmF0aW9uVGltZXN0YW1wGAYgASgD", - "EhYKDmV4ZWN1dGlvblByaWNlGAcgASgBEhYKDmV4ZWN1dGVkVm9sdW1lGAgg", - "ASgDEh4KFnV0Y0xhc3RVcGRhdGVUaW1lc3RhbXAYCSABKAMSGQoRYmFzZVNs", - "aXBwYWdlUHJpY2UYCiABKAESGAoQc2xpcHBhZ2VJblBvaW50cxgLIAEoAxIU", - "CgxjbG9zaW5nT3JkZXIYDCABKAgSEgoKbGltaXRQcmljZRgNIAEoARIRCglz", - "dG9wUHJpY2UYDiABKAESEAoIc3RvcExvc3MYDyABKAESEgoKdGFrZVByb2Zp", - "dBgQIAEoARIVCg1jbGllbnRPcmRlcklkGBEgASgJEj0KC3RpbWVJbkZvcmNl", - "GBIgASgOMhMuUHJvdG9PQVRpbWVJbkZvcmNlOhNJTU1FRElBVEVfT1JfQ0FO", - "Q0VMEhIKCnBvc2l0aW9uSWQYEyABKAMSGAoQcmVsYXRpdmVTdG9wTG9zcxgU", - "IAEoAxIaChJyZWxhdGl2ZVRha2VQcm9maXQYFSABKAMSEQoJaXNTdG9wT3V0", - "GBYgASgIEhgKEHRyYWlsaW5nU3RvcExvc3MYFyABKAgSPAoRc3RvcFRyaWdn", - "ZXJNZXRob2QYGCABKA4yGi5Qcm90b09BT3JkZXJUcmlnZ2VyTWV0aG9kOgVU", - "UkFERSKZAgobUHJvdG9PQUJvbnVzRGVwb3NpdFdpdGhkcmF3Ei4KDW9wZXJh", - "dGlvblR5cGUYASACKA4yFy5Qcm90b09BQ2hhbmdlQm9udXNUeXBlEhYKDmJv", - "bnVzSGlzdG9yeUlkGAIgAigDEhQKDG1hbmFnZXJCb251cxgDIAIoAxIUCgxt", - "YW5hZ2VyRGVsdGEYBCACKAMSDwoHaWJCb251cxgFIAIoAxIPCgdpYkRlbHRh", - "GAYgAigDEhwKFGNoYW5nZUJvbnVzVGltZXN0YW1wGAcgAigDEhQKDGV4dGVy", - "bmFsTm90ZRgIIAEoCRIbChNpbnRyb2R1Y2luZ0Jyb2tlcklkGAkgASgDEhMK", - "C21vbmV5RGlnaXRzGAogASgNIvcBChZQcm90b09BRGVwb3NpdFdpdGhkcmF3", - "EjAKDW9wZXJhdGlvblR5cGUYASACKA4yGS5Qcm90b09BQ2hhbmdlQmFsYW5j", - "ZVR5cGUSGAoQYmFsYW5jZUhpc3RvcnlJZBgCIAIoAxIPCgdiYWxhbmNlGAMg", - "AigDEg0KBWRlbHRhGAQgAigDEh4KFmNoYW5nZUJhbGFuY2VUaW1lc3RhbXAY", - "BSACKAMSFAoMZXh0ZXJuYWxOb3RlGAYgASgJEhYKDmJhbGFuY2VWZXJzaW9u", - "GAcgASgDEg4KBmVxdWl0eRgIIAEoAxITCgttb25leURpZ2l0cxgJIAEoDSLN", - "AwoLUHJvdG9PQURlYWwSDgoGZGVhbElkGAEgAigDEg8KB29yZGVySWQYAiAC", - "KAMSEgoKcG9zaXRpb25JZBgDIAIoAxIOCgZ2b2x1bWUYBCACKAMSFAoMZmls", - "bGVkVm9sdW1lGAUgAigDEhAKCHN5bWJvbElkGAYgAigDEhcKD2NyZWF0ZVRp", - "bWVzdGFtcBgHIAIoAxIaChJleGVjdXRpb25UaW1lc3RhbXAYCCACKAMSHgoW", - "dXRjTGFzdFVwZGF0ZVRpbWVzdGFtcBgJIAEoAxIWCg5leGVjdXRpb25Qcmlj", - "ZRgKIAEoARIkCgl0cmFkZVNpZGUYCyACKA4yES5Qcm90b09BVHJhZGVTaWRl", - "EiYKCmRlYWxTdGF0dXMYDCACKA4yEi5Qcm90b09BRGVhbFN0YXR1cxISCgpt", - "YXJnaW5SYXRlGA0gASgBEhIKCmNvbW1pc3Npb24YDiABKAMSHwoXYmFzZVRv", - "VXNkQ29udmVyc2lvblJhdGUYDyABKAESOAoTY2xvc2VQb3NpdGlvbkRldGFp", - "bBgQIAEoCzIbLlByb3RvT0FDbG9zZVBvc2l0aW9uRGV0YWlsEhMKC21vbmV5", - "RGlnaXRzGBEgASgNIvsBChpQcm90b09BQ2xvc2VQb3NpdGlvbkRldGFpbBIS", - "CgplbnRyeVByaWNlGAEgAigBEhMKC2dyb3NzUHJvZml0GAIgAigDEgwKBHN3", - "YXAYAyACKAMSEgoKY29tbWlzc2lvbhgEIAIoAxIPCgdiYWxhbmNlGAUgAigD", - "EiQKHHF1b3RlVG9EZXBvc2l0Q29udmVyc2lvblJhdGUYBiABKAESFAoMY2xv", - "c2VkVm9sdW1lGAcgASgDEhYKDmJhbGFuY2VWZXJzaW9uGAggASgDEhMKC21v", - "bmV5RGlnaXRzGAkgASgNEhgKEHBubENvbnZlcnNpb25GZWUYCiABKAMiswEK", - "D1Byb3RvT0FUcmVuZGJhchIOCgZ2b2x1bWUYAyACKAMSKgoGcGVyaW9kGAQg", - "ASgOMhYuUHJvdG9PQVRyZW5kYmFyUGVyaW9kOgJNMRILCgNsb3cYBSABKAMS", - "EQoJZGVsdGFPcGVuGAYgASgEEhIKCmRlbHRhQ2xvc2UYByABKAQSEQoJZGVs", - "dGFIaWdoGAggASgEEh0KFXV0Y1RpbWVzdGFtcEluTWludXRlcxgJIAEoDSJO", - "ChVQcm90b09BRXhwZWN0ZWRNYXJnaW4SDgoGdm9sdW1lGAEgAigDEhEKCWJ1", - "eU1hcmdpbhgCIAIoAxISCgpzZWxsTWFyZ2luGAMgAigDIjIKD1Byb3RvT0FU", - "aWNrRGF0YRIRCgl0aW1lc3RhbXAYASACKAMSDAoEdGljaxgCIAIoAyIkChJQ", - "cm90b09BQ3RpZFByb2ZpbGUSDgoGdXNlcklkGAEgAigDIqIBChhQcm90b09B", - "Q3RpZFRyYWRlckFjY291bnQSGwoTY3RpZFRyYWRlckFjY291bnRJZBgBIAIo", - "BBIOCgZpc0xpdmUYAiABKAgSEwoLdHJhZGVyTG9naW4YAyABKAMSIAoYbGFz", - "dENsb3NpbmdEZWFsVGltZXN0YW1wGAQgASgDEiIKGmxhc3RCYWxhbmNlVXBk", - "YXRlVGltZXN0YW1wGAUgASgDIi0KEVByb3RvT0FBc3NldENsYXNzEgoKAmlk", - "GAEgASgDEgwKBG5hbWUYAiABKAkiRwoRUHJvdG9PQURlcHRoUXVvdGUSCgoC", - "aWQYASACKAQSDAoEc2l6ZRgDIAIoBBILCgNiaWQYBCABKAQSCwoDYXNrGAUg", - "ASgEIoMBChFQcm90b09BTWFyZ2luQ2FsbBIwCg5tYXJnaW5DYWxsVHlwZRgB", - "IAIoDjIYLlByb3RvT0FOb3RpZmljYXRpb25UeXBlEhwKFG1hcmdpbkxldmVs", - "VGhyZXNob2xkGAIgAigBEh4KFnV0Y0xhc3RVcGRhdGVUaW1lc3RhbXAYAyAB", - "KAMisgEKDlByb3RvT0FIb2xpZGF5EhEKCWhvbGlkYXlJZBgBIAIoAxIMCgRu", - "YW1lGAIgAigJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEhgKEHNjaGVkdWxlVGlt", - "ZVpvbmUYBCACKAkSEwoLaG9saWRheURhdGUYBSACKAMSEwoLaXNSZWN1cnJp", - "bmcYBiACKAgSEwoLc3RhcnRTZWNvbmQYByABKAUSEQoJZW5kU2Vjb25kGAgg", - "ASgFIlgKFlByb3RvT0FEeW5hbWljTGV2ZXJhZ2USEgoKbGV2ZXJhZ2VJZBgB", - "IAIoAxIqCgV0aWVycxgCIAMoCzIbLlByb3RvT0FEeW5hbWljTGV2ZXJhZ2VU", - "aWVyIj4KGlByb3RvT0FEeW5hbWljTGV2ZXJhZ2VUaWVyEg4KBnZvbHVtZRgB", - "IAIoAxIQCghsZXZlcmFnZRgCIAIoBSrvFgoSUHJvdG9PQVBheWxvYWRUeXBl", - "EiIKHVBST1RPX09BX0FQUExJQ0FUSU9OX0FVVEhfUkVRELQQEiIKHVBST1RP", - "X09BX0FQUExJQ0FUSU9OX0FVVEhfUkVTELUQEh4KGVBST1RPX09BX0FDQ09V", - "TlRfQVVUSF9SRVEQthASHgoZUFJPVE9fT0FfQUNDT1VOVF9BVVRIX1JFUxC3", - "EBIZChRQUk9UT19PQV9WRVJTSU9OX1JFURC4EBIZChRQUk9UT19PQV9WRVJT", - "SU9OX1JFUxC5EBIbChZQUk9UT19PQV9ORVdfT1JERVJfUkVRELoQEicKIlBS", - "T1RPX09BX1RSQUlMSU5HX1NMX0NIQU5HRURfRVZFTlQQuxASHgoZUFJPVE9f", - "T0FfQ0FOQ0VMX09SREVSX1JFURC8EBIdChhQUk9UT19PQV9BTUVORF9PUkRF", - "Ul9SRVEQvRASJQogUFJPVE9fT0FfQU1FTkRfUE9TSVRJT05fU0xUUF9SRVEQ", - "vhASIAobUFJPVE9fT0FfQ0xPU0VfUE9TSVRJT05fUkVREL8QEhwKF1BST1RP", - "X09BX0FTU0VUX0xJU1RfUkVREMAQEhwKF1BST1RPX09BX0FTU0VUX0xJU1Rf", - "UkVTEMEQEh4KGVBST1RPX09BX1NZTUJPTFNfTElTVF9SRVEQwhASHgoZUFJP", - "VE9fT0FfU1lNQk9MU19MSVNUX1JFUxDDEBIeChlQUk9UT19PQV9TWU1CT0xf", - "QllfSURfUkVREMQQEh4KGVBST1RPX09BX1NZTUJPTF9CWV9JRF9SRVMQxRAS", - "KAojUFJPVE9fT0FfU1lNQk9MU19GT1JfQ09OVkVSU0lPTl9SRVEQxhASKAoj", - "UFJPVE9fT0FfU1lNQk9MU19GT1JfQ09OVkVSU0lPTl9SRVMQxxASIgodUFJP", - "VE9fT0FfU1lNQk9MX0NIQU5HRURfRVZFTlQQyBASGAoTUFJPVE9fT0FfVFJB", - "REVSX1JFURDJEBIYChNQUk9UT19PQV9UUkFERVJfUkVTEMoQEiEKHFBST1RP", - "X09BX1RSQURFUl9VUERBVEVfRVZFTlQQyxASGwoWUFJPVE9fT0FfUkVDT05D", - "SUxFX1JFURDMEBIbChZQUk9UT19PQV9SRUNPTkNJTEVfUkVTEM0QEh0KGFBS", - "T1RPX09BX0VYRUNVVElPTl9FVkVOVBDOEBIhChxQUk9UT19PQV9TVUJTQ1JJ", - "QkVfU1BPVFNfUkVREM8QEiEKHFBST1RPX09BX1NVQlNDUklCRV9TUE9UU19S", - "RVMQ0BASIwoeUFJPVE9fT0FfVU5TVUJTQ1JJQkVfU1BPVFNfUkVRENEQEiMK", - "HlBST1RPX09BX1VOU1VCU0NSSUJFX1NQT1RTX1JFUxDSEBIYChNQUk9UT19P", - "QV9TUE9UX0VWRU5UENMQEh8KGlBST1RPX09BX09SREVSX0VSUk9SX0VWRU5U", - "ENQQEhsKFlBST1RPX09BX0RFQUxfTElTVF9SRVEQ1RASGwoWUFJPVE9fT0Ff", - "REVBTF9MSVNUX1JFUxDWEBIpCiRQUk9UT19PQV9TVUJTQ1JJQkVfTElWRV9U", - "UkVOREJBUl9SRVEQ1xASKwomUFJPVE9fT0FfVU5TVUJTQ1JJQkVfTElWRV9U", - "UkVOREJBUl9SRVEQ2BASHwoaUFJPVE9fT0FfR0VUX1RSRU5EQkFSU19SRVEQ", - "2RASHwoaUFJPVE9fT0FfR0VUX1RSRU5EQkFSU19SRVMQ2hASIQocUFJPVE9f", - "T0FfRVhQRUNURURfTUFSR0lOX1JFURDbEBIhChxQUk9UT19PQV9FWFBFQ1RF", - "RF9NQVJHSU5fUkVTENwQEiIKHVBST1RPX09BX01BUkdJTl9DSEFOR0VEX0VW", - "RU5UEN0QEhcKElBST1RPX09BX0VSUk9SX1JFUxDeEBIoCiNQUk9UT19PQV9D", - "QVNIX0ZMT1dfSElTVE9SWV9MSVNUX1JFURDfEBIoCiNQUk9UT19PQV9DQVNI", - "X0ZMT1dfSElTVE9SWV9MSVNUX1JFUxDgEBIeChlQUk9UT19PQV9HRVRfVElD", - "S0RBVEFfUkVREOEQEh4KGVBST1RPX09BX0dFVF9USUNLREFUQV9SRVMQ4hAS", - "LgopUFJPVE9fT0FfQUNDT1VOVFNfVE9LRU5fSU5WQUxJREFURURfRVZFTlQQ", - "4xASJQogUFJPVE9fT0FfQ0xJRU5UX0RJU0NPTk5FQ1RfRVZFTlQQ5BASLgop", - "UFJPVE9fT0FfR0VUX0FDQ09VTlRTX0JZX0FDQ0VTU19UT0tFTl9SRVEQ5RAS", - "LgopUFJPVE9fT0FfR0VUX0FDQ09VTlRTX0JZX0FDQ0VTU19UT0tFTl9SRVMQ", - "5hASKwomUFJPVE9fT0FfR0VUX0NUSURfUFJPRklMRV9CWV9UT0tFTl9SRVEQ", - "5xASKwomUFJPVE9fT0FfR0VUX0NUSURfUFJPRklMRV9CWV9UT0tFTl9SRVMQ", - "6BASIgodUFJPVE9fT0FfQVNTRVRfQ0xBU1NfTElTVF9SRVEQ6RASIgodUFJP", - "VE9fT0FfQVNTRVRfQ0xBU1NfTElTVF9SRVMQ6hASGQoUUFJPVE9fT0FfREVQ", - "VEhfRVZFTlQQ6xASKAojUFJPVE9fT0FfU1VCU0NSSUJFX0RFUFRIX1FVT1RF", - "U19SRVEQ7BASKAojUFJPVE9fT0FfU1VCU0NSSUJFX0RFUFRIX1FVT1RFU19S", - "RVMQ7RASKgolUFJPVE9fT0FfVU5TVUJTQ1JJQkVfREVQVEhfUVVPVEVTX1JF", - "URDuEBIqCiVQUk9UT19PQV9VTlNVQlNDUklCRV9ERVBUSF9RVU9URVNfUkVT", - "EO8QEiEKHFBST1RPX09BX1NZTUJPTF9DQVRFR09SWV9SRVEQ8BASIQocUFJP", - "VE9fT0FfU1lNQk9MX0NBVEVHT1JZX1JFUxDxEBIgChtQUk9UT19PQV9BQ0NP", - "VU5UX0xPR09VVF9SRVEQ8hASIAobUFJPVE9fT0FfQUNDT1VOVF9MT0dPVVRf", - "UkVTEPMQEiYKIVBST1RPX09BX0FDQ09VTlRfRElTQ09OTkVDVF9FVkVOVBD0", - "EBIpCiRQUk9UT19PQV9TVUJTQ1JJQkVfTElWRV9UUkVOREJBUl9SRVMQ9RAS", - "KwomUFJPVE9fT0FfVU5TVUJTQ1JJQkVfTElWRV9UUkVOREJBUl9SRVMQ9hAS", - "IgodUFJPVE9fT0FfTUFSR0lOX0NBTExfTElTVF9SRVEQ9xASIgodUFJPVE9f", - "T0FfTUFSR0lOX0NBTExfTElTVF9SRVMQ+BASJAofUFJPVE9fT0FfTUFSR0lO", - "X0NBTExfVVBEQVRFX1JFURD5EBIkCh9QUk9UT19PQV9NQVJHSU5fQ0FMTF9V", - "UERBVEVfUkVTEPoQEiYKIVBST1RPX09BX01BUkdJTl9DQUxMX1VQREFURV9F", - "VkVOVBD7EBInCiJQUk9UT19PQV9NQVJHSU5fQ0FMTF9UUklHR0VSX0VWRU5U", - "EPwQEh8KGlBST1RPX09BX1JFRlJFU0hfVE9LRU5fUkVREP0QEh8KGlBST1RP", - "X09BX1JFRlJFU0hfVE9LRU5fUkVTEP4QEhwKF1BST1RPX09BX09SREVSX0xJ", - "U1RfUkVREP8QEhwKF1BST1RPX09BX09SREVSX0xJU1RfUkVTEIAREiYKIVBS", - "T1RPX09BX0dFVF9EWU5BTUlDX0xFVkVSQUdFX1JFURCBERImCiFQUk9UT19P", - "QV9HRVRfRFlOQU1JQ19MRVZFUkFHRV9SRVMQghESKgolUFJPVE9fT0FfREVB", - "TF9MSVNUX0JZX1BPU0lUSU9OX0lEX1JFURCDERIqCiVQUk9UT19PQV9ERUFM", - "X0xJU1RfQllfUE9TSVRJT05fSURfUkVTEIQRKngKEFByb3RvT0FEYXlPZldl", - "ZWsSCAoETk9ORRAAEgoKBk1PTkRBWRABEgsKB1RVRVNEQVkQAhINCglXRURO", - "RVNEQVkQAxIMCghUSFVSU0RBWRAEEgoKBkZSSURBWRAFEgwKCFNBVFVSREFZ", - "EAYSCgoGU1VOREFZEAcqcQoVUHJvdG9PQUNvbW1pc3Npb25UeXBlEhcKE1VT", - "RF9QRVJfTUlMTElPTl9VU0QQARIPCgtVU0RfUEVSX0xPVBACEhcKE1BFUkNF", - "TlRBR0VfT0ZfVkFMVUUQAxIVChFRVU9URV9DQ1lfUEVSX0xPVBAEKl0KGVBy", - "b3RvT0FTeW1ib2xEaXN0YW5jZVR5cGUSHQoZU1lNQk9MX0RJU1RBTkNFX0lO", - "X1BPSU5UUxABEiEKHVNZTUJPTF9ESVNUQU5DRV9JTl9QRVJDRU5UQUdFEAIq", - "PAoYUHJvdG9PQU1pbkNvbW1pc3Npb25UeXBlEgwKCENVUlJFTkNZEAESEgoO", - "UVVPVEVfQ1VSUkVOQ1kQAiqFAQoSUHJvdG9PQVRyYWRpbmdNb2RlEgsKB0VO", - "QUJMRUQQABInCiNESVNBQkxFRF9XSVRIT1VUX1BFTkRJTkdTX0VYRUNVVElP", - "ThABEiQKIERJU0FCTEVEX1dJVEhfUEVORElOR1NfRVhFQ1VUSU9OEAISEwoP", - "Q0xPU0VfT05MWV9NT0RFEAMqNgoaUHJvdG9PQVN3YXBDYWxjdWxhdGlvblR5", - "cGUSCAoEUElQUxAAEg4KClBFUkNFTlRBR0UQASpUChNQcm90b09BQWNjZXNz", - "UmlnaHRzEg8KC0ZVTExfQUNDRVNTEAASDgoKQ0xPU0VfT05MWRABEg4KCk5P", - "X1RSQURJTkcQAhIMCghOT19MT0dJThADKj4KIVByb3RvT0FUb3RhbE1hcmdp", - "bkNhbGN1bGF0aW9uVHlwZRIHCgNNQVgQABIHCgNTVU0QARIHCgNORVQQAipA", - "ChJQcm90b09BQWNjb3VudFR5cGUSCgoGSEVER0VEEAASCgoGTkVUVEVEEAES", - "EgoOU1BSRUFEX0JFVFRJTkcQAiqFAQoVUHJvdG9PQVBvc2l0aW9uU3RhdHVz", - "EhgKFFBPU0lUSU9OX1NUQVRVU19PUEVOEAESGgoWUE9TSVRJT05fU1RBVFVT", - "X0NMT1NFRBACEhsKF1BPU0lUSU9OX1NUQVRVU19DUkVBVEVEEAMSGQoVUE9T", - "SVRJT05fU1RBVFVTX0VSUk9SEAQqJQoQUHJvdG9PQVRyYWRlU2lkZRIHCgNC", - "VVkQARIICgRTRUxMEAIqcAoQUHJvdG9PQU9yZGVyVHlwZRIKCgZNQVJLRVQQ", - "ARIJCgVMSU1JVBACEggKBFNUT1AQAxIZChVTVE9QX0xPU1NfVEFLRV9QUk9G", - "SVQQBBIQCgxNQVJLRVRfUkFOR0UQBRIOCgpTVE9QX0xJTUlUEAYqfQoSUHJv", - "dG9PQVRpbWVJbkZvcmNlEhIKDkdPT0RfVElMTF9EQVRFEAESFAoQR09PRF9U", - "SUxMX0NBTkNFTBACEhcKE0lNTUVESUFURV9PUl9DQU5DRUwQAxIQCgxGSUxM", - "X09SX0tJTEwQBBISCg5NQVJLRVRfT05fT1BFThAFKpkBChJQcm90b09BT3Jk", - "ZXJTdGF0dXMSGQoVT1JERVJfU1RBVFVTX0FDQ0VQVEVEEAESFwoTT1JERVJf", - "U1RBVFVTX0ZJTExFRBACEhkKFU9SREVSX1NUQVRVU19SRUpFQ1RFRBADEhgK", - "FE9SREVSX1NUQVRVU19FWFBJUkVEEAQSGgoWT1JERVJfU1RBVFVTX0NBTkNF", - "TExFRBAFKlsKGVByb3RvT0FPcmRlclRyaWdnZXJNZXRob2QSCQoFVFJBREUQ", - "ARIMCghPUFBPU0lURRACEhAKDERPVUJMRV9UUkFERRADEhMKD0RPVUJMRV9P", - "UFBPU0lURRAEKvsBChRQcm90b09BRXhlY3V0aW9uVHlwZRISCg5PUkRFUl9B", - "Q0NFUFRFRBACEhAKDE9SREVSX0ZJTExFRBADEhIKDk9SREVSX1JFUExBQ0VE", - "EAQSEwoPT1JERVJfQ0FOQ0VMTEVEEAUSEQoNT1JERVJfRVhQSVJFRBAGEhIK", - "Dk9SREVSX1JFSkVDVEVEEAcSGQoVT1JERVJfQ0FOQ0VMX1JFSkVDVEVEEAgS", - "CAoEU1dBUBAJEhQKEERFUE9TSVRfV0lUSERSQVcQChIWChJPUkRFUl9QQVJU", - "SUFMX0ZJTEwQCxIaChZCT05VU19ERVBPU0lUX1dJVEhEUkFXEAwqPwoWUHJv", - "dG9PQUNoYW5nZUJvbnVzVHlwZRIRCg1CT05VU19ERVBPU0lUEAASEgoOQk9O", - "VVNfV0lUSERSQVcQASq4CgoYUHJvdG9PQUNoYW5nZUJhbGFuY2VUeXBlEhMK", - "D0JBTEFOQ0VfREVQT1NJVBAAEhQKEEJBTEFOQ0VfV0lUSERSQVcQARItCilC", - "QUxBTkNFX0RFUE9TSVRfU1RSQVRFR1lfQ09NTUlTU0lPTl9JTk5FUhADEi4K", - "KkJBTEFOQ0VfV0lUSERSQVdfU1RSQVRFR1lfQ09NTUlTU0lPTl9JTk5FUhAE", - "EiIKHkJBTEFOQ0VfREVQT1NJVF9JQl9DT01NSVNTSU9OUxAFEikKJUJBTEFO", - "Q0VfV0lUSERSQVdfSUJfU0hBUkVEX1BFUkNFTlRBR0UQBhI0CjBCQUxBTkNF", - "X0RFUE9TSVRfSUJfU0hBUkVEX1BFUkNFTlRBR0VfRlJPTV9TVUJfSUIQBxI0", - "CjBCQUxBTkNFX0RFUE9TSVRfSUJfU0hBUkVEX1BFUkNFTlRBR0VfRlJPTV9C", - "Uk9LRVIQCBIaChZCQUxBTkNFX0RFUE9TSVRfUkVCQVRFEAkSGwoXQkFMQU5D", - "RV9XSVRIRFJBV19SRUJBVEUQChItCilCQUxBTkNFX0RFUE9TSVRfU1RSQVRF", - "R1lfQ09NTUlTU0lPTl9PVVRFUhALEi4KKkJBTEFOQ0VfV0lUSERSQVdfU1RS", - "QVRFR1lfQ09NTUlTU0lPTl9PVVRFUhAMEicKI0JBTEFOQ0VfV0lUSERSQVdf", - "Qk9OVVNfQ09NUEVOU0FUSU9OEA0SMwovQkFMQU5DRV9XSVRIRFJBV19JQl9T", - "SEFSRURfUEVSQ0VOVEFHRV9UT19CUk9LRVIQDhIdChlCQUxBTkNFX0RFUE9T", - "SVRfRElWSURFTkRTEA8SHgoaQkFMQU5DRV9XSVRIRFJBV19ESVZJREVORFMQ", - "EBIfChtCQUxBTkNFX1dJVEhEUkFXX0dTTF9DSEFSR0UQERIdChlCQUxBTkNF", - "X1dJVEhEUkFXX1JPTExPVkVSEBISKQolQkFMQU5DRV9ERVBPU0lUX05PTldJ", - "VEhEUkFXQUJMRV9CT05VUxATEioKJkJBTEFOQ0VfV0lUSERSQVdfTk9OV0lU", - "SERSQVdBQkxFX0JPTlVTEBQSGAoUQkFMQU5DRV9ERVBPU0lUX1NXQVAQFRIZ", - "ChVCQUxBTkNFX1dJVEhEUkFXX1NXQVAQFhIiCh5CQUxBTkNFX0RFUE9TSVRf", - "TUFOQUdFTUVOVF9GRUUQGxIjCh9CQUxBTkNFX1dJVEhEUkFXX01BTkFHRU1F", - "TlRfRkVFEBwSIwofQkFMQU5DRV9ERVBPU0lUX1BFUkZPUk1BTkNFX0ZFRRAd", - "EiMKH0JBTEFOQ0VfV0lUSERSQVdfRk9SX1NVQkFDQ09VTlQQHhIhCh1CQUxB", - "TkNFX0RFUE9TSVRfVE9fU1VCQUNDT1VOVBAfEiQKIEJBTEFOQ0VfV0lUSERS", - "QVdfRlJPTV9TVUJBQ0NPVU5UECASIwofQkFMQU5DRV9ERVBPU0lUX0ZST01f", - "U1VCQUNDT1VOVBAhEh0KGUJBTEFOQ0VfV0lUSERSQVdfQ09QWV9GRUUQIhIj", - "Ch9CQUxBTkNFX1dJVEhEUkFXX0lOQUNUSVZJVFlfRkVFECMSHAoYQkFMQU5D", - "RV9ERVBPU0lUX1RSQU5TRkVSECQSHQoZQkFMQU5DRV9XSVRIRFJBV19UUkFO", - "U0ZFUhAlEiMKH0JBTEFOQ0VfREVQT1NJVF9DT05WRVJURURfQk9OVVMQJhIv", - "CitCQUxBTkNFX0RFUE9TSVRfTkVHQVRJVkVfQkFMQU5DRV9QUk9URUNUSU9O", - "ECcqcwoRUHJvdG9PQURlYWxTdGF0dXMSCgoGRklMTEVEEAISFAoQUEFSVElB", - "TExZX0ZJTExFRBADEgwKCFJFSkVDVEVEEAQSFwoTSU5URVJOQUxMWV9SRUpF", - "Q1RFRBAFEgkKBUVSUk9SEAYSCgoGTUlTU0VEEAcqjAEKFVByb3RvT0FUcmVu", - "ZGJhclBlcmlvZBIGCgJNMRABEgYKAk0yEAISBgoCTTMQAxIGCgJNNBAEEgYK", - "Ak01EAUSBwoDTTEwEAYSBwoDTTE1EAcSBwoDTTMwEAgSBgoCSDEQCRIGCgJI", - "NBAKEgcKA0gxMhALEgYKAkQxEAwSBgoCVzEQDRIHCgNNTjEQDiokChBQcm90", - "b09BUXVvdGVUeXBlEgcKA0JJRBABEgcKA0FTSxACKj8KHFByb3RvT0FDbGll", - "bnRQZXJtaXNzaW9uU2NvcGUSDgoKU0NPUEVfVklFVxAAEg8KC1NDT1BFX1RS", - "QURFEAEqcwoXUHJvdG9PQU5vdGlmaWNhdGlvblR5cGUSHAoYTUFSR0lOX0xF", - "VkVMX1RIUkVTSE9MRF8xED0SHAoYTUFSR0lOX0xFVkVMX1RIUkVTSE9MRF8y", - "ED4SHAoYTUFSR0lOX0xFVkVMX1RIUkVTSE9MRF8zED8q3ggKEFByb3RvT0FF", - "cnJvckNvZGUSGQoVT0FfQVVUSF9UT0tFTl9FWFBJUkVEEAESGgoWQUNDT1VO", - "VF9OT1RfQVVUSE9SSVpFRBACEhUKEUFMUkVBRFlfTE9HR0VEX0lOEA4SGgoW", - "Q0hfQ0xJRU5UX0FVVEhfRkFJTFVSRRBlEh8KG0NIX0NMSUVOVF9OT1RfQVVU", - "SEVOVElDQVRFRBBmEiMKH0NIX0NMSUVOVF9BTFJFQURZX0FVVEhFTlRJQ0FU", - "RUQQZxIbChdDSF9BQ0NFU1NfVE9LRU5fSU5WQUxJRBBoEhsKF0NIX1NFUlZF", - "Ul9OT1RfUkVBQ0hBQkxFEGkSJAogQ0hfQ1RJRF9UUkFERVJfQUNDT1VOVF9O", - "T1RfRk9VTkQQahIaChZDSF9PQV9DTElFTlRfTk9UX0ZPVU5EEGsSHgoaUkVR", - "VUVTVF9GUkVRVUVOQ1lfRVhDRUVERUQQbBIfChtTRVJWRVJfSVNfVU5ERVJf", - "TUFJTlRFTkFOQ0UQbRIWChJDSEFOTkVMX0lTX0JMT0NLRUQQbhIeChpDT05O", - "RUNUSU9OU19MSU1JVF9FWENFRURFRBBDEhkKFVdPUlNFX0dTTF9OT1RfQUxM", - "T1dFRBBEEhYKElNZTUJPTF9IQVNfSE9MSURBWRBFEhsKF05PVF9TVUJTQ1JJ", - "QkVEX1RPX1NQT1RTEHASFgoSQUxSRUFEWV9TVUJTQ1JJQkVEEHESFAoQU1lN", - "Qk9MX05PVF9GT1VORBByEhIKDlVOS05PV05fU1lNQk9MEHMSGAoUSU5DT1JS", - "RUNUX0JPVU5EQVJJRVMQIxINCglOT19RVU9URVMQdRIUChBOT1RfRU5PVUdI", - "X01PTkVZEHYSGAoUTUFYX0VYUE9TVVJFX1JFQUNIRUQQdxIWChJQT1NJVElP", - "Tl9OT1RfRk9VTkQQeBITCg9PUkRFUl9OT1RfRk9VTkQQeRIVChFQT1NJVElP", - "Tl9OT1RfT1BFThB6EhMKD1BPU0lUSU9OX0xPQ0tFRBB7EhYKElRPT19NQU5Z", - "X1BPU0lUSU9OUxB8EhYKElRSQURJTkdfQkFEX1ZPTFVNRRB9EhUKEVRSQURJ", - "TkdfQkFEX1NUT1BTEH4SFgoSVFJBRElOR19CQURfUFJJQ0VTEH8SFgoRVFJB", - "RElOR19CQURfU1RBS0UQgAESJgohUFJPVEVDVElPTl9JU19UT09fQ0xPU0Vf", - "VE9fTUFSS0VUEIEBEiAKG1RSQURJTkdfQkFEX0VYUElSQVRJT05fREFURRCC", - "ARIWChFQRU5ESU5HX0VYRUNVVElPThCDARIVChBUUkFESU5HX0RJU0FCTEVE", - "EIQBEhgKE1RSQURJTkdfTk9UX0FMTE9XRUQQhQESGwoWVU5BQkxFX1RPX0NB", - "TkNFTF9PUkRFUhCGARIaChVVTkFCTEVfVE9fQU1FTkRfT1JERVIQhwESHgoZ", - "U0hPUlRfU0VMTElOR19OT1RfQUxMT1dFRBCIASqBAQorUHJvdG9PQUxpbWl0", - "ZWRSaXNrTWFyZ2luQ2FsY3VsYXRpb25TdHJhdGVneRIZChVBQ0NPUkRJTkdf", - "VE9fTEVWRVJBR0UQABIUChBBQ0NPUkRJTkdfVE9fR1NMEAESIQodQUNDT1JE", - "SU5HX1RPX0dTTF9BTkRfTEVWRVJBR0UQAkJNCiVjb20ueHRyYWRlci5wcm90", - "b2NvbC5vcGVuYXBpLnYyLm1vZGVsQh9Db250YWluZXJPcGVuQXBpVjJNb2Rl", - "bE1lc3NhZ2VzUAGgAQE=")); + "IAEoBRIcChRjaGFyZ2VTd2FwQXRXZWVrZW5kcxgnIAEoCBIYChBtZWFzdXJl", + "bWVudFVuaXRzGCggASgJIrwBChJQcm90b09BTGlnaHRTeW1ib2wSEAoIc3lt", + "Ym9sSWQYASACKAMSEgoKc3ltYm9sTmFtZRgCIAEoCRIPCgdlbmFibGVkGAMg", + "ASgIEhMKC2Jhc2VBc3NldElkGAQgASgDEhQKDHF1b3RlQXNzZXRJZBgFIAEo", + "AxIYChBzeW1ib2xDYXRlZ29yeUlkGAYgASgDEhMKC2Rlc2NyaXB0aW9uGAcg", + "ASgJEhUKDXNvcnRpbmdOdW1iZXIYCCABKAEibAoVUHJvdG9PQUFyY2hpdmVk", + "U3ltYm9sEhAKCHN5bWJvbElkGAEgAigDEgwKBG5hbWUYAiACKAkSHgoWdXRj", + "TGFzdFVwZGF0ZVRpbWVzdGFtcBgDIAIoAxITCgtkZXNjcmlwdGlvbhgEIAEo", + "CSJeChVQcm90b09BU3ltYm9sQ2F0ZWdvcnkSCgoCaWQYASACKAMSFAoMYXNz", + "ZXRDbGFzc0lkGAIgAigDEgwKBG5hbWUYAyACKAkSFQoNc29ydGluZ051bWJl", + "chgEIAEoASI5Cg9Qcm90b09BSW50ZXJ2YWwSEwoLc3RhcnRTZWNvbmQYAyAC", + "KA0SEQoJZW5kU2Vjb25kGAQgAigNIoMGCg1Qcm90b09BVHJhZGVyEhsKE2N0", + "aWRUcmFkZXJBY2NvdW50SWQYASACKAMSDwoHYmFsYW5jZRgCIAIoAxIWCg5i", + "YWxhbmNlVmVyc2lvbhgDIAEoAxIUCgxtYW5hZ2VyQm9udXMYBCABKAMSDwoH", + "aWJCb251cxgFIAEoAxIcChRub25XaXRoZHJhd2FibGVCb251cxgGIAEoAxI3", + "CgxhY2Nlc3NSaWdodHMYByABKA4yFC5Qcm90b09BQWNjZXNzUmlnaHRzOgtG", + "VUxMX0FDQ0VTUxIWCg5kZXBvc2l0QXNzZXRJZBgIIAIoAxIQCghzd2FwRnJl", + "ZRgJIAEoCBIXCg9sZXZlcmFnZUluQ2VudHMYCiABKA0SRgoadG90YWxNYXJn", + "aW5DYWxjdWxhdGlvblR5cGUYCyABKA4yIi5Qcm90b09BVG90YWxNYXJnaW5D", + "YWxjdWxhdGlvblR5cGUSEwoLbWF4TGV2ZXJhZ2UYDCABKA0SFgoKZnJlbmNo", + "UmlzaxgNIAEoCEICGAESEwoLdHJhZGVyTG9naW4YDiABKAMSMAoLYWNjb3Vu", + "dFR5cGUYDyABKA4yEy5Qcm90b09BQWNjb3VudFR5cGU6BkhFREdFRBISCgpi", + "cm9rZXJOYW1lGBAgASgJEh0KFXJlZ2lzdHJhdGlvblRpbWVzdGFtcBgRIAEo", + "AxIVCg1pc0xpbWl0ZWRSaXNrGBIgASgIEnEKJGxpbWl0ZWRSaXNrTWFyZ2lu", + "Q2FsY3VsYXRpb25TdHJhdGVneRgTIAEoDjIsLlByb3RvT0FMaW1pdGVkUmlz", + "a01hcmdpbkNhbGN1bGF0aW9uU3RyYXRlZ3k6FUFDQ09SRElOR19UT19MRVZF", + "UkFHRRITCgttb25leURpZ2l0cxgUIAEoDRITCgtmYWlyU3RvcE91dBgVIAEo", + "CBJICg9zdG9wT3V0U3RyYXRlZ3kYFiABKA4yFy5Qcm90b09BU3RvcE91dFN0", + "cmF0ZWd5OhZNT1NUX01BUkdJTl9VU0VEX0ZJUlNUIsQDCg9Qcm90b09BUG9z", + "aXRpb24SEgoKcG9zaXRpb25JZBgBIAIoAxIkCgl0cmFkZURhdGEYAiACKAsy", + "ES5Qcm90b09BVHJhZGVEYXRhEi4KDnBvc2l0aW9uU3RhdHVzGAMgAigOMhYu", + "UHJvdG9PQVBvc2l0aW9uU3RhdHVzEgwKBHN3YXAYBCACKAMSDQoFcHJpY2UY", + "BSABKAESEAoIc3RvcExvc3MYBiABKAESEgoKdGFrZVByb2ZpdBgHIAEoARIe", + "ChZ1dGNMYXN0VXBkYXRlVGltZXN0YW1wGAggASgDEhIKCmNvbW1pc3Npb24Y", + "CSABKAMSEgoKbWFyZ2luUmF0ZRgKIAEoARIbChNtaXJyb3JpbmdDb21taXNz", + "aW9uGAsgASgDEhoKEmd1YXJhbnRlZWRTdG9wTG9zcxgMIAEoCBISCgp1c2Vk", + "TWFyZ2luGA0gASgEEkAKFXN0b3BMb3NzVHJpZ2dlck1ldGhvZBgOIAEoDjIa", + "LlByb3RvT0FPcmRlclRyaWdnZXJNZXRob2Q6BVRSQURFEhMKC21vbmV5RGln", + "aXRzGA8gASgNEhgKEHRyYWlsaW5nU3RvcExvc3MYECABKAgi3wEKEFByb3Rv", + "T0FUcmFkZURhdGESEAoIc3ltYm9sSWQYASACKAMSDgoGdm9sdW1lGAIgAigD", + "EiQKCXRyYWRlU2lkZRgDIAIoDjIRLlByb3RvT0FUcmFkZVNpZGUSFQoNb3Bl", + "blRpbWVzdGFtcBgEIAEoAxINCgVsYWJlbBgFIAEoCRIaChJndWFyYW50ZWVk", + "U3RvcExvc3MYBiABKAgSDwoHY29tbWVudBgHIAEoCRIYChBtZWFzdXJlbWVu", + "dFVuaXRzGAggASgJEhYKDmNsb3NlVGltZXN0YW1wGAkgASgEIqUFCgxQcm90", + "b09BT3JkZXISDwoHb3JkZXJJZBgBIAIoAxIkCgl0cmFkZURhdGEYAiACKAsy", + "ES5Qcm90b09BVHJhZGVEYXRhEiQKCW9yZGVyVHlwZRgDIAIoDjIRLlByb3Rv", + "T0FPcmRlclR5cGUSKAoLb3JkZXJTdGF0dXMYBCACKA4yEy5Qcm90b09BT3Jk", + "ZXJTdGF0dXMSGwoTZXhwaXJhdGlvblRpbWVzdGFtcBgGIAEoAxIWCg5leGVj", + "dXRpb25QcmljZRgHIAEoARIWCg5leGVjdXRlZFZvbHVtZRgIIAEoAxIeChZ1", + "dGNMYXN0VXBkYXRlVGltZXN0YW1wGAkgASgDEhkKEWJhc2VTbGlwcGFnZVBy", + "aWNlGAogASgBEhgKEHNsaXBwYWdlSW5Qb2ludHMYCyABKAMSFAoMY2xvc2lu", + "Z09yZGVyGAwgASgIEhIKCmxpbWl0UHJpY2UYDSABKAESEQoJc3RvcFByaWNl", + "GA4gASgBEhAKCHN0b3BMb3NzGA8gASgBEhIKCnRha2VQcm9maXQYECABKAES", + "FQoNY2xpZW50T3JkZXJJZBgRIAEoCRI9Cgt0aW1lSW5Gb3JjZRgSIAEoDjIT", + "LlByb3RvT0FUaW1lSW5Gb3JjZToTSU1NRURJQVRFX09SX0NBTkNFTBISCgpw", + "b3NpdGlvbklkGBMgASgDEhgKEHJlbGF0aXZlU3RvcExvc3MYFCABKAMSGgoS", + "cmVsYXRpdmVUYWtlUHJvZml0GBUgASgDEhEKCWlzU3RvcE91dBgWIAEoCBIY", + "ChB0cmFpbGluZ1N0b3BMb3NzGBcgASgIEjwKEXN0b3BUcmlnZ2VyTWV0aG9k", + "GBggASgOMhouUHJvdG9PQU9yZGVyVHJpZ2dlck1ldGhvZDoFVFJBREUimQIK", + "G1Byb3RvT0FCb251c0RlcG9zaXRXaXRoZHJhdxIuCg1vcGVyYXRpb25UeXBl", + "GAEgAigOMhcuUHJvdG9PQUNoYW5nZUJvbnVzVHlwZRIWCg5ib251c0hpc3Rv", + "cnlJZBgCIAIoAxIUCgxtYW5hZ2VyQm9udXMYAyACKAMSFAoMbWFuYWdlckRl", + "bHRhGAQgAigDEg8KB2liQm9udXMYBSACKAMSDwoHaWJEZWx0YRgGIAIoAxIc", + "ChRjaGFuZ2VCb251c1RpbWVzdGFtcBgHIAIoAxIUCgxleHRlcm5hbE5vdGUY", + "CCABKAkSGwoTaW50cm9kdWNpbmdCcm9rZXJJZBgJIAEoAxITCgttb25leURp", + "Z2l0cxgKIAEoDSL3AQoWUHJvdG9PQURlcG9zaXRXaXRoZHJhdxIwCg1vcGVy", + "YXRpb25UeXBlGAEgAigOMhkuUHJvdG9PQUNoYW5nZUJhbGFuY2VUeXBlEhgK", + "EGJhbGFuY2VIaXN0b3J5SWQYAiACKAMSDwoHYmFsYW5jZRgDIAIoAxINCgVk", + "ZWx0YRgEIAIoAxIeChZjaGFuZ2VCYWxhbmNlVGltZXN0YW1wGAUgAigDEhQK", + "DGV4dGVybmFsTm90ZRgGIAEoCRIWCg5iYWxhbmNlVmVyc2lvbhgHIAEoAxIO", + "CgZlcXVpdHkYCCABKAMSEwoLbW9uZXlEaWdpdHMYCSABKA0izQMKC1Byb3Rv", + "T0FEZWFsEg4KBmRlYWxJZBgBIAIoAxIPCgdvcmRlcklkGAIgAigDEhIKCnBv", + "c2l0aW9uSWQYAyACKAMSDgoGdm9sdW1lGAQgAigDEhQKDGZpbGxlZFZvbHVt", + "ZRgFIAIoAxIQCghzeW1ib2xJZBgGIAIoAxIXCg9jcmVhdGVUaW1lc3RhbXAY", + "ByACKAMSGgoSZXhlY3V0aW9uVGltZXN0YW1wGAggAigDEh4KFnV0Y0xhc3RV", + "cGRhdGVUaW1lc3RhbXAYCSABKAMSFgoOZXhlY3V0aW9uUHJpY2UYCiABKAES", + "JAoJdHJhZGVTaWRlGAsgAigOMhEuUHJvdG9PQVRyYWRlU2lkZRImCgpkZWFs", + "U3RhdHVzGAwgAigOMhIuUHJvdG9PQURlYWxTdGF0dXMSEgoKbWFyZ2luUmF0", + "ZRgNIAEoARISCgpjb21taXNzaW9uGA4gASgDEh8KF2Jhc2VUb1VzZENvbnZl", + "cnNpb25SYXRlGA8gASgBEjgKE2Nsb3NlUG9zaXRpb25EZXRhaWwYECABKAsy", + "Gy5Qcm90b09BQ2xvc2VQb3NpdGlvbkRldGFpbBITCgttb25leURpZ2l0cxgR", + "IAEoDSJnChFQcm90b09BRGVhbE9mZnNldBIOCgZkZWFsSWQYASACKAMSDgoG", + "dm9sdW1lGAIgAigDEhoKEmV4ZWN1dGlvblRpbWVzdGFtcBgDIAEoAxIWCg5l", + "eGVjdXRpb25QcmljZRgEIAEoASL7AQoaUHJvdG9PQUNsb3NlUG9zaXRpb25E", + "ZXRhaWwSEgoKZW50cnlQcmljZRgBIAIoARITCgtncm9zc1Byb2ZpdBgCIAIo", + "AxIMCgRzd2FwGAMgAigDEhIKCmNvbW1pc3Npb24YBCACKAMSDwoHYmFsYW5j", + "ZRgFIAIoAxIkChxxdW90ZVRvRGVwb3NpdENvbnZlcnNpb25SYXRlGAYgASgB", + "EhQKDGNsb3NlZFZvbHVtZRgHIAEoAxIWCg5iYWxhbmNlVmVyc2lvbhgIIAEo", + "AxITCgttb25leURpZ2l0cxgJIAEoDRIYChBwbmxDb252ZXJzaW9uRmVlGAog", + "ASgDIrMBCg9Qcm90b09BVHJlbmRiYXISDgoGdm9sdW1lGAMgAigDEioKBnBl", + "cmlvZBgEIAEoDjIWLlByb3RvT0FUcmVuZGJhclBlcmlvZDoCTTESCwoDbG93", + "GAUgASgDEhEKCWRlbHRhT3BlbhgGIAEoBBISCgpkZWx0YUNsb3NlGAcgASgE", + "EhEKCWRlbHRhSGlnaBgIIAEoBBIdChV1dGNUaW1lc3RhbXBJbk1pbnV0ZXMY", + "CSABKA0iTgoVUHJvdG9PQUV4cGVjdGVkTWFyZ2luEg4KBnZvbHVtZRgBIAIo", + "AxIRCglidXlNYXJnaW4YAiACKAMSEgoKc2VsbE1hcmdpbhgDIAIoAyIyCg9Q", + "cm90b09BVGlja0RhdGESEQoJdGltZXN0YW1wGAEgAigDEgwKBHRpY2sYAiAC", + "KAMiJAoSUHJvdG9PQUN0aWRQcm9maWxlEg4KBnVzZXJJZBgBIAIoAyK8AQoY", + "UHJvdG9PQUN0aWRUcmFkZXJBY2NvdW50EhsKE2N0aWRUcmFkZXJBY2NvdW50", + "SWQYASACKAQSDgoGaXNMaXZlGAIgASgIEhMKC3RyYWRlckxvZ2luGAMgASgD", + "EiAKGGxhc3RDbG9zaW5nRGVhbFRpbWVzdGFtcBgEIAEoAxIiChpsYXN0QmFs", + "YW5jZVVwZGF0ZVRpbWVzdGFtcBgFIAEoAxIYChBicm9rZXJUaXRsZVNob3J0", + "GAYgASgJIkQKEVByb3RvT0FBc3NldENsYXNzEgoKAmlkGAEgASgDEgwKBG5h", + "bWUYAiABKAkSFQoNc29ydGluZ051bWJlchgDIAEoASJHChFQcm90b09BRGVw", + "dGhRdW90ZRIKCgJpZBgBIAIoBBIMCgRzaXplGAMgAigEEgsKA2JpZBgEIAEo", + "BBILCgNhc2sYBSABKAQigwEKEVByb3RvT0FNYXJnaW5DYWxsEjAKDm1hcmdp", + "bkNhbGxUeXBlGAEgAigOMhguUHJvdG9PQU5vdGlmaWNhdGlvblR5cGUSHAoU", + "bWFyZ2luTGV2ZWxUaHJlc2hvbGQYAiACKAESHgoWdXRjTGFzdFVwZGF0ZVRp", + "bWVzdGFtcBgDIAEoAyKyAQoOUHJvdG9PQUhvbGlkYXkSEQoJaG9saWRheUlk", + "GAEgAigDEgwKBG5hbWUYAiACKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSGAoQ", + "c2NoZWR1bGVUaW1lWm9uZRgEIAIoCRITCgtob2xpZGF5RGF0ZRgFIAIoAxIT", + "Cgtpc1JlY3VycmluZxgGIAIoCBITCgtzdGFydFNlY29uZBgHIAEoBRIRCgll", + "bmRTZWNvbmQYCCABKAUiWAoWUHJvdG9PQUR5bmFtaWNMZXZlcmFnZRISCgps", + "ZXZlcmFnZUlkGAEgAigDEioKBXRpZXJzGAIgAygLMhsuUHJvdG9PQUR5bmFt", + "aWNMZXZlcmFnZVRpZXIiPgoaUHJvdG9PQUR5bmFtaWNMZXZlcmFnZVRpZXIS", + "DgoGdm9sdW1lGAEgAigDEhAKCGxldmVyYWdlGAIgAigFImgKHFByb3RvT0FQ", + "b3NpdGlvblVucmVhbGl6ZWRQbkwSEgoKcG9zaXRpb25JZBgBIAIoAxIaChJn", + "cm9zc1VucmVhbGl6ZWRQbkwYAiACKAMSGAoQbmV0VW5yZWFsaXplZFBuTBgD", + "IAIoAyqxGQoSUHJvdG9PQVBheWxvYWRUeXBlEiIKHVBST1RPX09BX0FQUExJ", + "Q0FUSU9OX0FVVEhfUkVRELQQEiIKHVBST1RPX09BX0FQUExJQ0FUSU9OX0FV", + "VEhfUkVTELUQEh4KGVBST1RPX09BX0FDQ09VTlRfQVVUSF9SRVEQthASHgoZ", + "UFJPVE9fT0FfQUNDT1VOVF9BVVRIX1JFUxC3EBIZChRQUk9UT19PQV9WRVJT", + "SU9OX1JFURC4EBIZChRQUk9UT19PQV9WRVJTSU9OX1JFUxC5EBIbChZQUk9U", + "T19PQV9ORVdfT1JERVJfUkVRELoQEicKIlBST1RPX09BX1RSQUlMSU5HX1NM", + "X0NIQU5HRURfRVZFTlQQuxASHgoZUFJPVE9fT0FfQ0FOQ0VMX09SREVSX1JF", + "URC8EBIdChhQUk9UT19PQV9BTUVORF9PUkRFUl9SRVEQvRASJQogUFJPVE9f", + "T0FfQU1FTkRfUE9TSVRJT05fU0xUUF9SRVEQvhASIAobUFJPVE9fT0FfQ0xP", + "U0VfUE9TSVRJT05fUkVREL8QEhwKF1BST1RPX09BX0FTU0VUX0xJU1RfUkVR", + "EMAQEhwKF1BST1RPX09BX0FTU0VUX0xJU1RfUkVTEMEQEh4KGVBST1RPX09B", + "X1NZTUJPTFNfTElTVF9SRVEQwhASHgoZUFJPVE9fT0FfU1lNQk9MU19MSVNU", + "X1JFUxDDEBIeChlQUk9UT19PQV9TWU1CT0xfQllfSURfUkVREMQQEh4KGVBS", + "T1RPX09BX1NZTUJPTF9CWV9JRF9SRVMQxRASKAojUFJPVE9fT0FfU1lNQk9M", + "U19GT1JfQ09OVkVSU0lPTl9SRVEQxhASKAojUFJPVE9fT0FfU1lNQk9MU19G", + "T1JfQ09OVkVSU0lPTl9SRVMQxxASIgodUFJPVE9fT0FfU1lNQk9MX0NIQU5H", + "RURfRVZFTlQQyBASGAoTUFJPVE9fT0FfVFJBREVSX1JFURDJEBIYChNQUk9U", + "T19PQV9UUkFERVJfUkVTEMoQEiEKHFBST1RPX09BX1RSQURFUl9VUERBVEVf", + "RVZFTlQQyxASGwoWUFJPVE9fT0FfUkVDT05DSUxFX1JFURDMEBIbChZQUk9U", + "T19PQV9SRUNPTkNJTEVfUkVTEM0QEh0KGFBST1RPX09BX0VYRUNVVElPTl9F", + "VkVOVBDOEBIhChxQUk9UT19PQV9TVUJTQ1JJQkVfU1BPVFNfUkVREM8QEiEK", + "HFBST1RPX09BX1NVQlNDUklCRV9TUE9UU19SRVMQ0BASIwoeUFJPVE9fT0Ff", + "VU5TVUJTQ1JJQkVfU1BPVFNfUkVRENEQEiMKHlBST1RPX09BX1VOU1VCU0NS", + "SUJFX1NQT1RTX1JFUxDSEBIYChNQUk9UT19PQV9TUE9UX0VWRU5UENMQEh8K", + "GlBST1RPX09BX09SREVSX0VSUk9SX0VWRU5UENQQEhsKFlBST1RPX09BX0RF", + "QUxfTElTVF9SRVEQ1RASGwoWUFJPVE9fT0FfREVBTF9MSVNUX1JFUxDWEBIp", + "CiRQUk9UT19PQV9TVUJTQ1JJQkVfTElWRV9UUkVOREJBUl9SRVEQ1xASKwom", + "UFJPVE9fT0FfVU5TVUJTQ1JJQkVfTElWRV9UUkVOREJBUl9SRVEQ2BASHwoa", + "UFJPVE9fT0FfR0VUX1RSRU5EQkFSU19SRVEQ2RASHwoaUFJPVE9fT0FfR0VU", + "X1RSRU5EQkFSU19SRVMQ2hASIQocUFJPVE9fT0FfRVhQRUNURURfTUFSR0lO", + "X1JFURDbEBIhChxQUk9UT19PQV9FWFBFQ1RFRF9NQVJHSU5fUkVTENwQEiIK", + "HVBST1RPX09BX01BUkdJTl9DSEFOR0VEX0VWRU5UEN0QEhcKElBST1RPX09B", + "X0VSUk9SX1JFUxDeEBIoCiNQUk9UT19PQV9DQVNIX0ZMT1dfSElTVE9SWV9M", + "SVNUX1JFURDfEBIoCiNQUk9UT19PQV9DQVNIX0ZMT1dfSElTVE9SWV9MSVNU", + "X1JFUxDgEBIeChlQUk9UT19PQV9HRVRfVElDS0RBVEFfUkVREOEQEh4KGVBS", + "T1RPX09BX0dFVF9USUNLREFUQV9SRVMQ4hASLgopUFJPVE9fT0FfQUNDT1VO", + "VFNfVE9LRU5fSU5WQUxJREFURURfRVZFTlQQ4xASJQogUFJPVE9fT0FfQ0xJ", + "RU5UX0RJU0NPTk5FQ1RfRVZFTlQQ5BASLgopUFJPVE9fT0FfR0VUX0FDQ09V", + "TlRTX0JZX0FDQ0VTU19UT0tFTl9SRVEQ5RASLgopUFJPVE9fT0FfR0VUX0FD", + "Q09VTlRTX0JZX0FDQ0VTU19UT0tFTl9SRVMQ5hASKwomUFJPVE9fT0FfR0VU", + "X0NUSURfUFJPRklMRV9CWV9UT0tFTl9SRVEQ5xASKwomUFJPVE9fT0FfR0VU", + "X0NUSURfUFJPRklMRV9CWV9UT0tFTl9SRVMQ6BASIgodUFJPVE9fT0FfQVNT", + "RVRfQ0xBU1NfTElTVF9SRVEQ6RASIgodUFJPVE9fT0FfQVNTRVRfQ0xBU1Nf", + "TElTVF9SRVMQ6hASGQoUUFJPVE9fT0FfREVQVEhfRVZFTlQQ6xASKAojUFJP", + "VE9fT0FfU1VCU0NSSUJFX0RFUFRIX1FVT1RFU19SRVEQ7BASKAojUFJPVE9f", + "T0FfU1VCU0NSSUJFX0RFUFRIX1FVT1RFU19SRVMQ7RASKgolUFJPVE9fT0Ff", + "VU5TVUJTQ1JJQkVfREVQVEhfUVVPVEVTX1JFURDuEBIqCiVQUk9UT19PQV9V", + "TlNVQlNDUklCRV9ERVBUSF9RVU9URVNfUkVTEO8QEiEKHFBST1RPX09BX1NZ", + "TUJPTF9DQVRFR09SWV9SRVEQ8BASIQocUFJPVE9fT0FfU1lNQk9MX0NBVEVH", + "T1JZX1JFUxDxEBIgChtQUk9UT19PQV9BQ0NPVU5UX0xPR09VVF9SRVEQ8hAS", + "IAobUFJPVE9fT0FfQUNDT1VOVF9MT0dPVVRfUkVTEPMQEiYKIVBST1RPX09B", + "X0FDQ09VTlRfRElTQ09OTkVDVF9FVkVOVBD0EBIpCiRQUk9UT19PQV9TVUJT", + "Q1JJQkVfTElWRV9UUkVOREJBUl9SRVMQ9RASKwomUFJPVE9fT0FfVU5TVUJT", + "Q1JJQkVfTElWRV9UUkVOREJBUl9SRVMQ9hASIgodUFJPVE9fT0FfTUFSR0lO", + "X0NBTExfTElTVF9SRVEQ9xASIgodUFJPVE9fT0FfTUFSR0lOX0NBTExfTElT", + "VF9SRVMQ+BASJAofUFJPVE9fT0FfTUFSR0lOX0NBTExfVVBEQVRFX1JFURD5", + "EBIkCh9QUk9UT19PQV9NQVJHSU5fQ0FMTF9VUERBVEVfUkVTEPoQEiYKIVBS", + "T1RPX09BX01BUkdJTl9DQUxMX1VQREFURV9FVkVOVBD7EBInCiJQUk9UT19P", + "QV9NQVJHSU5fQ0FMTF9UUklHR0VSX0VWRU5UEPwQEh8KGlBST1RPX09BX1JF", + "RlJFU0hfVE9LRU5fUkVREP0QEh8KGlBST1RPX09BX1JFRlJFU0hfVE9LRU5f", + "UkVTEP4QEhwKF1BST1RPX09BX09SREVSX0xJU1RfUkVREP8QEhwKF1BST1RP", + "X09BX09SREVSX0xJU1RfUkVTEIAREiYKIVBST1RPX09BX0dFVF9EWU5BTUlD", + "X0xFVkVSQUdFX1JFURCBERImCiFQUk9UT19PQV9HRVRfRFlOQU1JQ19MRVZF", + "UkFHRV9SRVMQghESKgolUFJPVE9fT0FfREVBTF9MSVNUX0JZX1BPU0lUSU9O", + "X0lEX1JFURCDERIqCiVQUk9UT19PQV9ERUFMX0xJU1RfQllfUE9TSVRJT05f", + "SURfUkVTEIQREh8KGlBST1RPX09BX09SREVSX0RFVEFJTFNfUkVREIUREh8K", + "GlBST1RPX09BX09SREVSX0RFVEFJTFNfUkVTEIYREisKJlBST1RPX09BX09S", + "REVSX0xJU1RfQllfUE9TSVRJT05fSURfUkVREIcREisKJlBST1RPX09BX09S", + "REVSX0xJU1RfQllfUE9TSVRJT05fSURfUkVTEIgREiIKHVBST1RPX09BX0RF", + "QUxfT0ZGU0VUX0xJU1RfUkVREIkREiIKHVBST1RPX09BX0RFQUxfT0ZGU0VU", + "X0xJU1RfUkVTEIoREi0KKFBST1RPX09BX0dFVF9QT1NJVElPTl9VTlJFQUxJ", + "WkVEX1BOTF9SRVEQixESLQooUFJPVE9fT0FfR0VUX1BPU0lUSU9OX1VOUkVB", + "TElaRURfUE5MX1JFUxCMESp4ChBQcm90b09BRGF5T2ZXZWVrEggKBE5PTkUQ", + "ABIKCgZNT05EQVkQARILCgdUVUVTREFZEAISDQoJV0VETkVTREFZEAMSDAoI", + "VEhVUlNEQVkQBBIKCgZGUklEQVkQBRIMCghTQVRVUkRBWRAGEgoKBlNVTkRB", + "WRAHKnEKFVByb3RvT0FDb21taXNzaW9uVHlwZRIXChNVU0RfUEVSX01JTExJ", + "T05fVVNEEAESDwoLVVNEX1BFUl9MT1QQAhIXChNQRVJDRU5UQUdFX09GX1ZB", + "TFVFEAMSFQoRUVVPVEVfQ0NZX1BFUl9MT1QQBCpdChlQcm90b09BU3ltYm9s", + "RGlzdGFuY2VUeXBlEh0KGVNZTUJPTF9ESVNUQU5DRV9JTl9QT0lOVFMQARIh", + "Ch1TWU1CT0xfRElTVEFOQ0VfSU5fUEVSQ0VOVEFHRRACKjwKGFByb3RvT0FN", + "aW5Db21taXNzaW9uVHlwZRIMCghDVVJSRU5DWRABEhIKDlFVT1RFX0NVUlJF", + "TkNZEAIqhQEKElByb3RvT0FUcmFkaW5nTW9kZRILCgdFTkFCTEVEEAASJwoj", + "RElTQUJMRURfV0lUSE9VVF9QRU5ESU5HU19FWEVDVVRJT04QARIkCiBESVNB", + "QkxFRF9XSVRIX1BFTkRJTkdTX0VYRUNVVElPThACEhMKD0NMT1NFX09OTFlf", + "TU9ERRADKkIKGlByb3RvT0FTd2FwQ2FsY3VsYXRpb25UeXBlEggKBFBJUFMQ", + "ABIOCgpQRVJDRU5UQUdFEAESCgoGUE9JTlRTEAIqVAoTUHJvdG9PQUFjY2Vz", + "c1JpZ2h0cxIPCgtGVUxMX0FDQ0VTUxAAEg4KCkNMT1NFX09OTFkQARIOCgpO", + "T19UUkFESU5HEAISDAoITk9fTE9HSU4QAyo+CiFQcm90b09BVG90YWxNYXJn", + "aW5DYWxjdWxhdGlvblR5cGUSBwoDTUFYEAASBwoDU1VNEAESBwoDTkVUEAIq", + "QAoSUHJvdG9PQUFjY291bnRUeXBlEgoKBkhFREdFRBAAEgoKBk5FVFRFRBAB", + "EhIKDlNQUkVBRF9CRVRUSU5HEAIqhQEKFVByb3RvT0FQb3NpdGlvblN0YXR1", + "cxIYChRQT1NJVElPTl9TVEFUVVNfT1BFThABEhoKFlBPU0lUSU9OX1NUQVRV", + "U19DTE9TRUQQAhIbChdQT1NJVElPTl9TVEFUVVNfQ1JFQVRFRBADEhkKFVBP", + "U0lUSU9OX1NUQVRVU19FUlJPUhAEKiUKEFByb3RvT0FUcmFkZVNpZGUSBwoD", + "QlVZEAESCAoEU0VMTBACKnAKEFByb3RvT0FPcmRlclR5cGUSCgoGTUFSS0VU", + "EAESCQoFTElNSVQQAhIICgRTVE9QEAMSGQoVU1RPUF9MT1NTX1RBS0VfUFJP", + "RklUEAQSEAoMTUFSS0VUX1JBTkdFEAUSDgoKU1RPUF9MSU1JVBAGKn0KElBy", + "b3RvT0FUaW1lSW5Gb3JjZRISCg5HT09EX1RJTExfREFURRABEhQKEEdPT0Rf", + "VElMTF9DQU5DRUwQAhIXChNJTU1FRElBVEVfT1JfQ0FOQ0VMEAMSEAoMRklM", + "TF9PUl9LSUxMEAQSEgoOTUFSS0VUX09OX09QRU4QBSqZAQoSUHJvdG9PQU9y", + "ZGVyU3RhdHVzEhkKFU9SREVSX1NUQVRVU19BQ0NFUFRFRBABEhcKE09SREVS", + "X1NUQVRVU19GSUxMRUQQAhIZChVPUkRFUl9TVEFUVVNfUkVKRUNURUQQAxIY", + "ChRPUkRFUl9TVEFUVVNfRVhQSVJFRBAEEhoKFk9SREVSX1NUQVRVU19DQU5D", + "RUxMRUQQBSpbChlQcm90b09BT3JkZXJUcmlnZ2VyTWV0aG9kEgkKBVRSQURF", + "EAESDAoIT1BQT1NJVEUQAhIQCgxET1VCTEVfVFJBREUQAxITCg9ET1VCTEVf", + "T1BQT1NJVEUQBCr7AQoUUHJvdG9PQUV4ZWN1dGlvblR5cGUSEgoOT1JERVJf", + "QUNDRVBURUQQAhIQCgxPUkRFUl9GSUxMRUQQAxISCg5PUkRFUl9SRVBMQUNF", + "RBAEEhMKD09SREVSX0NBTkNFTExFRBAFEhEKDU9SREVSX0VYUElSRUQQBhIS", + "Cg5PUkRFUl9SRUpFQ1RFRBAHEhkKFU9SREVSX0NBTkNFTF9SRUpFQ1RFRBAI", + "EggKBFNXQVAQCRIUChBERVBPU0lUX1dJVEhEUkFXEAoSFgoST1JERVJfUEFS", + "VElBTF9GSUxMEAsSGgoWQk9OVVNfREVQT1NJVF9XSVRIRFJBVxAMKj8KFlBy", + "b3RvT0FDaGFuZ2VCb251c1R5cGUSEQoNQk9OVVNfREVQT1NJVBAAEhIKDkJP", + "TlVTX1dJVEhEUkFXEAEquAoKGFByb3RvT0FDaGFuZ2VCYWxhbmNlVHlwZRIT", + "Cg9CQUxBTkNFX0RFUE9TSVQQABIUChBCQUxBTkNFX1dJVEhEUkFXEAESLQop", + "QkFMQU5DRV9ERVBPU0lUX1NUUkFURUdZX0NPTU1JU1NJT05fSU5ORVIQAxIu", + "CipCQUxBTkNFX1dJVEhEUkFXX1NUUkFURUdZX0NPTU1JU1NJT05fSU5ORVIQ", + "BBIiCh5CQUxBTkNFX0RFUE9TSVRfSUJfQ09NTUlTU0lPTlMQBRIpCiVCQUxB", + "TkNFX1dJVEhEUkFXX0lCX1NIQVJFRF9QRVJDRU5UQUdFEAYSNAowQkFMQU5D", + "RV9ERVBPU0lUX0lCX1NIQVJFRF9QRVJDRU5UQUdFX0ZST01fU1VCX0lCEAcS", + "NAowQkFMQU5DRV9ERVBPU0lUX0lCX1NIQVJFRF9QRVJDRU5UQUdFX0ZST01f", + "QlJPS0VSEAgSGgoWQkFMQU5DRV9ERVBPU0lUX1JFQkFURRAJEhsKF0JBTEFO", + "Q0VfV0lUSERSQVdfUkVCQVRFEAoSLQopQkFMQU5DRV9ERVBPU0lUX1NUUkFU", + "RUdZX0NPTU1JU1NJT05fT1VURVIQCxIuCipCQUxBTkNFX1dJVEhEUkFXX1NU", + "UkFURUdZX0NPTU1JU1NJT05fT1VURVIQDBInCiNCQUxBTkNFX1dJVEhEUkFX", + "X0JPTlVTX0NPTVBFTlNBVElPThANEjMKL0JBTEFOQ0VfV0lUSERSQVdfSUJf", + "U0hBUkVEX1BFUkNFTlRBR0VfVE9fQlJPS0VSEA4SHQoZQkFMQU5DRV9ERVBP", + "U0lUX0RJVklERU5EUxAPEh4KGkJBTEFOQ0VfV0lUSERSQVdfRElWSURFTkRT", + "EBASHwobQkFMQU5DRV9XSVRIRFJBV19HU0xfQ0hBUkdFEBESHQoZQkFMQU5D", + "RV9XSVRIRFJBV19ST0xMT1ZFUhASEikKJUJBTEFOQ0VfREVQT1NJVF9OT05X", + "SVRIRFJBV0FCTEVfQk9OVVMQExIqCiZCQUxBTkNFX1dJVEhEUkFXX05PTldJ", + "VEhEUkFXQUJMRV9CT05VUxAUEhgKFEJBTEFOQ0VfREVQT1NJVF9TV0FQEBUS", + "GQoVQkFMQU5DRV9XSVRIRFJBV19TV0FQEBYSIgoeQkFMQU5DRV9ERVBPU0lU", + "X01BTkFHRU1FTlRfRkVFEBsSIwofQkFMQU5DRV9XSVRIRFJBV19NQU5BR0VN", + "RU5UX0ZFRRAcEiMKH0JBTEFOQ0VfREVQT1NJVF9QRVJGT1JNQU5DRV9GRUUQ", + "HRIjCh9CQUxBTkNFX1dJVEhEUkFXX0ZPUl9TVUJBQ0NPVU5UEB4SIQodQkFM", + "QU5DRV9ERVBPU0lUX1RPX1NVQkFDQ09VTlQQHxIkCiBCQUxBTkNFX1dJVEhE", + "UkFXX0ZST01fU1VCQUNDT1VOVBAgEiMKH0JBTEFOQ0VfREVQT1NJVF9GUk9N", + "X1NVQkFDQ09VTlQQIRIdChlCQUxBTkNFX1dJVEhEUkFXX0NPUFlfRkVFECIS", + "IwofQkFMQU5DRV9XSVRIRFJBV19JTkFDVElWSVRZX0ZFRRAjEhwKGEJBTEFO", + "Q0VfREVQT1NJVF9UUkFOU0ZFUhAkEh0KGUJBTEFOQ0VfV0lUSERSQVdfVFJB", + "TlNGRVIQJRIjCh9CQUxBTkNFX0RFUE9TSVRfQ09OVkVSVEVEX0JPTlVTECYS", + "LworQkFMQU5DRV9ERVBPU0lUX05FR0FUSVZFX0JBTEFOQ0VfUFJPVEVDVElP", + "ThAnKnMKEVByb3RvT0FEZWFsU3RhdHVzEgoKBkZJTExFRBACEhQKEFBBUlRJ", + "QUxMWV9GSUxMRUQQAxIMCghSRUpFQ1RFRBAEEhcKE0lOVEVSTkFMTFlfUkVK", + "RUNURUQQBRIJCgVFUlJPUhAGEgoKBk1JU1NFRBAHKowBChVQcm90b09BVHJl", + "bmRiYXJQZXJpb2QSBgoCTTEQARIGCgJNMhACEgYKAk0zEAMSBgoCTTQQBBIG", + "CgJNNRAFEgcKA00xMBAGEgcKA00xNRAHEgcKA00zMBAIEgYKAkgxEAkSBgoC", + "SDQQChIHCgNIMTIQCxIGCgJEMRAMEgYKAlcxEA0SBwoDTU4xEA4qJAoQUHJv", + "dG9PQVF1b3RlVHlwZRIHCgNCSUQQARIHCgNBU0sQAio/ChxQcm90b09BQ2xp", + "ZW50UGVybWlzc2lvblNjb3BlEg4KClNDT1BFX1ZJRVcQABIPCgtTQ09QRV9U", + "UkFERRABKnMKF1Byb3RvT0FOb3RpZmljYXRpb25UeXBlEhwKGE1BUkdJTl9M", + "RVZFTF9USFJFU0hPTERfMRA9EhwKGE1BUkdJTl9MRVZFTF9USFJFU0hPTERf", + "MhA+EhwKGE1BUkdJTl9MRVZFTF9USFJFU0hPTERfMxA/Ko8JChBQcm90b09B", + "RXJyb3JDb2RlEhkKFU9BX0FVVEhfVE9LRU5fRVhQSVJFRBABEhoKFkFDQ09V", + "TlRfTk9UX0FVVEhPUklaRUQQAhIVChFSRVRfTk9fU1VDSF9MT0dJThAMEhUK", + "EUFMUkVBRFlfTE9HR0VEX0lOEA4SGAoUUkVUX0FDQ09VTlRfRElTQUJMRUQQ", + "QBIaChZDSF9DTElFTlRfQVVUSF9GQUlMVVJFEGUSHwobQ0hfQ0xJRU5UX05P", + "VF9BVVRIRU5USUNBVEVEEGYSIwofQ0hfQ0xJRU5UX0FMUkVBRFlfQVVUSEVO", + "VElDQVRFRBBnEhsKF0NIX0FDQ0VTU19UT0tFTl9JTlZBTElEEGgSGwoXQ0hf", + "U0VSVkVSX05PVF9SRUFDSEFCTEUQaRIkCiBDSF9DVElEX1RSQURFUl9BQ0NP", + "VU5UX05PVF9GT1VORBBqEhoKFkNIX09BX0NMSUVOVF9OT1RfRk9VTkQQaxIe", + "ChpSRVFVRVNUX0ZSRVFVRU5DWV9FWENFRURFRBBsEh8KG1NFUlZFUl9JU19V", + "TkRFUl9NQUlOVEVOQU5DRRBtEhYKEkNIQU5ORUxfSVNfQkxPQ0tFRBBuEh4K", + "GkNPTk5FQ1RJT05TX0xJTUlUX0VYQ0VFREVEEEMSGQoVV09SU0VfR1NMX05P", + "VF9BTExPV0VEEEQSFgoSU1lNQk9MX0hBU19IT0xJREFZEEUSGwoXTk9UX1NV", + "QlNDUklCRURfVE9fU1BPVFMQcBIWChJBTFJFQURZX1NVQlNDUklCRUQQcRIU", + "ChBTWU1CT0xfTk9UX0ZPVU5EEHISEgoOVU5LTk9XTl9TWU1CT0wQcxIYChRJ", + "TkNPUlJFQ1RfQk9VTkRBUklFUxAjEg0KCU5PX1FVT1RFUxB1EhQKEE5PVF9F", + "Tk9VR0hfTU9ORVkQdhIYChRNQVhfRVhQT1NVUkVfUkVBQ0hFRBB3EhYKElBP", + "U0lUSU9OX05PVF9GT1VORBB4EhMKD09SREVSX05PVF9GT1VORBB5EhUKEVBP", + "U0lUSU9OX05PVF9PUEVOEHoSEwoPUE9TSVRJT05fTE9DS0VEEHsSFgoSVE9P", + "X01BTllfUE9TSVRJT05TEHwSFgoSVFJBRElOR19CQURfVk9MVU1FEH0SFQoR", + "VFJBRElOR19CQURfU1RPUFMQfhIWChJUUkFESU5HX0JBRF9QUklDRVMQfxIW", + "ChFUUkFESU5HX0JBRF9TVEFLRRCAARImCiFQUk9URUNUSU9OX0lTX1RPT19D", + "TE9TRV9UT19NQVJLRVQQgQESIAobVFJBRElOR19CQURfRVhQSVJBVElPTl9E", + "QVRFEIIBEhYKEVBFTkRJTkdfRVhFQ1VUSU9OEIMBEhUKEFRSQURJTkdfRElT", + "QUJMRUQQhAESGAoTVFJBRElOR19OT1RfQUxMT1dFRBCFARIbChZVTkFCTEVf", + "VE9fQ0FOQ0VMX09SREVSEIYBEhoKFVVOQUJMRV9UT19BTUVORF9PUkRFUhCH", + "ARIeChlTSE9SVF9TRUxMSU5HX05PVF9BTExPV0VEEIgBKoEBCitQcm90b09B", + "TGltaXRlZFJpc2tNYXJnaW5DYWxjdWxhdGlvblN0cmF0ZWd5EhkKFUFDQ09S", + "RElOR19UT19MRVZFUkFHRRAAEhQKEEFDQ09SRElOR19UT19HU0wQARIhCh1B", + "Q0NPUkRJTkdfVE9fR1NMX0FORF9MRVZFUkFHRRACKksKFlByb3RvT0FTdG9w", + "T3V0U3RyYXRlZ3kSGgoWTU9TVF9NQVJHSU5fVVNFRF9GSVJTVBAAEhUKEU1P", + "U1RfTE9TSU5HX0ZJUlNUEAFCVwolY29tLnh0cmFkZXIucHJvdG9jb2wub3Bl", + "bmFwaS52Mi5tb2RlbEIfQ29udGFpbmVyT3BlbkFwaVYyTW9kZWxNZXNzYWdl", + "c1ABWggvb3BlbmFwaaABAQ==")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { }, - new pbr::GeneratedClrTypeInfo(new[] {typeof(global::ProtoOAPayloadType), typeof(global::ProtoOADayOfWeek), typeof(global::ProtoOACommissionType), typeof(global::ProtoOASymbolDistanceType), typeof(global::ProtoOAMinCommissionType), typeof(global::ProtoOATradingMode), typeof(global::ProtoOASwapCalculationType), typeof(global::ProtoOAAccessRights), typeof(global::ProtoOATotalMarginCalculationType), typeof(global::ProtoOAAccountType), typeof(global::ProtoOAPositionStatus), typeof(global::ProtoOATradeSide), typeof(global::ProtoOAOrderType), typeof(global::ProtoOATimeInForce), typeof(global::ProtoOAOrderStatus), typeof(global::ProtoOAOrderTriggerMethod), typeof(global::ProtoOAExecutionType), typeof(global::ProtoOAChangeBonusType), typeof(global::ProtoOAChangeBalanceType), typeof(global::ProtoOADealStatus), typeof(global::ProtoOATrendbarPeriod), typeof(global::ProtoOAQuoteType), typeof(global::ProtoOAClientPermissionScope), typeof(global::ProtoOANotificationType), typeof(global::ProtoOAErrorCode), typeof(global::ProtoOALimitedRiskMarginCalculationStrategy), }, null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(new[] {typeof(global::ProtoOAPayloadType), typeof(global::ProtoOADayOfWeek), typeof(global::ProtoOACommissionType), typeof(global::ProtoOASymbolDistanceType), typeof(global::ProtoOAMinCommissionType), typeof(global::ProtoOATradingMode), typeof(global::ProtoOASwapCalculationType), typeof(global::ProtoOAAccessRights), typeof(global::ProtoOATotalMarginCalculationType), typeof(global::ProtoOAAccountType), typeof(global::ProtoOAPositionStatus), typeof(global::ProtoOATradeSide), typeof(global::ProtoOAOrderType), typeof(global::ProtoOATimeInForce), typeof(global::ProtoOAOrderStatus), typeof(global::ProtoOAOrderTriggerMethod), typeof(global::ProtoOAExecutionType), typeof(global::ProtoOAChangeBonusType), typeof(global::ProtoOAChangeBalanceType), typeof(global::ProtoOADealStatus), typeof(global::ProtoOATrendbarPeriod), typeof(global::ProtoOAQuoteType), typeof(global::ProtoOAClientPermissionScope), typeof(global::ProtoOANotificationType), typeof(global::ProtoOAErrorCode), typeof(global::ProtoOALimitedRiskMarginCalculationStrategy), typeof(global::ProtoOAStopOutStrategy), }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAAsset), global::ProtoOAAsset.Parser, new[]{ "AssetId", "Name", "DisplayName", "Digits" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOASymbol), global::ProtoOASymbol.Parser, new[]{ "SymbolId", "Digits", "PipPosition", "EnableShortSelling", "GuaranteedStopLoss", "SwapRollover3Days", "SwapLong", "SwapShort", "MaxVolume", "MinVolume", "StepVolume", "MaxExposure", "Schedule", "Commission", "CommissionType", "SlDistance", "TpDistance", "GslDistance", "GslCharge", "DistanceSetIn", "MinCommission", "MinCommissionType", "MinCommissionAsset", "RolloverCommission", "SkipRolloverDays", "ScheduleTimeZone", "TradingMode", "RolloverCommission3Days", "SwapCalculationType", "LotSize", "PreciseTradingCommissionRate", "PreciseMinCommission", "Holiday", "PnlConversionFeeRate", "LeverageId", "SwapPeriod", "SwapTime", "SkipSWAPPeriods", "ChargeSwapAtWeekends" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOALightSymbol), global::ProtoOALightSymbol.Parser, new[]{ "SymbolId", "SymbolName", "Enabled", "BaseAssetId", "QuoteAssetId", "SymbolCategoryId", "Description" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOASymbol), global::ProtoOASymbol.Parser, new[]{ "SymbolId", "Digits", "PipPosition", "EnableShortSelling", "GuaranteedStopLoss", "SwapRollover3Days", "SwapLong", "SwapShort", "MaxVolume", "MinVolume", "StepVolume", "MaxExposure", "Schedule", "Commission", "CommissionType", "SlDistance", "TpDistance", "GslDistance", "GslCharge", "DistanceSetIn", "MinCommission", "MinCommissionType", "MinCommissionAsset", "RolloverCommission", "SkipRolloverDays", "ScheduleTimeZone", "TradingMode", "RolloverCommission3Days", "SwapCalculationType", "LotSize", "PreciseTradingCommissionRate", "PreciseMinCommission", "Holiday", "PnlConversionFeeRate", "LeverageId", "SwapPeriod", "SwapTime", "SkipSWAPPeriods", "ChargeSwapAtWeekends", "MeasurementUnits" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOALightSymbol), global::ProtoOALightSymbol.Parser, new[]{ "SymbolId", "SymbolName", "Enabled", "BaseAssetId", "QuoteAssetId", "SymbolCategoryId", "Description", "SortingNumber" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAArchivedSymbol), global::ProtoOAArchivedSymbol.Parser, new[]{ "SymbolId", "Name", "UtcLastUpdateTimestamp", "Description" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOASymbolCategory), global::ProtoOASymbolCategory.Parser, new[]{ "Id", "AssetClassId", "Name" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOASymbolCategory), global::ProtoOASymbolCategory.Parser, new[]{ "Id", "AssetClassId", "Name", "SortingNumber" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAInterval), global::ProtoOAInterval.Parser, new[]{ "StartSecond", "EndSecond" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOATrader), global::ProtoOATrader.Parser, new[]{ "CtidTraderAccountId", "Balance", "BalanceVersion", "ManagerBonus", "IbBonus", "NonWithdrawableBonus", "AccessRights", "DepositAssetId", "SwapFree", "LeverageInCents", "TotalMarginCalculationType", "MaxLeverage", "FrenchRisk", "TraderLogin", "AccountType", "BrokerName", "RegistrationTimestamp", "IsLimitedRisk", "LimitedRiskMarginCalculationStrategy", "MoneyDigits" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOATrader), global::ProtoOATrader.Parser, new[]{ "CtidTraderAccountId", "Balance", "BalanceVersion", "ManagerBonus", "IbBonus", "NonWithdrawableBonus", "AccessRights", "DepositAssetId", "SwapFree", "LeverageInCents", "TotalMarginCalculationType", "MaxLeverage", "FrenchRisk", "TraderLogin", "AccountType", "BrokerName", "RegistrationTimestamp", "IsLimitedRisk", "LimitedRiskMarginCalculationStrategy", "MoneyDigits", "FairStopOut", "StopOutStrategy" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAPosition), global::ProtoOAPosition.Parser, new[]{ "PositionId", "TradeData", "PositionStatus", "Swap", "Price", "StopLoss", "TakeProfit", "UtcLastUpdateTimestamp", "Commission", "MarginRate", "MirroringCommission", "GuaranteedStopLoss", "UsedMargin", "StopLossTriggerMethod", "MoneyDigits", "TrailingStopLoss" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOATradeData), global::ProtoOATradeData.Parser, new[]{ "SymbolId", "Volume", "TradeSide", "OpenTimestamp", "Label", "GuaranteedStopLoss", "Comment" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOATradeData), global::ProtoOATradeData.Parser, new[]{ "SymbolId", "Volume", "TradeSide", "OpenTimestamp", "Label", "GuaranteedStopLoss", "Comment", "MeasurementUnits", "CloseTimestamp" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAOrder), global::ProtoOAOrder.Parser, new[]{ "OrderId", "TradeData", "OrderType", "OrderStatus", "ExpirationTimestamp", "ExecutionPrice", "ExecutedVolume", "UtcLastUpdateTimestamp", "BaseSlippagePrice", "SlippageInPoints", "ClosingOrder", "LimitPrice", "StopPrice", "StopLoss", "TakeProfit", "ClientOrderId", "TimeInForce", "PositionId", "RelativeStopLoss", "RelativeTakeProfit", "IsStopOut", "TrailingStopLoss", "StopTriggerMethod" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOABonusDepositWithdraw), global::ProtoOABonusDepositWithdraw.Parser, new[]{ "OperationType", "BonusHistoryId", "ManagerBonus", "ManagerDelta", "IbBonus", "IbDelta", "ChangeBonusTimestamp", "ExternalNote", "IntroducingBrokerId", "MoneyDigits" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOADepositWithdraw), global::ProtoOADepositWithdraw.Parser, new[]{ "OperationType", "BalanceHistoryId", "Balance", "Delta", "ChangeBalanceTimestamp", "ExternalNote", "BalanceVersion", "Equity", "MoneyDigits" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOADeal), global::ProtoOADeal.Parser, new[]{ "DealId", "OrderId", "PositionId", "Volume", "FilledVolume", "SymbolId", "CreateTimestamp", "ExecutionTimestamp", "UtcLastUpdateTimestamp", "ExecutionPrice", "TradeSide", "DealStatus", "MarginRate", "Commission", "BaseToUsdConversionRate", "ClosePositionDetail", "MoneyDigits" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOADealOffset), global::ProtoOADealOffset.Parser, new[]{ "DealId", "Volume", "ExecutionTimestamp", "ExecutionPrice" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAClosePositionDetail), global::ProtoOAClosePositionDetail.Parser, new[]{ "EntryPrice", "GrossProfit", "Swap", "Commission", "Balance", "QuoteToDepositConversionRate", "ClosedVolume", "BalanceVersion", "MoneyDigits", "PnlConversionFee" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOATrendbar), global::ProtoOATrendbar.Parser, new[]{ "Volume", "Period", "Low", "DeltaOpen", "DeltaClose", "DeltaHigh", "UtcTimestampInMinutes" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAExpectedMargin), global::ProtoOAExpectedMargin.Parser, new[]{ "Volume", "BuyMargin", "SellMargin" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOATickData), global::ProtoOATickData.Parser, new[]{ "Timestamp", "Tick" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOACtidProfile), global::ProtoOACtidProfile.Parser, new[]{ "UserId" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOACtidTraderAccount), global::ProtoOACtidTraderAccount.Parser, new[]{ "CtidTraderAccountId", "IsLive", "TraderLogin", "LastClosingDealTimestamp", "LastBalanceUpdateTimestamp" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAAssetClass), global::ProtoOAAssetClass.Parser, new[]{ "Id", "Name" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOACtidTraderAccount), global::ProtoOACtidTraderAccount.Parser, new[]{ "CtidTraderAccountId", "IsLive", "TraderLogin", "LastClosingDealTimestamp", "LastBalanceUpdateTimestamp", "BrokerTitleShort" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAAssetClass), global::ProtoOAAssetClass.Parser, new[]{ "Id", "Name", "SortingNumber" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOADepthQuote), global::ProtoOADepthQuote.Parser, new[]{ "Id", "Size", "Bid", "Ask" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAMarginCall), global::ProtoOAMarginCall.Parser, new[]{ "MarginCallType", "MarginLevelThreshold", "UtcLastUpdateTimestamp" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAHoliday), global::ProtoOAHoliday.Parser, new[]{ "HolidayId", "Name", "Description", "ScheduleTimeZone", "HolidayDate", "IsRecurring", "StartSecond", "EndSecond" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOADynamicLeverage), global::ProtoOADynamicLeverage.Parser, new[]{ "LeverageId", "Tiers" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOADynamicLeverageTier), global::ProtoOADynamicLeverageTier.Parser, new[]{ "Volume", "Leverage" }, null, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOADynamicLeverageTier), global::ProtoOADynamicLeverageTier.Parser, new[]{ "Volume", "Leverage" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ProtoOAPositionUnrealizedPnL), global::ProtoOAPositionUnrealizedPnL.Parser, new[]{ "PositionId", "GrossUnrealizedPnL", "NetUnrealizedPnL" }, null, null, null, null) })); } #endregion @@ -449,6 +472,14 @@ public enum ProtoOAPayloadType { [pbr::OriginalName("PROTO_OA_GET_DYNAMIC_LEVERAGE_RES")] ProtoOaGetDynamicLeverageRes = 2178, [pbr::OriginalName("PROTO_OA_DEAL_LIST_BY_POSITION_ID_REQ")] ProtoOaDealListByPositionIdReq = 2179, [pbr::OriginalName("PROTO_OA_DEAL_LIST_BY_POSITION_ID_RES")] ProtoOaDealListByPositionIdRes = 2180, + [pbr::OriginalName("PROTO_OA_ORDER_DETAILS_REQ")] ProtoOaOrderDetailsReq = 2181, + [pbr::OriginalName("PROTO_OA_ORDER_DETAILS_RES")] ProtoOaOrderDetailsRes = 2182, + [pbr::OriginalName("PROTO_OA_ORDER_LIST_BY_POSITION_ID_REQ")] ProtoOaOrderListByPositionIdReq = 2183, + [pbr::OriginalName("PROTO_OA_ORDER_LIST_BY_POSITION_ID_RES")] ProtoOaOrderListByPositionIdRes = 2184, + [pbr::OriginalName("PROTO_OA_DEAL_OFFSET_LIST_REQ")] ProtoOaDealOffsetListReq = 2185, + [pbr::OriginalName("PROTO_OA_DEAL_OFFSET_LIST_RES")] ProtoOaDealOffsetListRes = 2186, + [pbr::OriginalName("PROTO_OA_GET_POSITION_UNREALIZED_PNL_REQ")] ProtoOaGetPositionUnrealizedPnlReq = 2187, + [pbr::OriginalName("PROTO_OA_GET_POSITION_UNREALIZED_PNL_RES")] ProtoOaGetPositionUnrealizedPnlRes = 2188, } public enum ProtoOADayOfWeek { @@ -522,6 +553,10 @@ public enum ProtoOASwapCalculationType { ///Specifies type of SWAP computation as PERCENTAGE (1, annual, in percent) /// [pbr::OriginalName("PERCENTAGE")] Percentage = 1, + /// + /// Specifies type of SWAP computation as POINTS (2) + /// + [pbr::OriginalName("POINTS")] Points = 2, } /// @@ -964,7 +999,7 @@ public enum ProtoOANotificationType { /// public enum ProtoOAErrorCode { /// - ///Authorization + /// Authorization /// [pbr::OriginalName("OA_AUTH_TOKEN_EXPIRED")] OaAuthTokenExpired = 1, /// @@ -972,10 +1007,18 @@ public enum ProtoOAErrorCode { /// [pbr::OriginalName("ACCOUNT_NOT_AUTHORIZED")] AccountNotAuthorized = 2, /// - /// When client tries to authorize after it was already authorized + /// When such account no longer exists. + /// + [pbr::OriginalName("RET_NO_SUCH_LOGIN")] RetNoSuchLogin = 12, + /// + /// When client tries to authorize after it was already authorized. /// [pbr::OriginalName("ALREADY_LOGGED_IN")] AlreadyLoggedIn = 14, /// + /// When account is disabled. + /// + [pbr::OriginalName("RET_ACCOUNT_DISABLED")] RetAccountDisabled = 64, + /// /// Open API client is not activated or wrong client credentials. /// [pbr::OriginalName("CH_CLIENT_AUTH_FAILURE")] ChClientAuthFailure = 101, @@ -1004,7 +1047,7 @@ public enum ProtoOAErrorCode { /// [pbr::OriginalName("CH_OA_CLIENT_NOT_FOUND")] ChOaClientNotFound = 107, /// - ///General + /// General /// [pbr::OriginalName("REQUEST_FREQUENCY_EXCEEDED")] RequestFrequencyExceeded = 108, /// @@ -1028,7 +1071,7 @@ public enum ProtoOAErrorCode { /// [pbr::OriginalName("SYMBOL_HAS_HOLIDAY")] SymbolHasHoliday = 69, /// - ///Pricing + /// Pricing /// [pbr::OriginalName("NOT_SUBSCRIBED_TO_SPOTS")] NotSubscribedToSpots = 112, /// @@ -1048,7 +1091,7 @@ public enum ProtoOAErrorCode { /// [pbr::OriginalName("INCORRECT_BOUNDARIES")] IncorrectBoundaries = 35, /// - ///Trading + /// Trading /// [pbr::OriginalName("NO_QUOTES")] NoQuotes = 117, /// @@ -1135,12 +1178,27 @@ public enum ProtoOALimitedRiskMarginCalculationStrategy { [pbr::OriginalName("ACCORDING_TO_GSL_AND_LEVERAGE")] AccordingToGslAndLeverage = 2, } +/// +///The strategy for choosing which Position to close during a Stop Out +/// +public enum ProtoOAStopOutStrategy { + /// + ///A Stop Out strategy that closes a Position with the largest Used Margin + /// + [pbr::OriginalName("MOST_MARGIN_USED_FIRST")] MostMarginUsedFirst = 0, + /// + ///A Stop Out strategy that closes a Position with the least PnL + /// + [pbr::OriginalName("MOST_LOSING_FIRST")] MostLosingFirst = 1, +} + #endregion #region Messages /// ///* Asset entity. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAAsset : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1455,7 +1513,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1486,7 +1548,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1516,6 +1582,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Trading symbol entity. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOASymbol : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1593,6 +1660,7 @@ public ProtoOASymbol(ProtoOASymbol other) : this() { swapTime_ = other.swapTime_; skipSWAPPeriods_ = other.skipSWAPPeriods_; chargeSwapAtWeekends_ = other.chargeSwapAtWeekends_; + measurementUnits_ = other.measurementUnits_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -2287,7 +2355,7 @@ public void ClearMinCommissionAsset() { private long rolloverCommission_; /// - /// Amount of commission per trade for Shariah Compliant accounts in deposit currency (swapFree = TRUE). + /// Administrative Fee, charged instead of Swaps if the Account is marked as a "Shariah Compliant (Swap Free)". The Administrative Fee is charged daily as USD per current open volume of Position in lots. The Account charged in the Deposit currency. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -2406,7 +2474,7 @@ public void ClearTradingMode() { private global::ProtoOADayOfWeek rolloverCommission3Days_; /// - /// Day of the week (in UTC) when Administrative Fee charge amount will be tripled. Applied only if RolloverChargePeriod = 0 or 1 + /// Day of the week (in UTC) when Administrative Fee charge amount will be tripled. Applied only if RolloverChargePeriod = 0 or 1. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -2436,7 +2504,7 @@ public void ClearRolloverCommission3Days() { private global::ProtoOASwapCalculationType swapCalculationType_; /// - /// Specifies type of SWAP computation as PIPS (0) or PERCENTAGE (1, annual, in percent) + /// Specifies type of SWAP computation as PIPS (0) or PERCENTAGE (1, annual, in percent). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -2496,7 +2564,7 @@ public void ClearLotSize() { private long preciseTradingCommissionRate_; /// - /// Commission base amount. Total commission depends on commissionType: for non-percentage types it is multiplied by 10^8, for percentage of value commission type it is multiplied by 10^5 + /// Commission base amount. Total commission depends on commissionType: for non-percentage types it is multiplied by 10^8, for percentage of value commission type it is multiplied by 10^5. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -2690,7 +2758,7 @@ public void ClearSwapTime() { private int skipSWAPPeriods_; /// - /// Count of swapPeriods before first SWAP charge. + /// Count of swapPeriods before the first SWAP charge. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -2720,7 +2788,7 @@ public void ClearSkipSWAPPeriods() { private bool chargeSwapAtWeekends_; /// - /// If enabled SWAP will be charged for all days of week, including Saturday and Sunday. + /// If enabled, SWAP will be charged for all days of the week, including Saturday and Sunday. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -2744,6 +2812,35 @@ public void ClearChargeSwapAtWeekends() { _hasBits1 &= ~4; } + /// Field number for the "measurementUnits" field. + public const int MeasurementUnitsFieldNumber = 40; + private readonly static string MeasurementUnitsDefaultValue = ""; + + private string measurementUnits_; + /// + /// Specifies the units in which the base Asset of the Symbol is denominated. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string MeasurementUnits { + get { return measurementUnits_ ?? MeasurementUnitsDefaultValue; } + set { + measurementUnits_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "measurementUnits" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMeasurementUnits { + get { return measurementUnits_ != null; } + } + /// Clears the value of the "measurementUnits" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMeasurementUnits() { + measurementUnits_ = null; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -2798,6 +2895,7 @@ public bool Equals(ProtoOASymbol other) { if (SwapTime != other.SwapTime) return false; if (SkipSWAPPeriods != other.SkipSWAPPeriods) return false; if (ChargeSwapAtWeekends != other.ChargeSwapAtWeekends) return false; + if (MeasurementUnits != other.MeasurementUnits) return false; return Equals(_unknownFields, other._unknownFields); } @@ -2844,6 +2942,7 @@ public override int GetHashCode() { if (HasSwapTime) hash ^= SwapTime.GetHashCode(); if (HasSkipSWAPPeriods) hash ^= SkipSWAPPeriods.GetHashCode(); if (HasChargeSwapAtWeekends) hash ^= ChargeSwapAtWeekends.GetHashCode(); + if (HasMeasurementUnits) hash ^= MeasurementUnits.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -3012,6 +3111,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(184, 2); output.WriteBool(ChargeSwapAtWeekends); } + if (HasMeasurementUnits) { + output.WriteRawTag(194, 2); + output.WriteString(MeasurementUnits); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -3172,6 +3275,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(184, 2); output.WriteBool(ChargeSwapAtWeekends); } + if (HasMeasurementUnits) { + output.WriteRawTag(194, 2); + output.WriteString(MeasurementUnits); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -3295,6 +3402,9 @@ public int CalculateSize() { if (HasChargeSwapAtWeekends) { size += 2 + 1; } + if (HasMeasurementUnits) { + size += 2 + pb::CodedOutputStream.ComputeStringSize(MeasurementUnits); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -3420,6 +3530,9 @@ public void MergeFrom(ProtoOASymbol other) { if (other.HasChargeSwapAtWeekends) { ChargeSwapAtWeekends = other.ChargeSwapAtWeekends; } + if (other.HasMeasurementUnits) { + MeasurementUnits = other.MeasurementUnits; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -3431,7 +3544,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3591,6 +3708,10 @@ public void MergeFrom(pb::CodedInputStream input) { ChargeSwapAtWeekends = input.ReadBool(); break; } + case 322: { + MeasurementUnits = input.ReadString(); + break; + } } } #endif @@ -3602,7 +3723,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3762,6 +3887,10 @@ public void MergeFrom(pb::CodedInputStream input) { ChargeSwapAtWeekends = input.ReadBool(); break; } + case 322: { + MeasurementUnits = input.ReadString(); + break; + } } } } @@ -3772,6 +3901,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Lightweight symbol entity. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOALightSymbol : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3815,6 +3945,7 @@ public ProtoOALightSymbol(ProtoOALightSymbol other) : this() { quoteAssetId_ = other.quoteAssetId_; symbolCategoryId_ = other.symbolCategoryId_; description_ = other.description_; + sortingNumber_ = other.sortingNumber_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -4029,6 +4160,36 @@ public void ClearDescription() { description_ = null; } + /// Field number for the "sortingNumber" field. + public const int SortingNumberFieldNumber = 8; + private readonly static double SortingNumberDefaultValue = 0D; + + private double sortingNumber_; + /// + /// The number used for sorting Symbols in the UI (lowest number should appear at the top). + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double SortingNumber { + get { if ((_hasBits0 & 32) != 0) { return sortingNumber_; } else { return SortingNumberDefaultValue; } } + set { + _hasBits0 |= 32; + sortingNumber_ = value; + } + } + /// Gets whether the "sortingNumber" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSortingNumber { + get { return (_hasBits0 & 32) != 0; } + } + /// Clears the value of the "sortingNumber" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSortingNumber() { + _hasBits0 &= ~32; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -4051,6 +4212,7 @@ public bool Equals(ProtoOALightSymbol other) { if (QuoteAssetId != other.QuoteAssetId) return false; if (SymbolCategoryId != other.SymbolCategoryId) return false; if (Description != other.Description) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(SortingNumber, other.SortingNumber)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -4065,6 +4227,7 @@ public override int GetHashCode() { if (HasQuoteAssetId) hash ^= QuoteAssetId.GetHashCode(); if (HasSymbolCategoryId) hash ^= SymbolCategoryId.GetHashCode(); if (HasDescription) hash ^= Description.GetHashCode(); + if (HasSortingNumber) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(SortingNumber); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -4111,6 +4274,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(58); output.WriteString(Description); } + if (HasSortingNumber) { + output.WriteRawTag(65); + output.WriteDouble(SortingNumber); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -4149,6 +4316,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(58); output.WriteString(Description); } + if (HasSortingNumber) { + output.WriteRawTag(65); + output.WriteDouble(SortingNumber); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -4180,6 +4351,9 @@ public int CalculateSize() { if (HasDescription) { size += 1 + pb::CodedOutputStream.ComputeStringSize(Description); } + if (HasSortingNumber) { + size += 1 + 8; + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -4213,6 +4387,9 @@ public void MergeFrom(ProtoOALightSymbol other) { if (other.HasDescription) { Description = other.Description; } + if (other.HasSortingNumber) { + SortingNumber = other.SortingNumber; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -4224,7 +4401,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4256,6 +4437,10 @@ public void MergeFrom(pb::CodedInputStream input) { Description = input.ReadString(); break; } + case 65: { + SortingNumber = input.ReadDouble(); + break; + } } } #endif @@ -4267,7 +4452,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4299,6 +4488,10 @@ public void MergeFrom(pb::CodedInputStream input) { Description = input.ReadString(); break; } + case 65: { + SortingNumber = input.ReadDouble(); + break; + } } } } @@ -4306,6 +4499,7 @@ public void MergeFrom(pb::CodedInputStream input) { } +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAArchivedSymbol : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4360,6 +4554,9 @@ public ProtoOAArchivedSymbol Clone() { private readonly static long SymbolIdDefaultValue = 0L; private long symbolId_; + /// + /// The unique identifier of the symbol in specific server environment within cTrader platform. Different brokers might have different IDs. + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public long SymbolId { @@ -4387,6 +4584,9 @@ public void ClearSymbolId() { private readonly static string NameDefaultValue = ""; private string name_; + /// + /// Name of the symbol (e.g. EUR/USD). + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public string Name { @@ -4413,6 +4613,9 @@ public void ClearName() { private readonly static long UtcLastUpdateTimestampDefaultValue = 0L; private long utcLastUpdateTimestamp_; + /// + /// The Unix time in milliseconds of the last update of the symbol. + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public long UtcLastUpdateTimestamp { @@ -4440,6 +4643,9 @@ public void ClearUtcLastUpdateTimestamp() { private readonly static string DescriptionDefaultValue = ""; private string description_; + /// + /// Description of the symbol. + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public string Description { @@ -4608,7 +4814,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4639,7 +4849,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4669,6 +4883,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Symbol category entity. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOASymbolCategory : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4708,6 +4923,7 @@ public ProtoOASymbolCategory(ProtoOASymbolCategory other) : this() { id_ = other.id_; assetClassId_ = other.assetClassId_; name_ = other.name_; + sortingNumber_ = other.sortingNumber_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -4806,6 +5022,36 @@ public void ClearName() { name_ = null; } + /// Field number for the "sortingNumber" field. + public const int SortingNumberFieldNumber = 4; + private readonly static double SortingNumberDefaultValue = 0D; + + private double sortingNumber_; + /// + /// The number used for sorting Symbol Categories in the UI (lowest number should appear at the top). + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double SortingNumber { + get { if ((_hasBits0 & 4) != 0) { return sortingNumber_; } else { return SortingNumberDefaultValue; } } + set { + _hasBits0 |= 4; + sortingNumber_ = value; + } + } + /// Gets whether the "sortingNumber" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSortingNumber { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "sortingNumber" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSortingNumber() { + _hasBits0 &= ~4; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -4824,6 +5070,7 @@ public bool Equals(ProtoOASymbolCategory other) { if (Id != other.Id) return false; if (AssetClassId != other.AssetClassId) return false; if (Name != other.Name) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(SortingNumber, other.SortingNumber)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -4834,6 +5081,7 @@ public override int GetHashCode() { if (HasId) hash ^= Id.GetHashCode(); if (HasAssetClassId) hash ^= AssetClassId.GetHashCode(); if (HasName) hash ^= Name.GetHashCode(); + if (HasSortingNumber) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(SortingNumber); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -4864,6 +5112,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(26); output.WriteString(Name); } + if (HasSortingNumber) { + output.WriteRawTag(33); + output.WriteDouble(SortingNumber); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -4886,6 +5138,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(26); output.WriteString(Name); } + if (HasSortingNumber) { + output.WriteRawTag(33); + output.WriteDouble(SortingNumber); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -4905,6 +5161,9 @@ public int CalculateSize() { if (HasName) { size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); } + if (HasSortingNumber) { + size += 1 + 8; + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -4926,6 +5185,9 @@ public void MergeFrom(ProtoOASymbolCategory other) { if (other.HasName) { Name = other.Name; } + if (other.HasSortingNumber) { + SortingNumber = other.SortingNumber; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -4937,7 +5199,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4953,6 +5219,10 @@ public void MergeFrom(pb::CodedInputStream input) { Name = input.ReadString(); break; } + case 33: { + SortingNumber = input.ReadDouble(); + break; + } } } #endif @@ -4964,7 +5234,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4980,6 +5254,10 @@ public void MergeFrom(pb::CodedInputStream input) { Name = input.ReadString(); break; } + case 33: { + SortingNumber = input.ReadDouble(); + break; + } } } } @@ -4990,6 +5268,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Symbol trading session entity. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAInterval : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5212,7 +5491,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5235,7 +5518,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5257,6 +5544,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Trading account entity. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOATrader : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5313,6 +5601,8 @@ public ProtoOATrader(ProtoOATrader other) : this() { isLimitedRisk_ = other.isLimitedRisk_; limitedRiskMarginCalculationStrategy_ = other.limitedRiskMarginCalculationStrategy_; moneyDigits_ = other.moneyDigits_; + fairStopOut_ = other.fairStopOut_; + stopOutStrategy_ = other.stopOutStrategy_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -5810,7 +6100,7 @@ public void ClearBrokerName() { private long registrationTimestamp_; /// - /// Unix timestamp of the account registration. Should be used as minimal date in historical data requests. + /// The Unix timestamp in milliseconds of the account registration. Should be used as minimal date in historical data requests. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -5840,7 +6130,7 @@ public void ClearRegistrationTimestamp() { private bool isLimitedRisk_; /// - /// If TRUE then account is compliant to use specific margin calculation strategy. + /// If TRUE then account is compliant to use specific margin calculation strategy. Such accounts are require to have guaranteed stop loss on all positions. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -5924,6 +6214,66 @@ public void ClearMoneyDigits() { _hasBits0 &= ~262144; } + /// Field number for the "fairStopOut" field. + public const int FairStopOutFieldNumber = 21; + private readonly static bool FairStopOutDefaultValue = false; + + private bool fairStopOut_; + /// + /// If TRUE - Position is fully closed on Stop Out, if FALSE - smart (partial closing) Stop Out is applied, if unspecified - Stop Out format is determined by Broker. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool FairStopOut { + get { if ((_hasBits0 & 524288) != 0) { return fairStopOut_; } else { return FairStopOutDefaultValue; } } + set { + _hasBits0 |= 524288; + fairStopOut_ = value; + } + } + /// Gets whether the "fairStopOut" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFairStopOut { + get { return (_hasBits0 & 524288) != 0; } + } + /// Clears the value of the "fairStopOut" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFairStopOut() { + _hasBits0 &= ~524288; + } + + /// Field number for the "stopOutStrategy" field. + public const int StopOutStrategyFieldNumber = 22; + private readonly static global::ProtoOAStopOutStrategy StopOutStrategyDefaultValue = global::ProtoOAStopOutStrategy.MostMarginUsedFirst; + + private global::ProtoOAStopOutStrategy stopOutStrategy_; + /// + ///The Stop Out strategy that is used for this Trader. The Trader can change the value in the cTrader UI if this option is not disabled by the Broker + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ProtoOAStopOutStrategy StopOutStrategy { + get { if ((_hasBits0 & 1048576) != 0) { return stopOutStrategy_; } else { return StopOutStrategyDefaultValue; } } + set { + _hasBits0 |= 1048576; + stopOutStrategy_ = value; + } + } + /// Gets whether the "stopOutStrategy" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasStopOutStrategy { + get { return (_hasBits0 & 1048576) != 0; } + } + /// Clears the value of the "stopOutStrategy" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearStopOutStrategy() { + _hasBits0 &= ~1048576; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -5959,6 +6309,8 @@ public bool Equals(ProtoOATrader other) { if (IsLimitedRisk != other.IsLimitedRisk) return false; if (LimitedRiskMarginCalculationStrategy != other.LimitedRiskMarginCalculationStrategy) return false; if (MoneyDigits != other.MoneyDigits) return false; + if (FairStopOut != other.FairStopOut) return false; + if (StopOutStrategy != other.StopOutStrategy) return false; return Equals(_unknownFields, other._unknownFields); } @@ -5986,6 +6338,8 @@ public override int GetHashCode() { if (HasIsLimitedRisk) hash ^= IsLimitedRisk.GetHashCode(); if (HasLimitedRiskMarginCalculationStrategy) hash ^= LimitedRiskMarginCalculationStrategy.GetHashCode(); if (HasMoneyDigits) hash ^= MoneyDigits.GetHashCode(); + if (HasFairStopOut) hash ^= FairStopOut.GetHashCode(); + if (HasStopOutStrategy) hash ^= StopOutStrategy.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -6084,6 +6438,14 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(160, 1); output.WriteUInt32(MoneyDigits); } + if (HasFairStopOut) { + output.WriteRawTag(168, 1); + output.WriteBool(FairStopOut); + } + if (HasStopOutStrategy) { + output.WriteRawTag(176, 1); + output.WriteEnum((int) StopOutStrategy); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -6174,6 +6536,14 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(160, 1); output.WriteUInt32(MoneyDigits); } + if (HasFairStopOut) { + output.WriteRawTag(168, 1); + output.WriteBool(FairStopOut); + } + if (HasStopOutStrategy) { + output.WriteRawTag(176, 1); + output.WriteEnum((int) StopOutStrategy); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -6244,6 +6614,12 @@ public int CalculateSize() { if (HasMoneyDigits) { size += 2 + pb::CodedOutputStream.ComputeUInt32Size(MoneyDigits); } + if (HasFairStopOut) { + size += 2 + 1; + } + if (HasStopOutStrategy) { + size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) StopOutStrategy); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -6316,6 +6692,12 @@ public void MergeFrom(ProtoOATrader other) { if (other.HasMoneyDigits) { MoneyDigits = other.MoneyDigits; } + if (other.HasFairStopOut) { + FairStopOut = other.FairStopOut; + } + if (other.HasStopOutStrategy) { + StopOutStrategy = other.StopOutStrategy; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -6327,7 +6709,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -6411,6 +6797,14 @@ public void MergeFrom(pb::CodedInputStream input) { MoneyDigits = input.ReadUInt32(); break; } + case 168: { + FairStopOut = input.ReadBool(); + break; + } + case 176: { + StopOutStrategy = (global::ProtoOAStopOutStrategy) input.ReadEnum(); + break; + } } } #endif @@ -6422,7 +6816,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -6506,6 +6904,14 @@ public void MergeFrom(pb::CodedInputStream input) { MoneyDigits = input.ReadUInt32(); break; } + case 168: { + FairStopOut = input.ReadBool(); + break; + } + case 176: { + StopOutStrategy = (global::ProtoOAStopOutStrategy) input.ReadEnum(); + break; + } } } } @@ -6516,6 +6922,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Trade position entity. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAPosition : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -6778,7 +7185,7 @@ public void ClearTakeProfit() { private long utcLastUpdateTimestamp_; /// - /// Time of the last change of the position, including amend SL/TP of the position, execution of related order, cancel or related order, etc. + /// The Unix time in milliseconds of the last change of the position, including amend SL/TP of the position, execution of related order, cancel or related order, etc. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -7384,7 +7791,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -7466,7 +7877,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -7547,6 +7962,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Position/order trading details entity. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOATradeData : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -7590,6 +8006,8 @@ public ProtoOATradeData(ProtoOATradeData other) : this() { label_ = other.label_; guaranteedStopLoss_ = other.guaranteedStopLoss_; comment_ = other.comment_; + measurementUnits_ = other.measurementUnits_; + closeTimestamp_ = other.closeTimestamp_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -7695,7 +8113,7 @@ public void ClearTradeSide() { private long openTimestamp_; /// - /// Time when position was opened or order was created. + /// The Unix time in milliseconds when position was opened or order was created. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -7807,6 +8225,65 @@ public void ClearComment() { comment_ = null; } + /// Field number for the "measurementUnits" field. + public const int MeasurementUnitsFieldNumber = 8; + private readonly static string MeasurementUnitsDefaultValue = ""; + + private string measurementUnits_; + /// + /// Specifies the units in which the Symbol is denominated. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string MeasurementUnits { + get { return measurementUnits_ ?? MeasurementUnitsDefaultValue; } + set { + measurementUnits_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "measurementUnits" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMeasurementUnits { + get { return measurementUnits_ != null; } + } + /// Clears the value of the "measurementUnits" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMeasurementUnits() { + measurementUnits_ = null; + } + + /// Field number for the "closeTimestamp" field. + public const int CloseTimestampFieldNumber = 9; + private readonly static ulong CloseTimestampDefaultValue = 0UL; + + private ulong closeTimestamp_; + /// + /// The Unix time in milliseconds when a Position was closed + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong CloseTimestamp { + get { if ((_hasBits0 & 32) != 0) { return closeTimestamp_; } else { return CloseTimestampDefaultValue; } } + set { + _hasBits0 |= 32; + closeTimestamp_ = value; + } + } + /// Gets whether the "closeTimestamp" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasCloseTimestamp { + get { return (_hasBits0 & 32) != 0; } + } + /// Clears the value of the "closeTimestamp" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearCloseTimestamp() { + _hasBits0 &= ~32; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -7829,6 +8306,8 @@ public bool Equals(ProtoOATradeData other) { if (Label != other.Label) return false; if (GuaranteedStopLoss != other.GuaranteedStopLoss) return false; if (Comment != other.Comment) return false; + if (MeasurementUnits != other.MeasurementUnits) return false; + if (CloseTimestamp != other.CloseTimestamp) return false; return Equals(_unknownFields, other._unknownFields); } @@ -7843,6 +8322,8 @@ public override int GetHashCode() { if (HasLabel) hash ^= Label.GetHashCode(); if (HasGuaranteedStopLoss) hash ^= GuaranteedStopLoss.GetHashCode(); if (HasComment) hash ^= Comment.GetHashCode(); + if (HasMeasurementUnits) hash ^= MeasurementUnits.GetHashCode(); + if (HasCloseTimestamp) hash ^= CloseTimestamp.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -7889,6 +8370,14 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(58); output.WriteString(Comment); } + if (HasMeasurementUnits) { + output.WriteRawTag(66); + output.WriteString(MeasurementUnits); + } + if (HasCloseTimestamp) { + output.WriteRawTag(72); + output.WriteUInt64(CloseTimestamp); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -7927,6 +8416,14 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(58); output.WriteString(Comment); } + if (HasMeasurementUnits) { + output.WriteRawTag(66); + output.WriteString(MeasurementUnits); + } + if (HasCloseTimestamp) { + output.WriteRawTag(72); + output.WriteUInt64(CloseTimestamp); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -7958,6 +8455,12 @@ public int CalculateSize() { if (HasComment) { size += 1 + pb::CodedOutputStream.ComputeStringSize(Comment); } + if (HasMeasurementUnits) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(MeasurementUnits); + } + if (HasCloseTimestamp) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CloseTimestamp); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -7991,6 +8494,12 @@ public void MergeFrom(ProtoOATradeData other) { if (other.HasComment) { Comment = other.Comment; } + if (other.HasMeasurementUnits) { + MeasurementUnits = other.MeasurementUnits; + } + if (other.HasCloseTimestamp) { + CloseTimestamp = other.CloseTimestamp; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -8002,7 +8511,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -8034,6 +8547,14 @@ public void MergeFrom(pb::CodedInputStream input) { Comment = input.ReadString(); break; } + case 66: { + MeasurementUnits = input.ReadString(); + break; + } + case 72: { + CloseTimestamp = input.ReadUInt64(); + break; + } } } #endif @@ -8045,7 +8566,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -8077,9 +8602,17 @@ public void MergeFrom(pb::CodedInputStream input) { Comment = input.ReadString(); break; } - } - } - } + case 66: { + MeasurementUnits = input.ReadString(); + break; + } + case 72: { + CloseTimestamp = input.ReadUInt64(); + break; + } + } + } + } #endif } @@ -8087,6 +8620,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Trade order entity. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAOrder : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -8266,7 +8800,7 @@ public void ClearOrderStatus() { private long expirationTimestamp_; /// - /// If the order has time in force GTD then expiration is specified. + /// The Unix time in milliseconds of expiration if the order has time in force GTD. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -8356,7 +8890,7 @@ public void ClearExecutedVolume() { private long utcLastUpdateTimestamp_; /// - /// Timestamp of the last update of the order. + /// The Unix time in milliseconds of the last update of the order. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -9283,7 +9817,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -9393,7 +9931,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -9502,6 +10044,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Bonus deposit/withdrawal entity. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOABonusDepositWithdraw : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -9743,7 +10286,7 @@ public void ClearIbDelta() { private long changeBonusTimestamp_; /// - /// Time when the bonus operation was executed. + /// The Unix time in milliseconds when the bonus operation was executed. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -10099,7 +10642,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -10154,7 +10701,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -10208,6 +10759,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Account deposit/withdrawal operation entity. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOADepositWithdraw : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -10388,7 +10940,7 @@ public void ClearDelta() { private long changeBalanceTimestamp_; /// - /// Time when deposit/withdrawal operation was executed. + /// The Unix time in milliseconds when deposit/withdrawal operation was executed. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -10758,7 +11310,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -10809,7 +11365,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -10859,6 +11419,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Execution entity. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOADeal : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -11107,7 +11668,7 @@ public void ClearSymbolId() { private long createTimestamp_; /// - /// Time when the deal was sent for execution. + /// The Unix time in milliseconds when the deal was sent for execution. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -11137,7 +11698,7 @@ public void ClearCreateTimestamp() { private long executionTimestamp_; /// - /// Time when the deal was executed. + /// The Unix time in milliseconds when the deal was executed. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -11167,7 +11728,7 @@ public void ClearExecutionTimestamp() { private long utcLastUpdateTimestamp_; /// - /// Timestamp when the deal was created, executed or rejected. + /// The Unix time in milliseconds when the deal was created, executed or rejected. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -11774,7 +12335,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -11860,7 +12425,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -11943,19 +12512,20 @@ public void MergeFrom(pb::CodedInputStream input) { } /// -///* Trading details for closing deal. +///* Deal details for ProtoOADealOffsetListReq. /// -public sealed partial class ProtoOAClosePositionDetail : pb::IMessage +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] +public sealed partial class ProtoOADealOffset : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoOAClosePositionDetail()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoOADealOffset()); private pb::UnknownFieldSet _unknownFields; private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -11971,7 +12541,7 @@ public sealed partial class ProtoOAClosePositionDetail : pb::IMessageField number for the "entryPrice" field. - public const int EntryPriceFieldNumber = 1; - private readonly static double EntryPriceDefaultValue = 0D; + /// Field number for the "dealId" field. + public const int DealIdFieldNumber = 1; + private readonly static long DealIdDefaultValue = 0L; - private double entryPrice_; + private long dealId_; /// - /// Position price at the moment of filling the closing order. + /// The unique ID of the execution Deal. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public double EntryPrice { - get { if ((_hasBits0 & 1) != 0) { return entryPrice_; } else { return EntryPriceDefaultValue; } } + public long DealId { + get { if ((_hasBits0 & 1) != 0) { return dealId_; } else { return DealIdDefaultValue; } } set { _hasBits0 |= 1; - entryPrice_ = value; + dealId_ = value; } } - /// Gets whether the "entryPrice" field is set + /// Gets whether the "dealId" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool HasEntryPrice { + public bool HasDealId { get { return (_hasBits0 & 1) != 0; } } - /// Clears the value of the "entryPrice" field + /// Clears the value of the "dealId" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearEntryPrice() { + public void ClearDealId() { _hasBits0 &= ~1; } - /// Field number for the "grossProfit" field. - public const int GrossProfitFieldNumber = 2; - private readonly static long GrossProfitDefaultValue = 0L; + /// Field number for the "volume" field. + public const int VolumeFieldNumber = 2; + private readonly static long VolumeDefaultValue = 0L; - private long grossProfit_; + private long volume_; /// - /// Amount of realized gross profit after closing deal execution. + /// Matched volume, in cents. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long GrossProfit { - get { if ((_hasBits0 & 2) != 0) { return grossProfit_; } else { return GrossProfitDefaultValue; } } + public long Volume { + get { if ((_hasBits0 & 2) != 0) { return volume_; } else { return VolumeDefaultValue; } } set { _hasBits0 |= 2; - grossProfit_ = value; + volume_ = value; } } - /// Gets whether the "grossProfit" field is set + /// Gets whether the "volume" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool HasGrossProfit { + public bool HasVolume { get { return (_hasBits0 & 2) != 0; } } - /// Clears the value of the "grossProfit" field + /// Clears the value of the "volume" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearGrossProfit() { + public void ClearVolume() { _hasBits0 &= ~2; } - /// Field number for the "swap" field. - public const int SwapFieldNumber = 3; - private readonly static long SwapDefaultValue = 0L; + /// Field number for the "executionTimestamp" field. + public const int ExecutionTimestampFieldNumber = 3; + private readonly static long ExecutionTimestampDefaultValue = 0L; - private long swap_; + private long executionTimestamp_; /// - /// Amount of realized swap related to closed volume. + /// The Unix time in milliseconds when the offset Deal was executed. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long Swap { - get { if ((_hasBits0 & 4) != 0) { return swap_; } else { return SwapDefaultValue; } } + public long ExecutionTimestamp { + get { if ((_hasBits0 & 4) != 0) { return executionTimestamp_; } else { return ExecutionTimestampDefaultValue; } } set { _hasBits0 |= 4; - swap_ = value; + executionTimestamp_ = value; } } - /// Gets whether the "swap" field is set + /// Gets whether the "executionTimestamp" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool HasSwap { + public bool HasExecutionTimestamp { get { return (_hasBits0 & 4) != 0; } } - /// Clears the value of the "swap" field + /// Clears the value of the "executionTimestamp" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearSwap() { + public void ClearExecutionTimestamp() { _hasBits0 &= ~4; } - /// Field number for the "commission" field. - public const int CommissionFieldNumber = 4; - private readonly static long CommissionDefaultValue = 0L; + /// Field number for the "executionPrice" field. + public const int ExecutionPriceFieldNumber = 4; + private readonly static double ExecutionPriceDefaultValue = 0D; - private long commission_; + private double executionPrice_; /// - /// Amount of realized commission related to closed volume. + /// Execution price of the offset Deal. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long Commission { - get { if ((_hasBits0 & 8) != 0) { return commission_; } else { return CommissionDefaultValue; } } + public double ExecutionPrice { + get { if ((_hasBits0 & 8) != 0) { return executionPrice_; } else { return ExecutionPriceDefaultValue; } } set { _hasBits0 |= 8; - commission_ = value; + executionPrice_ = value; } } - /// Gets whether the "commission" field is set + /// Gets whether the "executionPrice" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool HasCommission { + public bool HasExecutionPrice { get { return (_hasBits0 & 8) != 0; } } - /// Clears the value of the "commission" field + /// Clears the value of the "executionPrice" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearCommission() { + public void ClearExecutionPrice() { _hasBits0 &= ~8; } - /// Field number for the "balance" field. - public const int BalanceFieldNumber = 5; - private readonly static long BalanceDefaultValue = 0L; - - private long balance_; - /// - /// Account balance after closing deal execution. - /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long Balance { - get { if ((_hasBits0 & 16) != 0) { return balance_; } else { return BalanceDefaultValue; } } - set { - _hasBits0 |= 16; - balance_ = value; - } + public override bool Equals(object other) { + return Equals(other as ProtoOADealOffset); } - /// Gets whether the "balance" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool HasBalance { - get { return (_hasBits0 & 16) != 0; } + public bool Equals(ProtoOADealOffset other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (DealId != other.DealId) return false; + if (Volume != other.Volume) return false; + if (ExecutionTimestamp != other.ExecutionTimestamp) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(ExecutionPrice, other.ExecutionPrice)) return false; + return Equals(_unknownFields, other._unknownFields); } - /// Clears the value of the "balance" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearBalance() { - _hasBits0 &= ~16; + public override int GetHashCode() { + int hash = 1; + if (HasDealId) hash ^= DealId.GetHashCode(); + if (HasVolume) hash ^= Volume.GetHashCode(); + if (HasExecutionTimestamp) hash ^= ExecutionTimestamp.GetHashCode(); + if (HasExecutionPrice) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(ExecutionPrice); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; } - /// Field number for the "quoteToDepositConversionRate" field. - public const int QuoteToDepositConversionRateFieldNumber = 6; - private readonly static double QuoteToDepositConversionRateDefaultValue = 0D; - - private double quoteToDepositConversionRate_; - /// - /// Quote/Deposit currency conversion rate on the time of closing deal execution. - /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public double QuoteToDepositConversionRate { - get { if ((_hasBits0 & 32) != 0) { return quoteToDepositConversionRate_; } else { return QuoteToDepositConversionRateDefaultValue; } } - set { - _hasBits0 |= 32; - quoteToDepositConversionRate_ = value; - } + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); } - /// Gets whether the "quoteToDepositConversionRate" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool HasQuoteToDepositConversionRate { - get { return (_hasBits0 & 32) != 0; } + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasDealId) { + output.WriteRawTag(8); + output.WriteInt64(DealId); + } + if (HasVolume) { + output.WriteRawTag(16); + output.WriteInt64(Volume); + } + if (HasExecutionTimestamp) { + output.WriteRawTag(24); + output.WriteInt64(ExecutionTimestamp); + } + if (HasExecutionPrice) { + output.WriteRawTag(33); + output.WriteDouble(ExecutionPrice); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif } - /// Clears the value of the "quoteToDepositConversionRate" field + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearQuoteToDepositConversionRate() { - _hasBits0 &= ~32; + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasDealId) { + output.WriteRawTag(8); + output.WriteInt64(DealId); + } + if (HasVolume) { + output.WriteRawTag(16); + output.WriteInt64(Volume); + } + if (HasExecutionTimestamp) { + output.WriteRawTag(24); + output.WriteInt64(ExecutionTimestamp); + } + if (HasExecutionPrice) { + output.WriteRawTag(33); + output.WriteDouble(ExecutionPrice); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } } + #endif - /// Field number for the "closedVolume" field. - public const int ClosedVolumeFieldNumber = 7; - private readonly static long ClosedVolumeDefaultValue = 0L; - - private long closedVolume_; - /// - /// Closed volume in cents. - /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long ClosedVolume { + public int CalculateSize() { + int size = 0; + if (HasDealId) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(DealId); + } + if (HasVolume) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(Volume); + } + if (HasExecutionTimestamp) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(ExecutionTimestamp); + } + if (HasExecutionPrice) { + size += 1 + 8; + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ProtoOADealOffset other) { + if (other == null) { + return; + } + if (other.HasDealId) { + DealId = other.DealId; + } + if (other.HasVolume) { + Volume = other.Volume; + } + if (other.HasExecutionTimestamp) { + ExecutionTimestamp = other.ExecutionTimestamp; + } + if (other.HasExecutionPrice) { + ExecutionPrice = other.ExecutionPrice; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + DealId = input.ReadInt64(); + break; + } + case 16: { + Volume = input.ReadInt64(); + break; + } + case 24: { + ExecutionTimestamp = input.ReadInt64(); + break; + } + case 33: { + ExecutionPrice = input.ReadDouble(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + DealId = input.ReadInt64(); + break; + } + case 16: { + Volume = input.ReadInt64(); + break; + } + case 24: { + ExecutionTimestamp = input.ReadInt64(); + break; + } + case 33: { + ExecutionPrice = input.ReadDouble(); + break; + } + } + } + } + #endif + +} + +/// +///* Trading details for closing deal. +/// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] +public sealed partial class ProtoOAClosePositionDetail : pb::IMessage +#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage +#endif +{ + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoOAClosePositionDetail()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::OpenApiModelMessagesReflection.Descriptor.MessageTypes[14]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOAClosePositionDetail() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOAClosePositionDetail(ProtoOAClosePositionDetail other) : this() { + _hasBits0 = other._hasBits0; + entryPrice_ = other.entryPrice_; + grossProfit_ = other.grossProfit_; + swap_ = other.swap_; + commission_ = other.commission_; + balance_ = other.balance_; + quoteToDepositConversionRate_ = other.quoteToDepositConversionRate_; + closedVolume_ = other.closedVolume_; + balanceVersion_ = other.balanceVersion_; + moneyDigits_ = other.moneyDigits_; + pnlConversionFee_ = other.pnlConversionFee_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOAClosePositionDetail Clone() { + return new ProtoOAClosePositionDetail(this); + } + + /// Field number for the "entryPrice" field. + public const int EntryPriceFieldNumber = 1; + private readonly static double EntryPriceDefaultValue = 0D; + + private double entryPrice_; + /// + /// Position price at the moment of filling the closing order. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double EntryPrice { + get { if ((_hasBits0 & 1) != 0) { return entryPrice_; } else { return EntryPriceDefaultValue; } } + set { + _hasBits0 |= 1; + entryPrice_ = value; + } + } + /// Gets whether the "entryPrice" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasEntryPrice { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "entryPrice" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearEntryPrice() { + _hasBits0 &= ~1; + } + + /// Field number for the "grossProfit" field. + public const int GrossProfitFieldNumber = 2; + private readonly static long GrossProfitDefaultValue = 0L; + + private long grossProfit_; + /// + /// Amount of realized gross profit after closing deal execution. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long GrossProfit { + get { if ((_hasBits0 & 2) != 0) { return grossProfit_; } else { return GrossProfitDefaultValue; } } + set { + _hasBits0 |= 2; + grossProfit_ = value; + } + } + /// Gets whether the "grossProfit" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasGrossProfit { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "grossProfit" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearGrossProfit() { + _hasBits0 &= ~2; + } + + /// Field number for the "swap" field. + public const int SwapFieldNumber = 3; + private readonly static long SwapDefaultValue = 0L; + + private long swap_; + /// + /// Amount of realized swap related to closed volume. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long Swap { + get { if ((_hasBits0 & 4) != 0) { return swap_; } else { return SwapDefaultValue; } } + set { + _hasBits0 |= 4; + swap_ = value; + } + } + /// Gets whether the "swap" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSwap { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "swap" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSwap() { + _hasBits0 &= ~4; + } + + /// Field number for the "commission" field. + public const int CommissionFieldNumber = 4; + private readonly static long CommissionDefaultValue = 0L; + + private long commission_; + /// + /// Amount of realized commission related to closed volume. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long Commission { + get { if ((_hasBits0 & 8) != 0) { return commission_; } else { return CommissionDefaultValue; } } + set { + _hasBits0 |= 8; + commission_ = value; + } + } + /// Gets whether the "commission" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasCommission { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "commission" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearCommission() { + _hasBits0 &= ~8; + } + + /// Field number for the "balance" field. + public const int BalanceFieldNumber = 5; + private readonly static long BalanceDefaultValue = 0L; + + private long balance_; + /// + /// Account balance after closing deal execution. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long Balance { + get { if ((_hasBits0 & 16) != 0) { return balance_; } else { return BalanceDefaultValue; } } + set { + _hasBits0 |= 16; + balance_ = value; + } + } + /// Gets whether the "balance" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasBalance { + get { return (_hasBits0 & 16) != 0; } + } + /// Clears the value of the "balance" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearBalance() { + _hasBits0 &= ~16; + } + + /// Field number for the "quoteToDepositConversionRate" field. + public const int QuoteToDepositConversionRateFieldNumber = 6; + private readonly static double QuoteToDepositConversionRateDefaultValue = 0D; + + private double quoteToDepositConversionRate_; + /// + /// Quote/Deposit currency conversion rate on the time of closing deal execution. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double QuoteToDepositConversionRate { + get { if ((_hasBits0 & 32) != 0) { return quoteToDepositConversionRate_; } else { return QuoteToDepositConversionRateDefaultValue; } } + set { + _hasBits0 |= 32; + quoteToDepositConversionRate_ = value; + } + } + /// Gets whether the "quoteToDepositConversionRate" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasQuoteToDepositConversionRate { + get { return (_hasBits0 & 32) != 0; } + } + /// Clears the value of the "quoteToDepositConversionRate" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearQuoteToDepositConversionRate() { + _hasBits0 &= ~32; + } + + /// Field number for the "closedVolume" field. + public const int ClosedVolumeFieldNumber = 7; + private readonly static long ClosedVolumeDefaultValue = 0L; + + private long closedVolume_; + /// + /// Closed volume in cents. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long ClosedVolume { get { if ((_hasBits0 & 64) != 0) { return closedVolume_; } else { return ClosedVolumeDefaultValue; } } set { _hasBits0 |= 64; @@ -12543,7 +13499,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -12598,7 +13558,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -12652,6 +13616,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Historical Trendbar entity. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOATrendbar : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -12667,7 +13632,7 @@ public sealed partial class ProtoOATrendbar : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::OpenApiModelMessagesReflection.Descriptor.MessageTypes[14]; } + get { return global::OpenApiModelMessagesReflection.Descriptor.MessageTypes[15]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -12890,7 +13855,7 @@ public void ClearDeltaHigh() { private uint utcTimestampInMinutes_; /// - /// Timestamp of the bar. Equal to the timestamp of the open tick. + /// The Unix time in minutes of the bar, equal to the timestamp of the open tick. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -13109,7 +14074,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -13152,7 +14121,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -13194,6 +14167,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Expected margin computation entity. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAExpectedMargin : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -13209,7 +14183,7 @@ public sealed partial class ProtoOAExpectedMargin : pb::IMessage ///* Historical tick data type. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOATickData : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -13531,7 +14514,7 @@ public sealed partial class ProtoOATickData : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::OpenApiModelMessagesReflection.Descriptor.MessageTypes[16]; } + get { return global::OpenApiModelMessagesReflection.Descriptor.MessageTypes[17]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -13569,7 +14552,7 @@ public ProtoOATickData Clone() { private long timestamp_; /// - /// Unix timestamp of the tick in milliseconds. See ProtoOAGetTickDataRes.tickData for details. + /// The Unix time in milliseconds of the tick. See ProtoOAGetTickDataRes.tickData for details. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -13738,7 +14721,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -13761,7 +14748,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -13783,6 +14774,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Trader profile entity. Empty due to GDPR. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOACtidProfile : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -13798,7 +14790,7 @@ public sealed partial class ProtoOACtidProfile : pb::IMessage ///* Trader account entity. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOACtidTraderAccount : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -14007,7 +15008,7 @@ public sealed partial class ProtoOACtidTraderAccount : pb::IMessage - /// Timestamp of the last ProtoOAClosePositionDetail happened to this account. + /// The Unix time in milliseconds of the last ProtoOAClosePositionDetail happened to this account. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -14168,7 +15170,7 @@ public void ClearLastClosingDealTimestamp() { private long lastBalanceUpdateTimestamp_; /// - /// Timestamp of the last ProtoOADepositWithdraw happened to this account. + /// The Unix time in milliseconds of the last ProtoOADepositWithdraw happened to this account. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -14192,6 +15194,35 @@ public void ClearLastBalanceUpdateTimestamp() { _hasBits0 &= ~16; } + /// Field number for the "brokerTitleShort" field. + public const int BrokerTitleShortFieldNumber = 6; + private readonly static string BrokerTitleShortDefaultValue = ""; + + private string brokerTitleShort_; + /// + /// The name of the broker to which the account belongs to. Shortened to be displayed in the UI. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string BrokerTitleShort { + get { return brokerTitleShort_ ?? BrokerTitleShortDefaultValue; } + set { + brokerTitleShort_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "brokerTitleShort" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasBrokerTitleShort { + get { return brokerTitleShort_ != null; } + } + /// Clears the value of the "brokerTitleShort" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearBrokerTitleShort() { + brokerTitleShort_ = null; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -14212,6 +15243,7 @@ public bool Equals(ProtoOACtidTraderAccount other) { if (TraderLogin != other.TraderLogin) return false; if (LastClosingDealTimestamp != other.LastClosingDealTimestamp) return false; if (LastBalanceUpdateTimestamp != other.LastBalanceUpdateTimestamp) return false; + if (BrokerTitleShort != other.BrokerTitleShort) return false; return Equals(_unknownFields, other._unknownFields); } @@ -14224,6 +15256,7 @@ public override int GetHashCode() { if (HasTraderLogin) hash ^= TraderLogin.GetHashCode(); if (HasLastClosingDealTimestamp) hash ^= LastClosingDealTimestamp.GetHashCode(); if (HasLastBalanceUpdateTimestamp) hash ^= LastBalanceUpdateTimestamp.GetHashCode(); + if (HasBrokerTitleShort) hash ^= BrokerTitleShort.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -14262,6 +15295,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(40); output.WriteInt64(LastBalanceUpdateTimestamp); } + if (HasBrokerTitleShort) { + output.WriteRawTag(50); + output.WriteString(BrokerTitleShort); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -14292,6 +15329,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(40); output.WriteInt64(LastBalanceUpdateTimestamp); } + if (HasBrokerTitleShort) { + output.WriteRawTag(50); + output.WriteString(BrokerTitleShort); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -14317,6 +15358,9 @@ public int CalculateSize() { if (HasLastBalanceUpdateTimestamp) { size += 1 + pb::CodedOutputStream.ComputeInt64Size(LastBalanceUpdateTimestamp); } + if (HasBrokerTitleShort) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(BrokerTitleShort); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -14344,6 +15388,9 @@ public void MergeFrom(ProtoOACtidTraderAccount other) { if (other.HasLastBalanceUpdateTimestamp) { LastBalanceUpdateTimestamp = other.LastBalanceUpdateTimestamp; } + if (other.HasBrokerTitleShort) { + BrokerTitleShort = other.BrokerTitleShort; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -14355,7 +15402,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -14379,6 +15430,10 @@ public void MergeFrom(pb::CodedInputStream input) { LastBalanceUpdateTimestamp = input.ReadInt64(); break; } + case 50: { + BrokerTitleShort = input.ReadString(); + break; + } } } #endif @@ -14390,7 +15445,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -14414,6 +15473,10 @@ public void MergeFrom(pb::CodedInputStream input) { LastBalanceUpdateTimestamp = input.ReadInt64(); break; } + case 50: { + BrokerTitleShort = input.ReadString(); + break; + } } } } @@ -14424,6 +15487,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Asset class entity. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAAssetClass : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -14439,7 +15503,7 @@ public sealed partial class ProtoOAAssetClass : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::OpenApiModelMessagesReflection.Descriptor.MessageTypes[19]; } + get { return global::OpenApiModelMessagesReflection.Descriptor.MessageTypes[20]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -14462,6 +15526,7 @@ public ProtoOAAssetClass(ProtoOAAssetClass other) : this() { _hasBits0 = other._hasBits0; id_ = other.id_; name_ = other.name_; + sortingNumber_ = other.sortingNumber_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -14530,6 +15595,36 @@ public void ClearName() { name_ = null; } + /// Field number for the "sortingNumber" field. + public const int SortingNumberFieldNumber = 3; + private readonly static double SortingNumberDefaultValue = 0D; + + private double sortingNumber_; + /// + /// The number used for sorting Asset Classes in the UI (lowest number should appear at the top). + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double SortingNumber { + get { if ((_hasBits0 & 2) != 0) { return sortingNumber_; } else { return SortingNumberDefaultValue; } } + set { + _hasBits0 |= 2; + sortingNumber_ = value; + } + } + /// Gets whether the "sortingNumber" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSortingNumber { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "sortingNumber" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSortingNumber() { + _hasBits0 &= ~2; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -14547,6 +15642,7 @@ public bool Equals(ProtoOAAssetClass other) { } if (Id != other.Id) return false; if (Name != other.Name) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(SortingNumber, other.SortingNumber)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -14556,6 +15652,7 @@ public override int GetHashCode() { int hash = 1; if (HasId) hash ^= Id.GetHashCode(); if (HasName) hash ^= Name.GetHashCode(); + if (HasSortingNumber) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(SortingNumber); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -14582,6 +15679,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(18); output.WriteString(Name); } + if (HasSortingNumber) { + output.WriteRawTag(25); + output.WriteDouble(SortingNumber); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -14600,6 +15701,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(18); output.WriteString(Name); } + if (HasSortingNumber) { + output.WriteRawTag(25); + output.WriteDouble(SortingNumber); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -14616,6 +15721,9 @@ public int CalculateSize() { if (HasName) { size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); } + if (HasSortingNumber) { + size += 1 + 8; + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -14634,6 +15742,9 @@ public void MergeFrom(ProtoOAAssetClass other) { if (other.HasName) { Name = other.Name; } + if (other.HasSortingNumber) { + SortingNumber = other.SortingNumber; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -14645,7 +15756,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -14657,6 +15772,10 @@ public void MergeFrom(pb::CodedInputStream input) { Name = input.ReadString(); break; } + case 25: { + SortingNumber = input.ReadDouble(); + break; + } } } #endif @@ -14668,7 +15787,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -14680,6 +15803,10 @@ public void MergeFrom(pb::CodedInputStream input) { Name = input.ReadString(); break; } + case 25: { + SortingNumber = input.ReadDouble(); + break; + } } } } @@ -14690,6 +15817,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Depth of market entity. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOADepthQuote : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -14705,7 +15833,7 @@ public sealed partial class ProtoOADepthQuote : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::OpenApiModelMessagesReflection.Descriptor.MessageTypes[20]; } + get { return global::OpenApiModelMessagesReflection.Descriptor.MessageTypes[21]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -15006,7 +16134,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -15037,7 +16169,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -15067,6 +16203,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ///* Margin call entity, specifies threshold for exact margin call type. Only 3 instances of margin calls are supported, identified by marginCallType. See ProtoOANotificationType for details. /// +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAMarginCall : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -15082,7 +16219,7 @@ public sealed partial class ProtoOAMarginCall : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::OpenApiModelMessagesReflection.Descriptor.MessageTypes[21]; } + get { return global::OpenApiModelMessagesReflection.Descriptor.MessageTypes[22]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -15120,6 +16257,9 @@ public ProtoOAMarginCall Clone() { private readonly static global::ProtoOANotificationType MarginCallTypeDefaultValue = global::ProtoOANotificationType.MarginLevelThreshold1; private global::ProtoOANotificationType marginCallType_; + /// + /// Type of margin call. All margin calls are similar, only difference is in marginLevelThreshold. + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::ProtoOANotificationType MarginCallType { @@ -15147,6 +16287,9 @@ public void ClearMarginCallType() { private readonly static double MarginLevelThresholdDefaultValue = 0D; private double marginLevelThreshold_; + /// + /// Margin level threshold for margin call. + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public double MarginLevelThreshold { @@ -15174,6 +16317,9 @@ public void ClearMarginLevelThreshold() { private readonly static long UtcLastUpdateTimestampDefaultValue = 0L; private long utcLastUpdateTimestamp_; + /// + /// The Unix time in milliseconds of the last update of the margin call. + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public long UtcLastUpdateTimestamp { @@ -15327,7 +16473,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -15354,7 +16504,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -15377,6 +16531,7 @@ public void MergeFrom(pb::CodedInputStream input) { } +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOAHoliday : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -15392,7 +16547,7 @@ public sealed partial class ProtoOAHoliday : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::OpenApiModelMessagesReflection.Descriptor.MessageTypes[22]; } + get { return global::OpenApiModelMessagesReflection.Descriptor.MessageTypes[23]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -15553,7 +16708,7 @@ public void ClearScheduleTimeZone() { private long holidayDate_; /// - /// Amount of days from 01-01-1970, multiply it by 86400000 to get unix timestamp. + /// Amount of days from 1st Jan 1970, multiply it by 86400000 to get Unix time in milliseconds. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -15878,7 +17033,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -15925,7 +17084,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -15968,22 +17131,270 @@ public void MergeFrom(pb::CodedInputStream input) { } +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ProtoOADynamicLeverage : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoOADynamicLeverage()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoOADynamicLeverage()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::OpenApiModelMessagesReflection.Descriptor.MessageTypes[24]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOADynamicLeverage() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOADynamicLeverage(ProtoOADynamicLeverage other) : this() { + _hasBits0 = other._hasBits0; + leverageId_ = other.leverageId_; + tiers_ = other.tiers_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ProtoOADynamicLeverage Clone() { + return new ProtoOADynamicLeverage(this); + } + + /// Field number for the "leverageId" field. + public const int LeverageIdFieldNumber = 1; + private readonly static long LeverageIdDefaultValue = 0L; + + private long leverageId_; + /// + /// Unique ID of dynamic leverage. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long LeverageId { + get { if ((_hasBits0 & 1) != 0) { return leverageId_; } else { return LeverageIdDefaultValue; } } + set { + _hasBits0 |= 1; + leverageId_ = value; + } + } + /// Gets whether the "leverageId" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLeverageId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "leverageId" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLeverageId() { + _hasBits0 &= ~1; + } + + /// Field number for the "tiers" field. + public const int TiersFieldNumber = 2; + private static readonly pb::FieldCodec _repeated_tiers_codec + = pb::FieldCodec.ForMessage(18, global::ProtoOADynamicLeverageTier.Parser); + private readonly pbc::RepeatedField tiers_ = new pbc::RepeatedField(); + /// + /// Tiers sorted by volume. Last tier's leverage is applied also to volume above specified. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField Tiers { + get { return tiers_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ProtoOADynamicLeverage); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ProtoOADynamicLeverage other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (LeverageId != other.LeverageId) return false; + if(!tiers_.Equals(other.tiers_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasLeverageId) hash ^= LeverageId.GetHashCode(); + hash ^= tiers_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasLeverageId) { + output.WriteRawTag(8); + output.WriteInt64(LeverageId); + } + tiers_.WriteTo(output, _repeated_tiers_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasLeverageId) { + output.WriteRawTag(8); + output.WriteInt64(LeverageId); + } + tiers_.WriteTo(ref output, _repeated_tiers_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasLeverageId) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(LeverageId); + } + size += tiers_.CalculateSize(_repeated_tiers_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ProtoOADynamicLeverage other) { + if (other == null) { + return; + } + if (other.HasLeverageId) { + LeverageId = other.LeverageId; + } + tiers_.Add(other.tiers_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + LeverageId = input.ReadInt64(); + break; + } + case 18: { + tiers_.AddEntriesFrom(input, _repeated_tiers_codec); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + LeverageId = input.ReadInt64(); + break; + } + case 18: { + tiers_.AddEntriesFrom(ref input, _repeated_tiers_codec); + break; + } + } + } + } + #endif + +} + +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] +public sealed partial class ProtoOADynamicLeverageTier : pb::IMessage +#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage +#endif +{ + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoOADynamicLeverageTier()); private pb::UnknownFieldSet _unknownFields; private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::OpenApiModelMessagesReflection.Descriptor.MessageTypes[23]; } + get { return global::OpenApiModelMessagesReflection.Descriptor.MessageTypes[25]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -15994,7 +17405,7 @@ public sealed partial class ProtoOADynamicLeverage : pb::IMessageField number for the "leverageId" field. - public const int LeverageIdFieldNumber = 1; - private readonly static long LeverageIdDefaultValue = 0L; + /// Field number for the "volume" field. + public const int VolumeFieldNumber = 1; + private readonly static long VolumeDefaultValue = 0L; - private long leverageId_; + private long volume_; /// - /// Unique ID of dynamic leverage. + /// Max USD volume (in cents) of the Open Position (per side) to apply specified leverage. Last tier's leverage is applied also to volume above specified. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long LeverageId { - get { if ((_hasBits0 & 1) != 0) { return leverageId_; } else { return LeverageIdDefaultValue; } } + public long Volume { + get { if ((_hasBits0 & 1) != 0) { return volume_; } else { return VolumeDefaultValue; } } set { _hasBits0 |= 1; - leverageId_ = value; + volume_ = value; } } - /// Gets whether the "leverageId" field is set + /// Gets whether the "volume" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool HasLeverageId { + public bool HasVolume { get { return (_hasBits0 & 1) != 0; } } - /// Clears the value of the "leverageId" field + /// Clears the value of the "volume" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearLeverageId() { + public void ClearVolume() { _hasBits0 &= ~1; } - /// Field number for the "tiers" field. - public const int TiersFieldNumber = 2; - private static readonly pb::FieldCodec _repeated_tiers_codec - = pb::FieldCodec.ForMessage(18, global::ProtoOADynamicLeverageTier.Parser); - private readonly pbc::RepeatedField tiers_ = new pbc::RepeatedField(); + /// Field number for the "leverage" field. + public const int LeverageFieldNumber = 2; + private readonly static int LeverageDefaultValue = 0; + + private int leverage_; /// - /// Tiers sorted by volume. Last tier's leverage is applied also to volume above specified. + /// Applied leverage. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Tiers { - get { return tiers_; } + public int Leverage { + get { if ((_hasBits0 & 2) != 0) { return leverage_; } else { return LeverageDefaultValue; } } + set { + _hasBits0 |= 2; + leverage_ = value; + } + } + /// Gets whether the "leverage" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLeverage { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "leverage" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLeverage() { + _hasBits0 &= ~2; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as ProtoOADynamicLeverage); + return Equals(other as ProtoOADynamicLeverageTier); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ProtoOADynamicLeverage other) { + public bool Equals(ProtoOADynamicLeverageTier other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (LeverageId != other.LeverageId) return false; - if(!tiers_.Equals(other.tiers_)) return false; + if (Volume != other.Volume) return false; + if (Leverage != other.Leverage) return false; return Equals(_unknownFields, other._unknownFields); } @@ -16083,8 +17510,8 @@ public bool Equals(ProtoOADynamicLeverage other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (HasLeverageId) hash ^= LeverageId.GetHashCode(); - hash ^= tiers_.GetHashCode(); + if (HasVolume) hash ^= Volume.GetHashCode(); + if (HasLeverage) hash ^= Leverage.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -16103,11 +17530,14 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (HasLeverageId) { + if (HasVolume) { output.WriteRawTag(8); - output.WriteInt64(LeverageId); + output.WriteInt64(Volume); + } + if (HasLeverage) { + output.WriteRawTag(16); + output.WriteInt32(Leverage); } - tiers_.WriteTo(output, _repeated_tiers_codec); if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -16118,11 +17548,14 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (HasLeverageId) { + if (HasVolume) { output.WriteRawTag(8); - output.WriteInt64(LeverageId); + output.WriteInt64(Volume); + } + if (HasLeverage) { + output.WriteRawTag(16); + output.WriteInt32(Leverage); } - tiers_.WriteTo(ref output, _repeated_tiers_codec); if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -16133,10 +17566,12 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (HasLeverageId) { - size += 1 + pb::CodedOutputStream.ComputeInt64Size(LeverageId); + if (HasVolume) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(Volume); + } + if (HasLeverage) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(Leverage); } - size += tiers_.CalculateSize(_repeated_tiers_codec); if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -16145,14 +17580,16 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ProtoOADynamicLeverage other) { + public void MergeFrom(ProtoOADynamicLeverageTier other) { if (other == null) { return; } - if (other.HasLeverageId) { - LeverageId = other.LeverageId; + if (other.HasVolume) { + Volume = other.Volume; + } + if (other.HasLeverage) { + Leverage = other.Leverage; } - tiers_.Add(other.tiers_); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -16164,16 +17601,20 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - LeverageId = input.ReadInt64(); + Volume = input.ReadInt64(); break; } - case 18: { - tiers_.AddEntriesFrom(input, _repeated_tiers_codec); + case 16: { + Leverage = input.ReadInt32(); break; } } @@ -16187,16 +17628,20 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - LeverageId = input.ReadInt64(); + Volume = input.ReadInt64(); break; } - case 18: { - tiers_.AddEntriesFrom(ref input, _repeated_tiers_codec); + case 16: { + Leverage = input.ReadInt32(); break; } } @@ -16206,22 +17651,23 @@ public void MergeFrom(pb::CodedInputStream input) { } -public sealed partial class ProtoOADynamicLeverageTier : pb::IMessage +[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] +public sealed partial class ProtoOAPositionUnrealizedPnL : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoOADynamicLeverageTier()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoOAPositionUnrealizedPnL()); private pb::UnknownFieldSet _unknownFields; private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::OpenApiModelMessagesReflection.Descriptor.MessageTypes[24]; } + get { return global::OpenApiModelMessagesReflection.Descriptor.MessageTypes[26]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -16232,7 +17678,7 @@ public sealed partial class ProtoOADynamicLeverageTier : pb::IMessageField number for the "volume" field. - public const int VolumeFieldNumber = 1; - private readonly static long VolumeDefaultValue = 0L; + /// Field number for the "positionId" field. + public const int PositionIdFieldNumber = 1; + private readonly static long PositionIdDefaultValue = 0L; - private long volume_; + private long positionId_; /// - /// Max USD volume (in cents) of the Open Position (per side) to apply specified leverage. Last tier's leverage is applied also to volume above specified. + /// The position ID. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long Volume { - get { if ((_hasBits0 & 1) != 0) { return volume_; } else { return VolumeDefaultValue; } } + public long PositionId { + get { if ((_hasBits0 & 1) != 0) { return positionId_; } else { return PositionIdDefaultValue; } } set { _hasBits0 |= 1; - volume_ = value; + positionId_ = value; } } - /// Gets whether the "volume" field is set + /// Gets whether the "positionId" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool HasVolume { + public bool HasPositionId { get { return (_hasBits0 & 1) != 0; } } - /// Clears the value of the "volume" field + /// Clears the value of the "positionId" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearVolume() { + public void ClearPositionId() { _hasBits0 &= ~1; } - /// Field number for the "leverage" field. - public const int LeverageFieldNumber = 2; - private readonly static int LeverageDefaultValue = 0; + /// Field number for the "grossUnrealizedPnL" field. + public const int GrossUnrealizedPnLFieldNumber = 2; + private readonly static long GrossUnrealizedPnLDefaultValue = 0L; - private int leverage_; + private long grossUnrealizedPnL_; /// - /// Applied leverage. + /// The gross unrealized PnL of the position denoted in the account deposit currency. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int Leverage { - get { if ((_hasBits0 & 2) != 0) { return leverage_; } else { return LeverageDefaultValue; } } + public long GrossUnrealizedPnL { + get { if ((_hasBits0 & 2) != 0) { return grossUnrealizedPnL_; } else { return GrossUnrealizedPnLDefaultValue; } } set { _hasBits0 |= 2; - leverage_ = value; + grossUnrealizedPnL_ = value; } } - /// Gets whether the "leverage" field is set + /// Gets whether the "grossUnrealizedPnL" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool HasLeverage { + public bool HasGrossUnrealizedPnL { get { return (_hasBits0 & 2) != 0; } } - /// Clears the value of the "leverage" field + /// Clears the value of the "grossUnrealizedPnL" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearLeverage() { + public void ClearGrossUnrealizedPnL() { _hasBits0 &= ~2; } + /// Field number for the "netUnrealizedPnL" field. + public const int NetUnrealizedPnLFieldNumber = 3; + private readonly static long NetUnrealizedPnLDefaultValue = 0L; + + private long netUnrealizedPnL_; + /// + /// The net unrealized PnL of the position denoted in the account deposit currency. It does not include potential closing commission. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long NetUnrealizedPnL { + get { if ((_hasBits0 & 4) != 0) { return netUnrealizedPnL_; } else { return NetUnrealizedPnLDefaultValue; } } + set { + _hasBits0 |= 4; + netUnrealizedPnL_ = value; + } + } + /// Gets whether the "netUnrealizedPnL" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasNetUnrealizedPnL { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "netUnrealizedPnL" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearNetUnrealizedPnL() { + _hasBits0 &= ~4; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as ProtoOADynamicLeverageTier); + return Equals(other as ProtoOAPositionUnrealizedPnL); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ProtoOADynamicLeverageTier other) { + public bool Equals(ProtoOAPositionUnrealizedPnL other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (Volume != other.Volume) return false; - if (Leverage != other.Leverage) return false; + if (PositionId != other.PositionId) return false; + if (GrossUnrealizedPnL != other.GrossUnrealizedPnL) return false; + if (NetUnrealizedPnL != other.NetUnrealizedPnL) return false; return Equals(_unknownFields, other._unknownFields); } @@ -16337,8 +17815,9 @@ public bool Equals(ProtoOADynamicLeverageTier other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (HasVolume) hash ^= Volume.GetHashCode(); - if (HasLeverage) hash ^= Leverage.GetHashCode(); + if (HasPositionId) hash ^= PositionId.GetHashCode(); + if (HasGrossUnrealizedPnL) hash ^= GrossUnrealizedPnL.GetHashCode(); + if (HasNetUnrealizedPnL) hash ^= NetUnrealizedPnL.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -16357,13 +17836,17 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (HasVolume) { + if (HasPositionId) { output.WriteRawTag(8); - output.WriteInt64(Volume); + output.WriteInt64(PositionId); } - if (HasLeverage) { + if (HasGrossUnrealizedPnL) { output.WriteRawTag(16); - output.WriteInt32(Leverage); + output.WriteInt64(GrossUnrealizedPnL); + } + if (HasNetUnrealizedPnL) { + output.WriteRawTag(24); + output.WriteInt64(NetUnrealizedPnL); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -16375,13 +17858,17 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (HasVolume) { + if (HasPositionId) { output.WriteRawTag(8); - output.WriteInt64(Volume); + output.WriteInt64(PositionId); } - if (HasLeverage) { + if (HasGrossUnrealizedPnL) { output.WriteRawTag(16); - output.WriteInt32(Leverage); + output.WriteInt64(GrossUnrealizedPnL); + } + if (HasNetUnrealizedPnL) { + output.WriteRawTag(24); + output.WriteInt64(NetUnrealizedPnL); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -16393,11 +17880,14 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (HasVolume) { - size += 1 + pb::CodedOutputStream.ComputeInt64Size(Volume); + if (HasPositionId) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(PositionId); } - if (HasLeverage) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(Leverage); + if (HasGrossUnrealizedPnL) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(GrossUnrealizedPnL); + } + if (HasNetUnrealizedPnL) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(NetUnrealizedPnL); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -16407,15 +17897,18 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ProtoOADynamicLeverageTier other) { + public void MergeFrom(ProtoOAPositionUnrealizedPnL other) { if (other == null) { return; } - if (other.HasVolume) { - Volume = other.Volume; + if (other.HasPositionId) { + PositionId = other.PositionId; } - if (other.HasLeverage) { - Leverage = other.Leverage; + if (other.HasGrossUnrealizedPnL) { + GrossUnrealizedPnL = other.GrossUnrealizedPnL; + } + if (other.HasNetUnrealizedPnL) { + NetUnrealizedPnL = other.NetUnrealizedPnL; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -16428,16 +17921,24 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - Volume = input.ReadInt64(); + PositionId = input.ReadInt64(); break; } case 16: { - Leverage = input.ReadInt32(); + GrossUnrealizedPnL = input.ReadInt64(); + break; + } + case 24: { + NetUnrealizedPnL = input.ReadInt64(); break; } } @@ -16451,16 +17952,24 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - Volume = input.ReadInt64(); + PositionId = input.ReadInt64(); break; } case 16: { - Leverage = input.ReadInt32(); + GrossUnrealizedPnL = input.ReadInt64(); + break; + } + case 24: { + NetUnrealizedPnL = input.ReadInt64(); break; } }