From 1cc3b0bb72c1dc5e6a2de39e1980e214610438a0 Mon Sep 17 00:00:00 2001 From: neosu Date: Fri, 23 Sep 2022 16:18:29 +0800 Subject: [PATCH 1/6] add generate gogs csharp code command --- proto/common.proto | 2 +- tools/gogs/cmd/csharp.go | 47 + tools/gogs/cmd/flags.go | 5 + tools/gogs/cmd/proto.go | 4 - tools/gogs/csharp/gen.go | 192 ++++ tools/gogs/csharp/gen_test.go | 54 ++ tools/gogs/csharp/gentemplate/Gogs/Codec.tpl | 36 + tools/gogs/csharp/gentemplate/Gogs/Common.tpl | 875 ++++++++++++++++++ .../csharp/gentemplate/Gogs/EventsManager.tpl | 57 ++ tools/gogs/csharp/gentemplate/Gogs/ICodec.tpl | 13 + .../gogs/csharp/gentemplate/Gogs/Messages.tpl | 113 +++ tools/gogs/csharp/gentemplate/Gogs/Packet.tpl | 88 ++ tools/gogs/csharp/gentemplate/Register.tpl | 60 ++ tools/gogs/csharp/gentemplate/template.go | 26 + tools/gogs/csharp/testdata/Model/Register.cs | 67 ++ tools/gogs/csharp/testdata/data.proto | 37 + tools/gogs/csharp/testdata/main.go | 45 + utils/templatex/templatex.go | 7 +- 18 files changed, 1721 insertions(+), 7 deletions(-) create mode 100644 tools/gogs/cmd/csharp.go create mode 100644 tools/gogs/cmd/flags.go create mode 100644 tools/gogs/csharp/gen.go create mode 100644 tools/gogs/csharp/gen_test.go create mode 100644 tools/gogs/csharp/gentemplate/Gogs/Codec.tpl create mode 100644 tools/gogs/csharp/gentemplate/Gogs/Common.tpl create mode 100644 tools/gogs/csharp/gentemplate/Gogs/EventsManager.tpl create mode 100644 tools/gogs/csharp/gentemplate/Gogs/ICodec.tpl create mode 100644 tools/gogs/csharp/gentemplate/Gogs/Messages.tpl create mode 100644 tools/gogs/csharp/gentemplate/Gogs/Packet.tpl create mode 100644 tools/gogs/csharp/gentemplate/Register.tpl create mode 100644 tools/gogs/csharp/gentemplate/template.go create mode 100644 tools/gogs/csharp/testdata/Model/Register.cs create mode 100644 tools/gogs/csharp/testdata/data.proto create mode 100644 tools/gogs/csharp/testdata/main.go diff --git a/proto/common.proto b/proto/common.proto index d3f224b..7b4d951 100644 --- a/proto/common.proto +++ b/proto/common.proto @@ -1,6 +1,6 @@ syntax = "proto3"; -package proto; +package gogs; option go_package = "/proto"; diff --git a/tools/gogs/cmd/csharp.go b/tools/gogs/cmd/csharp.go new file mode 100644 index 0000000..d708910 --- /dev/null +++ b/tools/gogs/cmd/csharp.go @@ -0,0 +1,47 @@ +package cmd + +import ( + "fmt" + "os" + + "github.com/metagogs/gogs/tools/gogs/gen" + "github.com/metagogs/gogs/utils/gomod" + "github.com/pterm/pterm" + "github.com/spf13/cobra" +) + +func init() { + RootCmd.AddCommand(csharpCmd) + csharpCmd.Flags().StringVarP(&protoFile, "file", "f", "", "proto文件") +} + +var csharpCmd = &cobra.Command{ + Use: "csharp", + Short: "generate csharp code", + Long: ``, + Run: func(cmd *cobra.Command, args []string) { + if len(protoFile) == 0 { + pterm.Error.Printfln("proto file is empty") + os.Exit(1) + } + if _, err := os.Stat("go.mod"); err != nil { + pterm.Error.Printfln("go.mod not found") + os.Exit(1) + } + goModule, err := gomod.GetMod() + if err != nil { + pterm.Error.Printfln("get go mod error: " + err.Error()) + os.Exit(1) + } + if !goModule.IsInGoMod() { + pterm.Error.Printfln("not in go mod mode") + os.Exit(1) + } + + gen, err := gen.NewGen(protoFile, goModule.Path) + if err != nil { + fmt.Println(err) + } + _ = gen.Generate() + }, +} diff --git a/tools/gogs/cmd/flags.go b/tools/gogs/cmd/flags.go new file mode 100644 index 0000000..c9f6353 --- /dev/null +++ b/tools/gogs/cmd/flags.go @@ -0,0 +1,5 @@ +package cmd + +var ( + protoFile string +) diff --git a/tools/gogs/cmd/proto.go b/tools/gogs/cmd/proto.go index 3f55919..f62087a 100644 --- a/tools/gogs/cmd/proto.go +++ b/tools/gogs/cmd/proto.go @@ -10,10 +10,6 @@ import ( "github.com/spf13/cobra" ) -var ( - protoFile string -) - func init() { RootCmd.AddCommand(protoCmd) protoCmd.Flags().StringVarP(&protoFile, "file", "f", "", "proto文件") diff --git a/tools/gogs/csharp/gen.go b/tools/gogs/csharp/gen.go new file mode 100644 index 0000000..bfee99a --- /dev/null +++ b/tools/gogs/csharp/gen.go @@ -0,0 +1,192 @@ +package csharp + +import ( + "fmt" + "os" + + "github.com/emicklei/proto" + "github.com/metagogs/gogs/packet" + "github.com/metagogs/gogs/tools/gogs/csharp/gentemplate" + "github.com/metagogs/gogs/tools/gogs/protoparse" + "github.com/metagogs/gogs/utils/execx" + "github.com/metagogs/gogs/utils/templatex" + "github.com/pterm/pterm" +) + +type Components struct { + Components []*Component +} + +type Component struct { + Name string + Index int + BasePackage string + Fields []*Field +} + +type Field struct { + ComponentName string + ComponentIndex int + BasePackage string + Package string + Name string + Index int + ServerMessage bool + Action10 string //action 10进制 + Action16 string //action 16进制 +} + +type CSharpGen struct { + proto protoparse.Proto + protoFile string + componets *Components + messages map[string]protoparse.Message + basePackage string + Home string + logicPath []string + debugNoPb bool +} + +func NewCSharpGen(proto string, basePackage string) (*CSharpGen, error) { + protoPrase, err := protoparse.NewProtoParser().Parse(proto) + if err != nil { + return nil, err + } + return &CSharpGen{ + protoFile: proto, + proto: protoPrase, + messages: make(map[string]protoparse.Message), + basePackage: basePackage, + }, nil +} + +func (g *CSharpGen) Generate() error { + g.init() + + if err := g.gogs(); err != nil { + return err + } + if err := g.register(); err != nil { + return err + } + + return nil +} + +func (g *CSharpGen) init() { + g.componets = new(Components) + for _, m := range g.proto.Message { + g.messages[m.Name] = m + } + //find components + for _, m := range g.proto.Message { + if m.Comment == nil { + continue + } + if protoparse.CommentsContains(m.Comment.Lines, "@gogs:Components") { + for _, e := range m.Elements { + if v, ok := e.(*proto.NormalField); ok { + com := g.parseComponent(v) + g.componets.Components = append(g.componets.Components, com) + } + } + } + } + + for _, c := range g.componets.Components { + pterm.Success.Printf("Component: %s [%d]\n", c.Name, c.Index) + for _, f := range c.Fields { + pterm.Success.Printf(" Field: %s [%d][%v]\n", f.Name, f.Index, f.ServerMessage) + } + } +} + +func (g *CSharpGen) parseComponent(component *proto.NormalField) *Component { + newCompoent := &Component{} + newCompoent.Name = component.Name + newCompoent.Index = component.Sequence + newCompoent.BasePackage = g.basePackage + + for _, e := range g.messages[component.Name].Elements { + if v, ok := e.(*proto.NormalField); ok { + data := &Field{} + data.ComponentName = component.Name + data.ComponentIndex = component.Sequence + data.Name = v.Name + data.Index = v.Sequence + data.Package = g.proto.PbPackage + data.BasePackage = g.basePackage + //create action + actionValue := packet.CreateAction(packet.ServicePacket, uint8(data.ComponentIndex), uint16(data.Index)) + data.Action10 = fmt.Sprint(actionValue) + data.Action16 = fmt.Sprintf("0x%x", actionValue) + if g.messages[v.Name].Comment != nil { + if protoparse.CommentsContains(g.messages[v.Name].Comment.Lines, "@gogs:ServerMessage") { + data.ServerMessage = true + } + } + + newCompoent.Fields = append(newCompoent.Fields, data) + } + } + + return newCompoent + +} + +func (g *CSharpGen) gogs() error { + if err := templatex.With("gogs").Parse(gentemplate.CodecTpl).SaveTo(nil, g.Home+"Gogs/Codec.cs", true); err != nil { + pterm.Error.Printfln("generate file error Gogs/Codec.cs:" + err.Error()) + return err + } + if err := templatex.With("gogs").Parse(gentemplate.CodecTpl).SaveTo(nil, g.Home+"Gogs/Common.cs", true); err != nil { + pterm.Error.Printfln("generate file error Gogs/Common.cs:" + err.Error()) + return err + } + if err := templatex.With("gogs").Parse(gentemplate.CodecTpl).SaveTo(nil, g.Home+"Gogs/EventsManager.cs", true); err != nil { + pterm.Error.Printfln("generate file error Gogs/EventsManager.cs:" + err.Error()) + return err + } + if err := templatex.With("gogs").Parse(gentemplate.CodecTpl).SaveTo(nil, g.Home+"Gogs/ICodec.cs", true); err != nil { + pterm.Error.Printfln("generate file error Gogs/ICodec.cs:" + err.Error()) + return err + } + if err := templatex.With("gogs").Parse(gentemplate.CodecTpl).SaveTo(nil, g.Home+"Gogs/Messages.cs", true); err != nil { + pterm.Error.Printfln("generate file error Gogs/Messages.cs:" + err.Error()) + return err + } + if err := templatex.With("gogs").Parse(gentemplate.CodecTpl).SaveTo(nil, g.Home+"Gogs/Packet.cs", true); err != nil { + pterm.Error.Printfln("generate file error Gogs/Packet.cs:" + err.Error()) + return err + } + + return nil +} + +func (g *CSharpGen) register() error { + out := "." + if len(g.Home) > 0 { + out = g.Home + } + if !g.debugNoPb { + os.MkdirAll(out+"Model", os.ModePerm) + protocCmd := fmt.Sprintf("protoc --csharp_out=%s %s", out+"Model", g.protoFile) + if _, err := execx.Exec(protocCmd); err != nil { + fmt.Println(err.Error()) + pterm.Error.Println("run protoc error " + err.Error()) + return err + } + + } + + data := map[string]interface{}{} + data["Package"] = g.proto.PbPackage + data["Components"] = g.componets.Components + + if err := templatex.With("gogs").Parse(gentemplate.RegisterTpl).SaveTo(data, g.Home+"Model/Register.cs", true); err != nil { + pterm.Error.Printfln("generate file error Model/Register.cs:" + err.Error()) + return err + } + + return nil +} diff --git a/tools/gogs/csharp/gen_test.go b/tools/gogs/csharp/gen_test.go new file mode 100644 index 0000000..ca9c18d --- /dev/null +++ b/tools/gogs/csharp/gen_test.go @@ -0,0 +1,54 @@ +package csharp + +import ( + "os" + "testing" + + "github.com/metagogs/gogs/utils/filex" +) + +func TestNewGen(t *testing.T) { + type args struct { + proto string + basePackage string + } + tests := []struct { + name string + args args + wantErr bool + }{ + { + name: "new gen", + args: args{ + proto: "testdata/data.proto", + basePackage: "github.com/metagogs/test", + }, + wantErr: false, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + g, err := NewCSharpGen(tt.args.proto, tt.args.basePackage) + g.Home = "test/" + if (err != nil) != tt.wantErr { + t.Errorf("NewGen() error = %v, wantErr %v", err, tt.wantErr) + return + } + _ = g.Generate() + if (err != nil) != tt.wantErr { + t.Errorf("NewGen() error = %v, wantErr %v", err, tt.wantErr) + return + } + + var haveErr bool + if ok := filex.IsFileEqual("testdata/Model/Register.cs", "test/Model/Register.cs"); !ok { + t.Errorf("Init.Generate() error = %s is not equal to %s", "test/Model/Register.cs", "testdata/Model/Register.cs") + haveErr = true + } + + if !haveErr { + _ = os.RemoveAll("test") + } + }) + } +} diff --git a/tools/gogs/csharp/gentemplate/Gogs/Codec.tpl b/tools/gogs/csharp/gentemplate/Gogs/Codec.tpl new file mode 100644 index 0000000..a3d82a2 --- /dev/null +++ b/tools/gogs/csharp/gentemplate/Gogs/Codec.tpl @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using Google.Protobuf; + +namespace Gogs +{ + class ProtoEncode : IEncode + { + public byte[] Encode(IMessage msg) + { + if (msg is IMessage message) + { + return message.ToByteArray(); + } + + throw new Exception("object is not the message type"); + } + } + + class ProtoDecode : IDecode + { + static readonly Dictionary parses = new Dictionary(); + + public T Decode(byte[] data) where T : IMessage, new() + { + if (parses.TryGetValue(typeof(T).Name, out MessageParser parse)) + { + return (T)parse.ParseFrom(data); + } + + Google.Protobuf.MessageParser newParse = new Google.Protobuf.MessageParser(() => new T()); + parses[typeof(T).Name] = newParse; + return newParse.ParseFrom(data); + } + } +} \ No newline at end of file diff --git a/tools/gogs/csharp/gentemplate/Gogs/Common.tpl b/tools/gogs/csharp/gentemplate/Gogs/Common.tpl new file mode 100644 index 0000000..92222b3 --- /dev/null +++ b/tools/gogs/csharp/gentemplate/Gogs/Common.tpl @@ -0,0 +1,875 @@ +// +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: common.proto +// +#pragma warning disable 1591, 0612, 3021, 8981 +#region Designer generated code + +using pb = global::Google.Protobuf; +using pbc = global::Google.Protobuf.Collections; +using pbr = global::Google.Protobuf.Reflection; +using scg = global::System.Collections.Generic; +namespace Gogs { + + /// Holder for reflection information generated from common.proto + public static partial class CommonReflection { + + #region Descriptor + /// File descriptor for common.proto + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static CommonReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "Cgxjb21tb24ucHJvdG8SBGdvZ3MiFAoEUGluZxIMCgR0aW1lGAEgASgJIhQK", + "BFBvbmcSDAoEdGltZRgBIAEoCSIsCgpDb21wb25lbnRzEh4KB05ldHdvcmsY", + "ASABKAsyDS5nb2dzLk5ldHdvcmsiPQoHTmV0d29yaxIYCgRQaW5nGAEgASgL", + "MgouZ29ncy5QaW5nEhgKBFBvbmcYAiABKAsyCi5nb2dzLlBvbmdCCFoGL3By", + "b3RvYgZwcm90bzM=")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { }, + new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::Gogs.Ping), global::Gogs.Ping.Parser, new[]{ "Time" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Gogs.Pong), global::Gogs.Pong.Parser, new[]{ "Time" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Gogs.Components), global::Gogs.Components.Parser, new[]{ "Network" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Gogs.Network), global::Gogs.Network.Parser, new[]{ "Ping", "Pong" }, null, null, null, null) + })); + } + #endregion + + } + #region Messages + /// + /// @gogs:Request + /// + public sealed partial class Ping : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Ping()); + private pb::UnknownFieldSet _unknownFields; + [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::Gogs.CommonReflection.Descriptor.MessageTypes[0]; } + } + + [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 Ping() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Ping(Ping other) : this() { + time_ = other.time_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Ping Clone() { + return new Ping(this); + } + + /// Field number for the "time" field. + public const int TimeFieldNumber = 1; + private string time_ = ""; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Time { + get { return time_; } + set { + time_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as Ping); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(Ping other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Time != other.Time) 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 (Time.Length != 0) hash ^= Time.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 (Time.Length != 0) { + output.WriteRawTag(10); + output.WriteString(Time); + } + 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 (Time.Length != 0) { + output.WriteRawTag(10); + output.WriteString(Time); + } + 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 (Time.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Time); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(Ping other) { + if (other == null) { + return; + } + if (other.Time.Length != 0) { + Time = other.Time; + } + _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) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Time = input.ReadString(); + 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) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Time = input.ReadString(); + break; + } + } + } + } + #endif + + } + + public sealed partial class Pong : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Pong()); + private pb::UnknownFieldSet _unknownFields; + [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::Gogs.CommonReflection.Descriptor.MessageTypes[1]; } + } + + [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 Pong() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Pong(Pong other) : this() { + time_ = other.time_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Pong Clone() { + return new Pong(this); + } + + /// Field number for the "time" field. + public const int TimeFieldNumber = 1; + private string time_ = ""; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Time { + get { return time_; } + set { + time_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as Pong); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(Pong other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Time != other.Time) 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 (Time.Length != 0) hash ^= Time.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 (Time.Length != 0) { + output.WriteRawTag(10); + output.WriteString(Time); + } + 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 (Time.Length != 0) { + output.WriteRawTag(10); + output.WriteString(Time); + } + 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 (Time.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Time); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(Pong other) { + if (other == null) { + return; + } + if (other.Time.Length != 0) { + Time = other.Time; + } + _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) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Time = input.ReadString(); + 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) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Time = input.ReadString(); + break; + } + } + } + } + #endif + + } + + /// + /// @gogs:Components + /// + public sealed partial class Components : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Components()); + private pb::UnknownFieldSet _unknownFields; + [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::Gogs.CommonReflection.Descriptor.MessageTypes[2]; } + } + + [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 Components() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Components(Components other) : this() { + network_ = other.network_ != null ? other.network_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Components Clone() { + return new Components(this); + } + + /// Field number for the "Network" field. + public const int NetworkFieldNumber = 1; + private global::Gogs.Network network_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::Gogs.Network Network { + get { return network_; } + set { + network_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as Components); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(Components other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Network, other.Network)) 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 (network_ != null) hash ^= Network.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 (network_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Network); + } + 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 (network_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Network); + } + 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 (network_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Network); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(Components other) { + if (other == null) { + return; + } + if (other.network_ != null) { + if (network_ == null) { + Network = new global::Gogs.Network(); + } + Network.MergeFrom(other.Network); + } + _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) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (network_ == null) { + Network = new global::Gogs.Network(); + } + input.ReadMessage(Network); + 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) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (network_ == null) { + Network = new global::Gogs.Network(); + } + input.ReadMessage(Network); + break; + } + } + } + } + #endif + + } + + public sealed partial class Network : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Network()); + private pb::UnknownFieldSet _unknownFields; + [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::Gogs.CommonReflection.Descriptor.MessageTypes[3]; } + } + + [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 Network() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Network(Network other) : this() { + ping_ = other.ping_ != null ? other.ping_.Clone() : null; + pong_ = other.pong_ != null ? other.pong_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Network Clone() { + return new Network(this); + } + + /// Field number for the "Ping" field. + public const int PingFieldNumber = 1; + private global::Gogs.Ping ping_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::Gogs.Ping Ping { + get { return ping_; } + set { + ping_ = value; + } + } + + /// Field number for the "Pong" field. + public const int PongFieldNumber = 2; + private global::Gogs.Pong pong_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::Gogs.Pong Pong { + get { return pong_; } + set { + pong_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as Network); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(Network other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Ping, other.Ping)) return false; + if (!object.Equals(Pong, other.Pong)) 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 (ping_ != null) hash ^= Ping.GetHashCode(); + if (pong_ != null) hash ^= Pong.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 (ping_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Ping); + } + if (pong_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Pong); + } + 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 (ping_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Ping); + } + if (pong_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Pong); + } + 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 (ping_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Ping); + } + if (pong_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Pong); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(Network other) { + if (other == null) { + return; + } + if (other.ping_ != null) { + if (ping_ == null) { + Ping = new global::Gogs.Ping(); + } + Ping.MergeFrom(other.Ping); + } + if (other.pong_ != null) { + if (pong_ == null) { + Pong = new global::Gogs.Pong(); + } + Pong.MergeFrom(other.Pong); + } + _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) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (ping_ == null) { + Ping = new global::Gogs.Ping(); + } + input.ReadMessage(Ping); + break; + } + case 18: { + if (pong_ == null) { + Pong = new global::Gogs.Pong(); + } + input.ReadMessage(Pong); + 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) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (ping_ == null) { + Ping = new global::Gogs.Ping(); + } + input.ReadMessage(Ping); + break; + } + case 18: { + if (pong_ == null) { + Pong = new global::Gogs.Pong(); + } + input.ReadMessage(Pong); + break; + } + } + } + } + #endif + + } + + #endregion + +} + +#endregion Designer generated code diff --git a/tools/gogs/csharp/gentemplate/Gogs/EventsManager.tpl b/tools/gogs/csharp/gentemplate/Gogs/EventsManager.tpl new file mode 100644 index 0000000..5241600 --- /dev/null +++ b/tools/gogs/csharp/gentemplate/Gogs/EventsManager.tpl @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using Google.Protobuf; + +namespace Gogs +{ + public static class EventsManager + { + static readonly Dictionary> s_Events = new Dictionary>(); + + static readonly Dictionary> s_EventLookups = + new Dictionary>(); + + public static void AddListener(Action evt) where T : IMessage + { + if (!s_EventLookups.ContainsKey(evt)) + { + Action newAction = (s, e) => evt(s, (T)e); + s_EventLookups[evt] = newAction; + + if (s_Events.TryGetValue(typeof(T), out Action internalAction)) + s_Events[typeof(T)] = internalAction += newAction; + else + s_Events[typeof(T)] = newAction; + } + } + + public static void RemoveListener(Action evt) where T : IMessage + { + if (s_EventLookups.TryGetValue(evt, out var action)) + { + if (s_Events.TryGetValue(typeof(T), out var tempAction)) + { + tempAction -= action; + if (tempAction == null) + s_Events.Remove(typeof(T)); + else + s_Events[typeof(T)] = tempAction; + } + + s_EventLookups.Remove(evt); + } + } + + public static void Broadcast(string name, IMessage evt) + { + if (s_Events.TryGetValue(evt.GetType(), out var action)) + action.Invoke(name, evt); + } + + public static void Clear() + { + s_Events.Clear(); + s_EventLookups.Clear(); + } + } +} \ No newline at end of file diff --git a/tools/gogs/csharp/gentemplate/Gogs/ICodec.tpl b/tools/gogs/csharp/gentemplate/Gogs/ICodec.tpl new file mode 100644 index 0000000..538dfe9 --- /dev/null +++ b/tools/gogs/csharp/gentemplate/Gogs/ICodec.tpl @@ -0,0 +1,13 @@ +using Google.Protobuf; +namespace Gogs +{ + public interface IEncode + { + public byte[] Encode(IMessage msg); + } + + public interface IDecode + { + public T Decode(byte[] data) where T : IMessage, new(); + } +} \ No newline at end of file diff --git a/tools/gogs/csharp/gentemplate/Gogs/Messages.tpl b/tools/gogs/csharp/gentemplate/Gogs/Messages.tpl new file mode 100644 index 0000000..bd5581c --- /dev/null +++ b/tools/gogs/csharp/gentemplate/Gogs/Messages.tpl @@ -0,0 +1,113 @@ +using System; +using System.Collections.Generic; +using System.Reflection; +using Google.Protobuf; + +namespace Gogs +{ + class Messages + { + + public const int CODEC_JSON_DATA_NO_HEADER = 0; + public const int CODEC_JSON_DATA = 1; + public const int CODEC_PROTO_DATA = 2; + + + private static Messages instance = null; + + public static IEncode _encode = new ProtoEncode(); + public static int _encodeType = CODEC_PROTO_DATA; + public static Dictionary _decodes = new Dictionary(); + + + public static Messages Instance() + { + if (instance == null) + { + instance = new Messages(); + instance.AddDecode(CODEC_PROTO_DATA, new ProtoDecode()); + // init common message + Dispatch.AddField("Ping", typeof(Ping), Packet.CreateAction(1, 1, 1)); + Dispatch.AddField("Pong", typeof(Pong), Packet.CreateAction(1, 1, 2)); + } + return instance; + } + + public static void Message(string name, byte[] data) + { + if(Instance().Decode(data,out Packet packet)) + { + EventsManager.Broadcast(name, (IMessage)packet.obj); + } + } + + public void SetEncode(IEncode e, int type) + { + _encode = e; + _encodeType = type; + + } + + public void AddDecode(int t, IDecode d) + { + _decodes[t] = d; + } + + public bool Encode(Object msg, out Packet packet) + { + packet = null; + int action = Dispatch.GetActionByName(msg.GetType().Name); + if(msg is IMessage message) + { + byte[] data = _encode.Encode(message); + packet = Packet.NewPacketWithHeader(data, 1, _encodeType, action); + return true; + } + + return false; + + } + + public bool Decode(byte[] data, out Packet packet) + { + if (!Packet.ParsePacket(data, out packet)) + { + return false; + } + + if(_decodes.TryGetValue(packet.GetEncodeType(), out IDecode decode)) + { + Type t = Dispatch.GetTypeByAction(packet.GetActionKey()); + + MethodInfo mi = decode.GetType().GetMethod("Decode").MakeGenericMethod(new Type[] { t }); + packet.obj = mi.Invoke(decode, new object[]{ packet.data }); + return true; + } + + return false; + } + + } + + class Dispatch + { + static readonly Dictionary nameWithAction = new Dictionary(); + static readonly Dictionary actionWithName = new Dictionary(); + + public static void AddField(String fieldName, Type t, int action) + { + nameWithAction[fieldName] = action; + actionWithName[action] = t; + } + + public static int GetActionByName(String fieldName) + { + return nameWithAction[fieldName]; + } + + public static Type GetTypeByAction(int action) + { + return actionWithName[action]; + } + } +} diff --git a/tools/gogs/csharp/gentemplate/Gogs/Packet.tpl b/tools/gogs/csharp/gentemplate/Gogs/Packet.tpl new file mode 100644 index 0000000..743d38a --- /dev/null +++ b/tools/gogs/csharp/gentemplate/Gogs/Packet.tpl @@ -0,0 +1,88 @@ +using System; +using System.Collections.Generic; + +namespace Gogs +{ + public class Packet + { + public byte[] header; + public byte[] data; + public Object obj; + + public const int HeaderLength = 8; + public const int HeaderFlag = 0X7e; + + + public static int CreateAction(int packetType, int module, int action) + { + return packetType << 22 | module << 16 | action; + } + + public static bool ParsePacket(byte[] data, out Packet packet) + { + packet = null; + if (data.Length < 8) + { + return false; + } + if(data.Length > 1 << 24) + { + return false; + } + byte[] header = data[0..8]; + if(header[0] != HeaderFlag) + { + return false; + } + packet = new Packet(); + packet.header = header; + packet.data = data[8..data.Length]; + + return true; + } + + public static Packet NewPacketWithHeader(byte[] data, int version, int encodeType, int action) + { + byte[] header = new byte[8]; + header[0] = 0x7E; + header[1] = (byte)(version << 3 | encodeType); + header[2] = (byte)(action >> 16); + header[3] = (byte)(action >> 8); + header[4] = (byte)(action); + + int len = data.Length; + header[5] = (byte)(len >> 16); + header[6] = (byte)(len >> 8); + header[7] = (byte)(len); + + + + Packet packet = new Packet(); + packet.header = header; + packet.data = data; + + return packet; + + } + + public byte[] ToByteArray() + { + List packet = new List(); + packet.AddRange(header); + packet.AddRange(data); + return packet.ToArray(); + } + + + public int GetEncodeType() + { + return header[1] & (0xff >> 5); + } + + public int GetActionKey() + { + return (int)(header[2] << 16) | (int)(header[3] << 8) | (int)header[4]; + } + } + +} diff --git a/tools/gogs/csharp/gentemplate/Register.tpl b/tools/gogs/csharp/gentemplate/Register.tpl new file mode 100644 index 0000000..d8c295c --- /dev/null +++ b/tools/gogs/csharp/gentemplate/Register.tpl @@ -0,0 +1,60 @@ +using System; +using Gogs; +using Google.Protobuf; +namespace {{.Package | CamelCase }} +{ + public static class GInit + { + public const int SERVICE_TYPE = 2; + + public static void Init() + { + {{range .Components}}{{range .Fields}} + Dispatch.AddField("{{.Name}}", typeof({{.Name}}), Packet.CreateAction(SERVICE_TYPE, {{.ComponentIndex}}, {{.Index}})); // {{.Action16}} {{.Action10}} + {{end}}{{end}} + Gogs.Messages.Instance(); + } + } + + public static class GMessages + { + public static void Message(string name, byte[] data) + { + Gogs.Messages.Message(name, data); + } + + public static byte[] GetPong() + { + Pong pong = new Pong(); + return pong.ToPacketData(); + } + } + + public static class MessageExtension + { + public static byte[] ToPacketData(this IMessage obj) + { + if (Gogs.Messages.Instance().Encode(obj, out Gogs.Packet packet)) + { + return packet.ToByteArray(); + } + + return new byte[] { }; + } + } + + + public static class GEvents + { + public static void OnPing(Action action) + { + Gogs.EventsManager.AddListener(action); + } + {{range .Components}}{{range .Fields}} + public static void OnLoginSuccess(Action action) + { + Gogs.EventsManager.AddListener<{{.Name}}>(action); + } + {{end}}{{end}} + } +} diff --git a/tools/gogs/csharp/gentemplate/template.go b/tools/gogs/csharp/gentemplate/template.go new file mode 100644 index 0000000..ad46993 --- /dev/null +++ b/tools/gogs/csharp/gentemplate/template.go @@ -0,0 +1,26 @@ +package gentemplate + +import ( + _ "embed" +) + +//go:embed Gogs/Codec.tpl +var CodecTpl string + +//go:embed Gogs/Common.tpl +var CommonTpl string + +//go:embed Gogs/EventsManager.tpl +var EventsManagerTpl string + +//go:embed Gogs/ICodec.tpl +var ICodecTpl string + +//go:embed Gogs/Messages.tpl +var MessagesTpl string + +//go:embed Gogs/Packet.tpl +var PacketTpl string + +//go:embed Register.tpl +var RegisterTpl string diff --git a/tools/gogs/csharp/testdata/Model/Register.cs b/tools/gogs/csharp/testdata/Model/Register.cs new file mode 100644 index 0000000..e59fa22 --- /dev/null +++ b/tools/gogs/csharp/testdata/Model/Register.cs @@ -0,0 +1,67 @@ +using System; +using Gogs; +using Google.Protobuf; +namespace Model +{ + public static class GInit + { + public const int SERVICE_TYPE = 2; + + public static void Init() + { + + Dispatch.AddField("BindUser", typeof(BindUser), Packet.CreateAction(SERVICE_TYPE, 1, 1)); // 0x810001 8454145 + + Dispatch.AddField("BindSuccess", typeof(BindSuccess), Packet.CreateAction(SERVICE_TYPE, 1, 2)); // 0x810002 8454146 + + Gogs.Messages.Instance(); + } + } + + public static class GMessages + { + public static void Message(string name, byte[] data) + { + Gogs.Messages.Message(name, data); + } + + public static byte[] GetPong() + { + Pong pong = new Pong(); + return pong.ToPacketData(); + } + } + + public static class MessageExtension + { + public static byte[] ToPacketData(this IMessage obj) + { + if (Gogs.Messages.Instance().Encode(obj, out Gogs.Packet packet)) + { + return packet.ToByteArray(); + } + + return new byte[] { }; + } + } + + + public static class GEvents + { + public static void OnPing(Action action) + { + Gogs.EventsManager.AddListener(action); + } + + public static void OnLoginSuccess(Action action) + { + Gogs.EventsManager.AddListener(action); + } + + public static void OnLoginSuccess(Action action) + { + Gogs.EventsManager.AddListener(action); + } + + } +} diff --git a/tools/gogs/csharp/testdata/data.proto b/tools/gogs/csharp/testdata/data.proto new file mode 100644 index 0000000..787c127 --- /dev/null +++ b/tools/gogs/csharp/testdata/data.proto @@ -0,0 +1,37 @@ +syntax = "proto3"; + +package model; +option go_package = "/model"; + +// the Main Components +// only have one, include some child componetns +// all the message in this struct is the componetns +// @gogs:Components +message Components { + // don't care the filed name, we never use it + // but you should be careful about the filed number + BaseWorld BaseWorld = 1; +} + +// componetns, +// all the messages are used for communication between the client and the server +message BaseWorld { + // don't care the filed name, we never use it + // but you should be careful about the filed number + BindUser BindUser = 1; + + BindSuccess BindSuccess = 2; +} +// common message +// the message is used for the client and the server to communicate +// the corresponding method will be generated according to this message +message BindUser { + string uid = 1; +} + + +// it is only used for messages sent from the server to the client +// the server will not receive the message and will not generate the corresponding method +// @gogs:ServerMessage +message BindSuccess { +} \ No newline at end of file diff --git a/tools/gogs/csharp/testdata/main.go b/tools/gogs/csharp/testdata/main.go new file mode 100644 index 0000000..caf5019 --- /dev/null +++ b/tools/gogs/csharp/testdata/main.go @@ -0,0 +1,45 @@ +package main + +import ( + "github.com/metagogs/gogs" + "github.com/metagogs/gogs/acceptor" + "github.com/metagogs/gogs/config" + "github.com/metagogs/test/internal/server" + "github.com/metagogs/test/internal/svc" + "github.com/metagogs/test/model" +) + +func main() { + + config := config.NewConfig() + + app := gogs.NewApp(config) + app.AddAcceptor(acceptor.NewWSAcceptror(&acceptor.AcceptroConfig{ + HttpPort: 8888, + Name: "base", + Groups: []*acceptor.AcceptorGroupConfig{ + &acceptor.AcceptorGroupConfig{ + GroupName: "base", + }, + }, + })) + + app.AddAcceptor(acceptor.NewWebRTCAcceptor(&acceptor.AcceptroConfig{ + HttpPort: 8889, + UdpPort: 9000, + Name: "world", + Groups: []*acceptor.AcceptorGroupConfig{ + &acceptor.AcceptorGroupConfig{ + GroupName: "data", + }, + }, + })) + + ctx := svc.NewServiceContext(app) + srv := server.NewServer(ctx) + + model.RegisterAllComponents(app, srv) + + defer app.Shutdown() + app.Start() +} diff --git a/utils/templatex/templatex.go b/utils/templatex/templatex.go index 4458eda..27f297a 100644 --- a/utils/templatex/templatex.go +++ b/utils/templatex/templatex.go @@ -7,6 +7,8 @@ import ( "path/filepath" "strings" "text/template" + + nameUtil "github.com/metagogs/gogs/utils/name" ) const regularPerm = 0o666 @@ -26,8 +28,9 @@ func With(name string) *DefaultTemplate { name: name, } d.funcMap = template.FuncMap{ - "ToUpper": strings.ToUpper, - "ToLower": strings.ToLower, + "ToUpper": strings.ToUpper, + "ToLower": strings.ToLower, + "CamelCase": nameUtil.CamelCase, } return d } From dd935083a6a8a61985acdfccdb1e9f3926f3644f Mon Sep 17 00:00:00 2001 From: neosu Date: Fri, 23 Sep 2022 16:28:51 +0800 Subject: [PATCH 2/6] add the flag for the csharp that only generate part of the code --- tools/gogs/cmd/csharp.go | 22 +++++----------------- tools/gogs/cmd/flags.go | 1 + tools/gogs/cmd/proto.go | 2 +- tools/gogs/csharp/gen.go | 26 +++++++++++++++----------- 4 files changed, 22 insertions(+), 29 deletions(-) diff --git a/tools/gogs/cmd/csharp.go b/tools/gogs/cmd/csharp.go index d708910..b1b2a9f 100644 --- a/tools/gogs/cmd/csharp.go +++ b/tools/gogs/cmd/csharp.go @@ -4,15 +4,15 @@ import ( "fmt" "os" - "github.com/metagogs/gogs/tools/gogs/gen" - "github.com/metagogs/gogs/utils/gomod" + "github.com/metagogs/gogs/tools/gogs/csharp" "github.com/pterm/pterm" "github.com/spf13/cobra" ) func init() { RootCmd.AddCommand(csharpCmd) - csharpCmd.Flags().StringVarP(&protoFile, "file", "f", "", "proto文件") + csharpCmd.Flags().StringVarP(&protoFile, "file", "f", "", "proto file") + csharpCmd.Flags().BoolVarP(&gogsFiles, "gogs", "g", false, "should generate gogs framework code") } var csharpCmd = &cobra.Command{ @@ -24,21 +24,9 @@ var csharpCmd = &cobra.Command{ pterm.Error.Printfln("proto file is empty") os.Exit(1) } - if _, err := os.Stat("go.mod"); err != nil { - pterm.Error.Printfln("go.mod not found") - os.Exit(1) - } - goModule, err := gomod.GetMod() - if err != nil { - pterm.Error.Printfln("get go mod error: " + err.Error()) - os.Exit(1) - } - if !goModule.IsInGoMod() { - pterm.Error.Printfln("not in go mod mode") - os.Exit(1) - } - gen, err := gen.NewGen(protoFile, goModule.Path) + fmt.Println(gogsFiles) + gen, err := csharp.NewCSharpGen(protoFile, gogsFiles) if err != nil { fmt.Println(err) } diff --git a/tools/gogs/cmd/flags.go b/tools/gogs/cmd/flags.go index c9f6353..0850a9a 100644 --- a/tools/gogs/cmd/flags.go +++ b/tools/gogs/cmd/flags.go @@ -2,4 +2,5 @@ package cmd var ( protoFile string + gogsFiles bool ) diff --git a/tools/gogs/cmd/proto.go b/tools/gogs/cmd/proto.go index f62087a..3f2aa40 100644 --- a/tools/gogs/cmd/proto.go +++ b/tools/gogs/cmd/proto.go @@ -12,7 +12,7 @@ import ( func init() { RootCmd.AddCommand(protoCmd) - protoCmd.Flags().StringVarP(&protoFile, "file", "f", "", "proto文件") + protoCmd.Flags().StringVarP(&protoFile, "file", "f", "", "proto file") } var protoCmd = &cobra.Command{ diff --git a/tools/gogs/csharp/gen.go b/tools/gogs/csharp/gen.go index bfee99a..abfabd6 100644 --- a/tools/gogs/csharp/gen.go +++ b/tools/gogs/csharp/gen.go @@ -45,27 +45,31 @@ type CSharpGen struct { Home string logicPath []string debugNoPb bool + onlyCode bool //just generate code by proto exinclude gogs } -func NewCSharpGen(proto string, basePackage string) (*CSharpGen, error) { +func NewCSharpGen(proto string, onlyCode bool) (*CSharpGen, error) { protoPrase, err := protoparse.NewProtoParser().Parse(proto) if err != nil { return nil, err } return &CSharpGen{ - protoFile: proto, - proto: protoPrase, - messages: make(map[string]protoparse.Message), - basePackage: basePackage, + protoFile: proto, + proto: protoPrase, + messages: make(map[string]protoparse.Message), + onlyCode: onlyCode, }, nil } func (g *CSharpGen) Generate() error { g.init() - if err := g.gogs(); err != nil { - return err + if g.onlyCode { + if err := g.gogs(); err != nil { + return err + } } + if err := g.register(); err != nil { return err } @@ -164,13 +168,13 @@ func (g *CSharpGen) gogs() error { } func (g *CSharpGen) register() error { - out := "." + out := "Model" if len(g.Home) > 0 { - out = g.Home + out = g.Home + "Model" } if !g.debugNoPb { - os.MkdirAll(out+"Model", os.ModePerm) - protocCmd := fmt.Sprintf("protoc --csharp_out=%s %s", out+"Model", g.protoFile) + os.MkdirAll(out, os.ModePerm) + protocCmd := fmt.Sprintf("protoc --csharp_out=%s %s", out, g.protoFile) if _, err := execx.Exec(protocCmd); err != nil { fmt.Println(err.Error()) pterm.Error.Println("run protoc error " + err.Error()) From 51a69d2bae21c65220cd647316bec8a936866bd5 Mon Sep 17 00:00:00 2001 From: neosu Date: Fri, 23 Sep 2022 16:36:38 +0800 Subject: [PATCH 3/6] add lib for unity protobuf --- bin/csharp/Google.Protobuf.dll | Bin 0 -> 448512 bytes bin/csharp/System.Buffers.dll | Bin 0 -> 27840 bytes bin/csharp/System.Memory.dll | Bin 0 -> 143920 bytes .../System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 23600 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 bin/csharp/Google.Protobuf.dll create mode 100644 bin/csharp/System.Buffers.dll create mode 100644 bin/csharp/System.Memory.dll create mode 100644 bin/csharp/System.Runtime.CompilerServices.Unsafe.dll diff --git a/bin/csharp/Google.Protobuf.dll b/bin/csharp/Google.Protobuf.dll new file mode 100644 index 0000000000000000000000000000000000000000..356788dd316c7714af59d5ad4b94433ae0851ea7 GIT binary patch literal 448512 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 z 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 ~ixlYq(a9JJRZ$>v!Wgu0fW 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 frv%_1F7lb!Ei_9fx7MZPR7Mbm6 zPBjmpIn}(0=2VkLbDBAT<}}m1*;Zt$W}BVUO~+?|=AIXjW#&@3^N z(JVD5qFHKIqgiUMM6=BN9nCWH44P%;B{XN7PtcrgoZPL*tlZ7cIi_>&PUJW==a|W8 zmYaoWmYZ#8mYaLfoNIQVIoG^^=3KKE&3WcsH0POb(41#}K~ryjYcVpf-u&Jonse9{#;~z{ygOB`~}Fh z`6nPR&p!!yMSczP%KSyhtMX4nUXy{BoTZ<)NLbwAU|b6@LK z$Ol?qiu_0G1ae2~HONO=UuH@@Z@1owzw>F@Y(<9JY{uXH%x$w1S%Id^GZak^&uBC~ zJPXnE@SKXKuV*QmzMgB)^!40~rowX@nhMWLXevDaLetOlKAL`>thQT`d2P{{q2?(3 zz1u}*i8;?)WD;h**@$!9X6`W$nUvXM-ZdYaFU?QpPZRXydfIx5Jl#G0Ji|O=Jd-@r zJjZ)Z@|@vW?pf(cc&_x^;MwBY?s?GjxaS$q%bqtpX-|{qThDJEuaoT*I31jBPA_MW z6LlsyM>{i}`OYF|sdK)w%DLRR#<|7W=G@~v>^$lG)7j&^>wM&V>HOsU+X;Gey=}Zj z-tOKC?=bHe?~&eV-s8O|de87K_r|>m@0H%`y<5E7y$^UF_der&$@_*k?LFZA*87{+ z@n!k)eTBX*zMj5;zLCE1zN388ee-;$_|Edx`Y!gZ^{`oZr=`H%Gc<7&G)wN zL*M7VAAG<2eEw$sR{oCuZvNi>!TzX!g8yj$O#giUDgGt?^Zgh5*ZQya-|WB5f0zFu zf6D)y{}umR{tx}1`M>x7?)L?n1zH6<21){b0)qpUfg=LP1ZD*m22Kqu3tSMmB(N^< zM&QSQH`pv#7%UGC4UP^T5j;9LJ-9F!57q~-2yP5+4c;4kIJhflLWQBlp?`+vaHp}R>!rP*J@J35_Obc%FZ+No3InMnJhX+_5utth&rXkC%%>~@~j zd12=ZI$zrP=gy`$Qe0LXD?YjS{^C8wZx>f|8P;V=m+4(j?eboiPrCfr<@ByAx?a-t z)~_R)N@qN z2|a6jUfk2$Yh14>y_WQ<>$SGmo?hSf`mI;T-o1Jc>OHIXqTWk;Z|uFT_r1Me@BMM_ zuX=auGqBI7K2!Uw>T`LYZG9f=^K_pN`uy6*>08`)a^LBFYx?M^n1Twtba}a3;J*9zpekn{X+vf z4JaKjX~3}q77VyyK;wYd2ILHEGq7l2_kr^UK0olsfz1X*29*uEdeBXSo*DGcppOQ9 zIq0WBeFo1MykPKYgU=cK@ZjBp-yOVQ$TdUm8}h}FABPMcI&tW#p>GVu?}Z&UVA!Z( zbB3KgY}K&ahCMfI|FFE_>xVxx{Egx1;loB8Gh)_=%SOC7V#dgaM*cbS$Wa%Kx@1&g zbbIvKXjAmhXmMq)$|03wDyLM=tURIe%*y4JD=QO~>npFT+*H|6d2i*zmAfjxsq~NT zJi21^@X@nJpD_CL(Q8MaTUB4RrRw>rcdI_B${Evk%(yY9jyZeGwlTZM3>Z6g?5wfN z$9^=n^|-;~qT@~)w`bhDp&_=2ehKkNR#|J^?Ri9#AXkDY_R?J<5(@~@8Mf47fcHkbT=_q}_>Umf4+ z!T%l}AM8ga@ssmS_=)*ue0RD9x2^ce_^qauxed45aodJl18#rE?GD_w<8~)*cj0z7 zZuj8l<@e%tA8z;K_5f}V;%Djq!23fU!fgkBR{k(}pQt}+D)ByWd{2v?qCbtFo!%b9f&}BYxKXPrL`@dE8#WPrP5m zdq7^o&$(a5`#)a6?Nxj&dJW%g@41c%Y2R7H~1R(tyzlqlPtsgNzOJu;N2`g;`WnSj`x-GJ%C9af9HWinwL}Kh%mZ+bUB2hn*s7imta#E(^Uu6Xp zlN24xVXU%~a^g6VUC#G&PWSD;_q~~&1t~f;b?0`U?%RF3`}FB^PM_|lGcNy0@uZ%o z^n7Sc(#P137atz`tHm>8UoJi}_Fop?spq45zH97vbS1&>NUr#wi|6!w_t-xuKCb5z zW52Jf1O9PwWbB{lihzGo93A^V;K2bUK)FD>{DZ(7&|pKKKALciLuW}E`SdIc<~#bC-BFMKbR%{RER$n;@_z_@Q)S$ z%?EjZx4p-7(#Z244e*KZekr_9h4)N&U$yrkQHz&zV(dqLjCxOuc{wkJ_=_R_(wOHv zJLdIYwD_Uoa(G_}@1^j*8s4vk_cePzUVLwO{|S4`6DGW`hxclDuZ8zUc>k&J{;Q$> zzos|%{kI zv-kUpUk`ZwMu7i|u^;(M;Po%Ye(Nuh|AY7Z(+y$=;< z!h0dSU$*z-I)ml-Yy^Ba0{(A?_?scV8RDBE-U;zeh;N7Zc8K>vycgmF#cBUf2Rwf^ zynjBtzZBlT6yCoa-e0!&`-<^*3uF?;GLW4e!3a-(NiWpy&Tkc>k*hef<7)c#l2g@q5Gj zzVN<3ydMbf?|YBuTM6$*csIkl72fON-45?Bh4(Lo_b-R{m&5zl!uvPE`@ahBC*SM! zeJH#?9Nr%Z?~jJ}v*G<*c)t?fi{ZT--mixD>*4)Icz<7b|8RK!#qj=-@cz;8{!hdE z$HV(S3-7-b-hU^&|6X|i{qX)D!uzY?{k8CZ_xJh4&NT{YrQ* zhWB!KzZ%}JhxZ%d{eAX6RD9&H)4>aeoe#Wl*!jTg0scmKZ-sX^y#Gdc|9AG5bn=Lo z^JI8`D7-&x??c7+hxnfk?>`gXKN8+Q8s2|By#Gdc|AX-Uz@uLNW8wYj@SYCu9}n-B z-%mdA1A7<6rSN_wychNU3&p>@|Ht*bbLfkI>~HG*xAgoyJzpz+^MQ8`{mujbNa3-u zf9Jt>4*jm4|3lA15B=w3Z#?vShraR9ujsus_VRm9-}A;p=idLuL+ADU*rUJp$UBGr z-S@w9=+Ei-VLkuj2i`gK+aH{`_l<|%IrMiv_#u1$!w;Uj_tsas_@zTHKK@hp{=n1A zhkoek*AG$tR~~!)&<{NQhQjmrJo3!^J&)^o>X~;A{mp0ozHtBQp+EbPwflcm&l?Z* z^t`EO{+@sOo$nl4|L8l1Zt3~$kIvuoW8XD@&&$s~_23_V?5PKDJ@(XtU()k=JzvrD z;^R*}_@tiS{@_y&{=pMpJ@m$NKXu=aJvV>PbKgCG&;O$5f7A27>-pz;8Xup(XI;@ZiMFcpV9MkdVWFAFY1}U=P&B{ik=6@58waWAAIKU%EXDoKQ-~p;s0sk z^Y4A*q5oLVf3N3n>p5}wk4=t^{TGveT;ZqmJpIVAV^2TwqMpy_nb&jv*x~!H9XoM& zN6&w#=f{uznft$T^hfXit>e!ee&eAp-~U4=e(nC>eegH*{O0}t^u(9%zwd>w9(w$R z-!#~@V_&|1>V{n;13_dRbs^e6Ou{SoT?+b{fs`@iGlKfM3pFVv5)1UsaM}a@`nW+cJqpdVYB9 zDLvn*@JEYhq`5sKx%(N(+|TH~lV>DzKT{mlGok00p5uB>=y^eU%}KpKr7}OQ=Yq<( zq}-SFTv2#Muyy6x(6g=QEj>LweLVv`J9=*Fxuxf}p5H1yrqk^oyXWufTZu~JbMy1# zC#S}b9i2LT;^fhp$)l&|CXP(v3o}zk=TA?K zzc4d5K7L|i^61gxrBhQYD-%ao6q@h$78g2$$%#|fBZ$Pwn0UIobA7W#qJxe!n}cqT z_%X|Js=2aqy4~O2Z0yc%Hu`-BQv7%*e!hLXwHnGdSXP9^>qXQujUSz$q@i36r6vo} zki04brm8$sici+kkEi0O?M!QMv9Z;<(AeH?ch;?MMj??tnhdR7PMv8WI`f!?7I*uD z*4B~P?&fBzIcRq~{UZx0BKY?1Qr9}xvL{qusKrl~1&4$%AP%mLN11p07#Oa%1}iVO zcKg)h5F-UkQx6LH6UVHz1|jXZh14I@o114^omQ_gXsyoO9<(}r+CXN{k|AuLr1+E< zR>Q2UVd8k`I|wmUZy>AQLaD6d7I$<`x3*iI)gf&B+gfd9f#WA)ZG&DIS_jcJR~wr< zE$q1}XP^u@ z&s-a_$y%;swfJ%WO0`>Hp}){+5892*_S>yhP^e`eAD;rptX2nD_ga!q0B2R6w$$6z z&}Ac(KAEsjmb&Nq-Hy$eSj7Bhw=qbNdY4UFJ}R}qY_HqzpKo_=@P!wVXu>GbfTvr7 zR&T4_Xr9_k*!W_x@wZQLk+10G6JUu4ZD zZ?`jOv^#y9A}Q12ZfCI38nm02I<4+nfP1+)CNqI7yyUsg&Q>boOs~7M9ir;(E3L+A z%T|~Y!wT-R4KdJ|E;Mb~d9^1_okJG~y`AQu3O*8-uCm}9#Y@-U6ko2ipxQH)49r~B z(Q0f>_jfzZ*>10OYL%W_*=Y1<+JpYlVrjfwXcZEsm4!AWYE|{b%0f$GZ8lgwn@{86 zi+r^+SR(CX7Ps6JA$M(YjMc~FY_PR7hExk^NQRcem_8W_udI5p=$KfJ@1#M%$^zwZ zIJnl{GVjE(P)TAR2C>#1kF86I1|m^Qg;3dx^)k?&gS=V-l$SBeSB2Qjm{?r_LaLbb zKGh6!`0$xHxuF>54z53ppPk=Z4sMEK-H8Ja9Z$I8(0 z7#g2aXujRrT%GN%wwgq=0_b%`(h;(nrCGeOda1LyyV!bbr`2h;1Y+H3t)6f92N(6N z0C5o@XfobvL(+fX4FFHKTHCXm-A)U*02g;QH$zau?ACUp7h{Z$ghkJ`aH%JrE=jEd zoO^4hF$g&#wxwig>x^nx95k9Y^j>Q8d9gZJE4CXQMV&({kcra7Vzwk;3u;CB^1`R^ zZA!h+8f#lL(%D8uc2XE-)eP8U0}fUPNN4fwm2k8bGh1X z-BLWE3xt7UL$ce@qAR#uFts2KE;%9y@bTyu@FINfTBEU&fKuQk>uCyKdFB}$!F8n@23 z2ZPPlTxYf2=qQto&@k9)9|lu~ugamV#(D}`>Y>n1kC59}I?o-#${j+UJ4DFs-|fNS z3cAO07Vn39CrHNc5mfWDY zt*it_E&Zg|xnlfi@;D)SuP%LgiZ2ezQd=AZ*)r;MiHe26%gLk?2SlFlu~M?|XnhF~ zwB+>@&K4&MO$_IV6D5Z%C*+@;hzv#47FFCZMWyVXZEZ@%RHg-Koib`jB)-||!2%`< zDb>akY{o0c>9$GL4b3>k7#Fx!1$tf7+UpLw6Sa9bQ4A)En;O^2+R!LY4@y2$NWGl( zj>CN5lsIbO;@6Ym>$3ACmc_JVA+6q%la}Dar@Xb{6Xd$7r5ZPdM~;6s6q7y_ld-QS zi|do#6O+Ztiuk>>31fNabIg%NX>^}DcFZ`Lvz!yha^9pEbs7&*ILz4?rSD@n@+NYr z;0R8<$%~3`FR6@y${M^$xfVJ%wMMMYH2N*R(WDK*rEUo1+)G(@e<4q@dEAMo}?P+ zU3ij$p{34o6pw8z0kL%@Ak)#skdBp9uaN4kQhiLFB%e}qs*Y(Sm5jhLLdnM~V2e3{ zD|d~+z3BR+(6A$E9V@O|`BAwP%Ez<%ju+Q0nkAp8&FdFz!Uow0W1bYriIc^;3{uNW z^SU~=>srb3V9lZD8aEpbn%!tMZy3C<+@s*Lo2^D~R073I=ZU2M4bKz1kzc6?H^vdPw zrL!xGbC;*DOfOx!qWf?iTtZf^%$=Egt$1^|Z7YT5+D>a_rI6wvfpw)=ZEg2jO{CkE zVh!1MrI00XrMS`N|CR}K%Du5I*{-oFArlR@udiDM&0@{|Mx(c#0VLnuY?H6W0(P_!ByvmHD>1IsyNJ~KC?IYip4B7(NYpceqEt+mF^<{-p6eAvDT z0|}7rZeLcq90Hm*ZGa1P#kP#fEtdmio?R)dGZ83cYB4}_v#lyKKo5ncpFR+sBw|Rv zF82&zwU=?a(h@{&ot5HxYrU;kyI;x^8A*t+TRmt)6-opL4|R8^)Aeb!QtWiZLt8x& zyGGa%RgV}2q3tbn*19W&y6<|cC-l{jEiIMef&z+XG&-w|-sFKxVMYde+eqlmXz8`pzAek6w@~Dv)-^g^y~Ns9MH8@}<_7ZE z7Az?xB*3622BoYC5@w1Nu2b}g|ENav3Q?mbB+l@^AH<-QH&VI(mc&2lKr~vv4M6CXCFQVIyIT!&8ht zJb0!x@Bk=D`u50;7+C2A^T&#>4^2&%W|5#_ji`g+HgNwsJo0E~;`P)TkFO^io38_7 ziBQf^br8`oF!A|%VL98cr-mj!)`5v<)>DlC)q!PC4b@vR!1^Z{ zKddK>VvqGaft>}gW`h$%e+Yrd=IR9mo>T`17F7p3$ErgE1FM7K*zmJDd@sIM&$nIY z1oaH8a~Wf(Cue-ZlbA~jecxj$Mr>FI9&Xceq3^0%j6^G~#b+CxpdHU?c|uNJa%%>` z!lc&yv$WG*o_!+B?2WZt3`VTn?02SlIm7X|Z=-v--)kB&fiEqr8Y@pRT5G5%Me9fN zhTaBibWmFM>41Fa{-wS9=}2xBcxg$oPb?WXJ9X-aRMAltm~n5<#AHA4EL!c)Yt0|b z-EOv8+6gb%jl9xo?wC|jO-dYgwbq&S@%NF7QGM- zG~#)PNU#b?^x85j%z8)Pn_icq*3%ce15C!tGUavpEXrhD=%3cIN9dMq*zFi!vM=UJLyz67|Zc2st#wHx zjG80SD^#E28a-e0PPaB00A-=^t=`=2jfOf`@sia^#Hegws=ag3xYW<~tkIqjLu>?W61lp7a=AT+74^DSv7i+9bqLbmrrbh{XwY9nVa;JN%gLs`K zE%eWHyX%`Rv!7kxS=%QGa?6rms!A`XZmg`#s14#LUa9uU)lI&oJ)F2N&l=8NvYO$f zz;}idM)c@#rcm&30&?^)6d7X}I}-ulvX0*?vE)L-MV=E6lXl=b>2R{m zyJ4_Rp^K)D4ky|q?9c4(o9;|>_+u;Cct&qH(MsMcQN9?r+Wl7CsB|}r`VQZ4nc=g$ z%pPlz6;#~mz_lDSyO~b+>Hu4A_ezB1Z9Wq55$8d`^tzEyy z{c5N$N4RJW=LzbcO(eq-jyj?+<3)R<<;-}*rx#0oaYSP1Zg}X3RD||DlC+I1YttTy zZbr#j@QA{#Nh9EnFIA67EP2(4v}FyZyBCyV)$ph|YF7HRq^?10U8c9;Z0ARtl=jRR z4NAiqmTD%a5jh$Xlm^4_ssKNn9{P7ULELlGdUv+F(-~1Pl1=0G@ONg08V1kG=DRMR zf#DQ}|B5V|65&UrmSeR~maT0$0M)03Btc5n@@G?`$R}uF3_kAOdMvp2dFG3)Takz0 zT@a*LC#uBWaE}lvc)Bzf4=mnjZ=Y`{#XgfCdk6)YK=dM;xhJk!7V{Qy-xO@A&7}=Z z=#8#qWm7=Q*p>^=TA@ux;cdzZ0ig$sIWp=sFJruAd6@vZm<411Ki~+-qb(YH~x~TC(Yy zTwBIv5ch=X)ti>#jCm8u%Zl8wDJ(O@<;2k5++SE+tbpc2fGHu#Z220`Ui5x zBec6_omob#7t2^^L>adUctIXpOFexU%r1d?b$()NTgs1U-@31V#Fcof44q1wcUD&n zQ}{XUK*TsRERP#1IUrz@gQV8R&q+NKw+5}E6tkjIG!&EomYx>`Q3sUCd?oEOTFH6b zzRdxl^c>`rRCQ*yehK_i&T|s?yIV;Mj|mV<46Cs*xYUys4>E{=<&MdSkeZQ3gu~5a z*yPg~Ib-KZf*h3{CxJp^p5Rp%qvF~z=$;BO29k2^iqYs!5aV0EC0Yo7v))_FujHGw z^3B-MykO#mZQDem<<70IILa!wh@0ITtzw3qy%0`ToQv4s)>sUfL&XJ&nUz^ppJiGv zjBaH^S#RBbbwl&FoPqL06k;uNqKt-4DHa)UshdUQbEMtVzSXJh-(7ceo<=0T#8-O!0i!#Nts7;+LPHxS-46;V$fLRZ0 z>RABDbiXe_cysp^Tty`ltd=Q}kV*h`mj#p&3ZZAplrmy?m9cB zO+(FP@?h(9WX1R`cPj>#wC0!@+|sozveQe^g?`0Sj$~GL1Cz?Qtd&>*~W zd6ZK*Ar=?${M1-<*}Bx3m*BmlOcVmy$;+ZMn3aPJz}d#Oy#v1zrMa6#^yz{2X>_TJk8_(SH{& z73sIM8)lwj0aiv;h0Tc)pw6xWnrNA2@gjHE#blIV zZfvc>UOF|tvSR$u3ejGX<hjtfs^c5#L^x^jl3V3s~lOav76R2CIUMusF>v?rdulw%-rz zGv!*)5-E}HeEUZBsn-V{DPzQ;9F&w4J8r416CMeii#!QBv{a>}1&thLZyV0Akfqd1 z*ZW;Ic@rd}v^Z#OOO5UBtZ$@5XJ+zQ+G^eE_HLvE8C`aCAZQnrcUA#yo@}Png-!~` z^3S$4_!-<3T@;R#HFg1F<5l++98Say5cf43k)d1>FWH5*+WpbRYb{u7ukWarM%Etr zN+mH8fB$N`-`0>WbrWX6Lg}{R1fJh)tjo$3$=`|H>b%n0Y}~d`mVSD-BcD%ohktNyMXXg+` zW!F)+&TdKwQWY&yE3V7eaFC};7{Z&uq#~)R7LIzVMew?xoG_MHxCg$6-Ce}^i33=r zJhZsc-Pv4qJ?7^ACmS=|*$ z#Np0|Q^h3%Pj%NoR(%Z?FsMPTysj@ttH6jNa0y!Ymo`d?y5!yzm zbTu$pBE|TW1Mmrf6hnV^IFg=+Bsbr76Rt>jrnz~c-SGrJlgSkJIA&`PQN=~uc=b4B zlE<@F=3rH+>6D6CsCsi-JL)j&nL04^P95yi2X|7hL;r256&cDV*k0Q;mMj`hD2T>9 zV(vd445DgCu%pQ71C5Ai-QzSnkK3L>4yaolYCU@7Opr^$AtEnzF#=KMRGI{JbKl^2 zMBsD@oeBVaDgd-bjYSQLv9BdZ?c}*2StU9*RlqVoRpO&;-}MaCX=fiQ2{og1B`sQ9 zE5OX~S%H^!%nCHKKUUz$x>5n74uEF`7}feJa7YiXB$w(!1)6043fRQ@3dAM%3Mk`v z6?l~oRg#=Wj3z4Z+VrTT<&ivGT&x|Ts3cylou;THVhWc*JRY5>q|H`OQB=|x=_pH@ z4?{dYQOWhH`IcrRYf5H$oT8HVJjW?25Oqc6WJM*>Osf@0<}z1-`!bbJ9A|HpOmS}l zJ7y*8K4&B<8O=el^eQr5&r+C|Wpc9RX6O}Y|PIi2vlC+pkQdHpDShiyl6=2ky{E$Q?X*C~wTYYQO)MbD=(CD>3 zqa#6$gx6=dl{*Bqa)+Q{RUQdvBRnmdDK;d0G;XKG4Qb^jN3{%PN!zj+X!$KS^@8 zQ9Xya@Sa14vPkIn>wODBk!Ln8-+V%weqO;P8qW@>)F>BN5lV&tkvadrO-92cAh+r zdE{9c8Tf*4x#v248Q=WF*hLnLQ#F)nBqjCAqJ!{`lx6~Bp3yzWa|rrC9%r8AaXZy) zfWUBn7c8PAmdB6PB3jEY}VoWT3e;^W9)gp zF3!63oh)ZhjdfGFH7;_--_|uNIwh-cFzFM7awJk`&=6}mkPQeDFEnPQnW86JBBqmwcgGt&8l@oVBO>*_^qfDr72cQi%-8|VoG>P{RQlLB35jtf|bXrJE$ zi0zmFyS;&VERYCl+5@egLr|w0@q|-tEmpN zn(9EWX%tj7jRIq{2$CMZTheSV!)iYNNMzGDT~|_Res5 zr@v9mZ}MNrI4&HM!Fj~2X%^AC%JxSvuo;N0eO$DsU*NI_?wtx(c%bjfl#Z6RUNDhzo%{)|8oidl& zlq!C2xM+81k#Kp_NMW`rBQjjvoH$a{Q?-?wKug^eUSq49#X0wR5&)KZjl?5wj zdfZaiTiR%JF7-<2dF?6XAj-D&o~?4j(M$?Xd>9wpt=5475s!=zO`JY(O7x=Ywg@YA z2xv_nf`+<=;7o-}J+^cugGA4!<$SimN%g;bv>*)=~F1gq2r4lotl z{5#M=8}5yXIbF`SA7Ltr;=bf*PQk&!bG4+X%92(vE1C zc66Sk67H3wt_$v!&q`t__pB=`smv$N6%lhLEk^`D^UFZGOGFi<^&xR{%Vg&TEVO<7 z#TSQmAzYmc(*Kb-cqPx5Y^04!ovLOsq)IJxzKc{R7HTp3#Iyj5iYK7c>6ns5+2ynV zoB$oONZ$VD8fq|`{T9;fx3^J*4l3va*@A2bM|;jXovBUEjyxYb1)QO!ca@ zn43y+!NpWGw_Q}ghQ$ats5|Ef&PtW9NHuX~RHD2?vdbcE?k#E?*Cbv1<1Dh&ErarC zci45LVscWv6Gja169)^wCD=smMcl8V=$c1qajvT(E^zUV6(mv2kCA$}p=^e@B=~N~6OUij%>}lf#I|KP{8Hu% zgjL3E&ZX1wo;|buTjfGJ2PvA$*C3?GVjj^d;6GVlWdvQzdM1WJrgHApQmYX1oDWwu zm3KBl=DO#gx9e6RHFH(UpS*GzWvk8|{5+o4&KxSl^Qg_^)4?Ibr%oA@Y8MkgXS%#E z%EZrhN0;hSZ(zn}HoMoc;W$t;x~Y>}Q6MQTI^mPx!s15-XqHqs-O^xJS>oHu4e69! zXJDzsSZxMjMa-g-$g@}}!e+48ybQ#gl!aq!JAuQJCMkx<$5a)pWMy3p| z<7ZiHjw5PWJiB4oUGLID23OpXeJI*R)8(NV%(!wEZ>H>}LP_7M*TuHYzlwPj%;5D)8O4uqr@TR!}v zMg|WCo*b&1O!UFLP8nudB`e58CAFxPKA-Nbi%E3`mS)E{3Lcv#5N@dT;ySyeRD}W zuxnDCQ#QsWHj43B4NjYcT{D?!t;tzbq*6k{4O{?Bv8GkB*4XP!3nNYDYtA(v)C+wO&-@Lk9zR-!)X$#IMG*b0u2{=Rj4K%jZ>I_mtXToX=(-`N?3 zY&OATuJw2?3@&y)>n-G7xE8b~O8l~OPX;MJLf8(Fc<`hIF=yQuq68VkDPyTz_pT0= znOC)igJ-aX-7U_7q7V5|XwrKuoJX(-H?DXK5SR4JWyhD`6m==lR;1!`ciRL*WALcq9+1T3 z0a&+(Y|?lT*DVi;%LGtq!7pyy^djeOZ%0bi@r<`z9x|i-tgbCJ#kB zSUR=*$xd53ELn$zWE!8xOYfu{=v#t0B>5)gPz&b(bwD1)={%1+G3Ag^&P=uR(w8ZR z*Ib$Mq(GZF$asNHp5`$6iFP*DE8x<#DbJgEHdVm+`N2G)FWhJYxlLqMMnLtrhW`Q5g8*+I-4`ov|;A#m8W z9fHSgWC?&nX?3rSym|~7Lmx0QHxWehoRaor5zZmej3re4O5HrMwr!Rt)%Lmar22MO zp0?*^OP-0{l01$nK9AdaP`Z}oDWy?32b$$K2V^3V-Q%05#r}Y(Wy`B3<@UQg1^qsc zn--k|G7U8c2VFAceM%hLjLmqwFZ_44#9x(7Lr%fi^J z0PrQKWXN^uN`iUxQq`R=PszOba&YYirrkUZ))MX=(EZ4HiiALn zr4`t0qr5XY&sud1%v08on*)uTu`Prp<%N)T+FWEq`jYV~#3VObIXYSF$!sYPLyY>$ zJZ9ewB6SJmL)L<7Rzs}3e$7Njr{waxR{SRA5=7?%Qf5R;#eKmIk+@?TqR8PPsI@1A z&@Yx`feX=|7ZWZi5OcrTPQ`{FV$$`{gO!!*{;N#sGELzIqh9D_)-wBXsc>)khyM>tCuK+2%~o)Ed%&|$_~ zGOhIFax;DcIbSz1O!u4ZwruS|?GAY@=7S;E4f6wYMa8n$5`}#(X&h zlR0t-wl3~!wz8g7dHYd}5JNu-!4-9Ylr8J{IlHA`mH8%nw}579mH%N0;J4!JdSE3A zix{LLL)B;?GRF|{*%cyiz!1Czb@b%m!hdzCh+Kw3A`**2NWW+nF2&WL$`DB^$X8>w zQzVZ9M;`NI{4g14^nj=KDAjCZQirBM6eB=Waj6x?4FUu5)$tUB9-+uzvByr ziGf^6B@2#w75WwOkgUCB&cEFubGAcX&7AG!XGOG9)$A(iw}XU){TP$}^P5QFhbGw_ zlr$O`v%oIHX`-s}qI~^4NMDnrZ@f&&7j*G8Uyn3dhY5cq84vm8%4l5N{~HD{%d0kW zWr9&*21drpqIJWl)SH@3)cnb0UaEX#Y$=0mIit!TRcuTRuG&>4_T*+(`$0~lm8=kk zqYkr~ljYg=YkD#WRr6&AVlcDlYU)z0NtXvb`O9f}E5s1|ivROc5@daNRdGtIUL@<= zR=xagS<97lOUsc(jr(MA%2Zu7NL359GHM_zrv?jU)u7_0Jt04Ry)U`SeqkE>e6t^? zQS!0%78;rK3*D#S;7dJ9S!1((NzHq7$dLi@$aPJRV& z&~Je*=Fy3ZMJ3v}oku(ALQbnR7&j7WM1Z)P_Ea=) z5Czt>dFtI87>Gwkm_ZEtQE(&fQ3-*<_evVFrC1Ha&@g#ydn#FFtc{wB!}+Op*c4-h zj{sZgBj5q~JyI^$jX7TY5Y$T_0>{FK62f8`E_ZOhtnPL>G_~ZY&XnnX&xfWBuBLr+ zGYWIDZ`-&^Dd$aqOYIfOmu^NBYlzL1jtb+aQhps$+ zS{t!!(k%{lNxo?2ix8nWtw4P?SHePysYc?3`do}k1tGUPO`{R{6JL1=v zemwi07qNKqR=N^gR~pG{#=!%t_$Cg6=AhVjjV^@GNU+jnE#0m15|zH`Vdh(B&WIke zCCr1$saxngEF~!9bkAgY==t~2JkRX$Vg4lj73a6a z%8W1BJm?pt<13@(7AbXGYXFPu!w)>LxzR6rdcfR_=V;g_mUwI%gSt$D$5vJb8||{= zGx7p|HmHIro^u!y=~h=gV5Ug}nT?8r5@qq_@wX%B{{6y? z434BvJZ4ls{C1s(Db7T(-Qe=s*N+)V+b+w@X{Drs1bmmjCKZfiBWrON?0s`&G+XAQ zuYB9WM#XPzMokOMq%@J5F=SKMJJ^pRWS9BccOx$64AKp6yfo=3%0 zvS^KkWGSK_DFzuJtm4V^m!(Pg61i|hRPD>)ktgFmlY!m$Jp&lm%i=4o)H{LAV3|1* zPOi$WLyL;{Wk{CDX}5`oUOkjQ7e@S|<(}3< zzuDg{*CTj&&}o%|SCu-UZbcO-wFadPMhuYEJ&Rk5VVQ90(iWw5>g1=9)1uDIiPO)^ zq}mlirD7~D6HPh&cmrm#EYN$oRl|GAez2}jA&c5Bnv+ewIS?a{*U2sEkZDT*cOS8z z8}xgui*O`PW>zMQ9pXN%Ta$^&QZ}%|*mjP_>)B)1)y6%fG3_M%`rN3)Oq{I)AzA51 zqrmljTBE!npp`lV4aJUxht&mPEIO-ZBQST<8h|HBNtYR)NY{7VNfeUtePjW-Y_eCL zasj+kCA4#|Lh_2re16-<^nd}^RrNM_fh9@$NSof)*&`FI!$+osP9K>@L+k*GiLf5h zgpmbtvnw=An)RTjcgScGY?gKIwx)|=EEhU=3Fha`L&#}1KfG5-z{=X~#B+Ti35;zE zKg9cN=ZA3jI$r&f$+&*Kkda0bnF7X|#Xq%m$9twH4%TGX$}@tp_^JxyvL zOFl`hZ6VkfY9T13glM#_<-{0G)M6r9L-mQ3aA|Fgpnm2vgb==>3K&4?8tedA4Ju-Y zN)EIo)r(r~%Z1$v?fT0)Zd+EF^Q|?}61Opk{geQ8L5i4GVfi-6Y}ZNR&5vJwyV)KP z*2?c;Ta&C6qL`+ByxJI$tf!Tzeo)5YlYnQBX$`3L+>VaT>bhR>9?z-LQ)H84b;a4% zZM$ir*e?aY3U!W4~Vifxrh*N^%BA9Fw~_oT3*{Fi-_G*7QbAW=3a9Vk}g-K zm=F?$hEUIwn9LFlQz$(kf1v>{qU|VM;FY zK7@LCqE2kYmkN1 zwTVB&JPj)1rqp#^e5}c?kXXLGA$I1iK%16B4YVmI3^ehICG-9WLKW(`pK8_!l|l0f zDVE$fxNt`l?d9EUaY{RqE2>g)qqS>q>;K%j%saaRu?1EO{eTaxc`AvjA2{Bqv8K#gMML_*pM#UNp^NCFFDTYrxos5n$~I*anWcQB{5mamOVTo5i`~$)tT*U(?Qv4?+CxMqOItKjIk6ciWW>QwUCL z?}@8m3hh2h!1nLw@PzeT!7bLNL-dg~K3Ya>ij}c2E6R96(hHR+6N-j;h>d715r93I z3Sf|@QfN7h37%5dwPqLu$>) z=&T1@4i)N{jBehs7#*OK3l=tIC&+qElrg1c>1X1J_10=MlbS5;Hm4G#U+!SL&AgSu z`BqaDN|?$i!`m?uOif^VNLt}FfN;#SdCY(xJ$iV*@@ zEpJmW9o4qfqIo`x4VR~*;mZ5G9$mjG>;@|Nrj^+cZ1q4jjy(uA+rm`%KiXFbZ>xm! zdT;3w?1jYud%D;xp~JXr3m3kQI20eE$C@fv-fMz`X)5)@>Z>b5>33O!`W~z!?yW-N zhRW3O_fTK)fniv`C>{XI7GwEfL)i7ya~kIlr0|0E9^V$9`wL59n6{O%tL|;9WA)>k z>fH3f(}MN|=_{{JKwI%W#TjCTA`Ny&C~p}#kPh)YtzGw7yN};`}jrr&* z-@SU?J74|wv;Hl;5&MkMX5zqnc2o=0UGKdr4zU-S)*rDPDBhV+U*%jEdrElIuVbJ4 zp;;rJZB+u-baH`&8b)p);6z$))-5AVz5+2Pd`Oh82mM?6?*tBcw5<`>t(MqPOh~?F z(7eVihWZD8_|>fFZGG%aE1}}EpV4dT*)#<5KL3Ouv2gm(nG$mwM(j=8QMgX`o0^Ap z1+xbdmnQ;CHuHff0@|M*}i{s*_Vfox|LMdM8f)cz_ z7Y#LEjlF}t`7lqWy`vDjppKf4ypuVsU=)!%oi#-gPpkP%1y(~Z7ZPw*>O?-g_A-fB zL)C!BH-kSz2}4*jEMxspHmro!s)pue#bA1S5hg8wDKSI%D(@ZQ&PX9R1{Nj>`vQN; zeU3VAz1uociBa;2BvY@MbViOZd|^_(&o0#PyDt2Yv`!SqlrzrzV&~5I`80f9t)o>t zqNIcy3jwW<42)hMsMi?%`gDz7iH-f>2ku-gv&uWRt7?5fJ2vB?bO=b74+`#coWY5! z$+|k8IetMUz#&|Kbb@FLIRq+%OV71z-STvCCvrPdEUJz{aYg_463sqlE1Z)#!^FzP zWTWG0zB5oJC94^ol*B>}+UNe+|Npw>oRDV@Tvjt+?9g`X3SYc+TedZhL3%fh{zrFi zbX=V1S*r0B7MbLaa-{umsyb?Q6iM>!1_kFJ>JpZMC>3^q^?kQ`Qf(Dv!YgJ;( zQKpRx_dJ&4JznH^j~6-KhbBD<>rM1sY?5%D(#!9v~LRfF2`Z2(!Qxm`=&I5^PC#L!*K9{{@^8W?&7^wfwOq{mS(hT z`I;g3eOB|ixcB=NdRj_ZaUa5Zai1xY51^25>aY0df=bJ!p~L}_R8l;+rgpGs3#$iQ zL{{itjmW*K>HdpKy(kPRi|;#zg;e%OpD*gLu}`B2H`Eg@==+izr9Bt09UoWUo!3VB zNG(`d3bK;(uiQkClzpTcWF`1uT?zHNQtOa`uyL`_%OG&Co(Dgpes+nhc=$7+f54~c z`bw~)Qc(p`Z^7;NQVEk(j_`nBb3U(WpHRx7;Y|zBiNuO8Y+1gr2$6q5=BIZD2?s zv^OeTNTzPqN%q0K54?X0qZPhEorGRkqmW#OOO8Dn$IYZYGF=CtQgIju| zv||&~y>O}xjVejT^c{1BoQ}cu(3ZAxBMJ_GUEHx|%uRcJo$5x$Kxn1jyzag6hWGCj z#fOiI?@frm9TOirA$|qlW!5#VB=M8kVadbwg(#Sxlh}Mo^BQVevpzv-LPC2C9FN~qfHs7F-#(unq0Js0+`XV?&0%+9n=_FA?h4vnJQzb(~#Rp=Du|u6jdn!IKYDFnNd2sqRdYB#_!F;~t{hTn)*PY^f z-c1S9YM0jJNq;kbbuGaSXU=_|EIK z&#ENXs+g6GENey_Gq^8&`1#75jyOJD#CBcR2(IeOu^$+&%{koj%8|I3(_Q35Ij>7S z@W~9zgJLu`i|pe)o@hMNF7|Zc3X!Yn(-M7{Ee!M6?S#O26fwm&w47KH6>9Y4d zFWqKr`ruzCTCKGDxxCl+qmANS&HN>`z_|;yj4jRSVzQ3&aGs$SA9hCn4yoAdf zx)gFwRG=@0?~We;`dq+j)F7XdLE}h<13QhM5T5KzemZ;yb6Zn0A(&HwT`T^SzWBJ> z5b>E8hsl@Lr#y%VSC=S{wm6Pi70j%~H7$J0nllSl4x1>+q4=086V_=kx$7h9S6bTVd@gKm}-%!~%6dFiSgax*Wu?NcSjvI?gLnSz`eBhp@ zKwa^6F%%&halsXYC}6t!>+Ok(4kEEL0N-9KKKIw}R9Pw*UJ&NM}g6{*~v>2Q9BOnu7MLtAX!A06Ue~_4LJa-g>zxA z4niayiO+L-Uy?K0n9x}cqC~^gUGtV2@!7}*1x&=;Gysq3kdSf|9TSrR)2hZ>N z3L{m=ZGWuO&VhSDxn%;~Le~42>3+&&&wa& zhQ;TnhRHq30zw}$xH!JGCadg=Bb}N=}6{AWLUom@4-!pd5I=!Ccxwsa( z9GsI;UV>~yI0cT{==?V`@zgb!Fn}>gu@jPUmVt{3v~RdZ zE*DcE&fHIkj`_!nMxU_7^LntzM8*dr>u7}0mPRo@=TT6;Tahkl)S?GjPHiBS_z^4s zJ6J><{)MjRR1fW~sZO77X|Vto>_my0_WnNZM7bpxZpVPDu|N3aw}&mfDpcKIz8_nF zJ&=#}gndP4-*oD~Ar`SatEsxF`mamcn6meoVp%M+DRK9l-mAqK!J)rb#lmjtc~xe> z<02gWM48Csx@5O2g3oC{{rkKeOuVDYX&1%rIepPBP8Y9)66b`;bn&wG;LobWDTn_b$xeLZ6V)6neT$i?+ELcm48Ae$eXJ9 zx=J`c)aKE+UK2jE`gUG~-ctE_o0nD7yvFdn>ReUH^dV}*wXFQxhS`={BU7qso)qRd za!yuCdR?%qVu!#}+uv4vLX!k9ut}A?V{ymiHGPlzpdY$cA6}8PI3qmYvUp2zM&YI~ znb7>#=FIEo^*_fw)rjc7sT$5G=Xt%i^yQ@9`kBpg6y8=3uB)_LY6s~@mHxIAhEGYJ zToM()VU|VNs_DU`5El1-Qt44%3+c~-KZ^*{-@k;j#ch+QBoz-t)?Z8^8B8k=Oo?SW zZAd?B+%J`bVnxZmXpB7@Q;rCGOe6ZmZhenwgd9iI8VnD`cf@>-<7JiNi=7-;-^C1J zY>+O$nHkcs88S>)Q2h{qM}`m)r8(__MTF2Gl#EA2U`_|9It$T zTkUTcl~kx@_aOAStdjHDeNtGgYql+Du1$+V=2cTeG_)W(nN`Xa<%fHWYYc|xGT*+e zHqQuma)9%OQSe!P|GG+S>p5*@_tnOEJqMk`udC)I)qGW0HB|1DT^>;|=kU zi|UiEHcpy`fe59nE2SBh~bZ z#d8Xp(RgmzcwW=|Z3veQwE;}%Gk8*UltyDv?B6lIeS$lzG5{FQ_Q+>Vf@bM zE7qG=)n8C%>UBm9%(^Or(Yh+0%F20FvyhXt(dX-R#nx5(g1(&7x3e~D zSb6l*=^Dpt$~kZI{56gLQTvX!*Wj4YH`i2~ei1$^htZOm%6M2T>7rTz#T^$;*M!;L z7|mrRF^?OD(Yb)pa5-J{d>(>7}#l#zOAU14}cSGnO?`7CK#8_rnG7pyPd zR`@lI%$7>8ud(@hlz8EBDQQk&SBy59UEg|2+KY~gT_|ZmTbppbs~WL1OEv^Q2sezB z=CTug#Qb(1==?!HIj#PHKP)MQSt}(?eEXoibVHads8nC8mTlakwD*c?x~h_qWU6vR zDxX;h#leMO@IYt%~kNIiW-84p|$?l?p{*BD+u_8#MF>RFdR zUK0mnRbXuEQo^D*6ms(3bJ<)8b{X!HuR2bH8bk6rLP)4dsS3J$y>tU zZR5pBXE?1AqRxO81Ls7V^?c|I#jdX>^R@fdhsLbIxD$lSlF zQCAK3_xycdA2-R*{Rf}bRt86hJ|h-^odWMPEE&((Zpbqt#p*6?9l>X0*5`YsW@=RY z+RdOb4=Ry2)YJVy6#jSLUliYS(Yl0_i`Yo+)S%c2sIX)At%`sO{g?Nt{>z8b#Djs# zsxsI8COXUeEe*+8iPCpJ!KsJoUF@Q|ET|M;D(8g(%K#$MvT{s)Q`2u-A!6;c#0W&? zWtB2-EGrj<;;8ykl8iE=1V%)mOB#{9trxAvi<(>AqMUudef>02l=J$PBPfuJPjdG9C0qVJAh&Wk>)d(n{_V$bz*of{Uf z*LiJj%8z^0(ZU=p*(@XOeG)yr+yWi_PHazmGMbO}T0|l)$s?k;4RYE7KW)NtpSyr@!`nfn@YD~iMQSa*jpb)$ouXLEHJ z13COvw@TV5Nnv{q#p}5GDjFl8paqRluE3oXuP+WWD={*a>X69`x9^HNF>C8a6>H^D z37J))8L`}zx~g)Qfs@hPS ze5++nJ?>jJTcV|L!P!J$%Z53w+m=;g-9&awJ&tlQtXQUAA2v)b+4!Q&&sQ*DG*Q{+ zg`s{;UFpyPYb3_EUCl0xtqEg{b7^zPjZ*pd7&3f(p&W1=Rl)_;=87UKN5lYw*2`8i z#&j^{j8N)TMkzO`xnhbT8nbY*ds@9(rR7m2%nSc$CVV%hv86znZIuu)OGV<8Dl4&}u$AFz#HpzS@-B2#v#8*}h9O zkC6k4d|4Q8D(!;aj3#Yn>KZ8F?yYRoxV2^oTc-tU{KgwM`{VMDM44)V}iicAP!tLRknvw2*t(dL8!>i@q z+PWLdkhpwSGw0CW?{*cgbLF;Z)@S8ao0Y>gz~SPS7aLb@sD@wUtFarjFNl-k4A9j) zaT(FKy;-&4P;F6;=e(-9x1pS@|L=CroEA22qV&xf-&W$*g1uzJ3!;Q!iR+JM?tmGZ zYaO?5&m1bAJMiZJ=l=aA4UF%}W5dRwYt-R5$l8h6?Ql6kqjXiRe4mn;tqS@6;(L@U z+5X6pVls$*?uXsXzW3RJ(?SoeFCrXu!x(2S#s>71FP&zOzD#&94VQu|DRVZK=ep*y zO4C{D((gRhQcOk<^JnET_^j523;IuJA5Zi9u9^Aq&)%*1F;<$I7S-u*+5q{f{SA zJ8zF-cS*u+zORg`f`E8hHLydJ6mNFGeSar6Ux2ZTqf<>?;HGw zFyTxIn_?Hv;p5|eUGz?~tZ80fM%>|o8zy#PQtHBO64vm<9gQ-^DAaT}7-0U4;vPOV#jfwjUQ`=s z^OoB5n%~u0D47zdRzHlQ4E6~o(*h3 zxbmIKWt@-d+e^xKTJ6Q83Kxa*BX;AfG_UkmR3bd=s#2DPGhF6PD|tp(j4C-V_kxTh zl*@|38zV}wTP^vF(yj_i)}MsQ>)99k<&QNqmEQ&Yb2ZFoC6pai3#b_!@DCc@#wGjm zoEZXch<*!RL%6_Mde35hpPAjgK1Rct6yN&MuneO z?%T?FLHS+TnN^MXctaO)6k}f;wQ^B*&JFeUyl_B;yl5EUxilx7x{6mZSW+!Fl=F4H zmz4v5T+E`EmETS8rwzkIdCTgPYpU^8<+!S+*o~BeN*?_vsK#4xiV9aR5dHuR5bVD#!4C;cf`#hadjnwQje#+YFJcxWy))nE86to~ZJf<)l z0(dlXG71OrNW}2tw8k3ZtJz*Y^UmqtjbYD?-k27Wv5awMe(t}{O88r7i1%qVR zbvf&9eIA$8=9Z1`QCl6k&S=?Y(>aYn9QV2b|6mm4JP^sgYF=lKRQ;yzB-u}E_J1>y zeO<0c4&#CidKFGkmo*OJZHalA@AsM$NdtJrSrTM?q^P7!#iAtNS_(PR?#4p8?!S*puDfhI(VJLFXGtQe759j9P;sfcM1?A&-ojgJx#-W0<%y_C5hdBp@ z6GOQb`^0IbaHSf?>#BiyPWdojC%cQAj)yh;{Y=OB8lsnBdh|03T&k3B%$^j5-mOPx z)7CQm0$JdiZM~7})5_uNMsxtGZ=)eqxDJDMg-+_yGaL#V1s=kPpd zC3QWGZB*P>(7TYX*vNI6cX)%xjn#W?b{4z1GN7rR)!XHDB*AxIqPs@4)k0*Xm(_B( z`cc*Kwni!SU0ikV+t5XW2!S36FGV zj&bz{-2F{ab+Vd5+wKMLT(_?^1B&2$Az$L8wyXDOnT3)gH*Z?Lo<=KjI!=^v9VnZc ze9!FM)f=lCju_wWjXW$PoIflMr(Ovs5D%YGJ1V?Svftf0I?_H)IWiJ#P~)NrU&JDs z_uu~Z=3yJ$g187W-<(!Y>`%_;<^t7W{le|gr4~jE=Oru-SjIR>H=~}9-z8UyWEnlD zImU=nGcyh9aGJ<@^sv5uT3iZC7*FU2omdHK)E^(bIKNplfDsHB8^TWqbb; z=(U4LVrjcD*{wE&>4b2to_}$x5PTa>=vE<4mq7nm`gn7>AWj#4BFf!G(MICQDtaBO z9(G3Duh#BR&dd51j^0&oyVdVC<8#auYMj?9k0r}{6^g=Y=Wi(MhT1Tzo{sV_HWxqR zhvSNG_AwgF@%qUuByFsTaGR*3VI!l4y2Lel?*ohH!N!}>nzWX=^RLVN*rRY5i8~PS zOxG|i9-I;xCESMgr$j$p`B0}Dw<^mV{@ZPK|?b~Q%hn52vx z!-MkyPRBYQa2^MRRnOWop1wbn#xu7sz!C0bT}U>!y)nbRxyqw(S?tQ5uosVl&!hDr z4RSXGnEGC5!t~?_o>iy3d@uB%YY+Rp^O}9gUmQH~GxBhtxQ+X^f2Y%I7@*0X8tQ;4ITHxdCN0ay>dO;*fjr}1me?}iYIAul68Ans> zR$x}$3y%`uc`KP!3>vJT(sl_CPHEq7CH;6h_F!!qMHdZG z9++LU-X5ll`fOv5j9w(?UcKT{@tyjlEefP&b~*g82$YDeK1xaX_+J&LV#R%@H}sQ3OEn-6Ez<1W$9s&;g>dhbJFb)TbrMYw9??p7UW z9v#{5K%kGH<+{cCW%VIP&Q7Rib}(^-MYcc!V6SXkFeD51yy5EG)&?YigU+gh?hEZ@ z)pwaBIk|(!n;I{dNjQt_?)A=HlaGV@WpGnvU7D@047r6oZ{fjZ5_cs}n1CTN%8b!T zT}N>)%h3Z|Y)A1jr?BB0ui$0*!N9%O+3G6G{R7cw4V^RkJS3Y-^m$-DyVrx?p5nNo z-};_4`f5H)T)Q2m4@WL}FdvDtqOfR1^?`1J_qJ*9`4{kYe38zm z?MY4t!=CB$@I>}}qb-d*I6c?>0HEzT^$uPic!0Qv0lUGYJq*r>bC7>VU$76%EoAQ3 zQ}-yT`+ZECE|WY}iruPrOWe=L?nB9QcPtqTGu|>j-lM!`;IzrJAo>-sO5)ve=PyzX z=t;i*#=UX(%Q>p@*`+@!?oN68c`UF~#U2>DX;;)6)B1L=-s3I=O1`Q;By#ra_riEw zqsA^B{dPr|u+u+ly`4Nz^4{yVWRxYup3zQ9KbkAtJa;Iv_U zMQw%_#|6#D`=Tf}_uq*=C|D~F=2;Ty1TUJsXgl}(@EVvcd$n~*DOF!3tP|%<%SOV$ z>EHeBxEpCfxm|waHa~VU@sVMt6Uks%A@}gWV+*eeXqws?M>KS18$OTtXSb%1|Sx>zx=d|)f$UXSOcuI$_w9U~ql#O|4_j_iYtTG98me@Clh)fZx~79bha?IHVH(%i=(*X-`rj+Sf& zqa=4c0`5+u!*?j}Gwxj3ug^wlbg|d=x78-QiEHxFV+4u*&N{}`l85=NXUP_e_bM~q zJ;vf4g2^gzPF&6pQnJ&M>>`W$j$=>Jrt9V8)(vJDc2QRC9BsX%W-M#@-Wr_W58iUPtghvPS<=JYJMJKsx1?YB zeg-^@J*92Y1eTWJ@xaFrFHlAU-%}`v3s+bPkX!3Ci?rv$0DHQf6kdE+vXHNi29ui_KmpdjI zCuWhq_b>T%mF9gks$}kHWZi>foL4>j@9ki%z^Z&fxU*v8v4g$)mf^}pI^Z0w$yKRl zL%FczoDntPxx@Es>Z3`O5G^|Hw~6h6zQS{g@|bmQt#BJ}8gC>&4u@7tjAsVueQv?T zLc^|aY#VnIvPX-A;p_Lh>@>a;UL9KtGHE^9}a*=Id4M8V^%C_^+eBdzv-wm_$fpBWHcqFzVK6Nk#5jn86_wdzDc8+MT-c(Lz8If40_#^rV8O?2X(EUb3yjpHW*CjbNN z*wISpG7BZL9|6U&s%~a<08K2bT;?qndiG}7Nr1zQ!od5?cl*I1Vvvs~J7~_E-WDdz zL*#Pbmv&oVw}t_S^RYp2K_crjd>qPTX9gY@XQA_Ld@Lg`@)K{26T4YlrNCi)?zQF1 zE5`X~JKpVZptJ(GSDK%5TUILj50M^dSzMX?k|4a-T2?~DC10DkrYFbfTf57Eg=X|V z!~XWnyWeHND;|qIUW$yr>lpY5Lxb#yA+@kq>M{frIm|`r#i$=~J=aA^j!1*7X>Rf1 zhIh`pVV&dzj@NiwwCh$c{XDEJG@NI`Ud4Hri{T42_`P>R&M6f;&bp`vu8Jof5fPw2M$T)jp;CFpYv z)pm}lMEA60_NBf0gLp*beg;t5opuAO+RriZ?OAbN=F5zDC%hx>$#MRbQ=`DJ^l_dn z#K;LV{t7Q`ZE^rD;jaP;hwdb;b)~8=lXf$WFK*x z{U_BY`0}z_RQD%L5&?U4(YKY=70*^?)j@n)_wG%04Y$Sls%_#DFZj}$QaCq*eGMBg zXF6TyWSqI$%zxI(sXs}*qb0o!v(=tf8=*+|Y;XxO_PYBmz!y$vTv^XAYi3vFI^^xD zWal!+%j!Yqb6nZs7_5@)0oSg5xf++amU&ZNJ_P4!}I-T&kbdOuG!e>dlLSmh~5Ro#6l6ih(tf zog7~!S(n+}hi~MRNSj$h;?CF0%0&s6M2qZKa2|lue4MnxmQv3LP0uTzpLE5qz;(uY zKHoJO*Brc}FWBeu%a!m|n>9^}`5ZkGphomN|6Lc(lk1R(rU8#*Ez$T_yQ-3@)gPLVbwLs<)l&&Lq3%s6JTG7{c?oz}9&fn)RxUFIENGid}>GSLc@as(Qd$XJ##fNU#QXgr)x|`tVEbc_R?$xlj z6_TCZy*WsvT-R=pZogd|B#tJ0JFdHT%R$}}t+JDfzFfDskCFtd){w+K>-G?AUs3-Z zEt_nbhsvDh#HRWT{*A_tMGpxAKF#@b`VtRhmtF9HfjcG3y33q*w;ypsHRZqVRqr$Q zv3G<&UVC7|nI!kk@%fB>WK((Qb-aDAi#o7#vCeWg0_)(6 z)g&bkU)=0|18&=QjOg`6;}BPcrRyA&hvgN$`Fz z*PM7H@*Cb(SZ=Y{RxiF!>DZdw0>oOCe98T8l-zc^t(-{yenVUwcg77p7(0pY>d&hG zm<8@J>}QeDV(CjT!A9&i&N+YJrXe`{HRXs_g<0W*EE-pksQWWsZtqHSVO@Or;I@S- zCeU^jmxzh`@s7d(8#wgGFF$cU(r<`M@_F*o^NaF*zq*R~yxQ!0XpslOHQ7Ijmh>I< zK(wsUR&+zGKQX`G-@~36tK_`+8hwQC467r(&G@s%xV7tTE3dx)>?`-2zG3$O%Hy2e zK}t%yfxbV*IG@q?@O8>@?=0;6Sm;;>jt1Ih7Xh4^*NiWgbf;CU5ogt>^e+|{*Q+=i zzb!674fxQo^TjB!&y{Qo+^WPm8)`ad=}u2K>^t~2+>EPx{p@<=5Q%o{XG`vOw-9Ru zln9L{t0v=28AsK5HuiMMmn^o) z4++gZ_68g!-C=~C@|>)UaDJ@J^#0wfWv}QvEdTWKC@VEKz~uMAP9=Tezl97}Wme>8 z{`}4Y>}T{cCvx2r=I(w88D5Cg%e=$t5xYmfQ0K`a`wqCQ#w zb;4DpqdD{2%f*A~TJ+)r7nQ>8!Q4Jm*74+UnOB56KZHh&=^h)}f{apphyU&%zmdoV z&8y-`W&S7XY31EE4=$=^ZqCtf5#CQrbpy_`%X)K<4mkDH3tZLg_~pOJSUkubqg=(T z+8-z}KO9449qPf@KlFm|f0AE+<|d=AG>yDWZtmgN8`CdA7LU?v+Zx+J>K)zVL%at4 z(5$}Z$Bn?8c7ZpZGPFe+)rYw6+Iy!rD*dr@%FRtaHG2DKgnO-&K}`*#7H%8jZtmhE zF&DZOdw_6yE$|%1 zol|@R(bP%ZfE4?Y_Hwp*UcK8Bt(?)j)}oKF*OzdBj$_|AO$*nu-aF*`$YsrxJLLK3 zW#PMhr(FMEdtVd?oS+o0B3bOkG0q|{>|!t8!drNQvuF#~;sjT47ALr3 z)!K=i$SHZfzu!6czWcfveL4OoRT+l&?mg$+bI(2Z+;hL*n0C!t8%F8X;=B&ZO3S3J zQJ-s3Dr%4V_wL&YD0lc=jnw>QaoEHR@}`AP!J}zi@vnFCi%+OE{ON#?KwqQCttK5T zloG!R*M*9mgWp4nQ41bKJ+d5wbLPyM(GYZ3S2qvU`XScKEWG4?DYe!q&p4pHuHxuJ z+b=Cfzkfx4FoUv9i~X^MO+#bDQd)X9v56L*Ae$1cvX#Jlrq+R@@pu`Y*9c+>w({R3 zO$Ysge*B#pV@u`q^_w$AkPZdo8!@5F@rNtaa#&aNmAhd%dYaREw!rhZY(frdzosupFqN!JCw8Fp^vd3SEH~}Lw&zJ` zhJJ)4f?eO=k9-D!rT*x>`04!`ibrZWu-<8D!{QnESLo~LQ7aSpN8PJ_q@P+4?x(D$ z@=}k18)rR`wDj?};Jf?$I~sW;91|5$@I#2RLTLzeW&ApS7br+aGh<;`Xca#%8PjP^ z15Y^BK#qA)30;|X?+*dOH2iyQ`Zuxo*F3$(w|L#2_x3j`3uu?UQCgcHa(VR4rm2zf zUVey-jm(yrPKtVfG^-qEtpqK*emIWDTqyBb`ByRZ69eNO!+pSp>)+wnL9r9GZV-dA(l=jQNEV)6hgD3qjY;*Y5~yhUUHUFH1@;TI zP4e}*bL2{+8--YEGR%{z&<0I)bG}W3XEldM)1=Ve1?t{v&7t4GocgTXVYS$NY0muC zVyy(=H@>+huQ$iFUQR6|djeJ_|I$jhyvS{^el+{$@}s$E?`M0AJ94=H&PGT#8PedA zxhd+)5=!wzt&W_vJSYZBH^TnXx^(-k%W%_UQ;9r0SI)FKS399xYnm#@S#KteUozJsCrGSoUWuY493j&w4g;p6A9k>mp3_)1Qym9tmrl(M z0?!h#Yt{u1@(ZW+?&F3M{~93MM>oo59gA9+_h=aZ$Q}4c;AlCPp?kAqCdb2D_Ijx~ zC^=MXol2rA|%hq-)Z>`}NYXwzT`2Jr100vE*FP*e$JIZJGm(8d+AoJ|`{*@K|bH%H^+@(srXY z`6bp#c`$Wfr@m0_C)^QQ3fDScwL^T8v~~(>ZJmB@6f)DJ>%d~tSn1rku+w8Fyu`yF zw8NqYTLg#2-dYZj)a#R{!@S`RJ7K+*cmEFXv_577a^$cz%-`Gn&-GDk>C~qBPt}68 zBP<{6{^xqD*Wv&EEzmgoO!`>*8`5(LQ|xo*)%Q}MTE@c??Ct8;M>yEmu>;Ghwx_*| z7w6~Zv8Xmrdms*o$=kcz^0IvvJw6u4T4?Bj^iVET&1K;E?eQF)DU}OXv1a7gP%bgU6?TZrt`b)m4KYC)$ zx5EV8qt@NS_PW2n7-;2xfsTA#;ypGLlHuvbwNcwNR$-P$6*X91EYsk4G&PHgR^aEqRV14V@i6x(d+txRy zSB`2ZiPq5^{C=Ub>YPtk;3qN8q&0~JZK#)y{UTRK>GnAzriWwSqdKzfowL{wm-oJr z)=m!eEcDvk9bgyWMsxci5k0tiB8_?Pua|BviAYF>2{`Ze>wX0G;|9LWqr&*7n3?Wjb@DjbhW+kK?I#&y0yU#6UD^YzBx96j@38+DtN zd9)w5-ojOt3E2f=j@(vol4HSm=FR8E`JDP1oyUh4dYKz*hZOW3v}F1VZlrPqBQ5Y3 z$WzBCx@w|>UAJ8QhVtC~=F9o&dD{ARn)FJaeF{Zpf%QxQ&p~kL#qX@M@S_;c?m+R? zNj(l|c<)>nI@z4uL|aGuJb_3@q655e<*74OeoWT|8XfF~m!clR3h%2m5319R{k7ZC zT_7>shd9AwE?jWnqN`g9p_FV6T%yF}{DIe|)I~z?W3}@knh=LbTqve1xpUuz@^Oh$ zX>^K5ytwporAtP9kBK_g|kNQowPq%1i7+t^1L)H zS107Gb2=im9c@i^is|jGwMy=vu>Ej&Obh)GLhLkjV9&BpetWywdOXA{VBrStmw29Sp%^F1QJAITNKJsJnMj`^NX*e3u3$-zi& z4Wln=^l)U6qyW23irqwP)qtyp;V1DHG?)Pm>e8{a1QxWE&HyQLM~SNf_p&8=8O)HQ z0)Q#onKb2?!3cmD-(pw}rV#)!%@)&aFajW^&0^XNMgYX*EhcX;0wAW# zV!8}Q0K^n5reH7vAg0%1dJRSZ#H_ZM)dnK~Vm4aLMuQ=s{AG(FNxvoOHzWceW|zh6 zG8h36Ghi_T1|tAs_E^jwgAo8RBNj7aFajWE%won2MgYW2S2!LsNBEm)0MwsBddB3Rd((`!7@*aA}cr5Ds(X`hnN}*zW zz2n>8xz5HUy71>9Oj3s$&!NN}jR{DQEBztL7VT(kisOM1 z39^8gFdMLI^e|@maw1MS2u$Q7_f-})L-uq$rm{pKK|HVWprBcnDhH)DwoqNH-9;?$ zr|?o6qP`oU&(gO02K`0IC6#gdzNER}*l+LQ@l)j7dz;vkM??#N-&=Mrh$~St3ur}xip=c0F1%xWD z4@rHWEg~C_H%5IFARSN28^NftJ>-}Yt_ZZ0=!1Ht1;^3oMk4bgDCK;(iin8<=X4Z>_uWKk3Wu^}>BD3wNo&J}WnL{d!}SOfE+@Ti|FL}5%FATZXCkho6xI4X1_Dn2QI zpMiK2ox21U##6aXV81Q0C=x|s;huA)pGKiRh(JTJ7@0hrmkRkQun9DI>XSS*cxWi=HiVPaK&dn||g1*L@IglaJKhBGf7zy|~CsJO)}z)f8`FjM8Az z5=9tp0tO8Oi$kHr5xB@(7)NV?$A+iNZIWui8<^at6j&2ZU7`k*LV%{9VzvB)$?m5q zQdP*EFH3CkVuKq|DGAW20`H191w1X8@B8<~(T9-|;@!yw?h(0SaOtthFw1_3SlfO%2;7=9w1B z>SsG^Xp&ysR|mmH=;b!i>7%EXYP$#sbLTq=tA%K1;iKU%ph%J{*(F29H%%QRV4n99 zKDq1x6dCfBP#(7gfR-)H*?mfZ7=ROig;6-TV6~O`UdCh{AhfLnh+B$Cpvt6TqEHKX z#@S>>Ovf<-M{NL6^R@&D6Hl6V%DiET!XN{$2%7;bc=iRk0nEf%oGe@FkE2;1G30Vj zz7f;|$XLrNNJx>8!VVyNQ9`bhZ4|ZD$ud(aVHp*ce2&1N>sXP8P%*1L5nnS#H$-Ya z2Oq+pT?OKKXz1|liJ@HqlsBvPd`ONbU zFJWLT=A=PfG?W!*iHp1k^Q^vbg@_%452+-7R!>5+K2?)7W6bfiWlRxTFsjH^&HxlH zIO8NeYe~<7^r5`}hVq{8-78GbAu$?!3tv#F36d=_S<`F;EQ8QJmSmo7l?I1FDM}ei ze*x(^`bD7)iL|u~5HiQ6YJj2ShLHV=xYZVrVrY))GHhXgDk?_9fvoW7YiT} z@w5n{>7!8!Bc01b$dwMZrTmbTj_>Td;vKn4VU8>?O{3#RQk1CtFn-aIe;mF3ciIKi znJbl|QOOhYH4p2Fanu)jc$utabER*|*!d_YCea3tI&zik=#z8hLCG9bt_#tG#|;VUr~&tg2;;6s9j2B;h0hGe`6 zFCw$7*@hNWZLYjl%F$A3!*5$W$3oyISKc81qbMkT!7I|h$wXx*Di*a=K9q~6NypOi zU0KXgchpbH`~kB%Rv=&V;;8gaR762(F$zI^K|H~%F_CR4KMAdX3sgw4vKfp_Dy{8g zjgbJ#1}?eEniK|V)HLaG7#*9WntSOx7%;Qc(P$zOjf#q&72V!UU<6b;j>XdGJL0W) zK@h0x2Q&=~GRsBsWsY#Cx2Nb?L^!g&j5jXK^#%Yh7^`17Y30QX0hcErqAlpCHF|#>!)r7( z5|@tosB_jJ6j{P-Q+`-D!N;j$6fPTYQaggU2qe7*Kig710Aqn;EB{8!M0`xWeIOHa zArn9*fK1MXOahq%GBp=61!O84_cJO3H5R2oWn@InwwTG}fKKNsF+-9ok4M2SGZ(uI z*kyoB&xK3_nI`izMnj^EMOcG?@zN%Og3`A)%!k9KQ7nqzl`DS~H3qXPm$?Lu`7ow^ zc=1Qt=tr^bfHpSHNM(OEJLIekLWmtd;G<&>66nP!a+zLXu*O(m&yeLc91V?pC)g1j7Z1PJeE~T?CKZ;Q}%RR zr#OSCjHu0)3>Od1K@Dln=P?0c?a)0nB%+B_JdyIF_~ir?W9n36G!>l}&wwbQHi2g* zo?;w{m@lRCXxapDa5cU)d+%g zG>vvUkBc-|SU@Ie&aUTS0W2TkLQx8&7}LnwhhxH(kSwRp9cFc>qfwWxz6%X-=?Wc& zB%1F%9G|B{8dMvo=`&D&`YYl9N`i*~#wr#=eXeoIsAdNHXw^UxiZ!+#DY>NajShmN}&^Qy9 zNnOWDH40NHR*2iNbiWpn{|+7zSR3Dy96Qxp<202bl_%#ZgQ` z*dzjQt6{^z6m+OhlN#nK@f1=^vQ!Ya$u#q%kR>$-85Br4WX%*@Gd7@$TYw}i1T9;~ z&?y^8qT-=s@_G&`l!Xee&B~}v)@^nC_8c@V<0_a%ya9FBf>y^d9*GfviZkr}o@1CX zS{0_L=)JC@Rl-4(uJx$3J_IGQWDi9!o{+bV=Q`2<2?W&m)d8s}8HqH8d6^`ohd>Y6 zsa7m=Qt2_V$3Z+&ccQ%q{LOH*J_lI`EnUSJS%<+`Ujbt*kI9S(4AIZXQh@~N_qaAy zy2{WGB(%^hfr;G`6$H>)GQJs*!Ot~@r2l$_m5D9|{xgZi320wjr18RZbZAcK2_wyooLO@*6CTtMVU>fu zI~`;;o@j1prfZc495-k_9cjp75Yf=!VJg-P9*gLnW65X(^K0{yUIKFQV)mcNe6Oewpji{J|ULz{(gjj+TL59J?d&2ACw;r@VOrK|0r$S+BxT zIs*dHFW7wK)B)ysdg?#|BS;_tG5E65Dv2ahBFawlN92jlfx{yrW0G}j9=c@V=lGi_x?YQsc?*UZ zdZt2BJ4RZ*fP?|bAe2|L8RH568A#Y>C2Vtqc_GZxN9%l@ zqd0a`OdP%#Jy7|x3)I>1*KCNSZf z2Y<7#18ktsJbs%Q&+RkxgsX8&K#)WDbW)J`@m}AUgBGjX9-x|`h0oF>xrmP}}h4ku}g@QE8c$b3~ zt}tP1$klEyed&=d{ECFVc(#;#B)pp8BVE!A05i5vS8Y;oWPk-fOz;b+k<}PxaBD@* z=|~gq6*;I4SH z9|acwkHc%2A8ae8gGeZ=T{f#wCIhwzd!z^ht_XY3m;#Qb8IW3p9S~tbVx6TX-=oC~ zxsp9LMTmApvZDKE$Dt>p=$1wtyD=ddvm^{izGIGLN=T+G2?Ihh;ts&5z7-uu132HDBFa0Sv=#tXOnnLqafQ)s)1DAlI4Z80vW}fe?#LD^8Siojeor zJO&N9PHa3jM;n6ffB|BV3uaDO(pHa)ijE0J0ajZi5p5k4>pt!hA4jo3%LlzoK4rxSsaN%+&nv)-ywtGBd)i4F*v?rX zS@7x^QE|vP&I;hF(>c=!Lk5JQR`OZVwx$%Yrqm}UI&|gywaJ;K(m8no6TTq1h73~y z*KJ}FN@6vw3yy^n>hlJd=&crmj4#-<7Xr(;=+a-5+PtW>cJ|)*LYw}M_oDbcmU&C{ zY(3g`qO^A!m1~1y8Tnvh$twVHkNs7Y5g*4?$ zV#=3X;!8I1r6BQTr-#du__FHZoW3r!(h6Iu=O9f>^@7U8O>6SM%w@4aYF~1@>~gzo zbGsbmcE#m(MRMc$M6$XfiLbcCG-4^zl_0TNqyVon`ziNzB8bf{?`5U1FN6NO(O+e8VNaA&GCOYA>1z zWJ~oT+K6FzLm1w03~yM5AvQMwlcsw~+Kl=k1z@o$n&Km)b(4z9j5TNpOe*q;7p#U% z=ayxv79s3dgVOMclw`M9f@;WUZrfy6M3&o9SV(bS~uR=Dis|gAA+ql=s>aY1EK1lGhi#Xs^R6ax?pizquVP&LLq5c0@NQ4EqmkSm{sEIwTg18K}qsJrtp z{T~Ja)^F*&)UPbs#0aRwB>xy{kOL(F@nmZ|Lq}e=>`y@2#r*&}D~Qyf zcpHv$vYJC6#949NyR=j|@K8rYS+NwVo7LZEpbaGEcwvYcf*o@rEb9()YOpqq#d2q+ z{DPFVRR^QksA8oZuLFn;Z9HW7_;oCvaP{Hq z_=QqiD(!q?K8$CTBP>qH@I2Cm8Dy@Cg%HHlrct8^SY@Ap)S_$#Ebt7(5g-E=crI7z z7a#-BCfd4DX;-fNBLcn=2Jq~b5aIkx<%^GCnNamlVgyk?)ysIJrByHU7ex+HAXBMQ zQe(Bz?(Ct?Gz9~~;$AXV5|o&&HZ(6#&9zM{y?HY|Lldb?6^K zVqUWb#)921b1WOWF7Sk^ltMWd?t8TbFu}tWNO5w7HlCAK2kc%iqWp6r=%dB__o=M_878QG@GYv-eNR+}joYhw+5 z;oyy9yg3d4dRvy|?J9BoZY=Y8>C+nwIp_5|YRBg*uR+}R5 zgba9n3*Ns3hlY-_RY=-%fByH15{7)hph&H)D3aKtXDh z8m6lO8c*-tIJ{kj{XnPdnKAQ5cq24GS6@1h0~ig2BSdkrzG%*kuu{LxLbc0ifo_EA zmKraJ2m|wR4xzfuXquy=TxB3>Z5;b8L6F^mv^#Lgvq)IhMnF`7%whdp)}RL~{Zu+8 zbWS$*g6IoX2p04Xbf6f0&_~}-pWwl85t37RLVzuMtWe43BSs!PvVd*KMc!g|>Sjfn zyOBTP_K{vfasf+#k{VJOS>SxUhWVwWK2ThQv9^Q;dw;}AXY9_0uxN1NzUfm}}YN0O7@QAvB1b`T1 zhAuJSh`~TDCC!2BbM%bWJ$nAg>y*WQQ*(7G*w-Kd8o!k!a!39VX6kfTpDAyvVHj(& zj)b$0)NDVqFoEc-4UWGFUlH0GM>3DwU- z^tsX`^d-j|<}!D`D-PF1O5Ea-U8|5Nf&4_uB?4nn*y;!jQuk_tO>i(4fr27 zC>$|C$#}#VPK^I>f*70q42q!KyGEp$i&p^v5S;Qb_a5N=BwZ71J=@MBkx}xOEz$Yj zTjMx}C|TpOBpoG&73M&x=nz)t*kDaxYKF^J&(l?XXHsgLjcKzY#Dg)H*KwHl64t)Yp!pznf77fiTd$_3Ldn1L9$!N6%c4G)?k-~<4CpEU1N z=FK5B;XG5vHxK;l;VzAzGw=&|--k29rSqbOcG*D|b(lE3dXtCiv&}M$4P&sM4tHV5 z)c5@?+K$BzdKwHC$~&oA4BE;&W$+w|^OCJ%aGVmOgq`iOWnCGNi4P9UvWysRA_Oz( zvw@FeOmq}y;^`DxB0PR_ESqU)z)5gDDb-*OXYwdB7pHN~q5(fVS>QLYMMN8LR*XG3 zQ%9o@@bKrOHY#uAELe@eP@_2Z+SCxFQEW30^e7j7J%CmuapWR_IzEa-G7Z=QV4%`c zeFncW$3BYE;aARQ%YHnLGUrNV2r4%ysZ?&+l%aFoHj>FWRvBp9G6LVwD^VfDJAlxge~3(?}_8rnI0bS)GMOUIAUl)Tn5rRpP0%hCAu%*pbFk4 zg`bGWm_C~A!LcR_#2sGH1W~p{c=E^sj-INwp&SfLZG~{`DKNdt!lB$oP{?f#)`3QO zryCuQprX7s<6;YOi~w;C&^c;0L5{H9aGo)aHpBg%Y~VkM{t+EkxJPaeje(-9e=`EQ zV|){}s)ctKfiN7xT}spS&&TLU`@!eUt#`f&G{cnn(M+iCoR7P4@Hjq?(cpw3bW(*D z!fl}PX_=&~Pd95tNz1s4!*gw4;ip_Gmj>U!0YK?#necGhjlDHai%!Uf4&8&y2R}^^ z3n3JaST@%15eyk(glJD%TDK>sTTk*;iZa>R?WL;QQmV=lw|pi+NG@3}ZsodqS;V^x zjF2!OLb+Aysw__HM-Z5i-CU?*bHQ4O|DS$y;Hia$o1gHn{MP)Rf9v7zKIxx%_wJ9i zd^`D$(h2<2cs>1B@A}IH_uRMX#eesuBmd!B$8z!5ec%3*KYwT6k;h+o z4I;wAHeFyXPMl0?)lX~e#ogCA6eqp!DIa9Sd5=5&iCN+-%Gt^_yFW`Zw3BNbua!@ z5kEgYEZ^%I^FUX5E@!|cC-+QO;{lT9e>O;);h6=y^6-xZ`Z~oppW04ib zOVP!E{^O@Uk|p|MYhU{LJA^JV@$`>LhxsZ_K=P5oW7j(Q3>3egIbQPz5c#Px{rnU^ z_oR~ZBUAjgvHsDr@YnG89Xx*2i+^Q--@)tlVt<2*h_x`ERzB|KBgekB9k~$H)DAyoHYpA1qxg1%kf>~9+)mZI#E0@J3TnIIKS<{(AfUr_Y@EHPkyL4@#xUXm4nNNm#PRV^X$GYzK5=clA zxDfSKdO1in7KEmvP3a&q8-xxt0yg7L&E1Ik=zEC0PXdrrP7d4K>{3g;X`D(OcFsz23LY;P@b~^ld}}z zsudw9dR0QgLnvIs2^4T4;BkRGt_QhD^hOZ9Xo~<9;YddSmvXacmjcjbOM024=lGCZ zM2;&K>B=K=lf~75#WhRiB))DzPQ)7)bc1rxa_?^kbd$=2hluJ zywuo)?E%Py&#)j~I>mVDyyyYDB~A|^siI7H0*|U=CZf@nD*aA;U-FWT5@J>}ofx^a zP?1yIC1zvjcTiX^*HiPlrY}O^`&Qsm@C97)qIN~lx)W)Whg&x2X%a}0fx zY@g=iXa{+lwKve3H60tedrmCYd{iQ?^pMLj`X+oQgD-w4Lt@g4BZ`ePiANPHuK{e& z3az~GISY-+YXGxj!O07st1;!*V$YN=5BHH#othTaNsIm%`Ql;Li)K;~hhAnBhBSpy5 zmLb-|T(I2*G5*8y4@k>{utr%Ow)6;e2K_aFA81ttxu@5koKW@iHH; z;PG(}+YXVIR!pN>T9aO*xmn5&t09>5&W3CfB^PpA$W>+}AjDXXA^ojXvfe+%rK?mwukZy|PA(H=iT_Xa*MyOc*g--N`LRR6Y_G z!L2KtHDFpkv7GiCc2;pqUQMfn1@v87rmOuHqM|5X)_9#UTvbwo?cfxp)W*$IwyN=zl|) z)q+`o1M2nEiz4$uZ@F3?gw<2l!jvP{fr7NT#q&Zje!&N4@IqWDH7KA6hV&^#?}K0~vn6u;0qy{o zp|L}*nPpQNLT>ogFm7U-5Hd6&98Nc(WFl!osYJ?z(uuSQWfGb8<_NY|=gfAIN8LCi zKO2NE4q7R(N{aCo?k9-4goA1>_S5zB14})*g66Rz6XI0wLRD!udEdZ-$RA@eq^j<4|B$2UwxPO2<&{WU{6F z3172dzY}9#bmRsmjYIQ)F0EwR@x=MnPtfAc9;alHa`D(kWPL)ERw|_|Z+xL5<2BiQ z5HlFu;>oQ^D-~QdBJ(tY?wHr$Lvi+eh-Xo3lucG#5RK=RDZIWZghJR|nj+xv0#M4( zhRMtj%ArZrpKlC7dLeq?F{xSXL+*^EHa?T$eKIMH8XuJdeGFj0!+}E&+5Z6h|~u z8%>9z&DhXx48?tLLyr(}^N~CoierG0>#T`4gwZ4qvxB`SQ!uG0CG!`cUPEcIoyT=7 zBnd<71dt2iR08Txx;&0K+5ZtH3rCEkC^Z0BFuMlJWcVB{nQwd~Pq!$-<+iY}YAh_Q zO$!Sv+`__jVqsy;TUatwX8Gm_76j9j))_!xS(agtSgu+|D{S_^5CV0Xhe-F`R;KlL|I!B~x`TIpYls zXAZraYe9{TEw#Kb2G5}j39;g^9H%SlLHr~|f|G?5zP=@H;1>J`J5rov^f=X#m2v?T zU~4dwm!)rf84=je%diyo<`@~V=Pxw&@bhH+j5EJ+A!hY57^0>@ivT_ZV3?M5=N%tr zfQ{jk5FFKWk*pkZ!4biANxtPS2loNTYCGZj!obLLoMW0GCaD<#n!8V0nljrA@*xvE z6^(hHMK>$DSnxOFq=}jS%0Ar1d_0lhAeKyAqwh8L;Ty6 zf1B`U1oZf#n$12hGfZegRa!}1 z@Xwx5zzfK8W!s4iFBqXoAQ$|$bfo6%U5W{4dRYN1!YJ0KzC?=oBM zti(vNTIy>fHal$Ki;jGw=Dkq_VFabzXsdIh4KsjB716&a6}%A@oW~5h%rnJIgI~wB zU%B=R*M29_F3q6dQ4)gE>=H^ovCl#fubnU=<57Jfmt8L5fF>M}gaa;%J(|UUqa*}b z>=8YzFEN-rk8x7Ywy8Qfe$C?@|2p# z-%OD_kGVRf5g_|xj*<}6>2aYvZaoIRy3b}vCwjsK&$!?@7d$0NFDjpl61k-jzL48- zm)i+NoDeF<8CS-G{7wt*k`i7D;MJ4L?1U`Z$gY)ROB_T!DM?QTY05V>%}E?pl3`LW zq`}qj`H1Q|4hqR@4S>yq5&<+6_)srsFitXY#vInfOiCxlDHTH%!Y412Lo&Q1B6#eh ziI|s_m@i0h%5jk-*m)2teO^&ozCe50(VkJn8KDhT4;Fmj->xe5YM_uR>A~TQ<8W4K zG=V;^DTpu7o^`b66md?Nhb-WN0In;RFC;tXl3h@QQt9)Cg7^aMg`iF^x>U3zZ0V6u zUm&~~uE>jXR3u=bibSlYA`uT&q>Hg45euZaYkvVL^a}GDfT>W5h!l zyBIS@EXeq>%lNVsUo?*0N{NUbv1_R!T@H(cYuk5-1XxHU#A-xBJS38fQ6$6yk*+wA zjQL#&XN)V~cVrA$C}YHGGDbXA^Q>fV@!(m z#nOmnyN7UcD@%xgX^;3|VEk3>K1MCC{}@UQyL(7e<;`j_u-n8Vi`XFe)M3 z8uxsqXw_Ft;9W@BrFRXnf+*j(;bcC10i4{h)Wua~P?x?X%f)3}2+or`c08o4vQHfY zYi#8+BfR8`!R2Q%c`P~dhB)XwExjjYgofZ6OvPC|maZ@39g z1+L-DzR;YB@1z>VNo`j{Dq17P)yl~w z>QwEiUu_H*E}@%#|86nXH7Jan58)ACIbI<;Tn*dd9ZFmx^}vBq)+-nLOIZ;JcXYv~ zfRFmpm{v1zn5H^#oD9<6piXOni^62S;0MAdNGu0+H?eOie6J!y;R3&w3ID zPlh>N;on!nl0E*G(!xAf!sJYgNMs|q!u&ioYU^ML`QQMz>#`CGt|ZMv@o_~8tC70p z$BkUBA>N|vBz+nLzKz7O^G;eHB9aKU1V=;&of;urDAf>mB4qj30(<~uao7U5wyMj( zCP@+iStPa;DF9^I*#go4$kMX~WSZ@sBLA8XHx;=}NQor6Fso=@J0lWe@=y9;!!bqE zQ){{=26kN<$pAYcxTyhr=~dpi9)vPhu4B!aFJQ1lmu**H#EVQYZ%KcX?FwywKsN9h zkc2li{Y_ue-&8O%fMtdD_-INnh?=c09Pa=Whk3F%X3&5w{!9aVSvl~5b*xO@++sku znH?3Fwx*@HxKqQzLRZ+}FE2!)(TSnw(jF9l{NR+ofTd9@;oJ01_kh0%iUEaC!UU^U zCzJ_Pct%70Xv@sr^xVh_#}Z(HY`etW~Gm>@SUmOzm z>|YRC=Ziu~*^HIHaKil&2+)fuk?Nc75A6llNbtl>5^A(#K0aLyJIL@%g^z7X+|S|3 z3O_v$L2Z%xOaQ2%0F#z@I>4kw@#UR(K~TQ1@V3+LPq5Y+#KD)IcI&Ox6QUU0D}h^< z2;Ag}U;rjFbvRI&jhktE^`t}VoE4Wxm|7>KxG_S9!WH5wM|*q;T8Do4&QXBAtmw;v zW(0Y=X;YPhJfyxNXdUt4bWj&g{xo!XS=_0}bt2&7f7I`?2YV!doxfNYcK?7%;(r2( za%=Fw-(Exr=V!X){EWVC3+z15xG;v~Y>D_5B3a^C9qwTZjF*{wf$_p>g0RZPAan^K zGVsU?)ePB6&&cyxc^(5CJI#!sbLsHiQ^UB7zt&=dSc|s7HW$oG3AxPdU|lX)NJ%!jqU*rDl4Xxb zQjq6rLXLz|u66?Ux`bFSwL(tg9&p5a95fUZt(0DNxG@);LM^0S zbk+qA0+Vvl!!B5I!Kw>B?Se;L@R$=WB=T{qS>K^gxZoKVJm-R^M41=mdCTSC(xItJ zjnF7g3)!UrfYaf`>GE2j=aT^*)3N}{jJUGJr)GNDA(inJ2M7s!Rx-UBFh%PRm@4j? z1B6O;LDF4!I0f7YM84=yEI$u~+tOTes7nDbB=2RRKPS%%0YOOqD*^DTV|6tEh9tfg z07If)4}dpZ@*9#}Na~wTCn14vIcP}Y+YWjKeBccDEdNNtU1B+$y$Vp3uQNjdJR?t0 zc18V9tFRN2R$;M5NKVnA6a=ssPt4&2d|blqE=|D&Js0ekglPv*8DAn8Ga5Ko%EuWE zpOsE|VLZZuoZu7l4c4HDB?481Wm#)pjI6S{!N<^?Nz_(^xL4faKvNfn5XSY&*9oK= z7>Y=W@1ga!!|mg*EHWR=87(nF+@43?9QT?)8Y5tVXs=omOE)4f56&4^I#a?-hWgh; zkn7B?G9clb5DJ3}Utd%JuA@qQag=NWk-$vQ&$4hQ9Uv5RO$VJMg_AzinF;PnMmT=Q z&m!J*?2q2{-s!=qEt3-)4h|Qmc(bd2-}K~1W+I@AM@Uy5jdQko1UDV z96B)C-CvxU4c#1jw5Mljp@%<(UU{w3SWnN2o}~gX_~lENFDoorwuF=dX9)k7E=Ri2 zq2bZt70U*ftQ=mkVrW^!`y+tM%ADl(z88rH3-Ak8rujuaayi~+% z(wOJ9M!b1-Hs^Wm5$|pzPOH#vfYrO!f* zQqf@4)VFDA&(amNl+3Rp|KMiqZ2zIDVt#6nhJ~s?^6?>7)ZjFr)5V$M^oNThD%AQz z6NBUXhX=>T4y_#?F3!vpM>ZSk$q5KCQJfx}Esm@knQF6JQ(vCx?l=|g2B6{g}DElZmNi$$2eRy!}KrufK-RGfxNIhf}JTcpy?=wXLY`Tc+&J)o2 z&>@6JjeLu>$iVNPfFfW9FxLP#I5CpnKRc60{S@=VgA?S9x|jVWzg#GAiv?e_J3Th?ys>wlk9Ki@o_N6Aq=x=>F#%I+dwwd^SZ6;H|*Zg z_iIoZD*{q)*u8z{mj1rYfY2XXr6(d@Y~9xFNJct^?%vk7VIAnm=vQ~_-m-Q3W){gr zZAy#Xx%sgT+dYpu>RZ2I^R})18@8+q>4+YG%T@>ji8eg`_=a`;s5#nCKn;UKr*>tW zAH(R6Ci*7!;o?6UGNB`|{5t5{BHqtGhUM^D+Wu%}?bz7lM>gYY1N*1OiV>Eq4<9qY zR~jPTcDkS$^@8+xBO_>^Xq?4qjCX*bvxK9`&m5SVnw&=7K`Z^Re$IgY=+NW=_(C}P z{bR-HZZt|ZOlg}4@M8)Jv4J*ev_S2Vz@rhbx3=S8rf;+_cxS|0@#a#yegq<@2WfuK z-CzIh{-1e!uYUOPzkSOWt{=Mj)N}vly=Q*?=m)>p^G{Fx&bI$OKK|U`W4oLFd+gmW zjsN<-ue81Esrw$-|3_c(&VJ?FPyNl`fAt^U^P3}=Kk~m0{Keouy!A`pDSz;R9Y6e| zpZ@!wbbaZw_r100#c)m|J$a&>v{0hcmDeL2k+_pgNLvEm#bg@t#7>e zjtBo_EA{YO*AD-!7umcmitwlL|I81Yyfc3$IwM*nosai}_`l)BCU3+4bU5Pip^=)O z?K{@*IP_mX(eTngu3dBbZ~lJ&+GGFcFIn1k?-)SuIz2P67ajSbf%V0i56w;Qk3u zKD$vYc8`pWNs^yG03NEM@BO6F!~fD}j(KYyo9CVQ?TFV5rQXI)5*rnkG>ui%=2aU* z8USF)rFuAZ+%pH9bQ|%1mlyZ`4td$1ziU9J;63H-@OI<5!P|~dAHJEg1@S&SA4ix! zUyc3W|3}Fdcud?Byx%QYe6<8`+D`aqJt7fs9mIE39>+IS#=IhUPI#mEE(?D;B~?GL zgMiKeuU}%BL`;9q#I_^52xQW4vG6M_cXH|$njVx}{}u2p7wEt{<84CPb@COMapXM# zE;E3y^WKW;n8r6^2;moAiinRPG$gW2dxsFGl+$=`!*ddJlk&ZoF+d(e%2E6)0yBg7 z!}$LM@RN{^WqeSeBT||{;P~~JS)m^G_DNayN{*VtxX@u-i4Wyq|Ha75uhL9FjxBgo zKK_LB$crY2@l6`mX&cg6y{rfI3}ofEYo?@pR-d)$U$0yqKH`HN$AIrsQi2(9wfvSL z_oevQPq()M|EY1>SS!-7mbJtakbf*xim(jbA>9s%PP@?t#_-Sc2E2Cg*@Qgz3J2EW z6!gJT?S&R+L31Z84|(|cq2(UGL=?^|tgme%<5t6qwL=-L{uon@htt27tZUF3Bc?1P zD913Qd$oGIlMnSAzaxFUw!^xnp5GyLvlcZy109Xa*NbSiua(Z$5!3(c&%ZDY+-!n( T@VtwU{tJ`)U&Z~UXyE??d5tuZ literal 0 HcmV?d00001 diff --git a/bin/csharp/System.Buffers.dll b/bin/csharp/System.Buffers.dll new file mode 100644 index 0000000000000000000000000000000000000000..fb2911dd6e5a1163748e1a8419cda0a8705513c9 GIT binary patch literal 27840 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 literal 0 HcmV?d00001 diff --git a/bin/csharp/System.Memory.dll b/bin/csharp/System.Memory.dll new file mode 100644 index 0000000000000000000000000000000000000000..342368065f3bb9a71a10f0a29279d8d7ce4a75ae GIT binary patch literal 143920 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�eQ}4IrHfvqn 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 literal 0 HcmV?d00001 diff --git a/bin/csharp/System.Runtime.CompilerServices.Unsafe.dll b/bin/csharp/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000000000000000000000000000000000000..d99e9f9eb78189ae1150123aeb5555214b493989 GIT binary patch literal 23600 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 literal 0 HcmV?d00001 From 30e5bcc7c9eeb64df246cb5340bbcce85cc639dc Mon Sep 17 00:00:00 2001 From: neosu Date: Mon, 26 Sep 2022 15:49:36 +0800 Subject: [PATCH 4/6] fix on listener name is not generated --- tools/gogs/csharp/gen_test.go | 10 +++++----- tools/gogs/csharp/gentemplate/Register.tpl | 2 +- tools/gogs/csharp/testdata/Model/Register.cs | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tools/gogs/csharp/gen_test.go b/tools/gogs/csharp/gen_test.go index ca9c18d..d47bbe5 100644 --- a/tools/gogs/csharp/gen_test.go +++ b/tools/gogs/csharp/gen_test.go @@ -9,8 +9,8 @@ import ( func TestNewGen(t *testing.T) { type args struct { - proto string - basePackage string + proto string + onlyCode bool } tests := []struct { name string @@ -20,15 +20,15 @@ func TestNewGen(t *testing.T) { { name: "new gen", args: args{ - proto: "testdata/data.proto", - basePackage: "github.com/metagogs/test", + proto: "testdata/data.proto", + onlyCode: false, }, wantErr: false, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - g, err := NewCSharpGen(tt.args.proto, tt.args.basePackage) + g, err := NewCSharpGen(tt.args.proto, tt.args.onlyCode) g.Home = "test/" if (err != nil) != tt.wantErr { t.Errorf("NewGen() error = %v, wantErr %v", err, tt.wantErr) diff --git a/tools/gogs/csharp/gentemplate/Register.tpl b/tools/gogs/csharp/gentemplate/Register.tpl index d8c295c..2c444e1 100644 --- a/tools/gogs/csharp/gentemplate/Register.tpl +++ b/tools/gogs/csharp/gentemplate/Register.tpl @@ -51,7 +51,7 @@ namespace {{.Package | CamelCase }} Gogs.EventsManager.AddListener(action); } {{range .Components}}{{range .Fields}} - public static void OnLoginSuccess(Action action) + public static void On{{.Name}}(Action action) { Gogs.EventsManager.AddListener<{{.Name}}>(action); } diff --git a/tools/gogs/csharp/testdata/Model/Register.cs b/tools/gogs/csharp/testdata/Model/Register.cs index e59fa22..7cc805a 100644 --- a/tools/gogs/csharp/testdata/Model/Register.cs +++ b/tools/gogs/csharp/testdata/Model/Register.cs @@ -53,12 +53,12 @@ public static void OnPing(Action action) Gogs.EventsManager.AddListener(action); } - public static void OnLoginSuccess(Action action) + public static void OnBindUser(Action action) { Gogs.EventsManager.AddListener(action); } - public static void OnLoginSuccess(Action action) + public static void OnBindSuccess(Action action) { Gogs.EventsManager.AddListener(action); } From 8bee0b28229792c43b7b944680e1265045b4182e Mon Sep 17 00:00:00 2001 From: neosu Date: Mon, 26 Sep 2022 16:31:24 +0800 Subject: [PATCH 5/6] fix csharp template generate error --- tools/gogs/csharp/gen.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/gogs/csharp/gen.go b/tools/gogs/csharp/gen.go index abfabd6..c78d22a 100644 --- a/tools/gogs/csharp/gen.go +++ b/tools/gogs/csharp/gen.go @@ -143,23 +143,23 @@ func (g *CSharpGen) gogs() error { pterm.Error.Printfln("generate file error Gogs/Codec.cs:" + err.Error()) return err } - if err := templatex.With("gogs").Parse(gentemplate.CodecTpl).SaveTo(nil, g.Home+"Gogs/Common.cs", true); err != nil { + if err := templatex.With("gogs").Parse(gentemplate.CommonTpl).SaveTo(nil, g.Home+"Gogs/Common.cs", true); err != nil { pterm.Error.Printfln("generate file error Gogs/Common.cs:" + err.Error()) return err } - if err := templatex.With("gogs").Parse(gentemplate.CodecTpl).SaveTo(nil, g.Home+"Gogs/EventsManager.cs", true); err != nil { + if err := templatex.With("gogs").Parse(gentemplate.EventsManagerTpl).SaveTo(nil, g.Home+"Gogs/EventsManager.cs", true); err != nil { pterm.Error.Printfln("generate file error Gogs/EventsManager.cs:" + err.Error()) return err } - if err := templatex.With("gogs").Parse(gentemplate.CodecTpl).SaveTo(nil, g.Home+"Gogs/ICodec.cs", true); err != nil { + if err := templatex.With("gogs").Parse(gentemplate.ICodecTpl).SaveTo(nil, g.Home+"Gogs/ICodec.cs", true); err != nil { pterm.Error.Printfln("generate file error Gogs/ICodec.cs:" + err.Error()) return err } - if err := templatex.With("gogs").Parse(gentemplate.CodecTpl).SaveTo(nil, g.Home+"Gogs/Messages.cs", true); err != nil { + if err := templatex.With("gogs").Parse(gentemplate.MessagesTpl).SaveTo(nil, g.Home+"Gogs/Messages.cs", true); err != nil { pterm.Error.Printfln("generate file error Gogs/Messages.cs:" + err.Error()) return err } - if err := templatex.With("gogs").Parse(gentemplate.CodecTpl).SaveTo(nil, g.Home+"Gogs/Packet.cs", true); err != nil { + if err := templatex.With("gogs").Parse(gentemplate.PacketTpl).SaveTo(nil, g.Home+"Gogs/Packet.cs", true); err != nil { pterm.Error.Printfln("generate file error Gogs/Packet.cs:" + err.Error()) return err } From bc834ae2de7925425930b781fc15252fbe405faa Mon Sep 17 00:00:00 2001 From: neosu Date: Mon, 26 Sep 2022 20:57:29 +0800 Subject: [PATCH 6/6] fix lint error --- tools/gogs/csharp/gen.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/gogs/csharp/gen.go b/tools/gogs/csharp/gen.go index c78d22a..ca23ed7 100644 --- a/tools/gogs/csharp/gen.go +++ b/tools/gogs/csharp/gen.go @@ -173,7 +173,7 @@ func (g *CSharpGen) register() error { out = g.Home + "Model" } if !g.debugNoPb { - os.MkdirAll(out, os.ModePerm) + _ = os.MkdirAll(out, os.ModePerm) protocCmd := fmt.Sprintf("protoc --csharp_out=%s %s", out, g.protoFile) if _, err := execx.Exec(protocCmd); err != nil { fmt.Println(err.Error())