From 32d9ad793dd432965bc9009e025621b6b6854184 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Thu, 5 Sep 2024 17:17:18 +0800 Subject: [PATCH] update --- data/DB_RankReward.dat | 15 ++--- data/DB_RankReward.json | 14 ++--- protocol/builtin/corepacketid.proto | 16 +++++ protocol/builtin/slices.proto | 10 +++ protocol/clawdoll/clawdoll.pb.go | 91 +++++++++++++++------------- protocol/clawdoll/clawdoll.proto | 1 + xlsx/DB_RankReward.xlsx | Bin 10986 -> 11053 bytes 7 files changed, 92 insertions(+), 55 deletions(-) create mode 100644 protocol/builtin/corepacketid.proto create mode 100644 protocol/builtin/slices.proto diff --git a/data/DB_RankReward.dat b/data/DB_RankReward.dat index 403ebd4..db7321a 100644 --- a/data/DB_RankReward.dat +++ b/data/DB_RankReward.dat @@ -1,8 +1,9 @@ -$08è@H€‡§ -08ô@H€ÚÄ -08¬@H€­â -08È@H€ê0 -08–@H Â - 08d@Hà§ -082@HÀš \ No newline at end of file +$08È@H€‡§ +08d@H€ÚÄ +08<@H€­â +08(@H€ê0 +08@H Â + 08@Hà§ +08 +@HÀš \ No newline at end of file diff --git a/data/DB_RankReward.json b/data/DB_RankReward.json index 3e27f5f..6de6430 100644 --- a/data/DB_RankReward.json +++ b/data/DB_RankReward.json @@ -5,7 +5,7 @@ "RankType": 1, "Level": 36, "Award2Id": 2, - "Award2Num": 1000, + "Award2Num": 200, "Award3Id": 1, "Award3Num": 30000000 }, @@ -14,7 +14,7 @@ "RankType": 1, "Level": 31, "Award2Id": 2, - "Award2Num": 500, + "Award2Num": 100, "Award3Id": 1, "Award3Num": 20000000 }, @@ -23,7 +23,7 @@ "RankType": 1, "Level": 26, "Award2Id": 2, - "Award2Num": 300, + "Award2Num": 60, "Award3Id": 1, "Award3Num": 10000000 }, @@ -32,7 +32,7 @@ "RankType": 1, "Level": 21, "Award2Id": 2, - "Award2Num": 200, + "Award2Num": 40, "Award3Id": 1, "Award3Num": 800000 }, @@ -41,7 +41,7 @@ "RankType": 1, "Level": 16, "Award2Id": 2, - "Award2Num": 150, + "Award2Num": 30, "Award3Id": 1, "Award3Num": 500000 }, @@ -50,7 +50,7 @@ "RankType": 1, "Level": 11, "Award2Id": 2, - "Award2Num": 100, + "Award2Num": 20, "Award3Id": 1, "Award3Num": 300000 }, @@ -59,7 +59,7 @@ "RankType": 1, "Level": 6, "Award2Id": 2, - "Award2Num": 50, + "Award2Num": 10, "Award3Id": 1, "Award3Num": 200000 } diff --git a/protocol/builtin/corepacketid.proto b/protocol/builtin/corepacketid.proto new file mode 100644 index 0000000..d87041a --- /dev/null +++ b/protocol/builtin/corepacketid.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; +package protocol; +option go_package = ".;protocol"; + +enum CoreBuiltinPacketID { + PACKET_COREBUILTIN_UNKNOW = 0; + PACKET_SS_TX_START = -1000; + PACKET_SS_TX_CMD = -1001; + PACKET_SS_TX_RESULT = -1002; + PACKET_SS_SLICES = -1003; + PACKET_SS_AUTH = -1004; + PACKET_SS_KEEPALIVE = -1005; + PACKET_SS_AUTH_ACK = -1006; + PACKET_SS_RPC_REQ = -1007; + PACKET_SS_RPC_RESP = -1008; +} \ No newline at end of file diff --git a/protocol/builtin/slices.proto b/protocol/builtin/slices.proto new file mode 100644 index 0000000..9a58573 --- /dev/null +++ b/protocol/builtin/slices.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package protocol; +option go_package = ".;protocol"; + +message SSPacketSlices { + int32 SeqNo = 1; + int32 TotalSize = 2; + int32 Offset = 3; + bytes PacketData = 4; +} \ No newline at end of file diff --git a/protocol/clawdoll/clawdoll.pb.go b/protocol/clawdoll/clawdoll.pb.go index 098f4ca..7f6bfba 100644 --- a/protocol/clawdoll/clawdoll.pb.go +++ b/protocol/clawdoll/clawdoll.pb.go @@ -1004,6 +1004,7 @@ type CLAWDOLLPlayerDigestInfo struct { Head int32 `protobuf:"varint,2,opt,name=Head,proto3" json:"Head,omitempty"` //å¤´åƒ HeadUrl string `protobuf:"bytes,3,opt,name=HeadUrl,proto3" json:"HeadUrl,omitempty"` //å¤´åƒ Name string `protobuf:"bytes,4,opt,name=Name,proto3" json:"Name,omitempty"` //åå­— + Stat int32 `protobuf:"varint,5,opt,name=Stat,proto3" json:"Stat,omitempty"` //çŽ©å®¶çŠ¶æ€ 0ï¼šæŽ’é˜ŸçŠ¶æ€ 5:å¤§åŽ…è§‚ä¼—çŠ¶æ€ } func (x *CLAWDOLLPlayerDigestInfo) Reset() { @@ -1066,6 +1067,13 @@ func (x *CLAWDOLLPlayerDigestInfo) GetName() string { return "" } +func (x *CLAWDOLLPlayerDigestInfo) GetStat() int32 { + if x != nil { + return x.Stat + } + return 0 +} + var File_clawdoll_proto protoreflect.FileDescriptor var file_clawdoll_proto_rawDesc = []byte{ @@ -1167,47 +1175,48 @@ var file_clawdoll_proto_rawDesc = []byte{ 0x6c, 0x61, 0x77, 0x64, 0x6f, 0x6c, 0x6c, 0x2e, 0x43, 0x4c, 0x41, 0x57, 0x44, 0x4f, 0x4c, 0x4c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x57, 0x61, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x66, - 0x6f, 0x22, 0x70, 0x0a, 0x18, 0x43, 0x4c, 0x41, 0x57, 0x44, 0x4f, 0x4c, 0x4c, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, - 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x48, 0x65, 0x61, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x48, 0x65, 0x61, 0x64, 0x55, 0x72, 0x6c, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x48, 0x65, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, - 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, - 0x61, 0x6d, 0x65, 0x2a, 0xfd, 0x02, 0x0a, 0x10, 0x43, 0x4c, 0x41, 0x57, 0x44, 0x4f, 0x4c, 0x4c, - 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x49, 0x4e, 0x46, 0x4f, 0x10, - 0xe1, 0x2b, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, - 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x4f, 0x50, 0x10, 0xe2, 0x2b, 0x12, 0x17, 0x0a, 0x12, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x4f, - 0x50, 0x10, 0xe3, 0x2b, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, - 0x43, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0xe4, 0x2b, 0x12, 0x19, - 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x41, 0x4d, 0x45, - 0x42, 0x49, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0xe5, 0x2b, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, - 0x65, 0x72, 0x10, 0xe6, 0x2b, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x53, 0x43, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x10, 0xe7, - 0x2b, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, - 0x4c, 0x41, 0x59, 0x45, 0x52, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xe8, 0x2b, 0x12, 0x17, 0x0a, 0x12, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x54, 0x4f, 0x4b, - 0x45, 0x4e, 0x10, 0xe9, 0x2b, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x53, 0x43, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0xea, 0x2b, 0x12, - 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x41, 0x49, - 0x54, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x53, 0x10, 0xeb, 0x2b, 0x12, 0x1a, 0x0a, 0x15, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x50, 0x4c, 0x41, - 0x59, 0x45, 0x52, 0x53, 0x10, 0xec, 0x2b, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x49, 0x4e, 0x47, 0x49, 0x4e, 0x46, 0x4f, - 0x10, 0xed, 0x2b, 0x2a, 0x64, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x6f, - 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x02, 0x12, 0x1a, 0x0a, - 0x16, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x6f, 0x73, 0x41, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x79, - 0x50, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x10, 0x03, 0x42, 0x28, 0x5a, 0x26, 0x6d, 0x6f, 0x6e, - 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, - 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x63, 0x6c, 0x61, 0x77, 0x64, - 0x6f, 0x6c, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x22, 0x84, 0x01, 0x0a, 0x18, 0x43, 0x4c, 0x41, 0x57, 0x44, 0x4f, 0x4c, 0x4c, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, + 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x48, 0x65, 0x61, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x48, 0x65, 0x61, 0x64, 0x55, 0x72, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x48, 0x65, 0x61, 0x64, 0x55, 0x72, 0x6c, + 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x53, 0x74, 0x61, 0x74, 0x2a, 0xfd, 0x02, 0x0a, 0x10, 0x43, 0x4c, 0x41, + 0x57, 0x44, 0x4f, 0x4c, 0x4c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x0f, 0x0a, + 0x0b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x17, + 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, + 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xe1, 0x2b, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x4f, 0x50, 0x10, 0xe2, 0x2b, + 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, + 0x41, 0x59, 0x45, 0x52, 0x4f, 0x50, 0x10, 0xe3, 0x2b, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x10, 0xe4, 0x2b, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, + 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x42, 0x49, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0xe5, 0x2b, 0x12, 0x1a, + 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x10, 0xe6, 0x2b, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, + 0x61, 0x76, 0x65, 0x10, 0xe7, 0x2b, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xe8, + 0x2b, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, + 0x45, 0x54, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0xe9, 0x2b, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x54, 0x4f, 0x4b, 0x45, + 0x4e, 0x10, 0xea, 0x2b, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, + 0x53, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x53, 0x10, 0xeb, 0x2b, + 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x41, + 0x49, 0x54, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x53, 0x10, 0xec, 0x2b, 0x12, 0x1a, 0x0a, 0x15, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x49, 0x4e, + 0x47, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xed, 0x2b, 0x2a, 0x64, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, + 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, + 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x50, + 0x52, 0x43, 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, + 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x6f, 0x73, 0x41, 0x6c, + 0x52, 0x65, 0x61, 0x64, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x10, 0x03, 0x42, 0x28, + 0x5a, 0x26, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, + 0x63, 0x6c, 0x61, 0x77, 0x64, 0x6f, 0x6c, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/protocol/clawdoll/clawdoll.proto b/protocol/clawdoll/clawdoll.proto index 2dea4f0..b8dd5c9 100644 --- a/protocol/clawdoll/clawdoll.proto +++ b/protocol/clawdoll/clawdoll.proto @@ -130,4 +130,5 @@ message CLAWDOLLPlayerDigestInfo { int32 Head = 2; //å¤´åƒ string HeadUrl = 3; //å¤´åƒ string Name = 4; //åå­— + int32 Stat = 5; //çŽ©å®¶çŠ¶æ€ 0ï¼šæŽ’é˜ŸçŠ¶æ€ 5:å¤§åŽ…è§‚ä¼—çŠ¶æ€ } diff --git a/xlsx/DB_RankReward.xlsx b/xlsx/DB_RankReward.xlsx index 05a594e379a9b8d3be6c42328382cc1f51341bf3..cd64d1bab99e3e7a78a9eb29e7f854d9c35d9119 100644 GIT binary patch delta 3782 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 VI8h`(2ni!F$xm@BisyIze*m9+>%ss4 delta 3729 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