Auto-generate files after cl/895988455
diff --git a/csharp/src/Google.Protobuf.Test/testprotos.pb b/csharp/src/Google.Protobuf.Test/testprotos.pb
index 0dbc024..392d9b3 100644
--- a/csharp/src/Google.Protobuf.Test/testprotos.pb
+++ b/csharp/src/Google.Protobuf.Test/testprotos.pb
Binary files differ
diff --git a/csharp/src/Google.Protobuf/Reflection/Descriptor.pb.cs b/csharp/src/Google.Protobuf/Reflection/Descriptor.pb.cs
index 87208a6..9f8db79 100644
--- a/csharp/src/Google.Protobuf/Reflection/Descriptor.pb.cs
+++ b/csharp/src/Google.Protobuf/Reflection/Descriptor.pb.cs
@@ -201,7 +201,7 @@
             "ZWdhdGl2ZV9pbnRfdmFsdWUYBSABKAMSFAoMZG91YmxlX3ZhbHVlGAYgASgB",
             "EhQKDHN0cmluZ192YWx1ZRgHIAEoDBIXCg9hZ2dyZWdhdGVfdmFsdWUYCCAB",
             "KAkaMwoITmFtZVBhcnQSEQoJbmFtZV9wYXJ0GAEgAigJEhQKDGlzX2V4dGVu",
-            "c2lvbhgCIAIoCCKDDgoKRmVhdHVyZVNldBKCAQoOZmllbGRfcHJlc2VuY2UY",
+            "c2lvbhgCIAIoCCKjDgoKRmVhdHVyZVNldBKCAQoOZmllbGRfcHJlc2VuY2UY",
             "ASABKA4yKS5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldC5GaWVsZFByZXNl",
             "bmNlQj+IAQGYAQSYAQGiAQ0SCEVYUExJQ0lUGIQHogENEghJTVBMSUNJVBjn",
             "B6IBDRIIRVhQTElDSVQY6AeyAQMI6AcSYgoJZW51bV90eXBlGAIgASgOMiQu",
@@ -217,64 +217,64 @@
             "ARQSD0xFTkdUSF9QUkVGSVhFRBiEB7IBAwjoBxJ2Cgtqc29uX2Zvcm1hdBgG",
             "IAEoDjImLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0Lkpzb25Gb3JtYXRC",
             "OYgBAZgBA5gBBpgBAaIBFxISTEVHQUNZX0JFU1RfRUZGT1JUGIQHogEKEgVB",
-            "TExPVxjnB7IBAwjoBxKXAQoUZW5mb3JjZV9uYW1pbmdfc3R5bGUYByABKA4y",
+            "TExPVxjnB7IBAwjoBxKoAQoUZW5mb3JjZV9uYW1pbmdfc3R5bGUYByABKA4y",
             "Li5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldC5FbmZvcmNlTmFtaW5nU3R5",
