| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471 | // Generated by the protocol buffer compiler.  DO NOT EDIT!// source: google/protobuf/map_unittest_proto3.proto#pragma warning disable 1591, 0612, 3021#region Designer generated codeusing pb = global::Google.Protobuf;using pbc = global::Google.Protobuf.Collections;using pbr = global::Google.Protobuf.Reflection;using scg = global::System.Collections.Generic;namespace Google.Protobuf.TestProtos {  /// <summary>Holder for reflection information generated from google/protobuf/map_unittest_proto3.proto</summary>  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public static partial class MapUnittestProto3Reflection {    #region Descriptor    /// <summary>File descriptor for google/protobuf/map_unittest_proto3.proto</summary>    public static pbr::FileDescriptor Descriptor {      get { return descriptor; }    }    private static pbr::FileDescriptor descriptor;    static MapUnittestProto3Reflection() {      byte[] descriptorData = global::System.Convert.FromBase64String(          string.Concat(            "Cilnb29nbGUvcHJvdG9idWYvbWFwX3VuaXR0ZXN0X3Byb3RvMy5wcm90bxIR",            "cHJvdG9idWZfdW5pdHRlc3QaJWdvb2dsZS9wcm90b2J1Zi91bml0dGVzdF9w",            "cm90bzMucHJvdG8ilhIKB1Rlc3RNYXASRgoPbWFwX2ludDMyX2ludDMyGAEg",            "AygLMi0ucHJvdG9idWZfdW5pdHRlc3QuVGVzdE1hcC5NYXBJbnQzMkludDMy",            "RW50cnkSRgoPbWFwX2ludDY0X2ludDY0GAIgAygLMi0ucHJvdG9idWZfdW5p",            "dHRlc3QuVGVzdE1hcC5NYXBJbnQ2NEludDY0RW50cnkSSgoRbWFwX3VpbnQz",            "Ml91aW50MzIYAyADKAsyLy5wcm90b2J1Zl91bml0dGVzdC5UZXN0TWFwLk1h",            "cFVpbnQzMlVpbnQzMkVudHJ5EkoKEW1hcF91aW50NjRfdWludDY0GAQgAygL",            "Mi8ucHJvdG9idWZfdW5pdHRlc3QuVGVzdE1hcC5NYXBVaW50NjRVaW50NjRF",            "bnRyeRJKChFtYXBfc2ludDMyX3NpbnQzMhgFIAMoCzIvLnByb3RvYnVmX3Vu",            "aXR0ZXN0LlRlc3RNYXAuTWFwU2ludDMyU2ludDMyRW50cnkSSgoRbWFwX3Np",            "bnQ2NF9zaW50NjQYBiADKAsyLy5wcm90b2J1Zl91bml0dGVzdC5UZXN0TWFw",            "Lk1hcFNpbnQ2NFNpbnQ2NEVudHJ5Ek4KE21hcF9maXhlZDMyX2ZpeGVkMzIY",            "ByADKAsyMS5wcm90b2J1Zl91bml0dGVzdC5UZXN0TWFwLk1hcEZpeGVkMzJG",            "aXhlZDMyRW50cnkSTgoTbWFwX2ZpeGVkNjRfZml4ZWQ2NBgIIAMoCzIxLnBy",            "b3RvYnVmX3VuaXR0ZXN0LlRlc3RNYXAuTWFwRml4ZWQ2NEZpeGVkNjRFbnRy",            "eRJSChVtYXBfc2ZpeGVkMzJfc2ZpeGVkMzIYCSADKAsyMy5wcm90b2J1Zl91",            "bml0dGVzdC5UZXN0TWFwLk1hcFNmaXhlZDMyU2ZpeGVkMzJFbnRyeRJSChVt",            "YXBfc2ZpeGVkNjRfc2ZpeGVkNjQYCiADKAsyMy5wcm90b2J1Zl91bml0dGVz",            "dC5UZXN0TWFwLk1hcFNmaXhlZDY0U2ZpeGVkNjRFbnRyeRJGCg9tYXBfaW50",            "MzJfZmxvYXQYCyADKAsyLS5wcm90b2J1Zl91bml0dGVzdC5UZXN0TWFwLk1h",            "cEludDMyRmxvYXRFbnRyeRJIChBtYXBfaW50MzJfZG91YmxlGAwgAygLMi4u",            "cHJvdG9idWZfdW5pdHRlc3QuVGVzdE1hcC5NYXBJbnQzMkRvdWJsZUVudHJ5",            "EkIKDW1hcF9ib29sX2Jvb2wYDSADKAsyKy5wcm90b2J1Zl91bml0dGVzdC5U",            "ZXN0TWFwLk1hcEJvb2xCb29sRW50cnkSSgoRbWFwX3N0cmluZ19zdHJpbmcY",            "DiADKAsyLy5wcm90b2J1Zl91bml0dGVzdC5UZXN0TWFwLk1hcFN0cmluZ1N0",            "cmluZ0VudHJ5EkYKD21hcF9pbnQzMl9ieXRlcxgPIAMoCzItLnByb3RvYnVm",            "X3VuaXR0ZXN0LlRlc3RNYXAuTWFwSW50MzJCeXRlc0VudHJ5EkQKDm1hcF9p",            "bnQzMl9lbnVtGBAgAygLMiwucHJvdG9idWZfdW5pdHRlc3QuVGVzdE1hcC5N",            "YXBJbnQzMkVudW1FbnRyeRJZChltYXBfaW50MzJfZm9yZWlnbl9tZXNzYWdl",            "GBEgAygLMjYucHJvdG9idWZfdW5pdHRlc3QuVGVzdE1hcC5NYXBJbnQzMkZv",            "cmVpZ25NZXNzYWdlRW50cnkaNAoSTWFwSW50MzJJbnQzMkVudHJ5EgsKA2tl",            "eRgBIAEoBRINCgV2YWx1ZRgCIAEoBToCOAEaNAoSTWFwSW50NjRJbnQ2NEVu",            "dHJ5EgsKA2tleRgBIAEoAxINCgV2YWx1ZRgCIAEoAzoCOAEaNgoUTWFwVWlu",            "dDMyVWludDMyRW50cnkSCwoDa2V5GAEgASgNEg0KBXZhbHVlGAIgASgNOgI4",            "ARo2ChRNYXBVaW50NjRVaW50NjRFbnRyeRILCgNrZXkYASABKAQSDQoFdmFs",            "dWUYAiABKAQ6AjgBGjYKFE1hcFNpbnQzMlNpbnQzMkVudHJ5EgsKA2tleRgB",            "IAEoERINCgV2YWx1ZRgCIAEoEToCOAEaNgoUTWFwU2ludDY0U2ludDY0RW50",            "cnkSCwoDa2V5GAEgASgSEg0KBXZhbHVlGAIgASgSOgI4ARo4ChZNYXBGaXhl",            "ZDMyRml4ZWQzMkVudHJ5EgsKA2tleRgBIAEoBxINCgV2YWx1ZRgCIAEoBzoC",            "OAEaOAoWTWFwRml4ZWQ2NEZpeGVkNjRFbnRyeRILCgNrZXkYASABKAYSDQoF",            "dmFsdWUYAiABKAY6AjgBGjoKGE1hcFNmaXhlZDMyU2ZpeGVkMzJFbnRyeRIL",            "CgNrZXkYASABKA8SDQoFdmFsdWUYAiABKA86AjgBGjoKGE1hcFNmaXhlZDY0",            "U2ZpeGVkNjRFbnRyeRILCgNrZXkYASABKBASDQoFdmFsdWUYAiABKBA6AjgB",            "GjQKEk1hcEludDMyRmxvYXRFbnRyeRILCgNrZXkYASABKAUSDQoFdmFsdWUY",            "AiABKAI6AjgBGjUKE01hcEludDMyRG91YmxlRW50cnkSCwoDa2V5GAEgASgF",            "Eg0KBXZhbHVlGAIgASgBOgI4ARoyChBNYXBCb29sQm9vbEVudHJ5EgsKA2tl",            "eRgBIAEoCBINCgV2YWx1ZRgCIAEoCDoCOAEaNgoUTWFwU3RyaW5nU3RyaW5n",            "RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARo0ChJNYXBJ",            "bnQzMkJ5dGVzRW50cnkSCwoDa2V5GAEgASgFEg0KBXZhbHVlGAIgASgMOgI4",            "ARpPChFNYXBJbnQzMkVudW1FbnRyeRILCgNrZXkYASABKAUSKQoFdmFsdWUY",            "AiABKA4yGi5wcm90b2J1Zl91bml0dGVzdC5NYXBFbnVtOgI4ARpgChtNYXBJ",            "bnQzMkZvcmVpZ25NZXNzYWdlRW50cnkSCwoDa2V5GAEgASgFEjAKBXZhbHVl",            "GAIgASgLMiEucHJvdG9idWZfdW5pdHRlc3QuRm9yZWlnbk1lc3NhZ2U6AjgB",            "IkEKEVRlc3RNYXBTdWJtZXNzYWdlEiwKCHRlc3RfbWFwGAEgASgLMhoucHJv",            "dG9idWZfdW5pdHRlc3QuVGVzdE1hcCK8AQoOVGVzdE1lc3NhZ2VNYXASUQoR",            "bWFwX2ludDMyX21lc3NhZ2UYASADKAsyNi5wcm90b2J1Zl91bml0dGVzdC5U",            "ZXN0TWVzc2FnZU1hcC5NYXBJbnQzMk1lc3NhZ2VFbnRyeRpXChRNYXBJbnQz",            "Mk1lc3NhZ2VFbnRyeRILCgNrZXkYASABKAUSLgoFdmFsdWUYAiABKAsyHy5w",            "cm90b2J1Zl91bml0dGVzdC5UZXN0QWxsVHlwZXM6AjgBIuMBCg9UZXN0U2Ft",            "ZVR5cGVNYXASOgoEbWFwMRgBIAMoCzIsLnByb3RvYnVmX3VuaXR0ZXN0LlRl",            "c3RTYW1lVHlwZU1hcC5NYXAxRW50cnkSOgoEbWFwMhgCIAMoCzIsLnByb3Rv",            "YnVmX3VuaXR0ZXN0LlRlc3RTYW1lVHlwZU1hcC5NYXAyRW50cnkaKwoJTWFw",            "MUVudHJ5EgsKA2tleRgBIAEoBRINCgV2YWx1ZRgCIAEoBToCOAEaKwoJTWFw",            "MkVudHJ5EgsKA2tleRgBIAEoBRINCgV2YWx1ZRgCIAEoBToCOAEi5BAKDFRl",            "c3RBcmVuYU1hcBJLCg9tYXBfaW50MzJfaW50MzIYASADKAsyMi5wcm90b2J1",            "Zl91bml0dGVzdC5UZXN0QXJlbmFNYXAuTWFwSW50MzJJbnQzMkVudHJ5EksK",            "D21hcF9pbnQ2NF9pbnQ2NBgCIAMoCzIyLnByb3RvYnVmX3VuaXR0ZXN0LlRl",            "c3RBcmVuYU1hcC5NYXBJbnQ2NEludDY0RW50cnkSTwoRbWFwX3VpbnQzMl91",            "aW50MzIYAyADKAsyNC5wcm90b2J1Zl91bml0dGVzdC5UZXN0QXJlbmFNYXAu",            "TWFwVWludDMyVWludDMyRW50cnkSTwoRbWFwX3VpbnQ2NF91aW50NjQYBCAD",            "KAsyNC5wcm90b2J1Zl91bml0dGVzdC5UZXN0QXJlbmFNYXAuTWFwVWludDY0",            "VWludDY0RW50cnkSTwoRbWFwX3NpbnQzMl9zaW50MzIYBSADKAsyNC5wcm90",            "b2J1Zl91bml0dGVzdC5UZXN0QXJlbmFNYXAuTWFwU2ludDMyU2ludDMyRW50",            "cnkSTwoRbWFwX3NpbnQ2NF9zaW50NjQYBiADKAsyNC5wcm90b2J1Zl91bml0",            "dGVzdC5UZXN0QXJlbmFNYXAuTWFwU2ludDY0U2ludDY0RW50cnkSUwoTbWFw",            "X2ZpeGVkMzJfZml4ZWQzMhgHIAMoCzI2LnByb3RvYnVmX3VuaXR0ZXN0LlRl",            "c3RBcmVuYU1hcC5NYXBGaXhlZDMyRml4ZWQzMkVudHJ5ElMKE21hcF9maXhl",            "ZDY0X2ZpeGVkNjQYCCADKAsyNi5wcm90b2J1Zl91bml0dGVzdC5UZXN0QXJl",            "bmFNYXAuTWFwRml4ZWQ2NEZpeGVkNjRFbnRyeRJXChVtYXBfc2ZpeGVkMzJf",            "c2ZpeGVkMzIYCSADKAsyOC5wcm90b2J1Zl91bml0dGVzdC5UZXN0QXJlbmFN",            "YXAuTWFwU2ZpeGVkMzJTZml4ZWQzMkVudHJ5ElcKFW1hcF9zZml4ZWQ2NF9z",            "Zml4ZWQ2NBgKIAMoCzI4LnByb3RvYnVmX3VuaXR0ZXN0LlRlc3RBcmVuYU1h",            "cC5NYXBTZml4ZWQ2NFNmaXhlZDY0RW50cnkSSwoPbWFwX2ludDMyX2Zsb2F0",            "GAsgAygLMjIucHJvdG9idWZfdW5pdHRlc3QuVGVzdEFyZW5hTWFwLk1hcElu",            "dDMyRmxvYXRFbnRyeRJNChBtYXBfaW50MzJfZG91YmxlGAwgAygLMjMucHJv",            "dG9idWZfdW5pdHRlc3QuVGVzdEFyZW5hTWFwLk1hcEludDMyRG91YmxlRW50",            "cnkSRwoNbWFwX2Jvb2xfYm9vbBgNIAMoCzIwLnByb3RvYnVmX3VuaXR0ZXN0",            "LlRlc3RBcmVuYU1hcC5NYXBCb29sQm9vbEVudHJ5EkkKDm1hcF9pbnQzMl9l",            "bnVtGA4gAygLMjEucHJvdG9idWZfdW5pdHRlc3QuVGVzdEFyZW5hTWFwLk1h",            "cEludDMyRW51bUVudHJ5El4KGW1hcF9pbnQzMl9mb3JlaWduX21lc3NhZ2UY",            "DyADKAsyOy5wcm90b2J1Zl91bml0dGVzdC5UZXN0QXJlbmFNYXAuTWFwSW50",            "MzJGb3JlaWduTWVzc2FnZUVudHJ5GjQKEk1hcEludDMySW50MzJFbnRyeRIL",            "CgNrZXkYASABKAUSDQoFdmFsdWUYAiABKAU6AjgBGjQKEk1hcEludDY0SW50",            "NjRFbnRyeRILCgNrZXkYASABKAMSDQoFdmFsdWUYAiABKAM6AjgBGjYKFE1h",            "cFVpbnQzMlVpbnQzMkVudHJ5EgsKA2tleRgBIAEoDRINCgV2YWx1ZRgCIAEo",            "DToCOAEaNgoUTWFwVWludDY0VWludDY0RW50cnkSCwoDa2V5GAEgASgEEg0K",            "BXZhbHVlGAIgASgEOgI4ARo2ChRNYXBTaW50MzJTaW50MzJFbnRyeRILCgNr",            "ZXkYASABKBESDQoFdmFsdWUYAiABKBE6AjgBGjYKFE1hcFNpbnQ2NFNpbnQ2",            "NEVudHJ5EgsKA2tleRgBIAEoEhINCgV2YWx1ZRgCIAEoEjoCOAEaOAoWTWFw",            "Rml4ZWQzMkZpeGVkMzJFbnRyeRILCgNrZXkYASABKAcSDQoFdmFsdWUYAiAB",            "KAc6AjgBGjgKFk1hcEZpeGVkNjRGaXhlZDY0RW50cnkSCwoDa2V5GAEgASgG",            "Eg0KBXZhbHVlGAIgASgGOgI4ARo6ChhNYXBTZml4ZWQzMlNmaXhlZDMyRW50",            "cnkSCwoDa2V5GAEgASgPEg0KBXZhbHVlGAIgASgPOgI4ARo6ChhNYXBTZml4",            "ZWQ2NFNmaXhlZDY0RW50cnkSCwoDa2V5GAEgASgQEg0KBXZhbHVlGAIgASgQ",            "OgI4ARo0ChJNYXBJbnQzMkZsb2F0RW50cnkSCwoDa2V5GAEgASgFEg0KBXZh",            "bHVlGAIgASgCOgI4ARo1ChNNYXBJbnQzMkRvdWJsZUVudHJ5EgsKA2tleRgB",            "IAEoBRINCgV2YWx1ZRgCIAEoAToCOAEaMgoQTWFwQm9vbEJvb2xFbnRyeRIL",            "CgNrZXkYASABKAgSDQoFdmFsdWUYAiABKAg6AjgBGk8KEU1hcEludDMyRW51",            "bUVudHJ5EgsKA2tleRgBIAEoBRIpCgV2YWx1ZRgCIAEoDjIaLnByb3RvYnVm",            "X3VuaXR0ZXN0Lk1hcEVudW06AjgBGmAKG01hcEludDMyRm9yZWlnbk1lc3Nh",            "Z2VFbnRyeRILCgNrZXkYASABKAUSMAoFdmFsdWUYAiABKAsyIS5wcm90b2J1",            "Zl91bml0dGVzdC5Gb3JlaWduTWVzc2FnZToCOAEi5AEKH01lc3NhZ2VDb250",            "YWluaW5nRW51bUNhbGxlZFR5cGUSSgoEdHlwZRgBIAMoCzI8LnByb3RvYnVm",            "X3VuaXR0ZXN0Lk1lc3NhZ2VDb250YWluaW5nRW51bUNhbGxlZFR5cGUuVHlw",            "ZUVudHJ5Gl8KCVR5cGVFbnRyeRILCgNrZXkYASABKAUSQQoFdmFsdWUYAiAB",            "KAsyMi5wcm90b2J1Zl91bml0dGVzdC5NZXNzYWdlQ29udGFpbmluZ0VudW1D",            "YWxsZWRUeXBlOgI4ASIUCgRUeXBlEgwKCFRZUEVfRk9PEAAinQEKH01lc3Nh",            "Z2VDb250YWluaW5nTWFwQ2FsbGVkRW50cnkSTAoFZW50cnkYASADKAsyPS5w",            "cm90b2J1Zl91bml0dGVzdC5NZXNzYWdlQ29udGFpbmluZ01hcENhbGxlZEVu",            "dHJ5LkVudHJ5RW50cnkaLAoKRW50cnlFbnRyeRILCgNrZXkYASABKAUSDQoF",            "dmFsdWUYAiABKAU6AjgBKj8KB01hcEVudW0SEAoMTUFQX0VOVU1fRk9PEAAS",            "EAoMTUFQX0VOVU1fQkFSEAESEAoMTUFQX0VOVU1fQkFaEAJCIPgBAaoCGkdv",            "b2dsZS5Qcm90b2J1Zi5UZXN0UHJvdG9zYgZwcm90bzM="));      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,          new pbr::FileDescriptor[] { global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor, },          new pbr::GeneratedCodeInfo(new[] {typeof(global::Google.Protobuf.TestProtos.MapEnum), }, new pbr::GeneratedCodeInfo[] {            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestMap), global::Google.Protobuf.TestProtos.TestMap.Parser, new[]{ "MapInt32Int32", "MapInt64Int64", "MapUint32Uint32", "MapUint64Uint64", "MapSint32Sint32", "MapSint64Sint64", "MapFixed32Fixed32", "MapFixed64Fixed64", "MapSfixed32Sfixed32", "MapSfixed64Sfixed64", "MapInt32Float", "MapInt32Double", "MapBoolBool", "MapStringString", "MapInt32Bytes", "MapInt32Enum", "MapInt32ForeignMessage" }, null, null, new pbr::GeneratedCodeInfo[] { null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, }),            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestMapSubmessage), global::Google.Protobuf.TestProtos.TestMapSubmessage.Parser, new[]{ "TestMap" }, null, null, null),            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestMessageMap), global::Google.Protobuf.TestProtos.TestMessageMap.Parser, new[]{ "MapInt32Message" }, null, null, new pbr::GeneratedCodeInfo[] { null, }),            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestSameTypeMap), global::Google.Protobuf.TestProtos.TestSameTypeMap.Parser, new[]{ "Map1", "Map2" }, null, null, new pbr::GeneratedCodeInfo[] { null, null, }),            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestArenaMap), global::Google.Protobuf.TestProtos.TestArenaMap.Parser, new[]{ "MapInt32Int32", "MapInt64Int64", "MapUint32Uint32", "MapUint64Uint64", "MapSint32Sint32", "MapSint64Sint64", "MapFixed32Fixed32", "MapFixed64Fixed64", "MapSfixed32Sfixed32", "MapSfixed64Sfixed64", "MapInt32Float", "MapInt32Double", "MapBoolBool", "MapInt32Enum", "MapInt32ForeignMessage" }, null, null, new pbr::GeneratedCodeInfo[] { null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, }),            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.MessageContainingEnumCalledType), global::Google.Protobuf.TestProtos.MessageContainingEnumCalledType.Parser, new[]{ "Type" }, null, new[]{ typeof(global::Google.Protobuf.TestProtos.MessageContainingEnumCalledType.Types.Type) }, new pbr::GeneratedCodeInfo[] { null, }),            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.MessageContainingMapCalledEntry), global::Google.Protobuf.TestProtos.MessageContainingMapCalledEntry.Parser, new[]{ "Entry" }, null, null, new pbr::GeneratedCodeInfo[] { null, })          }));    }    #endregion  }  #region Enums  public enum MapEnum {    MAP_ENUM_FOO = 0,    MAP_ENUM_BAR = 1,    MAP_ENUM_BAZ = 2,  }  #endregion  #region Messages  /// <summary>  ///  Tests maps.  /// </summary>  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class TestMap : pb::IMessage<TestMap> {    private static readonly pb::MessageParser<TestMap> _parser = new pb::MessageParser<TestMap>(() => new TestMap());    public static pb::MessageParser<TestMap> Parser { get { return _parser; } }    public static pbr::MessageDescriptor Descriptor {      get { return global::Google.Protobuf.TestProtos.MapUnittestProto3Reflection.Descriptor.MessageTypes[0]; }    }    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    public TestMap() {      OnConstruction();    }    partial void OnConstruction();    public TestMap(TestMap other) : this() {      mapInt32Int32_ = other.mapInt32Int32_.Clone();      mapInt64Int64_ = other.mapInt64Int64_.Clone();      mapUint32Uint32_ = other.mapUint32Uint32_.Clone();      mapUint64Uint64_ = other.mapUint64Uint64_.Clone();      mapSint32Sint32_ = other.mapSint32Sint32_.Clone();      mapSint64Sint64_ = other.mapSint64Sint64_.Clone();      mapFixed32Fixed32_ = other.mapFixed32Fixed32_.Clone();      mapFixed64Fixed64_ = other.mapFixed64Fixed64_.Clone();      mapSfixed32Sfixed32_ = other.mapSfixed32Sfixed32_.Clone();      mapSfixed64Sfixed64_ = other.mapSfixed64Sfixed64_.Clone();      mapInt32Float_ = other.mapInt32Float_.Clone();      mapInt32Double_ = other.mapInt32Double_.Clone();      mapBoolBool_ = other.mapBoolBool_.Clone();      mapStringString_ = other.mapStringString_.Clone();      mapInt32Bytes_ = other.mapInt32Bytes_.Clone();      mapInt32Enum_ = other.mapInt32Enum_.Clone();      mapInt32ForeignMessage_ = other.mapInt32ForeignMessage_.Clone();    }    public TestMap Clone() {      return new TestMap(this);    }    /// <summary>Field number for the "map_int32_int32" field.</summary>    public const int MapInt32Int32FieldNumber = 1;    private static readonly pbc::MapField<int, int>.Codec _map_mapInt32Int32_codec        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForInt32(16), 10);    private readonly pbc::MapField<int, int> mapInt32Int32_ = new pbc::MapField<int, int>();    public pbc::MapField<int, int> MapInt32Int32 {      get { return mapInt32Int32_; }    }    /// <summary>Field number for the "map_int64_int64" field.</summary>    public const int MapInt64Int64FieldNumber = 2;    private static readonly pbc::MapField<long, long>.Codec _map_mapInt64Int64_codec        = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForInt64(8), pb::FieldCodec.ForInt64(16), 18);    private readonly pbc::MapField<long, long> mapInt64Int64_ = new pbc::MapField<long, long>();    public pbc::MapField<long, long> MapInt64Int64 {      get { return mapInt64Int64_; }    }    /// <summary>Field number for the "map_uint32_uint32" field.</summary>    public const int MapUint32Uint32FieldNumber = 3;    private static readonly pbc::MapField<uint, uint>.Codec _map_mapUint32Uint32_codec        = new pbc::MapField<uint, uint>.Codec(pb::FieldCodec.ForUInt32(8), pb::FieldCodec.ForUInt32(16), 26);    private readonly pbc::MapField<uint, uint> mapUint32Uint32_ = new pbc::MapField<uint, uint>();    public pbc::MapField<uint, uint> MapUint32Uint32 {      get { return mapUint32Uint32_; }    }    /// <summary>Field number for the "map_uint64_uint64" field.</summary>    public const int MapUint64Uint64FieldNumber = 4;    private static readonly pbc::MapField<ulong, ulong>.Codec _map_mapUint64Uint64_codec        = new pbc::MapField<ulong, ulong>.Codec(pb::FieldCodec.ForUInt64(8), pb::FieldCodec.ForUInt64(16), 34);    private readonly pbc::MapField<ulong, ulong> mapUint64Uint64_ = new pbc::MapField<ulong, ulong>();    public pbc::MapField<ulong, ulong> MapUint64Uint64 {      get { return mapUint64Uint64_; }    }    /// <summary>Field number for the "map_sint32_sint32" field.</summary>    public const int MapSint32Sint32FieldNumber = 5;    private static readonly pbc::MapField<int, int>.Codec _map_mapSint32Sint32_codec        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForSInt32(8), pb::FieldCodec.ForSInt32(16), 42);    private readonly pbc::MapField<int, int> mapSint32Sint32_ = new pbc::MapField<int, int>();    public pbc::MapField<int, int> MapSint32Sint32 {      get { return mapSint32Sint32_; }    }    /// <summary>Field number for the "map_sint64_sint64" field.</summary>    public const int MapSint64Sint64FieldNumber = 6;    private static readonly pbc::MapField<long, long>.Codec _map_mapSint64Sint64_codec        = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForSInt64(8), pb::FieldCodec.ForSInt64(16), 50);    private readonly pbc::MapField<long, long> mapSint64Sint64_ = new pbc::MapField<long, long>();    public pbc::MapField<long, long> MapSint64Sint64 {      get { return mapSint64Sint64_; }    }    /// <summary>Field number for the "map_fixed32_fixed32" field.</summary>    public const int MapFixed32Fixed32FieldNumber = 7;    private static readonly pbc::MapField<uint, uint>.Codec _map_mapFixed32Fixed32_codec        = new pbc::MapField<uint, uint>.Codec(pb::FieldCodec.ForFixed32(13), pb::FieldCodec.ForFixed32(21), 58);    private readonly pbc::MapField<uint, uint> mapFixed32Fixed32_ = new pbc::MapField<uint, uint>();    public pbc::MapField<uint, uint> MapFixed32Fixed32 {      get { return mapFixed32Fixed32_; }    }    /// <summary>Field number for the "map_fixed64_fixed64" field.</summary>    public const int MapFixed64Fixed64FieldNumber = 8;    private static readonly pbc::MapField<ulong, ulong>.Codec _map_mapFixed64Fixed64_codec        = new pbc::MapField<ulong, ulong>.Codec(pb::FieldCodec.ForFixed64(9), pb::FieldCodec.ForFixed64(17), 66);    private readonly pbc::MapField<ulong, ulong> mapFixed64Fixed64_ = new pbc::MapField<ulong, ulong>();    public pbc::MapField<ulong, ulong> MapFixed64Fixed64 {      get { return mapFixed64Fixed64_; }    }    /// <summary>Field number for the "map_sfixed32_sfixed32" field.</summary>    public const int MapSfixed32Sfixed32FieldNumber = 9;    private static readonly pbc::MapField<int, int>.Codec _map_mapSfixed32Sfixed32_codec        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForSFixed32(13), pb::FieldCodec.ForSFixed32(21), 74);    private readonly pbc::MapField<int, int> mapSfixed32Sfixed32_ = new pbc::MapField<int, int>();    public pbc::MapField<int, int> MapSfixed32Sfixed32 {      get { return mapSfixed32Sfixed32_; }    }    /// <summary>Field number for the "map_sfixed64_sfixed64" field.</summary>    public const int MapSfixed64Sfixed64FieldNumber = 10;    private static readonly pbc::MapField<long, long>.Codec _map_mapSfixed64Sfixed64_codec        = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForSFixed64(9), pb::FieldCodec.ForSFixed64(17), 82);    private readonly pbc::MapField<long, long> mapSfixed64Sfixed64_ = new pbc::MapField<long, long>();    public pbc::MapField<long, long> MapSfixed64Sfixed64 {      get { return mapSfixed64Sfixed64_; }    }    /// <summary>Field number for the "map_int32_float" field.</summary>    public const int MapInt32FloatFieldNumber = 11;    private static readonly pbc::MapField<int, float>.Codec _map_mapInt32Float_codec        = new pbc::MapField<int, float>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForFloat(21), 90);    private readonly pbc::MapField<int, float> mapInt32Float_ = new pbc::MapField<int, float>();    public pbc::MapField<int, float> MapInt32Float {      get { return mapInt32Float_; }    }    /// <summary>Field number for the "map_int32_double" field.</summary>    public const int MapInt32DoubleFieldNumber = 12;    private static readonly pbc::MapField<int, double>.Codec _map_mapInt32Double_codec        = new pbc::MapField<int, double>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForDouble(17), 98);    private readonly pbc::MapField<int, double> mapInt32Double_ = new pbc::MapField<int, double>();    public pbc::MapField<int, double> MapInt32Double {      get { return mapInt32Double_; }    }    /// <summary>Field number for the "map_bool_bool" field.</summary>    public const int MapBoolBoolFieldNumber = 13;    private static readonly pbc::MapField<bool, bool>.Codec _map_mapBoolBool_codec        = new pbc::MapField<bool, bool>.Codec(pb::FieldCodec.ForBool(8), pb::FieldCodec.ForBool(16), 106);    private readonly pbc::MapField<bool, bool> mapBoolBool_ = new pbc::MapField<bool, bool>();    public pbc::MapField<bool, bool> MapBoolBool {      get { return mapBoolBool_; }    }    /// <summary>Field number for the "map_string_string" field.</summary>    public const int MapStringStringFieldNumber = 14;    private static readonly pbc::MapField<string, string>.Codec _map_mapStringString_codec        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForString(18), 114);    private readonly pbc::MapField<string, string> mapStringString_ = new pbc::MapField<string, string>();    public pbc::MapField<string, string> MapStringString {      get { return mapStringString_; }    }    /// <summary>Field number for the "map_int32_bytes" field.</summary>    public const int MapInt32BytesFieldNumber = 15;    private static readonly pbc::MapField<int, pb::ByteString>.Codec _map_mapInt32Bytes_codec        = new pbc::MapField<int, pb::ByteString>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForBytes(18), 122);    private readonly pbc::MapField<int, pb::ByteString> mapInt32Bytes_ = new pbc::MapField<int, pb::ByteString>();    public pbc::MapField<int, pb::ByteString> MapInt32Bytes {      get { return mapInt32Bytes_; }    }    /// <summary>Field number for the "map_int32_enum" field.</summary>    public const int MapInt32EnumFieldNumber = 16;    private static readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.MapEnum>.Codec _map_mapInt32Enum_codec        = new pbc::MapField<int, global::Google.Protobuf.TestProtos.MapEnum>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForEnum(16, x => (int) x, x => (global::Google.Protobuf.TestProtos.MapEnum) x), 130);    private readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.MapEnum> mapInt32Enum_ = new pbc::MapField<int, global::Google.Protobuf.TestProtos.MapEnum>();    public pbc::MapField<int, global::Google.Protobuf.TestProtos.MapEnum> MapInt32Enum {      get { return mapInt32Enum_; }    }    /// <summary>Field number for the "map_int32_foreign_message" field.</summary>    public const int MapInt32ForeignMessageFieldNumber = 17;    private static readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.ForeignMessage>.Codec _map_mapInt32ForeignMessage_codec        = new pbc::MapField<int, global::Google.Protobuf.TestProtos.ForeignMessage>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForMessage(18, global::Google.Protobuf.TestProtos.ForeignMessage.Parser), 138);    private readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.ForeignMessage> mapInt32ForeignMessage_ = new pbc::MapField<int, global::Google.Protobuf.TestProtos.ForeignMessage>();    public pbc::MapField<int, global::Google.Protobuf.TestProtos.ForeignMessage> MapInt32ForeignMessage {      get { return mapInt32ForeignMessage_; }    }    public override bool Equals(object other) {      return Equals(other as TestMap);    }    public bool Equals(TestMap other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (!MapInt32Int32.Equals(other.MapInt32Int32)) return false;      if (!MapInt64Int64.Equals(other.MapInt64Int64)) return false;      if (!MapUint32Uint32.Equals(other.MapUint32Uint32)) return false;      if (!MapUint64Uint64.Equals(other.MapUint64Uint64)) return false;      if (!MapSint32Sint32.Equals(other.MapSint32Sint32)) return false;      if (!MapSint64Sint64.Equals(other.MapSint64Sint64)) return false;      if (!MapFixed32Fixed32.Equals(other.MapFixed32Fixed32)) return false;      if (!MapFixed64Fixed64.Equals(other.MapFixed64Fixed64)) return false;      if (!MapSfixed32Sfixed32.Equals(other.MapSfixed32Sfixed32)) return false;      if (!MapSfixed64Sfixed64.Equals(other.MapSfixed64Sfixed64)) return false;      if (!MapInt32Float.Equals(other.MapInt32Float)) return false;      if (!MapInt32Double.Equals(other.MapInt32Double)) return false;      if (!MapBoolBool.Equals(other.MapBoolBool)) return false;      if (!MapStringString.Equals(other.MapStringString)) return false;      if (!MapInt32Bytes.Equals(other.MapInt32Bytes)) return false;      if (!MapInt32Enum.Equals(other.MapInt32Enum)) return false;      if (!MapInt32ForeignMessage.Equals(other.MapInt32ForeignMessage)) return false;      return true;    }    public override int GetHashCode() {      int hash = 1;      hash ^= MapInt32Int32.GetHashCode();      hash ^= MapInt64Int64.GetHashCode();      hash ^= MapUint32Uint32.GetHashCode();      hash ^= MapUint64Uint64.GetHashCode();      hash ^= MapSint32Sint32.GetHashCode();      hash ^= MapSint64Sint64.GetHashCode();      hash ^= MapFixed32Fixed32.GetHashCode();      hash ^= MapFixed64Fixed64.GetHashCode();      hash ^= MapSfixed32Sfixed32.GetHashCode();      hash ^= MapSfixed64Sfixed64.GetHashCode();      hash ^= MapInt32Float.GetHashCode();      hash ^= MapInt32Double.GetHashCode();      hash ^= MapBoolBool.GetHashCode();      hash ^= MapStringString.GetHashCode();      hash ^= MapInt32Bytes.GetHashCode();      hash ^= MapInt32Enum.GetHashCode();      hash ^= MapInt32ForeignMessage.GetHashCode();      return hash;    }    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    public void WriteTo(pb::CodedOutputStream output) {      mapInt32Int32_.WriteTo(output, _map_mapInt32Int32_codec);      mapInt64Int64_.WriteTo(output, _map_mapInt64Int64_codec);      mapUint32Uint32_.WriteTo(output, _map_mapUint32Uint32_codec);      mapUint64Uint64_.WriteTo(output, _map_mapUint64Uint64_codec);      mapSint32Sint32_.WriteTo(output, _map_mapSint32Sint32_codec);      mapSint64Sint64_.WriteTo(output, _map_mapSint64Sint64_codec);      mapFixed32Fixed32_.WriteTo(output, _map_mapFixed32Fixed32_codec);      mapFixed64Fixed64_.WriteTo(output, _map_mapFixed64Fixed64_codec);      mapSfixed32Sfixed32_.WriteTo(output, _map_mapSfixed32Sfixed32_codec);      mapSfixed64Sfixed64_.WriteTo(output, _map_mapSfixed64Sfixed64_codec);      mapInt32Float_.WriteTo(output, _map_mapInt32Float_codec);      mapInt32Double_.WriteTo(output, _map_mapInt32Double_codec);      mapBoolBool_.WriteTo(output, _map_mapBoolBool_codec);      mapStringString_.WriteTo(output, _map_mapStringString_codec);      mapInt32Bytes_.WriteTo(output, _map_mapInt32Bytes_codec);      mapInt32Enum_.WriteTo(output, _map_mapInt32Enum_codec);      mapInt32ForeignMessage_.WriteTo(output, _map_mapInt32ForeignMessage_codec);    }    public int CalculateSize() {      int size = 0;      size += mapInt32Int32_.CalculateSize(_map_mapInt32Int32_codec);      size += mapInt64Int64_.CalculateSize(_map_mapInt64Int64_codec);      size += mapUint32Uint32_.CalculateSize(_map_mapUint32Uint32_codec);      size += mapUint64Uint64_.CalculateSize(_map_mapUint64Uint64_codec);      size += mapSint32Sint32_.CalculateSize(_map_mapSint32Sint32_codec);      size += mapSint64Sint64_.CalculateSize(_map_mapSint64Sint64_codec);      size += mapFixed32Fixed32_.CalculateSize(_map_mapFixed32Fixed32_codec);      size += mapFixed64Fixed64_.CalculateSize(_map_mapFixed64Fixed64_codec);      size += mapSfixed32Sfixed32_.CalculateSize(_map_mapSfixed32Sfixed32_codec);      size += mapSfixed64Sfixed64_.CalculateSize(_map_mapSfixed64Sfixed64_codec);      size += mapInt32Float_.CalculateSize(_map_mapInt32Float_codec);      size += mapInt32Double_.CalculateSize(_map_mapInt32Double_codec);      size += mapBoolBool_.CalculateSize(_map_mapBoolBool_codec);      size += mapStringString_.CalculateSize(_map_mapStringString_codec);      size += mapInt32Bytes_.CalculateSize(_map_mapInt32Bytes_codec);      size += mapInt32Enum_.CalculateSize(_map_mapInt32Enum_codec);      size += mapInt32ForeignMessage_.CalculateSize(_map_mapInt32ForeignMessage_codec);      return size;    }    public void MergeFrom(TestMap other) {      if (other == null) {        return;      }      mapInt32Int32_.Add(other.mapInt32Int32_);      mapInt64Int64_.Add(other.mapInt64Int64_);      mapUint32Uint32_.Add(other.mapUint32Uint32_);      mapUint64Uint64_.Add(other.mapUint64Uint64_);      mapSint32Sint32_.Add(other.mapSint32Sint32_);      mapSint64Sint64_.Add(other.mapSint64Sint64_);      mapFixed32Fixed32_.Add(other.mapFixed32Fixed32_);      mapFixed64Fixed64_.Add(other.mapFixed64Fixed64_);      mapSfixed32Sfixed32_.Add(other.mapSfixed32Sfixed32_);      mapSfixed64Sfixed64_.Add(other.mapSfixed64Sfixed64_);      mapInt32Float_.Add(other.mapInt32Float_);      mapInt32Double_.Add(other.mapInt32Double_);      mapBoolBool_.Add(other.mapBoolBool_);      mapStringString_.Add(other.mapStringString_);      mapInt32Bytes_.Add(other.mapInt32Bytes_);      mapInt32Enum_.Add(other.mapInt32Enum_);      mapInt32ForeignMessage_.Add(other.mapInt32ForeignMessage_);    }    public void MergeFrom(pb::CodedInputStream input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            input.SkipLastField();            break;          case 10: {            mapInt32Int32_.AddEntriesFrom(input, _map_mapInt32Int32_codec);            break;          }          case 18: {            mapInt64Int64_.AddEntriesFrom(input, _map_mapInt64Int64_codec);            break;          }          case 26: {            mapUint32Uint32_.AddEntriesFrom(input, _map_mapUint32Uint32_codec);            break;          }          case 34: {            mapUint64Uint64_.AddEntriesFrom(input, _map_mapUint64Uint64_codec);            break;          }          case 42: {            mapSint32Sint32_.AddEntriesFrom(input, _map_mapSint32Sint32_codec);            break;          }          case 50: {            mapSint64Sint64_.AddEntriesFrom(input, _map_mapSint64Sint64_codec);            break;          }          case 58: {            mapFixed32Fixed32_.AddEntriesFrom(input, _map_mapFixed32Fixed32_codec);            break;          }          case 66: {            mapFixed64Fixed64_.AddEntriesFrom(input, _map_mapFixed64Fixed64_codec);            break;          }          case 74: {            mapSfixed32Sfixed32_.AddEntriesFrom(input, _map_mapSfixed32Sfixed32_codec);            break;          }          case 82: {            mapSfixed64Sfixed64_.AddEntriesFrom(input, _map_mapSfixed64Sfixed64_codec);            break;          }          case 90: {            mapInt32Float_.AddEntriesFrom(input, _map_mapInt32Float_codec);            break;          }          case 98: {            mapInt32Double_.AddEntriesFrom(input, _map_mapInt32Double_codec);            break;          }          case 106: {            mapBoolBool_.AddEntriesFrom(input, _map_mapBoolBool_codec);            break;          }          case 114: {            mapStringString_.AddEntriesFrom(input, _map_mapStringString_codec);            break;          }          case 122: {            mapInt32Bytes_.AddEntriesFrom(input, _map_mapInt32Bytes_codec);            break;          }          case 130: {            mapInt32Enum_.AddEntriesFrom(input, _map_mapInt32Enum_codec);            break;          }          case 138: {            mapInt32ForeignMessage_.AddEntriesFrom(input, _map_mapInt32ForeignMessage_codec);            break;          }        }      }    }  }  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class TestMapSubmessage : pb::IMessage<TestMapSubmessage> {    private static readonly pb::MessageParser<TestMapSubmessage> _parser = new pb::MessageParser<TestMapSubmessage>(() => new TestMapSubmessage());    public static pb::MessageParser<TestMapSubmessage> Parser { get { return _parser; } }    public static pbr::MessageDescriptor Descriptor {      get { return global::Google.Protobuf.TestProtos.MapUnittestProto3Reflection.Descriptor.MessageTypes[1]; }    }    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    public TestMapSubmessage() {      OnConstruction();    }    partial void OnConstruction();    public TestMapSubmessage(TestMapSubmessage other) : this() {      TestMap = other.testMap_ != null ? other.TestMap.Clone() : null;    }    public TestMapSubmessage Clone() {      return new TestMapSubmessage(this);    }    /// <summary>Field number for the "test_map" field.</summary>    public const int TestMapFieldNumber = 1;    private global::Google.Protobuf.TestProtos.TestMap testMap_;    public global::Google.Protobuf.TestProtos.TestMap TestMap {      get { return testMap_; }      set {        testMap_ = value;      }    }    public override bool Equals(object other) {      return Equals(other as TestMapSubmessage);    }    public bool Equals(TestMapSubmessage other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (!object.Equals(TestMap, other.TestMap)) return false;      return true;    }    public override int GetHashCode() {      int hash = 1;      if (testMap_ != null) hash ^= TestMap.GetHashCode();      return hash;    }    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    public void WriteTo(pb::CodedOutputStream output) {      if (testMap_ != null) {        output.WriteRawTag(10);        output.WriteMessage(TestMap);      }    }    public int CalculateSize() {      int size = 0;      if (testMap_ != null) {        size += 1 + pb::CodedOutputStream.ComputeMessageSize(TestMap);      }      return size;    }    public void MergeFrom(TestMapSubmessage other) {      if (other == null) {        return;      }      if (other.testMap_ != null) {        if (testMap_ == null) {          testMap_ = new global::Google.Protobuf.TestProtos.TestMap();        }        TestMap.MergeFrom(other.TestMap);      }    }    public void MergeFrom(pb::CodedInputStream input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            input.SkipLastField();            break;          case 10: {            if (testMap_ == null) {              testMap_ = new global::Google.Protobuf.TestProtos.TestMap();            }            input.ReadMessage(testMap_);            break;          }        }      }    }  }  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class TestMessageMap : pb::IMessage<TestMessageMap> {    private static readonly pb::MessageParser<TestMessageMap> _parser = new pb::MessageParser<TestMessageMap>(() => new TestMessageMap());    public static pb::MessageParser<TestMessageMap> Parser { get { return _parser; } }    public static pbr::MessageDescriptor Descriptor {      get { return global::Google.Protobuf.TestProtos.MapUnittestProto3Reflection.Descriptor.MessageTypes[2]; }    }    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    public TestMessageMap() {      OnConstruction();    }    partial void OnConstruction();    public TestMessageMap(TestMessageMap other) : this() {      mapInt32Message_ = other.mapInt32Message_.Clone();    }    public TestMessageMap Clone() {      return new TestMessageMap(this);    }    /// <summary>Field number for the "map_int32_message" field.</summary>    public const int MapInt32MessageFieldNumber = 1;    private static readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.TestAllTypes>.Codec _map_mapInt32Message_codec        = new pbc::MapField<int, global::Google.Protobuf.TestProtos.TestAllTypes>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForMessage(18, global::Google.Protobuf.TestProtos.TestAllTypes.Parser), 10);    private readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.TestAllTypes> mapInt32Message_ = new pbc::MapField<int, global::Google.Protobuf.TestProtos.TestAllTypes>();    public pbc::MapField<int, global::Google.Protobuf.TestProtos.TestAllTypes> MapInt32Message {      get { return mapInt32Message_; }    }    public override bool Equals(object other) {      return Equals(other as TestMessageMap);    }    public bool Equals(TestMessageMap other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (!MapInt32Message.Equals(other.MapInt32Message)) return false;      return true;    }    public override int GetHashCode() {      int hash = 1;      hash ^= MapInt32Message.GetHashCode();      return hash;    }    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    public void WriteTo(pb::CodedOutputStream output) {      mapInt32Message_.WriteTo(output, _map_mapInt32Message_codec);    }    public int CalculateSize() {      int size = 0;      size += mapInt32Message_.CalculateSize(_map_mapInt32Message_codec);      return size;    }    public void MergeFrom(TestMessageMap other) {      if (other == null) {        return;      }      mapInt32Message_.Add(other.mapInt32Message_);    }    public void MergeFrom(pb::CodedInputStream input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            input.SkipLastField();            break;          case 10: {            mapInt32Message_.AddEntriesFrom(input, _map_mapInt32Message_codec);            break;          }        }      }    }  }  /// <summary>  ///  Two map fields share the same entry default instance.  /// </summary>  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class TestSameTypeMap : pb::IMessage<TestSameTypeMap> {    private static readonly pb::MessageParser<TestSameTypeMap> _parser = new pb::MessageParser<TestSameTypeMap>(() => new TestSameTypeMap());    public static pb::MessageParser<TestSameTypeMap> Parser { get { return _parser; } }    public static pbr::MessageDescriptor Descriptor {      get { return global::Google.Protobuf.TestProtos.MapUnittestProto3Reflection.Descriptor.MessageTypes[3]; }    }    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    public TestSameTypeMap() {      OnConstruction();    }    partial void OnConstruction();    public TestSameTypeMap(TestSameTypeMap other) : this() {      map1_ = other.map1_.Clone();      map2_ = other.map2_.Clone();    }    public TestSameTypeMap Clone() {      return new TestSameTypeMap(this);    }    /// <summary>Field number for the "map1" field.</summary>    public const int Map1FieldNumber = 1;    private static readonly pbc::MapField<int, int>.Codec _map_map1_codec        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForInt32(16), 10);    private readonly pbc::MapField<int, int> map1_ = new pbc::MapField<int, int>();    public pbc::MapField<int, int> Map1 {      get { return map1_; }    }    /// <summary>Field number for the "map2" field.</summary>    public const int Map2FieldNumber = 2;    private static readonly pbc::MapField<int, int>.Codec _map_map2_codec        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForInt32(16), 18);    private readonly pbc::MapField<int, int> map2_ = new pbc::MapField<int, int>();    public pbc::MapField<int, int> Map2 {      get { return map2_; }    }    public override bool Equals(object other) {      return Equals(other as TestSameTypeMap);    }    public bool Equals(TestSameTypeMap other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (!Map1.Equals(other.Map1)) return false;      if (!Map2.Equals(other.Map2)) return false;      return true;    }    public override int GetHashCode() {      int hash = 1;      hash ^= Map1.GetHashCode();      hash ^= Map2.GetHashCode();      return hash;    }    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    public void WriteTo(pb::CodedOutputStream output) {      map1_.WriteTo(output, _map_map1_codec);      map2_.WriteTo(output, _map_map2_codec);    }    public int CalculateSize() {      int size = 0;      size += map1_.CalculateSize(_map_map1_codec);      size += map2_.CalculateSize(_map_map2_codec);      return size;    }    public void MergeFrom(TestSameTypeMap other) {      if (other == null) {        return;      }      map1_.Add(other.map1_);      map2_.Add(other.map2_);    }    public void MergeFrom(pb::CodedInputStream input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            input.SkipLastField();            break;          case 10: {            map1_.AddEntriesFrom(input, _map_map1_codec);            break;          }          case 18: {            map2_.AddEntriesFrom(input, _map_map2_codec);            break;          }        }      }    }  }  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class TestArenaMap : pb::IMessage<TestArenaMap> {    private static readonly pb::MessageParser<TestArenaMap> _parser = new pb::MessageParser<TestArenaMap>(() => new TestArenaMap());    public static pb::MessageParser<TestArenaMap> Parser { get { return _parser; } }    public static pbr::MessageDescriptor Descriptor {      get { return global::Google.Protobuf.TestProtos.MapUnittestProto3Reflection.Descriptor.MessageTypes[4]; }    }    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    public TestArenaMap() {      OnConstruction();    }    partial void OnConstruction();    public TestArenaMap(TestArenaMap other) : this() {      mapInt32Int32_ = other.mapInt32Int32_.Clone();      mapInt64Int64_ = other.mapInt64Int64_.Clone();      mapUint32Uint32_ = other.mapUint32Uint32_.Clone();      mapUint64Uint64_ = other.mapUint64Uint64_.Clone();      mapSint32Sint32_ = other.mapSint32Sint32_.Clone();      mapSint64Sint64_ = other.mapSint64Sint64_.Clone();      mapFixed32Fixed32_ = other.mapFixed32Fixed32_.Clone();      mapFixed64Fixed64_ = other.mapFixed64Fixed64_.Clone();      mapSfixed32Sfixed32_ = other.mapSfixed32Sfixed32_.Clone();      mapSfixed64Sfixed64_ = other.mapSfixed64Sfixed64_.Clone();      mapInt32Float_ = other.mapInt32Float_.Clone();      mapInt32Double_ = other.mapInt32Double_.Clone();      mapBoolBool_ = other.mapBoolBool_.Clone();      mapInt32Enum_ = other.mapInt32Enum_.Clone();      mapInt32ForeignMessage_ = other.mapInt32ForeignMessage_.Clone();    }    public TestArenaMap Clone() {      return new TestArenaMap(this);    }    /// <summary>Field number for the "map_int32_int32" field.</summary>    public const int MapInt32Int32FieldNumber = 1;    private static readonly pbc::MapField<int, int>.Codec _map_mapInt32Int32_codec        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForInt32(16), 10);    private readonly pbc::MapField<int, int> mapInt32Int32_ = new pbc::MapField<int, int>();    public pbc::MapField<int, int> MapInt32Int32 {      get { return mapInt32Int32_; }    }    /// <summary>Field number for the "map_int64_int64" field.</summary>    public const int MapInt64Int64FieldNumber = 2;    private static readonly pbc::MapField<long, long>.Codec _map_mapInt64Int64_codec        = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForInt64(8), pb::FieldCodec.ForInt64(16), 18);    private readonly pbc::MapField<long, long> mapInt64Int64_ = new pbc::MapField<long, long>();    public pbc::MapField<long, long> MapInt64Int64 {      get { return mapInt64Int64_; }    }    /// <summary>Field number for the "map_uint32_uint32" field.</summary>    public const int MapUint32Uint32FieldNumber = 3;    private static readonly pbc::MapField<uint, uint>.Codec _map_mapUint32Uint32_codec        = new pbc::MapField<uint, uint>.Codec(pb::FieldCodec.ForUInt32(8), pb::FieldCodec.ForUInt32(16), 26);    private readonly pbc::MapField<uint, uint> mapUint32Uint32_ = new pbc::MapField<uint, uint>();    public pbc::MapField<uint, uint> MapUint32Uint32 {      get { return mapUint32Uint32_; }    }    /// <summary>Field number for the "map_uint64_uint64" field.</summary>    public const int MapUint64Uint64FieldNumber = 4;    private static readonly pbc::MapField<ulong, ulong>.Codec _map_mapUint64Uint64_codec        = new pbc::MapField<ulong, ulong>.Codec(pb::FieldCodec.ForUInt64(8), pb::FieldCodec.ForUInt64(16), 34);    private readonly pbc::MapField<ulong, ulong> mapUint64Uint64_ = new pbc::MapField<ulong, ulong>();    public pbc::MapField<ulong, ulong> MapUint64Uint64 {      get { return mapUint64Uint64_; }    }    /// <summary>Field number for the "map_sint32_sint32" field.</summary>    public const int MapSint32Sint32FieldNumber = 5;    private static readonly pbc::MapField<int, int>.Codec _map_mapSint32Sint32_codec        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForSInt32(8), pb::FieldCodec.ForSInt32(16), 42);    private readonly pbc::MapField<int, int> mapSint32Sint32_ = new pbc::MapField<int, int>();    public pbc::MapField<int, int> MapSint32Sint32 {      get { return mapSint32Sint32_; }    }    /// <summary>Field number for the "map_sint64_sint64" field.</summary>    public const int MapSint64Sint64FieldNumber = 6;    private static readonly pbc::MapField<long, long>.Codec _map_mapSint64Sint64_codec        = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForSInt64(8), pb::FieldCodec.ForSInt64(16), 50);    private readonly pbc::MapField<long, long> mapSint64Sint64_ = new pbc::MapField<long, long>();    public pbc::MapField<long, long> MapSint64Sint64 {      get { return mapSint64Sint64_; }    }    /// <summary>Field number for the "map_fixed32_fixed32" field.</summary>    public const int MapFixed32Fixed32FieldNumber = 7;    private static readonly pbc::MapField<uint, uint>.Codec _map_mapFixed32Fixed32_codec        = new pbc::MapField<uint, uint>.Codec(pb::FieldCodec.ForFixed32(13), pb::FieldCodec.ForFixed32(21), 58);    private readonly pbc::MapField<uint, uint> mapFixed32Fixed32_ = new pbc::MapField<uint, uint>();    public pbc::MapField<uint, uint> MapFixed32Fixed32 {      get { return mapFixed32Fixed32_; }    }    /// <summary>Field number for the "map_fixed64_fixed64" field.</summary>    public const int MapFixed64Fixed64FieldNumber = 8;    private static readonly pbc::MapField<ulong, ulong>.Codec _map_mapFixed64Fixed64_codec        = new pbc::MapField<ulong, ulong>.Codec(pb::FieldCodec.ForFixed64(9), pb::FieldCodec.ForFixed64(17), 66);    private readonly pbc::MapField<ulong, ulong> mapFixed64Fixed64_ = new pbc::MapField<ulong, ulong>();    public pbc::MapField<ulong, ulong> MapFixed64Fixed64 {      get { return mapFixed64Fixed64_; }    }    /// <summary>Field number for the "map_sfixed32_sfixed32" field.</summary>    public const int MapSfixed32Sfixed32FieldNumber = 9;    private static readonly pbc::MapField<int, int>.Codec _map_mapSfixed32Sfixed32_codec        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForSFixed32(13), pb::FieldCodec.ForSFixed32(21), 74);    private readonly pbc::MapField<int, int> mapSfixed32Sfixed32_ = new pbc::MapField<int, int>();    public pbc::MapField<int, int> MapSfixed32Sfixed32 {      get { return mapSfixed32Sfixed32_; }    }    /// <summary>Field number for the "map_sfixed64_sfixed64" field.</summary>    public const int MapSfixed64Sfixed64FieldNumber = 10;    private static readonly pbc::MapField<long, long>.Codec _map_mapSfixed64Sfixed64_codec        = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForSFixed64(9), pb::FieldCodec.ForSFixed64(17), 82);    private readonly pbc::MapField<long, long> mapSfixed64Sfixed64_ = new pbc::MapField<long, long>();    public pbc::MapField<long, long> MapSfixed64Sfixed64 {      get { return mapSfixed64Sfixed64_; }    }    /// <summary>Field number for the "map_int32_float" field.</summary>    public const int MapInt32FloatFieldNumber = 11;    private static readonly pbc::MapField<int, float>.Codec _map_mapInt32Float_codec        = new pbc::MapField<int, float>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForFloat(21), 90);    private readonly pbc::MapField<int, float> mapInt32Float_ = new pbc::MapField<int, float>();    public pbc::MapField<int, float> MapInt32Float {      get { return mapInt32Float_; }    }    /// <summary>Field number for the "map_int32_double" field.</summary>    public const int MapInt32DoubleFieldNumber = 12;    private static readonly pbc::MapField<int, double>.Codec _map_mapInt32Double_codec        = new pbc::MapField<int, double>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForDouble(17), 98);    private readonly pbc::MapField<int, double> mapInt32Double_ = new pbc::MapField<int, double>();    public pbc::MapField<int, double> MapInt32Double {      get { return mapInt32Double_; }    }    /// <summary>Field number for the "map_bool_bool" field.</summary>    public const int MapBoolBoolFieldNumber = 13;    private static readonly pbc::MapField<bool, bool>.Codec _map_mapBoolBool_codec        = new pbc::MapField<bool, bool>.Codec(pb::FieldCodec.ForBool(8), pb::FieldCodec.ForBool(16), 106);    private readonly pbc::MapField<bool, bool> mapBoolBool_ = new pbc::MapField<bool, bool>();    public pbc::MapField<bool, bool> MapBoolBool {      get { return mapBoolBool_; }    }    /// <summary>Field number for the "map_int32_enum" field.</summary>    public const int MapInt32EnumFieldNumber = 14;    private static readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.MapEnum>.Codec _map_mapInt32Enum_codec        = new pbc::MapField<int, global::Google.Protobuf.TestProtos.MapEnum>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForEnum(16, x => (int) x, x => (global::Google.Protobuf.TestProtos.MapEnum) x), 114);    private readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.MapEnum> mapInt32Enum_ = new pbc::MapField<int, global::Google.Protobuf.TestProtos.MapEnum>();    public pbc::MapField<int, global::Google.Protobuf.TestProtos.MapEnum> MapInt32Enum {      get { return mapInt32Enum_; }    }    /// <summary>Field number for the "map_int32_foreign_message" field.</summary>    public const int MapInt32ForeignMessageFieldNumber = 15;    private static readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.ForeignMessage>.Codec _map_mapInt32ForeignMessage_codec        = new pbc::MapField<int, global::Google.Protobuf.TestProtos.ForeignMessage>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForMessage(18, global::Google.Protobuf.TestProtos.ForeignMessage.Parser), 122);    private readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.ForeignMessage> mapInt32ForeignMessage_ = new pbc::MapField<int, global::Google.Protobuf.TestProtos.ForeignMessage>();    public pbc::MapField<int, global::Google.Protobuf.TestProtos.ForeignMessage> MapInt32ForeignMessage {      get { return mapInt32ForeignMessage_; }    }    public override bool Equals(object other) {      return Equals(other as TestArenaMap);    }    public bool Equals(TestArenaMap other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (!MapInt32Int32.Equals(other.MapInt32Int32)) return false;      if (!MapInt64Int64.Equals(other.MapInt64Int64)) return false;      if (!MapUint32Uint32.Equals(other.MapUint32Uint32)) return false;      if (!MapUint64Uint64.Equals(other.MapUint64Uint64)) return false;      if (!MapSint32Sint32.Equals(other.MapSint32Sint32)) return false;      if (!MapSint64Sint64.Equals(other.MapSint64Sint64)) return false;      if (!MapFixed32Fixed32.Equals(other.MapFixed32Fixed32)) return false;      if (!MapFixed64Fixed64.Equals(other.MapFixed64Fixed64)) return false;      if (!MapSfixed32Sfixed32.Equals(other.MapSfixed32Sfixed32)) return false;      if (!MapSfixed64Sfixed64.Equals(other.MapSfixed64Sfixed64)) return false;      if (!MapInt32Float.Equals(other.MapInt32Float)) return false;      if (!MapInt32Double.Equals(other.MapInt32Double)) return false;      if (!MapBoolBool.Equals(other.MapBoolBool)) return false;      if (!MapInt32Enum.Equals(other.MapInt32Enum)) return false;      if (!MapInt32ForeignMessage.Equals(other.MapInt32ForeignMessage)) return false;      return true;    }    public override int GetHashCode() {      int hash = 1;      hash ^= MapInt32Int32.GetHashCode();      hash ^= MapInt64Int64.GetHashCode();      hash ^= MapUint32Uint32.GetHashCode();      hash ^= MapUint64Uint64.GetHashCode();      hash ^= MapSint32Sint32.GetHashCode();      hash ^= MapSint64Sint64.GetHashCode();      hash ^= MapFixed32Fixed32.GetHashCode();      hash ^= MapFixed64Fixed64.GetHashCode();      hash ^= MapSfixed32Sfixed32.GetHashCode();      hash ^= MapSfixed64Sfixed64.GetHashCode();      hash ^= MapInt32Float.GetHashCode();      hash ^= MapInt32Double.GetHashCode();      hash ^= MapBoolBool.GetHashCode();      hash ^= MapInt32Enum.GetHashCode();      hash ^= MapInt32ForeignMessage.GetHashCode();      return hash;    }    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    public void WriteTo(pb::CodedOutputStream output) {      mapInt32Int32_.WriteTo(output, _map_mapInt32Int32_codec);      mapInt64Int64_.WriteTo(output, _map_mapInt64Int64_codec);      mapUint32Uint32_.WriteTo(output, _map_mapUint32Uint32_codec);      mapUint64Uint64_.WriteTo(output, _map_mapUint64Uint64_codec);      mapSint32Sint32_.WriteTo(output, _map_mapSint32Sint32_codec);      mapSint64Sint64_.WriteTo(output, _map_mapSint64Sint64_codec);      mapFixed32Fixed32_.WriteTo(output, _map_mapFixed32Fixed32_codec);      mapFixed64Fixed64_.WriteTo(output, _map_mapFixed64Fixed64_codec);      mapSfixed32Sfixed32_.WriteTo(output, _map_mapSfixed32Sfixed32_codec);      mapSfixed64Sfixed64_.WriteTo(output, _map_mapSfixed64Sfixed64_codec);      mapInt32Float_.WriteTo(output, _map_mapInt32Float_codec);      mapInt32Double_.WriteTo(output, _map_mapInt32Double_codec);      mapBoolBool_.WriteTo(output, _map_mapBoolBool_codec);      mapInt32Enum_.WriteTo(output, _map_mapInt32Enum_codec);      mapInt32ForeignMessage_.WriteTo(output, _map_mapInt32ForeignMessage_codec);    }    public int CalculateSize() {      int size = 0;      size += mapInt32Int32_.CalculateSize(_map_mapInt32Int32_codec);      size += mapInt64Int64_.CalculateSize(_map_mapInt64Int64_codec);      size += mapUint32Uint32_.CalculateSize(_map_mapUint32Uint32_codec);      size += mapUint64Uint64_.CalculateSize(_map_mapUint64Uint64_codec);      size += mapSint32Sint32_.CalculateSize(_map_mapSint32Sint32_codec);      size += mapSint64Sint64_.CalculateSize(_map_mapSint64Sint64_codec);      size += mapFixed32Fixed32_.CalculateSize(_map_mapFixed32Fixed32_codec);      size += mapFixed64Fixed64_.CalculateSize(_map_mapFixed64Fixed64_codec);      size += mapSfixed32Sfixed32_.CalculateSize(_map_mapSfixed32Sfixed32_codec);      size += mapSfixed64Sfixed64_.CalculateSize(_map_mapSfixed64Sfixed64_codec);      size += mapInt32Float_.CalculateSize(_map_mapInt32Float_codec);      size += mapInt32Double_.CalculateSize(_map_mapInt32Double_codec);      size += mapBoolBool_.CalculateSize(_map_mapBoolBool_codec);      size += mapInt32Enum_.CalculateSize(_map_mapInt32Enum_codec);      size += mapInt32ForeignMessage_.CalculateSize(_map_mapInt32ForeignMessage_codec);      return size;    }    public void MergeFrom(TestArenaMap other) {      if (other == null) {        return;      }      mapInt32Int32_.Add(other.mapInt32Int32_);      mapInt64Int64_.Add(other.mapInt64Int64_);      mapUint32Uint32_.Add(other.mapUint32Uint32_);      mapUint64Uint64_.Add(other.mapUint64Uint64_);      mapSint32Sint32_.Add(other.mapSint32Sint32_);      mapSint64Sint64_.Add(other.mapSint64Sint64_);      mapFixed32Fixed32_.Add(other.mapFixed32Fixed32_);      mapFixed64Fixed64_.Add(other.mapFixed64Fixed64_);      mapSfixed32Sfixed32_.Add(other.mapSfixed32Sfixed32_);      mapSfixed64Sfixed64_.Add(other.mapSfixed64Sfixed64_);      mapInt32Float_.Add(other.mapInt32Float_);      mapInt32Double_.Add(other.mapInt32Double_);      mapBoolBool_.Add(other.mapBoolBool_);      mapInt32Enum_.Add(other.mapInt32Enum_);      mapInt32ForeignMessage_.Add(other.mapInt32ForeignMessage_);    }    public void MergeFrom(pb::CodedInputStream input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            input.SkipLastField();            break;          case 10: {            mapInt32Int32_.AddEntriesFrom(input, _map_mapInt32Int32_codec);            break;          }          case 18: {            mapInt64Int64_.AddEntriesFrom(input, _map_mapInt64Int64_codec);            break;          }          case 26: {            mapUint32Uint32_.AddEntriesFrom(input, _map_mapUint32Uint32_codec);            break;          }          case 34: {            mapUint64Uint64_.AddEntriesFrom(input, _map_mapUint64Uint64_codec);            break;          }          case 42: {            mapSint32Sint32_.AddEntriesFrom(input, _map_mapSint32Sint32_codec);            break;          }          case 50: {            mapSint64Sint64_.AddEntriesFrom(input, _map_mapSint64Sint64_codec);            break;          }          case 58: {            mapFixed32Fixed32_.AddEntriesFrom(input, _map_mapFixed32Fixed32_codec);            break;          }          case 66: {            mapFixed64Fixed64_.AddEntriesFrom(input, _map_mapFixed64Fixed64_codec);            break;          }          case 74: {            mapSfixed32Sfixed32_.AddEntriesFrom(input, _map_mapSfixed32Sfixed32_codec);            break;          }          case 82: {            mapSfixed64Sfixed64_.AddEntriesFrom(input, _map_mapSfixed64Sfixed64_codec);            break;          }          case 90: {            mapInt32Float_.AddEntriesFrom(input, _map_mapInt32Float_codec);            break;          }          case 98: {            mapInt32Double_.AddEntriesFrom(input, _map_mapInt32Double_codec);            break;          }          case 106: {            mapBoolBool_.AddEntriesFrom(input, _map_mapBoolBool_codec);            break;          }          case 114: {            mapInt32Enum_.AddEntriesFrom(input, _map_mapInt32Enum_codec);            break;          }          case 122: {            mapInt32ForeignMessage_.AddEntriesFrom(input, _map_mapInt32ForeignMessage_codec);            break;          }        }      }    }  }  /// <summary>  ///  Previously, message containing enum called Type cannot be used as value of  ///  map field.  /// </summary>  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class MessageContainingEnumCalledType : pb::IMessage<MessageContainingEnumCalledType> {    private static readonly pb::MessageParser<MessageContainingEnumCalledType> _parser = new pb::MessageParser<MessageContainingEnumCalledType>(() => new MessageContainingEnumCalledType());    public static pb::MessageParser<MessageContainingEnumCalledType> Parser { get { return _parser; } }    public static pbr::MessageDescriptor Descriptor {      get { return global::Google.Protobuf.TestProtos.MapUnittestProto3Reflection.Descriptor.MessageTypes[5]; }    }    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    public MessageContainingEnumCalledType() {      OnConstruction();    }    partial void OnConstruction();    public MessageContainingEnumCalledType(MessageContainingEnumCalledType other) : this() {      type_ = other.type_.Clone();    }    public MessageContainingEnumCalledType Clone() {      return new MessageContainingEnumCalledType(this);    }    /// <summary>Field number for the "type" field.</summary>    public const int TypeFieldNumber = 1;    private static readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.MessageContainingEnumCalledType>.Codec _map_type_codec        = new pbc::MapField<int, global::Google.Protobuf.TestProtos.MessageContainingEnumCalledType>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForMessage(18, global::Google.Protobuf.TestProtos.MessageContainingEnumCalledType.Parser), 10);    private readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.MessageContainingEnumCalledType> type_ = new pbc::MapField<int, global::Google.Protobuf.TestProtos.MessageContainingEnumCalledType>();    public pbc::MapField<int, global::Google.Protobuf.TestProtos.MessageContainingEnumCalledType> Type {      get { return type_; }    }    public override bool Equals(object other) {      return Equals(other as MessageContainingEnumCalledType);    }    public bool Equals(MessageContainingEnumCalledType other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (!Type.Equals(other.Type)) return false;      return true;    }    public override int GetHashCode() {      int hash = 1;      hash ^= Type.GetHashCode();      return hash;    }    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    public void WriteTo(pb::CodedOutputStream output) {      type_.WriteTo(output, _map_type_codec);    }    public int CalculateSize() {      int size = 0;      size += type_.CalculateSize(_map_type_codec);      return size;    }    public void MergeFrom(MessageContainingEnumCalledType other) {      if (other == null) {        return;      }      type_.Add(other.type_);    }    public void MergeFrom(pb::CodedInputStream input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            input.SkipLastField();            break;          case 10: {            type_.AddEntriesFrom(input, _map_type_codec);            break;          }        }      }    }    #region Nested types    /// <summary>Container for nested types declared in the MessageContainingEnumCalledType message type.</summary>    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]    public static partial class Types {      public enum Type {        TYPE_FOO = 0,      }    }    #endregion  }  /// <summary>  ///  Previously, message cannot contain map field called "entry".  /// </summary>  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class MessageContainingMapCalledEntry : pb::IMessage<MessageContainingMapCalledEntry> {    private static readonly pb::MessageParser<MessageContainingMapCalledEntry> _parser = new pb::MessageParser<MessageContainingMapCalledEntry>(() => new MessageContainingMapCalledEntry());    public static pb::MessageParser<MessageContainingMapCalledEntry> Parser { get { return _parser; } }    public static pbr::MessageDescriptor Descriptor {      get { return global::Google.Protobuf.TestProtos.MapUnittestProto3Reflection.Descriptor.MessageTypes[6]; }    }    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    public MessageContainingMapCalledEntry() {      OnConstruction();    }    partial void OnConstruction();    public MessageContainingMapCalledEntry(MessageContainingMapCalledEntry other) : this() {      entry_ = other.entry_.Clone();    }    public MessageContainingMapCalledEntry Clone() {      return new MessageContainingMapCalledEntry(this);    }    /// <summary>Field number for the "entry" field.</summary>    public const int EntryFieldNumber = 1;    private static readonly pbc::MapField<int, int>.Codec _map_entry_codec        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForInt32(16), 10);    private readonly pbc::MapField<int, int> entry_ = new pbc::MapField<int, int>();    public pbc::MapField<int, int> Entry {      get { return entry_; }    }    public override bool Equals(object other) {      return Equals(other as MessageContainingMapCalledEntry);    }    public bool Equals(MessageContainingMapCalledEntry other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (!Entry.Equals(other.Entry)) return false;      return true;    }    public override int GetHashCode() {      int hash = 1;      hash ^= Entry.GetHashCode();      return hash;    }    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    public void WriteTo(pb::CodedOutputStream output) {      entry_.WriteTo(output, _map_entry_codec);    }    public int CalculateSize() {      int size = 0;      size += entry_.CalculateSize(_map_entry_codec);      return size;    }    public void MergeFrom(MessageContainingMapCalledEntry other) {      if (other == null) {        return;      }      entry_.Add(other.entry_);    }    public void MergeFrom(pb::CodedInputStream input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            input.SkipLastField();            break;          case 10: {            entry_.AddEntriesFrom(input, _map_entry_codec);            break;          }        }      }    }  }  #endregion}#endregion Designer generated code
 |