-            "bGVCSYgBApgBAZgBApgBA5gBBJgBBZgBBpgBB5gBCJgBCaIBERIMU1RZTEVf",
-            "TEVHQUNZGIQHogEOEglTVFlMRTIwMjQY6QeyAQMI6QcSoAEKGWRlZmF1bHRf",
-            "c3ltYm9sX3Zpc2liaWxpdHkYCCABKA4yRS5nb29nbGUucHJvdG9idWYuRmVh",
-            "dHVyZVNldC5WaXNpYmlsaXR5RmVhdHVyZS5EZWZhdWx0U3ltYm9sVmlzaWJp",
-            "bGl0eUI2iAECmAEBogEPEgpFWFBPUlRfQUxMGIQHogEVEhBFWFBPUlRfVE9Q",
-            "X0xFVkVMGOkHsgEDCOkHGqEBChFWaXNpYmlsaXR5RmVhdHVyZSKBAQoXRGVm",
-            "YXVsdFN5bWJvbFZpc2liaWxpdHkSJQohREVGQVVMVF9TWU1CT0xfVklTSUJJ",
-            "TElUWV9VTktOT1dOEAASDgoKRVhQT1JUX0FMTBABEhQKEEVYUE9SVF9UT1Bf",
-            "TEVWRUwQAhINCglMT0NBTF9BTEwQAxIKCgZTVFJJQ1QQBEoICAEQgICAgAIi",
-            "XAoNRmllbGRQcmVzZW5jZRIaChZGSUVMRF9QUkVTRU5DRV9VTktOT1dOEAAS",
-            "DAoIRVhQTElDSVQQARIMCghJTVBMSUNJVBACEhMKD0xFR0FDWV9SRVFVSVJF",
-            "RBADIjcKCEVudW1UeXBlEhUKEUVOVU1fVFlQRV9VTktOT1dOEAASCAoET1BF",
-            "ThABEgoKBkNMT1NFRBACIlYKFVJlcGVhdGVkRmllbGRFbmNvZGluZxIjCh9S",
-            "RVBFQVRFRF9GSUVMRF9FTkNPRElOR19VTktOT1dOEAASCgoGUEFDS0VEEAES",
-            "DAoIRVhQQU5ERUQQAiJJCg5VdGY4VmFsaWRhdGlvbhIbChdVVEY4X1ZBTElE",
-            "QVRJT05fVU5LTk9XThAAEgoKBlZFUklGWRACEggKBE5PTkUQAyIECAEQASJT",
-            "Cg9NZXNzYWdlRW5jb2RpbmcSHAoYTUVTU0FHRV9FTkNPRElOR19VTktOT1dO",
-            "EAASEwoPTEVOR1RIX1BSRUZJWEVEEAESDQoJREVMSU1JVEVEEAIiSAoKSnNv",
-            "bkZvcm1hdBIXChNKU09OX0ZPUk1BVF9VTktOT1dOEAASCQoFQUxMT1cQARIW",
-            "ChJMRUdBQ1lfQkVTVF9FRkZPUlQQAiJXChJFbmZvcmNlTmFtaW5nU3R5bGUS",
-            "IAocRU5GT1JDRV9OQU1JTkdfU1RZTEVfVU5LTk9XThAAEg0KCVNUWUxFMjAy",
-            "NBABEhAKDFNUWUxFX0xFR0FDWRACKgYI6AcQi04qBgiLThCQTioGCJBOEJFO",
-            "SgYI5wcQ6AcimAMKEkZlYXR1cmVTZXREZWZhdWx0cxJOCghkZWZhdWx0cxgB",
-            "IAMoCzI8Lmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0RGVmYXVsdHMuRmVh",
-            "dHVyZVNldEVkaXRpb25EZWZhdWx0EjEKD21pbmltdW1fZWRpdGlvbhgEIAEo",
-            "DjIYLmdvb2dsZS5wcm90b2J1Zi5FZGl0aW9uEjEKD21heGltdW1fZWRpdGlv",
-            "bhgFIAEoDjIYLmdvb2dsZS5wcm90b2J1Zi5FZGl0aW9uGssBChhGZWF0dXJl",
-            "U2V0RWRpdGlvbkRlZmF1bHQSKQoHZWRpdGlvbhgDIAEoDjIYLmdvb2dsZS5w",
-            "cm90b2J1Zi5FZGl0aW9uEjkKFG92ZXJyaWRhYmxlX2ZlYXR1cmVzGAQgASgL",
-            "MhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXQSMwoOZml4ZWRfZmVhdHVy",
-            "ZXMYBSABKAsyGy5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldEoECAEQAkoE",
-            "CAIQA1IIZmVhdHVyZXMi4wEKDlNvdXJjZUNvZGVJbmZvEjoKCGxvY2F0aW9u",
-            "GAEgAygLMiguZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvZGVJbmZvLkxvY2F0",
-            "aW9uGoYBCghMb2NhdGlvbhIQCgRwYXRoGAEgAygFQgIQARIQCgRzcGFuGAIg",
-            "AygFQgIQARIYChBsZWFkaW5nX2NvbW1lbnRzGAMgASgJEhkKEXRyYWlsaW5n",
-            "X2NvbW1lbnRzGAQgASgJEiEKGWxlYWRpbmdfZGV0YWNoZWRfY29tbWVudHMY",
-            "BiADKAkqDAiA7Mr/ARCB7Mr/ASKcAgoRR2VuZXJhdGVkQ29kZUluZm8SQQoK",
-            "YW5ub3RhdGlvbhgBIAMoCzItLmdvb2dsZS5wcm90b2J1Zi5HZW5lcmF0ZWRD",
-            "b2RlSW5mby5Bbm5vdGF0aW9uGsMBCgpBbm5vdGF0aW9uEhAKBHBhdGgYASAD",
-            "KAVCAhABEhMKC3NvdXJjZV9maWxlGAIgASgJEg0KBWJlZ2luGAMgASgFEgsK",
-            "A2VuZBgEIAEoBRJICghzZW1hbnRpYxgFIAEoDjI2Lmdvb2dsZS5wcm90b2J1",
-            "Zi5HZW5lcmF0ZWRDb2RlSW5mby5Bbm5vdGF0aW9uLlNlbWFudGljIigKCFNl",
-            "bWFudGljEggKBE5PTkUQABIHCgNTRVQQARIJCgVBTElBUxACKtECCgdFZGl0",
-            "aW9uEhMKD0VESVRJT05fVU5LTk9XThAAEhMKDkVESVRJT05fTEVHQUNZEIQH",
-            "EhMKDkVESVRJT05fUFJPVE8yEOYHEhMKDkVESVRJT05fUFJPVE8zEOcHEhEK",
-            "DEVESVRJT05fMjAyMxDoBxIRCgxFRElUSU9OXzIwMjQQ6QcSEQoMRURJVElP",
-            "Tl8yMDI2EOoHEhUKEEVESVRJT05fVU5TVEFCTEUQj04SFwoTRURJVElPTl8x",
-            "X1RFU1RfT05MWRABEhcKE0VESVRJT05fMl9URVNUX09OTFkQAhIdChdFRElU",
-            "SU9OXzk5OTk3X1RFU1RfT05MWRCdjQYSHQoXRURJVElPTl85OTk5OF9URVNU",
-            "X09OTFkQno0GEh0KF0VESVRJT05fOTk5OTlfVEVTVF9PTkxZEJ+NBhITCgtF",
-            "RElUSU9OX01BWBD/////BypVChBTeW1ib2xWaXNpYmlsaXR5EhQKEFZJU0lC",
-            "SUxJVFlfVU5TRVQQABIUChBWSVNJQklMSVRZX0xPQ0FMEAESFQoRVklTSUJJ",
-            "TElUWV9FWFBPUlQQAkJ+ChNjb20uZ29vZ2xlLnByb3RvYnVmQhBEZXNjcmlw",
-            "dG9yUHJvdG9zSAFaLWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVz",
-            "L2Rlc2NyaXB0b3JwYvgBAaICA0dQQqoCGkdvb2dsZS5Qcm90b2J1Zi5SZWZs",
-            "ZWN0aW9u"));
+            "bGVCWogBApgBAZgBApgBA5gBBJgBBZgBBpgBB5gBCJgBCaIBERIMU1RZTEVf",
+            "TEVHQUNZGIQHogEOEglTVFlMRTIwMjQY6QeiAQ4SCVNUWUxFMjAyNhiPTrIB",
+            "AwjpBxKgAQoZZGVmYXVsdF9zeW1ib2xfdmlzaWJpbGl0eRgIIAEoDjJFLmdv",
+            "b2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0LlZpc2liaWxpdHlGZWF0dXJlLkRl",
+            "ZmF1bHRTeW1ib2xWaXNpYmlsaXR5QjaIAQKYAQGiAQ8SCkVYUE9SVF9BTEwY",
+            "hAeiARUSEEVYUE9SVF9UT1BfTEVWRUwY6QeyAQMI6QcaoQEKEVZpc2liaWxp",
+            "dHlGZWF0dXJlIoEBChdEZWZhdWx0U3ltYm9sVmlzaWJpbGl0eRIlCiFERUZB",
+            "VUxUX1NZTUJPTF9WSVNJQklMSVRZX1VOS05PV04QABIOCgpFWFBPUlRfQUxM",
+            "EAESFAoQRVhQT1JUX1RPUF9MRVZFTBACEg0KCUxPQ0FMX0FMTBADEgoKBlNU",
+            "UklDVBAESggIARCAgICAAiJcCg1GaWVsZFByZXNlbmNlEhoKFkZJRUxEX1BS",
+            "RVNFTkNFX1VOS05PV04QABIMCghFWFBMSUNJVBABEgwKCElNUExJQ0lUEAIS",
+            "EwoPTEVHQUNZX1JFUVVJUkVEEAMiNwoIRW51bVR5cGUSFQoRRU5VTV9UWVBF",
+            "X1VOS05PV04QABIICgRPUEVOEAESCgoGQ0xPU0VEEAIiVgoVUmVwZWF0ZWRG",
+            "aWVsZEVuY29kaW5nEiMKH1JFUEVBVEVEX0ZJRUxEX0VOQ09ESU5HX1VOS05P",
+            "V04QABIKCgZQQUNLRUQQARIMCghFWFBBTkRFRBACIkkKDlV0ZjhWYWxpZGF0",
+            "aW9uEhsKF1VURjhfVkFMSURBVElPTl9VTktOT1dOEAASCgoGVkVSSUZZEAIS",
+            "CAoETk9ORRADIgQIARABIlMKD01lc3NhZ2VFbmNvZGluZxIcChhNRVNTQUdF",
+            "X0VOQ09ESU5HX1VOS05PV04QABITCg9MRU5HVEhfUFJFRklYRUQQARINCglE",
+            "RUxJTUlURUQQAiJICgpKc29uRm9ybWF0EhcKE0pTT05fRk9STUFUX1VOS05P",
+            "V04QABIJCgVBTExPVxABEhYKEkxFR0FDWV9CRVNUX0VGRk9SVBACImYKEkVu",
+            "Zm9yY2VOYW1pbmdTdHlsZRIgChxFTkZPUkNFX05BTUlOR19TVFlMRV9VTktO",
+            "T1dOEAASDQoJU1RZTEUyMDI0EAESEAoMU1RZTEVfTEVHQUNZEAISDQoJU1RZ",
+            "TEUyMDI2EAMqBgjoBxCLTioGCItOEJBOKgYIkE4QkU5KBgjnBxDoByKYAwoS",
+            "RmVhdHVyZVNldERlZmF1bHRzEk4KCGRlZmF1bHRzGAEgAygLMjwuZ29vZ2xl",
+            "LnByb3RvYnVmLkZlYXR1cmVTZXREZWZhdWx0cy5GZWF0dXJlU2V0RWRpdGlv",
+            "bkRlZmF1bHQSMQoPbWluaW11bV9lZGl0aW9uGAQgASgOMhguZ29vZ2xlLnBy",
+            "b3RvYnVmLkVkaXRpb24SMQoPbWF4aW11bV9lZGl0aW9uGAUgASgOMhguZ29v",
+            "Z2xlLnByb3RvYnVmLkVkaXRpb24aywEKGEZlYXR1cmVTZXRFZGl0aW9uRGVm",
+            "YXVsdBIpCgdlZGl0aW9uGAMgASgOMhguZ29vZ2xlLnByb3RvYnVmLkVkaXRp",
+            "b24SOQoUb3ZlcnJpZGFibGVfZmVhdHVyZXMYBCABKAsyGy5nb29nbGUucHJv",
+            "dG9idWYuRmVhdHVyZVNldBIzCg5maXhlZF9mZWF0dXJlcxgFIAEoCzIbLmdv",
+            "b2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0SgQIARACSgQIAhADUghmZWF0dXJl",
+            "cyLjAQoOU291cmNlQ29kZUluZm8SOgoIbG9jYXRpb24YASADKAsyKC5nb29n",
+            "bGUucHJvdG9idWYuU291cmNlQ29kZUluZm8uTG9jYXRpb24ahgEKCExvY2F0",
+            "aW9uEhAKBHBhdGgYASADKAVCAhABEhAKBHNwYW4YAiADKAVCAhABEhgKEGxl",
+            "YWRpbmdfY29tbWVudHMYAyABKAkSGQoRdHJhaWxpbmdfY29tbWVudHMYBCAB",
+            "KAkSIQoZbGVhZGluZ19kZXRhY2hlZF9jb21tZW50cxgGIAMoCSoMCIDsyv8B",
+            "EIHsyv8BIpwCChFHZW5lcmF0ZWRDb2RlSW5mbxJBCgphbm5vdGF0aW9uGAEg",
+            "AygLMi0uZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90",
+            "YXRpb24awwEKCkFubm90YXRpb24SEAoEcGF0aBgBIAMoBUICEAESEwoLc291",
+            "cmNlX2ZpbGUYAiABKAkSDQoFYmVnaW4YAyABKAUSCwoDZW5kGAQgASgFEkgK",
+            "CHNlbWFudGljGAUgASgOMjYuZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENv",
+            "ZGVJbmZvLkFubm90YXRpb24uU2VtYW50aWMiKAoIU2VtYW50aWMSCAoETk9O",
+            "RRAAEgcKA1NFVBABEgkKBUFMSUFTEAIq0QIKB0VkaXRpb24SEwoPRURJVElP",
+            "Tl9VTktOT1dOEAASEwoORURJVElPTl9MRUdBQ1kQhAcSEwoORURJVElPTl9Q",
+            "Uk9UTzIQ5gcSEwoORURJVElPTl9QUk9UTzMQ5wcSEQoMRURJVElPTl8yMDIz",
+            "EOgHEhEKDEVESVRJT05fMjAyNBDpBxIRCgxFRElUSU9OXzIwMjYQ6gcSFQoQ",
+            "RURJVElPTl9VTlNUQUJMRRCPThIXChNFRElUSU9OXzFfVEVTVF9PTkxZEAES",
+            "FwoTRURJVElPTl8yX1RFU1RfT05MWRACEh0KF0VESVRJT05fOTk5OTdfVEVT",
+            "VF9PTkxZEJ2NBhIdChdFRElUSU9OXzk5OTk4X1RFU1RfT05MWRCejQYSHQoX",
+            "RURJVElPTl85OTk5OV9URVNUX09OTFkQn40GEhMKC0VESVRJT05fTUFYEP//",
+            "//8HKlUKEFN5bWJvbFZpc2liaWxpdHkSFAoQVklTSUJJTElUWV9VTlNFVBAA",
+            "EhQKEFZJU0lCSUxJVFlfTE9DQUwQARIVChFWSVNJQklMSVRZX0VYUE9SVBAC",
+            "Qn4KE2NvbS5nb29nbGUucHJvdG9idWZCEERlc2NyaXB0b3JQcm90b3NIAVot",
+            "Z29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMvZGVzY3JpcHRvcnBi",
+            "+AEBogIDR1BCqgIaR29vZ2xlLlByb3RvYnVmLlJlZmxlY3Rpb24="));
       descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
           new pbr::FileDescriptor[] { },
           new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Google.Protobuf.Reflection.Edition), typeof(global::Google.Protobuf.Reflection.SymbolVisibility), }, null, new pbr::GeneratedClrTypeInfo[] {
@@ -13363,6 +13363,7 @@
         [pbr::OriginalName("ENFORCE_NAMING_STYLE_UNKNOWN")] Unknown = 0,
         [pbr::OriginalName("STYLE2024")] Style2024 = 1,
         [pbr::OriginalName("STYLE_LEGACY")] StyleLegacy = 2,
+        [pbr::OriginalName("STYLE2026")] Style2026 = 3,
       }
 
       [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
diff --git a/csharp/src/Google.Protobuf/Reflection/FeatureSetDescriptor.g.cs b/csharp/src/Google.Protobuf/Reflection/FeatureSetDescriptor.g.cs
index dd96d9a..2ee0032 100644
--- a/csharp/src/Google.Protobuf/Reflection/FeatureSetDescriptor.g.cs
+++ b/csharp/src/Google.Protobuf/Reflection/FeatureSetDescriptor.g.cs
@@ -13,5 +13,5 @@
 {
     // Canonical serialized form of the edition defaults, generated by embed_edition_defaults.
     private const string DefaultsBase64 =
-        "ChcYhAciACoQCAEQAhgCIAMoATACOAJAAQoXGOcHIgAqEAgCEAEYASACKAEwATgCQAEKFxjoByIMCAEQARgBIAIoATABKgQ4AkABChcY6QciEAgBEAEYASACKAEwATgBQAIqACDmByjpBw==";
+        "ChcYhAciACoQCAEQAhgCIAMoATACOAJAAQoXGOcHIgAqEAgCEAEYASACKAEwATgCQAEKFxjoByIMCAEQARgBIAIoATABKgQ4AkABChcY6QciEAgBEAEYASACKAEwATgBQAIqAAoXGI9OIhAIARABGAEgAigBMAE4A0ACKgAg5gco6Qc=";
 }
diff --git a/java/core/src/main/java/com/google/protobuf/JavaEditionDefaults.java b/java/core/src/main/java/com/google/protobuf/JavaEditionDefaults.java
index 0aa13e9..b683c8e 100644
--- a/java/core/src/main/java/com/google/protobuf/JavaEditionDefaults.java
+++ b/java/core/src/main/java/com/google/protobuf/JavaEditionDefaults.java
@@ -4,7 +4,7 @@
 package com.google.protobuf;
 
 public final class JavaEditionDefaults {
-  public static final String PROTOBUF_INTERNAL_JAVA_EDITION_DEFAULTS = "\n\'\030\204\007\"\003\312>\000*\035\010\001\020\002\030\002 \003(\0010\0028\002@\001\312>\n\010\001\020\001\030\000 \001(\003\n\'\030\347\007\"\003\312>\000*\035\010\002\020\001\030\001 \002(\0010\0018\002@\001\312>\n\010\000\020\001\030\000 \001(\003\n\'\030\350\007\"\023\010\001\020\001\030\001 \002(\0010\001\312>\004\010\000\020\001*\r8\002@\001\312>\006\030\000 \001(\003\n\'\030\351\007\"\033\010\001\020\001\030\001 \002(\0010\0018\001@\002\312>\010\010\000\020\001\030\000(\001*\005\312>\002 \000 \346\007(\351\007";
+  public static final String PROTOBUF_INTERNAL_JAVA_EDITION_DEFAULTS = "\n\'\030\204\007\"\003\312>\000*\035\010\001\020\002\030\002 \003(\0010\0028\002@\001\312>\n\010\001\020\001\030\000 \001(\003\n\'\030\347\007\"\003\312>\000*\035\010\002\020\001\030\001 \002(\0010\0018\002@\001\312>\n\010\000\020\001\030\000 \001(\003\n\'\030\350\007\"\023\010\001\020\001\030\001 \002(\0010\001\312>\004\010\000\020\001*\r8\002@\001\312>\006\030\000 \001(\003\n\'\030\351\007\"\033\010\001\020\001\030\001 \002(\0010\0018\001@\002\312>\010\010\000\020\001\030\000(\001*\005\312>\002 \000\n\'\030\217N\"\033\010\001\020\001\030\001 \002(\0010\0018\003@\002\312>\010\010\000\020\001\030\000(\001*\005\312>\002 \000 \346\007(\351\007";
 
   private JavaEditionDefaults() {}
 }
diff --git a/php/ext/google/protobuf/php-upb.c b/php/ext/google/protobuf/php-upb.c
index ec7d13e..4d758fa 100644
--- a/php/ext/google/protobuf/php-upb.c
+++ b/php/ext/google/protobuf/php-upb.c
@@ -1993,7 +1993,7 @@
     64,
     0,
     {
-        0x7,
+        0xf,
         0x0,
     },
 };
@@ -2231,7 +2231,7 @@
 
 
 
-static const char descriptor[13543] = {
+static const char descriptor[13575] = {
     '\n', ' ', 'g', 'o', 'o', 'g', 'l', 'e', '/', 'p', 'r', 'o',
     't', 'o', 'b', 'u', 'f', '/', 'd', 'e', 's', 'c', 'r', 'i',
     'p', 't', 'o', 'r', '.', 'p', 'r', 'o', 't', 'o', '\022', '\017',
@@ -3057,7 +3057,7 @@
     'a', 'r', 't', '\022', '!', '\n', '\014', 'i', 's', '_', 'e', 'x',
     't', 'e', 'n', 's', 'i', 'o', 'n', '\030', '\002', ' ', '\002', '(',
     '\010', 'R', '\013', 'i', 's', 'E', 'x', 't', 'e', 'n', 's', 'i',
-    'o', 'n', '\"', '\216', '\017', '\n', '\n', 'F', 'e', 'a', 't', 'u',
+    'o', 'n', '\"', '\256', '\017', '\n', '\n', 'F', 'e', 'a', 't', 'u',
     'r', 'e', 'S', 'e', 't', '\022', '\221', '\001', '\n', '\016', 'f', 'i',
     'e', 'l', 'd', '_', 'p', 'r', 'e', 's', 'e', 'n', 'c', 'e',
     '\030', '\001', ' ', '\001', '(', '\016', '2', ')', '.', 'g', 'o', 'o',
@@ -3125,242 +3125,245 @@
     'F', 'F', 'O', 'R', 'T', '\030', '\204', '\007', '\242', '\001', '\n', '\022',
     '\005', 'A', 'L', 'L', 'O', 'W', '\030', '\347', '\007', '\262', '\001', '\003',
     '\010', '\350', '\007', 'R', '\n', 'j', 's', 'o', 'n', 'F', 'o', 'r',
-    'm', 'a', 't', '\022', '\253', '\001', '\n', '\024', 'e', 'n', 'f', 'o',
+    'm', 'a', 't', '\022', '\274', '\001', '\n', '\024', 'e', 'n', 'f', 'o',
     'r', 'c', 'e', '_', 'n', 'a', 'm', 'i', 'n', 'g', '_', 's',
     't', 'y', 'l', 'e', '\030', '\007', ' ', '\001', '(', '\016', '2', '.',
     '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't',
     'o', 'b', 'u', 'f', '.', 'F', 'e', 'a', 't', 'u', 'r', 'e',
     'S', 'e', 't', '.', 'E', 'n', 'f', 'o', 'r', 'c', 'e', 'N',
-    'a', 'm', 'i', 'n', 'g', 'S', 't', 'y', 'l', 'e', 'B', 'I',
+    'a', 'm', 'i', 'n', 'g', 'S', 't', 'y', 'l', 'e', 'B', 'Z',
     '\210', '\001', '\002', '\230', '\001', '\001', '\230', '\001', '\002', '\230', '\001', '\003',
     '\230', '\001', '\004', '\230', '\001', '\005', '\230', '\001', '\006', '\230', '\001', '\007',
     '\230', '\001', '\010', '\230', '\001', '\t', '\242', '\001', '\021', '\022', '\014', 'S',
     'T', 'Y', 'L', 'E', '_', 'L', 'E', 'G', 'A', 'C', 'Y', '\030',
     '\204', '\007', '\242', '\001', '\016', '\022', '\t', 'S', 'T', 'Y', 'L', 'E',
-    '2', '0', '2', '4', '\030', '\351', '\007', '\262', '\001', '\003', '\010', '\351',
-    '\007', 'R', '\022', 'e', 'n', 'f', 'o', 'r', 'c', 'e', 'N', 'a',
-    'm', 'i', 'n', 'g', 'S', 't', 'y', 'l', 'e', '\022', '\271', '\001',
-    '\n', '\031', 'd', 'e', 'f', 'a', 'u', 'l', 't', '_', 's', 'y',
-    'm', 'b', 'o', 'l', '_', 'v', 'i', 's', 'i', 'b', 'i', 'l',
-    'i', 't', 'y', '\030', '\010', ' ', '\001', '(', '\016', '2', 'E', '.',
-    'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o',
-    'b', 'u', 'f', '.', 'F', 'e', 'a', 't', 'u', 'r', 'e', 'S',
-    'e', 't', '.', 'V', 'i', 's', 'i', 'b', 'i', 'l', 'i', 't',
-    'y', 'F', 'e', 'a', 't', 'u', 'r', 'e', '.', 'D', 'e', 'f',
-    'a', 'u', 'l', 't', 'S', 'y', 'm', 'b', 'o', 'l', 'V', 'i',
-    's', 'i', 'b', 'i', 'l', 'i', 't', 'y', 'B', '6', '\210', '\001',
-    '\002', '\230', '\001', '\001', '\242', '\001', '\017', '\022', '\n', 'E', 'X', 'P',
-    'O', 'R', 'T', '_', 'A', 'L', 'L', '\030', '\204', '\007', '\242', '\001',
-    '\025', '\022', '\020', 'E', 'X', 'P', 'O', 'R', 'T', '_', 'T', 'O',
-    'P', '_', 'L', 'E', 'V', 'E', 'L', '\030', '\351', '\007', '\262', '\001',
-    '\003', '\010', '\351', '\007', 'R', '\027', 'd', 'e', 'f', 'a', 'u', 'l',
-    't', 'S', 'y', 'm', 'b', 'o', 'l', 'V', 'i', 's', 'i', 'b',
-    'i', 'l', 'i', 't', 'y', '\032', '\241', '\001', '\n', '\021', 'V', 'i',
-    's', 'i', 'b', 'i', 'l', 'i', 't', 'y', 'F', 'e', 'a', 't',
-    'u', 'r', 'e', '\"', '\201', '\001', '\n', '\027', 'D', 'e', 'f', 'a',
-    'u', 'l', 't', 'S', 'y', 'm', 'b', 'o', 'l', 'V', 'i', 's',
-    'i', 'b', 'i', 'l', 'i', 't', 'y', '\022', '%', '\n', '!', 'D',
-    'E', 'F', 'A', 'U', 'L', 'T', '_', 'S', 'Y', 'M', 'B', 'O',
-    'L', '_', 'V', 'I', 'S', 'I', 'B', 'I', 'L', 'I', 'T', 'Y',
-    '_', 'U', 'N', 'K', 'N', 'O', 'W', 'N', '\020', '\000', '\022', '\016',
-    '\n', '\n', 'E', 'X', 'P', 'O', 'R', 'T', '_', 'A', 'L', 'L',
-    '\020', '\001', '\022', '\024', '\n', '\020', 'E', 'X', 'P', 'O', 'R', 'T',
-    '_', 'T', 'O', 'P', '_', 'L', 'E', 'V', 'E', 'L', '\020', '\002',
-    '\022', '\r', '\n', '\t', 'L', 'O', 'C', 'A', 'L', '_', 'A', 'L',
-    'L', '\020', '\003', '\022', '\n', '\n', '\006', 'S', 'T', 'R', 'I', 'C',
-    'T', '\020', '\004', 'J', '\010', '\010', '\001', '\020', '\200', '\200', '\200', '\200',
-    '\002', '\"', '\\', '\n', '\r', 'F', 'i', 'e', 'l', 'd', 'P', 'r',
-    'e', 's', 'e', 'n', 'c', 'e', '\022', '\032', '\n', '\026', 'F', 'I',
-    'E', 'L', 'D', '_', 'P', 'R', 'E', 'S', 'E', 'N', 'C', 'E',
-    '_', 'U', 'N', 'K', 'N', 'O', 'W', 'N', '\020', '\000', '\022', '\014',
-    '\n', '\010', 'E', 'X', 'P', 'L', 'I', 'C', 'I', 'T', '\020', '\001',
-    '\022', '\014', '\n', '\010', 'I', 'M', 'P', 'L', 'I', 'C', 'I', 'T',
-    '\020', '\002', '\022', '\023', '\n', '\017', 'L', 'E', 'G', 'A', 'C', 'Y',
-    '_', 'R', 'E', 'Q', 'U', 'I', 'R', 'E', 'D', '\020', '\003', '\"',
-    '7', '\n', '\010', 'E', 'n', 'u', 'm', 'T', 'y', 'p', 'e', '\022',
-    '\025', '\n', '\021', 'E', 'N', 'U', 'M', '_', 'T', 'Y', 'P', 'E',
-    '_', 'U', 'N', 'K', 'N', 'O', 'W', 'N', '\020', '\000', '\022', '\010',
-    '\n', '\004', 'O', 'P', 'E', 'N', '\020', '\001', '\022', '\n', '\n', '\006',
-    'C', 'L', 'O', 'S', 'E', 'D', '\020', '\002', '\"', 'V', '\n', '\025',
-    'R', 'e', 'p', 'e', 'a', 't', 'e', 'd', 'F', 'i', 'e', 'l',
-    'd', 'E', 'n', 'c', 'o', 'd', 'i', 'n', 'g', '\022', '#', '\n',
-    '\037', 'R', 'E', 'P', 'E', 'A', 'T', 'E', 'D', '_', 'F', 'I',
-    'E', 'L', 'D', '_', 'E', 'N', 'C', 'O', 'D', 'I', 'N', 'G',
-    '_', 'U', 'N', 'K', 'N', 'O', 'W', 'N', '\020', '\000', '\022', '\n',
-    '\n', '\006', 'P', 'A', 'C', 'K', 'E', 'D', '\020', '\001', '\022', '\014',
-    '\n', '\010', 'E', 'X', 'P', 'A', 'N', 'D', 'E', 'D', '\020', '\002',
-    '\"', 'I', '\n', '\016', 'U', 't', 'f', '8', 'V', 'a', 'l', 'i',
-    'd', 'a', 't', 'i', 'o', 'n', '\022', '\033', '\n', '\027', 'U', 'T',
-    'F', '8', '_', 'V', 'A', 'L', 'I', 'D', 'A', 'T', 'I', 'O',
-    'N', '_', 'U', 'N', 'K', 'N', 'O', 'W', 'N', '\020', '\000', '\022',
-    '\n', '\n', '\006', 'V', 'E', 'R', 'I', 'F', 'Y', '\020', '\002', '\022',
-    '\010', '\n', '\004', 'N', 'O', 'N', 'E', '\020', '\003', '\"', '\004', '\010',
-    '\001', '\020', '\001', '\"', 'S', '\n', '\017', 'M', 'e', 's', 's', 'a',
-    'g', 'e', 'E', 'n', 'c', 'o', 'd', 'i', 'n', 'g', '\022', '\034',
-    '\n', '\030', 'M', 'E', 'S', 'S', 'A', 'G', 'E', '_', 'E', 'N',
-    'C', 'O', 'D', 'I', 'N', 'G', '_', 'U', 'N', 'K', 'N', 'O',
-    'W', 'N', '\020', '\000', '\022', '\023', '\n', '\017', 'L', 'E', 'N', 'G',
-    'T', 'H', '_', 'P', 'R', 'E', 'F', 'I', 'X', 'E', 'D', '\020',
-    '\001', '\022', '\r', '\n', '\t', 'D', 'E', 'L', 'I', 'M', 'I', 'T',
-    'E', 'D', '\020', '\002', '\"', 'H', '\n', '\n', 'J', 's', 'o', 'n',
-    'F', 'o', 'r', 'm', 'a', 't', '\022', '\027', '\n', '\023', 'J', 'S',
-    'O', 'N', '_', 'F', 'O', 'R', 'M', 'A', 'T', '_', 'U', 'N',
-    'K', 'N', 'O', 'W', 'N', '\020', '\000', '\022', '\t', '\n', '\005', 'A',
-    'L', 'L', 'O', 'W', '\020', '\001', '\022', '\026', '\n', '\022', 'L', 'E',
-    'G', 'A', 'C', 'Y', '_', 'B', 'E', 'S', 'T', '_', 'E', 'F',
-    'F', 'O', 'R', 'T', '\020', '\002', '\"', 'W', '\n', '\022', 'E', 'n',
-    'f', 'o', 'r', 'c', 'e', 'N', 'a', 'm', 'i', 'n', 'g', 'S',
-    't', 'y', 'l', 'e', '\022', ' ', '\n', '\034', 'E', 'N', 'F', 'O',
-    'R', 'C', 'E', '_', 'N', 'A', 'M', 'I', 'N', 'G', '_', 'S',
-    'T', 'Y', 'L', 'E', '_', 'U', 'N', 'K', 'N', 'O', 'W', 'N',
-    '\020', '\000', '\022', '\r', '\n', '\t', 'S', 'T', 'Y', 'L', 'E', '2',
-    '0', '2', '4', '\020', '\001', '\022', '\020', '\n', '\014', 'S', 'T', 'Y',
-    'L', 'E', '_', 'L', 'E', 'G', 'A', 'C', 'Y', '\020', '\002', '*',
-    '\006', '\010', '\350', '\007', '\020', '\213', 'N', '*', '\006', '\010', '\213', 'N',
-    '\020', '\220', 'N', '*', '\006', '\010', '\220', 'N', '\020', '\221', 'N', 'J',
-    '\006', '\010', '\347', '\007', '\020', '\350', '\007', '\"', '\357', '\003', '\n', '\022',
-    'F', 'e', 'a', 't', 'u', 'r', 'e', 'S', 'e', 't', 'D', 'e',
-    'f', 'a', 'u', 'l', 't', 's', '\022', 'X', '\n', '\010', 'd', 'e',
-    'f', 'a', 'u', 'l', 't', 's', '\030', '\001', ' ', '\003', '(', '\013',
-    '2', '<', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r',
-    'o', 't', 'o', 'b', 'u', 'f', '.', 'F', 'e', 'a', 't', 'u',
-    'r', 'e', 'S', 'e', 't', 'D', 'e', 'f', 'a', 'u', 'l', 't',
-    's', '.', 'F', 'e', 'a', 't', 'u', 'r', 'e', 'S', 'e', 't',
-    'E', 'd', 'i', 't', 'i', 'o', 'n', 'D', 'e', 'f', 'a', 'u',
-    'l', 't', 'R', '\010', 'd', 'e', 'f', 'a', 'u', 'l', 't', 's',
-    '\022', 'A', '\n', '\017', 'm', 'i', 'n', 'i', 'm', 'u', 'm', '_',
-    'e', 'd', 'i', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(',
-    '\016', '2', '\030', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p',
-    'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'E', 'd', 'i', 't',
-    'i', 'o', 'n', 'R', '\016', 'm', 'i', 'n', 'i', 'm', 'u', 'm',
-    'E', 'd', 'i', 't', 'i', 'o', 'n', '\022', 'A', '\n', '\017', 'm',
-    'a', 'x', 'i', 'm', 'u', 'm', '_', 'e', 'd', 'i', 't', 'i',
-    'o', 'n', '\030', '\005', ' ', '\001', '(', '\016', '2', '\030', '.', 'g',
+    '2', '0', '2', '4', '\030', '\351', '\007', '\242', '\001', '\016', '\022', '\t',
+    'S', 'T', 'Y', 'L', 'E', '2', '0', '2', '6', '\030', '\217', 'N',
+    '\262', '\001', '\003', '\010', '\351', '\007', 'R', '\022', 'e', 'n', 'f', 'o',
+    'r', 'c', 'e', 'N', 'a', 'm', 'i', 'n', 'g', 'S', 't', 'y',
+    'l', 'e', '\022', '\271', '\001', '\n', '\031', 'd', 'e', 'f', 'a', 'u',
+    'l', 't', '_', 's', 'y', 'm', 'b', 'o', 'l', '_', 'v', 'i',
+    's', 'i', 'b', 'i', 'l', 'i', 't', 'y', '\030', '\010', ' ', '\001',
+    '(', '\016', '2', 'E', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.',
+    'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'F', 'e', 'a',
+    't', 'u', 'r', 'e', 'S', 'e', 't', '.', 'V', 'i', 's', 'i',
+    'b', 'i', 'l', 'i', 't', 'y', 'F', 'e', 'a', 't', 'u', 'r',
+    'e', '.', 'D', 'e', 'f', 'a', 'u', 'l', 't', 'S', 'y', 'm',
+    'b', 'o', 'l', 'V', 'i', 's', 'i', 'b', 'i', 'l', 'i', 't',
+    'y', 'B', '6', '\210', '\001', '\002', '\230', '\001', '\001', '\242', '\001', '\017',
+    '\022', '\n', 'E', 'X', 'P', 'O', 'R', 'T', '_', 'A', 'L', 'L',
+    '\030', '\204', '\007', '\242', '\001', '\025', '\022', '\020', 'E', 'X', 'P', 'O',
+    'R', 'T', '_', 'T', 'O', 'P', '_', 'L', 'E', 'V', 'E', 'L',
+    '\030', '\351', '\007', '\262', '\001', '\003', '\010', '\351', '\007', 'R', '\027', 'd',
+    'e', 'f', 'a', 'u', 'l', 't', 'S', 'y', 'm', 'b', 'o', 'l',
+    'V', 'i', 's', 'i', 'b', 'i', 'l', 'i', 't', 'y', '\032', '\241',
+    '\001', '\n', '\021', 'V', 'i', 's', 'i', 'b', 'i', 'l', 'i', 't',
+    'y', 'F', 'e', 'a', 't', 'u', 'r', 'e', '\"', '\201', '\001', '\n',
+    '\027', 'D', 'e', 'f', 'a', 'u', 'l', 't', 'S', 'y', 'm', 'b',
+    'o', 'l', 'V', 'i', 's', 'i', 'b', 'i', 'l', 'i', 't', 'y',
+    '\022', '%', '\n', '!', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '_',
+    'S', 'Y', 'M', 'B', 'O', 'L', '_', 'V', 'I', 'S', 'I', 'B',
+    'I', 'L', 'I', 'T', 'Y', '_', 'U', 'N', 'K', 'N', 'O', 'W',
+    'N', '\020', '\000', '\022', '\016', '\n', '\n', 'E', 'X', 'P', 'O', 'R',
+    'T', '_', 'A', 'L', 'L', '\020', '\001', '\022', '\024', '\n', '\020', 'E',
+    'X', 'P', 'O', 'R', 'T', '_', 'T', 'O', 'P', '_', 'L', 'E',
+    'V', 'E', 'L', '\020', '\002', '\022', '\r', '\n', '\t', 'L', 'O', 'C',
+    'A', 'L', '_', 'A', 'L', 'L', '\020', '\003', '\022', '\n', '\n', '\006',
+    'S', 'T', 'R', 'I', 'C', 'T', '\020', '\004', 'J', '\010', '\010', '\001',
+    '\020', '\200', '\200', '\200', '\200', '\002', '\"', '\\', '\n', '\r', 'F', 'i',
+    'e', 'l', 'd', 'P', 'r', 'e', 's', 'e', 'n', 'c', 'e', '\022',
+    '\032', '\n', '\026', 'F', 'I', 'E', 'L', 'D', '_', 'P', 'R', 'E',
+    'S', 'E', 'N', 'C', 'E', '_', 'U', 'N', 'K', 'N', 'O', 'W',
+    'N', '\020', '\000', '\022', '\014', '\n', '\010', 'E', 'X', 'P', 'L', 'I',
+    'C', 'I', 'T', '\020', '\001', '\022', '\014', '\n', '\010', 'I', 'M', 'P',
+    'L', 'I', 'C', 'I', 'T', '\020', '\002', '\022', '\023', '\n', '\017', 'L',
+    'E', 'G', 'A', 'C', 'Y', '_', 'R', 'E', 'Q', 'U', 'I', 'R',
+    'E', 'D', '\020', '\003', '\"', '7', '\n', '\010', 'E', 'n', 'u', 'm',
+    'T', 'y', 'p', 'e', '\022', '\025', '\n', '\021', 'E', 'N', 'U', 'M',
+    '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'K', 'N', 'O', 'W',
+    'N', '\020', '\000', '\022', '\010', '\n', '\004', 'O', 'P', 'E', 'N', '\020',
+    '\001', '\022', '\n', '\n', '\006', 'C', 'L', 'O', 'S', 'E', 'D', '\020',
+    '\002', '\"', 'V', '\n', '\025', 'R', 'e', 'p', 'e', 'a', 't', 'e',
+    'd', 'F', 'i', 'e', 'l', 'd', 'E', 'n', 'c', 'o', 'd', 'i',
+    'n', 'g', '\022', '#', '\n', '\037', 'R', 'E', 'P', 'E', 'A', 'T',
+    'E', 'D', '_', 'F', 'I', 'E', 'L', 'D', '_', 'E', 'N', 'C',
+    'O', 'D', 'I', 'N', 'G', '_', 'U', 'N', 'K', 'N', 'O', 'W',
+    'N', '\020', '\000', '\022', '\n', '\n', '\006', 'P', 'A', 'C', 'K', 'E',
+    'D', '\020', '\001', '\022', '\014', '\n', '\010', 'E', 'X', 'P', 'A', 'N',
+    'D', 'E', 'D', '\020', '\002', '\"', 'I', '\n', '\016', 'U', 't', 'f',
+    '8', 'V', 'a', 'l', 'i', 'd', 'a', 't', 'i', 'o', 'n', '\022',
+    '\033', '\n', '\027', 'U', 'T', 'F', '8', '_', 'V', 'A', 'L', 'I',
+    'D', 'A', 'T', 'I', 'O', 'N', '_', 'U', 'N', 'K', 'N', 'O',
+    'W', 'N', '\020', '\000', '\022', '\n', '\n', '\006', 'V', 'E', 'R', 'I',
+    'F', 'Y', '\020', '\002', '\022', '\010', '\n', '\004', 'N', 'O', 'N', 'E',
+    '\020', '\003', '\"', '\004', '\010', '\001', '\020', '\001', '\"', 'S', '\n', '\017',
+    'M', 'e', 's', 's', 'a', 'g', 'e', 'E', 'n', 'c', 'o', 'd',
+    'i', 'n', 'g', '\022', '\034', '\n', '\030', 'M', 'E', 'S', 'S', 'A',
+    'G', 'E', '_', 'E', 'N', 'C', 'O', 'D', 'I', 'N', 'G', '_',
+    'U', 'N', 'K', 'N', 'O', 'W', 'N', '\020', '\000', '\022', '\023', '\n',
+    '\017', 'L', 'E', 'N', 'G', 'T', 'H', '_', 'P', 'R', 'E', 'F',
+    'I', 'X', 'E', 'D', '\020', '\001', '\022', '\r', '\n', '\t', 'D', 'E',
+    'L', 'I', 'M', 'I', 'T', 'E', 'D', '\020', '\002', '\"', 'H', '\n',
+    '\n', 'J', 's', 'o', 'n', 'F', 'o', 'r', 'm', 'a', 't', '\022',
+    '\027', '\n', '\023', 'J', 'S', 'O', 'N', '_', 'F', 'O', 'R', 'M',
+    'A', 'T', '_', 'U', 'N', 'K', 'N', 'O', 'W', 'N', '\020', '\000',
+    '\022', '\t', '\n', '\005', 'A', 'L', 'L', 'O', 'W', '\020', '\001', '\022',
+    '\026', '\n', '\022', 'L', 'E', 'G', 'A', 'C', 'Y', '_', 'B', 'E',
+    'S', 'T', '_', 'E', 'F', 'F', 'O', 'R', 'T', '\020', '\002', '\"',
+    'f', '\n', '\022', 'E', 'n', 'f', 'o', 'r', 'c', 'e', 'N', 'a',
+    'm', 'i', 'n', 'g', 'S', 't', 'y', 'l', 'e', '\022', ' ', '\n',
+    '\034', 'E', 'N', 'F', 'O', 'R', 'C', 'E', '_', 'N', 'A', 'M',
+    'I', 'N', 'G', '_', 'S', 'T', 'Y', 'L', 'E', '_', 'U', 'N',
+    'K', 'N', 'O', 'W', 'N', '\020', '\000', '\022', '\r', '\n', '\t', 'S',
+    'T', 'Y', 'L', 'E', '2', '0', '2', '4', '\020', '\001', '\022', '\020',
+    '\n', '\014', 'S', 'T', 'Y', 'L', 'E', '_', 'L', 'E', 'G', 'A',
+    'C', 'Y', '\020', '\002', '\022', '\r', '\n', '\t', 'S', 'T', 'Y', 'L',
+    'E', '2', '0', '2', '6', '\020', '\003', '*', '\006', '\010', '\350', '\007',
+    '\020', '\213', 'N', '*', '\006', '\010', '\213', 'N', '\020', '\220', 'N', '*',
+    '\006', '\010', '\220', 'N', '\020', '\221', 'N', 'J', '\006', '\010', '\347', '\007',
+    '\020', '\350', '\007', '\"', '\357', '\003', '\n', '\022', 'F', 'e', 'a', 't',
+    'u', 'r', 'e', 'S', 'e', 't', 'D', 'e', 'f', 'a', 'u', 'l',
+    't', 's', '\022', 'X', '\n', '\010', 'd', 'e', 'f', 'a', 'u', 'l',
+    't', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '<', '.', 'g',
     'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b',
-    'u', 'f', '.', 'E', 'd', 'i', 't', 'i', 'o', 'n', 'R', '\016',
-    'm', 'a', 'x', 'i', 'm', 'u', 'm', 'E', 'd', 'i', 't', 'i',
-    'o', 'n', '\032', '\370', '\001', '\n', '\030', 'F', 'e', 'a', 't', 'u',
-    'r', 'e', 'S', 'e', 't', 'E', 'd', 'i', 't', 'i', 'o', 'n',
-    'D', 'e', 'f', 'a', 'u', 'l', 't', '\022', '2', '\n', '\007', 'e',
-    'd', 'i', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\016',
-    '2', '\030', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r',
-    'o', 't', 'o', 'b', 'u', 'f', '.', 'E', 'd', 'i', 't', 'i',
-    'o', 'n', 'R', '\007', 'e', 'd', 'i', 't', 'i', 'o', 'n', '\022',
-    'N', '\n', '\024', 'o', 'v', 'e', 'r', 'r', 'i', 'd', 'a', 'b',
-    'l', 'e', '_', 'f', 'e', 'a', 't', 'u', 'r', 'e', 's', '\030',
-    '\004', ' ', '\001', '(', '\013', '2', '\033', '.', 'g', 'o', 'o', 'g',
-    'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.',
-    'F', 'e', 'a', 't', 'u', 'r', 'e', 'S', 'e', 't', 'R', '\023',
-    'o', 'v', 'e', 'r', 'r', 'i', 'd', 'a', 'b', 'l', 'e', 'F',
-    'e', 'a', 't', 'u', 'r', 'e', 's', '\022', 'B', '\n', '\016', 'f',
-    'i', 'x', 'e', 'd', '_', 'f', 'e', 'a', 't', 'u', 'r', 'e',
-    's', '\030', '\005', ' ', '\001', '(', '\013', '2', '\033', '.', 'g', 'o',
-    'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u',
-    'f', '.', 'F', 'e', 'a', 't', 'u', 'r', 'e', 'S', 'e', 't',
-    'R', '\r', 'f', 'i', 'x', 'e', 'd', 'F', 'e', 'a', 't', 'u',
-    'r', 'e', 's', 'J', '\004', '\010', '\001', '\020', '\002', 'J', '\004', '\010',
-    '\002', '\020', '\003', 'R', '\010', 'f', 'e', 'a', 't', 'u', 'r', 'e',
-    's', '\"', '\265', '\002', '\n', '\016', 'S', 'o', 'u', 'r', 'c', 'e',
-    'C', 'o', 'd', 'e', 'I', 'n', 'f', 'o', '\022', 'D', '\n', '\010',
-    'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\003',
-    '(', '\013', '2', '(', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.',
-    'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'S', 'o', 'u',
-    'r', 'c', 'e', 'C', 'o', 'd', 'e', 'I', 'n', 'f', 'o', '.',
-    'L', 'o', 'c', 'a', 't', 'i', 'o', 'n', 'R', '\010', 'l', 'o',
-    'c', 'a', 't', 'i', 'o', 'n', '\032', '\316', '\001', '\n', '\010', 'L',
-    'o', 'c', 'a', 't', 'i', 'o', 'n', '\022', '\026', '\n', '\004', 'p',
-    'a', 't', 'h', '\030', '\001', ' ', '\003', '(', '\005', 'B', '\002', '\020',
-    '\001', 'R', '\004', 'p', 'a', 't', 'h', '\022', '\026', '\n', '\004', 's',
-    'p', 'a', 'n', '\030', '\002', ' ', '\003', '(', '\005', 'B', '\002', '\020',
-    '\001', 'R', '\004', 's', 'p', 'a', 'n', '\022', ')', '\n', '\020', 'l',
-    'e', 'a', 'd', 'i', 'n', 'g', '_', 'c', 'o', 'm', 'm', 'e',
-    'n', 't', 's', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\017', 'l',
-    'e', 'a', 'd', 'i', 'n', 'g', 'C', 'o', 'm', 'm', 'e', 'n',
-    't', 's', '\022', '+', '\n', '\021', 't', 'r', 'a', 'i', 'l', 'i',
+    'u', 'f', '.', 'F', 'e', 'a', 't', 'u', 'r', 'e', 'S', 'e',
+    't', 'D', 'e', 'f', 'a', 'u', 'l', 't', 's', '.', 'F', 'e',
+    'a', 't', 'u', 'r', 'e', 'S', 'e', 't', 'E', 'd', 'i', 't',
+    'i', 'o', 'n', 'D', 'e', 'f', 'a', 'u', 'l', 't', 'R', '\010',
+    'd', 'e', 'f', 'a', 'u', 'l', 't', 's', '\022', 'A', '\n', '\017',
+    'm', 'i', 'n', 'i', 'm', 'u', 'm', '_', 'e', 'd', 'i', 't',
+    'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\016', '2', '\030', '.',
+    'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o',
+    'b', 'u', 'f', '.', 'E', 'd', 'i', 't', 'i', 'o', 'n', 'R',
+    '\016', 'm', 'i', 'n', 'i', 'm', 'u', 'm', 'E', 'd', 'i', 't',
+    'i', 'o', 'n', '\022', 'A', '\n', '\017', 'm', 'a', 'x', 'i', 'm',
+    'u', 'm', '_', 'e', 'd', 'i', 't', 'i', 'o', 'n', '\030', '\005',
+    ' ', '\001', '(', '\016', '2', '\030', '.', 'g', 'o', 'o', 'g', 'l',
+    'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'E',
+    'd', 'i', 't', 'i', 'o', 'n', 'R', '\016', 'm', 'a', 'x', 'i',
+    'm', 'u', 'm', 'E', 'd', 'i', 't', 'i', 'o', 'n', '\032', '\370',
+    '\001', '\n', '\030', 'F', 'e', 'a', 't', 'u', 'r', 'e', 'S', 'e',
+    't', 'E', 'd', 'i', 't', 'i', 'o', 'n', 'D', 'e', 'f', 'a',
+    'u', 'l', 't', '\022', '2', '\n', '\007', 'e', 'd', 'i', 't', 'i',
+    'o', 'n', '\030', '\003', ' ', '\001', '(', '\016', '2', '\030', '.', 'g',
+    'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b',
+    'u', 'f', '.', 'E', 'd', 'i', 't', 'i', 'o', 'n', 'R', '\007',
+    'e', 'd', 'i', 't', 'i', 'o', 'n', '\022', 'N', '\n', '\024', 'o',
+    'v', 'e', 'r', 'r', 'i', 'd', 'a', 'b', 'l', 'e', '_', 'f',
+    'e', 'a', 't', 'u', 'r', 'e', 's', '\030', '\004', ' ', '\001', '(',
+    '\013', '2', '\033', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p',
+    'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'F', 'e', 'a', 't',
+    'u', 'r', 'e', 'S', 'e', 't', 'R', '\023', 'o', 'v', 'e', 'r',
+    'r', 'i', 'd', 'a', 'b', 'l', 'e', 'F', 'e', 'a', 't', 'u',
+    'r', 'e', 's', '\022', 'B', '\n', '\016', 'f', 'i', 'x', 'e', 'd',
+    '_', 'f', 'e', 'a', 't', 'u', 'r', 'e', 's', '\030', '\005', ' ',
+    '\001', '(', '\013', '2', '\033', '.', 'g', 'o', 'o', 'g', 'l', 'e',
+    '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'F', 'e',
+    'a', 't', 'u', 'r', 'e', 'S', 'e', 't', 'R', '\r', 'f', 'i',
+    'x', 'e', 'd', 'F', 'e', 'a', 't', 'u', 'r', 'e', 's', 'J',
+    '\004', '\010', '\001', '\020', '\002', 'J', '\004', '\010', '\002', '\020', '\003', 'R',
+    '\010', 'f', 'e', 'a', 't', 'u', 'r', 'e', 's', '\"', '\265', '\002',
+    '\n', '\016', 'S', 'o', 'u', 'r', 'c', 'e', 'C', 'o', 'd', 'e',
+    'I', 'n', 'f', 'o', '\022', 'D', '\n', '\010', 'l', 'o', 'c', 'a',
+    't', 'i', 'o', 'n', '\030', '\001', ' ', '\003', '(', '\013', '2', '(',
+    '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't',
+    'o', 'b', 'u', 'f', '.', 'S', 'o', 'u', 'r', 'c', 'e', 'C',
+    'o', 'd', 'e', 'I', 'n', 'f', 'o', '.', 'L', 'o', 'c', 'a',
+    't', 'i', 'o', 'n', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i',
+    'o', 'n', '\032', '\316', '\001', '\n', '\010', 'L', 'o', 'c', 'a', 't',
+    'i', 'o', 'n', '\022', '\026', '\n', '\004', 'p', 'a', 't', 'h', '\030',
+    '\001', ' ', '\003', '(', '\005', 'B', '\002', '\020', '\001', 'R', '\004', 'p',
+    'a', 't', 'h', '\022', '\026', '\n', '\004', 's', 'p', 'a', 'n', '\030',
+    '\002', ' ', '\003', '(', '\005', 'B', '\002', '\020', '\001', 'R', '\004', 's',
+    'p', 'a', 'n', '\022', ')', '\n', '\020', 'l', 'e', 'a', 'd', 'i',
     'n', 'g', '_', 'c', 'o', 'm', 'm', 'e', 'n', 't', 's', '\030',
-    '\004', ' ', '\001', '(', '\t', 'R', '\020', 't', 'r', 'a', 'i', 'l',
-    'i', 'n', 'g', 'C', 'o', 'm', 'm', 'e', 'n', 't', 's', '\022',
-    ':', '\n', '\031', 'l', 'e', 'a', 'd', 'i', 'n', 'g', '_', 'd',
-    'e', 't', 'a', 'c', 'h', 'e', 'd', '_', 'c', 'o', 'm', 'm',
-    'e', 'n', 't', 's', '\030', '\006', ' ', '\003', '(', '\t', 'R', '\027',
-    'l', 'e', 'a', 'd', 'i', 'n', 'g', 'D', 'e', 't', 'a', 'c',
-    'h', 'e', 'd', 'C', 'o', 'm', 'm', 'e', 'n', 't', 's', '*',
-    '\014', '\010', '\200', '\354', '\312', '\377', '\001', '\020', '\201', '\354', '\312', '\377',
-    '\001', '\"', '\320', '\002', '\n', '\021', 'G', 'e', 'n', 'e', 'r', 'a',
-    't', 'e', 'd', 'C', 'o', 'd', 'e', 'I', 'n', 'f', 'o', '\022',
-    'M', '\n', '\n', 'a', 'n', 'n', 'o', 't', 'a', 't', 'i', 'o',
-    'n', '\030', '\001', ' ', '\003', '(', '\013', '2', '-', '.', 'g', 'o',
-    'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u',
-    'f', '.', 'G', 'e', 'n', 'e', 'r', 'a', 't', 'e', 'd', 'C',
-    'o', 'd', 'e', 'I', 'n', 'f', 'o', '.', 'A', 'n', 'n', 'o',
-    't', 'a', 't', 'i', 'o', 'n', 'R', '\n', 'a', 'n', 'n', 'o',
-    't', 'a', 't', 'i', 'o', 'n', '\032', '\353', '\001', '\n', '\n', 'A',
-    'n', 'n', 'o', 't', 'a', 't', 'i', 'o', 'n', '\022', '\026', '\n',
-    '\004', 'p', 'a', 't', 'h', '\030', '\001', ' ', '\003', '(', '\005', 'B',
-    '\002', '\020', '\001', 'R', '\004', 'p', 'a', 't', 'h', '\022', '\037', '\n',
-    '\013', 's', 'o', 'u', 'r', 'c', 'e', '_', 'f', 'i', 'l', 'e',
-    '\030', '\002', ' ', '\001', '(', '\t', 'R', '\n', 's', 'o', 'u', 'r',
-    'c', 'e', 'F', 'i', 'l', 'e', '\022', '\024', '\n', '\005', 'b', 'e',
-    'g', 'i', 'n', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\005', 'b',
-    'e', 'g', 'i', 'n', '\022', '\020', '\n', '\003', 'e', 'n', 'd', '\030',
-    '\004', ' ', '\001', '(', '\005', 'R', '\003', 'e', 'n', 'd', '\022', 'R',
-    '\n', '\010', 's', 'e', 'm', 'a', 'n', 't', 'i', 'c', '\030', '\005',
-    ' ', '\001', '(', '\016', '2', '6', '.', 'g', 'o', 'o', 'g', 'l',
-    'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'G',
-    'e', 'n', 'e', 'r', 'a', 't', 'e', 'd', 'C', 'o', 'd', 'e',
-    'I', 'n', 'f', 'o', '.', 'A', 'n', 'n', 'o', 't', 'a', 't',
-    'i', 'o', 'n', '.', 'S', 'e', 'm', 'a', 'n', 't', 'i', 'c',
-    'R', '\010', 's', 'e', 'm', 'a', 'n', 't', 'i', 'c', '\"', '(',
-    '\n', '\010', 'S', 'e', 'm', 'a', 'n', 't', 'i', 'c', '\022', '\010',
-    '\n', '\004', 'N', 'O', 'N', 'E', '\020', '\000', '\022', '\007', '\n', '\003',
-    'S', 'E', 'T', '\020', '\001', '\022', '\t', '\n', '\005', 'A', 'L', 'I',
-    'A', 'S', '\020', '\002', '*', '\321', '\002', '\n', '\007', 'E', 'd', 'i',
-    't', 'i', 'o', 'n', '\022', '\023', '\n', '\017', 'E', 'D', 'I', 'T',
-    'I', 'O', 'N', '_', 'U', 'N', 'K', 'N', 'O', 'W', 'N', '\020',
-    '\000', '\022', '\023', '\n', '\016', 'E', 'D', 'I', 'T', 'I', 'O', 'N',
-    '_', 'L', 'E', 'G', 'A', 'C', 'Y', '\020', '\204', '\007', '\022', '\023',
-    '\n', '\016', 'E', 'D', 'I', 'T', 'I', 'O', 'N', '_', 'P', 'R',
-    'O', 'T', 'O', '2', '\020', '\346', '\007', '\022', '\023', '\n', '\016', 'E',
-    'D', 'I', 'T', 'I', 'O', 'N', '_', 'P', 'R', 'O', 'T', 'O',
-    '3', '\020', '\347', '\007', '\022', '\021', '\n', '\014', 'E', 'D', 'I', 'T',
-    'I', 'O', 'N', '_', '2', '0', '2', '3', '\020', '\350', '\007', '\022',
-    '\021', '\n', '\014', 'E', 'D', 'I', 'T', 'I', 'O', 'N', '_', '2',
-    '0', '2', '4', '\020', '\351', '\007', '\022', '\021', '\n', '\014', 'E', 'D',
-    'I', 'T', 'I', 'O', 'N', '_', '2', '0', '2', '6', '\020', '\352',
-    '\007', '\022', '\025', '\n', '\020', 'E', 'D', 'I', 'T', 'I', 'O', 'N',
-    '_', 'U', 'N', 'S', 'T', 'A', 'B', 'L', 'E', '\020', '\217', 'N',
-    '\022', '\027', '\n', '\023', 'E', 'D', 'I', 'T', 'I', 'O', 'N', '_',
-    '1', '_', 'T', 'E', 'S', 'T', '_', 'O', 'N', 'L', 'Y', '\020',
-    '\001', '\022', '\027', '\n', '\023', 'E', 'D', 'I', 'T', 'I', 'O', 'N',
-    '_', '2', '_', 'T', 'E', 'S', 'T', '_', 'O', 'N', 'L', 'Y',
-    '\020', '\002', '\022', '\035', '\n', '\027', 'E', 'D', 'I', 'T', 'I', 'O',
-    'N', '_', '9', '9', '9', '9', '7', '_', 'T', 'E', 'S', 'T',
-    '_', 'O', 'N', 'L', 'Y', '\020', '\235', '\215', '\006', '\022', '\035', '\n',
-    '\027', 'E', 'D', 'I', 'T', 'I', 'O', 'N', '_', '9', '9', '9',
-    '9', '8', '_', 'T', 'E', 'S', 'T', '_', 'O', 'N', 'L', 'Y',
-    '\020', '\236', '\215', '\006', '\022', '\035', '\n', '\027', 'E', 'D', 'I', 'T',
-    'I', 'O', 'N', '_', '9', '9', '9', '9', '9', '_', 'T', 'E',
-    'S', 'T', '_', 'O', 'N', 'L', 'Y', '\020', '\237', '\215', '\006', '\022',
-    '\023', '\n', '\013', 'E', 'D', 'I', 'T', 'I', 'O', 'N', '_', 'M',
-    'A', 'X', '\020', '\377', '\377', '\377', '\377', '\007', '*', 'U', '\n', '\020',
-    'S', 'y', 'm', 'b', 'o', 'l', 'V', 'i', 's', 'i', 'b', 'i',
-    'l', 'i', 't', 'y', '\022', '\024', '\n', '\020', 'V', 'I', 'S', 'I',
-    'B', 'I', 'L', 'I', 'T', 'Y', '_', 'U', 'N', 'S', 'E', 'T',
-    '\020', '\000', '\022', '\024', '\n', '\020', 'V', 'I', 'S', 'I', 'B', 'I',
-    'L', 'I', 'T', 'Y', '_', 'L', 'O', 'C', 'A', 'L', '\020', '\001',
-    '\022', '\025', '\n', '\021', 'V', 'I', 'S', 'I', 'B', 'I', 'L', 'I',
-    'T', 'Y', '_', 'E', 'X', 'P', 'O', 'R', 'T', '\020', '\002', 'B',
-    '~', '\n', '\023', 'c', 'o', 'm', '.', 'g', 'o', 'o', 'g', 'l',
-    'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', 'B', '\020',
-    'D', 'e', 's', 'c', 'r', 'i', 'p', 't', 'o', 'r', 'P', 'r',
-    'o', 't', 'o', 's', 'H', '\001', 'Z', '-', 'g', 'o', 'o', 'g',
-    'l', 'e', '.', 'g', 'o', 'l', 'a', 'n', 'g', '.', 'o', 'r',
-    'g', '/', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '/', 't',
-    'y', 'p', 'e', 's', '/', 'd', 'e', 's', 'c', 'r', 'i', 'p',
-    't', 'o', 'r', 'p', 'b', '\370', '\001', '\001', '\242', '\002', '\003', 'G',
-    'P', 'B', '\252', '\002', '\032', 'G', 'o', 'o', 'g', 'l', 'e', '.',
-    'P', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'R', 'e', 'f',
-    'l', 'e', 'c', 't', 'i', 'o', 'n',
+    '\003', ' ', '\001', '(', '\t', 'R', '\017', 'l', 'e', 'a', 'd', 'i',
+    'n', 'g', 'C', 'o', 'm', 'm', 'e', 'n', 't', 's', '\022', '+',
+    '\n', '\021', 't', 'r', 'a', 'i', 'l', 'i', 'n', 'g', '_', 'c',
+    'o', 'm', 'm', 'e', 'n', 't', 's', '\030', '\004', ' ', '\001', '(',
+    '\t', 'R', '\020', 't', 'r', 'a', 'i', 'l', 'i', 'n', 'g', 'C',
+    'o', 'm', 'm', 'e', 'n', 't', 's', '\022', ':', '\n', '\031', 'l',
+    'e', 'a', 'd', 'i', 'n', 'g', '_', 'd', 'e', 't', 'a', 'c',
+    'h', 'e', 'd', '_', 'c', 'o', 'm', 'm', 'e', 'n', 't', 's',
+    '\030', '\006', ' ', '\003', '(', '\t', 'R', '\027', 'l', 'e', 'a', 'd',
+    'i', 'n', 'g', 'D', 'e', 't', 'a', 'c', 'h', 'e', 'd', 'C',
+    'o', 'm', 'm', 'e', 'n', 't', 's', '*', '\014', '\010', '\200', '\354',
+    '\312', '\377', '\001', '\020', '\201', '\354', '\312', '\377', '\001', '\"', '\320', '\002',
+    '\n', '\021', 'G', 'e', 'n', 'e', 'r', 'a', 't', 'e', 'd', 'C',
+    'o', 'd', 'e', 'I', 'n', 'f', 'o', '\022', 'M', '\n', '\n', 'a',
+    'n', 'n', 'o', 't', 'a', 't', 'i', 'o', 'n', '\030', '\001', ' ',
+    '\003', '(', '\013', '2', '-', '.', 'g', 'o', 'o', 'g', 'l', 'e',
+    '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'G', 'e',
+    'n', 'e', 'r', 'a', 't', 'e', 'd', 'C', 'o', 'd', 'e', 'I',
+    'n', 'f', 'o', '.', 'A', 'n', 'n', 'o', 't', 'a', 't', 'i',
+    'o', 'n', 'R', '\n', 'a', 'n', 'n', 'o', 't', 'a', 't', 'i',
+    'o', 'n', '\032', '\353', '\001', '\n', '\n', 'A', 'n', 'n', 'o', 't',
+    'a', 't', 'i', 'o', 'n', '\022', '\026', '\n', '\004', 'p', 'a', 't',
+    'h', '\030', '\001', ' ', '\003', '(', '\005', 'B', '\002', '\020', '\001', 'R',
+    '\004', 'p', 'a', 't', 'h', '\022', '\037', '\n', '\013', 's', 'o', 'u',
+    'r', 'c', 'e', '_', 'f', 'i', 'l', 'e', '\030', '\002', ' ', '\001',
+    '(', '\t', 'R', '\n', 's', 'o', 'u', 'r', 'c', 'e', 'F', 'i',
+    'l', 'e', '\022', '\024', '\n', '\005', 'b', 'e', 'g', 'i', 'n', '\030',
+    '\003', ' ', '\001', '(', '\005', 'R', '\005', 'b', 'e', 'g', 'i', 'n',
+    '\022', '\020', '\n', '\003', 'e', 'n', 'd', '\030', '\004', ' ', '\001', '(',
+    '\005', 'R', '\003', 'e', 'n', 'd', '\022', 'R', '\n', '\010', 's', 'e',
+    'm', 'a', 'n', 't', 'i', 'c', '\030', '\005', ' ', '\001', '(', '\016',
+    '2', '6', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r',
+    'o', 't', 'o', 'b', 'u', 'f', '.', 'G', 'e', 'n', 'e', 'r',
+    'a', 't', 'e', 'd', 'C', 'o', 'd', 'e', 'I', 'n', 'f', 'o',
+    '.', 'A', 'n', 'n', 'o', 't', 'a', 't', 'i', 'o', 'n', '.',
+    'S', 'e', 'm', 'a', 'n', 't', 'i', 'c', 'R', '\010', 's', 'e',
+    'm', 'a', 'n', 't', 'i', 'c', '\"', '(', '\n', '\010', 'S', 'e',
+    'm', 'a', 'n', 't', 'i', 'c', '\022', '\010', '\n', '\004', 'N', 'O',
+    'N', 'E', '\020', '\000', '\022', '\007', '\n', '\003', 'S', 'E', 'T', '\020',
+    '\001', '\022', '\t', '\n', '\005', 'A', 'L', 'I', 'A', 'S', '\020', '\002',
+    '*', '\321', '\002', '\n', '\007', 'E', 'd', 'i', 't', 'i', 'o', 'n',
+    '\022', '\023', '\n', '\017', 'E', 'D', 'I', 'T', 'I', 'O', 'N', '_',
+    'U', 'N', 'K', 'N', 'O', 'W', 'N', '\020', '\000', '\022', '\023', '\n',
+    '\016', 'E', 'D', 'I', 'T', 'I', 'O', 'N', '_', 'L', 'E', 'G',
+    'A', 'C', 'Y', '\020', '\204', '\007', '\022', '\023', '\n', '\016', 'E', 'D',
+    'I', 'T', 'I', 'O', 'N', '_', 'P', 'R', 'O', 'T', 'O', '2',
+    '\020', '\346', '\007', '\022', '\023', '\n', '\016', 'E', 'D', 'I', 'T', 'I',
+    'O', 'N', '_', 'P', 'R', 'O', 'T', 'O', '3', '\020', '\347', '\007',
+    '\022', '\021', '\n', '\014', 'E', 'D', 'I', 'T', 'I', 'O', 'N', '_',
+    '2', '0', '2', '3', '\020', '\350', '\007', '\022', '\021', '\n', '\014', 'E',
+    'D', 'I', 'T', 'I', 'O', 'N', '_', '2', '0', '2', '4', '\020',
+    '\351', '\007', '\022', '\021', '\n', '\014', 'E', 'D', 'I', 'T', 'I', 'O',
+    'N', '_', '2', '0', '2', '6', '\020', '\352', '\007', '\022', '\025', '\n',
+    '\020', 'E', 'D', 'I', 'T', 'I', 'O', 'N', '_', 'U', 'N', 'S',
+    'T', 'A', 'B', 'L', 'E', '\020', '\217', 'N', '\022', '\027', '\n', '\023',
+    'E', 'D', 'I', 'T', 'I', 'O', 'N', '_', '1', '_', 'T', 'E',
+    'S', 'T', '_', 'O', 'N', 'L', 'Y', '\020', '\001', '\022', '\027', '\n',
+    '\023', 'E', 'D', 'I', 'T', 'I', 'O', 'N', '_', '2', '_', 'T',
+    'E', 'S', 'T', '_', 'O', 'N', 'L', 'Y', '\020', '\002', '\022', '\035',
+    '\n', '\027', 'E', 'D', 'I', 'T', 'I', 'O', 'N', '_', '9', '9',
+    '9', '9', '7', '_', 'T', 'E', 'S', 'T', '_', 'O', 'N', 'L',
+    'Y', '\020', '\235', '\215', '\006', '\022', '\035', '\n', '\027', 'E', 'D', 'I',
+    'T', 'I', 'O', 'N', '_', '9', '9', '9', '9', '8', '_', 'T',
+    'E', 'S', 'T', '_', 'O', 'N', 'L', 'Y', '\020', '\236', '\215', '\006',
+    '\022', '\035', '\n', '\027', 'E', 'D', 'I', 'T', 'I', 'O', 'N', '_',
+    '9', '9', '9', '9', '9', '_', 'T', 'E', 'S', 'T', '_', 'O',
+    'N', 'L', 'Y', '\020', '\237', '\215', '\006', '\022', '\023', '\n', '\013', 'E',
+    'D', 'I', 'T', 'I', 'O', 'N', '_', 'M', 'A', 'X', '\020', '\377',
+    '\377', '\377', '\377', '\007', '*', 'U', '\n', '\020', 'S', 'y', 'm', 'b',
+    'o', 'l', 'V', 'i', 's', 'i', 'b', 'i', 'l', 'i', 't', 'y',
+    '\022', '\024', '\n', '\020', 'V', 'I', 'S', 'I', 'B', 'I', 'L', 'I',
+    'T', 'Y', '_', 'U', 'N', 'S', 'E', 'T', '\020', '\000', '\022', '\024',
+    '\n', '\020', 'V', 'I', 'S', 'I', 'B', 'I', 'L', 'I', 'T', 'Y',
+    '_', 'L', 'O', 'C', 'A', 'L', '\020', '\001', '\022', '\025', '\n', '\021',
+    'V', 'I', 'S', 'I', 'B', 'I', 'L', 'I', 'T', 'Y', '_', 'E',
+    'X', 'P', 'O', 'R', 'T', '\020', '\002', 'B', '~', '\n', '\023', 'c',
+    'o', 'm', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r',
+    'o', 't', 'o', 'b', 'u', 'f', 'B', '\020', 'D', 'e', 's', 'c',
+    'r', 'i', 'p', 't', 'o', 'r', 'P', 'r', 'o', 't', 'o', 's',
+    'H', '\001', 'Z', '-', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'g',
+    'o', 'l', 'a', 'n', 'g', '.', 'o', 'r', 'g', '/', 'p', 'r',
+    'o', 't', 'o', 'b', 'u', 'f', '/', 't', 'y', 'p', 'e', 's',
+    '/', 'd', 'e', 's', 'c', 'r', 'i', 'p', 't', 'o', 'r', 'p',
+    'b', '\370', '\001', '\001', '\242', '\002', '\003', 'G', 'P', 'B', '\252', '\002',
+    '\032', 'G', 'o', 'o', 'g', 'l', 'e', '.', 'P', 'r', 'o', 't',
+    'o', 'b', 'u', 'f', '.', 'R', 'e', 'f', 'l', 'e', 'c', 't',
+    'i', 'o', 'n',
 };
 
 static _upb_DefPool_Init *deps[1] = {
diff --git a/php/ext/google/protobuf/php-upb.h b/php/ext/google/protobuf/php-upb.h
index 2fc7541..dcc9a03 100644
--- a/php/ext/google/protobuf/php-upb.h
+++ b/php/ext/google/protobuf/php-upb.h
@@ -6407,7 +6407,8 @@
 typedef enum {
   google_protobuf_FeatureSet_ENFORCE_NAMING_STYLE_UNKNOWN = 0,
   google_protobuf_FeatureSet_STYLE2024 = 1,
-  google_protobuf_FeatureSet_STYLE_LEGACY = 2
+  google_protobuf_FeatureSet_STYLE_LEGACY = 2,
+  google_protobuf_FeatureSet_STYLE2026 = 3
 } google_protobuf_FeatureSet_EnforceNamingStyle;
 
 typedef enum {
@@ -17380,7 +17381,7 @@
 // features. This is used for feature resolution under Editions.
 // NOLINTBEGIN
 // clang-format off
-#define UPB_INTERNAL_UPB_EDITION_DEFAULTS "\n\027\030\204\007\"\000*\020\010\001\020\002\030\002 \003(\0010\0028\002@\001\n\027\030\347\007\"\000*\020\010\002\020\001\030\001 \002(\0010\0018\002@\001\n\027\030\350\007\"\014\010\001\020\001\030\001 \002(\0010\001*\0048\002@\001\n\027\030\351\007\"\020\010\001\020\001\030\001 \002(\0010\0018\001@\002*\000 \346\007(\351\007"
+#define UPB_INTERNAL_UPB_EDITION_DEFAULTS "\n\027\030\204\007\"\000*\020\010\001\020\002\030\002 \003(\0010\0028\002@\001\n\027\030\347\007\"\000*\020\010\002\020\001\030\001 \002(\0010\0018\002@\001\n\027\030\350\007\"\014\010\001\020\001\030\001 \002(\0010\001*\0048\002@\001\n\027\030\351\007\"\020\010\001\020\001\030\001 \002(\0010\0018\001@\002*\000\n\027\030\217N\"\020\010\001\020\001\030\001 \002(\0010\0018\003@\002*\000 \346\007(\351\007"
 // clang-format on
 // NOLINTEND
 
diff --git a/php/src/GPBMetadata/Google/Protobuf/Internal/Descriptor.php b/php/src/GPBMetadata/Google/Protobuf/Internal/Descriptor.php
index e2ebc03..8f56144 100644
--- a/php/src/GPBMetadata/Google/Protobuf/Internal/Descriptor.php
+++ b/php/src/GPBMetadata/Google/Protobuf/Internal/Descriptor.php
@@ -381,6 +381,7 @@
             ->value("ENFORCE_NAMING_STYLE_UNKNOWN", 0)
             ->value("STYLE2024", 1)
             ->value("STYLE_LEGACY", 2)
+            ->value("STYLE2026", 3)
             ->finalizeToPool();
 
         $pool->addMessage('google.protobuf.internal.FeatureSetDefaults', \Google\Protobuf\Internal\FeatureSetDefaults::class)
diff --git a/php/src/Google/Protobuf/Internal/FeatureSet/EnforceNamingStyle.php b/php/src/Google/Protobuf/Internal/FeatureSet/EnforceNamingStyle.php
index 8fbb98b..c633a0d 100644
--- a/php/src/Google/Protobuf/Internal/FeatureSet/EnforceNamingStyle.php
+++ b/php/src/Google/Protobuf/Internal/FeatureSet/EnforceNamingStyle.php
@@ -24,11 +24,16 @@
      * Generated from protobuf enum <code>STYLE_LEGACY = 2;</code>
      */
     const STYLE_LEGACY = 2;
+    /**
+     * Generated from protobuf enum <code>STYLE2026 = 3;</code>
+     */
+    const STYLE2026 = 3;
 
     private static $valueToName = [
         self::ENFORCE_NAMING_STYLE_UNKNOWN => 'ENFORCE_NAMING_STYLE_UNKNOWN',
         self::STYLE2024 => 'STYLE2024',
         self::STYLE_LEGACY => 'STYLE_LEGACY',
+        self::STYLE2026 => 'STYLE2026',
     ];
 
     public static function name($value)
diff --git a/ruby/ext/google/protobuf_c/ruby-upb.c b/ruby/ext/google/protobuf_c/ruby-upb.c
index 0d9360b..90a09f6 100644
--- a/ruby/ext/google/protobuf_c/ruby-upb.c
+++ b/ruby/ext/google/protobuf_c/ruby-upb.c
@@ -1993,7 +1993,7 @@
     64,
     0,
     {
-        0x7,
+        0xf,
         0x0,
     },
 };
diff --git a/ruby/ext/google/protobuf_c/ruby-upb.h b/ruby/ext/google/protobuf_c/ruby-upb.h
index 7ad33db..7711cd6 100755
--- a/ruby/ext/google/protobuf_c/ruby-upb.h
+++ b/ruby/ext/google/protobuf_c/ruby-upb.h
@@ -6459,7 +6459,8 @@
 typedef enum {
   google_protobuf_FeatureSet_ENFORCE_NAMING_STYLE_UNKNOWN = 0,
   google_protobuf_FeatureSet_STYLE2024 = 1,
-  google_protobuf_FeatureSet_STYLE_LEGACY = 2
+  google_protobuf_FeatureSet_STYLE_LEGACY = 2,
+  google_protobuf_FeatureSet_STYLE2026 = 3
 } google_protobuf_FeatureSet_EnforceNamingStyle;
 
 typedef enum {
@@ -17182,7 +17183,7 @@
 // features. This is used for feature resolution under Editions.
 // NOLINTBEGIN
 // clang-format off
-#define UPB_INTERNAL_UPB_EDITION_DEFAULTS "\n\027\030\204\007\"\000*\020\010\001\020\002\030\002 \003(\0010\0028\002@\001\n\027\030\347\007\"\000*\020\010\002\020\001\030\001 \002(\0010\0018\002@\001\n\027\030\350\007\"\014\010\001\020\001\030\001 \002(\0010\001*\0048\002@\001\n\027\030\351\007\"\020\010\001\020\001\030\001 \002(\0010\0018\001@\002*\000 \346\007(\351\007"
+#define UPB_INTERNAL_UPB_EDITION_DEFAULTS "\n\027\030\204\007\"\000*\020\010\001\020\002\030\002 \003(\0010\0028\002@\001\n\027\030\347\007\"\000*\020\010\002\020\001\030\001 \002(\0010\0018\002@\001\n\027\030\350\007\"\014\010\001\020\001\030\001 \002(\0010\001*\0048\002@\001\n\027\030\351\007\"\020\010\001\020\001\030\001 \002(\0010\0018\001@\002*\000\n\027\030\217N\"\020\010\001\020\001\030\001 \002(\0010\0018\003@\002*\000 \346\007(\351\007"
 // clang-format on
 // NOLINTEND
 
diff --git a/upb/reflection/cmake/google/protobuf/descriptor.upb.h b/upb/reflection/cmake/google/protobuf/descriptor.upb.h
index cda0fe4..512a2de 100644
--- a/upb/reflection/cmake/google/protobuf/descriptor.upb.h
+++ b/upb/reflection/cmake/google/protobuf/descriptor.upb.h
@@ -180,7 +180,8 @@
 typedef enum {
   google_protobuf_FeatureSet_ENFORCE_NAMING_STYLE_UNKNOWN = 0,
   google_protobuf_FeatureSet_STYLE2024 = 1,
-  google_protobuf_FeatureSet_STYLE_LEGACY = 2
+  google_protobuf_FeatureSet_STYLE_LEGACY = 2,
+  google_protobuf_FeatureSet_STYLE2026 = 3
 } google_protobuf_FeatureSet_EnforceNamingStyle;
 
 typedef enum {
diff --git a/upb/reflection/cmake/google/protobuf/descriptor.upb_minitable.c b/upb/reflection/cmake/google/protobuf/descriptor.upb_minitable.c
index 8a362a3..0c7617e 100644
--- a/upb/reflection/cmake/google/protobuf/descriptor.upb_minitable.c
+++ b/upb/reflection/cmake/google/protobuf/descriptor.upb_minitable.c
@@ -1253,7 +1253,7 @@
     64,
     0,
     {
-        0x7,
+        0xf,
         0x0,
     },
 };
diff --git a/upb/reflection/internal/upb_edition_defaults.h b/upb/reflection/internal/upb_edition_defaults.h
index 5b0c4fb..86334d9 100644
--- a/upb/reflection/internal/upb_edition_defaults.h
+++ b/upb/reflection/internal/upb_edition_defaults.h
@@ -13,7 +13,7 @@
 // features. This is used for feature resolution under Editions.
 // NOLINTBEGIN
 // clang-format off
-#define UPB_INTERNAL_UPB_EDITION_DEFAULTS "\n\027\030\204\007\"\000*\020\010\001\020\002\030\002 \003(\0010\0028\002@\001\n\027\030\347\007\"\000*\020\010\002\020\001\030\001 \002(\0010\0018\002@\001\n\027\030\350\007\"\014\010\001\020\001\030\001 \002(\0010\001*\0048\002@\001\n\027\030\351\007\"\020\010\001\020\001\030\001 \002(\0010\0018\001@\002*\000 \346\007(\351\007"
+#define UPB_INTERNAL_UPB_EDITION_DEFAULTS "\n\027\030\204\007\"\000*\020\010\001\020\002\030\002 \003(\0010\0028\002@\001\n\027\030\347\007\"\000*\020\010\002\020\001\030\001 \002(\0010\0018\002@\001\n\027\030\350\007\"\014\010\001\020\001\030\001 \002(\0010\001*\0048\002@\001\n\027\030\351\007\"\020\010\001\020\001\030\001 \002(\0010\0018\001@\002*\000\n\027\030\217N\"\020\010\001\020\001\030\001 \002(\0010\0018\003@\002*\000 \346\007(\351\007"
 // clang-format on
 // NOLINTEND