From 538fd9cf050e4f66a6a9bc0c7059f1c4635b44e6 Mon Sep 17 00:00:00 2001
From: Mike Kruskal <mkruskal@google.com>
Date: Tue, 8 Oct 2024 14:55:13 -0700
Subject: [PATCH] Internal changes

PiperOrigin-RevId: 683774923
---
 php/src/GPBMetadata/Google/Protobuf/Any.php   |   25 -
 php/src/GPBMetadata/Google/Protobuf/Api.php   |   27 -
 .../GPBMetadata/Google/Protobuf/Duration.php  |   25 -
 .../GPBMetadata/Google/Protobuf/FieldMask.php |   25 -
 .../GPBMetadata/Google/Protobuf/GPBEmpty.php  |   25 -
 .../Google/Protobuf/Internal/Descriptor.php   |  424 -------
 .../Google/Protobuf/SourceContext.php         |   25 -
 .../GPBMetadata/Google/Protobuf/Struct.php    |   25 -
 .../GPBMetadata/Google/Protobuf/Timestamp.php |   25 -
 php/src/GPBMetadata/Google/Protobuf/Type.php  |   27 -
 .../GPBMetadata/Google/Protobuf/Wrappers.php  |   25 -
 php/src/Google/Protobuf/Any.php               |  263 ----
 php/src/Google/Protobuf/Api.php               |  361 ------
 php/src/Google/Protobuf/BoolValue.php         |   69 -
 php/src/Google/Protobuf/BytesValue.php        |   69 -
 php/src/Google/Protobuf/DoubleValue.php       |   69 -
 php/src/Google/Protobuf/Duration.php          |  174 ---
 php/src/Google/Protobuf/Enum.php              |  248 ----
 php/src/Google/Protobuf/EnumValue.php         |  136 --
 php/src/Google/Protobuf/Field.php             |  382 ------
 php/src/Google/Protobuf/Field/Cardinality.php |   69 -
 php/src/Google/Protobuf/Field/Kind.php        |  174 ---
 php/src/Google/Protobuf/FieldMask.php         |  218 ----
 php/src/Google/Protobuf/FloatValue.php        |   69 -
 php/src/Google/Protobuf/GPBEmpty.php          |   39 -
 php/src/Google/Protobuf/Int32Value.php        |   69 -
 php/src/Google/Protobuf/Int64Value.php        |   69 -
 .../Protobuf/Internal/DescriptorProto.php     |  337 -----
 .../DescriptorProto/ExtensionRange.php        |  159 ---
 .../DescriptorProto/ReservedRange.php         |  126 --
 .../Protobuf/Internal/EnumDescriptorProto.php |  217 ----
 .../EnumDescriptorProto/EnumReservedRange.php |  128 --
 .../Google/Protobuf/Internal/EnumOptions.php  |  291 -----
 .../Internal/EnumValueDescriptorProto.php     |  147 ---
 .../Protobuf/Internal/EnumValueOptions.php    |  264 ----
 .../Internal/ExtensionRangeOptions.php        |  206 ---
 .../Internal/FieldDescriptorProto.php         |  612 ---------
 .../Internal/FieldDescriptorProto/Label.php   |   60 -
 .../Internal/FieldDescriptorProto/Type.php    |  152 ---
 .../Google/Protobuf/Internal/FieldOptions.php |  772 -----------
 .../Protobuf/Internal/FieldOptions/CType.php  |   63 -
 .../Protobuf/Internal/FieldOptions/JSType.php |   60 -
 .../Protobuf/Internal/FileDescriptorProto.php |  534 --------
 .../Protobuf/Internal/FileDescriptorSet.php   |   64 -
 .../Google/Protobuf/Internal/FileOptions.php  | 1126 -----------------
 .../Internal/FileOptions/OptimizeMode.php     |   62 -
 .../Protobuf/Internal/GeneratedCodeInfo.php   |   76 --
 .../Internal/GeneratedCodeInfo/Annotation.php |  253 ----
 .../Protobuf/Internal/MessageOptions.php      |  515 --------
 .../Internal/MethodDescriptorProto.php        |  283 -----
 .../Protobuf/Internal/MethodOptions.php       |  205 ---
 .../MethodOptions/IdempotencyLevel.php        |   62 -
 .../Internal/OneofDescriptorProto.php         |  110 --
 .../Google/Protobuf/Internal/OneofOptions.php |  112 --
 .../Internal/ServiceDescriptorProto.php       |  137 --
 .../Protobuf/Internal/ServiceOptions.php      |  168 ---
 .../Protobuf/Internal/SourceCodeInfo.php      |  231 ----
 .../Internal/SourceCodeInfo/Location.php      |  446 -------
 .../Protobuf/Internal/UninterpretedOption.php |  301 -----
 .../Internal/UninterpretedOption/NamePart.php |  114 --
 php/src/Google/Protobuf/ListValue.php         |   69 -
 php/src/Google/Protobuf/Method.php            |  272 ----
 php/src/Google/Protobuf/Mixin.php             |  167 ---
 php/src/Google/Protobuf/NullValue.php         |   50 -
 php/src/Google/Protobuf/Option.php            |  137 --
 php/src/Google/Protobuf/SourceContext.php     |   73 --
 php/src/Google/Protobuf/StringValue.php       |   69 -
 php/src/Google/Protobuf/Struct.php            |   74 --
 php/src/Google/Protobuf/Syntax.php            |   62 -
 php/src/Google/Protobuf/Timestamp.php         |  187 ---
 php/src/Google/Protobuf/Type.php              |  282 -----
 php/src/Google/Protobuf/UInt32Value.php       |   69 -
 php/src/Google/Protobuf/UInt64Value.php       |   69 -
 php/src/Google/Protobuf/Value.php             |  245 ----
 74 files changed, 13374 deletions(-)
 delete mode 100644 php/src/GPBMetadata/Google/Protobuf/Any.php
 delete mode 100644 php/src/GPBMetadata/Google/Protobuf/Api.php
 delete mode 100644 php/src/GPBMetadata/Google/Protobuf/Duration.php
 delete mode 100644 php/src/GPBMetadata/Google/Protobuf/FieldMask.php
 delete mode 100644 php/src/GPBMetadata/Google/Protobuf/GPBEmpty.php
 delete mode 100644 php/src/GPBMetadata/Google/Protobuf/Internal/Descriptor.php
 delete mode 100644 php/src/GPBMetadata/Google/Protobuf/SourceContext.php
 delete mode 100644 php/src/GPBMetadata/Google/Protobuf/Struct.php
 delete mode 100644 php/src/GPBMetadata/Google/Protobuf/Timestamp.php
 delete mode 100644 php/src/GPBMetadata/Google/Protobuf/Type.php
 delete mode 100644 php/src/GPBMetadata/Google/Protobuf/Wrappers.php
 delete mode 100644 php/src/Google/Protobuf/Any.php
 delete mode 100644 php/src/Google/Protobuf/Api.php
 delete mode 100644 php/src/Google/Protobuf/BoolValue.php
 delete mode 100644 php/src/Google/Protobuf/BytesValue.php
 delete mode 100644 php/src/Google/Protobuf/DoubleValue.php
 delete mode 100644 php/src/Google/Protobuf/Duration.php
 delete mode 100644 php/src/Google/Protobuf/Enum.php
 delete mode 100644 php/src/Google/Protobuf/EnumValue.php
 delete mode 100644 php/src/Google/Protobuf/Field.php
 delete mode 100644 php/src/Google/Protobuf/Field/Cardinality.php
 delete mode 100644 php/src/Google/Protobuf/Field/Kind.php
 delete mode 100644 php/src/Google/Protobuf/FieldMask.php
 delete mode 100644 php/src/Google/Protobuf/FloatValue.php
 delete mode 100644 php/src/Google/Protobuf/GPBEmpty.php
 delete mode 100644 php/src/Google/Protobuf/Int32Value.php
 delete mode 100644 php/src/Google/Protobuf/Int64Value.php
 delete mode 100644 php/src/Google/Protobuf/Internal/DescriptorProto.php
 delete mode 100644 php/src/Google/Protobuf/Internal/DescriptorProto/ExtensionRange.php
 delete mode 100644 php/src/Google/Protobuf/Internal/DescriptorProto/ReservedRange.php
 delete mode 100644 php/src/Google/Protobuf/Internal/EnumDescriptorProto.php
 delete mode 100644 php/src/Google/Protobuf/Internal/EnumDescriptorProto/EnumReservedRange.php
 delete mode 100644 php/src/Google/Protobuf/Internal/EnumOptions.php
 delete mode 100644 php/src/Google/Protobuf/Internal/EnumValueDescriptorProto.php
 delete mode 100644 php/src/Google/Protobuf/Internal/EnumValueOptions.php
 delete mode 100644 php/src/Google/Protobuf/Internal/ExtensionRangeOptions.php
 delete mode 100644 php/src/Google/Protobuf/Internal/FieldDescriptorProto.php
 delete mode 100644 php/src/Google/Protobuf/Internal/FieldDescriptorProto/Label.php
 delete mode 100644 php/src/Google/Protobuf/Internal/FieldDescriptorProto/Type.php
 delete mode 100644 php/src/Google/Protobuf/Internal/FieldOptions.php
 delete mode 100644 php/src/Google/Protobuf/Internal/FieldOptions/CType.php
 delete mode 100644 php/src/Google/Protobuf/Internal/FieldOptions/JSType.php
 delete mode 100644 php/src/Google/Protobuf/Internal/FileDescriptorProto.php
 delete mode 100644 php/src/Google/Protobuf/Internal/FileDescriptorSet.php
 delete mode 100644 php/src/Google/Protobuf/Internal/FileOptions.php
 delete mode 100644 php/src/Google/Protobuf/Internal/FileOptions/OptimizeMode.php
 delete mode 100644 php/src/Google/Protobuf/Internal/GeneratedCodeInfo.php
 delete mode 100644 php/src/Google/Protobuf/Internal/GeneratedCodeInfo/Annotation.php
 delete mode 100644 php/src/Google/Protobuf/Internal/MessageOptions.php
 delete mode 100644 php/src/Google/Protobuf/Internal/MethodDescriptorProto.php
 delete mode 100644 php/src/Google/Protobuf/Internal/MethodOptions.php
 delete mode 100644 php/src/Google/Protobuf/Internal/MethodOptions/IdempotencyLevel.php
 delete mode 100644 php/src/Google/Protobuf/Internal/OneofDescriptorProto.php
 delete mode 100644 php/src/Google/Protobuf/Internal/OneofOptions.php
 delete mode 100644 php/src/Google/Protobuf/Internal/ServiceDescriptorProto.php
 delete mode 100644 php/src/Google/Protobuf/Internal/ServiceOptions.php
 delete mode 100644 php/src/Google/Protobuf/Internal/SourceCodeInfo.php
 delete mode 100644 php/src/Google/Protobuf/Internal/SourceCodeInfo/Location.php
 delete mode 100644 php/src/Google/Protobuf/Internal/UninterpretedOption.php
 delete mode 100644 php/src/Google/Protobuf/Internal/UninterpretedOption/NamePart.php
 delete mode 100644 php/src/Google/Protobuf/ListValue.php
 delete mode 100644 php/src/Google/Protobuf/Method.php
 delete mode 100644 php/src/Google/Protobuf/Mixin.php
 delete mode 100644 php/src/Google/Protobuf/NullValue.php
 delete mode 100644 php/src/Google/Protobuf/Option.php
 delete mode 100644 php/src/Google/Protobuf/SourceContext.php
 delete mode 100644 php/src/Google/Protobuf/StringValue.php
 delete mode 100644 php/src/Google/Protobuf/Struct.php
 delete mode 100644 php/src/Google/Protobuf/Syntax.php
 delete mode 100644 php/src/Google/Protobuf/Timestamp.php
 delete mode 100644 php/src/Google/Protobuf/Type.php
 delete mode 100644 php/src/Google/Protobuf/UInt32Value.php
 delete mode 100644 php/src/Google/Protobuf/UInt64Value.php
 delete mode 100644 php/src/Google/Protobuf/Value.php

diff --git a/php/src/GPBMetadata/Google/Protobuf/Any.php b/php/src/GPBMetadata/Google/Protobuf/Any.php
deleted file mode 100644
index c9a2952010..0000000000
--- a/php/src/GPBMetadata/Google/Protobuf/Any.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/any.proto
-
-namespace GPBMetadata\Google\Protobuf;
-
-class Any
-{
-    public static $is_initialized = false;
-
-    public static function initOnce() {
-        $pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
-
-        if (static::$is_initialized == true) {
-          return;
-        }
-        $pool->internalAddGeneratedFile(
-            "\x0A\xD4\x01\x0A\x19google/protobuf/any.proto\x12\x0Fgoogle.protobuf\"&\x0A\x03Any\x12\x10\x0A\x08type_url\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x0CBv\x0A\x13com.google.protobufB\x08AnyProtoP\x01Z,google.golang.org/protobuf/types/known/anypb\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3"
-        , true);
-
-        static::$is_initialized = true;
-    }
-}
-
diff --git a/php/src/GPBMetadata/Google/Protobuf/Api.php b/php/src/GPBMetadata/Google/Protobuf/Api.php
deleted file mode 100644
index 4485d3d0b3..0000000000
--- a/php/src/GPBMetadata/Google/Protobuf/Api.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/api.proto
-
-namespace GPBMetadata\Google\Protobuf;
-
-class Api
-{
-    public static $is_initialized = false;
-
-    public static function initOnce() {
-        $pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
-
-        if (static::$is_initialized == true) {
-          return;
-        }
-        \GPBMetadata\Google\Protobuf\SourceContext::initOnce();
-        \GPBMetadata\Google\Protobuf\Type::initOnce();
-        $pool->internalAddGeneratedFile(
-            "\x0A\xC9\x05\x0A\x19google/protobuf/api.proto\x12\x0Fgoogle.protobuf\x1A\x1Agoogle/protobuf/type.proto\"\x81\x02\x0A\x03Api\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12(\x0A\x07methods\x18\x02 \x03(\x0B2\x17.google.protobuf.Method\x12(\x0A\x07options\x18\x03 \x03(\x0B2\x17.google.protobuf.Option\x12\x0F\x0A\x07version\x18\x04 \x01(\x09\x126\x0A\x0Esource_context\x18\x05 \x01(\x0B2\x1E.google.protobuf.SourceContext\x12&\x0A\x06mixins\x18\x06 \x03(\x0B2\x16.google.protobuf.Mixin\x12'\x0A\x06syntax\x18\x07 \x01(\x0E2\x17.google.protobuf.Syntax\"\xD5\x01\x0A\x06Method\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12\x18\x0A\x10request_type_url\x18\x02 \x01(\x09\x12\x19\x0A\x11request_streaming\x18\x03 \x01(\x08\x12\x19\x0A\x11response_type_url\x18\x04 \x01(\x09\x12\x1A\x0A\x12response_streaming\x18\x05 \x01(\x08\x12(\x0A\x07options\x18\x06 \x03(\x0B2\x17.google.protobuf.Option\x12'\x0A\x06syntax\x18\x07 \x01(\x0E2\x17.google.protobuf.Syntax\"#\x0A\x05Mixin\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12\x0C\x0A\x04root\x18\x02 \x01(\x09Bv\x0A\x13com.google.protobufB\x08ApiProtoP\x01Z,google.golang.org/protobuf/types/known/apipb\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3"
-        , true);
-
-        static::$is_initialized = true;
-    }
-}
-
diff --git a/php/src/GPBMetadata/Google/Protobuf/Duration.php b/php/src/GPBMetadata/Google/Protobuf/Duration.php
deleted file mode 100644
index 29e02a8451..0000000000
--- a/php/src/GPBMetadata/Google/Protobuf/Duration.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/duration.proto
-
-namespace GPBMetadata\Google\Protobuf;
-
-class Duration
-{
-    public static $is_initialized = false;
-
-    public static function initOnce() {
-        $pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
-
-        if (static::$is_initialized == true) {
-          return;
-        }
-        $pool->internalAddGeneratedFile(
-            "\x0A\xEB\x01\x0A\x1Egoogle/protobuf/duration.proto\x12\x0Fgoogle.protobuf\"*\x0A\x08Duration\x12\x0F\x0A\x07seconds\x18\x01 \x01(\x03\x12\x0D\x0A\x05nanos\x18\x02 \x01(\x05B\x83\x01\x0A\x13com.google.protobufB\x0DDurationProtoP\x01Z1google.golang.org/protobuf/types/known/durationpb\xF8\x01\x01\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3"
-        , true);
-
-        static::$is_initialized = true;
-    }
-}
-
diff --git a/php/src/GPBMetadata/Google/Protobuf/FieldMask.php b/php/src/GPBMetadata/Google/Protobuf/FieldMask.php
deleted file mode 100644
index 394e41043a..0000000000
--- a/php/src/GPBMetadata/Google/Protobuf/FieldMask.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/field_mask.proto
-
-namespace GPBMetadata\Google\Protobuf;
-
-class FieldMask
-{
-    public static $is_initialized = false;
-
-    public static function initOnce() {
-        $pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
-
-        if (static::$is_initialized == true) {
-          return;
-        }
-        $pool->internalAddGeneratedFile(
-            "\x0A\xDF\x01\x0A google/protobuf/field_mask.proto\x12\x0Fgoogle.protobuf\"\x1A\x0A\x09FieldMask\x12\x0D\x0A\x05paths\x18\x01 \x03(\x09B\x85\x01\x0A\x13com.google.protobufB\x0EFieldMaskProtoP\x01Z2google.golang.org/protobuf/types/known/fieldmaskpb\xF8\x01\x01\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3"
-        , true);
-
-        static::$is_initialized = true;
-    }
-}
-
diff --git a/php/src/GPBMetadata/Google/Protobuf/GPBEmpty.php b/php/src/GPBMetadata/Google/Protobuf/GPBEmpty.php
deleted file mode 100644
index 2842d0e992..0000000000
--- a/php/src/GPBMetadata/Google/Protobuf/GPBEmpty.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/empty.proto
-
-namespace GPBMetadata\Google\Protobuf;
-
-class GPBEmpty
-{
-    public static $is_initialized = false;
-
-    public static function initOnce() {
-        $pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
-
-        if (static::$is_initialized == true) {
-          return;
-        }
-        $pool->internalAddGeneratedFile(
-            "\x0A\xBE\x01\x0A\x1Bgoogle/protobuf/empty.proto\x12\x0Fgoogle.protobuf\"\x07\x0A\x05EmptyB}\x0A\x13com.google.protobufB\x0AEmptyProtoP\x01Z.google.golang.org/protobuf/types/known/emptypb\xF8\x01\x01\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3"
-        , true);
-
-        static::$is_initialized = true;
-    }
-}
-
diff --git a/php/src/GPBMetadata/Google/Protobuf/Internal/Descriptor.php b/php/src/GPBMetadata/Google/Protobuf/Internal/Descriptor.php
deleted file mode 100644
index c2af953db2..0000000000
--- a/php/src/GPBMetadata/Google/Protobuf/Internal/Descriptor.php
+++ /dev/null
@@ -1,424 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace GPBMetadata\Google\Protobuf\Internal;
-
-class Descriptor
-{
-    public static $is_initialized = false;
-
-    public static function initOnce() {
-        $pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
-
-        if (static::$is_initialized == true) {
-          return;
-        }
-        $pool->addMessage('google.protobuf.internal.FileDescriptorSet', \Google\Protobuf\Internal\FileDescriptorSet::class)
-            ->repeated('file', \Google\Protobuf\Internal\GPBType::MESSAGE, 1, 'google.protobuf.internal.FileDescriptorProto')
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.FileDescriptorProto', \Google\Protobuf\Internal\FileDescriptorProto::class)
-            ->optional('name', \Google\Protobuf\Internal\GPBType::STRING, 1)
-            ->optional('package', \Google\Protobuf\Internal\GPBType::STRING, 2)
-            ->repeated('dependency', \Google\Protobuf\Internal\GPBType::STRING, 3)
-            ->repeated('public_dependency', \Google\Protobuf\Internal\GPBType::INT32, 10)
-            ->repeated('weak_dependency', \Google\Protobuf\Internal\GPBType::INT32, 11)
-            ->repeated('message_type', \Google\Protobuf\Internal\GPBType::MESSAGE, 4, 'google.protobuf.internal.DescriptorProto')
-            ->repeated('enum_type', \Google\Protobuf\Internal\GPBType::MESSAGE, 5, 'google.protobuf.internal.EnumDescriptorProto')
-            ->repeated('service', \Google\Protobuf\Internal\GPBType::MESSAGE, 6, 'google.protobuf.internal.ServiceDescriptorProto')
-            ->repeated('extension', \Google\Protobuf\Internal\GPBType::MESSAGE, 7, 'google.protobuf.internal.FieldDescriptorProto')
-            ->optional('options', \Google\Protobuf\Internal\GPBType::MESSAGE, 8, 'google.protobuf.internal.FileOptions')
-            ->optional('source_code_info', \Google\Protobuf\Internal\GPBType::MESSAGE, 9, 'google.protobuf.internal.SourceCodeInfo')
-            ->optional('syntax', \Google\Protobuf\Internal\GPBType::STRING, 12)
-            ->optional('edition', \Google\Protobuf\Internal\GPBType::ENUM, 14, 'google.protobuf.internal.Edition')
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.DescriptorProto', \Google\Protobuf\Internal\DescriptorProto::class)
-            ->optional('name', \Google\Protobuf\Internal\GPBType::STRING, 1)
-            ->repeated('field', \Google\Protobuf\Internal\GPBType::MESSAGE, 2, 'google.protobuf.internal.FieldDescriptorProto')
-            ->repeated('extension', \Google\Protobuf\Internal\GPBType::MESSAGE, 6, 'google.protobuf.internal.FieldDescriptorProto')
-            ->repeated('nested_type', \Google\Protobuf\Internal\GPBType::MESSAGE, 3, 'google.protobuf.internal.DescriptorProto')
-            ->repeated('enum_type', \Google\Protobuf\Internal\GPBType::MESSAGE, 4, 'google.protobuf.internal.EnumDescriptorProto')
-            ->repeated('extension_range', \Google\Protobuf\Internal\GPBType::MESSAGE, 5, 'google.protobuf.internal.DescriptorProto.ExtensionRange')
-            ->repeated('oneof_decl', \Google\Protobuf\Internal\GPBType::MESSAGE, 8, 'google.protobuf.internal.OneofDescriptorProto')
-            ->optional('options', \Google\Protobuf\Internal\GPBType::MESSAGE, 7, 'google.protobuf.internal.MessageOptions')
-            ->repeated('reserved_range', \Google\Protobuf\Internal\GPBType::MESSAGE, 9, 'google.protobuf.internal.DescriptorProto.ReservedRange')
-            ->repeated('reserved_name', \Google\Protobuf\Internal\GPBType::STRING, 10)
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.DescriptorProto.ExtensionRange', \Google\Protobuf\Internal\DescriptorProto\ExtensionRange::class)
-            ->optional('start', \Google\Protobuf\Internal\GPBType::INT32, 1)
-            ->optional('end', \Google\Protobuf\Internal\GPBType::INT32, 2)
-            ->optional('options', \Google\Protobuf\Internal\GPBType::MESSAGE, 3, 'google.protobuf.internal.ExtensionRangeOptions')
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.DescriptorProto.ReservedRange', \Google\Protobuf\Internal\DescriptorProto\ReservedRange::class)
-            ->optional('start', \Google\Protobuf\Internal\GPBType::INT32, 1)
-            ->optional('end', \Google\Protobuf\Internal\GPBType::INT32, 2)
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.ExtensionRangeOptions', \Google\Protobuf\Internal\ExtensionRangeOptions::class)
-            ->repeated('uninterpreted_option', \Google\Protobuf\Internal\GPBType::MESSAGE, 999, 'google.protobuf.internal.UninterpretedOption')
-            ->repeated('declaration', \Google\Protobuf\Internal\GPBType::MESSAGE, 2, 'google.protobuf.internal.ExtensionRangeOptions.Declaration')
-            ->optional('features', \Google\Protobuf\Internal\GPBType::MESSAGE, 50, 'google.protobuf.internal.FeatureSet')
-            ->optional('verification', \Google\Protobuf\Internal\GPBType::ENUM, 3, 'google.protobuf.internal.ExtensionRangeOptions.VerificationState')
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.ExtensionRangeOptions.Declaration', \Google\Protobuf\Internal\ExtensionRangeOptions\Declaration::class)
-            ->optional('number', \Google\Protobuf\Internal\GPBType::INT32, 1)
-            ->optional('full_name', \Google\Protobuf\Internal\GPBType::STRING, 2)
-            ->optional('type', \Google\Protobuf\Internal\GPBType::STRING, 3)
-            ->optional('reserved', \Google\Protobuf\Internal\GPBType::BOOL, 5)
-            ->optional('repeated', \Google\Protobuf\Internal\GPBType::BOOL, 6)
-            ->finalizeToPool();
-
-        $pool->addEnum('google.protobuf.internal.ExtensionRangeOptions.VerificationState', \Google\Protobuf\Internal\VerificationState::class)
-            ->value("DECLARATION", 0)
-            ->value("UNVERIFIED", 1)
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.FieldDescriptorProto', \Google\Protobuf\Internal\FieldDescriptorProto::class)
-            ->optional('name', \Google\Protobuf\Internal\GPBType::STRING, 1)
-            ->optional('number', \Google\Protobuf\Internal\GPBType::INT32, 3)
-            ->optional('label', \Google\Protobuf\Internal\GPBType::ENUM, 4, 'google.protobuf.internal.FieldDescriptorProto.Label')
-            ->optional('type', \Google\Protobuf\Internal\GPBType::ENUM, 5, 'google.protobuf.internal.FieldDescriptorProto.Type')
-            ->optional('type_name', \Google\Protobuf\Internal\GPBType::STRING, 6)
-            ->optional('extendee', \Google\Protobuf\Internal\GPBType::STRING, 2)
-            ->optional('default_value', \Google\Protobuf\Internal\GPBType::STRING, 7)
-            ->optional('oneof_index', \Google\Protobuf\Internal\GPBType::INT32, 9)
-            ->optional('json_name', \Google\Protobuf\Internal\GPBType::STRING, 10)
-            ->optional('options', \Google\Protobuf\Internal\GPBType::MESSAGE, 8, 'google.protobuf.internal.FieldOptions')
-            ->optional('proto3_optional', \Google\Protobuf\Internal\GPBType::BOOL, 17)
-            ->finalizeToPool();
-
-        $pool->addEnum('google.protobuf.internal.FieldDescriptorProto.Type', \Google\Protobuf\Internal\Type::class)
-            ->value("TYPE_DOUBLE", 1)
-            ->value("TYPE_FLOAT", 2)
-            ->value("TYPE_INT64", 3)
-            ->value("TYPE_UINT64", 4)
-            ->value("TYPE_INT32", 5)
-            ->value("TYPE_FIXED64", 6)
-            ->value("TYPE_FIXED32", 7)
-            ->value("TYPE_BOOL", 8)
-            ->value("TYPE_STRING", 9)
-            ->value("TYPE_GROUP", 10)
-            ->value("TYPE_MESSAGE", 11)
-            ->value("TYPE_BYTES", 12)
-            ->value("TYPE_UINT32", 13)
-            ->value("TYPE_ENUM", 14)
-            ->value("TYPE_SFIXED32", 15)
-            ->value("TYPE_SFIXED64", 16)
-            ->value("TYPE_SINT32", 17)
-            ->value("TYPE_SINT64", 18)
-            ->finalizeToPool();
-
-        $pool->addEnum('google.protobuf.internal.FieldDescriptorProto.Label', \Google\Protobuf\Internal\Label::class)
-            ->value("LABEL_OPTIONAL", 1)
-            ->value("LABEL_REPEATED", 3)
-            ->value("LABEL_REQUIRED", 2)
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.OneofDescriptorProto', \Google\Protobuf\Internal\OneofDescriptorProto::class)
-            ->optional('name', \Google\Protobuf\Internal\GPBType::STRING, 1)
-            ->optional('options', \Google\Protobuf\Internal\GPBType::MESSAGE, 2, 'google.protobuf.internal.OneofOptions')
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.EnumDescriptorProto', \Google\Protobuf\Internal\EnumDescriptorProto::class)
-            ->optional('name', \Google\Protobuf\Internal\GPBType::STRING, 1)
-            ->repeated('value', \Google\Protobuf\Internal\GPBType::MESSAGE, 2, 'google.protobuf.internal.EnumValueDescriptorProto')
-            ->optional('options', \Google\Protobuf\Internal\GPBType::MESSAGE, 3, 'google.protobuf.internal.EnumOptions')
-            ->repeated('reserved_range', \Google\Protobuf\Internal\GPBType::MESSAGE, 4, 'google.protobuf.internal.EnumDescriptorProto.EnumReservedRange')
-            ->repeated('reserved_name', \Google\Protobuf\Internal\GPBType::STRING, 5)
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.EnumDescriptorProto.EnumReservedRange', \Google\Protobuf\Internal\EnumDescriptorProto\EnumReservedRange::class)
-            ->optional('start', \Google\Protobuf\Internal\GPBType::INT32, 1)
-            ->optional('end', \Google\Protobuf\Internal\GPBType::INT32, 2)
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.EnumValueDescriptorProto', \Google\Protobuf\Internal\EnumValueDescriptorProto::class)
-            ->optional('name', \Google\Protobuf\Internal\GPBType::STRING, 1)
-            ->optional('number', \Google\Protobuf\Internal\GPBType::INT32, 2)
-            ->optional('options', \Google\Protobuf\Internal\GPBType::MESSAGE, 3, 'google.protobuf.internal.EnumValueOptions')
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.ServiceDescriptorProto', \Google\Protobuf\Internal\ServiceDescriptorProto::class)
-            ->optional('name', \Google\Protobuf\Internal\GPBType::STRING, 1)
-            ->repeated('method', \Google\Protobuf\Internal\GPBType::MESSAGE, 2, 'google.protobuf.internal.MethodDescriptorProto')
-            ->optional('options', \Google\Protobuf\Internal\GPBType::MESSAGE, 3, 'google.protobuf.internal.ServiceOptions')
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.MethodDescriptorProto', \Google\Protobuf\Internal\MethodDescriptorProto::class)
-            ->optional('name', \Google\Protobuf\Internal\GPBType::STRING, 1)
-            ->optional('input_type', \Google\Protobuf\Internal\GPBType::STRING, 2)
-            ->optional('output_type', \Google\Protobuf\Internal\GPBType::STRING, 3)
-            ->optional('options', \Google\Protobuf\Internal\GPBType::MESSAGE, 4, 'google.protobuf.internal.MethodOptions')
-            ->optional('client_streaming', \Google\Protobuf\Internal\GPBType::BOOL, 5)
-            ->optional('server_streaming', \Google\Protobuf\Internal\GPBType::BOOL, 6)
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.FileOptions', \Google\Protobuf\Internal\FileOptions::class)
-            ->optional('java_package', \Google\Protobuf\Internal\GPBType::STRING, 1)
-            ->optional('java_outer_classname', \Google\Protobuf\Internal\GPBType::STRING, 8)
-            ->optional('java_multiple_files', \Google\Protobuf\Internal\GPBType::BOOL, 10)
-            ->optional('java_generate_equals_and_hash', \Google\Protobuf\Internal\GPBType::BOOL, 20)
-            ->optional('java_string_check_utf8', \Google\Protobuf\Internal\GPBType::BOOL, 27)
-            ->optional('optimize_for', \Google\Protobuf\Internal\GPBType::ENUM, 9, 'google.protobuf.internal.FileOptions.OptimizeMode')
-            ->optional('go_package', \Google\Protobuf\Internal\GPBType::STRING, 11)
-            ->optional('cc_generic_services', \Google\Protobuf\Internal\GPBType::BOOL, 16)
-            ->optional('java_generic_services', \Google\Protobuf\Internal\GPBType::BOOL, 17)
-            ->optional('py_generic_services', \Google\Protobuf\Internal\GPBType::BOOL, 18)
-            ->optional('deprecated', \Google\Protobuf\Internal\GPBType::BOOL, 23)
-            ->optional('cc_enable_arenas', \Google\Protobuf\Internal\GPBType::BOOL, 31)
-            ->optional('objc_class_prefix', \Google\Protobuf\Internal\GPBType::STRING, 36)
-            ->optional('csharp_namespace', \Google\Protobuf\Internal\GPBType::STRING, 37)
-            ->optional('swift_prefix', \Google\Protobuf\Internal\GPBType::STRING, 39)
-            ->optional('php_class_prefix', \Google\Protobuf\Internal\GPBType::STRING, 40)
-            ->optional('php_namespace', \Google\Protobuf\Internal\GPBType::STRING, 41)
-            ->optional('php_metadata_namespace', \Google\Protobuf\Internal\GPBType::STRING, 44)
-            ->optional('ruby_package', \Google\Protobuf\Internal\GPBType::STRING, 45)
-            ->optional('features', \Google\Protobuf\Internal\GPBType::MESSAGE, 50, 'google.protobuf.internal.FeatureSet')
-            ->repeated('uninterpreted_option', \Google\Protobuf\Internal\GPBType::MESSAGE, 999, 'google.protobuf.internal.UninterpretedOption')
-            ->finalizeToPool();
-
-        $pool->addEnum('google.protobuf.internal.FileOptions.OptimizeMode', \Google\Protobuf\Internal\OptimizeMode::class)
-            ->value("SPEED", 1)
-            ->value("CODE_SIZE", 2)
-            ->value("LITE_RUNTIME", 3)
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.MessageOptions', \Google\Protobuf\Internal\MessageOptions::class)
-            ->optional('message_set_wire_format', \Google\Protobuf\Internal\GPBType::BOOL, 1)
-            ->optional('no_standard_descriptor_accessor', \Google\Protobuf\Internal\GPBType::BOOL, 2)
-            ->optional('deprecated', \Google\Protobuf\Internal\GPBType::BOOL, 3)
-            ->optional('map_entry', \Google\Protobuf\Internal\GPBType::BOOL, 7)
-            ->optional('deprecated_legacy_json_field_conflicts', \Google\Protobuf\Internal\GPBType::BOOL, 11)
-            ->optional('features', \Google\Protobuf\Internal\GPBType::MESSAGE, 12, 'google.protobuf.internal.FeatureSet')
-            ->repeated('uninterpreted_option', \Google\Protobuf\Internal\GPBType::MESSAGE, 999, 'google.protobuf.internal.UninterpretedOption')
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.FieldOptions', \Google\Protobuf\Internal\FieldOptions::class)
-            ->optional('ctype', \Google\Protobuf\Internal\GPBType::ENUM, 1, 'google.protobuf.internal.FieldOptions.CType')
-            ->optional('packed', \Google\Protobuf\Internal\GPBType::BOOL, 2)
-            ->optional('jstype', \Google\Protobuf\Internal\GPBType::ENUM, 6, 'google.protobuf.internal.FieldOptions.JSType')
-            ->optional('lazy', \Google\Protobuf\Internal\GPBType::BOOL, 5)
-            ->optional('unverified_lazy', \Google\Protobuf\Internal\GPBType::BOOL, 15)
-            ->optional('deprecated', \Google\Protobuf\Internal\GPBType::BOOL, 3)
-            ->optional('weak', \Google\Protobuf\Internal\GPBType::BOOL, 10)
-            ->optional('debug_redact', \Google\Protobuf\Internal\GPBType::BOOL, 16)
-            ->optional('retention', \Google\Protobuf\Internal\GPBType::ENUM, 17, 'google.protobuf.internal.FieldOptions.OptionRetention')
-            ->repeated('targets', \Google\Protobuf\Internal\GPBType::ENUM, 19, 'google.protobuf.internal.FieldOptions.OptionTargetType')
-            ->repeated('edition_defaults', \Google\Protobuf\Internal\GPBType::MESSAGE, 20, 'google.protobuf.internal.FieldOptions.EditionDefault')
-            ->optional('features', \Google\Protobuf\Internal\GPBType::MESSAGE, 21, 'google.protobuf.internal.FeatureSet')
-            ->optional('feature_support', \Google\Protobuf\Internal\GPBType::MESSAGE, 22, 'google.protobuf.internal.FieldOptions.FeatureSupport')
-            ->repeated('uninterpreted_option', \Google\Protobuf\Internal\GPBType::MESSAGE, 999, 'google.protobuf.internal.UninterpretedOption')
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.FieldOptions.EditionDefault', \Google\Protobuf\Internal\FieldOptions\EditionDefault::class)
-            ->optional('edition', \Google\Protobuf\Internal\GPBType::ENUM, 3, 'google.protobuf.internal.Edition')
-            ->optional('value', \Google\Protobuf\Internal\GPBType::STRING, 2)
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.FieldOptions.FeatureSupport', \Google\Protobuf\Internal\FieldOptions\FeatureSupport::class)
-            ->optional('edition_introduced', \Google\Protobuf\Internal\GPBType::ENUM, 1, 'google.protobuf.internal.Edition')
-            ->optional('edition_deprecated', \Google\Protobuf\Internal\GPBType::ENUM, 2, 'google.protobuf.internal.Edition')
-            ->optional('deprecation_warning', \Google\Protobuf\Internal\GPBType::STRING, 3)
-            ->optional('edition_removed', \Google\Protobuf\Internal\GPBType::ENUM, 4, 'google.protobuf.internal.Edition')
-            ->finalizeToPool();
-
-        $pool->addEnum('google.protobuf.internal.FieldOptions.CType', \Google\Protobuf\Internal\CType::class)
-            ->value("STRING", 0)
-            ->value("CORD", 1)
-            ->value("STRING_PIECE", 2)
-            ->finalizeToPool();
-
-        $pool->addEnum('google.protobuf.internal.FieldOptions.JSType', \Google\Protobuf\Internal\JSType::class)
-            ->value("JS_NORMAL", 0)
-            ->value("JS_STRING", 1)
-            ->value("JS_NUMBER", 2)
-            ->finalizeToPool();
-
-        $pool->addEnum('google.protobuf.internal.FieldOptions.OptionRetention', \Google\Protobuf\Internal\OptionRetention::class)
-            ->value("RETENTION_UNKNOWN", 0)
-            ->value("RETENTION_RUNTIME", 1)
-            ->value("RETENTION_SOURCE", 2)
-            ->finalizeToPool();
-
-        $pool->addEnum('google.protobuf.internal.FieldOptions.OptionTargetType', \Google\Protobuf\Internal\OptionTargetType::class)
-            ->value("TARGET_TYPE_UNKNOWN", 0)
-            ->value("TARGET_TYPE_FILE", 1)
-            ->value("TARGET_TYPE_EXTENSION_RANGE", 2)
-            ->value("TARGET_TYPE_MESSAGE", 3)
-            ->value("TARGET_TYPE_FIELD", 4)
-            ->value("TARGET_TYPE_ONEOF", 5)
-            ->value("TARGET_TYPE_ENUM", 6)
-            ->value("TARGET_TYPE_ENUM_ENTRY", 7)
-            ->value("TARGET_TYPE_SERVICE", 8)
-            ->value("TARGET_TYPE_METHOD", 9)
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.OneofOptions', \Google\Protobuf\Internal\OneofOptions::class)
-            ->optional('features', \Google\Protobuf\Internal\GPBType::MESSAGE, 1, 'google.protobuf.internal.FeatureSet')
-            ->repeated('uninterpreted_option', \Google\Protobuf\Internal\GPBType::MESSAGE, 999, 'google.protobuf.internal.UninterpretedOption')
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.EnumOptions', \Google\Protobuf\Internal\EnumOptions::class)
-            ->optional('allow_alias', \Google\Protobuf\Internal\GPBType::BOOL, 2)
-            ->optional('deprecated', \Google\Protobuf\Internal\GPBType::BOOL, 3)
-            ->optional('deprecated_legacy_json_field_conflicts', \Google\Protobuf\Internal\GPBType::BOOL, 6)
-            ->optional('features', \Google\Protobuf\Internal\GPBType::MESSAGE, 7, 'google.protobuf.internal.FeatureSet')
-            ->repeated('uninterpreted_option', \Google\Protobuf\Internal\GPBType::MESSAGE, 999, 'google.protobuf.internal.UninterpretedOption')
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.EnumValueOptions', \Google\Protobuf\Internal\EnumValueOptions::class)
-            ->optional('deprecated', \Google\Protobuf\Internal\GPBType::BOOL, 1)
-            ->optional('features', \Google\Protobuf\Internal\GPBType::MESSAGE, 2, 'google.protobuf.internal.FeatureSet')
-            ->optional('debug_redact', \Google\Protobuf\Internal\GPBType::BOOL, 3)
-            ->optional('feature_support', \Google\Protobuf\Internal\GPBType::MESSAGE, 4, 'google.protobuf.internal.FieldOptions.FeatureSupport')
-            ->repeated('uninterpreted_option', \Google\Protobuf\Internal\GPBType::MESSAGE, 999, 'google.protobuf.internal.UninterpretedOption')
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.ServiceOptions', \Google\Protobuf\Internal\ServiceOptions::class)
-            ->optional('features', \Google\Protobuf\Internal\GPBType::MESSAGE, 34, 'google.protobuf.internal.FeatureSet')
-            ->optional('deprecated', \Google\Protobuf\Internal\GPBType::BOOL, 33)
-            ->repeated('uninterpreted_option', \Google\Protobuf\Internal\GPBType::MESSAGE, 999, 'google.protobuf.internal.UninterpretedOption')
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.MethodOptions', \Google\Protobuf\Internal\MethodOptions::class)
-            ->optional('deprecated', \Google\Protobuf\Internal\GPBType::BOOL, 33)
-            ->optional('idempotency_level', \Google\Protobuf\Internal\GPBType::ENUM, 34, 'google.protobuf.internal.MethodOptions.IdempotencyLevel')
-            ->optional('features', \Google\Protobuf\Internal\GPBType::MESSAGE, 35, 'google.protobuf.internal.FeatureSet')
-            ->repeated('uninterpreted_option', \Google\Protobuf\Internal\GPBType::MESSAGE, 999, 'google.protobuf.internal.UninterpretedOption')
-            ->finalizeToPool();
-
-        $pool->addEnum('google.protobuf.internal.MethodOptions.IdempotencyLevel', \Google\Protobuf\Internal\IdempotencyLevel::class)
-            ->value("IDEMPOTENCY_UNKNOWN", 0)
-            ->value("NO_SIDE_EFFECTS", 1)
-            ->value("IDEMPOTENT", 2)
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.UninterpretedOption', \Google\Protobuf\Internal\UninterpretedOption::class)
-            ->repeated('name', \Google\Protobuf\Internal\GPBType::MESSAGE, 2, 'google.protobuf.internal.UninterpretedOption.NamePart')
-            ->optional('identifier_value', \Google\Protobuf\Internal\GPBType::STRING, 3)
-            ->optional('positive_int_value', \Google\Protobuf\Internal\GPBType::UINT64, 4)
-            ->optional('negative_int_value', \Google\Protobuf\Internal\GPBType::INT64, 5)
-            ->optional('double_value', \Google\Protobuf\Internal\GPBType::DOUBLE, 6)
-            ->optional('string_value', \Google\Protobuf\Internal\GPBType::BYTES, 7)
-            ->optional('aggregate_value', \Google\Protobuf\Internal\GPBType::STRING, 8)
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.UninterpretedOption.NamePart', \Google\Protobuf\Internal\UninterpretedOption\NamePart::class)
-            ->required('name_part', \Google\Protobuf\Internal\GPBType::STRING, 1)
-            ->required('is_extension', \Google\Protobuf\Internal\GPBType::BOOL, 2)
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.FeatureSet', \Google\Protobuf\Internal\FeatureSet::class)
-            ->optional('field_presence', \Google\Protobuf\Internal\GPBType::ENUM, 1, 'google.protobuf.internal.FeatureSet.FieldPresence')
-            ->optional('enum_type', \Google\Protobuf\Internal\GPBType::ENUM, 2, 'google.protobuf.internal.FeatureSet.EnumType')
-            ->optional('repeated_field_encoding', \Google\Protobuf\Internal\GPBType::ENUM, 3, 'google.protobuf.internal.FeatureSet.RepeatedFieldEncoding')
-            ->optional('utf8_validation', \Google\Protobuf\Internal\GPBType::ENUM, 4, 'google.protobuf.internal.FeatureSet.Utf8Validation')
-            ->optional('message_encoding', \Google\Protobuf\Internal\GPBType::ENUM, 5, 'google.protobuf.internal.FeatureSet.MessageEncoding')
-            ->optional('json_format', \Google\Protobuf\Internal\GPBType::ENUM, 6, 'google.protobuf.internal.FeatureSet.JsonFormat')
-            ->finalizeToPool();
-
-        $pool->addEnum('google.protobuf.internal.FeatureSet.FieldPresence', \Google\Protobuf\Internal\FieldPresence::class)
-            ->value("FIELD_PRESENCE_UNKNOWN", 0)
-            ->value("EXPLICIT", 1)
-            ->value("IMPLICIT", 2)
-            ->value("LEGACY_REQUIRED", 3)
-            ->finalizeToPool();
-
-        $pool->addEnum('google.protobuf.internal.FeatureSet.EnumType', \Google\Protobuf\Internal\EnumType::class)
-            ->value("ENUM_TYPE_UNKNOWN", 0)
-            ->value("OPEN", 1)
-            ->value("CLOSED", 2)
-            ->finalizeToPool();
-
-        $pool->addEnum('google.protobuf.internal.FeatureSet.RepeatedFieldEncoding', \Google\Protobuf\Internal\RepeatedFieldEncoding::class)
-            ->value("REPEATED_FIELD_ENCODING_UNKNOWN", 0)
-            ->value("PACKED", 1)
-            ->value("EXPANDED", 2)
-            ->finalizeToPool();
-
-        $pool->addEnum('google.protobuf.internal.FeatureSet.Utf8Validation', \Google\Protobuf\Internal\Utf8Validation::class)
-            ->value("UTF8_VALIDATION_UNKNOWN", 0)
-            ->value("VERIFY", 2)
-            ->value("NONE", 3)
-            ->finalizeToPool();
-
-        $pool->addEnum('google.protobuf.internal.FeatureSet.MessageEncoding', \Google\Protobuf\Internal\MessageEncoding::class)
-            ->value("MESSAGE_ENCODING_UNKNOWN", 0)
-            ->value("LENGTH_PREFIXED", 1)
-            ->value("DELIMITED", 2)
-            ->finalizeToPool();
-
-        $pool->addEnum('google.protobuf.internal.FeatureSet.JsonFormat', \Google\Protobuf\Internal\JsonFormat::class)
-            ->value("JSON_FORMAT_UNKNOWN", 0)
-            ->value("ALLOW", 1)
-            ->value("LEGACY_BEST_EFFORT", 2)
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.FeatureSetDefaults', \Google\Protobuf\Internal\FeatureSetDefaults::class)
-            ->repeated('defaults', \Google\Protobuf\Internal\GPBType::MESSAGE, 1, 'google.protobuf.internal.FeatureSetDefaults.FeatureSetEditionDefault')
-            ->optional('minimum_edition', \Google\Protobuf\Internal\GPBType::ENUM, 4, 'google.protobuf.internal.Edition')
-            ->optional('maximum_edition', \Google\Protobuf\Internal\GPBType::ENUM, 5, 'google.protobuf.internal.Edition')
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.FeatureSetDefaults.FeatureSetEditionDefault', \Google\Protobuf\Internal\FeatureSetDefaults\FeatureSetEditionDefault::class)
-            ->optional('edition', \Google\Protobuf\Internal\GPBType::ENUM, 3, 'google.protobuf.internal.Edition')
-            ->optional('overridable_features', \Google\Protobuf\Internal\GPBType::MESSAGE, 4, 'google.protobuf.internal.FeatureSet')
-            ->optional('fixed_features', \Google\Protobuf\Internal\GPBType::MESSAGE, 5, 'google.protobuf.internal.FeatureSet')
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.SourceCodeInfo', \Google\Protobuf\Internal\SourceCodeInfo::class)
-            ->repeated('location', \Google\Protobuf\Internal\GPBType::MESSAGE, 1, 'google.protobuf.internal.SourceCodeInfo.Location')
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.SourceCodeInfo.Location', \Google\Protobuf\Internal\SourceCodeInfo\Location::class)
-            ->repeated('path', \Google\Protobuf\Internal\GPBType::INT32, 1)
-            ->repeated('span', \Google\Protobuf\Internal\GPBType::INT32, 2)
-            ->optional('leading_comments', \Google\Protobuf\Internal\GPBType::STRING, 3)
-            ->optional('trailing_comments', \Google\Protobuf\Internal\GPBType::STRING, 4)
-            ->repeated('leading_detached_comments', \Google\Protobuf\Internal\GPBType::STRING, 6)
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.GeneratedCodeInfo', \Google\Protobuf\Internal\GeneratedCodeInfo::class)
-            ->repeated('annotation', \Google\Protobuf\Internal\GPBType::MESSAGE, 1, 'google.protobuf.internal.GeneratedCodeInfo.Annotation')
-            ->finalizeToPool();
-
-        $pool->addMessage('google.protobuf.internal.GeneratedCodeInfo.Annotation', \Google\Protobuf\Internal\GeneratedCodeInfo\Annotation::class)
-            ->repeated('path', \Google\Protobuf\Internal\GPBType::INT32, 1)
-            ->optional('source_file', \Google\Protobuf\Internal\GPBType::STRING, 2)
-            ->optional('begin', \Google\Protobuf\Internal\GPBType::INT32, 3)
-            ->optional('end', \Google\Protobuf\Internal\GPBType::INT32, 4)
-            ->optional('semantic', \Google\Protobuf\Internal\GPBType::ENUM, 5, 'google.protobuf.internal.GeneratedCodeInfo.Annotation.Semantic')
-            ->finalizeToPool();
-
-        $pool->addEnum('google.protobuf.internal.GeneratedCodeInfo.Annotation.Semantic', \Google\Protobuf\Internal\Semantic::class)
-            ->value("NONE", 0)
-            ->value("SET", 1)
-            ->value("ALIAS", 2)
-            ->finalizeToPool();
-
-        $pool->addEnum('google.protobuf.internal.Edition', \Google\Protobuf\Internal\Edition::class)
-            ->value("EDITION_UNKNOWN", 0)
-            ->value("EDITION_LEGACY", 900)
-            ->value("EDITION_PROTO2", 998)
-            ->value("EDITION_PROTO3", 999)
-            ->value("EDITION_2023", 1000)
-            ->value("EDITION_2024", 1001)
-            ->value("EDITION_1_TEST_ONLY", 1)
-            ->value("EDITION_2_TEST_ONLY", 2)
-            ->value("EDITION_99997_TEST_ONLY", 99997)
-            ->value("EDITION_99998_TEST_ONLY", 99998)
-            ->value("EDITION_99999_TEST_ONLY", 99999)
-            ->value("EDITION_MAX", 2147483647)
-            ->finalizeToPool();
-
-        $pool->finish();
-        static::$is_initialized = true;
-    }
-}
-
diff --git a/php/src/GPBMetadata/Google/Protobuf/SourceContext.php b/php/src/GPBMetadata/Google/Protobuf/SourceContext.php
deleted file mode 100644
index 8d1566c05a..0000000000
--- a/php/src/GPBMetadata/Google/Protobuf/SourceContext.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/source_context.proto
-
-namespace GPBMetadata\Google\Protobuf;
-
-class SourceContext
-{
-    public static $is_initialized = false;
-
-    public static function initOnce() {
-        $pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
-
-        if (static::$is_initialized == true) {
-          return;
-        }
-        $pool->internalAddGeneratedFile(
-            "\x0A\xF0\x01\x0A\$google/protobuf/source_context.proto\x12\x0Fgoogle.protobuf\"\"\x0A\x0DSourceContext\x12\x11\x0A\x09file_name\x18\x01 \x01(\x09B\x8A\x01\x0A\x13com.google.protobufB\x12SourceContextProtoP\x01Z6google.golang.org/protobuf/types/known/sourcecontextpb\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3"
-        , true);
-
-        static::$is_initialized = true;
-    }
-}
-
diff --git a/php/src/GPBMetadata/Google/Protobuf/Struct.php b/php/src/GPBMetadata/Google/Protobuf/Struct.php
deleted file mode 100644
index 6fad5d9a83..0000000000
--- a/php/src/GPBMetadata/Google/Protobuf/Struct.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/struct.proto
-
-namespace GPBMetadata\Google\Protobuf;
-
-class Struct
-{
-    public static $is_initialized = false;
-
-    public static function initOnce() {
-        $pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
-
-        if (static::$is_initialized == true) {
-          return;
-        }
-        $pool->internalAddGeneratedFile(
-            "\x0A\xFE\x04\x0A\x1Cgoogle/protobuf/struct.proto\x12\x0Fgoogle.protobuf\"\x84\x01\x0A\x06Struct\x123\x0A\x06fields\x18\x01 \x03(\x0B2#.google.protobuf.Struct.FieldsEntry\x1AE\x0A\x0BFieldsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12%\x0A\x05value\x18\x02 \x01(\x0B2\x16.google.protobuf.Value:\x028\x01\"\xEA\x01\x0A\x05Value\x120\x0A\x0Anull_value\x18\x01 \x01(\x0E2\x1A.google.protobuf.NullValueH\x00\x12\x16\x0A\x0Cnumber_value\x18\x02 \x01(\x01H\x00\x12\x16\x0A\x0Cstring_value\x18\x03 \x01(\x09H\x00\x12\x14\x0A\x0Abool_value\x18\x04 \x01(\x08H\x00\x12/\x0A\x0Cstruct_value\x18\x05 \x01(\x0B2\x17.google.protobuf.StructH\x00\x120\x0A\x0Alist_value\x18\x06 \x01(\x0B2\x1A.google.protobuf.ListValueH\x00B\x06\x0A\x04kind\"3\x0A\x09ListValue\x12&\x0A\x06values\x18\x01 \x03(\x0B2\x16.google.protobuf.Value*\x1B\x0A\x09NullValue\x12\x0E\x0A\x0ANULL_VALUE\x10\x00B\x7F\x0A\x13com.google.protobufB\x0BStructProtoP\x01Z/google.golang.org/protobuf/types/known/structpb\xF8\x01\x01\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3"
-        , true);
-
-        static::$is_initialized = true;
-    }
-}
-
diff --git a/php/src/GPBMetadata/Google/Protobuf/Timestamp.php b/php/src/GPBMetadata/Google/Protobuf/Timestamp.php
deleted file mode 100644
index fd4eaacc9d..0000000000
--- a/php/src/GPBMetadata/Google/Protobuf/Timestamp.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/timestamp.proto
-
-namespace GPBMetadata\Google\Protobuf;
-
-class Timestamp
-{
-    public static $is_initialized = false;
-
-    public static function initOnce() {
-        $pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
-
-        if (static::$is_initialized == true) {
-          return;
-        }
-        $pool->internalAddGeneratedFile(
-            "\x0A\xEF\x01\x0A\x1Fgoogle/protobuf/timestamp.proto\x12\x0Fgoogle.protobuf\"+\x0A\x09Timestamp\x12\x0F\x0A\x07seconds\x18\x01 \x01(\x03\x12\x0D\x0A\x05nanos\x18\x02 \x01(\x05B\x85\x01\x0A\x13com.google.protobufB\x0ETimestampProtoP\x01Z2google.golang.org/protobuf/types/known/timestamppb\xF8\x01\x01\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3"
-        , true);
-
-        static::$is_initialized = true;
-    }
-}
-
diff --git a/php/src/GPBMetadata/Google/Protobuf/Type.php b/php/src/GPBMetadata/Google/Protobuf/Type.php
deleted file mode 100644
index 6bec20ded3..0000000000
--- a/php/src/GPBMetadata/Google/Protobuf/Type.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/type.proto
-
-namespace GPBMetadata\Google\Protobuf;
-
-class Type
-{
-    public static $is_initialized = false;
-
-    public static function initOnce() {
-        $pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
-
-        if (static::$is_initialized == true) {
-          return;
-        }
-        \GPBMetadata\Google\Protobuf\Any::initOnce();
-        \GPBMetadata\Google\Protobuf\SourceContext::initOnce();
-        $pool->internalAddGeneratedFile(
-            "\x0A\xD4\x0C\x0A\x1Agoogle/protobuf/type.proto\x12\x0Fgoogle.protobuf\x1A\$google/protobuf/source_context.proto\"\xE8\x01\x0A\x04Type\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12&\x0A\x06fields\x18\x02 \x03(\x0B2\x16.google.protobuf.Field\x12\x0E\x0A\x06oneofs\x18\x03 \x03(\x09\x12(\x0A\x07options\x18\x04 \x03(\x0B2\x17.google.protobuf.Option\x126\x0A\x0Esource_context\x18\x05 \x01(\x0B2\x1E.google.protobuf.SourceContext\x12'\x0A\x06syntax\x18\x06 \x01(\x0E2\x17.google.protobuf.Syntax\x12\x0F\x0A\x07edition\x18\x07 \x01(\x09\"\xD5\x05\x0A\x05Field\x12)\x0A\x04kind\x18\x01 \x01(\x0E2\x1B.google.protobuf.Field.Kind\x127\x0A\x0Bcardinality\x18\x02 \x01(\x0E2\".google.protobuf.Field.Cardinality\x12\x0E\x0A\x06number\x18\x03 \x01(\x05\x12\x0C\x0A\x04name\x18\x04 \x01(\x09\x12\x10\x0A\x08type_url\x18\x06 \x01(\x09\x12\x13\x0A\x0Boneof_index\x18\x07 \x01(\x05\x12\x0E\x0A\x06packed\x18\x08 \x01(\x08\x12(\x0A\x07options\x18\x09 \x03(\x0B2\x17.google.protobuf.Option\x12\x11\x0A\x09json_name\x18\x0A \x01(\x09\x12\x15\x0A\x0Ddefault_value\x18\x0B \x01(\x09\"\xC8\x02\x0A\x04Kind\x12\x10\x0A\x0CTYPE_UNKNOWN\x10\x00\x12\x0F\x0A\x0BTYPE_DOUBLE\x10\x01\x12\x0E\x0A\x0ATYPE_FLOAT\x10\x02\x12\x0E\x0A\x0ATYPE_INT64\x10\x03\x12\x0F\x0A\x0BTYPE_UINT64\x10\x04\x12\x0E\x0A\x0ATYPE_INT32\x10\x05\x12\x10\x0A\x0CTYPE_FIXED64\x10\x06\x12\x10\x0A\x0CTYPE_FIXED32\x10\x07\x12\x0D\x0A\x09TYPE_BOOL\x10\x08\x12\x0F\x0A\x0BTYPE_STRING\x10\x09\x12\x0E\x0A\x0ATYPE_GROUP\x10\x0A\x12\x10\x0A\x0CTYPE_MESSAGE\x10\x0B\x12\x0E\x0A\x0ATYPE_BYTES\x10\x0C\x12\x0F\x0A\x0BTYPE_UINT32\x10\x0D\x12\x0D\x0A\x09TYPE_ENUM\x10\x0E\x12\x11\x0A\x0DTYPE_SFIXED32\x10\x0F\x12\x11\x0A\x0DTYPE_SFIXED64\x10\x10\x12\x0F\x0A\x0BTYPE_SINT32\x10\x11\x12\x0F\x0A\x0BTYPE_SINT64\x10\x12\"t\x0A\x0BCardinality\x12\x17\x0A\x13CARDINALITY_UNKNOWN\x10\x00\x12\x18\x0A\x14CARDINALITY_OPTIONAL\x10\x01\x12\x18\x0A\x14CARDINALITY_REQUIRED\x10\x02\x12\x18\x0A\x14CARDINALITY_REPEATED\x10\x03\"\xDF\x01\x0A\x04Enum\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12-\x0A\x09enumvalue\x18\x02 \x03(\x0B2\x1A.google.protobuf.EnumValue\x12(\x0A\x07options\x18\x03 \x03(\x0B2\x17.google.protobuf.Option\x126\x0A\x0Esource_context\x18\x04 \x01(\x0B2\x1E.google.protobuf.SourceContext\x12'\x0A\x06syntax\x18\x05 \x01(\x0E2\x17.google.protobuf.Syntax\x12\x0F\x0A\x07edition\x18\x06 \x01(\x09\"S\x0A\x09EnumValue\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12\x0E\x0A\x06number\x18\x02 \x01(\x05\x12(\x0A\x07options\x18\x03 \x03(\x0B2\x17.google.protobuf.Option\";\x0A\x06Option\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12#\x0A\x05value\x18\x02 \x01(\x0B2\x14.google.protobuf.Any*C\x0A\x06Syntax\x12\x11\x0A\x0DSYNTAX_PROTO2\x10\x00\x12\x11\x0A\x0DSYNTAX_PROTO3\x10\x01\x12\x13\x0A\x0FSYNTAX_EDITIONS\x10\x02B{\x0A\x13com.google.protobufB\x09TypeProtoP\x01Z-google.golang.org/protobuf/types/known/typepb\xF8\x01\x01\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3"
-        , true);
-
-        static::$is_initialized = true;
-    }
-}
-
diff --git a/php/src/GPBMetadata/Google/Protobuf/Wrappers.php b/php/src/GPBMetadata/Google/Protobuf/Wrappers.php
deleted file mode 100644
index 49f84252b6..0000000000
--- a/php/src/GPBMetadata/Google/Protobuf/Wrappers.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/wrappers.proto
-
-namespace GPBMetadata\Google\Protobuf;
-
-class Wrappers
-{
-    public static $is_initialized = false;
-
-    public static function initOnce() {
-        $pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
-
-        if (static::$is_initialized == true) {
-          return;
-        }
-        $pool->internalAddGeneratedFile(
-            "\x0A\xC7\x03\x0A\x1Egoogle/protobuf/wrappers.proto\x12\x0Fgoogle.protobuf\"\x1C\x0A\x0BDoubleValue\x12\x0D\x0A\x05value\x18\x01 \x01(\x01\"\x1B\x0A\x0AFloatValue\x12\x0D\x0A\x05value\x18\x01 \x01(\x02\"\x1B\x0A\x0AInt64Value\x12\x0D\x0A\x05value\x18\x01 \x01(\x03\"\x1C\x0A\x0BUInt64Value\x12\x0D\x0A\x05value\x18\x01 \x01(\x04\"\x1B\x0A\x0AInt32Value\x12\x0D\x0A\x05value\x18\x01 \x01(\x05\"\x1C\x0A\x0BUInt32Value\x12\x0D\x0A\x05value\x18\x01 \x01(\x0D\"\x1A\x0A\x09BoolValue\x12\x0D\x0A\x05value\x18\x01 \x01(\x08\"\x1C\x0A\x0BStringValue\x12\x0D\x0A\x05value\x18\x01 \x01(\x09\"\x1B\x0A\x0ABytesValue\x12\x0D\x0A\x05value\x18\x01 \x01(\x0CB\x83\x01\x0A\x13com.google.protobufB\x0DWrappersProtoP\x01Z1google.golang.org/protobuf/types/known/wrapperspb\xF8\x01\x01\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3"
-        , true);
-
-        static::$is_initialized = true;
-    }
-}
-
diff --git a/php/src/Google/Protobuf/Any.php b/php/src/Google/Protobuf/Any.php
deleted file mode 100644
index 2f245ca2f6..0000000000
--- a/php/src/Google/Protobuf/Any.php
+++ /dev/null
@@ -1,263 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/any.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * `Any` contains an arbitrary serialized protocol buffer message along with a
- * URL that describes the type of the serialized message.
- * Protobuf library provides support to pack/unpack Any values in the form
- * of utility functions or additional generated methods of the Any type.
- * Example 1: Pack and unpack a message in C++.
- *     Foo foo = ...;
- *     Any any;
- *     any.PackFrom(foo);
- *     ...
- *     if (any.UnpackTo(&foo)) {
- *       ...
- *     }
- * Example 2: Pack and unpack a message in Java.
- *     Foo foo = ...;
- *     Any any = Any.pack(foo);
- *     ...
- *     if (any.is(Foo.class)) {
- *       foo = any.unpack(Foo.class);
- *     }
- *     // or ...
- *     if (any.isSameTypeAs(Foo.getDefaultInstance())) {
- *       foo = any.unpack(Foo.getDefaultInstance());
- *     }
- *  Example 3: Pack and unpack a message in Python.
- *     foo = Foo(...)
- *     any = Any()
- *     any.Pack(foo)
- *     ...
- *     if any.Is(Foo.DESCRIPTOR):
- *       any.Unpack(foo)
- *       ...
- *  Example 4: Pack and unpack a message in Go
- *      foo := &pb.Foo{...}
- *      any, err := anypb.New(foo)
- *      if err != nil {
- *        ...
- *      }
- *      ...
- *      foo := &pb.Foo{}
- *      if err := any.UnmarshalTo(foo); err != nil {
- *        ...
- *      }
- * The pack methods provided by protobuf library will by default use
- * 'type.googleapis.com/full.type.name' as the type URL and the unpack
- * methods only use the fully qualified type name after the last '/'
- * in the type URL, for example "foo.bar.com/x/y.z" will yield type
- * name "y.z".
- * JSON
- * ====
- * The JSON representation of an `Any` value uses the regular
- * representation of the deserialized, embedded message, with an
- * additional field `\@type` which contains the type URL. Example:
- *     package google.profile;
- *     message Person {
- *       string first_name = 1;
- *       string last_name = 2;
- *     }
- *     {
- *       "\@type": "type.googleapis.com/google.profile.Person",
- *       "firstName": <string>,
- *       "lastName": <string>
- *     }
- * If the embedded message type is well-known and has a custom JSON
- * representation, that representation will be embedded adding a field
- * `value` which holds the custom JSON in addition to the `\@type`
- * field. Example (for message [google.protobuf.Duration][]):
- *     {
- *       "\@type": "type.googleapis.com/google.protobuf.Duration",
- *       "value": "1.212s"
- *     }
- *
- * Generated from protobuf message <code>google.protobuf.Any</code>
- */
-class Any extends \Google\Protobuf\Internal\AnyBase
-{
-    /**
-     * A URL/resource name that uniquely identifies the type of the serialized
-     * protocol buffer message. This string must contain at least
-     * one "/" character. The last segment of the URL's path must represent
-     * the fully qualified name of the type (as in
-     * `path/google.protobuf.Duration`). The name should be in a canonical form
-     * (e.g., leading "." is not accepted).
-     * In practice, teams usually precompile into the binary all types that they
-     * expect it to use in the context of Any. However, for URLs which use the
-     * scheme `http`, `https`, or no scheme, one can optionally set up a type
-     * server that maps type URLs to message definitions as follows:
-     * * If no scheme is provided, `https` is assumed.
-     * * An HTTP GET on the URL must yield a [google.protobuf.Type][]
-     *   value in binary format, or produce an error.
-     * * Applications are allowed to cache lookup results based on the
-     *   URL, or have them precompiled into a binary to avoid any
-     *   lookup. Therefore, binary compatibility needs to be preserved
-     *   on changes to types. (Use versioned type names to manage
-     *   breaking changes.)
-     * Note: this functionality is not currently available in the official
-     * protobuf release, and it is not used for type URLs beginning with
-     * type.googleapis.com. As of May 2023, there are no widely used type server
-     * implementations and no plans to implement one.
-     * Schemes other than `http`, `https` (or the empty scheme) might be
-     * used with implementation specific semantics.
-     *
-     * Generated from protobuf field <code>string type_url = 1;</code>
-     */
-    protected $type_url = '';
-    /**
-     * Must be a valid serialized protocol buffer of the above specified type.
-     *
-     * Generated from protobuf field <code>bytes value = 2;</code>
-     */
-    protected $value = '';
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type string $type_url
-     *           A URL/resource name that uniquely identifies the type of the serialized
-     *           protocol buffer message. This string must contain at least
-     *           one "/" character. The last segment of the URL's path must represent
-     *           the fully qualified name of the type (as in
-     *           `path/google.protobuf.Duration`). The name should be in a canonical form
-     *           (e.g., leading "." is not accepted).
-     *           In practice, teams usually precompile into the binary all types that they
-     *           expect it to use in the context of Any. However, for URLs which use the
-     *           scheme `http`, `https`, or no scheme, one can optionally set up a type
-     *           server that maps type URLs to message definitions as follows:
-     *           * If no scheme is provided, `https` is assumed.
-     *           * An HTTP GET on the URL must yield a [google.protobuf.Type][]
-     *             value in binary format, or produce an error.
-     *           * Applications are allowed to cache lookup results based on the
-     *             URL, or have them precompiled into a binary to avoid any
-     *             lookup. Therefore, binary compatibility needs to be preserved
-     *             on changes to types. (Use versioned type names to manage
-     *             breaking changes.)
-     *           Note: this functionality is not currently available in the official
-     *           protobuf release, and it is not used for type URLs beginning with
-     *           type.googleapis.com. As of May 2023, there are no widely used type server
-     *           implementations and no plans to implement one.
-     *           Schemes other than `http`, `https` (or the empty scheme) might be
-     *           used with implementation specific semantics.
-     *     @type string $value
-     *           Must be a valid serialized protocol buffer of the above specified type.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Any::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * A URL/resource name that uniquely identifies the type of the serialized
-     * protocol buffer message. This string must contain at least
-     * one "/" character. The last segment of the URL's path must represent
-     * the fully qualified name of the type (as in
-     * `path/google.protobuf.Duration`). The name should be in a canonical form
-     * (e.g., leading "." is not accepted).
-     * In practice, teams usually precompile into the binary all types that they
-     * expect it to use in the context of Any. However, for URLs which use the
-     * scheme `http`, `https`, or no scheme, one can optionally set up a type
-     * server that maps type URLs to message definitions as follows:
-     * * If no scheme is provided, `https` is assumed.
-     * * An HTTP GET on the URL must yield a [google.protobuf.Type][]
-     *   value in binary format, or produce an error.
-     * * Applications are allowed to cache lookup results based on the
-     *   URL, or have them precompiled into a binary to avoid any
-     *   lookup. Therefore, binary compatibility needs to be preserved
-     *   on changes to types. (Use versioned type names to manage
-     *   breaking changes.)
-     * Note: this functionality is not currently available in the official
-     * protobuf release, and it is not used for type URLs beginning with
-     * type.googleapis.com. As of May 2023, there are no widely used type server
-     * implementations and no plans to implement one.
-     * Schemes other than `http`, `https` (or the empty scheme) might be
-     * used with implementation specific semantics.
-     *
-     * Generated from protobuf field <code>string type_url = 1;</code>
-     * @return string
-     */
-    public function getTypeUrl()
-    {
-        return $this->type_url;
-    }
-
-    /**
-     * A URL/resource name that uniquely identifies the type of the serialized
-     * protocol buffer message. This string must contain at least
-     * one "/" character. The last segment of the URL's path must represent
-     * the fully qualified name of the type (as in
-     * `path/google.protobuf.Duration`). The name should be in a canonical form
-     * (e.g., leading "." is not accepted).
-     * In practice, teams usually precompile into the binary all types that they
-     * expect it to use in the context of Any. However, for URLs which use the
-     * scheme `http`, `https`, or no scheme, one can optionally set up a type
-     * server that maps type URLs to message definitions as follows:
-     * * If no scheme is provided, `https` is assumed.
-     * * An HTTP GET on the URL must yield a [google.protobuf.Type][]
-     *   value in binary format, or produce an error.
-     * * Applications are allowed to cache lookup results based on the
-     *   URL, or have them precompiled into a binary to avoid any
-     *   lookup. Therefore, binary compatibility needs to be preserved
-     *   on changes to types. (Use versioned type names to manage
-     *   breaking changes.)
-     * Note: this functionality is not currently available in the official
-     * protobuf release, and it is not used for type URLs beginning with
-     * type.googleapis.com. As of May 2023, there are no widely used type server
-     * implementations and no plans to implement one.
-     * Schemes other than `http`, `https` (or the empty scheme) might be
-     * used with implementation specific semantics.
-     *
-     * Generated from protobuf field <code>string type_url = 1;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setTypeUrl($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->type_url = $var;
-
-        return $this;
-    }
-
-    /**
-     * Must be a valid serialized protocol buffer of the above specified type.
-     *
-     * Generated from protobuf field <code>bytes value = 2;</code>
-     * @return string
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * Must be a valid serialized protocol buffer of the above specified type.
-     *
-     * Generated from protobuf field <code>bytes value = 2;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setValue($var)
-    {
-        GPBUtil::checkString($var, False);
-        $this->value = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Api.php b/php/src/Google/Protobuf/Api.php
deleted file mode 100644
index f39e81aab6..0000000000
--- a/php/src/Google/Protobuf/Api.php
+++ /dev/null
@@ -1,361 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/api.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Api is a light-weight descriptor for an API Interface.
- * Interfaces are also described as "protocol buffer services" in some contexts,
- * such as by the "service" keyword in a .proto file, but they are different
- * from API Services, which represent a concrete implementation of an interface
- * as opposed to simply a description of methods and bindings. They are also
- * sometimes simply referred to as "APIs" in other contexts, such as the name of
- * this message itself. See https://cloud.google.com/apis/design/glossary for
- * detailed terminology.
- *
- * Generated from protobuf message <code>google.protobuf.Api</code>
- */
-class Api extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * The fully qualified name of this interface, including package name
-     * followed by the interface's simple name.
-     *
-     * Generated from protobuf field <code>string name = 1;</code>
-     */
-    protected $name = '';
-    /**
-     * The methods of this interface, in unspecified order.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Method methods = 2;</code>
-     */
-    private $methods;
-    /**
-     * Any metadata attached to the interface.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Option options = 3;</code>
-     */
-    private $options;
-    /**
-     * A version string for this interface. If specified, must have the form
-     * `major-version.minor-version`, as in `1.10`. If the minor version is
-     * omitted, it defaults to zero. If the entire version field is empty, the
-     * major version is derived from the package name, as outlined below. If the
-     * field is not empty, the version in the package name will be verified to be
-     * consistent with what is provided here.
-     * The versioning schema uses [semantic
-     * versioning](http://semver.org) where the major version number
-     * indicates a breaking change and the minor version an additive,
-     * non-breaking change. Both version numbers are signals to users
-     * what to expect from different versions, and should be carefully
-     * chosen based on the product plan.
-     * The major version is also reflected in the package name of the
-     * interface, which must end in `v<major-version>`, as in
-     * `google.feature.v1`. For major versions 0 and 1, the suffix can
-     * be omitted. Zero major versions must only be used for
-     * experimental, non-GA interfaces.
-     *
-     * Generated from protobuf field <code>string version = 4;</code>
-     */
-    protected $version = '';
-    /**
-     * Source context for the protocol buffer service represented by this
-     * message.
-     *
-     * Generated from protobuf field <code>.google.protobuf.SourceContext source_context = 5;</code>
-     */
-    protected $source_context = null;
-    /**
-     * Included interfaces. See [Mixin][].
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Mixin mixins = 6;</code>
-     */
-    private $mixins;
-    /**
-     * The source syntax of the service.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Syntax syntax = 7;</code>
-     */
-    protected $syntax = 0;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type string $name
-     *           The fully qualified name of this interface, including package name
-     *           followed by the interface's simple name.
-     *     @type array<\Google\Protobuf\Method>|\Google\Protobuf\Internal\RepeatedField $methods
-     *           The methods of this interface, in unspecified order.
-     *     @type array<\Google\Protobuf\Option>|\Google\Protobuf\Internal\RepeatedField $options
-     *           Any metadata attached to the interface.
-     *     @type string $version
-     *           A version string for this interface. If specified, must have the form
-     *           `major-version.minor-version`, as in `1.10`. If the minor version is
-     *           omitted, it defaults to zero. If the entire version field is empty, the
-     *           major version is derived from the package name, as outlined below. If the
-     *           field is not empty, the version in the package name will be verified to be
-     *           consistent with what is provided here.
-     *           The versioning schema uses [semantic
-     *           versioning](http://semver.org) where the major version number
-     *           indicates a breaking change and the minor version an additive,
-     *           non-breaking change. Both version numbers are signals to users
-     *           what to expect from different versions, and should be carefully
-     *           chosen based on the product plan.
-     *           The major version is also reflected in the package name of the
-     *           interface, which must end in `v<major-version>`, as in
-     *           `google.feature.v1`. For major versions 0 and 1, the suffix can
-     *           be omitted. Zero major versions must only be used for
-     *           experimental, non-GA interfaces.
-     *     @type \Google\Protobuf\SourceContext $source_context
-     *           Source context for the protocol buffer service represented by this
-     *           message.
-     *     @type array<\Google\Protobuf\Mixin>|\Google\Protobuf\Internal\RepeatedField $mixins
-     *           Included interfaces. See [Mixin][].
-     *     @type int $syntax
-     *           The source syntax of the service.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Api::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * The fully qualified name of this interface, including package name
-     * followed by the interface's simple name.
-     *
-     * Generated from protobuf field <code>string name = 1;</code>
-     * @return string
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * The fully qualified name of this interface, including package name
-     * followed by the interface's simple name.
-     *
-     * Generated from protobuf field <code>string name = 1;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setName($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->name = $var;
-
-        return $this;
-    }
-
-    /**
-     * The methods of this interface, in unspecified order.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Method methods = 2;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getMethods()
-    {
-        return $this->methods;
-    }
-
-    /**
-     * The methods of this interface, in unspecified order.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Method methods = 2;</code>
-     * @param array<\Google\Protobuf\Method>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setMethods($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Method::class);
-        $this->methods = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Any metadata attached to the interface.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Option options = 3;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getOptions()
-    {
-        return $this->options;
-    }
-
-    /**
-     * Any metadata attached to the interface.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Option options = 3;</code>
-     * @param array<\Google\Protobuf\Option>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setOptions($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Option::class);
-        $this->options = $arr;
-
-        return $this;
-    }
-
-    /**
-     * A version string for this interface. If specified, must have the form
-     * `major-version.minor-version`, as in `1.10`. If the minor version is
-     * omitted, it defaults to zero. If the entire version field is empty, the
-     * major version is derived from the package name, as outlined below. If the
-     * field is not empty, the version in the package name will be verified to be
-     * consistent with what is provided here.
-     * The versioning schema uses [semantic
-     * versioning](http://semver.org) where the major version number
-     * indicates a breaking change and the minor version an additive,
-     * non-breaking change. Both version numbers are signals to users
-     * what to expect from different versions, and should be carefully
-     * chosen based on the product plan.
-     * The major version is also reflected in the package name of the
-     * interface, which must end in `v<major-version>`, as in
-     * `google.feature.v1`. For major versions 0 and 1, the suffix can
-     * be omitted. Zero major versions must only be used for
-     * experimental, non-GA interfaces.
-     *
-     * Generated from protobuf field <code>string version = 4;</code>
-     * @return string
-     */
-    public function getVersion()
-    {
-        return $this->version;
-    }
-
-    /**
-     * A version string for this interface. If specified, must have the form
-     * `major-version.minor-version`, as in `1.10`. If the minor version is
-     * omitted, it defaults to zero. If the entire version field is empty, the
-     * major version is derived from the package name, as outlined below. If the
-     * field is not empty, the version in the package name will be verified to be
-     * consistent with what is provided here.
-     * The versioning schema uses [semantic
-     * versioning](http://semver.org) where the major version number
-     * indicates a breaking change and the minor version an additive,
-     * non-breaking change. Both version numbers are signals to users
-     * what to expect from different versions, and should be carefully
-     * chosen based on the product plan.
-     * The major version is also reflected in the package name of the
-     * interface, which must end in `v<major-version>`, as in
-     * `google.feature.v1`. For major versions 0 and 1, the suffix can
-     * be omitted. Zero major versions must only be used for
-     * experimental, non-GA interfaces.
-     *
-     * Generated from protobuf field <code>string version = 4;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setVersion($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->version = $var;
-
-        return $this;
-    }
-
-    /**
-     * Source context for the protocol buffer service represented by this
-     * message.
-     *
-     * Generated from protobuf field <code>.google.protobuf.SourceContext source_context = 5;</code>
-     * @return \Google\Protobuf\SourceContext|null
-     */
-    public function getSourceContext()
-    {
-        return $this->source_context;
-    }
-
-    public function hasSourceContext()
-    {
-        return isset($this->source_context);
-    }
-
-    public function clearSourceContext()
-    {
-        unset($this->source_context);
-    }
-
-    /**
-     * Source context for the protocol buffer service represented by this
-     * message.
-     *
-     * Generated from protobuf field <code>.google.protobuf.SourceContext source_context = 5;</code>
-     * @param \Google\Protobuf\SourceContext $var
-     * @return $this
-     */
-    public function setSourceContext($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\SourceContext::class);
-        $this->source_context = $var;
-
-        return $this;
-    }
-
-    /**
-     * Included interfaces. See [Mixin][].
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Mixin mixins = 6;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getMixins()
-    {
-        return $this->mixins;
-    }
-
-    /**
-     * Included interfaces. See [Mixin][].
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Mixin mixins = 6;</code>
-     * @param array<\Google\Protobuf\Mixin>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setMixins($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Mixin::class);
-        $this->mixins = $arr;
-
-        return $this;
-    }
-
-    /**
-     * The source syntax of the service.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Syntax syntax = 7;</code>
-     * @return int
-     */
-    public function getSyntax()
-    {
-        return $this->syntax;
-    }
-
-    /**
-     * The source syntax of the service.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Syntax syntax = 7;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setSyntax($var)
-    {
-        GPBUtil::checkEnum($var, \Google\Protobuf\Syntax::class);
-        $this->syntax = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/BoolValue.php b/php/src/Google/Protobuf/BoolValue.php
deleted file mode 100644
index 5c750a3cd3..0000000000
--- a/php/src/Google/Protobuf/BoolValue.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/wrappers.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Wrapper message for `bool`.
- * The JSON representation for `BoolValue` is JSON `true` and `false`.
- *
- * Generated from protobuf message <code>google.protobuf.BoolValue</code>
- */
-class BoolValue extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * The bool value.
-     *
-     * Generated from protobuf field <code>bool value = 1;</code>
-     */
-    protected $value = false;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type bool $value
-     *           The bool value.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Wrappers::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * The bool value.
-     *
-     * Generated from protobuf field <code>bool value = 1;</code>
-     * @return bool
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * The bool value.
-     *
-     * Generated from protobuf field <code>bool value = 1;</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setValue($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->value = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/BytesValue.php b/php/src/Google/Protobuf/BytesValue.php
deleted file mode 100644
index bf83507e21..0000000000
--- a/php/src/Google/Protobuf/BytesValue.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/wrappers.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Wrapper message for `bytes`.
- * The JSON representation for `BytesValue` is JSON string.
- *
- * Generated from protobuf message <code>google.protobuf.BytesValue</code>
- */
-class BytesValue extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * The bytes value.
-     *
-     * Generated from protobuf field <code>bytes value = 1;</code>
-     */
-    protected $value = '';
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type string $value
-     *           The bytes value.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Wrappers::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * The bytes value.
-     *
-     * Generated from protobuf field <code>bytes value = 1;</code>
-     * @return string
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * The bytes value.
-     *
-     * Generated from protobuf field <code>bytes value = 1;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setValue($var)
-    {
-        GPBUtil::checkString($var, False);
-        $this->value = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/DoubleValue.php b/php/src/Google/Protobuf/DoubleValue.php
deleted file mode 100644
index 0b88e28275..0000000000
--- a/php/src/Google/Protobuf/DoubleValue.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/wrappers.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Wrapper message for `double`.
- * The JSON representation for `DoubleValue` is JSON number.
- *
- * Generated from protobuf message <code>google.protobuf.DoubleValue</code>
- */
-class DoubleValue extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * The double value.
-     *
-     * Generated from protobuf field <code>double value = 1;</code>
-     */
-    protected $value = 0.0;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type float $value
-     *           The double value.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Wrappers::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * The double value.
-     *
-     * Generated from protobuf field <code>double value = 1;</code>
-     * @return float
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * The double value.
-     *
-     * Generated from protobuf field <code>double value = 1;</code>
-     * @param float $var
-     * @return $this
-     */
-    public function setValue($var)
-    {
-        GPBUtil::checkDouble($var);
-        $this->value = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Duration.php b/php/src/Google/Protobuf/Duration.php
deleted file mode 100644
index f63169b121..0000000000
--- a/php/src/Google/Protobuf/Duration.php
+++ /dev/null
@@ -1,174 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/duration.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * A Duration represents a signed, fixed-length span of time represented
- * as a count of seconds and fractions of seconds at nanosecond
- * resolution. It is independent of any calendar and concepts like "day"
- * or "month". It is related to Timestamp in that the difference between
- * two Timestamp values is a Duration and it can be added or subtracted
- * from a Timestamp. Range is approximately +-10,000 years.
- * # Examples
- * Example 1: Compute Duration from two Timestamps in pseudo code.
- *     Timestamp start = ...;
- *     Timestamp end = ...;
- *     Duration duration = ...;
- *     duration.seconds = end.seconds - start.seconds;
- *     duration.nanos = end.nanos - start.nanos;
- *     if (duration.seconds < 0 && duration.nanos > 0) {
- *       duration.seconds += 1;
- *       duration.nanos -= 1000000000;
- *     } else if (duration.seconds > 0 && duration.nanos < 0) {
- *       duration.seconds -= 1;
- *       duration.nanos += 1000000000;
- *     }
- * Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
- *     Timestamp start = ...;
- *     Duration duration = ...;
- *     Timestamp end = ...;
- *     end.seconds = start.seconds + duration.seconds;
- *     end.nanos = start.nanos + duration.nanos;
- *     if (end.nanos < 0) {
- *       end.seconds -= 1;
- *       end.nanos += 1000000000;
- *     } else if (end.nanos >= 1000000000) {
- *       end.seconds += 1;
- *       end.nanos -= 1000000000;
- *     }
- * Example 3: Compute Duration from datetime.timedelta in Python.
- *     td = datetime.timedelta(days=3, minutes=10)
- *     duration = Duration()
- *     duration.FromTimedelta(td)
- * # JSON Mapping
- * In JSON format, the Duration type is encoded as a string rather than an
- * object, where the string ends in the suffix "s" (indicating seconds) and
- * is preceded by the number of seconds, with nanoseconds expressed as
- * fractional seconds. For example, 3 seconds with 0 nanoseconds should be
- * encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
- * be expressed in JSON format as "3.000000001s", and 3 seconds and 1
- * microsecond should be expressed in JSON format as "3.000001s".
- *
- * Generated from protobuf message <code>google.protobuf.Duration</code>
- */
-class Duration extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Signed seconds of the span of time. Must be from -315,576,000,000
-     * to +315,576,000,000 inclusive. Note: these bounds are computed from:
-     * 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
-     *
-     * Generated from protobuf field <code>int64 seconds = 1;</code>
-     */
-    protected $seconds = 0;
-    /**
-     * Signed fractions of a second at nanosecond resolution of the span
-     * of time. Durations less than one second are represented with a 0
-     * `seconds` field and a positive or negative `nanos` field. For durations
-     * of one second or more, a non-zero value for the `nanos` field must be
-     * of the same sign as the `seconds` field. Must be from -999,999,999
-     * to +999,999,999 inclusive.
-     *
-     * Generated from protobuf field <code>int32 nanos = 2;</code>
-     */
-    protected $nanos = 0;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type int|string $seconds
-     *           Signed seconds of the span of time. Must be from -315,576,000,000
-     *           to +315,576,000,000 inclusive. Note: these bounds are computed from:
-     *           60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
-     *     @type int $nanos
-     *           Signed fractions of a second at nanosecond resolution of the span
-     *           of time. Durations less than one second are represented with a 0
-     *           `seconds` field and a positive or negative `nanos` field. For durations
-     *           of one second or more, a non-zero value for the `nanos` field must be
-     *           of the same sign as the `seconds` field. Must be from -999,999,999
-     *           to +999,999,999 inclusive.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Duration::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Signed seconds of the span of time. Must be from -315,576,000,000
-     * to +315,576,000,000 inclusive. Note: these bounds are computed from:
-     * 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
-     *
-     * Generated from protobuf field <code>int64 seconds = 1;</code>
-     * @return int|string
-     */
-    public function getSeconds()
-    {
-        return $this->seconds;
-    }
-
-    /**
-     * Signed seconds of the span of time. Must be from -315,576,000,000
-     * to +315,576,000,000 inclusive. Note: these bounds are computed from:
-     * 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
-     *
-     * Generated from protobuf field <code>int64 seconds = 1;</code>
-     * @param int|string $var
-     * @return $this
-     */
-    public function setSeconds($var)
-    {
-        GPBUtil::checkInt64($var);
-        $this->seconds = $var;
-
-        return $this;
-    }
-
-    /**
-     * Signed fractions of a second at nanosecond resolution of the span
-     * of time. Durations less than one second are represented with a 0
-     * `seconds` field and a positive or negative `nanos` field. For durations
-     * of one second or more, a non-zero value for the `nanos` field must be
-     * of the same sign as the `seconds` field. Must be from -999,999,999
-     * to +999,999,999 inclusive.
-     *
-     * Generated from protobuf field <code>int32 nanos = 2;</code>
-     * @return int
-     */
-    public function getNanos()
-    {
-        return $this->nanos;
-    }
-
-    /**
-     * Signed fractions of a second at nanosecond resolution of the span
-     * of time. Durations less than one second are represented with a 0
-     * `seconds` field and a positive or negative `nanos` field. For durations
-     * of one second or more, a non-zero value for the `nanos` field must be
-     * of the same sign as the `seconds` field. Must be from -999,999,999
-     * to +999,999,999 inclusive.
-     *
-     * Generated from protobuf field <code>int32 nanos = 2;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setNanos($var)
-    {
-        GPBUtil::checkInt32($var);
-        $this->nanos = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Enum.php b/php/src/Google/Protobuf/Enum.php
deleted file mode 100644
index 4befa14de5..0000000000
--- a/php/src/Google/Protobuf/Enum.php
+++ /dev/null
@@ -1,248 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/type.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Enum type definition.
- *
- * Generated from protobuf message <code>google.protobuf.Enum</code>
- */
-class Enum extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Enum type name.
-     *
-     * Generated from protobuf field <code>string name = 1;</code>
-     */
-    protected $name = '';
-    /**
-     * Enum value definitions.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.EnumValue enumvalue = 2;</code>
-     */
-    private $enumvalue;
-    /**
-     * Protocol buffer options.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Option options = 3;</code>
-     */
-    private $options;
-    /**
-     * The source context.
-     *
-     * Generated from protobuf field <code>.google.protobuf.SourceContext source_context = 4;</code>
-     */
-    protected $source_context = null;
-    /**
-     * The source syntax.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Syntax syntax = 5;</code>
-     */
-    protected $syntax = 0;
-    /**
-     * The source edition string, only valid when syntax is SYNTAX_EDITIONS.
-     *
-     * Generated from protobuf field <code>string edition = 6;</code>
-     */
-    protected $edition = '';
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type string $name
-     *           Enum type name.
-     *     @type array<\Google\Protobuf\EnumValue>|\Google\Protobuf\Internal\RepeatedField $enumvalue
-     *           Enum value definitions.
-     *     @type array<\Google\Protobuf\Option>|\Google\Protobuf\Internal\RepeatedField $options
-     *           Protocol buffer options.
-     *     @type \Google\Protobuf\SourceContext $source_context
-     *           The source context.
-     *     @type int $syntax
-     *           The source syntax.
-     *     @type string $edition
-     *           The source edition string, only valid when syntax is SYNTAX_EDITIONS.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Type::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Enum type name.
-     *
-     * Generated from protobuf field <code>string name = 1;</code>
-     * @return string
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * Enum type name.
-     *
-     * Generated from protobuf field <code>string name = 1;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setName($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->name = $var;
-
-        return $this;
-    }
-
-    /**
-     * Enum value definitions.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.EnumValue enumvalue = 2;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getEnumvalue()
-    {
-        return $this->enumvalue;
-    }
-
-    /**
-     * Enum value definitions.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.EnumValue enumvalue = 2;</code>
-     * @param array<\Google\Protobuf\EnumValue>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setEnumvalue($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\EnumValue::class);
-        $this->enumvalue = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Protocol buffer options.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Option options = 3;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getOptions()
-    {
-        return $this->options;
-    }
-
-    /**
-     * Protocol buffer options.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Option options = 3;</code>
-     * @param array<\Google\Protobuf\Option>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setOptions($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Option::class);
-        $this->options = $arr;
-
-        return $this;
-    }
-
-    /**
-     * The source context.
-     *
-     * Generated from protobuf field <code>.google.protobuf.SourceContext source_context = 4;</code>
-     * @return \Google\Protobuf\SourceContext|null
-     */
-    public function getSourceContext()
-    {
-        return $this->source_context;
-    }
-
-    public function hasSourceContext()
-    {
-        return isset($this->source_context);
-    }
-
-    public function clearSourceContext()
-    {
-        unset($this->source_context);
-    }
-
-    /**
-     * The source context.
-     *
-     * Generated from protobuf field <code>.google.protobuf.SourceContext source_context = 4;</code>
-     * @param \Google\Protobuf\SourceContext $var
-     * @return $this
-     */
-    public function setSourceContext($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\SourceContext::class);
-        $this->source_context = $var;
-
-        return $this;
-    }
-
-    /**
-     * The source syntax.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Syntax syntax = 5;</code>
-     * @return int
-     */
-    public function getSyntax()
-    {
-        return $this->syntax;
-    }
-
-    /**
-     * The source syntax.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Syntax syntax = 5;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setSyntax($var)
-    {
-        GPBUtil::checkEnum($var, \Google\Protobuf\Syntax::class);
-        $this->syntax = $var;
-
-        return $this;
-    }
-
-    /**
-     * The source edition string, only valid when syntax is SYNTAX_EDITIONS.
-     *
-     * Generated from protobuf field <code>string edition = 6;</code>
-     * @return string
-     */
-    public function getEdition()
-    {
-        return $this->edition;
-    }
-
-    /**
-     * The source edition string, only valid when syntax is SYNTAX_EDITIONS.
-     *
-     * Generated from protobuf field <code>string edition = 6;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setEdition($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->edition = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/EnumValue.php b/php/src/Google/Protobuf/EnumValue.php
deleted file mode 100644
index 3914d285d4..0000000000
--- a/php/src/Google/Protobuf/EnumValue.php
+++ /dev/null
@@ -1,136 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/type.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Enum value definition.
- *
- * Generated from protobuf message <code>google.protobuf.EnumValue</code>
- */
-class EnumValue extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Enum value name.
-     *
-     * Generated from protobuf field <code>string name = 1;</code>
-     */
-    protected $name = '';
-    /**
-     * Enum value number.
-     *
-     * Generated from protobuf field <code>int32 number = 2;</code>
-     */
-    protected $number = 0;
-    /**
-     * Protocol buffer options.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Option options = 3;</code>
-     */
-    private $options;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type string $name
-     *           Enum value name.
-     *     @type int $number
-     *           Enum value number.
-     *     @type array<\Google\Protobuf\Option>|\Google\Protobuf\Internal\RepeatedField $options
-     *           Protocol buffer options.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Type::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Enum value name.
-     *
-     * Generated from protobuf field <code>string name = 1;</code>
-     * @return string
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * Enum value name.
-     *
-     * Generated from protobuf field <code>string name = 1;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setName($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->name = $var;
-
-        return $this;
-    }
-
-    /**
-     * Enum value number.
-     *
-     * Generated from protobuf field <code>int32 number = 2;</code>
-     * @return int
-     */
-    public function getNumber()
-    {
-        return $this->number;
-    }
-
-    /**
-     * Enum value number.
-     *
-     * Generated from protobuf field <code>int32 number = 2;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setNumber($var)
-    {
-        GPBUtil::checkInt32($var);
-        $this->number = $var;
-
-        return $this;
-    }
-
-    /**
-     * Protocol buffer options.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Option options = 3;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getOptions()
-    {
-        return $this->options;
-    }
-
-    /**
-     * Protocol buffer options.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Option options = 3;</code>
-     * @param array<\Google\Protobuf\Option>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setOptions($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Option::class);
-        $this->options = $arr;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Field.php b/php/src/Google/Protobuf/Field.php
deleted file mode 100644
index c2b635c60d..0000000000
--- a/php/src/Google/Protobuf/Field.php
+++ /dev/null
@@ -1,382 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/type.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * A single field of a message type.
- *
- * Generated from protobuf message <code>google.protobuf.Field</code>
- */
-class Field extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * The field type.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Field.Kind kind = 1;</code>
-     */
-    protected $kind = 0;
-    /**
-     * The field cardinality.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Field.Cardinality cardinality = 2;</code>
-     */
-    protected $cardinality = 0;
-    /**
-     * The field number.
-     *
-     * Generated from protobuf field <code>int32 number = 3;</code>
-     */
-    protected $number = 0;
-    /**
-     * The field name.
-     *
-     * Generated from protobuf field <code>string name = 4;</code>
-     */
-    protected $name = '';
-    /**
-     * The field type URL, without the scheme, for message or enumeration
-     * types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`.
-     *
-     * Generated from protobuf field <code>string type_url = 6;</code>
-     */
-    protected $type_url = '';
-    /**
-     * The index of the field type in `Type.oneofs`, for message or enumeration
-     * types. The first type has index 1; zero means the type is not in the list.
-     *
-     * Generated from protobuf field <code>int32 oneof_index = 7;</code>
-     */
-    protected $oneof_index = 0;
-    /**
-     * Whether to use alternative packed wire representation.
-     *
-     * Generated from protobuf field <code>bool packed = 8;</code>
-     */
-    protected $packed = false;
-    /**
-     * The protocol buffer options.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Option options = 9;</code>
-     */
-    private $options;
-    /**
-     * The field JSON name.
-     *
-     * Generated from protobuf field <code>string json_name = 10;</code>
-     */
-    protected $json_name = '';
-    /**
-     * The string value of the default value of this field. Proto2 syntax only.
-     *
-     * Generated from protobuf field <code>string default_value = 11;</code>
-     */
-    protected $default_value = '';
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type int $kind
-     *           The field type.
-     *     @type int $cardinality
-     *           The field cardinality.
-     *     @type int $number
-     *           The field number.
-     *     @type string $name
-     *           The field name.
-     *     @type string $type_url
-     *           The field type URL, without the scheme, for message or enumeration
-     *           types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`.
-     *     @type int $oneof_index
-     *           The index of the field type in `Type.oneofs`, for message or enumeration
-     *           types. The first type has index 1; zero means the type is not in the list.
-     *     @type bool $packed
-     *           Whether to use alternative packed wire representation.
-     *     @type array<\Google\Protobuf\Option>|\Google\Protobuf\Internal\RepeatedField $options
-     *           The protocol buffer options.
-     *     @type string $json_name
-     *           The field JSON name.
-     *     @type string $default_value
-     *           The string value of the default value of this field. Proto2 syntax only.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Type::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * The field type.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Field.Kind kind = 1;</code>
-     * @return int
-     */
-    public function getKind()
-    {
-        return $this->kind;
-    }
-
-    /**
-     * The field type.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Field.Kind kind = 1;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setKind($var)
-    {
-        GPBUtil::checkEnum($var, \Google\Protobuf\Field\Kind::class);
-        $this->kind = $var;
-
-        return $this;
-    }
-
-    /**
-     * The field cardinality.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Field.Cardinality cardinality = 2;</code>
-     * @return int
-     */
-    public function getCardinality()
-    {
-        return $this->cardinality;
-    }
-
-    /**
-     * The field cardinality.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Field.Cardinality cardinality = 2;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setCardinality($var)
-    {
-        GPBUtil::checkEnum($var, \Google\Protobuf\Field\Cardinality::class);
-        $this->cardinality = $var;
-
-        return $this;
-    }
-
-    /**
-     * The field number.
-     *
-     * Generated from protobuf field <code>int32 number = 3;</code>
-     * @return int
-     */
-    public function getNumber()
-    {
-        return $this->number;
-    }
-
-    /**
-     * The field number.
-     *
-     * Generated from protobuf field <code>int32 number = 3;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setNumber($var)
-    {
-        GPBUtil::checkInt32($var);
-        $this->number = $var;
-
-        return $this;
-    }
-
-    /**
-     * The field name.
-     *
-     * Generated from protobuf field <code>string name = 4;</code>
-     * @return string
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * The field name.
-     *
-     * Generated from protobuf field <code>string name = 4;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setName($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->name = $var;
-
-        return $this;
-    }
-
-    /**
-     * The field type URL, without the scheme, for message or enumeration
-     * types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`.
-     *
-     * Generated from protobuf field <code>string type_url = 6;</code>
-     * @return string
-     */
-    public function getTypeUrl()
-    {
-        return $this->type_url;
-    }
-
-    /**
-     * The field type URL, without the scheme, for message or enumeration
-     * types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`.
-     *
-     * Generated from protobuf field <code>string type_url = 6;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setTypeUrl($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->type_url = $var;
-
-        return $this;
-    }
-
-    /**
-     * The index of the field type in `Type.oneofs`, for message or enumeration
-     * types. The first type has index 1; zero means the type is not in the list.
-     *
-     * Generated from protobuf field <code>int32 oneof_index = 7;</code>
-     * @return int
-     */
-    public function getOneofIndex()
-    {
-        return $this->oneof_index;
-    }
-
-    /**
-     * The index of the field type in `Type.oneofs`, for message or enumeration
-     * types. The first type has index 1; zero means the type is not in the list.
-     *
-     * Generated from protobuf field <code>int32 oneof_index = 7;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setOneofIndex($var)
-    {
-        GPBUtil::checkInt32($var);
-        $this->oneof_index = $var;
-
-        return $this;
-    }
-
-    /**
-     * Whether to use alternative packed wire representation.
-     *
-     * Generated from protobuf field <code>bool packed = 8;</code>
-     * @return bool
-     */
-    public function getPacked()
-    {
-        return $this->packed;
-    }
-
-    /**
-     * Whether to use alternative packed wire representation.
-     *
-     * Generated from protobuf field <code>bool packed = 8;</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setPacked($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->packed = $var;
-
-        return $this;
-    }
-
-    /**
-     * The protocol buffer options.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Option options = 9;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getOptions()
-    {
-        return $this->options;
-    }
-
-    /**
-     * The protocol buffer options.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Option options = 9;</code>
-     * @param array<\Google\Protobuf\Option>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setOptions($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Option::class);
-        $this->options = $arr;
-
-        return $this;
-    }
-
-    /**
-     * The field JSON name.
-     *
-     * Generated from protobuf field <code>string json_name = 10;</code>
-     * @return string
-     */
-    public function getJsonName()
-    {
-        return $this->json_name;
-    }
-
-    /**
-     * The field JSON name.
-     *
-     * Generated from protobuf field <code>string json_name = 10;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setJsonName($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->json_name = $var;
-
-        return $this;
-    }
-
-    /**
-     * The string value of the default value of this field. Proto2 syntax only.
-     *
-     * Generated from protobuf field <code>string default_value = 11;</code>
-     * @return string
-     */
-    public function getDefaultValue()
-    {
-        return $this->default_value;
-    }
-
-    /**
-     * The string value of the default value of this field. Proto2 syntax only.
-     *
-     * Generated from protobuf field <code>string default_value = 11;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setDefaultValue($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->default_value = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Field/Cardinality.php b/php/src/Google/Protobuf/Field/Cardinality.php
deleted file mode 100644
index 72a11e37f6..0000000000
--- a/php/src/Google/Protobuf/Field/Cardinality.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/type.proto
-
-namespace Google\Protobuf\Field;
-
-use UnexpectedValueException;
-
-/**
- * Whether a field is optional, required, or repeated.
- *
- * Protobuf type <code>google.protobuf.Field.Cardinality</code>
- */
-class Cardinality
-{
-    /**
-     * For fields with unknown cardinality.
-     *
-     * Generated from protobuf enum <code>CARDINALITY_UNKNOWN = 0;</code>
-     */
-    const CARDINALITY_UNKNOWN = 0;
-    /**
-     * For optional fields.
-     *
-     * Generated from protobuf enum <code>CARDINALITY_OPTIONAL = 1;</code>
-     */
-    const CARDINALITY_OPTIONAL = 1;
-    /**
-     * For required fields. Proto2 syntax only.
-     *
-     * Generated from protobuf enum <code>CARDINALITY_REQUIRED = 2;</code>
-     */
-    const CARDINALITY_REQUIRED = 2;
-    /**
-     * For repeated fields.
-     *
-     * Generated from protobuf enum <code>CARDINALITY_REPEATED = 3;</code>
-     */
-    const CARDINALITY_REPEATED = 3;
-
-    private static $valueToName = [
-        self::CARDINALITY_UNKNOWN => 'CARDINALITY_UNKNOWN',
-        self::CARDINALITY_OPTIONAL => 'CARDINALITY_OPTIONAL',
-        self::CARDINALITY_REQUIRED => 'CARDINALITY_REQUIRED',
-        self::CARDINALITY_REPEATED => 'CARDINALITY_REPEATED',
-    ];
-
-    public static function name($value)
-    {
-        if (!isset(self::$valueToName[$value])) {
-            throw new UnexpectedValueException(sprintf(
-                    'Enum %s has no name defined for value %s', __CLASS__, $value));
-        }
-        return self::$valueToName[$value];
-    }
-
-
-    public static function value($name)
-    {
-        $const = __CLASS__ . '::' . strtoupper($name);
-        if (!defined($const)) {
-            throw new UnexpectedValueException(sprintf(
-                    'Enum %s has no value defined for name %s', __CLASS__, $name));
-        }
-        return constant($const);
-    }
-}
-
diff --git a/php/src/Google/Protobuf/Field/Kind.php b/php/src/Google/Protobuf/Field/Kind.php
deleted file mode 100644
index bcbfcdd19b..0000000000
--- a/php/src/Google/Protobuf/Field/Kind.php
+++ /dev/null
@@ -1,174 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/type.proto
-
-namespace Google\Protobuf\Field;
-
-use UnexpectedValueException;
-
-/**
- * Basic field types.
- *
- * Protobuf type <code>google.protobuf.Field.Kind</code>
- */
-class Kind
-{
-    /**
-     * Field type unknown.
-     *
-     * Generated from protobuf enum <code>TYPE_UNKNOWN = 0;</code>
-     */
-    const TYPE_UNKNOWN = 0;
-    /**
-     * Field type double.
-     *
-     * Generated from protobuf enum <code>TYPE_DOUBLE = 1;</code>
-     */
-    const TYPE_DOUBLE = 1;
-    /**
-     * Field type float.
-     *
-     * Generated from protobuf enum <code>TYPE_FLOAT = 2;</code>
-     */
-    const TYPE_FLOAT = 2;
-    /**
-     * Field type int64.
-     *
-     * Generated from protobuf enum <code>TYPE_INT64 = 3;</code>
-     */
-    const TYPE_INT64 = 3;
-    /**
-     * Field type uint64.
-     *
-     * Generated from protobuf enum <code>TYPE_UINT64 = 4;</code>
-     */
-    const TYPE_UINT64 = 4;
-    /**
-     * Field type int32.
-     *
-     * Generated from protobuf enum <code>TYPE_INT32 = 5;</code>
-     */
-    const TYPE_INT32 = 5;
-    /**
-     * Field type fixed64.
-     *
-     * Generated from protobuf enum <code>TYPE_FIXED64 = 6;</code>
-     */
-    const TYPE_FIXED64 = 6;
-    /**
-     * Field type fixed32.
-     *
-     * Generated from protobuf enum <code>TYPE_FIXED32 = 7;</code>
-     */
-    const TYPE_FIXED32 = 7;
-    /**
-     * Field type bool.
-     *
-     * Generated from protobuf enum <code>TYPE_BOOL = 8;</code>
-     */
-    const TYPE_BOOL = 8;
-    /**
-     * Field type string.
-     *
-     * Generated from protobuf enum <code>TYPE_STRING = 9;</code>
-     */
-    const TYPE_STRING = 9;
-    /**
-     * Field type group. Proto2 syntax only, and deprecated.
-     *
-     * Generated from protobuf enum <code>TYPE_GROUP = 10;</code>
-     */
-    const TYPE_GROUP = 10;
-    /**
-     * Field type message.
-     *
-     * Generated from protobuf enum <code>TYPE_MESSAGE = 11;</code>
-     */
-    const TYPE_MESSAGE = 11;
-    /**
-     * Field type bytes.
-     *
-     * Generated from protobuf enum <code>TYPE_BYTES = 12;</code>
-     */
-    const TYPE_BYTES = 12;
-    /**
-     * Field type uint32.
-     *
-     * Generated from protobuf enum <code>TYPE_UINT32 = 13;</code>
-     */
-    const TYPE_UINT32 = 13;
-    /**
-     * Field type enum.
-     *
-     * Generated from protobuf enum <code>TYPE_ENUM = 14;</code>
-     */
-    const TYPE_ENUM = 14;
-    /**
-     * Field type sfixed32.
-     *
-     * Generated from protobuf enum <code>TYPE_SFIXED32 = 15;</code>
-     */
-    const TYPE_SFIXED32 = 15;
-    /**
-     * Field type sfixed64.
-     *
-     * Generated from protobuf enum <code>TYPE_SFIXED64 = 16;</code>
-     */
-    const TYPE_SFIXED64 = 16;
-    /**
-     * Field type sint32.
-     *
-     * Generated from protobuf enum <code>TYPE_SINT32 = 17;</code>
-     */
-    const TYPE_SINT32 = 17;
-    /**
-     * Field type sint64.
-     *
-     * Generated from protobuf enum <code>TYPE_SINT64 = 18;</code>
-     */
-    const TYPE_SINT64 = 18;
-
-    private static $valueToName = [
-        self::TYPE_UNKNOWN => 'TYPE_UNKNOWN',
-        self::TYPE_DOUBLE => 'TYPE_DOUBLE',
-        self::TYPE_FLOAT => 'TYPE_FLOAT',
-        self::TYPE_INT64 => 'TYPE_INT64',
-        self::TYPE_UINT64 => 'TYPE_UINT64',
-        self::TYPE_INT32 => 'TYPE_INT32',
-        self::TYPE_FIXED64 => 'TYPE_FIXED64',
-        self::TYPE_FIXED32 => 'TYPE_FIXED32',
-        self::TYPE_BOOL => 'TYPE_BOOL',
-        self::TYPE_STRING => 'TYPE_STRING',
-        self::TYPE_GROUP => 'TYPE_GROUP',
-        self::TYPE_MESSAGE => 'TYPE_MESSAGE',
-        self::TYPE_BYTES => 'TYPE_BYTES',
-        self::TYPE_UINT32 => 'TYPE_UINT32',
-        self::TYPE_ENUM => 'TYPE_ENUM',
-        self::TYPE_SFIXED32 => 'TYPE_SFIXED32',
-        self::TYPE_SFIXED64 => 'TYPE_SFIXED64',
-        self::TYPE_SINT32 => 'TYPE_SINT32',
-        self::TYPE_SINT64 => 'TYPE_SINT64',
-    ];
-
-    public static function name($value)
-    {
-        if (!isset(self::$valueToName[$value])) {
-            throw new UnexpectedValueException(sprintf(
-                    'Enum %s has no name defined for value %s', __CLASS__, $value));
-        }
-        return self::$valueToName[$value];
-    }
-
-
-    public static function value($name)
-    {
-        $const = __CLASS__ . '::' . strtoupper($name);
-        if (!defined($const)) {
-            throw new UnexpectedValueException(sprintf(
-                    'Enum %s has no value defined for name %s', __CLASS__, $name));
-        }
-        return constant($const);
-    }
-}
-
diff --git a/php/src/Google/Protobuf/FieldMask.php b/php/src/Google/Protobuf/FieldMask.php
deleted file mode 100644
index 2661c30704..0000000000
--- a/php/src/Google/Protobuf/FieldMask.php
+++ /dev/null
@@ -1,218 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/field_mask.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * `FieldMask` represents a set of symbolic field paths, for example:
- *     paths: "f.a"
- *     paths: "f.b.d"
- * Here `f` represents a field in some root message, `a` and `b`
- * fields in the message found in `f`, and `d` a field found in the
- * message in `f.b`.
- * Field masks are used to specify a subset of fields that should be
- * returned by a get operation or modified by an update operation.
- * Field masks also have a custom JSON encoding (see below).
- * # Field Masks in Projections
- * When used in the context of a projection, a response message or
- * sub-message is filtered by the API to only contain those fields as
- * specified in the mask. For example, if the mask in the previous
- * example is applied to a response message as follows:
- *     f {
- *       a : 22
- *       b {
- *         d : 1
- *         x : 2
- *       }
- *       y : 13
- *     }
- *     z: 8
- * The result will not contain specific values for fields x,y and z
- * (their value will be set to the default, and omitted in proto text
- * output):
- *     f {
- *       a : 22
- *       b {
- *         d : 1
- *       }
- *     }
- * A repeated field is not allowed except at the last position of a
- * paths string.
- * If a FieldMask object is not present in a get operation, the
- * operation applies to all fields (as if a FieldMask of all fields
- * had been specified).
- * Note that a field mask does not necessarily apply to the
- * top-level response message. In case of a REST get operation, the
- * field mask applies directly to the response, but in case of a REST
- * list operation, the mask instead applies to each individual message
- * in the returned resource list. In case of a REST custom method,
- * other definitions may be used. Where the mask applies will be
- * clearly documented together with its declaration in the API.  In
- * any case, the effect on the returned resource/resources is required
- * behavior for APIs.
- * # Field Masks in Update Operations
- * A field mask in update operations specifies which fields of the
- * targeted resource are going to be updated. The API is required
- * to only change the values of the fields as specified in the mask
- * and leave the others untouched. If a resource is passed in to
- * describe the updated values, the API ignores the values of all
- * fields not covered by the mask.
- * If a repeated field is specified for an update operation, new values will
- * be appended to the existing repeated field in the target resource. Note that
- * a repeated field is only allowed in the last position of a `paths` string.
- * If a sub-message is specified in the last position of the field mask for an
- * update operation, then new value will be merged into the existing sub-message
- * in the target resource.
- * For example, given the target message:
- *     f {
- *       b {
- *         d: 1
- *         x: 2
- *       }
- *       c: [1]
- *     }
- * And an update message:
- *     f {
- *       b {
- *         d: 10
- *       }
- *       c: [2]
- *     }
- * then if the field mask is:
- *  paths: ["f.b", "f.c"]
- * then the result will be:
- *     f {
- *       b {
- *         d: 10
- *         x: 2
- *       }
- *       c: [1, 2]
- *     }
- * An implementation may provide options to override this default behavior for
- * repeated and message fields.
- * In order to reset a field's value to the default, the field must
- * be in the mask and set to the default value in the provided resource.
- * Hence, in order to reset all fields of a resource, provide a default
- * instance of the resource and set all fields in the mask, or do
- * not provide a mask as described below.
- * If a field mask is not present on update, the operation applies to
- * all fields (as if a field mask of all fields has been specified).
- * Note that in the presence of schema evolution, this may mean that
- * fields the client does not know and has therefore not filled into
- * the request will be reset to their default. If this is unwanted
- * behavior, a specific service may require a client to always specify
- * a field mask, producing an error if not.
- * As with get operations, the location of the resource which
- * describes the updated values in the request message depends on the
- * operation kind. In any case, the effect of the field mask is
- * required to be honored by the API.
- * ## Considerations for HTTP REST
- * The HTTP kind of an update operation which uses a field mask must
- * be set to PATCH instead of PUT in order to satisfy HTTP semantics
- * (PUT must only be used for full updates).
- * # JSON Encoding of Field Masks
- * In JSON, a field mask is encoded as a single string where paths are
- * separated by a comma. Fields name in each path are converted
- * to/from lower-camel naming conventions.
- * As an example, consider the following message declarations:
- *     message Profile {
- *       User user = 1;
- *       Photo photo = 2;
- *     }
- *     message User {
- *       string display_name = 1;
- *       string address = 2;
- *     }
- * In proto a field mask for `Profile` may look as such:
- *     mask {
- *       paths: "user.display_name"
- *       paths: "photo"
- *     }
- * In JSON, the same mask is represented as below:
- *     {
- *       mask: "user.displayName,photo"
- *     }
- * # Field Masks and Oneof Fields
- * Field masks treat fields in oneofs just as regular fields. Consider the
- * following message:
- *     message SampleMessage {
- *       oneof test_oneof {
- *         string name = 4;
- *         SubMessage sub_message = 9;
- *       }
- *     }
- * The field mask can be:
- *     mask {
- *       paths: "name"
- *     }
- * Or:
- *     mask {
- *       paths: "sub_message"
- *     }
- * Note that oneof type names ("test_oneof" in this case) cannot be used in
- * paths.
- * ## Field Mask Verification
- * The implementation of any API method which has a FieldMask type field in the
- * request should verify the included field paths, and return an
- * `INVALID_ARGUMENT` error if any path is unmappable.
- *
- * Generated from protobuf message <code>google.protobuf.FieldMask</code>
- */
-class FieldMask extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * The set of field mask paths.
-     *
-     * Generated from protobuf field <code>repeated string paths = 1;</code>
-     */
-    private $paths;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type array<string>|\Google\Protobuf\Internal\RepeatedField $paths
-     *           The set of field mask paths.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\FieldMask::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * The set of field mask paths.
-     *
-     * Generated from protobuf field <code>repeated string paths = 1;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getPaths()
-    {
-        return $this->paths;
-    }
-
-    /**
-     * The set of field mask paths.
-     *
-     * Generated from protobuf field <code>repeated string paths = 1;</code>
-     * @param array<string>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setPaths($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
-        $this->paths = $arr;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/FloatValue.php b/php/src/Google/Protobuf/FloatValue.php
deleted file mode 100644
index 90c79156c0..0000000000
--- a/php/src/Google/Protobuf/FloatValue.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/wrappers.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Wrapper message for `float`.
- * The JSON representation for `FloatValue` is JSON number.
- *
- * Generated from protobuf message <code>google.protobuf.FloatValue</code>
- */
-class FloatValue extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * The float value.
-     *
-     * Generated from protobuf field <code>float value = 1;</code>
-     */
-    protected $value = 0.0;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type float $value
-     *           The float value.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Wrappers::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * The float value.
-     *
-     * Generated from protobuf field <code>float value = 1;</code>
-     * @return float
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * The float value.
-     *
-     * Generated from protobuf field <code>float value = 1;</code>
-     * @param float $var
-     * @return $this
-     */
-    public function setValue($var)
-    {
-        GPBUtil::checkFloat($var);
-        $this->value = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/GPBEmpty.php b/php/src/Google/Protobuf/GPBEmpty.php
deleted file mode 100644
index 24db6dc677..0000000000
--- a/php/src/Google/Protobuf/GPBEmpty.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/empty.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * A generic empty message that you can re-use to avoid defining duplicated
- * empty messages in your APIs. A typical example is to use it as the request
- * or the response type of an API method. For instance:
- *     service Foo {
- *       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
- *     }
- *
- * Generated from protobuf message <code>google.protobuf.Empty</code>
- */
-class GPBEmpty extends \Google\Protobuf\Internal\Message
-{
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\GPBEmpty::initOnce();
-        parent::__construct($data);
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Int32Value.php b/php/src/Google/Protobuf/Int32Value.php
deleted file mode 100644
index 98791408f3..0000000000
--- a/php/src/Google/Protobuf/Int32Value.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/wrappers.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Wrapper message for `int32`.
- * The JSON representation for `Int32Value` is JSON number.
- *
- * Generated from protobuf message <code>google.protobuf.Int32Value</code>
- */
-class Int32Value extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * The int32 value.
-     *
-     * Generated from protobuf field <code>int32 value = 1;</code>
-     */
-    protected $value = 0;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type int $value
-     *           The int32 value.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Wrappers::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * The int32 value.
-     *
-     * Generated from protobuf field <code>int32 value = 1;</code>
-     * @return int
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * The int32 value.
-     *
-     * Generated from protobuf field <code>int32 value = 1;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setValue($var)
-    {
-        GPBUtil::checkInt32($var);
-        $this->value = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Int64Value.php b/php/src/Google/Protobuf/Int64Value.php
deleted file mode 100644
index cb83ba4854..0000000000
--- a/php/src/Google/Protobuf/Int64Value.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/wrappers.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Wrapper message for `int64`.
- * The JSON representation for `Int64Value` is JSON string.
- *
- * Generated from protobuf message <code>google.protobuf.Int64Value</code>
- */
-class Int64Value extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * The int64 value.
-     *
-     * Generated from protobuf field <code>int64 value = 1;</code>
-     */
-    protected $value = 0;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type int|string $value
-     *           The int64 value.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Wrappers::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * The int64 value.
-     *
-     * Generated from protobuf field <code>int64 value = 1;</code>
-     * @return int|string
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * The int64 value.
-     *
-     * Generated from protobuf field <code>int64 value = 1;</code>
-     * @param int|string $var
-     * @return $this
-     */
-    public function setValue($var)
-    {
-        GPBUtil::checkInt64($var);
-        $this->value = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/DescriptorProto.php b/php/src/Google/Protobuf/Internal/DescriptorProto.php
deleted file mode 100644
index 6ce36334f9..0000000000
--- a/php/src/Google/Protobuf/Internal/DescriptorProto.php
+++ /dev/null
@@ -1,337 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Describes a message type.
- *
- * Generated from protobuf message <code>google.protobuf.DescriptorProto</code>
- */
-class DescriptorProto extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     */
-    protected $name = null;
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto field = 2;</code>
-     */
-    private $field;
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto extension = 6;</code>
-     */
-    private $extension;
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto nested_type = 3;</code>
-     */
-    private $nested_type;
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 4;</code>
-     */
-    private $enum_type;
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;</code>
-     */
-    private $extension_range;
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;</code>
-     */
-    private $oneof_decl;
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.MessageOptions options = 7;</code>
-     */
-    protected $options = null;
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;</code>
-     */
-    private $reserved_range;
-    /**
-     * Reserved field names, which may not be used by fields in the same message.
-     * A given name may only be reserved once.
-     *
-     * Generated from protobuf field <code>repeated string reserved_name = 10;</code>
-     */
-    private $reserved_name;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type string $name
-     *     @type array<\Google\Protobuf\Internal\FieldDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $field
-     *     @type array<\Google\Protobuf\Internal\FieldDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $extension
-     *     @type array<\Google\Protobuf\Internal\DescriptorProto>|\Google\Protobuf\Internal\RepeatedField $nested_type
-     *     @type array<\Google\Protobuf\Internal\EnumDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $enum_type
-     *     @type array<\Google\Protobuf\Internal\DescriptorProto\ExtensionRange>|\Google\Protobuf\Internal\RepeatedField $extension_range
-     *     @type array<\Google\Protobuf\Internal\OneofDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $oneof_decl
-     *     @type \Google\Protobuf\Internal\MessageOptions $options
-     *     @type array<\Google\Protobuf\Internal\DescriptorProto\ReservedRange>|\Google\Protobuf\Internal\RepeatedField $reserved_range
-     *     @type array<string>|\Google\Protobuf\Internal\RepeatedField $reserved_name
-     *           Reserved field names, which may not be used by fields in the same message.
-     *           A given name may only be reserved once.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     * @return string
-     */
-    public function getName()
-    {
-        return isset($this->name) ? $this->name : '';
-    }
-
-    public function hasName()
-    {
-        return isset($this->name);
-    }
-
-    public function clearName()
-    {
-        unset($this->name);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setName($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->name = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto field = 2;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getField()
-    {
-        return $this->field;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto field = 2;</code>
-     * @param array<\Google\Protobuf\Internal\FieldDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setField($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\FieldDescriptorProto::class);
-        $this->field = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto extension = 6;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getExtension()
-    {
-        return $this->extension;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto extension = 6;</code>
-     * @param array<\Google\Protobuf\Internal\FieldDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setExtension($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\FieldDescriptorProto::class);
-        $this->extension = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto nested_type = 3;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getNestedType()
-    {
-        return $this->nested_type;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto nested_type = 3;</code>
-     * @param array<\Google\Protobuf\Internal\DescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setNestedType($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\DescriptorProto::class);
-        $this->nested_type = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 4;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getEnumType()
-    {
-        return $this->enum_type;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 4;</code>
-     * @param array<\Google\Protobuf\Internal\EnumDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setEnumType($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\EnumDescriptorProto::class);
-        $this->enum_type = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getExtensionRange()
-    {
-        return $this->extension_range;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;</code>
-     * @param array<\Google\Protobuf\Internal\DescriptorProto\ExtensionRange>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setExtensionRange($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\DescriptorProto\ExtensionRange::class);
-        $this->extension_range = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getOneofDecl()
-    {
-        return $this->oneof_decl;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;</code>
-     * @param array<\Google\Protobuf\Internal\OneofDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setOneofDecl($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\OneofDescriptorProto::class);
-        $this->oneof_decl = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.MessageOptions options = 7;</code>
-     * @return \Google\Protobuf\Internal\MessageOptions|null
-     */
-    public function getOptions()
-    {
-        return $this->options;
-    }
-
-    public function hasOptions()
-    {
-        return isset($this->options);
-    }
-
-    public function clearOptions()
-    {
-        unset($this->options);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.MessageOptions options = 7;</code>
-     * @param \Google\Protobuf\Internal\MessageOptions $var
-     * @return $this
-     */
-    public function setOptions($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\MessageOptions::class);
-        $this->options = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getReservedRange()
-    {
-        return $this->reserved_range;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;</code>
-     * @param array<\Google\Protobuf\Internal\DescriptorProto\ReservedRange>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setReservedRange($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\DescriptorProto\ReservedRange::class);
-        $this->reserved_range = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Reserved field names, which may not be used by fields in the same message.
-     * A given name may only be reserved once.
-     *
-     * Generated from protobuf field <code>repeated string reserved_name = 10;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getReservedName()
-    {
-        return $this->reserved_name;
-    }
-
-    /**
-     * Reserved field names, which may not be used by fields in the same message.
-     * A given name may only be reserved once.
-     *
-     * Generated from protobuf field <code>repeated string reserved_name = 10;</code>
-     * @param array<string>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setReservedName($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
-        $this->reserved_name = $arr;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/DescriptorProto/ExtensionRange.php b/php/src/Google/Protobuf/Internal/DescriptorProto/ExtensionRange.php
deleted file mode 100644
index 387c6c78b1..0000000000
--- a/php/src/Google/Protobuf/Internal/DescriptorProto/ExtensionRange.php
+++ /dev/null
@@ -1,159 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal\DescriptorProto;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Generated from protobuf message <code>google.protobuf.DescriptorProto.ExtensionRange</code>
- */
-class ExtensionRange extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Inclusive.
-     *
-     * Generated from protobuf field <code>optional int32 start = 1;</code>
-     */
-    protected $start = null;
-    /**
-     * Exclusive.
-     *
-     * Generated from protobuf field <code>optional int32 end = 2;</code>
-     */
-    protected $end = null;
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.ExtensionRangeOptions options = 3;</code>
-     */
-    protected $options = null;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type int $start
-     *           Inclusive.
-     *     @type int $end
-     *           Exclusive.
-     *     @type \Google\Protobuf\Internal\ExtensionRangeOptions $options
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Inclusive.
-     *
-     * Generated from protobuf field <code>optional int32 start = 1;</code>
-     * @return int
-     */
-    public function getStart()
-    {
-        return isset($this->start) ? $this->start : 0;
-    }
-
-    public function hasStart()
-    {
-        return isset($this->start);
-    }
-
-    public function clearStart()
-    {
-        unset($this->start);
-    }
-
-    /**
-     * Inclusive.
-     *
-     * Generated from protobuf field <code>optional int32 start = 1;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setStart($var)
-    {
-        GPBUtil::checkInt32($var);
-        $this->start = $var;
-
-        return $this;
-    }
-
-    /**
-     * Exclusive.
-     *
-     * Generated from protobuf field <code>optional int32 end = 2;</code>
-     * @return int
-     */
-    public function getEnd()
-    {
-        return isset($this->end) ? $this->end : 0;
-    }
-
-    public function hasEnd()
-    {
-        return isset($this->end);
-    }
-
-    public function clearEnd()
-    {
-        unset($this->end);
-    }
-
-    /**
-     * Exclusive.
-     *
-     * Generated from protobuf field <code>optional int32 end = 2;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setEnd($var)
-    {
-        GPBUtil::checkInt32($var);
-        $this->end = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.ExtensionRangeOptions options = 3;</code>
-     * @return \Google\Protobuf\Internal\ExtensionRangeOptions|null
-     */
-    public function getOptions()
-    {
-        return $this->options;
-    }
-
-    public function hasOptions()
-    {
-        return isset($this->options);
-    }
-
-    public function clearOptions()
-    {
-        unset($this->options);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.ExtensionRangeOptions options = 3;</code>
-     * @param \Google\Protobuf\Internal\ExtensionRangeOptions $var
-     * @return $this
-     */
-    public function setOptions($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\ExtensionRangeOptions::class);
-        $this->options = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/DescriptorProto/ReservedRange.php b/php/src/Google/Protobuf/Internal/DescriptorProto/ReservedRange.php
deleted file mode 100644
index 63ff860481..0000000000
--- a/php/src/Google/Protobuf/Internal/DescriptorProto/ReservedRange.php
+++ /dev/null
@@ -1,126 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal\DescriptorProto;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Range of reserved tag numbers. Reserved tag numbers may not be used by
- * fields or extension ranges in the same message. Reserved ranges may
- * not overlap.
- *
- * Generated from protobuf message <code>google.protobuf.DescriptorProto.ReservedRange</code>
- */
-class ReservedRange extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Inclusive.
-     *
-     * Generated from protobuf field <code>optional int32 start = 1;</code>
-     */
-    protected $start = null;
-    /**
-     * Exclusive.
-     *
-     * Generated from protobuf field <code>optional int32 end = 2;</code>
-     */
-    protected $end = null;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type int $start
-     *           Inclusive.
-     *     @type int $end
-     *           Exclusive.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Inclusive.
-     *
-     * Generated from protobuf field <code>optional int32 start = 1;</code>
-     * @return int
-     */
-    public function getStart()
-    {
-        return isset($this->start) ? $this->start : 0;
-    }
-
-    public function hasStart()
-    {
-        return isset($this->start);
-    }
-
-    public function clearStart()
-    {
-        unset($this->start);
-    }
-
-    /**
-     * Inclusive.
-     *
-     * Generated from protobuf field <code>optional int32 start = 1;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setStart($var)
-    {
-        GPBUtil::checkInt32($var);
-        $this->start = $var;
-
-        return $this;
-    }
-
-    /**
-     * Exclusive.
-     *
-     * Generated from protobuf field <code>optional int32 end = 2;</code>
-     * @return int
-     */
-    public function getEnd()
-    {
-        return isset($this->end) ? $this->end : 0;
-    }
-
-    public function hasEnd()
-    {
-        return isset($this->end);
-    }
-
-    public function clearEnd()
-    {
-        unset($this->end);
-    }
-
-    /**
-     * Exclusive.
-     *
-     * Generated from protobuf field <code>optional int32 end = 2;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setEnd($var)
-    {
-        GPBUtil::checkInt32($var);
-        $this->end = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/EnumDescriptorProto.php b/php/src/Google/Protobuf/Internal/EnumDescriptorProto.php
deleted file mode 100644
index d0d22a2022..0000000000
--- a/php/src/Google/Protobuf/Internal/EnumDescriptorProto.php
+++ /dev/null
@@ -1,217 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Describes an enum type.
- *
- * Generated from protobuf message <code>google.protobuf.EnumDescriptorProto</code>
- */
-class EnumDescriptorProto extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     */
-    protected $name = null;
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.EnumValueDescriptorProto value = 2;</code>
-     */
-    private $value;
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.EnumOptions options = 3;</code>
-     */
-    protected $options = null;
-    /**
-     * Range of reserved numeric values. Reserved numeric values may not be used
-     * by enum values in the same enum declaration. Reserved ranges may not
-     * overlap.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4;</code>
-     */
-    private $reserved_range;
-    /**
-     * Reserved enum value names, which may not be reused. A given name may only
-     * be reserved once.
-     *
-     * Generated from protobuf field <code>repeated string reserved_name = 5;</code>
-     */
-    private $reserved_name;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type string $name
-     *     @type array<\Google\Protobuf\Internal\EnumValueDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $value
-     *     @type \Google\Protobuf\Internal\EnumOptions $options
-     *     @type array<\Google\Protobuf\Internal\EnumDescriptorProto\EnumReservedRange>|\Google\Protobuf\Internal\RepeatedField $reserved_range
-     *           Range of reserved numeric values. Reserved numeric values may not be used
-     *           by enum values in the same enum declaration. Reserved ranges may not
-     *           overlap.
-     *     @type array<string>|\Google\Protobuf\Internal\RepeatedField $reserved_name
-     *           Reserved enum value names, which may not be reused. A given name may only
-     *           be reserved once.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     * @return string
-     */
-    public function getName()
-    {
-        return isset($this->name) ? $this->name : '';
-    }
-
-    public function hasName()
-    {
-        return isset($this->name);
-    }
-
-    public function clearName()
-    {
-        unset($this->name);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setName($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->name = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.EnumValueDescriptorProto value = 2;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.EnumValueDescriptorProto value = 2;</code>
-     * @param array<\Google\Protobuf\Internal\EnumValueDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setValue($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\EnumValueDescriptorProto::class);
-        $this->value = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.EnumOptions options = 3;</code>
-     * @return \Google\Protobuf\Internal\EnumOptions|null
-     */
-    public function getOptions()
-    {
-        return $this->options;
-    }
-
-    public function hasOptions()
-    {
-        return isset($this->options);
-    }
-
-    public function clearOptions()
-    {
-        unset($this->options);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.EnumOptions options = 3;</code>
-     * @param \Google\Protobuf\Internal\EnumOptions $var
-     * @return $this
-     */
-    public function setOptions($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\EnumOptions::class);
-        $this->options = $var;
-
-        return $this;
-    }
-
-    /**
-     * Range of reserved numeric values. Reserved numeric values may not be used
-     * by enum values in the same enum declaration. Reserved ranges may not
-     * overlap.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getReservedRange()
-    {
-        return $this->reserved_range;
-    }
-
-    /**
-     * Range of reserved numeric values. Reserved numeric values may not be used
-     * by enum values in the same enum declaration. Reserved ranges may not
-     * overlap.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4;</code>
-     * @param array<\Google\Protobuf\Internal\EnumDescriptorProto\EnumReservedRange>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setReservedRange($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\EnumDescriptorProto\EnumReservedRange::class);
-        $this->reserved_range = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Reserved enum value names, which may not be reused. A given name may only
-     * be reserved once.
-     *
-     * Generated from protobuf field <code>repeated string reserved_name = 5;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getReservedName()
-    {
-        return $this->reserved_name;
-    }
-
-    /**
-     * Reserved enum value names, which may not be reused. A given name may only
-     * be reserved once.
-     *
-     * Generated from protobuf field <code>repeated string reserved_name = 5;</code>
-     * @param array<string>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setReservedName($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
-        $this->reserved_name = $arr;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/EnumDescriptorProto/EnumReservedRange.php b/php/src/Google/Protobuf/Internal/EnumDescriptorProto/EnumReservedRange.php
deleted file mode 100644
index 8c33acc3d5..0000000000
--- a/php/src/Google/Protobuf/Internal/EnumDescriptorProto/EnumReservedRange.php
+++ /dev/null
@@ -1,128 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal\EnumDescriptorProto;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Range of reserved numeric values. Reserved values may not be used by
- * entries in the same enum. Reserved ranges may not overlap.
- * Note that this is distinct from DescriptorProto.ReservedRange in that it
- * is inclusive such that it can appropriately represent the entire int32
- * domain.
- *
- * Generated from protobuf message <code>google.protobuf.EnumDescriptorProto.EnumReservedRange</code>
- */
-class EnumReservedRange extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Inclusive.
-     *
-     * Generated from protobuf field <code>optional int32 start = 1;</code>
-     */
-    protected $start = null;
-    /**
-     * Inclusive.
-     *
-     * Generated from protobuf field <code>optional int32 end = 2;</code>
-     */
-    protected $end = null;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type int $start
-     *           Inclusive.
-     *     @type int $end
-     *           Inclusive.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Inclusive.
-     *
-     * Generated from protobuf field <code>optional int32 start = 1;</code>
-     * @return int
-     */
-    public function getStart()
-    {
-        return isset($this->start) ? $this->start : 0;
-    }
-
-    public function hasStart()
-    {
-        return isset($this->start);
-    }
-
-    public function clearStart()
-    {
-        unset($this->start);
-    }
-
-    /**
-     * Inclusive.
-     *
-     * Generated from protobuf field <code>optional int32 start = 1;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setStart($var)
-    {
-        GPBUtil::checkInt32($var);
-        $this->start = $var;
-
-        return $this;
-    }
-
-    /**
-     * Inclusive.
-     *
-     * Generated from protobuf field <code>optional int32 end = 2;</code>
-     * @return int
-     */
-    public function getEnd()
-    {
-        return isset($this->end) ? $this->end : 0;
-    }
-
-    public function hasEnd()
-    {
-        return isset($this->end);
-    }
-
-    public function clearEnd()
-    {
-        unset($this->end);
-    }
-
-    /**
-     * Inclusive.
-     *
-     * Generated from protobuf field <code>optional int32 end = 2;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setEnd($var)
-    {
-        GPBUtil::checkInt32($var);
-        $this->end = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/EnumOptions.php b/php/src/Google/Protobuf/Internal/EnumOptions.php
deleted file mode 100644
index b7d2059606..0000000000
--- a/php/src/Google/Protobuf/Internal/EnumOptions.php
+++ /dev/null
@@ -1,291 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Generated from protobuf message <code>google.protobuf.EnumOptions</code>
- */
-class EnumOptions extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Set this option to true to allow mapping different tag names to the same
-     * value.
-     *
-     * Generated from protobuf field <code>optional bool allow_alias = 2;</code>
-     */
-    protected $allow_alias = null;
-    /**
-     * Is this enum deprecated?
-     * Depending on the target platform, this can emit Deprecated annotations
-     * for the enum, or it will be completely ignored; in the very least, this
-     * is a formalization for deprecating enums.
-     *
-     * Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
-     */
-    protected $deprecated = null;
-    /**
-     * Enable the legacy handling of JSON field name conflicts.  This lowercases
-     * and strips underscored from the fields before comparison in proto3 only.
-     * The new behavior takes `json_name` into account and applies to proto2 as
-     * well.
-     * TODO Remove this legacy behavior once downstream teams have
-     * had time to migrate.
-     *
-     * Generated from protobuf field <code>optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];</code>
-     * @deprecated
-     */
-    protected $deprecated_legacy_json_field_conflicts = null;
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 7;</code>
-     */
-    protected $features = null;
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     */
-    private $uninterpreted_option;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type bool $allow_alias
-     *           Set this option to true to allow mapping different tag names to the same
-     *           value.
-     *     @type bool $deprecated
-     *           Is this enum deprecated?
-     *           Depending on the target platform, this can emit Deprecated annotations
-     *           for the enum, or it will be completely ignored; in the very least, this
-     *           is a formalization for deprecating enums.
-     *     @type bool $deprecated_legacy_json_field_conflicts
-     *           Enable the legacy handling of JSON field name conflicts.  This lowercases
-     *           and strips underscored from the fields before comparison in proto3 only.
-     *           The new behavior takes `json_name` into account and applies to proto2 as
-     *           well.
-     *           TODO Remove this legacy behavior once downstream teams have
-     *           had time to migrate.
-     *     @type \Google\Protobuf\Internal\FeatureSet $features
-     *           Any features defined in the specific edition.
-     *     @type array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $uninterpreted_option
-     *           The parser stores options it doesn't recognize here. See above.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Set this option to true to allow mapping different tag names to the same
-     * value.
-     *
-     * Generated from protobuf field <code>optional bool allow_alias = 2;</code>
-     * @return bool
-     */
-    public function getAllowAlias()
-    {
-        return isset($this->allow_alias) ? $this->allow_alias : false;
-    }
-
-    public function hasAllowAlias()
-    {
-        return isset($this->allow_alias);
-    }
-
-    public function clearAllowAlias()
-    {
-        unset($this->allow_alias);
-    }
-
-    /**
-     * Set this option to true to allow mapping different tag names to the same
-     * value.
-     *
-     * Generated from protobuf field <code>optional bool allow_alias = 2;</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setAllowAlias($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->allow_alias = $var;
-
-        return $this;
-    }
-
-    /**
-     * Is this enum deprecated?
-     * Depending on the target platform, this can emit Deprecated annotations
-     * for the enum, or it will be completely ignored; in the very least, this
-     * is a formalization for deprecating enums.
-     *
-     * Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
-     * @return bool
-     */
-    public function getDeprecated()
-    {
-        return isset($this->deprecated) ? $this->deprecated : false;
-    }
-
-    public function hasDeprecated()
-    {
-        return isset($this->deprecated);
-    }
-
-    public function clearDeprecated()
-    {
-        unset($this->deprecated);
-    }
-
-    /**
-     * Is this enum deprecated?
-     * Depending on the target platform, this can emit Deprecated annotations
-     * for the enum, or it will be completely ignored; in the very least, this
-     * is a formalization for deprecating enums.
-     *
-     * Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setDeprecated($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->deprecated = $var;
-
-        return $this;
-    }
-
-    /**
-     * Enable the legacy handling of JSON field name conflicts.  This lowercases
-     * and strips underscored from the fields before comparison in proto3 only.
-     * The new behavior takes `json_name` into account and applies to proto2 as
-     * well.
-     * TODO Remove this legacy behavior once downstream teams have
-     * had time to migrate.
-     *
-     * Generated from protobuf field <code>optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];</code>
-     * @return bool
-     * @deprecated
-     */
-    public function getDeprecatedLegacyJsonFieldConflicts()
-    {
-        if (isset($this->deprecated_legacy_json_field_conflicts)) {
-            @trigger_error('deprecated_legacy_json_field_conflicts is deprecated.', E_USER_DEPRECATED);
-        }
-        return isset($this->deprecated_legacy_json_field_conflicts) ? $this->deprecated_legacy_json_field_conflicts : false;
-    }
-
-    public function hasDeprecatedLegacyJsonFieldConflicts()
-    {
-        if (isset($this->deprecated_legacy_json_field_conflicts)) {
-            @trigger_error('deprecated_legacy_json_field_conflicts is deprecated.', E_USER_DEPRECATED);
-        }
-        return isset($this->deprecated_legacy_json_field_conflicts);
-    }
-
-    public function clearDeprecatedLegacyJsonFieldConflicts()
-    {
-        @trigger_error('deprecated_legacy_json_field_conflicts is deprecated.', E_USER_DEPRECATED);
-        unset($this->deprecated_legacy_json_field_conflicts);
-    }
-
-    /**
-     * Enable the legacy handling of JSON field name conflicts.  This lowercases
-     * and strips underscored from the fields before comparison in proto3 only.
-     * The new behavior takes `json_name` into account and applies to proto2 as
-     * well.
-     * TODO Remove this legacy behavior once downstream teams have
-     * had time to migrate.
-     *
-     * Generated from protobuf field <code>optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];</code>
-     * @param bool $var
-     * @return $this
-     * @deprecated
-     */
-    public function setDeprecatedLegacyJsonFieldConflicts($var)
-    {
-        @trigger_error('deprecated_legacy_json_field_conflicts is deprecated.', E_USER_DEPRECATED);
-        GPBUtil::checkBool($var);
-        $this->deprecated_legacy_json_field_conflicts = $var;
-
-        return $this;
-    }
-
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 7;</code>
-     * @return \Google\Protobuf\Internal\FeatureSet|null
-     */
-    public function getFeatures()
-    {
-        return $this->features;
-    }
-
-    public function hasFeatures()
-    {
-        return isset($this->features);
-    }
-
-    public function clearFeatures()
-    {
-        unset($this->features);
-    }
-
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 7;</code>
-     * @param \Google\Protobuf\Internal\FeatureSet $var
-     * @return $this
-     */
-    public function setFeatures($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\FeatureSet::class);
-        $this->features = $var;
-
-        return $this;
-    }
-
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getUninterpretedOption()
-    {
-        return $this->uninterpreted_option;
-    }
-
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     * @param array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setUninterpretedOption($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\UninterpretedOption::class);
-        $this->uninterpreted_option = $arr;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/EnumValueDescriptorProto.php b/php/src/Google/Protobuf/Internal/EnumValueDescriptorProto.php
deleted file mode 100644
index 822e1de59b..0000000000
--- a/php/src/Google/Protobuf/Internal/EnumValueDescriptorProto.php
+++ /dev/null
@@ -1,147 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Describes a value within an enum.
- *
- * Generated from protobuf message <code>google.protobuf.EnumValueDescriptorProto</code>
- */
-class EnumValueDescriptorProto extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     */
-    protected $name = null;
-    /**
-     * Generated from protobuf field <code>optional int32 number = 2;</code>
-     */
-    protected $number = null;
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.EnumValueOptions options = 3;</code>
-     */
-    protected $options = null;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type string $name
-     *     @type int $number
-     *     @type \Google\Protobuf\Internal\EnumValueOptions $options
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     * @return string
-     */
-    public function getName()
-    {
-        return isset($this->name) ? $this->name : '';
-    }
-
-    public function hasName()
-    {
-        return isset($this->name);
-    }
-
-    public function clearName()
-    {
-        unset($this->name);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setName($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->name = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional int32 number = 2;</code>
-     * @return int
-     */
-    public function getNumber()
-    {
-        return isset($this->number) ? $this->number : 0;
-    }
-
-    public function hasNumber()
-    {
-        return isset($this->number);
-    }
-
-    public function clearNumber()
-    {
-        unset($this->number);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional int32 number = 2;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setNumber($var)
-    {
-        GPBUtil::checkInt32($var);
-        $this->number = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.EnumValueOptions options = 3;</code>
-     * @return \Google\Protobuf\Internal\EnumValueOptions|null
-     */
-    public function getOptions()
-    {
-        return $this->options;
-    }
-
-    public function hasOptions()
-    {
-        return isset($this->options);
-    }
-
-    public function clearOptions()
-    {
-        unset($this->options);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.EnumValueOptions options = 3;</code>
-     * @param \Google\Protobuf\Internal\EnumValueOptions $var
-     * @return $this
-     */
-    public function setOptions($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\EnumValueOptions::class);
-        $this->options = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/EnumValueOptions.php b/php/src/Google/Protobuf/Internal/EnumValueOptions.php
deleted file mode 100644
index f99234bd2f..0000000000
--- a/php/src/Google/Protobuf/Internal/EnumValueOptions.php
+++ /dev/null
@@ -1,264 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Generated from protobuf message <code>google.protobuf.EnumValueOptions</code>
- */
-class EnumValueOptions extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Is this enum value deprecated?
-     * Depending on the target platform, this can emit Deprecated annotations
-     * for the enum value, or it will be completely ignored; in the very least,
-     * this is a formalization for deprecating enum values.
-     *
-     * Generated from protobuf field <code>optional bool deprecated = 1 [default = false];</code>
-     */
-    protected $deprecated = null;
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 2;</code>
-     */
-    protected $features = null;
-    /**
-     * Indicate that fields annotated with this enum value should not be printed
-     * out when using debug formats, e.g. when the field contains sensitive
-     * credentials.
-     *
-     * Generated from protobuf field <code>optional bool debug_redact = 3 [default = false];</code>
-     */
-    protected $debug_redact = null;
-    /**
-     * Information about the support window of a feature value.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 4;</code>
-     */
-    protected $feature_support = null;
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     */
-    private $uninterpreted_option;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type bool $deprecated
-     *           Is this enum value deprecated?
-     *           Depending on the target platform, this can emit Deprecated annotations
-     *           for the enum value, or it will be completely ignored; in the very least,
-     *           this is a formalization for deprecating enum values.
-     *     @type \Google\Protobuf\Internal\FeatureSet $features
-     *           Any features defined in the specific edition.
-     *     @type bool $debug_redact
-     *           Indicate that fields annotated with this enum value should not be printed
-     *           out when using debug formats, e.g. when the field contains sensitive
-     *           credentials.
-     *     @type \Google\Protobuf\Internal\FieldOptions\FeatureSupport $feature_support
-     *           Information about the support window of a feature value.
-     *     @type array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $uninterpreted_option
-     *           The parser stores options it doesn't recognize here. See above.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Is this enum value deprecated?
-     * Depending on the target platform, this can emit Deprecated annotations
-     * for the enum value, or it will be completely ignored; in the very least,
-     * this is a formalization for deprecating enum values.
-     *
-     * Generated from protobuf field <code>optional bool deprecated = 1 [default = false];</code>
-     * @return bool
-     */
-    public function getDeprecated()
-    {
-        return isset($this->deprecated) ? $this->deprecated : false;
-    }
-
-    public function hasDeprecated()
-    {
-        return isset($this->deprecated);
-    }
-
-    public function clearDeprecated()
-    {
-        unset($this->deprecated);
-    }
-
-    /**
-     * Is this enum value deprecated?
-     * Depending on the target platform, this can emit Deprecated annotations
-     * for the enum value, or it will be completely ignored; in the very least,
-     * this is a formalization for deprecating enum values.
-     *
-     * Generated from protobuf field <code>optional bool deprecated = 1 [default = false];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setDeprecated($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->deprecated = $var;
-
-        return $this;
-    }
-
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 2;</code>
-     * @return \Google\Protobuf\Internal\FeatureSet|null
-     */
-    public function getFeatures()
-    {
-        return $this->features;
-    }
-
-    public function hasFeatures()
-    {
-        return isset($this->features);
-    }
-
-    public function clearFeatures()
-    {
-        unset($this->features);
-    }
-
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 2;</code>
-     * @param \Google\Protobuf\Internal\FeatureSet $var
-     * @return $this
-     */
-    public function setFeatures($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\FeatureSet::class);
-        $this->features = $var;
-
-        return $this;
-    }
-
-    /**
-     * Indicate that fields annotated with this enum value should not be printed
-     * out when using debug formats, e.g. when the field contains sensitive
-     * credentials.
-     *
-     * Generated from protobuf field <code>optional bool debug_redact = 3 [default = false];</code>
-     * @return bool
-     */
-    public function getDebugRedact()
-    {
-        return isset($this->debug_redact) ? $this->debug_redact : false;
-    }
-
-    public function hasDebugRedact()
-    {
-        return isset($this->debug_redact);
-    }
-
-    public function clearDebugRedact()
-    {
-        unset($this->debug_redact);
-    }
-
-    /**
-     * Indicate that fields annotated with this enum value should not be printed
-     * out when using debug formats, e.g. when the field contains sensitive
-     * credentials.
-     *
-     * Generated from protobuf field <code>optional bool debug_redact = 3 [default = false];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setDebugRedact($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->debug_redact = $var;
-
-        return $this;
-    }
-
-    /**
-     * Information about the support window of a feature value.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 4;</code>
-     * @return \Google\Protobuf\Internal\FieldOptions\FeatureSupport|null
-     */
-    public function getFeatureSupport()
-    {
-        return $this->feature_support;
-    }
-
-    public function hasFeatureSupport()
-    {
-        return isset($this->feature_support);
-    }
-
-    public function clearFeatureSupport()
-    {
-        unset($this->feature_support);
-    }
-
-    /**
-     * Information about the support window of a feature value.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 4;</code>
-     * @param \Google\Protobuf\Internal\FieldOptions\FeatureSupport $var
-     * @return $this
-     */
-    public function setFeatureSupport($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\FieldOptions\FeatureSupport::class);
-        $this->feature_support = $var;
-
-        return $this;
-    }
-
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getUninterpretedOption()
-    {
-        return $this->uninterpreted_option;
-    }
-
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     * @param array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setUninterpretedOption($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\UninterpretedOption::class);
-        $this->uninterpreted_option = $arr;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/ExtensionRangeOptions.php b/php/src/Google/Protobuf/Internal/ExtensionRangeOptions.php
deleted file mode 100644
index 2a969afb47..0000000000
--- a/php/src/Google/Protobuf/Internal/ExtensionRangeOptions.php
+++ /dev/null
@@ -1,206 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Generated from protobuf message <code>google.protobuf.ExtensionRangeOptions</code>
- */
-class ExtensionRangeOptions extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     */
-    private $uninterpreted_option;
-    /**
-     * For external users: DO NOT USE. We are in the process of open sourcing
-     * extension declaration and executing internal cleanups before it can be
-     * used externally.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.ExtensionRangeOptions.Declaration declaration = 2 [retention = RETENTION_SOURCE];</code>
-     */
-    private $declaration;
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 50;</code>
-     */
-    protected $features = null;
-    /**
-     * The verification state of the range.
-     * TODO: flip the default to DECLARATION once all empty ranges
-     * are marked as UNVERIFIED.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.ExtensionRangeOptions.VerificationState verification = 3 [default = UNVERIFIED, retention = RETENTION_SOURCE];</code>
-     */
-    protected $verification = null;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $uninterpreted_option
-     *           The parser stores options it doesn't recognize here. See above.
-     *     @type array<\Google\Protobuf\Internal\ExtensionRangeOptions\Declaration>|\Google\Protobuf\Internal\RepeatedField $declaration
-     *           For external users: DO NOT USE. We are in the process of open sourcing
-     *           extension declaration and executing internal cleanups before it can be
-     *           used externally.
-     *     @type \Google\Protobuf\Internal\FeatureSet $features
-     *           Any features defined in the specific edition.
-     *     @type int $verification
-     *           The verification state of the range.
-     *           TODO: flip the default to DECLARATION once all empty ranges
-     *           are marked as UNVERIFIED.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getUninterpretedOption()
-    {
-        return $this->uninterpreted_option;
-    }
-
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     * @param array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setUninterpretedOption($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\UninterpretedOption::class);
-        $this->uninterpreted_option = $arr;
-
-        return $this;
-    }
-
-    /**
-     * For external users: DO NOT USE. We are in the process of open sourcing
-     * extension declaration and executing internal cleanups before it can be
-     * used externally.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.ExtensionRangeOptions.Declaration declaration = 2 [retention = RETENTION_SOURCE];</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getDeclaration()
-    {
-        return $this->declaration;
-    }
-
-    /**
-     * For external users: DO NOT USE. We are in the process of open sourcing
-     * extension declaration and executing internal cleanups before it can be
-     * used externally.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.ExtensionRangeOptions.Declaration declaration = 2 [retention = RETENTION_SOURCE];</code>
-     * @param array<\Google\Protobuf\Internal\ExtensionRangeOptions\Declaration>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setDeclaration($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\ExtensionRangeOptions\Declaration::class);
-        $this->declaration = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 50;</code>
-     * @return \Google\Protobuf\Internal\FeatureSet|null
-     */
-    public function getFeatures()
-    {
-        return $this->features;
-    }
-
-    public function hasFeatures()
-    {
-        return isset($this->features);
-    }
-
-    public function clearFeatures()
-    {
-        unset($this->features);
-    }
-
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 50;</code>
-     * @param \Google\Protobuf\Internal\FeatureSet $var
-     * @return $this
-     */
-    public function setFeatures($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\FeatureSet::class);
-        $this->features = $var;
-
-        return $this;
-    }
-
-    /**
-     * The verification state of the range.
-     * TODO: flip the default to DECLARATION once all empty ranges
-     * are marked as UNVERIFIED.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.ExtensionRangeOptions.VerificationState verification = 3 [default = UNVERIFIED, retention = RETENTION_SOURCE];</code>
-     * @return int
-     */
-    public function getVerification()
-    {
-        return isset($this->verification) ? $this->verification : 0;
-    }
-
-    public function hasVerification()
-    {
-        return isset($this->verification);
-    }
-
-    public function clearVerification()
-    {
-        unset($this->verification);
-    }
-
-    /**
-     * The verification state of the range.
-     * TODO: flip the default to DECLARATION once all empty ranges
-     * are marked as UNVERIFIED.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.ExtensionRangeOptions.VerificationState verification = 3 [default = UNVERIFIED, retention = RETENTION_SOURCE];</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setVerification($var)
-    {
-        GPBUtil::checkEnum($var, \Google\Protobuf\Internal\ExtensionRangeOptions\VerificationState::class);
-        $this->verification = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/FieldDescriptorProto.php b/php/src/Google/Protobuf/Internal/FieldDescriptorProto.php
deleted file mode 100644
index e493f53eb4..0000000000
--- a/php/src/Google/Protobuf/Internal/FieldDescriptorProto.php
+++ /dev/null
@@ -1,612 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Describes a field within a message.
- *
- * Generated from protobuf message <code>google.protobuf.FieldDescriptorProto</code>
- */
-class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     */
-    protected $name = null;
-    /**
-     * Generated from protobuf field <code>optional int32 number = 3;</code>
-     */
-    protected $number = null;
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Label label = 4;</code>
-     */
-    protected $label = null;
-    /**
-     * If type_name is set, this need not be set.  If both this and type_name
-     * are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Type type = 5;</code>
-     */
-    protected $type = null;
-    /**
-     * For message and enum types, this is the name of the type.  If the name
-     * starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
-     * rules are used to find the type (i.e. first the nested types within this
-     * message are searched, then within the parent, on up to the root
-     * namespace).
-     *
-     * Generated from protobuf field <code>optional string type_name = 6;</code>
-     */
-    protected $type_name = null;
-    /**
-     * For extensions, this is the name of the type being extended.  It is
-     * resolved in the same manner as type_name.
-     *
-     * Generated from protobuf field <code>optional string extendee = 2;</code>
-     */
-    protected $extendee = null;
-    /**
-     * For numeric types, contains the original text representation of the value.
-     * For booleans, "true" or "false".
-     * For strings, contains the default text contents (not escaped in any way).
-     * For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
-     *
-     * Generated from protobuf field <code>optional string default_value = 7;</code>
-     */
-    protected $default_value = null;
-    /**
-     * If set, gives the index of a oneof in the containing type's oneof_decl
-     * list.  This field is a member of that oneof.
-     *
-     * Generated from protobuf field <code>optional int32 oneof_index = 9;</code>
-     */
-    protected $oneof_index = null;
-    /**
-     * JSON name of this field. The value is set by protocol compiler. If the
-     * user has set a "json_name" option on this field, that option's value
-     * will be used. Otherwise, it's deduced from the field's name by converting
-     * it to camelCase.
-     *
-     * Generated from protobuf field <code>optional string json_name = 10;</code>
-     */
-    protected $json_name = null;
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.FieldOptions options = 8;</code>
-     */
-    protected $options = null;
-    /**
-     * If true, this is a proto3 "optional". When a proto3 field is optional, it
-     * tracks presence regardless of field type.
-     * When proto3_optional is true, this field must belong to a oneof to signal
-     * to old proto3 clients that presence is tracked for this field. This oneof
-     * is known as a "synthetic" oneof, and this field must be its sole member
-     * (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs
-     * exist in the descriptor only, and do not generate any API. Synthetic oneofs
-     * must be ordered after all "real" oneofs.
-     * For message fields, proto3_optional doesn't create any semantic change,
-     * since non-repeated message fields always track presence. However it still
-     * indicates the semantic detail of whether the user wrote "optional" or not.
-     * This can be useful for round-tripping the .proto file. For consistency we
-     * give message fields a synthetic oneof also, even though it is not required
-     * to track presence. This is especially important because the parser can't
-     * tell if a field is a message or an enum, so it must always create a
-     * synthetic oneof.
-     * Proto2 optional fields do not set this flag, because they already indicate
-     * optional with `LABEL_OPTIONAL`.
-     *
-     * Generated from protobuf field <code>optional bool proto3_optional = 17;</code>
-     */
-    protected $proto3_optional = null;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type string $name
-     *     @type int $number
-     *     @type int $label
-     *     @type int $type
-     *           If type_name is set, this need not be set.  If both this and type_name
-     *           are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
-     *     @type string $type_name
-     *           For message and enum types, this is the name of the type.  If the name
-     *           starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
-     *           rules are used to find the type (i.e. first the nested types within this
-     *           message are searched, then within the parent, on up to the root
-     *           namespace).
-     *     @type string $extendee
-     *           For extensions, this is the name of the type being extended.  It is
-     *           resolved in the same manner as type_name.
-     *     @type string $default_value
-     *           For numeric types, contains the original text representation of the value.
-     *           For booleans, "true" or "false".
-     *           For strings, contains the default text contents (not escaped in any way).
-     *           For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
-     *     @type int $oneof_index
-     *           If set, gives the index of a oneof in the containing type's oneof_decl
-     *           list.  This field is a member of that oneof.
-     *     @type string $json_name
-     *           JSON name of this field. The value is set by protocol compiler. If the
-     *           user has set a "json_name" option on this field, that option's value
-     *           will be used. Otherwise, it's deduced from the field's name by converting
-     *           it to camelCase.
-     *     @type \Google\Protobuf\Internal\FieldOptions $options
-     *     @type bool $proto3_optional
-     *           If true, this is a proto3 "optional". When a proto3 field is optional, it
-     *           tracks presence regardless of field type.
-     *           When proto3_optional is true, this field must belong to a oneof to signal
-     *           to old proto3 clients that presence is tracked for this field. This oneof
-     *           is known as a "synthetic" oneof, and this field must be its sole member
-     *           (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs
-     *           exist in the descriptor only, and do not generate any API. Synthetic oneofs
-     *           must be ordered after all "real" oneofs.
-     *           For message fields, proto3_optional doesn't create any semantic change,
-     *           since non-repeated message fields always track presence. However it still
-     *           indicates the semantic detail of whether the user wrote "optional" or not.
-     *           This can be useful for round-tripping the .proto file. For consistency we
-     *           give message fields a synthetic oneof also, even though it is not required
-     *           to track presence. This is especially important because the parser can't
-     *           tell if a field is a message or an enum, so it must always create a
-     *           synthetic oneof.
-     *           Proto2 optional fields do not set this flag, because they already indicate
-     *           optional with `LABEL_OPTIONAL`.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     * @return string
-     */
-    public function getName()
-    {
-        return isset($this->name) ? $this->name : '';
-    }
-
-    public function hasName()
-    {
-        return isset($this->name);
-    }
-
-    public function clearName()
-    {
-        unset($this->name);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setName($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->name = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional int32 number = 3;</code>
-     * @return int
-     */
-    public function getNumber()
-    {
-        return isset($this->number) ? $this->number : 0;
-    }
-
-    public function hasNumber()
-    {
-        return isset($this->number);
-    }
-
-    public function clearNumber()
-    {
-        unset($this->number);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional int32 number = 3;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setNumber($var)
-    {
-        GPBUtil::checkInt32($var);
-        $this->number = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Label label = 4;</code>
-     * @return int
-     */
-    public function getLabel()
-    {
-        return isset($this->label) ? $this->label : 0;
-    }
-
-    public function hasLabel()
-    {
-        return isset($this->label);
-    }
-
-    public function clearLabel()
-    {
-        unset($this->label);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Label label = 4;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setLabel($var)
-    {
-        GPBUtil::checkEnum($var, \Google\Protobuf\Internal\FieldDescriptorProto\Label::class);
-        $this->label = $var;
-
-        return $this;
-    }
-
-    /**
-     * If type_name is set, this need not be set.  If both this and type_name
-     * are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Type type = 5;</code>
-     * @return int
-     */
-    public function getType()
-    {
-        return isset($this->type) ? $this->type : 0;
-    }
-
-    public function hasType()
-    {
-        return isset($this->type);
-    }
-
-    public function clearType()
-    {
-        unset($this->type);
-    }
-
-    /**
-     * If type_name is set, this need not be set.  If both this and type_name
-     * are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Type type = 5;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setType($var)
-    {
-        GPBUtil::checkEnum($var, \Google\Protobuf\Internal\FieldDescriptorProto\Type::class);
-        $this->type = $var;
-
-        return $this;
-    }
-
-    /**
-     * For message and enum types, this is the name of the type.  If the name
-     * starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
-     * rules are used to find the type (i.e. first the nested types within this
-     * message are searched, then within the parent, on up to the root
-     * namespace).
-     *
-     * Generated from protobuf field <code>optional string type_name = 6;</code>
-     * @return string
-     */
-    public function getTypeName()
-    {
-        return isset($this->type_name) ? $this->type_name : '';
-    }
-
-    public function hasTypeName()
-    {
-        return isset($this->type_name);
-    }
-
-    public function clearTypeName()
-    {
-        unset($this->type_name);
-    }
-
-    /**
-     * For message and enum types, this is the name of the type.  If the name
-     * starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
-     * rules are used to find the type (i.e. first the nested types within this
-     * message are searched, then within the parent, on up to the root
-     * namespace).
-     *
-     * Generated from protobuf field <code>optional string type_name = 6;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setTypeName($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->type_name = $var;
-
-        return $this;
-    }
-
-    /**
-     * For extensions, this is the name of the type being extended.  It is
-     * resolved in the same manner as type_name.
-     *
-     * Generated from protobuf field <code>optional string extendee = 2;</code>
-     * @return string
-     */
-    public function getExtendee()
-    {
-        return isset($this->extendee) ? $this->extendee : '';
-    }
-
-    public function hasExtendee()
-    {
-        return isset($this->extendee);
-    }
-
-    public function clearExtendee()
-    {
-        unset($this->extendee);
-    }
-
-    /**
-     * For extensions, this is the name of the type being extended.  It is
-     * resolved in the same manner as type_name.
-     *
-     * Generated from protobuf field <code>optional string extendee = 2;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setExtendee($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->extendee = $var;
-
-        return $this;
-    }
-
-    /**
-     * For numeric types, contains the original text representation of the value.
-     * For booleans, "true" or "false".
-     * For strings, contains the default text contents (not escaped in any way).
-     * For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
-     *
-     * Generated from protobuf field <code>optional string default_value = 7;</code>
-     * @return string
-     */
-    public function getDefaultValue()
-    {
-        return isset($this->default_value) ? $this->default_value : '';
-    }
-
-    public function hasDefaultValue()
-    {
-        return isset($this->default_value);
-    }
-
-    public function clearDefaultValue()
-    {
-        unset($this->default_value);
-    }
-
-    /**
-     * For numeric types, contains the original text representation of the value.
-     * For booleans, "true" or "false".
-     * For strings, contains the default text contents (not escaped in any way).
-     * For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
-     *
-     * Generated from protobuf field <code>optional string default_value = 7;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setDefaultValue($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->default_value = $var;
-
-        return $this;
-    }
-
-    /**
-     * If set, gives the index of a oneof in the containing type's oneof_decl
-     * list.  This field is a member of that oneof.
-     *
-     * Generated from protobuf field <code>optional int32 oneof_index = 9;</code>
-     * @return int
-     */
-    public function getOneofIndex()
-    {
-        return isset($this->oneof_index) ? $this->oneof_index : 0;
-    }
-
-    public function hasOneofIndex()
-    {
-        return isset($this->oneof_index);
-    }
-
-    public function clearOneofIndex()
-    {
-        unset($this->oneof_index);
-    }
-
-    /**
-     * If set, gives the index of a oneof in the containing type's oneof_decl
-     * list.  This field is a member of that oneof.
-     *
-     * Generated from protobuf field <code>optional int32 oneof_index = 9;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setOneofIndex($var)
-    {
-        GPBUtil::checkInt32($var);
-        $this->oneof_index = $var;
-
-        return $this;
-    }
-
-    /**
-     * JSON name of this field. The value is set by protocol compiler. If the
-     * user has set a "json_name" option on this field, that option's value
-     * will be used. Otherwise, it's deduced from the field's name by converting
-     * it to camelCase.
-     *
-     * Generated from protobuf field <code>optional string json_name = 10;</code>
-     * @return string
-     */
-    public function getJsonName()
-    {
-        return isset($this->json_name) ? $this->json_name : '';
-    }
-
-    public function hasJsonName()
-    {
-        return isset($this->json_name);
-    }
-
-    public function clearJsonName()
-    {
-        unset($this->json_name);
-    }
-
-    /**
-     * JSON name of this field. The value is set by protocol compiler. If the
-     * user has set a "json_name" option on this field, that option's value
-     * will be used. Otherwise, it's deduced from the field's name by converting
-     * it to camelCase.
-     *
-     * Generated from protobuf field <code>optional string json_name = 10;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setJsonName($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->json_name = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.FieldOptions options = 8;</code>
-     * @return \Google\Protobuf\Internal\FieldOptions|null
-     */
-    public function getOptions()
-    {
-        return $this->options;
-    }
-
-    public function hasOptions()
-    {
-        return isset($this->options);
-    }
-
-    public function clearOptions()
-    {
-        unset($this->options);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.FieldOptions options = 8;</code>
-     * @param \Google\Protobuf\Internal\FieldOptions $var
-     * @return $this
-     */
-    public function setOptions($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\FieldOptions::class);
-        $this->options = $var;
-
-        return $this;
-    }
-
-    /**
-     * If true, this is a proto3 "optional". When a proto3 field is optional, it
-     * tracks presence regardless of field type.
-     * When proto3_optional is true, this field must belong to a oneof to signal
-     * to old proto3 clients that presence is tracked for this field. This oneof
-     * is known as a "synthetic" oneof, and this field must be its sole member
-     * (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs
-     * exist in the descriptor only, and do not generate any API. Synthetic oneofs
-     * must be ordered after all "real" oneofs.
-     * For message fields, proto3_optional doesn't create any semantic change,
-     * since non-repeated message fields always track presence. However it still
-     * indicates the semantic detail of whether the user wrote "optional" or not.
-     * This can be useful for round-tripping the .proto file. For consistency we
-     * give message fields a synthetic oneof also, even though it is not required
-     * to track presence. This is especially important because the parser can't
-     * tell if a field is a message or an enum, so it must always create a
-     * synthetic oneof.
-     * Proto2 optional fields do not set this flag, because they already indicate
-     * optional with `LABEL_OPTIONAL`.
-     *
-     * Generated from protobuf field <code>optional bool proto3_optional = 17;</code>
-     * @return bool
-     */
-    public function getProto3Optional()
-    {
-        return isset($this->proto3_optional) ? $this->proto3_optional : false;
-    }
-
-    public function hasProto3Optional()
-    {
-        return isset($this->proto3_optional);
-    }
-
-    public function clearProto3Optional()
-    {
-        unset($this->proto3_optional);
-    }
-
-    /**
-     * If true, this is a proto3 "optional". When a proto3 field is optional, it
-     * tracks presence regardless of field type.
-     * When proto3_optional is true, this field must belong to a oneof to signal
-     * to old proto3 clients that presence is tracked for this field. This oneof
-     * is known as a "synthetic" oneof, and this field must be its sole member
-     * (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs
-     * exist in the descriptor only, and do not generate any API. Synthetic oneofs
-     * must be ordered after all "real" oneofs.
-     * For message fields, proto3_optional doesn't create any semantic change,
-     * since non-repeated message fields always track presence. However it still
-     * indicates the semantic detail of whether the user wrote "optional" or not.
-     * This can be useful for round-tripping the .proto file. For consistency we
-     * give message fields a synthetic oneof also, even though it is not required
-     * to track presence. This is especially important because the parser can't
-     * tell if a field is a message or an enum, so it must always create a
-     * synthetic oneof.
-     * Proto2 optional fields do not set this flag, because they already indicate
-     * optional with `LABEL_OPTIONAL`.
-     *
-     * Generated from protobuf field <code>optional bool proto3_optional = 17;</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setProto3Optional($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->proto3_optional = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/FieldDescriptorProto/Label.php b/php/src/Google/Protobuf/Internal/FieldDescriptorProto/Label.php
deleted file mode 100644
index eb091e397f..0000000000
--- a/php/src/Google/Protobuf/Internal/FieldDescriptorProto/Label.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal\FieldDescriptorProto;
-
-use UnexpectedValueException;
-
-/**
- * Protobuf type <code>google.protobuf.FieldDescriptorProto.Label</code>
- */
-class Label
-{
-    /**
-     * 0 is reserved for errors
-     *
-     * Generated from protobuf enum <code>LABEL_OPTIONAL = 1;</code>
-     */
-    const LABEL_OPTIONAL = 1;
-    /**
-     * Generated from protobuf enum <code>LABEL_REPEATED = 3;</code>
-     */
-    const LABEL_REPEATED = 3;
-    /**
-     * The required label is only allowed in google.protobuf.  In proto3 and Editions
-     * it's explicitly prohibited.  In Editions, the `field_presence` feature
-     * can be used to get this behavior.
-     *
-     * Generated from protobuf enum <code>LABEL_REQUIRED = 2;</code>
-     */
-    const LABEL_REQUIRED = 2;
-
-    private static $valueToName = [
-        self::LABEL_OPTIONAL => 'LABEL_OPTIONAL',
-        self::LABEL_REPEATED => 'LABEL_REPEATED',
-        self::LABEL_REQUIRED => 'LABEL_REQUIRED',
-    ];
-
-    public static function name($value)
-    {
-        if (!isset(self::$valueToName[$value])) {
-            throw new UnexpectedValueException(sprintf(
-                    'Enum %s has no name defined for value %s', __CLASS__, $value));
-        }
-        return self::$valueToName[$value];
-    }
-
-
-    public static function value($name)
-    {
-        $const = __CLASS__ . '::' . strtoupper($name);
-        if (!defined($const)) {
-            throw new UnexpectedValueException(sprintf(
-                    'Enum %s has no value defined for name %s', __CLASS__, $name));
-        }
-        return constant($const);
-    }
-}
-
diff --git a/php/src/Google/Protobuf/Internal/FieldDescriptorProto/Type.php b/php/src/Google/Protobuf/Internal/FieldDescriptorProto/Type.php
deleted file mode 100644
index 80c8395ba4..0000000000
--- a/php/src/Google/Protobuf/Internal/FieldDescriptorProto/Type.php
+++ /dev/null
@@ -1,152 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal\FieldDescriptorProto;
-
-use UnexpectedValueException;
-
-/**
- * Protobuf type <code>google.protobuf.FieldDescriptorProto.Type</code>
- */
-class Type
-{
-    /**
-     * 0 is reserved for errors.
-     * Order is weird for historical reasons.
-     *
-     * Generated from protobuf enum <code>TYPE_DOUBLE = 1;</code>
-     */
-    const TYPE_DOUBLE = 1;
-    /**
-     * Generated from protobuf enum <code>TYPE_FLOAT = 2;</code>
-     */
-    const TYPE_FLOAT = 2;
-    /**
-     * Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT64 if
-     * negative values are likely.
-     *
-     * Generated from protobuf enum <code>TYPE_INT64 = 3;</code>
-     */
-    const TYPE_INT64 = 3;
-    /**
-     * Generated from protobuf enum <code>TYPE_UINT64 = 4;</code>
-     */
-    const TYPE_UINT64 = 4;
-    /**
-     * Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT32 if
-     * negative values are likely.
-     *
-     * Generated from protobuf enum <code>TYPE_INT32 = 5;</code>
-     */
-    const TYPE_INT32 = 5;
-    /**
-     * Generated from protobuf enum <code>TYPE_FIXED64 = 6;</code>
-     */
-    const TYPE_FIXED64 = 6;
-    /**
-     * Generated from protobuf enum <code>TYPE_FIXED32 = 7;</code>
-     */
-    const TYPE_FIXED32 = 7;
-    /**
-     * Generated from protobuf enum <code>TYPE_BOOL = 8;</code>
-     */
-    const TYPE_BOOL = 8;
-    /**
-     * Generated from protobuf enum <code>TYPE_STRING = 9;</code>
-     */
-    const TYPE_STRING = 9;
-    /**
-     * Tag-delimited aggregate.
-     * Group type is deprecated and not supported after google.protobuf. However, Proto3
-     * implementations should still be able to parse the group wire format and
-     * treat group fields as unknown fields.  In Editions, the group wire format
-     * can be enabled via the `message_encoding` feature.
-     *
-     * Generated from protobuf enum <code>TYPE_GROUP = 10;</code>
-     */
-    const TYPE_GROUP = 10;
-    /**
-     * Length-delimited aggregate.
-     *
-     * Generated from protobuf enum <code>TYPE_MESSAGE = 11;</code>
-     */
-    const TYPE_MESSAGE = 11;
-    /**
-     * New in version 2.
-     *
-     * Generated from protobuf enum <code>TYPE_BYTES = 12;</code>
-     */
-    const TYPE_BYTES = 12;
-    /**
-     * Generated from protobuf enum <code>TYPE_UINT32 = 13;</code>
-     */
-    const TYPE_UINT32 = 13;
-    /**
-     * Generated from protobuf enum <code>TYPE_ENUM = 14;</code>
-     */
-    const TYPE_ENUM = 14;
-    /**
-     * Generated from protobuf enum <code>TYPE_SFIXED32 = 15;</code>
-     */
-    const TYPE_SFIXED32 = 15;
-    /**
-     * Generated from protobuf enum <code>TYPE_SFIXED64 = 16;</code>
-     */
-    const TYPE_SFIXED64 = 16;
-    /**
-     * Uses ZigZag encoding.
-     *
-     * Generated from protobuf enum <code>TYPE_SINT32 = 17;</code>
-     */
-    const TYPE_SINT32 = 17;
-    /**
-     * Uses ZigZag encoding.
-     *
-     * Generated from protobuf enum <code>TYPE_SINT64 = 18;</code>
-     */
-    const TYPE_SINT64 = 18;
-
-    private static $valueToName = [
-        self::TYPE_DOUBLE => 'TYPE_DOUBLE',
-        self::TYPE_FLOAT => 'TYPE_FLOAT',
-        self::TYPE_INT64 => 'TYPE_INT64',
-        self::TYPE_UINT64 => 'TYPE_UINT64',
-        self::TYPE_INT32 => 'TYPE_INT32',
-        self::TYPE_FIXED64 => 'TYPE_FIXED64',
-        self::TYPE_FIXED32 => 'TYPE_FIXED32',
-        self::TYPE_BOOL => 'TYPE_BOOL',
-        self::TYPE_STRING => 'TYPE_STRING',
-        self::TYPE_GROUP => 'TYPE_GROUP',
-        self::TYPE_MESSAGE => 'TYPE_MESSAGE',
-        self::TYPE_BYTES => 'TYPE_BYTES',
-        self::TYPE_UINT32 => 'TYPE_UINT32',
-        self::TYPE_ENUM => 'TYPE_ENUM',
-        self::TYPE_SFIXED32 => 'TYPE_SFIXED32',
-        self::TYPE_SFIXED64 => 'TYPE_SFIXED64',
-        self::TYPE_SINT32 => 'TYPE_SINT32',
-        self::TYPE_SINT64 => 'TYPE_SINT64',
-    ];
-
-    public static function name($value)
-    {
-        if (!isset(self::$valueToName[$value])) {
-            throw new UnexpectedValueException(sprintf(
-                    'Enum %s has no name defined for value %s', __CLASS__, $value));
-        }
-        return self::$valueToName[$value];
-    }
-
-
-    public static function value($name)
-    {
-        $const = __CLASS__ . '::' . strtoupper($name);
-        if (!defined($const)) {
-            throw new UnexpectedValueException(sprintf(
-                    'Enum %s has no value defined for name %s', __CLASS__, $name));
-        }
-        return constant($const);
-    }
-}
-
diff --git a/php/src/Google/Protobuf/Internal/FieldOptions.php b/php/src/Google/Protobuf/Internal/FieldOptions.php
deleted file mode 100644
index efde73f695..0000000000
--- a/php/src/Google/Protobuf/Internal/FieldOptions.php
+++ /dev/null
@@ -1,772 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Generated from protobuf message <code>google.protobuf.FieldOptions</code>
- */
-class FieldOptions extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * NOTE: ctype is deprecated. Use `features.(pb.cpp).string_type` instead.
-     * The ctype option instructs the C++ code generator to use a different
-     * representation of the field than it normally would.  See the specific
-     * options below.  This option is only implemented to support use of
-     * [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of
-     * type "bytes" in the open source release.
-     * TODO: make ctype actually deprecated.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];</code>
-     */
-    protected $ctype = null;
-    /**
-     * The packed option can be enabled for repeated primitive fields to enable
-     * a more efficient representation on the wire. Rather than repeatedly
-     * writing the tag and type for each element, the entire array is encoded as
-     * a single length-delimited blob. In proto3, only explicit setting it to
-     * false will avoid using packed encoding.  This option is prohibited in
-     * Editions, but the `repeated_field_encoding` feature can be used to control
-     * the behavior.
-     *
-     * Generated from protobuf field <code>optional bool packed = 2;</code>
-     */
-    protected $packed = null;
-    /**
-     * The jstype option determines the JavaScript type used for values of the
-     * field.  The option is permitted only for 64 bit integral and fixed types
-     * (int64, uint64, sint64, fixed64, sfixed64).  A field with jstype JS_STRING
-     * is represented as JavaScript string, which avoids loss of precision that
-     * can happen when a large value is converted to a floating point JavaScript.
-     * Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
-     * use the JavaScript "number" type.  The behavior of the default option
-     * JS_NORMAL is implementation dependent.
-     * This option is an enum to permit additional types to be added, e.g.
-     * goog.math.Integer.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];</code>
-     */
-    protected $jstype = null;
-    /**
-     * Should this field be parsed lazily?  Lazy applies only to message-type
-     * fields.  It means that when the outer message is initially parsed, the
-     * inner message's contents will not be parsed but instead stored in encoded
-     * form.  The inner message will actually be parsed when it is first accessed.
-     * This is only a hint.  Implementations are free to choose whether to use
-     * eager or lazy parsing regardless of the value of this option.  However,
-     * setting this option true suggests that the protocol author believes that
-     * using lazy parsing on this field is worth the additional bookkeeping
-     * overhead typically needed to implement it.
-     * This option does not affect the public interface of any generated code;
-     * all method signatures remain the same.  Furthermore, thread-safety of the
-     * interface is not affected by this option; const methods remain safe to
-     * call from multiple threads concurrently, while non-const methods continue
-     * to require exclusive access.
-     * Note that lazy message fields are still eagerly verified to check
-     * ill-formed wireformat or missing required fields. Calling IsInitialized()
-     * on the outer message would fail if the inner message has missing required
-     * fields. Failed verification would result in parsing failure (except when
-     * uninitialized messages are acceptable).
-     *
-     * Generated from protobuf field <code>optional bool lazy = 5 [default = false];</code>
-     */
-    protected $lazy = null;
-    /**
-     * unverified_lazy does no correctness checks on the byte stream. This should
-     * only be used where lazy with verification is prohibitive for performance
-     * reasons.
-     *
-     * Generated from protobuf field <code>optional bool unverified_lazy = 15 [default = false];</code>
-     */
-    protected $unverified_lazy = null;
-    /**
-     * Is this field deprecated?
-     * Depending on the target platform, this can emit Deprecated annotations
-     * for accessors, or it will be completely ignored; in the very least, this
-     * is a formalization for deprecating fields.
-     *
-     * Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
-     */
-    protected $deprecated = null;
-    /**
-     * For Google-internal migration only. Do not use.
-     *
-     * Generated from protobuf field <code>optional bool weak = 10 [default = false];</code>
-     */
-    protected $weak = null;
-    /**
-     * Indicate that the field value should not be printed out when using debug
-     * formats, e.g. when the field contains sensitive credentials.
-     *
-     * Generated from protobuf field <code>optional bool debug_redact = 16 [default = false];</code>
-     */
-    protected $debug_redact = null;
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.FieldOptions.OptionRetention retention = 17;</code>
-     */
-    protected $retention = null;
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.FieldOptions.OptionTargetType targets = 19;</code>
-     */
-    private $targets;
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.FieldOptions.EditionDefault edition_defaults = 20;</code>
-     */
-    private $edition_defaults;
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 21;</code>
-     */
-    protected $features = null;
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22;</code>
-     */
-    protected $feature_support = null;
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     */
-    private $uninterpreted_option;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type int $ctype
-     *           NOTE: ctype is deprecated. Use `features.(pb.cpp).string_type` instead.
-     *           The ctype option instructs the C++ code generator to use a different
-     *           representation of the field than it normally would.  See the specific
-     *           options below.  This option is only implemented to support use of
-     *           [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of
-     *           type "bytes" in the open source release.
-     *           TODO: make ctype actually deprecated.
-     *     @type bool $packed
-     *           The packed option can be enabled for repeated primitive fields to enable
-     *           a more efficient representation on the wire. Rather than repeatedly
-     *           writing the tag and type for each element, the entire array is encoded as
-     *           a single length-delimited blob. In proto3, only explicit setting it to
-     *           false will avoid using packed encoding.  This option is prohibited in
-     *           Editions, but the `repeated_field_encoding` feature can be used to control
-     *           the behavior.
-     *     @type int $jstype
-     *           The jstype option determines the JavaScript type used for values of the
-     *           field.  The option is permitted only for 64 bit integral and fixed types
-     *           (int64, uint64, sint64, fixed64, sfixed64).  A field with jstype JS_STRING
-     *           is represented as JavaScript string, which avoids loss of precision that
-     *           can happen when a large value is converted to a floating point JavaScript.
-     *           Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
-     *           use the JavaScript "number" type.  The behavior of the default option
-     *           JS_NORMAL is implementation dependent.
-     *           This option is an enum to permit additional types to be added, e.g.
-     *           goog.math.Integer.
-     *     @type bool $lazy
-     *           Should this field be parsed lazily?  Lazy applies only to message-type
-     *           fields.  It means that when the outer message is initially parsed, the
-     *           inner message's contents will not be parsed but instead stored in encoded
-     *           form.  The inner message will actually be parsed when it is first accessed.
-     *           This is only a hint.  Implementations are free to choose whether to use
-     *           eager or lazy parsing regardless of the value of this option.  However,
-     *           setting this option true suggests that the protocol author believes that
-     *           using lazy parsing on this field is worth the additional bookkeeping
-     *           overhead typically needed to implement it.
-     *           This option does not affect the public interface of any generated code;
-     *           all method signatures remain the same.  Furthermore, thread-safety of the
-     *           interface is not affected by this option; const methods remain safe to
-     *           call from multiple threads concurrently, while non-const methods continue
-     *           to require exclusive access.
-     *           Note that lazy message fields are still eagerly verified to check
-     *           ill-formed wireformat or missing required fields. Calling IsInitialized()
-     *           on the outer message would fail if the inner message has missing required
-     *           fields. Failed verification would result in parsing failure (except when
-     *           uninitialized messages are acceptable).
-     *     @type bool $unverified_lazy
-     *           unverified_lazy does no correctness checks on the byte stream. This should
-     *           only be used where lazy with verification is prohibitive for performance
-     *           reasons.
-     *     @type bool $deprecated
-     *           Is this field deprecated?
-     *           Depending on the target platform, this can emit Deprecated annotations
-     *           for accessors, or it will be completely ignored; in the very least, this
-     *           is a formalization for deprecating fields.
-     *     @type bool $weak
-     *           For Google-internal migration only. Do not use.
-     *     @type bool $debug_redact
-     *           Indicate that the field value should not be printed out when using debug
-     *           formats, e.g. when the field contains sensitive credentials.
-     *     @type int $retention
-     *     @type array<int>|\Google\Protobuf\Internal\RepeatedField $targets
-     *     @type array<\Google\Protobuf\Internal\FieldOptions\EditionDefault>|\Google\Protobuf\Internal\RepeatedField $edition_defaults
-     *     @type \Google\Protobuf\Internal\FeatureSet $features
-     *           Any features defined in the specific edition.
-     *     @type \Google\Protobuf\Internal\FieldOptions\FeatureSupport $feature_support
-     *     @type array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $uninterpreted_option
-     *           The parser stores options it doesn't recognize here. See above.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * NOTE: ctype is deprecated. Use `features.(pb.cpp).string_type` instead.
-     * The ctype option instructs the C++ code generator to use a different
-     * representation of the field than it normally would.  See the specific
-     * options below.  This option is only implemented to support use of
-     * [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of
-     * type "bytes" in the open source release.
-     * TODO: make ctype actually deprecated.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];</code>
-     * @return int
-     */
-    public function getCtype()
-    {
-        return isset($this->ctype) ? $this->ctype : 0;
-    }
-
-    public function hasCtype()
-    {
-        return isset($this->ctype);
-    }
-
-    public function clearCtype()
-    {
-        unset($this->ctype);
-    }
-
-    /**
-     * NOTE: ctype is deprecated. Use `features.(pb.cpp).string_type` instead.
-     * The ctype option instructs the C++ code generator to use a different
-     * representation of the field than it normally would.  See the specific
-     * options below.  This option is only implemented to support use of
-     * [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of
-     * type "bytes" in the open source release.
-     * TODO: make ctype actually deprecated.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setCtype($var)
-    {
-        GPBUtil::checkEnum($var, \Google\Protobuf\Internal\FieldOptions\CType::class);
-        $this->ctype = $var;
-
-        return $this;
-    }
-
-    /**
-     * The packed option can be enabled for repeated primitive fields to enable
-     * a more efficient representation on the wire. Rather than repeatedly
-     * writing the tag and type for each element, the entire array is encoded as
-     * a single length-delimited blob. In proto3, only explicit setting it to
-     * false will avoid using packed encoding.  This option is prohibited in
-     * Editions, but the `repeated_field_encoding` feature can be used to control
-     * the behavior.
-     *
-     * Generated from protobuf field <code>optional bool packed = 2;</code>
-     * @return bool
-     */
-    public function getPacked()
-    {
-        return isset($this->packed) ? $this->packed : false;
-    }
-
-    public function hasPacked()
-    {
-        return isset($this->packed);
-    }
-
-    public function clearPacked()
-    {
-        unset($this->packed);
-    }
-
-    /**
-     * The packed option can be enabled for repeated primitive fields to enable
-     * a more efficient representation on the wire. Rather than repeatedly
-     * writing the tag and type for each element, the entire array is encoded as
-     * a single length-delimited blob. In proto3, only explicit setting it to
-     * false will avoid using packed encoding.  This option is prohibited in
-     * Editions, but the `repeated_field_encoding` feature can be used to control
-     * the behavior.
-     *
-     * Generated from protobuf field <code>optional bool packed = 2;</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setPacked($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->packed = $var;
-
-        return $this;
-    }
-
-    /**
-     * The jstype option determines the JavaScript type used for values of the
-     * field.  The option is permitted only for 64 bit integral and fixed types
-     * (int64, uint64, sint64, fixed64, sfixed64).  A field with jstype JS_STRING
-     * is represented as JavaScript string, which avoids loss of precision that
-     * can happen when a large value is converted to a floating point JavaScript.
-     * Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
-     * use the JavaScript "number" type.  The behavior of the default option
-     * JS_NORMAL is implementation dependent.
-     * This option is an enum to permit additional types to be added, e.g.
-     * goog.math.Integer.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];</code>
-     * @return int
-     */
-    public function getJstype()
-    {
-        return isset($this->jstype) ? $this->jstype : 0;
-    }
-
-    public function hasJstype()
-    {
-        return isset($this->jstype);
-    }
-
-    public function clearJstype()
-    {
-        unset($this->jstype);
-    }
-
-    /**
-     * The jstype option determines the JavaScript type used for values of the
-     * field.  The option is permitted only for 64 bit integral and fixed types
-     * (int64, uint64, sint64, fixed64, sfixed64).  A field with jstype JS_STRING
-     * is represented as JavaScript string, which avoids loss of precision that
-     * can happen when a large value is converted to a floating point JavaScript.
-     * Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
-     * use the JavaScript "number" type.  The behavior of the default option
-     * JS_NORMAL is implementation dependent.
-     * This option is an enum to permit additional types to be added, e.g.
-     * goog.math.Integer.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setJstype($var)
-    {
-        GPBUtil::checkEnum($var, \Google\Protobuf\Internal\FieldOptions\JSType::class);
-        $this->jstype = $var;
-
-        return $this;
-    }
-
-    /**
-     * Should this field be parsed lazily?  Lazy applies only to message-type
-     * fields.  It means that when the outer message is initially parsed, the
-     * inner message's contents will not be parsed but instead stored in encoded
-     * form.  The inner message will actually be parsed when it is first accessed.
-     * This is only a hint.  Implementations are free to choose whether to use
-     * eager or lazy parsing regardless of the value of this option.  However,
-     * setting this option true suggests that the protocol author believes that
-     * using lazy parsing on this field is worth the additional bookkeeping
-     * overhead typically needed to implement it.
-     * This option does not affect the public interface of any generated code;
-     * all method signatures remain the same.  Furthermore, thread-safety of the
-     * interface is not affected by this option; const methods remain safe to
-     * call from multiple threads concurrently, while non-const methods continue
-     * to require exclusive access.
-     * Note that lazy message fields are still eagerly verified to check
-     * ill-formed wireformat or missing required fields. Calling IsInitialized()
-     * on the outer message would fail if the inner message has missing required
-     * fields. Failed verification would result in parsing failure (except when
-     * uninitialized messages are acceptable).
-     *
-     * Generated from protobuf field <code>optional bool lazy = 5 [default = false];</code>
-     * @return bool
-     */
-    public function getLazy()
-    {
-        return isset($this->lazy) ? $this->lazy : false;
-    }
-
-    public function hasLazy()
-    {
-        return isset($this->lazy);
-    }
-
-    public function clearLazy()
-    {
-        unset($this->lazy);
-    }
-
-    /**
-     * Should this field be parsed lazily?  Lazy applies only to message-type
-     * fields.  It means that when the outer message is initially parsed, the
-     * inner message's contents will not be parsed but instead stored in encoded
-     * form.  The inner message will actually be parsed when it is first accessed.
-     * This is only a hint.  Implementations are free to choose whether to use
-     * eager or lazy parsing regardless of the value of this option.  However,
-     * setting this option true suggests that the protocol author believes that
-     * using lazy parsing on this field is worth the additional bookkeeping
-     * overhead typically needed to implement it.
-     * This option does not affect the public interface of any generated code;
-     * all method signatures remain the same.  Furthermore, thread-safety of the
-     * interface is not affected by this option; const methods remain safe to
-     * call from multiple threads concurrently, while non-const methods continue
-     * to require exclusive access.
-     * Note that lazy message fields are still eagerly verified to check
-     * ill-formed wireformat or missing required fields. Calling IsInitialized()
-     * on the outer message would fail if the inner message has missing required
-     * fields. Failed verification would result in parsing failure (except when
-     * uninitialized messages are acceptable).
-     *
-     * Generated from protobuf field <code>optional bool lazy = 5 [default = false];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setLazy($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->lazy = $var;
-
-        return $this;
-    }
-
-    /**
-     * unverified_lazy does no correctness checks on the byte stream. This should
-     * only be used where lazy with verification is prohibitive for performance
-     * reasons.
-     *
-     * Generated from protobuf field <code>optional bool unverified_lazy = 15 [default = false];</code>
-     * @return bool
-     */
-    public function getUnverifiedLazy()
-    {
-        return isset($this->unverified_lazy) ? $this->unverified_lazy : false;
-    }
-
-    public function hasUnverifiedLazy()
-    {
-        return isset($this->unverified_lazy);
-    }
-
-    public function clearUnverifiedLazy()
-    {
-        unset($this->unverified_lazy);
-    }
-
-    /**
-     * unverified_lazy does no correctness checks on the byte stream. This should
-     * only be used where lazy with verification is prohibitive for performance
-     * reasons.
-     *
-     * Generated from protobuf field <code>optional bool unverified_lazy = 15 [default = false];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setUnverifiedLazy($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->unverified_lazy = $var;
-
-        return $this;
-    }
-
-    /**
-     * Is this field deprecated?
-     * Depending on the target platform, this can emit Deprecated annotations
-     * for accessors, or it will be completely ignored; in the very least, this
-     * is a formalization for deprecating fields.
-     *
-     * Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
-     * @return bool
-     */
-    public function getDeprecated()
-    {
-        return isset($this->deprecated) ? $this->deprecated : false;
-    }
-
-    public function hasDeprecated()
-    {
-        return isset($this->deprecated);
-    }
-
-    public function clearDeprecated()
-    {
-        unset($this->deprecated);
-    }
-
-    /**
-     * Is this field deprecated?
-     * Depending on the target platform, this can emit Deprecated annotations
-     * for accessors, or it will be completely ignored; in the very least, this
-     * is a formalization for deprecating fields.
-     *
-     * Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setDeprecated($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->deprecated = $var;
-
-        return $this;
-    }
-
-    /**
-     * For Google-internal migration only. Do not use.
-     *
-     * Generated from protobuf field <code>optional bool weak = 10 [default = false];</code>
-     * @return bool
-     */
-    public function getWeak()
-    {
-        return isset($this->weak) ? $this->weak : false;
-    }
-
-    public function hasWeak()
-    {
-        return isset($this->weak);
-    }
-
-    public function clearWeak()
-    {
-        unset($this->weak);
-    }
-
-    /**
-     * For Google-internal migration only. Do not use.
-     *
-     * Generated from protobuf field <code>optional bool weak = 10 [default = false];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setWeak($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->weak = $var;
-
-        return $this;
-    }
-
-    /**
-     * Indicate that the field value should not be printed out when using debug
-     * formats, e.g. when the field contains sensitive credentials.
-     *
-     * Generated from protobuf field <code>optional bool debug_redact = 16 [default = false];</code>
-     * @return bool
-     */
-    public function getDebugRedact()
-    {
-        return isset($this->debug_redact) ? $this->debug_redact : false;
-    }
-
-    public function hasDebugRedact()
-    {
-        return isset($this->debug_redact);
-    }
-
-    public function clearDebugRedact()
-    {
-        unset($this->debug_redact);
-    }
-
-    /**
-     * Indicate that the field value should not be printed out when using debug
-     * formats, e.g. when the field contains sensitive credentials.
-     *
-     * Generated from protobuf field <code>optional bool debug_redact = 16 [default = false];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setDebugRedact($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->debug_redact = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.FieldOptions.OptionRetention retention = 17;</code>
-     * @return int
-     */
-    public function getRetention()
-    {
-        return isset($this->retention) ? $this->retention : 0;
-    }
-
-    public function hasRetention()
-    {
-        return isset($this->retention);
-    }
-
-    public function clearRetention()
-    {
-        unset($this->retention);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.FieldOptions.OptionRetention retention = 17;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setRetention($var)
-    {
-        GPBUtil::checkEnum($var, \Google\Protobuf\Internal\FieldOptions\OptionRetention::class);
-        $this->retention = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.FieldOptions.OptionTargetType targets = 19;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getTargets()
-    {
-        return $this->targets;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.FieldOptions.OptionTargetType targets = 19;</code>
-     * @param array<int>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setTargets($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Google\Protobuf\Internal\FieldOptions\OptionTargetType::class);
-        $this->targets = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.FieldOptions.EditionDefault edition_defaults = 20;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getEditionDefaults()
-    {
-        return $this->edition_defaults;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.FieldOptions.EditionDefault edition_defaults = 20;</code>
-     * @param array<\Google\Protobuf\Internal\FieldOptions\EditionDefault>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setEditionDefaults($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\FieldOptions\EditionDefault::class);
-        $this->edition_defaults = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 21;</code>
-     * @return \Google\Protobuf\Internal\FeatureSet|null
-     */
-    public function getFeatures()
-    {
-        return $this->features;
-    }
-
-    public function hasFeatures()
-    {
-        return isset($this->features);
-    }
-
-    public function clearFeatures()
-    {
-        unset($this->features);
-    }
-
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 21;</code>
-     * @param \Google\Protobuf\Internal\FeatureSet $var
-     * @return $this
-     */
-    public function setFeatures($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\FeatureSet::class);
-        $this->features = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22;</code>
-     * @return \Google\Protobuf\Internal\FieldOptions\FeatureSupport|null
-     */
-    public function getFeatureSupport()
-    {
-        return $this->feature_support;
-    }
-
-    public function hasFeatureSupport()
-    {
-        return isset($this->feature_support);
-    }
-
-    public function clearFeatureSupport()
-    {
-        unset($this->feature_support);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22;</code>
-     * @param \Google\Protobuf\Internal\FieldOptions\FeatureSupport $var
-     * @return $this
-     */
-    public function setFeatureSupport($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\FieldOptions\FeatureSupport::class);
-        $this->feature_support = $var;
-
-        return $this;
-    }
-
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getUninterpretedOption()
-    {
-        return $this->uninterpreted_option;
-    }
-
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     * @param array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setUninterpretedOption($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\UninterpretedOption::class);
-        $this->uninterpreted_option = $arr;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/FieldOptions/CType.php b/php/src/Google/Protobuf/Internal/FieldOptions/CType.php
deleted file mode 100644
index a248777291..0000000000
--- a/php/src/Google/Protobuf/Internal/FieldOptions/CType.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal\FieldOptions;
-
-use UnexpectedValueException;
-
-/**
- * Protobuf type <code>google.protobuf.FieldOptions.CType</code>
- */
-class CType
-{
-    /**
-     * Default mode.
-     *
-     * Generated from protobuf enum <code>STRING = 0;</code>
-     */
-    const STRING = 0;
-    /**
-     * The option [ctype=CORD] may be applied to a non-repeated field of type
-     * "bytes". It indicates that in C++, the data should be stored in a Cord
-     * instead of a string.  For very large strings, this may reduce memory
-     * fragmentation. It may also allow better performance when parsing from a
-     * Cord, or when parsing with aliasing enabled, as the parsed Cord may then
-     * alias the original buffer.
-     *
-     * Generated from protobuf enum <code>CORD = 1;</code>
-     */
-    const CORD = 1;
-    /**
-     * Generated from protobuf enum <code>STRING_PIECE = 2;</code>
-     */
-    const STRING_PIECE = 2;
-
-    private static $valueToName = [
-        self::STRING => 'STRING',
-        self::CORD => 'CORD',
-        self::STRING_PIECE => 'STRING_PIECE',
-    ];
-
-    public static function name($value)
-    {
-        if (!isset(self::$valueToName[$value])) {
-            throw new UnexpectedValueException(sprintf(
-                    'Enum %s has no name defined for value %s', __CLASS__, $value));
-        }
-        return self::$valueToName[$value];
-    }
-
-
-    public static function value($name)
-    {
-        $const = __CLASS__ . '::' . strtoupper($name);
-        if (!defined($const)) {
-            throw new UnexpectedValueException(sprintf(
-                    'Enum %s has no value defined for name %s', __CLASS__, $name));
-        }
-        return constant($const);
-    }
-}
-
diff --git a/php/src/Google/Protobuf/Internal/FieldOptions/JSType.php b/php/src/Google/Protobuf/Internal/FieldOptions/JSType.php
deleted file mode 100644
index 5ecc06bd98..0000000000
--- a/php/src/Google/Protobuf/Internal/FieldOptions/JSType.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal\FieldOptions;
-
-use UnexpectedValueException;
-
-/**
- * Protobuf type <code>google.protobuf.FieldOptions.JSType</code>
- */
-class JSType
-{
-    /**
-     * Use the default type.
-     *
-     * Generated from protobuf enum <code>JS_NORMAL = 0;</code>
-     */
-    const JS_NORMAL = 0;
-    /**
-     * Use JavaScript strings.
-     *
-     * Generated from protobuf enum <code>JS_STRING = 1;</code>
-     */
-    const JS_STRING = 1;
-    /**
-     * Use JavaScript numbers.
-     *
-     * Generated from protobuf enum <code>JS_NUMBER = 2;</code>
-     */
-    const JS_NUMBER = 2;
-
-    private static $valueToName = [
-        self::JS_NORMAL => 'JS_NORMAL',
-        self::JS_STRING => 'JS_STRING',
-        self::JS_NUMBER => 'JS_NUMBER',
-    ];
-
-    public static function name($value)
-    {
-        if (!isset(self::$valueToName[$value])) {
-            throw new UnexpectedValueException(sprintf(
-                    'Enum %s has no name defined for value %s', __CLASS__, $value));
-        }
-        return self::$valueToName[$value];
-    }
-
-
-    public static function value($name)
-    {
-        $const = __CLASS__ . '::' . strtoupper($name);
-        if (!defined($const)) {
-            throw new UnexpectedValueException(sprintf(
-                    'Enum %s has no value defined for name %s', __CLASS__, $name));
-        }
-        return constant($const);
-    }
-}
-
diff --git a/php/src/Google/Protobuf/Internal/FileDescriptorProto.php b/php/src/Google/Protobuf/Internal/FileDescriptorProto.php
deleted file mode 100644
index 659d3b3675..0000000000
--- a/php/src/Google/Protobuf/Internal/FileDescriptorProto.php
+++ /dev/null
@@ -1,534 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Describes a complete .proto file.
- *
- * Generated from protobuf message <code>google.protobuf.FileDescriptorProto</code>
- */
-class FileDescriptorProto extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * file name, relative to root of source tree
-     *
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     */
-    protected $name = null;
-    /**
-     * e.g. "foo", "foo.bar", etc.
-     *
-     * Generated from protobuf field <code>optional string package = 2;</code>
-     */
-    protected $package = null;
-    /**
-     * Names of files imported by this file.
-     *
-     * Generated from protobuf field <code>repeated string dependency = 3;</code>
-     */
-    private $dependency;
-    /**
-     * Indexes of the public imported files in the dependency list above.
-     *
-     * Generated from protobuf field <code>repeated int32 public_dependency = 10;</code>
-     */
-    private $public_dependency;
-    /**
-     * Indexes of the weak imported files in the dependency list.
-     * For Google-internal migration only. Do not use.
-     *
-     * Generated from protobuf field <code>repeated int32 weak_dependency = 11;</code>
-     */
-    private $weak_dependency;
-    /**
-     * All top-level definitions in this file.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto message_type = 4;</code>
-     */
-    private $message_type;
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 5;</code>
-     */
-    private $enum_type;
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.ServiceDescriptorProto service = 6;</code>
-     */
-    private $service;
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto extension = 7;</code>
-     */
-    private $extension;
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.FileOptions options = 8;</code>
-     */
-    protected $options = null;
-    /**
-     * This field contains optional information about the original source code.
-     * You may safely remove this entire field without harming runtime
-     * functionality of the descriptors -- the information is needed only by
-     * development tools.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.SourceCodeInfo source_code_info = 9;</code>
-     */
-    protected $source_code_info = null;
-    /**
-     * The syntax of the proto file.
-     * The supported values are "proto2", "proto3", and "editions".
-     * If `edition` is present, this value must be "editions".
-     *
-     * Generated from protobuf field <code>optional string syntax = 12;</code>
-     */
-    protected $syntax = null;
-    /**
-     * The edition of the proto file.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.Edition edition = 14;</code>
-     */
-    protected $edition = null;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type string $name
-     *           file name, relative to root of source tree
-     *     @type string $package
-     *           e.g. "foo", "foo.bar", etc.
-     *     @type array<string>|\Google\Protobuf\Internal\RepeatedField $dependency
-     *           Names of files imported by this file.
-     *     @type array<int>|\Google\Protobuf\Internal\RepeatedField $public_dependency
-     *           Indexes of the public imported files in the dependency list above.
-     *     @type array<int>|\Google\Protobuf\Internal\RepeatedField $weak_dependency
-     *           Indexes of the weak imported files in the dependency list.
-     *           For Google-internal migration only. Do not use.
-     *     @type array<\Google\Protobuf\Internal\DescriptorProto>|\Google\Protobuf\Internal\RepeatedField $message_type
-     *           All top-level definitions in this file.
-     *     @type array<\Google\Protobuf\Internal\EnumDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $enum_type
-     *     @type array<\Google\Protobuf\Internal\ServiceDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $service
-     *     @type array<\Google\Protobuf\Internal\FieldDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $extension
-     *     @type \Google\Protobuf\Internal\FileOptions $options
-     *     @type \Google\Protobuf\Internal\SourceCodeInfo $source_code_info
-     *           This field contains optional information about the original source code.
-     *           You may safely remove this entire field without harming runtime
-     *           functionality of the descriptors -- the information is needed only by
-     *           development tools.
-     *     @type string $syntax
-     *           The syntax of the proto file.
-     *           The supported values are "proto2", "proto3", and "editions".
-     *           If `edition` is present, this value must be "editions".
-     *     @type int $edition
-     *           The edition of the proto file.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * file name, relative to root of source tree
-     *
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     * @return string
-     */
-    public function getName()
-    {
-        return isset($this->name) ? $this->name : '';
-    }
-
-    public function hasName()
-    {
-        return isset($this->name);
-    }
-
-    public function clearName()
-    {
-        unset($this->name);
-    }
-
-    /**
-     * file name, relative to root of source tree
-     *
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setName($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->name = $var;
-
-        return $this;
-    }
-
-    /**
-     * e.g. "foo", "foo.bar", etc.
-     *
-     * Generated from protobuf field <code>optional string package = 2;</code>
-     * @return string
-     */
-    public function getPackage()
-    {
-        return isset($this->package) ? $this->package : '';
-    }
-
-    public function hasPackage()
-    {
-        return isset($this->package);
-    }
-
-    public function clearPackage()
-    {
-        unset($this->package);
-    }
-
-    /**
-     * e.g. "foo", "foo.bar", etc.
-     *
-     * Generated from protobuf field <code>optional string package = 2;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setPackage($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->package = $var;
-
-        return $this;
-    }
-
-    /**
-     * Names of files imported by this file.
-     *
-     * Generated from protobuf field <code>repeated string dependency = 3;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getDependency()
-    {
-        return $this->dependency;
-    }
-
-    /**
-     * Names of files imported by this file.
-     *
-     * Generated from protobuf field <code>repeated string dependency = 3;</code>
-     * @param array<string>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setDependency($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
-        $this->dependency = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Indexes of the public imported files in the dependency list above.
-     *
-     * Generated from protobuf field <code>repeated int32 public_dependency = 10;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getPublicDependency()
-    {
-        return $this->public_dependency;
-    }
-
-    /**
-     * Indexes of the public imported files in the dependency list above.
-     *
-     * Generated from protobuf field <code>repeated int32 public_dependency = 10;</code>
-     * @param array<int>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setPublicDependency($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32);
-        $this->public_dependency = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Indexes of the weak imported files in the dependency list.
-     * For Google-internal migration only. Do not use.
-     *
-     * Generated from protobuf field <code>repeated int32 weak_dependency = 11;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getWeakDependency()
-    {
-        return $this->weak_dependency;
-    }
-
-    /**
-     * Indexes of the weak imported files in the dependency list.
-     * For Google-internal migration only. Do not use.
-     *
-     * Generated from protobuf field <code>repeated int32 weak_dependency = 11;</code>
-     * @param array<int>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setWeakDependency($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32);
-        $this->weak_dependency = $arr;
-
-        return $this;
-    }
-
-    /**
-     * All top-level definitions in this file.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto message_type = 4;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getMessageType()
-    {
-        return $this->message_type;
-    }
-
-    /**
-     * All top-level definitions in this file.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto message_type = 4;</code>
-     * @param array<\Google\Protobuf\Internal\DescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setMessageType($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\DescriptorProto::class);
-        $this->message_type = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 5;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getEnumType()
-    {
-        return $this->enum_type;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 5;</code>
-     * @param array<\Google\Protobuf\Internal\EnumDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setEnumType($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\EnumDescriptorProto::class);
-        $this->enum_type = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.ServiceDescriptorProto service = 6;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getService()
-    {
-        return $this->service;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.ServiceDescriptorProto service = 6;</code>
-     * @param array<\Google\Protobuf\Internal\ServiceDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setService($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\ServiceDescriptorProto::class);
-        $this->service = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto extension = 7;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getExtension()
-    {
-        return $this->extension;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto extension = 7;</code>
-     * @param array<\Google\Protobuf\Internal\FieldDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setExtension($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\FieldDescriptorProto::class);
-        $this->extension = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.FileOptions options = 8;</code>
-     * @return \Google\Protobuf\Internal\FileOptions|null
-     */
-    public function getOptions()
-    {
-        return $this->options;
-    }
-
-    public function hasOptions()
-    {
-        return isset($this->options);
-    }
-
-    public function clearOptions()
-    {
-        unset($this->options);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.FileOptions options = 8;</code>
-     * @param \Google\Protobuf\Internal\FileOptions $var
-     * @return $this
-     */
-    public function setOptions($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\FileOptions::class);
-        $this->options = $var;
-
-        return $this;
-    }
-
-    /**
-     * This field contains optional information about the original source code.
-     * You may safely remove this entire field without harming runtime
-     * functionality of the descriptors -- the information is needed only by
-     * development tools.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.SourceCodeInfo source_code_info = 9;</code>
-     * @return \Google\Protobuf\Internal\SourceCodeInfo|null
-     */
-    public function getSourceCodeInfo()
-    {
-        return $this->source_code_info;
-    }
-
-    public function hasSourceCodeInfo()
-    {
-        return isset($this->source_code_info);
-    }
-
-    public function clearSourceCodeInfo()
-    {
-        unset($this->source_code_info);
-    }
-
-    /**
-     * This field contains optional information about the original source code.
-     * You may safely remove this entire field without harming runtime
-     * functionality of the descriptors -- the information is needed only by
-     * development tools.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.SourceCodeInfo source_code_info = 9;</code>
-     * @param \Google\Protobuf\Internal\SourceCodeInfo $var
-     * @return $this
-     */
-    public function setSourceCodeInfo($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\SourceCodeInfo::class);
-        $this->source_code_info = $var;
-
-        return $this;
-    }
-
-    /**
-     * The syntax of the proto file.
-     * The supported values are "proto2", "proto3", and "editions".
-     * If `edition` is present, this value must be "editions".
-     *
-     * Generated from protobuf field <code>optional string syntax = 12;</code>
-     * @return string
-     */
-    public function getSyntax()
-    {
-        return isset($this->syntax) ? $this->syntax : '';
-    }
-
-    public function hasSyntax()
-    {
-        return isset($this->syntax);
-    }
-
-    public function clearSyntax()
-    {
-        unset($this->syntax);
-    }
-
-    /**
-     * The syntax of the proto file.
-     * The supported values are "proto2", "proto3", and "editions".
-     * If `edition` is present, this value must be "editions".
-     *
-     * Generated from protobuf field <code>optional string syntax = 12;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setSyntax($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->syntax = $var;
-
-        return $this;
-    }
-
-    /**
-     * The edition of the proto file.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.Edition edition = 14;</code>
-     * @return int
-     */
-    public function getEdition()
-    {
-        return isset($this->edition) ? $this->edition : 0;
-    }
-
-    public function hasEdition()
-    {
-        return isset($this->edition);
-    }
-
-    public function clearEdition()
-    {
-        unset($this->edition);
-    }
-
-    /**
-     * The edition of the proto file.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.Edition edition = 14;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setEdition($var)
-    {
-        GPBUtil::checkEnum($var, \Google\Protobuf\Internal\Edition::class);
-        $this->edition = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/FileDescriptorSet.php b/php/src/Google/Protobuf/Internal/FileDescriptorSet.php
deleted file mode 100644
index 6337846661..0000000000
--- a/php/src/Google/Protobuf/Internal/FileDescriptorSet.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * The protocol compiler can output a FileDescriptorSet containing the .proto
- * files it parses.
- *
- * Generated from protobuf message <code>google.protobuf.FileDescriptorSet</code>
- */
-class FileDescriptorSet extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.FileDescriptorProto file = 1;</code>
-     */
-    private $file;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type array<\Google\Protobuf\Internal\FileDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $file
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.FileDescriptorProto file = 1;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getFile()
-    {
-        return $this->file;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.FileDescriptorProto file = 1;</code>
-     * @param array<\Google\Protobuf\Internal\FileDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setFile($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\FileDescriptorProto::class);
-        $this->file = $arr;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/FileOptions.php b/php/src/Google/Protobuf/Internal/FileOptions.php
deleted file mode 100644
index 9d2c2ab010..0000000000
--- a/php/src/Google/Protobuf/Internal/FileOptions.php
+++ /dev/null
@@ -1,1126 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Generated from protobuf message <code>google.protobuf.FileOptions</code>
- */
-class FileOptions extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Sets the Java package where classes generated from this .proto will be
-     * placed.  By default, the proto package is used, but this is often
-     * inappropriate because proto packages do not normally start with backwards
-     * domain names.
-     *
-     * Generated from protobuf field <code>optional string java_package = 1;</code>
-     */
-    protected $java_package = null;
-    /**
-     * Controls the name of the wrapper Java class generated for the .proto file.
-     * That class will always contain the .proto file's getDescriptor() method as
-     * well as any top-level extensions defined in the .proto file.
-     * If java_multiple_files is disabled, then all the other classes from the
-     * .proto file will be nested inside the single wrapper outer class.
-     *
-     * Generated from protobuf field <code>optional string java_outer_classname = 8;</code>
-     */
-    protected $java_outer_classname = null;
-    /**
-     * If enabled, then the Java code generator will generate a separate .java
-     * file for each top-level message, enum, and service defined in the .proto
-     * file.  Thus, these types will *not* be nested inside the wrapper class
-     * named by java_outer_classname.  However, the wrapper class will still be
-     * generated to contain the file's getDescriptor() method as well as any
-     * top-level extensions defined in the file.
-     *
-     * Generated from protobuf field <code>optional bool java_multiple_files = 10 [default = false];</code>
-     */
-    protected $java_multiple_files = null;
-    /**
-     * This option does nothing.
-     *
-     * Generated from protobuf field <code>optional bool java_generate_equals_and_hash = 20 [deprecated = true];</code>
-     * @deprecated
-     */
-    protected $java_generate_equals_and_hash = null;
-    /**
-     * A proto2 file can set this to true to opt in to UTF-8 checking for Java,
-     * which will throw an exception if invalid UTF-8 is parsed from the wire or
-     * assigned to a string field.
-     * TODO: clarify exactly what kinds of field types this option
-     * applies to, and update these docs accordingly.
-     * Proto3 files already perform these checks. Setting the option explicitly to
-     * false has no effect: it cannot be used to opt proto3 files out of UTF-8
-     * checks.
-     *
-     * Generated from protobuf field <code>optional bool java_string_check_utf8 = 27 [default = false];</code>
-     */
-    protected $java_string_check_utf8 = null;
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];</code>
-     */
-    protected $optimize_for = null;
-    /**
-     * Sets the Go package where structs generated from this .proto will be
-     * placed. If omitted, the Go package will be derived from the following:
-     *   - The basename of the package import path, if provided.
-     *   - Otherwise, the package statement in the .proto file, if present.
-     *   - Otherwise, the basename of the .proto file, without extension.
-     *
-     * Generated from protobuf field <code>optional string go_package = 11;</code>
-     */
-    protected $go_package = null;
-    /**
-     * Should generic services be generated in each language?  "Generic" services
-     * are not specific to any particular RPC system.  They are generated by the
-     * main code generators in each language (without additional plugins).
-     * Generic services were the only kind of service generation supported by
-     * early versions of google.protobuf.
-     * Generic services are now considered deprecated in favor of using plugins
-     * that generate code specific to your particular RPC system.  Therefore,
-     * these default to false.  Old code which depends on generic services should
-     * explicitly set them to true.
-     *
-     * Generated from protobuf field <code>optional bool cc_generic_services = 16 [default = false];</code>
-     */
-    protected $cc_generic_services = null;
-    /**
-     * Generated from protobuf field <code>optional bool java_generic_services = 17 [default = false];</code>
-     */
-    protected $java_generic_services = null;
-    /**
-     * Generated from protobuf field <code>optional bool py_generic_services = 18 [default = false];</code>
-     */
-    protected $py_generic_services = null;
-    /**
-     * Is this file deprecated?
-     * Depending on the target platform, this can emit Deprecated annotations
-     * for everything in the file, or it will be completely ignored; in the very
-     * least, this is a formalization for deprecating files.
-     *
-     * Generated from protobuf field <code>optional bool deprecated = 23 [default = false];</code>
-     */
-    protected $deprecated = null;
-    /**
-     * Enables the use of arenas for the proto messages in this file. This applies
-     * only to generated classes for C++.
-     *
-     * Generated from protobuf field <code>optional bool cc_enable_arenas = 31 [default = true];</code>
-     */
-    protected $cc_enable_arenas = null;
-    /**
-     * Sets the objective c class prefix which is prepended to all objective c
-     * generated classes from this .proto. There is no default.
-     *
-     * Generated from protobuf field <code>optional string objc_class_prefix = 36;</code>
-     */
-    protected $objc_class_prefix = null;
-    /**
-     * Namespace for generated classes; defaults to the package.
-     *
-     * Generated from protobuf field <code>optional string csharp_namespace = 37;</code>
-     */
-    protected $csharp_namespace = null;
-    /**
-     * By default Swift generators will take the proto package and CamelCase it
-     * replacing '.' with underscore and use that to prefix the types/symbols
-     * defined. When this options is provided, they will use this value instead
-     * to prefix the types/symbols defined.
-     *
-     * Generated from protobuf field <code>optional string swift_prefix = 39;</code>
-     */
-    protected $swift_prefix = null;
-    /**
-     * Sets the php class prefix which is prepended to all php generated classes
-     * from this .proto. Default is empty.
-     *
-     * Generated from protobuf field <code>optional string php_class_prefix = 40;</code>
-     */
-    protected $php_class_prefix = null;
-    /**
-     * Use this option to change the namespace of php generated classes. Default
-     * is empty. When this option is empty, the package name will be used for
-     * determining the namespace.
-     *
-     * Generated from protobuf field <code>optional string php_namespace = 41;</code>
-     */
-    protected $php_namespace = null;
-    /**
-     * Use this option to change the namespace of php generated metadata classes.
-     * Default is empty. When this option is empty, the proto file name will be
-     * used for determining the namespace.
-     *
-     * Generated from protobuf field <code>optional string php_metadata_namespace = 44;</code>
-     */
-    protected $php_metadata_namespace = null;
-    /**
-     * Use this option to change the package of ruby generated classes. Default
-     * is empty. When this option is not set, the package name will be used for
-     * determining the ruby package.
-     *
-     * Generated from protobuf field <code>optional string ruby_package = 45;</code>
-     */
-    protected $ruby_package = null;
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 50;</code>
-     */
-    protected $features = null;
-    /**
-     * The parser stores options it doesn't recognize here.
-     * See the documentation for the "Options" section above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     */
-    private $uninterpreted_option;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type string $java_package
-     *           Sets the Java package where classes generated from this .proto will be
-     *           placed.  By default, the proto package is used, but this is often
-     *           inappropriate because proto packages do not normally start with backwards
-     *           domain names.
-     *     @type string $java_outer_classname
-     *           Controls the name of the wrapper Java class generated for the .proto file.
-     *           That class will always contain the .proto file's getDescriptor() method as
-     *           well as any top-level extensions defined in the .proto file.
-     *           If java_multiple_files is disabled, then all the other classes from the
-     *           .proto file will be nested inside the single wrapper outer class.
-     *     @type bool $java_multiple_files
-     *           If enabled, then the Java code generator will generate a separate .java
-     *           file for each top-level message, enum, and service defined in the .proto
-     *           file.  Thus, these types will *not* be nested inside the wrapper class
-     *           named by java_outer_classname.  However, the wrapper class will still be
-     *           generated to contain the file's getDescriptor() method as well as any
-     *           top-level extensions defined in the file.
-     *     @type bool $java_generate_equals_and_hash
-     *           This option does nothing.
-     *     @type bool $java_string_check_utf8
-     *           A proto2 file can set this to true to opt in to UTF-8 checking for Java,
-     *           which will throw an exception if invalid UTF-8 is parsed from the wire or
-     *           assigned to a string field.
-     *           TODO: clarify exactly what kinds of field types this option
-     *           applies to, and update these docs accordingly.
-     *           Proto3 files already perform these checks. Setting the option explicitly to
-     *           false has no effect: it cannot be used to opt proto3 files out of UTF-8
-     *           checks.
-     *     @type int $optimize_for
-     *     @type string $go_package
-     *           Sets the Go package where structs generated from this .proto will be
-     *           placed. If omitted, the Go package will be derived from the following:
-     *             - The basename of the package import path, if provided.
-     *             - Otherwise, the package statement in the .proto file, if present.
-     *             - Otherwise, the basename of the .proto file, without extension.
-     *     @type bool $cc_generic_services
-     *           Should generic services be generated in each language?  "Generic" services
-     *           are not specific to any particular RPC system.  They are generated by the
-     *           main code generators in each language (without additional plugins).
-     *           Generic services were the only kind of service generation supported by
-     *           early versions of google.protobuf.
-     *           Generic services are now considered deprecated in favor of using plugins
-     *           that generate code specific to your particular RPC system.  Therefore,
-     *           these default to false.  Old code which depends on generic services should
-     *           explicitly set them to true.
-     *     @type bool $java_generic_services
-     *     @type bool $py_generic_services
-     *     @type bool $deprecated
-     *           Is this file deprecated?
-     *           Depending on the target platform, this can emit Deprecated annotations
-     *           for everything in the file, or it will be completely ignored; in the very
-     *           least, this is a formalization for deprecating files.
-     *     @type bool $cc_enable_arenas
-     *           Enables the use of arenas for the proto messages in this file. This applies
-     *           only to generated classes for C++.
-     *     @type string $objc_class_prefix
-     *           Sets the objective c class prefix which is prepended to all objective c
-     *           generated classes from this .proto. There is no default.
-     *     @type string $csharp_namespace
-     *           Namespace for generated classes; defaults to the package.
-     *     @type string $swift_prefix
-     *           By default Swift generators will take the proto package and CamelCase it
-     *           replacing '.' with underscore and use that to prefix the types/symbols
-     *           defined. When this options is provided, they will use this value instead
-     *           to prefix the types/symbols defined.
-     *     @type string $php_class_prefix
-     *           Sets the php class prefix which is prepended to all php generated classes
-     *           from this .proto. Default is empty.
-     *     @type string $php_namespace
-     *           Use this option to change the namespace of php generated classes. Default
-     *           is empty. When this option is empty, the package name will be used for
-     *           determining the namespace.
-     *     @type string $php_metadata_namespace
-     *           Use this option to change the namespace of php generated metadata classes.
-     *           Default is empty. When this option is empty, the proto file name will be
-     *           used for determining the namespace.
-     *     @type string $ruby_package
-     *           Use this option to change the package of ruby generated classes. Default
-     *           is empty. When this option is not set, the package name will be used for
-     *           determining the ruby package.
-     *     @type \Google\Protobuf\Internal\FeatureSet $features
-     *           Any features defined in the specific edition.
-     *     @type array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $uninterpreted_option
-     *           The parser stores options it doesn't recognize here.
-     *           See the documentation for the "Options" section above.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Sets the Java package where classes generated from this .proto will be
-     * placed.  By default, the proto package is used, but this is often
-     * inappropriate because proto packages do not normally start with backwards
-     * domain names.
-     *
-     * Generated from protobuf field <code>optional string java_package = 1;</code>
-     * @return string
-     */
-    public function getJavaPackage()
-    {
-        return isset($this->java_package) ? $this->java_package : '';
-    }
-
-    public function hasJavaPackage()
-    {
-        return isset($this->java_package);
-    }
-
-    public function clearJavaPackage()
-    {
-        unset($this->java_package);
-    }
-
-    /**
-     * Sets the Java package where classes generated from this .proto will be
-     * placed.  By default, the proto package is used, but this is often
-     * inappropriate because proto packages do not normally start with backwards
-     * domain names.
-     *
-     * Generated from protobuf field <code>optional string java_package = 1;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setJavaPackage($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->java_package = $var;
-
-        return $this;
-    }
-
-    /**
-     * Controls the name of the wrapper Java class generated for the .proto file.
-     * That class will always contain the .proto file's getDescriptor() method as
-     * well as any top-level extensions defined in the .proto file.
-     * If java_multiple_files is disabled, then all the other classes from the
-     * .proto file will be nested inside the single wrapper outer class.
-     *
-     * Generated from protobuf field <code>optional string java_outer_classname = 8;</code>
-     * @return string
-     */
-    public function getJavaOuterClassname()
-    {
-        return isset($this->java_outer_classname) ? $this->java_outer_classname : '';
-    }
-
-    public function hasJavaOuterClassname()
-    {
-        return isset($this->java_outer_classname);
-    }
-
-    public function clearJavaOuterClassname()
-    {
-        unset($this->java_outer_classname);
-    }
-
-    /**
-     * Controls the name of the wrapper Java class generated for the .proto file.
-     * That class will always contain the .proto file's getDescriptor() method as
-     * well as any top-level extensions defined in the .proto file.
-     * If java_multiple_files is disabled, then all the other classes from the
-     * .proto file will be nested inside the single wrapper outer class.
-     *
-     * Generated from protobuf field <code>optional string java_outer_classname = 8;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setJavaOuterClassname($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->java_outer_classname = $var;
-
-        return $this;
-    }
-
-    /**
-     * If enabled, then the Java code generator will generate a separate .java
-     * file for each top-level message, enum, and service defined in the .proto
-     * file.  Thus, these types will *not* be nested inside the wrapper class
-     * named by java_outer_classname.  However, the wrapper class will still be
-     * generated to contain the file's getDescriptor() method as well as any
-     * top-level extensions defined in the file.
-     *
-     * Generated from protobuf field <code>optional bool java_multiple_files = 10 [default = false];</code>
-     * @return bool
-     */
-    public function getJavaMultipleFiles()
-    {
-        return isset($this->java_multiple_files) ? $this->java_multiple_files : false;
-    }
-
-    public function hasJavaMultipleFiles()
-    {
-        return isset($this->java_multiple_files);
-    }
-
-    public function clearJavaMultipleFiles()
-    {
-        unset($this->java_multiple_files);
-    }
-
-    /**
-     * If enabled, then the Java code generator will generate a separate .java
-     * file for each top-level message, enum, and service defined in the .proto
-     * file.  Thus, these types will *not* be nested inside the wrapper class
-     * named by java_outer_classname.  However, the wrapper class will still be
-     * generated to contain the file's getDescriptor() method as well as any
-     * top-level extensions defined in the file.
-     *
-     * Generated from protobuf field <code>optional bool java_multiple_files = 10 [default = false];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setJavaMultipleFiles($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->java_multiple_files = $var;
-
-        return $this;
-    }
-
-    /**
-     * This option does nothing.
-     *
-     * Generated from protobuf field <code>optional bool java_generate_equals_and_hash = 20 [deprecated = true];</code>
-     * @return bool
-     * @deprecated
-     */
-    public function getJavaGenerateEqualsAndHash()
-    {
-        if (isset($this->java_generate_equals_and_hash)) {
-            @trigger_error('java_generate_equals_and_hash is deprecated.', E_USER_DEPRECATED);
-        }
-        return isset($this->java_generate_equals_and_hash) ? $this->java_generate_equals_and_hash : false;
-    }
-
-    public function hasJavaGenerateEqualsAndHash()
-    {
-        if (isset($this->java_generate_equals_and_hash)) {
-            @trigger_error('java_generate_equals_and_hash is deprecated.', E_USER_DEPRECATED);
-        }
-        return isset($this->java_generate_equals_and_hash);
-    }
-
-    public function clearJavaGenerateEqualsAndHash()
-    {
-        @trigger_error('java_generate_equals_and_hash is deprecated.', E_USER_DEPRECATED);
-        unset($this->java_generate_equals_and_hash);
-    }
-
-    /**
-     * This option does nothing.
-     *
-     * Generated from protobuf field <code>optional bool java_generate_equals_and_hash = 20 [deprecated = true];</code>
-     * @param bool $var
-     * @return $this
-     * @deprecated
-     */
-    public function setJavaGenerateEqualsAndHash($var)
-    {
-        @trigger_error('java_generate_equals_and_hash is deprecated.', E_USER_DEPRECATED);
-        GPBUtil::checkBool($var);
-        $this->java_generate_equals_and_hash = $var;
-
-        return $this;
-    }
-
-    /**
-     * A proto2 file can set this to true to opt in to UTF-8 checking for Java,
-     * which will throw an exception if invalid UTF-8 is parsed from the wire or
-     * assigned to a string field.
-     * TODO: clarify exactly what kinds of field types this option
-     * applies to, and update these docs accordingly.
-     * Proto3 files already perform these checks. Setting the option explicitly to
-     * false has no effect: it cannot be used to opt proto3 files out of UTF-8
-     * checks.
-     *
-     * Generated from protobuf field <code>optional bool java_string_check_utf8 = 27 [default = false];</code>
-     * @return bool
-     */
-    public function getJavaStringCheckUtf8()
-    {
-        return isset($this->java_string_check_utf8) ? $this->java_string_check_utf8 : false;
-    }
-
-    public function hasJavaStringCheckUtf8()
-    {
-        return isset($this->java_string_check_utf8);
-    }
-
-    public function clearJavaStringCheckUtf8()
-    {
-        unset($this->java_string_check_utf8);
-    }
-
-    /**
-     * A proto2 file can set this to true to opt in to UTF-8 checking for Java,
-     * which will throw an exception if invalid UTF-8 is parsed from the wire or
-     * assigned to a string field.
-     * TODO: clarify exactly what kinds of field types this option
-     * applies to, and update these docs accordingly.
-     * Proto3 files already perform these checks. Setting the option explicitly to
-     * false has no effect: it cannot be used to opt proto3 files out of UTF-8
-     * checks.
-     *
-     * Generated from protobuf field <code>optional bool java_string_check_utf8 = 27 [default = false];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setJavaStringCheckUtf8($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->java_string_check_utf8 = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];</code>
-     * @return int
-     */
-    public function getOptimizeFor()
-    {
-        return isset($this->optimize_for) ? $this->optimize_for : 0;
-    }
-
-    public function hasOptimizeFor()
-    {
-        return isset($this->optimize_for);
-    }
-
-    public function clearOptimizeFor()
-    {
-        unset($this->optimize_for);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setOptimizeFor($var)
-    {
-        GPBUtil::checkEnum($var, \Google\Protobuf\Internal\FileOptions\OptimizeMode::class);
-        $this->optimize_for = $var;
-
-        return $this;
-    }
-
-    /**
-     * Sets the Go package where structs generated from this .proto will be
-     * placed. If omitted, the Go package will be derived from the following:
-     *   - The basename of the package import path, if provided.
-     *   - Otherwise, the package statement in the .proto file, if present.
-     *   - Otherwise, the basename of the .proto file, without extension.
-     *
-     * Generated from protobuf field <code>optional string go_package = 11;</code>
-     * @return string
-     */
-    public function getGoPackage()
-    {
-        return isset($this->go_package) ? $this->go_package : '';
-    }
-
-    public function hasGoPackage()
-    {
-        return isset($this->go_package);
-    }
-
-    public function clearGoPackage()
-    {
-        unset($this->go_package);
-    }
-
-    /**
-     * Sets the Go package where structs generated from this .proto will be
-     * placed. If omitted, the Go package will be derived from the following:
-     *   - The basename of the package import path, if provided.
-     *   - Otherwise, the package statement in the .proto file, if present.
-     *   - Otherwise, the basename of the .proto file, without extension.
-     *
-     * Generated from protobuf field <code>optional string go_package = 11;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setGoPackage($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->go_package = $var;
-
-        return $this;
-    }
-
-    /**
-     * Should generic services be generated in each language?  "Generic" services
-     * are not specific to any particular RPC system.  They are generated by the
-     * main code generators in each language (without additional plugins).
-     * Generic services were the only kind of service generation supported by
-     * early versions of google.protobuf.
-     * Generic services are now considered deprecated in favor of using plugins
-     * that generate code specific to your particular RPC system.  Therefore,
-     * these default to false.  Old code which depends on generic services should
-     * explicitly set them to true.
-     *
-     * Generated from protobuf field <code>optional bool cc_generic_services = 16 [default = false];</code>
-     * @return bool
-     */
-    public function getCcGenericServices()
-    {
-        return isset($this->cc_generic_services) ? $this->cc_generic_services : false;
-    }
-
-    public function hasCcGenericServices()
-    {
-        return isset($this->cc_generic_services);
-    }
-
-    public function clearCcGenericServices()
-    {
-        unset($this->cc_generic_services);
-    }
-
-    /**
-     * Should generic services be generated in each language?  "Generic" services
-     * are not specific to any particular RPC system.  They are generated by the
-     * main code generators in each language (without additional plugins).
-     * Generic services were the only kind of service generation supported by
-     * early versions of google.protobuf.
-     * Generic services are now considered deprecated in favor of using plugins
-     * that generate code specific to your particular RPC system.  Therefore,
-     * these default to false.  Old code which depends on generic services should
-     * explicitly set them to true.
-     *
-     * Generated from protobuf field <code>optional bool cc_generic_services = 16 [default = false];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setCcGenericServices($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->cc_generic_services = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional bool java_generic_services = 17 [default = false];</code>
-     * @return bool
-     */
-    public function getJavaGenericServices()
-    {
-        return isset($this->java_generic_services) ? $this->java_generic_services : false;
-    }
-
-    public function hasJavaGenericServices()
-    {
-        return isset($this->java_generic_services);
-    }
-
-    public function clearJavaGenericServices()
-    {
-        unset($this->java_generic_services);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional bool java_generic_services = 17 [default = false];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setJavaGenericServices($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->java_generic_services = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional bool py_generic_services = 18 [default = false];</code>
-     * @return bool
-     */
-    public function getPyGenericServices()
-    {
-        return isset($this->py_generic_services) ? $this->py_generic_services : false;
-    }
-
-    public function hasPyGenericServices()
-    {
-        return isset($this->py_generic_services);
-    }
-
-    public function clearPyGenericServices()
-    {
-        unset($this->py_generic_services);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional bool py_generic_services = 18 [default = false];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setPyGenericServices($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->py_generic_services = $var;
-
-        return $this;
-    }
-
-    /**
-     * Is this file deprecated?
-     * Depending on the target platform, this can emit Deprecated annotations
-     * for everything in the file, or it will be completely ignored; in the very
-     * least, this is a formalization for deprecating files.
-     *
-     * Generated from protobuf field <code>optional bool deprecated = 23 [default = false];</code>
-     * @return bool
-     */
-    public function getDeprecated()
-    {
-        return isset($this->deprecated) ? $this->deprecated : false;
-    }
-
-    public function hasDeprecated()
-    {
-        return isset($this->deprecated);
-    }
-
-    public function clearDeprecated()
-    {
-        unset($this->deprecated);
-    }
-
-    /**
-     * Is this file deprecated?
-     * Depending on the target platform, this can emit Deprecated annotations
-     * for everything in the file, or it will be completely ignored; in the very
-     * least, this is a formalization for deprecating files.
-     *
-     * Generated from protobuf field <code>optional bool deprecated = 23 [default = false];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setDeprecated($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->deprecated = $var;
-
-        return $this;
-    }
-
-    /**
-     * Enables the use of arenas for the proto messages in this file. This applies
-     * only to generated classes for C++.
-     *
-     * Generated from protobuf field <code>optional bool cc_enable_arenas = 31 [default = true];</code>
-     * @return bool
-     */
-    public function getCcEnableArenas()
-    {
-        return isset($this->cc_enable_arenas) ? $this->cc_enable_arenas : false;
-    }
-
-    public function hasCcEnableArenas()
-    {
-        return isset($this->cc_enable_arenas);
-    }
-
-    public function clearCcEnableArenas()
-    {
-        unset($this->cc_enable_arenas);
-    }
-
-    /**
-     * Enables the use of arenas for the proto messages in this file. This applies
-     * only to generated classes for C++.
-     *
-     * Generated from protobuf field <code>optional bool cc_enable_arenas = 31 [default = true];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setCcEnableArenas($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->cc_enable_arenas = $var;
-
-        return $this;
-    }
-
-    /**
-     * Sets the objective c class prefix which is prepended to all objective c
-     * generated classes from this .proto. There is no default.
-     *
-     * Generated from protobuf field <code>optional string objc_class_prefix = 36;</code>
-     * @return string
-     */
-    public function getObjcClassPrefix()
-    {
-        return isset($this->objc_class_prefix) ? $this->objc_class_prefix : '';
-    }
-
-    public function hasObjcClassPrefix()
-    {
-        return isset($this->objc_class_prefix);
-    }
-
-    public function clearObjcClassPrefix()
-    {
-        unset($this->objc_class_prefix);
-    }
-
-    /**
-     * Sets the objective c class prefix which is prepended to all objective c
-     * generated classes from this .proto. There is no default.
-     *
-     * Generated from protobuf field <code>optional string objc_class_prefix = 36;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setObjcClassPrefix($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->objc_class_prefix = $var;
-
-        return $this;
-    }
-
-    /**
-     * Namespace for generated classes; defaults to the package.
-     *
-     * Generated from protobuf field <code>optional string csharp_namespace = 37;</code>
-     * @return string
-     */
-    public function getCsharpNamespace()
-    {
-        return isset($this->csharp_namespace) ? $this->csharp_namespace : '';
-    }
-
-    public function hasCsharpNamespace()
-    {
-        return isset($this->csharp_namespace);
-    }
-
-    public function clearCsharpNamespace()
-    {
-        unset($this->csharp_namespace);
-    }
-
-    /**
-     * Namespace for generated classes; defaults to the package.
-     *
-     * Generated from protobuf field <code>optional string csharp_namespace = 37;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setCsharpNamespace($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->csharp_namespace = $var;
-
-        return $this;
-    }
-
-    /**
-     * By default Swift generators will take the proto package and CamelCase it
-     * replacing '.' with underscore and use that to prefix the types/symbols
-     * defined. When this options is provided, they will use this value instead
-     * to prefix the types/symbols defined.
-     *
-     * Generated from protobuf field <code>optional string swift_prefix = 39;</code>
-     * @return string
-     */
-    public function getSwiftPrefix()
-    {
-        return isset($this->swift_prefix) ? $this->swift_prefix : '';
-    }
-
-    public function hasSwiftPrefix()
-    {
-        return isset($this->swift_prefix);
-    }
-
-    public function clearSwiftPrefix()
-    {
-        unset($this->swift_prefix);
-    }
-
-    /**
-     * By default Swift generators will take the proto package and CamelCase it
-     * replacing '.' with underscore and use that to prefix the types/symbols
-     * defined. When this options is provided, they will use this value instead
-     * to prefix the types/symbols defined.
-     *
-     * Generated from protobuf field <code>optional string swift_prefix = 39;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setSwiftPrefix($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->swift_prefix = $var;
-
-        return $this;
-    }
-
-    /**
-     * Sets the php class prefix which is prepended to all php generated classes
-     * from this .proto. Default is empty.
-     *
-     * Generated from protobuf field <code>optional string php_class_prefix = 40;</code>
-     * @return string
-     */
-    public function getPhpClassPrefix()
-    {
-        return isset($this->php_class_prefix) ? $this->php_class_prefix : '';
-    }
-
-    public function hasPhpClassPrefix()
-    {
-        return isset($this->php_class_prefix);
-    }
-
-    public function clearPhpClassPrefix()
-    {
-        unset($this->php_class_prefix);
-    }
-
-    /**
-     * Sets the php class prefix which is prepended to all php generated classes
-     * from this .proto. Default is empty.
-     *
-     * Generated from protobuf field <code>optional string php_class_prefix = 40;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setPhpClassPrefix($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->php_class_prefix = $var;
-
-        return $this;
-    }
-
-    /**
-     * Use this option to change the namespace of php generated classes. Default
-     * is empty. When this option is empty, the package name will be used for
-     * determining the namespace.
-     *
-     * Generated from protobuf field <code>optional string php_namespace = 41;</code>
-     * @return string
-     */
-    public function getPhpNamespace()
-    {
-        return isset($this->php_namespace) ? $this->php_namespace : '';
-    }
-
-    public function hasPhpNamespace()
-    {
-        return isset($this->php_namespace);
-    }
-
-    public function clearPhpNamespace()
-    {
-        unset($this->php_namespace);
-    }
-
-    /**
-     * Use this option to change the namespace of php generated classes. Default
-     * is empty. When this option is empty, the package name will be used for
-     * determining the namespace.
-     *
-     * Generated from protobuf field <code>optional string php_namespace = 41;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setPhpNamespace($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->php_namespace = $var;
-
-        return $this;
-    }
-
-    /**
-     * Use this option to change the namespace of php generated metadata classes.
-     * Default is empty. When this option is empty, the proto file name will be
-     * used for determining the namespace.
-     *
-     * Generated from protobuf field <code>optional string php_metadata_namespace = 44;</code>
-     * @return string
-     */
-    public function getPhpMetadataNamespace()
-    {
-        return isset($this->php_metadata_namespace) ? $this->php_metadata_namespace : '';
-    }
-
-    public function hasPhpMetadataNamespace()
-    {
-        return isset($this->php_metadata_namespace);
-    }
-
-    public function clearPhpMetadataNamespace()
-    {
-        unset($this->php_metadata_namespace);
-    }
-
-    /**
-     * Use this option to change the namespace of php generated metadata classes.
-     * Default is empty. When this option is empty, the proto file name will be
-     * used for determining the namespace.
-     *
-     * Generated from protobuf field <code>optional string php_metadata_namespace = 44;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setPhpMetadataNamespace($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->php_metadata_namespace = $var;
-
-        return $this;
-    }
-
-    /**
-     * Use this option to change the package of ruby generated classes. Default
-     * is empty. When this option is not set, the package name will be used for
-     * determining the ruby package.
-     *
-     * Generated from protobuf field <code>optional string ruby_package = 45;</code>
-     * @return string
-     */
-    public function getRubyPackage()
-    {
-        return isset($this->ruby_package) ? $this->ruby_package : '';
-    }
-
-    public function hasRubyPackage()
-    {
-        return isset($this->ruby_package);
-    }
-
-    public function clearRubyPackage()
-    {
-        unset($this->ruby_package);
-    }
-
-    /**
-     * Use this option to change the package of ruby generated classes. Default
-     * is empty. When this option is not set, the package name will be used for
-     * determining the ruby package.
-     *
-     * Generated from protobuf field <code>optional string ruby_package = 45;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setRubyPackage($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->ruby_package = $var;
-
-        return $this;
-    }
-
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 50;</code>
-     * @return \Google\Protobuf\Internal\FeatureSet|null
-     */
-    public function getFeatures()
-    {
-        return $this->features;
-    }
-
-    public function hasFeatures()
-    {
-        return isset($this->features);
-    }
-
-    public function clearFeatures()
-    {
-        unset($this->features);
-    }
-
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 50;</code>
-     * @param \Google\Protobuf\Internal\FeatureSet $var
-     * @return $this
-     */
-    public function setFeatures($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\FeatureSet::class);
-        $this->features = $var;
-
-        return $this;
-    }
-
-    /**
-     * The parser stores options it doesn't recognize here.
-     * See the documentation for the "Options" section above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getUninterpretedOption()
-    {
-        return $this->uninterpreted_option;
-    }
-
-    /**
-     * The parser stores options it doesn't recognize here.
-     * See the documentation for the "Options" section above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     * @param array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setUninterpretedOption($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\UninterpretedOption::class);
-        $this->uninterpreted_option = $arr;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/FileOptions/OptimizeMode.php b/php/src/Google/Protobuf/Internal/FileOptions/OptimizeMode.php
deleted file mode 100644
index 2ffe8b2fae..0000000000
--- a/php/src/Google/Protobuf/Internal/FileOptions/OptimizeMode.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal\FileOptions;
-
-use UnexpectedValueException;
-
-/**
- * Generated classes can be optimized for speed or code size.
- *
- * Protobuf type <code>google.protobuf.FileOptions.OptimizeMode</code>
- */
-class OptimizeMode
-{
-    /**
-     * Generate complete code for parsing, serialization,
-     *
-     * Generated from protobuf enum <code>SPEED = 1;</code>
-     */
-    const SPEED = 1;
-    /**
-     * etc.
-     *
-     * Generated from protobuf enum <code>CODE_SIZE = 2;</code>
-     */
-    const CODE_SIZE = 2;
-    /**
-     * Generate code using MessageLite and the lite runtime.
-     *
-     * Generated from protobuf enum <code>LITE_RUNTIME = 3;</code>
-     */
-    const LITE_RUNTIME = 3;
-
-    private static $valueToName = [
-        self::SPEED => 'SPEED',
-        self::CODE_SIZE => 'CODE_SIZE',
-        self::LITE_RUNTIME => 'LITE_RUNTIME',
-    ];
-
-    public static function name($value)
-    {
-        if (!isset(self::$valueToName[$value])) {
-            throw new UnexpectedValueException(sprintf(
-                    'Enum %s has no name defined for value %s', __CLASS__, $value));
-        }
-        return self::$valueToName[$value];
-    }
-
-
-    public static function value($name)
-    {
-        $const = __CLASS__ . '::' . strtoupper($name);
-        if (!defined($const)) {
-            throw new UnexpectedValueException(sprintf(
-                    'Enum %s has no value defined for name %s', __CLASS__, $name));
-        }
-        return constant($const);
-    }
-}
-
diff --git a/php/src/Google/Protobuf/Internal/GeneratedCodeInfo.php b/php/src/Google/Protobuf/Internal/GeneratedCodeInfo.php
deleted file mode 100644
index 0fe4a433b6..0000000000
--- a/php/src/Google/Protobuf/Internal/GeneratedCodeInfo.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Describes the relationship between generated code and its original source
- * file. A GeneratedCodeInfo message is associated with only one generated
- * source file, but may contain references to different source .proto files.
- *
- * Generated from protobuf message <code>google.protobuf.GeneratedCodeInfo</code>
- */
-class GeneratedCodeInfo extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * An Annotation connects some span of text in generated code to an element
-     * of its generating .proto file.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;</code>
-     */
-    private $annotation;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type array<\Google\Protobuf\Internal\GeneratedCodeInfo\Annotation>|\Google\Protobuf\Internal\RepeatedField $annotation
-     *           An Annotation connects some span of text in generated code to an element
-     *           of its generating .proto file.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * An Annotation connects some span of text in generated code to an element
-     * of its generating .proto file.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getAnnotation()
-    {
-        return $this->annotation;
-    }
-
-    /**
-     * An Annotation connects some span of text in generated code to an element
-     * of its generating .proto file.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;</code>
-     * @param array<\Google\Protobuf\Internal\GeneratedCodeInfo\Annotation>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setAnnotation($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\GeneratedCodeInfo\Annotation::class);
-        $this->annotation = $arr;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/GeneratedCodeInfo/Annotation.php b/php/src/Google/Protobuf/Internal/GeneratedCodeInfo/Annotation.php
deleted file mode 100644
index 6a3b60c103..0000000000
--- a/php/src/Google/Protobuf/Internal/GeneratedCodeInfo/Annotation.php
+++ /dev/null
@@ -1,253 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal\GeneratedCodeInfo;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Generated from protobuf message <code>google.protobuf.GeneratedCodeInfo.Annotation</code>
- */
-class Annotation extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Identifies the element in the original source .proto file. This field
-     * is formatted the same as SourceCodeInfo.Location.path.
-     *
-     * Generated from protobuf field <code>repeated int32 path = 1 [packed = true];</code>
-     */
-    private $path;
-    /**
-     * Identifies the filesystem path to the original source .proto.
-     *
-     * Generated from protobuf field <code>optional string source_file = 2;</code>
-     */
-    protected $source_file = null;
-    /**
-     * Identifies the starting offset in bytes in the generated code
-     * that relates to the identified object.
-     *
-     * Generated from protobuf field <code>optional int32 begin = 3;</code>
-     */
-    protected $begin = null;
-    /**
-     * Identifies the ending offset in bytes in the generated code that
-     * relates to the identified object. The end offset should be one past
-     * the last relevant byte (so the length of the text = end - begin).
-     *
-     * Generated from protobuf field <code>optional int32 end = 4;</code>
-     */
-    protected $end = null;
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.GeneratedCodeInfo.Annotation.Semantic semantic = 5;</code>
-     */
-    protected $semantic = null;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type array<int>|\Google\Protobuf\Internal\RepeatedField $path
-     *           Identifies the element in the original source .proto file. This field
-     *           is formatted the same as SourceCodeInfo.Location.path.
-     *     @type string $source_file
-     *           Identifies the filesystem path to the original source .proto.
-     *     @type int $begin
-     *           Identifies the starting offset in bytes in the generated code
-     *           that relates to the identified object.
-     *     @type int $end
-     *           Identifies the ending offset in bytes in the generated code that
-     *           relates to the identified object. The end offset should be one past
-     *           the last relevant byte (so the length of the text = end - begin).
-     *     @type int $semantic
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Identifies the element in the original source .proto file. This field
-     * is formatted the same as SourceCodeInfo.Location.path.
-     *
-     * Generated from protobuf field <code>repeated int32 path = 1 [packed = true];</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getPath()
-    {
-        return $this->path;
-    }
-
-    /**
-     * Identifies the element in the original source .proto file. This field
-     * is formatted the same as SourceCodeInfo.Location.path.
-     *
-     * Generated from protobuf field <code>repeated int32 path = 1 [packed = true];</code>
-     * @param array<int>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setPath($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32);
-        $this->path = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Identifies the filesystem path to the original source .proto.
-     *
-     * Generated from protobuf field <code>optional string source_file = 2;</code>
-     * @return string
-     */
-    public function getSourceFile()
-    {
-        return isset($this->source_file) ? $this->source_file : '';
-    }
-
-    public function hasSourceFile()
-    {
-        return isset($this->source_file);
-    }
-
-    public function clearSourceFile()
-    {
-        unset($this->source_file);
-    }
-
-    /**
-     * Identifies the filesystem path to the original source .proto.
-     *
-     * Generated from protobuf field <code>optional string source_file = 2;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setSourceFile($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->source_file = $var;
-
-        return $this;
-    }
-
-    /**
-     * Identifies the starting offset in bytes in the generated code
-     * that relates to the identified object.
-     *
-     * Generated from protobuf field <code>optional int32 begin = 3;</code>
-     * @return int
-     */
-    public function getBegin()
-    {
-        return isset($this->begin) ? $this->begin : 0;
-    }
-
-    public function hasBegin()
-    {
-        return isset($this->begin);
-    }
-
-    public function clearBegin()
-    {
-        unset($this->begin);
-    }
-
-    /**
-     * Identifies the starting offset in bytes in the generated code
-     * that relates to the identified object.
-     *
-     * Generated from protobuf field <code>optional int32 begin = 3;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setBegin($var)
-    {
-        GPBUtil::checkInt32($var);
-        $this->begin = $var;
-
-        return $this;
-    }
-
-    /**
-     * Identifies the ending offset in bytes in the generated code that
-     * relates to the identified object. The end offset should be one past
-     * the last relevant byte (so the length of the text = end - begin).
-     *
-     * Generated from protobuf field <code>optional int32 end = 4;</code>
-     * @return int
-     */
-    public function getEnd()
-    {
-        return isset($this->end) ? $this->end : 0;
-    }
-
-    public function hasEnd()
-    {
-        return isset($this->end);
-    }
-
-    public function clearEnd()
-    {
-        unset($this->end);
-    }
-
-    /**
-     * Identifies the ending offset in bytes in the generated code that
-     * relates to the identified object. The end offset should be one past
-     * the last relevant byte (so the length of the text = end - begin).
-     *
-     * Generated from protobuf field <code>optional int32 end = 4;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setEnd($var)
-    {
-        GPBUtil::checkInt32($var);
-        $this->end = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.GeneratedCodeInfo.Annotation.Semantic semantic = 5;</code>
-     * @return int
-     */
-    public function getSemantic()
-    {
-        return isset($this->semantic) ? $this->semantic : 0;
-    }
-
-    public function hasSemantic()
-    {
-        return isset($this->semantic);
-    }
-
-    public function clearSemantic()
-    {
-        unset($this->semantic);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.GeneratedCodeInfo.Annotation.Semantic semantic = 5;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setSemantic($var)
-    {
-        GPBUtil::checkEnum($var, \Google\Protobuf\Internal\GeneratedCodeInfo\Annotation\Semantic::class);
-        $this->semantic = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/MessageOptions.php b/php/src/Google/Protobuf/Internal/MessageOptions.php
deleted file mode 100644
index 2fe22c2869..0000000000
--- a/php/src/Google/Protobuf/Internal/MessageOptions.php
+++ /dev/null
@@ -1,515 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Generated from protobuf message <code>google.protobuf.MessageOptions</code>
- */
-class MessageOptions extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Set true to use the old proto1 MessageSet wire format for extensions.
-     * This is provided for backwards-compatibility with the MessageSet wire
-     * format.  You should not use this for any other reason:  It's less
-     * efficient, has fewer features, and is more complicated.
-     * The message must be defined exactly as follows:
-     *   message Foo {
-     *     option message_set_wire_format = true;
-     *     extensions 4 to max;
-     *   }
-     * Note that the message cannot have any defined fields; MessageSets only
-     * have extensions.
-     * All extensions of your type must be singular messages; e.g. they cannot
-     * be int32s, enums, or repeated messages.
-     * Because this is an option, the above two restrictions are not enforced by
-     * the protocol compiler.
-     *
-     * Generated from protobuf field <code>optional bool message_set_wire_format = 1 [default = false];</code>
-     */
-    protected $message_set_wire_format = null;
-    /**
-     * Disables the generation of the standard "descriptor()" accessor, which can
-     * conflict with a field of the same name.  This is meant to make migration
-     * from proto1 easier; new code should avoid fields named "descriptor".
-     *
-     * Generated from protobuf field <code>optional bool no_standard_descriptor_accessor = 2 [default = false];</code>
-     */
-    protected $no_standard_descriptor_accessor = null;
-    /**
-     * Is this message deprecated?
-     * Depending on the target platform, this can emit Deprecated annotations
-     * for the message, or it will be completely ignored; in the very least,
-     * this is a formalization for deprecating messages.
-     *
-     * Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
-     */
-    protected $deprecated = null;
-    /**
-     * Whether the message is an automatically generated map entry type for the
-     * maps field.
-     * For maps fields:
-     *     map<KeyType, ValueType> map_field = 1;
-     * The parsed descriptor looks like:
-     *     message MapFieldEntry {
-     *         option map_entry = true;
-     *         optional KeyType key = 1;
-     *         optional ValueType value = 2;
-     *     }
-     *     repeated MapFieldEntry map_field = 1;
-     * Implementations may choose not to generate the map_entry=true message, but
-     * use a native map in the target language to hold the keys and values.
-     * The reflection APIs in such implementations still need to work as
-     * if the field is a repeated message field.
-     * NOTE: Do not set the option in .proto files. Always use the maps syntax
-     * instead. The option should only be implicitly set by the proto compiler
-     * parser.
-     *
-     * Generated from protobuf field <code>optional bool map_entry = 7;</code>
-     */
-    protected $map_entry = null;
-    /**
-     * Enable the legacy handling of JSON field name conflicts.  This lowercases
-     * and strips underscored from the fields before comparison in proto3 only.
-     * The new behavior takes `json_name` into account and applies to proto2 as
-     * well.
-     * This should only be used as a temporary measure against broken builds due
-     * to the change in behavior for JSON field name conflicts.
-     * TODO This is legacy behavior we plan to remove once downstream
-     * teams have had time to migrate.
-     *
-     * Generated from protobuf field <code>optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];</code>
-     * @deprecated
-     */
-    protected $deprecated_legacy_json_field_conflicts = null;
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 12;</code>
-     */
-    protected $features = null;
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     */
-    private $uninterpreted_option;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type bool $message_set_wire_format
-     *           Set true to use the old proto1 MessageSet wire format for extensions.
-     *           This is provided for backwards-compatibility with the MessageSet wire
-     *           format.  You should not use this for any other reason:  It's less
-     *           efficient, has fewer features, and is more complicated.
-     *           The message must be defined exactly as follows:
-     *             message Foo {
-     *               option message_set_wire_format = true;
-     *               extensions 4 to max;
-     *             }
-     *           Note that the message cannot have any defined fields; MessageSets only
-     *           have extensions.
-     *           All extensions of your type must be singular messages; e.g. they cannot
-     *           be int32s, enums, or repeated messages.
-     *           Because this is an option, the above two restrictions are not enforced by
-     *           the protocol compiler.
-     *     @type bool $no_standard_descriptor_accessor
-     *           Disables the generation of the standard "descriptor()" accessor, which can
-     *           conflict with a field of the same name.  This is meant to make migration
-     *           from proto1 easier; new code should avoid fields named "descriptor".
-     *     @type bool $deprecated
-     *           Is this message deprecated?
-     *           Depending on the target platform, this can emit Deprecated annotations
-     *           for the message, or it will be completely ignored; in the very least,
-     *           this is a formalization for deprecating messages.
-     *     @type bool $map_entry
-     *           Whether the message is an automatically generated map entry type for the
-     *           maps field.
-     *           For maps fields:
-     *               map<KeyType, ValueType> map_field = 1;
-     *           The parsed descriptor looks like:
-     *               message MapFieldEntry {
-     *                   option map_entry = true;
-     *                   optional KeyType key = 1;
-     *                   optional ValueType value = 2;
-     *               }
-     *               repeated MapFieldEntry map_field = 1;
-     *           Implementations may choose not to generate the map_entry=true message, but
-     *           use a native map in the target language to hold the keys and values.
-     *           The reflection APIs in such implementations still need to work as
-     *           if the field is a repeated message field.
-     *           NOTE: Do not set the option in .proto files. Always use the maps syntax
-     *           instead. The option should only be implicitly set by the proto compiler
-     *           parser.
-     *     @type bool $deprecated_legacy_json_field_conflicts
-     *           Enable the legacy handling of JSON field name conflicts.  This lowercases
-     *           and strips underscored from the fields before comparison in proto3 only.
-     *           The new behavior takes `json_name` into account and applies to proto2 as
-     *           well.
-     *           This should only be used as a temporary measure against broken builds due
-     *           to the change in behavior for JSON field name conflicts.
-     *           TODO This is legacy behavior we plan to remove once downstream
-     *           teams have had time to migrate.
-     *     @type \Google\Protobuf\Internal\FeatureSet $features
-     *           Any features defined in the specific edition.
-     *     @type array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $uninterpreted_option
-     *           The parser stores options it doesn't recognize here. See above.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Set true to use the old proto1 MessageSet wire format for extensions.
-     * This is provided for backwards-compatibility with the MessageSet wire
-     * format.  You should not use this for any other reason:  It's less
-     * efficient, has fewer features, and is more complicated.
-     * The message must be defined exactly as follows:
-     *   message Foo {
-     *     option message_set_wire_format = true;
-     *     extensions 4 to max;
-     *   }
-     * Note that the message cannot have any defined fields; MessageSets only
-     * have extensions.
-     * All extensions of your type must be singular messages; e.g. they cannot
-     * be int32s, enums, or repeated messages.
-     * Because this is an option, the above two restrictions are not enforced by
-     * the protocol compiler.
-     *
-     * Generated from protobuf field <code>optional bool message_set_wire_format = 1 [default = false];</code>
-     * @return bool
-     */
-    public function getMessageSetWireFormat()
-    {
-        return isset($this->message_set_wire_format) ? $this->message_set_wire_format : false;
-    }
-
-    public function hasMessageSetWireFormat()
-    {
-        return isset($this->message_set_wire_format);
-    }
-
-    public function clearMessageSetWireFormat()
-    {
-        unset($this->message_set_wire_format);
-    }
-
-    /**
-     * Set true to use the old proto1 MessageSet wire format for extensions.
-     * This is provided for backwards-compatibility with the MessageSet wire
-     * format.  You should not use this for any other reason:  It's less
-     * efficient, has fewer features, and is more complicated.
-     * The message must be defined exactly as follows:
-     *   message Foo {
-     *     option message_set_wire_format = true;
-     *     extensions 4 to max;
-     *   }
-     * Note that the message cannot have any defined fields; MessageSets only
-     * have extensions.
-     * All extensions of your type must be singular messages; e.g. they cannot
-     * be int32s, enums, or repeated messages.
-     * Because this is an option, the above two restrictions are not enforced by
-     * the protocol compiler.
-     *
-     * Generated from protobuf field <code>optional bool message_set_wire_format = 1 [default = false];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setMessageSetWireFormat($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->message_set_wire_format = $var;
-
-        return $this;
-    }
-
-    /**
-     * Disables the generation of the standard "descriptor()" accessor, which can
-     * conflict with a field of the same name.  This is meant to make migration
-     * from proto1 easier; new code should avoid fields named "descriptor".
-     *
-     * Generated from protobuf field <code>optional bool no_standard_descriptor_accessor = 2 [default = false];</code>
-     * @return bool
-     */
-    public function getNoStandardDescriptorAccessor()
-    {
-        return isset($this->no_standard_descriptor_accessor) ? $this->no_standard_descriptor_accessor : false;
-    }
-
-    public function hasNoStandardDescriptorAccessor()
-    {
-        return isset($this->no_standard_descriptor_accessor);
-    }
-
-    public function clearNoStandardDescriptorAccessor()
-    {
-        unset($this->no_standard_descriptor_accessor);
-    }
-
-    /**
-     * Disables the generation of the standard "descriptor()" accessor, which can
-     * conflict with a field of the same name.  This is meant to make migration
-     * from proto1 easier; new code should avoid fields named "descriptor".
-     *
-     * Generated from protobuf field <code>optional bool no_standard_descriptor_accessor = 2 [default = false];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setNoStandardDescriptorAccessor($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->no_standard_descriptor_accessor = $var;
-
-        return $this;
-    }
-
-    /**
-     * Is this message deprecated?
-     * Depending on the target platform, this can emit Deprecated annotations
-     * for the message, or it will be completely ignored; in the very least,
-     * this is a formalization for deprecating messages.
-     *
-     * Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
-     * @return bool
-     */
-    public function getDeprecated()
-    {
-        return isset($this->deprecated) ? $this->deprecated : false;
-    }
-
-    public function hasDeprecated()
-    {
-        return isset($this->deprecated);
-    }
-
-    public function clearDeprecated()
-    {
-        unset($this->deprecated);
-    }
-
-    /**
-     * Is this message deprecated?
-     * Depending on the target platform, this can emit Deprecated annotations
-     * for the message, or it will be completely ignored; in the very least,
-     * this is a formalization for deprecating messages.
-     *
-     * Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setDeprecated($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->deprecated = $var;
-
-        return $this;
-    }
-
-    /**
-     * Whether the message is an automatically generated map entry type for the
-     * maps field.
-     * For maps fields:
-     *     map<KeyType, ValueType> map_field = 1;
-     * The parsed descriptor looks like:
-     *     message MapFieldEntry {
-     *         option map_entry = true;
-     *         optional KeyType key = 1;
-     *         optional ValueType value = 2;
-     *     }
-     *     repeated MapFieldEntry map_field = 1;
-     * Implementations may choose not to generate the map_entry=true message, but
-     * use a native map in the target language to hold the keys and values.
-     * The reflection APIs in such implementations still need to work as
-     * if the field is a repeated message field.
-     * NOTE: Do not set the option in .proto files. Always use the maps syntax
-     * instead. The option should only be implicitly set by the proto compiler
-     * parser.
-     *
-     * Generated from protobuf field <code>optional bool map_entry = 7;</code>
-     * @return bool
-     */
-    public function getMapEntry()
-    {
-        return isset($this->map_entry) ? $this->map_entry : false;
-    }
-
-    public function hasMapEntry()
-    {
-        return isset($this->map_entry);
-    }
-
-    public function clearMapEntry()
-    {
-        unset($this->map_entry);
-    }
-
-    /**
-     * Whether the message is an automatically generated map entry type for the
-     * maps field.
-     * For maps fields:
-     *     map<KeyType, ValueType> map_field = 1;
-     * The parsed descriptor looks like:
-     *     message MapFieldEntry {
-     *         option map_entry = true;
-     *         optional KeyType key = 1;
-     *         optional ValueType value = 2;
-     *     }
-     *     repeated MapFieldEntry map_field = 1;
-     * Implementations may choose not to generate the map_entry=true message, but
-     * use a native map in the target language to hold the keys and values.
-     * The reflection APIs in such implementations still need to work as
-     * if the field is a repeated message field.
-     * NOTE: Do not set the option in .proto files. Always use the maps syntax
-     * instead. The option should only be implicitly set by the proto compiler
-     * parser.
-     *
-     * Generated from protobuf field <code>optional bool map_entry = 7;</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setMapEntry($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->map_entry = $var;
-
-        return $this;
-    }
-
-    /**
-     * Enable the legacy handling of JSON field name conflicts.  This lowercases
-     * and strips underscored from the fields before comparison in proto3 only.
-     * The new behavior takes `json_name` into account and applies to proto2 as
-     * well.
-     * This should only be used as a temporary measure against broken builds due
-     * to the change in behavior for JSON field name conflicts.
-     * TODO This is legacy behavior we plan to remove once downstream
-     * teams have had time to migrate.
-     *
-     * Generated from protobuf field <code>optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];</code>
-     * @return bool
-     * @deprecated
-     */
-    public function getDeprecatedLegacyJsonFieldConflicts()
-    {
-        if (isset($this->deprecated_legacy_json_field_conflicts)) {
-            @trigger_error('deprecated_legacy_json_field_conflicts is deprecated.', E_USER_DEPRECATED);
-        }
-        return isset($this->deprecated_legacy_json_field_conflicts) ? $this->deprecated_legacy_json_field_conflicts : false;
-    }
-
-    public function hasDeprecatedLegacyJsonFieldConflicts()
-    {
-        if (isset($this->deprecated_legacy_json_field_conflicts)) {
-            @trigger_error('deprecated_legacy_json_field_conflicts is deprecated.', E_USER_DEPRECATED);
-        }
-        return isset($this->deprecated_legacy_json_field_conflicts);
-    }
-
-    public function clearDeprecatedLegacyJsonFieldConflicts()
-    {
-        @trigger_error('deprecated_legacy_json_field_conflicts is deprecated.', E_USER_DEPRECATED);
-        unset($this->deprecated_legacy_json_field_conflicts);
-    }
-
-    /**
-     * Enable the legacy handling of JSON field name conflicts.  This lowercases
-     * and strips underscored from the fields before comparison in proto3 only.
-     * The new behavior takes `json_name` into account and applies to proto2 as
-     * well.
-     * This should only be used as a temporary measure against broken builds due
-     * to the change in behavior for JSON field name conflicts.
-     * TODO This is legacy behavior we plan to remove once downstream
-     * teams have had time to migrate.
-     *
-     * Generated from protobuf field <code>optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];</code>
-     * @param bool $var
-     * @return $this
-     * @deprecated
-     */
-    public function setDeprecatedLegacyJsonFieldConflicts($var)
-    {
-        @trigger_error('deprecated_legacy_json_field_conflicts is deprecated.', E_USER_DEPRECATED);
-        GPBUtil::checkBool($var);
-        $this->deprecated_legacy_json_field_conflicts = $var;
-
-        return $this;
-    }
-
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 12;</code>
-     * @return \Google\Protobuf\Internal\FeatureSet|null
-     */
-    public function getFeatures()
-    {
-        return $this->features;
-    }
-
-    public function hasFeatures()
-    {
-        return isset($this->features);
-    }
-
-    public function clearFeatures()
-    {
-        unset($this->features);
-    }
-
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 12;</code>
-     * @param \Google\Protobuf\Internal\FeatureSet $var
-     * @return $this
-     */
-    public function setFeatures($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\FeatureSet::class);
-        $this->features = $var;
-
-        return $this;
-    }
-
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getUninterpretedOption()
-    {
-        return $this->uninterpreted_option;
-    }
-
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     * @param array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setUninterpretedOption($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\UninterpretedOption::class);
-        $this->uninterpreted_option = $arr;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/MethodDescriptorProto.php b/php/src/Google/Protobuf/Internal/MethodDescriptorProto.php
deleted file mode 100644
index 93276e3930..0000000000
--- a/php/src/Google/Protobuf/Internal/MethodDescriptorProto.php
+++ /dev/null
@@ -1,283 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Describes a method of a service.
- *
- * Generated from protobuf message <code>google.protobuf.MethodDescriptorProto</code>
- */
-class MethodDescriptorProto extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     */
-    protected $name = null;
-    /**
-     * Input and output type names.  These are resolved in the same way as
-     * FieldDescriptorProto.type_name, but must refer to a message type.
-     *
-     * Generated from protobuf field <code>optional string input_type = 2;</code>
-     */
-    protected $input_type = null;
-    /**
-     * Generated from protobuf field <code>optional string output_type = 3;</code>
-     */
-    protected $output_type = null;
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.MethodOptions options = 4;</code>
-     */
-    protected $options = null;
-    /**
-     * Identifies if client streams multiple client messages
-     *
-     * Generated from protobuf field <code>optional bool client_streaming = 5 [default = false];</code>
-     */
-    protected $client_streaming = null;
-    /**
-     * Identifies if server streams multiple server messages
-     *
-     * Generated from protobuf field <code>optional bool server_streaming = 6 [default = false];</code>
-     */
-    protected $server_streaming = null;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type string $name
-     *     @type string $input_type
-     *           Input and output type names.  These are resolved in the same way as
-     *           FieldDescriptorProto.type_name, but must refer to a message type.
-     *     @type string $output_type
-     *     @type \Google\Protobuf\Internal\MethodOptions $options
-     *     @type bool $client_streaming
-     *           Identifies if client streams multiple client messages
-     *     @type bool $server_streaming
-     *           Identifies if server streams multiple server messages
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     * @return string
-     */
-    public function getName()
-    {
-        return isset($this->name) ? $this->name : '';
-    }
-
-    public function hasName()
-    {
-        return isset($this->name);
-    }
-
-    public function clearName()
-    {
-        unset($this->name);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setName($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->name = $var;
-
-        return $this;
-    }
-
-    /**
-     * Input and output type names.  These are resolved in the same way as
-     * FieldDescriptorProto.type_name, but must refer to a message type.
-     *
-     * Generated from protobuf field <code>optional string input_type = 2;</code>
-     * @return string
-     */
-    public function getInputType()
-    {
-        return isset($this->input_type) ? $this->input_type : '';
-    }
-
-    public function hasInputType()
-    {
-        return isset($this->input_type);
-    }
-
-    public function clearInputType()
-    {
-        unset($this->input_type);
-    }
-
-    /**
-     * Input and output type names.  These are resolved in the same way as
-     * FieldDescriptorProto.type_name, but must refer to a message type.
-     *
-     * Generated from protobuf field <code>optional string input_type = 2;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setInputType($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->input_type = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional string output_type = 3;</code>
-     * @return string
-     */
-    public function getOutputType()
-    {
-        return isset($this->output_type) ? $this->output_type : '';
-    }
-
-    public function hasOutputType()
-    {
-        return isset($this->output_type);
-    }
-
-    public function clearOutputType()
-    {
-        unset($this->output_type);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional string output_type = 3;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setOutputType($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->output_type = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.MethodOptions options = 4;</code>
-     * @return \Google\Protobuf\Internal\MethodOptions|null
-     */
-    public function getOptions()
-    {
-        return $this->options;
-    }
-
-    public function hasOptions()
-    {
-        return isset($this->options);
-    }
-
-    public function clearOptions()
-    {
-        unset($this->options);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.MethodOptions options = 4;</code>
-     * @param \Google\Protobuf\Internal\MethodOptions $var
-     * @return $this
-     */
-    public function setOptions($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\MethodOptions::class);
-        $this->options = $var;
-
-        return $this;
-    }
-
-    /**
-     * Identifies if client streams multiple client messages
-     *
-     * Generated from protobuf field <code>optional bool client_streaming = 5 [default = false];</code>
-     * @return bool
-     */
-    public function getClientStreaming()
-    {
-        return isset($this->client_streaming) ? $this->client_streaming : false;
-    }
-
-    public function hasClientStreaming()
-    {
-        return isset($this->client_streaming);
-    }
-
-    public function clearClientStreaming()
-    {
-        unset($this->client_streaming);
-    }
-
-    /**
-     * Identifies if client streams multiple client messages
-     *
-     * Generated from protobuf field <code>optional bool client_streaming = 5 [default = false];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setClientStreaming($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->client_streaming = $var;
-
-        return $this;
-    }
-
-    /**
-     * Identifies if server streams multiple server messages
-     *
-     * Generated from protobuf field <code>optional bool server_streaming = 6 [default = false];</code>
-     * @return bool
-     */
-    public function getServerStreaming()
-    {
-        return isset($this->server_streaming) ? $this->server_streaming : false;
-    }
-
-    public function hasServerStreaming()
-    {
-        return isset($this->server_streaming);
-    }
-
-    public function clearServerStreaming()
-    {
-        unset($this->server_streaming);
-    }
-
-    /**
-     * Identifies if server streams multiple server messages
-     *
-     * Generated from protobuf field <code>optional bool server_streaming = 6 [default = false];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setServerStreaming($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->server_streaming = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/MethodOptions.php b/php/src/Google/Protobuf/Internal/MethodOptions.php
deleted file mode 100644
index fc9e551029..0000000000
--- a/php/src/Google/Protobuf/Internal/MethodOptions.php
+++ /dev/null
@@ -1,205 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Generated from protobuf message <code>google.protobuf.MethodOptions</code>
- */
-class MethodOptions extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Is this method deprecated?
-     * Depending on the target platform, this can emit Deprecated annotations
-     * for the method, or it will be completely ignored; in the very least,
-     * this is a formalization for deprecating methods.
-     *
-     * Generated from protobuf field <code>optional bool deprecated = 33 [default = false];</code>
-     */
-    protected $deprecated = null;
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];</code>
-     */
-    protected $idempotency_level = null;
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 35;</code>
-     */
-    protected $features = null;
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     */
-    private $uninterpreted_option;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type bool $deprecated
-     *           Is this method deprecated?
-     *           Depending on the target platform, this can emit Deprecated annotations
-     *           for the method, or it will be completely ignored; in the very least,
-     *           this is a formalization for deprecating methods.
-     *     @type int $idempotency_level
-     *     @type \Google\Protobuf\Internal\FeatureSet $features
-     *           Any features defined in the specific edition.
-     *     @type array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $uninterpreted_option
-     *           The parser stores options it doesn't recognize here. See above.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Is this method deprecated?
-     * Depending on the target platform, this can emit Deprecated annotations
-     * for the method, or it will be completely ignored; in the very least,
-     * this is a formalization for deprecating methods.
-     *
-     * Generated from protobuf field <code>optional bool deprecated = 33 [default = false];</code>
-     * @return bool
-     */
-    public function getDeprecated()
-    {
-        return isset($this->deprecated) ? $this->deprecated : false;
-    }
-
-    public function hasDeprecated()
-    {
-        return isset($this->deprecated);
-    }
-
-    public function clearDeprecated()
-    {
-        unset($this->deprecated);
-    }
-
-    /**
-     * Is this method deprecated?
-     * Depending on the target platform, this can emit Deprecated annotations
-     * for the method, or it will be completely ignored; in the very least,
-     * this is a formalization for deprecating methods.
-     *
-     * Generated from protobuf field <code>optional bool deprecated = 33 [default = false];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setDeprecated($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->deprecated = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];</code>
-     * @return int
-     */
-    public function getIdempotencyLevel()
-    {
-        return isset($this->idempotency_level) ? $this->idempotency_level : 0;
-    }
-
-    public function hasIdempotencyLevel()
-    {
-        return isset($this->idempotency_level);
-    }
-
-    public function clearIdempotencyLevel()
-    {
-        unset($this->idempotency_level);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setIdempotencyLevel($var)
-    {
-        GPBUtil::checkEnum($var, \Google\Protobuf\Internal\MethodOptions\IdempotencyLevel::class);
-        $this->idempotency_level = $var;
-
-        return $this;
-    }
-
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 35;</code>
-     * @return \Google\Protobuf\Internal\FeatureSet|null
-     */
-    public function getFeatures()
-    {
-        return $this->features;
-    }
-
-    public function hasFeatures()
-    {
-        return isset($this->features);
-    }
-
-    public function clearFeatures()
-    {
-        unset($this->features);
-    }
-
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 35;</code>
-     * @param \Google\Protobuf\Internal\FeatureSet $var
-     * @return $this
-     */
-    public function setFeatures($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\FeatureSet::class);
-        $this->features = $var;
-
-        return $this;
-    }
-
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getUninterpretedOption()
-    {
-        return $this->uninterpreted_option;
-    }
-
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     * @param array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setUninterpretedOption($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\UninterpretedOption::class);
-        $this->uninterpreted_option = $arr;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/MethodOptions/IdempotencyLevel.php b/php/src/Google/Protobuf/Internal/MethodOptions/IdempotencyLevel.php
deleted file mode 100644
index ce99b8c70f..0000000000
--- a/php/src/Google/Protobuf/Internal/MethodOptions/IdempotencyLevel.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal\MethodOptions;
-
-use UnexpectedValueException;
-
-/**
- * Is this method side-effect-free (or safe in HTTP parlance), or idempotent,
- * or neither? HTTP based RPC implementation may choose GET verb for safe
- * methods, and PUT verb for idempotent methods instead of the default POST.
- *
- * Protobuf type <code>google.protobuf.MethodOptions.IdempotencyLevel</code>
- */
-class IdempotencyLevel
-{
-    /**
-     * Generated from protobuf enum <code>IDEMPOTENCY_UNKNOWN = 0;</code>
-     */
-    const IDEMPOTENCY_UNKNOWN = 0;
-    /**
-     * implies idempotent
-     *
-     * Generated from protobuf enum <code>NO_SIDE_EFFECTS = 1;</code>
-     */
-    const NO_SIDE_EFFECTS = 1;
-    /**
-     * idempotent, but may have side effects
-     *
-     * Generated from protobuf enum <code>IDEMPOTENT = 2;</code>
-     */
-    const IDEMPOTENT = 2;
-
-    private static $valueToName = [
-        self::IDEMPOTENCY_UNKNOWN => 'IDEMPOTENCY_UNKNOWN',
-        self::NO_SIDE_EFFECTS => 'NO_SIDE_EFFECTS',
-        self::IDEMPOTENT => 'IDEMPOTENT',
-    ];
-
-    public static function name($value)
-    {
-        if (!isset(self::$valueToName[$value])) {
-            throw new UnexpectedValueException(sprintf(
-                    'Enum %s has no name defined for value %s', __CLASS__, $value));
-        }
-        return self::$valueToName[$value];
-    }
-
-
-    public static function value($name)
-    {
-        $const = __CLASS__ . '::' . strtoupper($name);
-        if (!defined($const)) {
-            throw new UnexpectedValueException(sprintf(
-                    'Enum %s has no value defined for name %s', __CLASS__, $name));
-        }
-        return constant($const);
-    }
-}
-
diff --git a/php/src/Google/Protobuf/Internal/OneofDescriptorProto.php b/php/src/Google/Protobuf/Internal/OneofDescriptorProto.php
deleted file mode 100644
index da55bb4f42..0000000000
--- a/php/src/Google/Protobuf/Internal/OneofDescriptorProto.php
+++ /dev/null
@@ -1,110 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Describes a oneof.
- *
- * Generated from protobuf message <code>google.protobuf.OneofDescriptorProto</code>
- */
-class OneofDescriptorProto extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     */
-    protected $name = null;
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.OneofOptions options = 2;</code>
-     */
-    protected $options = null;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type string $name
-     *     @type \Google\Protobuf\Internal\OneofOptions $options
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     * @return string
-     */
-    public function getName()
-    {
-        return isset($this->name) ? $this->name : '';
-    }
-
-    public function hasName()
-    {
-        return isset($this->name);
-    }
-
-    public function clearName()
-    {
-        unset($this->name);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setName($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->name = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.OneofOptions options = 2;</code>
-     * @return \Google\Protobuf\Internal\OneofOptions|null
-     */
-    public function getOptions()
-    {
-        return $this->options;
-    }
-
-    public function hasOptions()
-    {
-        return isset($this->options);
-    }
-
-    public function clearOptions()
-    {
-        unset($this->options);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.OneofOptions options = 2;</code>
-     * @param \Google\Protobuf\Internal\OneofOptions $var
-     * @return $this
-     */
-    public function setOptions($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\OneofOptions::class);
-        $this->options = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/OneofOptions.php b/php/src/Google/Protobuf/Internal/OneofOptions.php
deleted file mode 100644
index 4d7f344680..0000000000
--- a/php/src/Google/Protobuf/Internal/OneofOptions.php
+++ /dev/null
@@ -1,112 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Generated from protobuf message <code>google.protobuf.OneofOptions</code>
- */
-class OneofOptions extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 1;</code>
-     */
-    protected $features = null;
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     */
-    private $uninterpreted_option;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type \Google\Protobuf\Internal\FeatureSet $features
-     *           Any features defined in the specific edition.
-     *     @type array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $uninterpreted_option
-     *           The parser stores options it doesn't recognize here. See above.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 1;</code>
-     * @return \Google\Protobuf\Internal\FeatureSet|null
-     */
-    public function getFeatures()
-    {
-        return $this->features;
-    }
-
-    public function hasFeatures()
-    {
-        return isset($this->features);
-    }
-
-    public function clearFeatures()
-    {
-        unset($this->features);
-    }
-
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 1;</code>
-     * @param \Google\Protobuf\Internal\FeatureSet $var
-     * @return $this
-     */
-    public function setFeatures($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\FeatureSet::class);
-        $this->features = $var;
-
-        return $this;
-    }
-
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getUninterpretedOption()
-    {
-        return $this->uninterpreted_option;
-    }
-
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     * @param array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setUninterpretedOption($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\UninterpretedOption::class);
-        $this->uninterpreted_option = $arr;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/ServiceDescriptorProto.php b/php/src/Google/Protobuf/Internal/ServiceDescriptorProto.php
deleted file mode 100644
index bcc44f0e23..0000000000
--- a/php/src/Google/Protobuf/Internal/ServiceDescriptorProto.php
+++ /dev/null
@@ -1,137 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Describes a service.
- *
- * Generated from protobuf message <code>google.protobuf.ServiceDescriptorProto</code>
- */
-class ServiceDescriptorProto extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     */
-    protected $name = null;
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.MethodDescriptorProto method = 2;</code>
-     */
-    private $method;
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.ServiceOptions options = 3;</code>
-     */
-    protected $options = null;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type string $name
-     *     @type array<\Google\Protobuf\Internal\MethodDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $method
-     *     @type \Google\Protobuf\Internal\ServiceOptions $options
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     * @return string
-     */
-    public function getName()
-    {
-        return isset($this->name) ? $this->name : '';
-    }
-
-    public function hasName()
-    {
-        return isset($this->name);
-    }
-
-    public function clearName()
-    {
-        unset($this->name);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional string name = 1;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setName($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->name = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.MethodDescriptorProto method = 2;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getMethod()
-    {
-        return $this->method;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.MethodDescriptorProto method = 2;</code>
-     * @param array<\Google\Protobuf\Internal\MethodDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setMethod($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\MethodDescriptorProto::class);
-        $this->method = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.ServiceOptions options = 3;</code>
-     * @return \Google\Protobuf\Internal\ServiceOptions|null
-     */
-    public function getOptions()
-    {
-        return $this->options;
-    }
-
-    public function hasOptions()
-    {
-        return isset($this->options);
-    }
-
-    public function clearOptions()
-    {
-        unset($this->options);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional .google.protobuf.ServiceOptions options = 3;</code>
-     * @param \Google\Protobuf\Internal\ServiceOptions $var
-     * @return $this
-     */
-    public function setOptions($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\ServiceOptions::class);
-        $this->options = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/ServiceOptions.php b/php/src/Google/Protobuf/Internal/ServiceOptions.php
deleted file mode 100644
index 278a60c5ce..0000000000
--- a/php/src/Google/Protobuf/Internal/ServiceOptions.php
+++ /dev/null
@@ -1,168 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Generated from protobuf message <code>google.protobuf.ServiceOptions</code>
- */
-class ServiceOptions extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 34;</code>
-     */
-    protected $features = null;
-    /**
-     * Is this service deprecated?
-     * Depending on the target platform, this can emit Deprecated annotations
-     * for the service, or it will be completely ignored; in the very least,
-     * this is a formalization for deprecating services.
-     *
-     * Generated from protobuf field <code>optional bool deprecated = 33 [default = false];</code>
-     */
-    protected $deprecated = null;
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     */
-    private $uninterpreted_option;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type \Google\Protobuf\Internal\FeatureSet $features
-     *           Any features defined in the specific edition.
-     *     @type bool $deprecated
-     *           Is this service deprecated?
-     *           Depending on the target platform, this can emit Deprecated annotations
-     *           for the service, or it will be completely ignored; in the very least,
-     *           this is a formalization for deprecating services.
-     *     @type array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $uninterpreted_option
-     *           The parser stores options it doesn't recognize here. See above.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 34;</code>
-     * @return \Google\Protobuf\Internal\FeatureSet|null
-     */
-    public function getFeatures()
-    {
-        return $this->features;
-    }
-
-    public function hasFeatures()
-    {
-        return isset($this->features);
-    }
-
-    public function clearFeatures()
-    {
-        unset($this->features);
-    }
-
-    /**
-     * Any features defined in the specific edition.
-     *
-     * Generated from protobuf field <code>optional .google.protobuf.FeatureSet features = 34;</code>
-     * @param \Google\Protobuf\Internal\FeatureSet $var
-     * @return $this
-     */
-    public function setFeatures($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\FeatureSet::class);
-        $this->features = $var;
-
-        return $this;
-    }
-
-    /**
-     * Is this service deprecated?
-     * Depending on the target platform, this can emit Deprecated annotations
-     * for the service, or it will be completely ignored; in the very least,
-     * this is a formalization for deprecating services.
-     *
-     * Generated from protobuf field <code>optional bool deprecated = 33 [default = false];</code>
-     * @return bool
-     */
-    public function getDeprecated()
-    {
-        return isset($this->deprecated) ? $this->deprecated : false;
-    }
-
-    public function hasDeprecated()
-    {
-        return isset($this->deprecated);
-    }
-
-    public function clearDeprecated()
-    {
-        unset($this->deprecated);
-    }
-
-    /**
-     * Is this service deprecated?
-     * Depending on the target platform, this can emit Deprecated annotations
-     * for the service, or it will be completely ignored; in the very least,
-     * this is a formalization for deprecating services.
-     *
-     * Generated from protobuf field <code>optional bool deprecated = 33 [default = false];</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setDeprecated($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->deprecated = $var;
-
-        return $this;
-    }
-
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getUninterpretedOption()
-    {
-        return $this->uninterpreted_option;
-    }
-
-    /**
-     * The parser stores options it doesn't recognize here. See above.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
-     * @param array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setUninterpretedOption($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\UninterpretedOption::class);
-        $this->uninterpreted_option = $arr;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/SourceCodeInfo.php b/php/src/Google/Protobuf/Internal/SourceCodeInfo.php
deleted file mode 100644
index d6419f5a96..0000000000
--- a/php/src/Google/Protobuf/Internal/SourceCodeInfo.php
+++ /dev/null
@@ -1,231 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Encapsulates information about the original source file from which a
- * FileDescriptorProto was generated.
- *
- * Generated from protobuf message <code>google.protobuf.SourceCodeInfo</code>
- */
-class SourceCodeInfo extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * A Location identifies a piece of source code in a .proto file which
-     * corresponds to a particular definition.  This information is intended
-     * to be useful to IDEs, code indexers, documentation generators, and similar
-     * tools.
-     * For example, say we have a file like:
-     *   message Foo {
-     *     optional string foo = 1;
-     *   }
-     * Let's look at just the field definition:
-     *   optional string foo = 1;
-     *   ^       ^^     ^^  ^  ^^^
-     *   a       bc     de  f  ghi
-     * We have the following locations:
-     *   span   path               represents
-     *   [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.
-     *   [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).
-     *   [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).
-     *   [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).
-     *   [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).
-     * Notes:
-     * - A location may refer to a repeated field itself (i.e. not to any
-     *   particular index within it).  This is used whenever a set of elements are
-     *   logically enclosed in a single code segment.  For example, an entire
-     *   extend block (possibly containing multiple extension definitions) will
-     *   have an outer location whose path refers to the "extensions" repeated
-     *   field without an index.
-     * - Multiple locations may have the same path.  This happens when a single
-     *   logical declaration is spread out across multiple places.  The most
-     *   obvious example is the "extend" block again -- there may be multiple
-     *   extend blocks in the same scope, each of which will have the same path.
-     * - A location's span is not always a subset of its parent's span.  For
-     *   example, the "extendee" of an extension declaration appears at the
-     *   beginning of the "extend" block and is shared by all extensions within
-     *   the block.
-     * - Just because a location's span is a subset of some other location's span
-     *   does not mean that it is a descendant.  For example, a "group" defines
-     *   both a type and a field in a single declaration.  Thus, the locations
-     *   corresponding to the type and field and their components will overlap.
-     * - Code which tries to interpret locations should probably be designed to
-     *   ignore those that it doesn't understand, as more types of locations could
-     *   be recorded in the future.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.SourceCodeInfo.Location location = 1;</code>
-     */
-    private $location;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type array<\Google\Protobuf\Internal\SourceCodeInfo\Location>|\Google\Protobuf\Internal\RepeatedField $location
-     *           A Location identifies a piece of source code in a .proto file which
-     *           corresponds to a particular definition.  This information is intended
-     *           to be useful to IDEs, code indexers, documentation generators, and similar
-     *           tools.
-     *           For example, say we have a file like:
-     *             message Foo {
-     *               optional string foo = 1;
-     *             }
-     *           Let's look at just the field definition:
-     *             optional string foo = 1;
-     *             ^       ^^     ^^  ^  ^^^
-     *             a       bc     de  f  ghi
-     *           We have the following locations:
-     *             span   path               represents
-     *             [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.
-     *             [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).
-     *             [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).
-     *             [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).
-     *             [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).
-     *           Notes:
-     *           - A location may refer to a repeated field itself (i.e. not to any
-     *             particular index within it).  This is used whenever a set of elements are
-     *             logically enclosed in a single code segment.  For example, an entire
-     *             extend block (possibly containing multiple extension definitions) will
-     *             have an outer location whose path refers to the "extensions" repeated
-     *             field without an index.
-     *           - Multiple locations may have the same path.  This happens when a single
-     *             logical declaration is spread out across multiple places.  The most
-     *             obvious example is the "extend" block again -- there may be multiple
-     *             extend blocks in the same scope, each of which will have the same path.
-     *           - A location's span is not always a subset of its parent's span.  For
-     *             example, the "extendee" of an extension declaration appears at the
-     *             beginning of the "extend" block and is shared by all extensions within
-     *             the block.
-     *           - Just because a location's span is a subset of some other location's span
-     *             does not mean that it is a descendant.  For example, a "group" defines
-     *             both a type and a field in a single declaration.  Thus, the locations
-     *             corresponding to the type and field and their components will overlap.
-     *           - Code which tries to interpret locations should probably be designed to
-     *             ignore those that it doesn't understand, as more types of locations could
-     *             be recorded in the future.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * A Location identifies a piece of source code in a .proto file which
-     * corresponds to a particular definition.  This information is intended
-     * to be useful to IDEs, code indexers, documentation generators, and similar
-     * tools.
-     * For example, say we have a file like:
-     *   message Foo {
-     *     optional string foo = 1;
-     *   }
-     * Let's look at just the field definition:
-     *   optional string foo = 1;
-     *   ^       ^^     ^^  ^  ^^^
-     *   a       bc     de  f  ghi
-     * We have the following locations:
-     *   span   path               represents
-     *   [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.
-     *   [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).
-     *   [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).
-     *   [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).
-     *   [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).
-     * Notes:
-     * - A location may refer to a repeated field itself (i.e. not to any
-     *   particular index within it).  This is used whenever a set of elements are
-     *   logically enclosed in a single code segment.  For example, an entire
-     *   extend block (possibly containing multiple extension definitions) will
-     *   have an outer location whose path refers to the "extensions" repeated
-     *   field without an index.
-     * - Multiple locations may have the same path.  This happens when a single
-     *   logical declaration is spread out across multiple places.  The most
-     *   obvious example is the "extend" block again -- there may be multiple
-     *   extend blocks in the same scope, each of which will have the same path.
-     * - A location's span is not always a subset of its parent's span.  For
-     *   example, the "extendee" of an extension declaration appears at the
-     *   beginning of the "extend" block and is shared by all extensions within
-     *   the block.
-     * - Just because a location's span is a subset of some other location's span
-     *   does not mean that it is a descendant.  For example, a "group" defines
-     *   both a type and a field in a single declaration.  Thus, the locations
-     *   corresponding to the type and field and their components will overlap.
-     * - Code which tries to interpret locations should probably be designed to
-     *   ignore those that it doesn't understand, as more types of locations could
-     *   be recorded in the future.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.SourceCodeInfo.Location location = 1;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getLocation()
-    {
-        return $this->location;
-    }
-
-    /**
-     * A Location identifies a piece of source code in a .proto file which
-     * corresponds to a particular definition.  This information is intended
-     * to be useful to IDEs, code indexers, documentation generators, and similar
-     * tools.
-     * For example, say we have a file like:
-     *   message Foo {
-     *     optional string foo = 1;
-     *   }
-     * Let's look at just the field definition:
-     *   optional string foo = 1;
-     *   ^       ^^     ^^  ^  ^^^
-     *   a       bc     de  f  ghi
-     * We have the following locations:
-     *   span   path               represents
-     *   [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.
-     *   [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).
-     *   [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).
-     *   [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).
-     *   [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).
-     * Notes:
-     * - A location may refer to a repeated field itself (i.e. not to any
-     *   particular index within it).  This is used whenever a set of elements are
-     *   logically enclosed in a single code segment.  For example, an entire
-     *   extend block (possibly containing multiple extension definitions) will
-     *   have an outer location whose path refers to the "extensions" repeated
-     *   field without an index.
-     * - Multiple locations may have the same path.  This happens when a single
-     *   logical declaration is spread out across multiple places.  The most
-     *   obvious example is the "extend" block again -- there may be multiple
-     *   extend blocks in the same scope, each of which will have the same path.
-     * - A location's span is not always a subset of its parent's span.  For
-     *   example, the "extendee" of an extension declaration appears at the
-     *   beginning of the "extend" block and is shared by all extensions within
-     *   the block.
-     * - Just because a location's span is a subset of some other location's span
-     *   does not mean that it is a descendant.  For example, a "group" defines
-     *   both a type and a field in a single declaration.  Thus, the locations
-     *   corresponding to the type and field and their components will overlap.
-     * - Code which tries to interpret locations should probably be designed to
-     *   ignore those that it doesn't understand, as more types of locations could
-     *   be recorded in the future.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.SourceCodeInfo.Location location = 1;</code>
-     * @param array<\Google\Protobuf\Internal\SourceCodeInfo\Location>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setLocation($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\SourceCodeInfo\Location::class);
-        $this->location = $arr;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/SourceCodeInfo/Location.php b/php/src/Google/Protobuf/Internal/SourceCodeInfo/Location.php
deleted file mode 100644
index 5253dbc4ff..0000000000
--- a/php/src/Google/Protobuf/Internal/SourceCodeInfo/Location.php
+++ /dev/null
@@ -1,446 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal\SourceCodeInfo;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Generated from protobuf message <code>google.protobuf.SourceCodeInfo.Location</code>
- */
-class Location extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Identifies which part of the FileDescriptorProto was defined at this
-     * location.
-     * Each element is a field number or an index.  They form a path from
-     * the root FileDescriptorProto to the place where the definition appears.
-     * For example, this path:
-     *   [ 4, 3, 2, 7, 1 ]
-     * refers to:
-     *   file.message_type(3)  // 4, 3
-     *       .field(7)         // 2, 7
-     *       .name()           // 1
-     * This is because FileDescriptorProto.message_type has field number 4:
-     *   repeated DescriptorProto message_type = 4;
-     * and DescriptorProto.field has field number 2:
-     *   repeated FieldDescriptorProto field = 2;
-     * and FieldDescriptorProto.name has field number 1:
-     *   optional string name = 1;
-     * Thus, the above path gives the location of a field name.  If we removed
-     * the last element:
-     *   [ 4, 3, 2, 7 ]
-     * this path refers to the whole field declaration (from the beginning
-     * of the label to the terminating semicolon).
-     *
-     * Generated from protobuf field <code>repeated int32 path = 1 [packed = true];</code>
-     */
-    private $path;
-    /**
-     * Always has exactly three or four elements: start line, start column,
-     * end line (optional, otherwise assumed same as start line), end column.
-     * These are packed into a single field for efficiency.  Note that line
-     * and column numbers are zero-based -- typically you will want to add
-     * 1 to each before displaying to a user.
-     *
-     * Generated from protobuf field <code>repeated int32 span = 2 [packed = true];</code>
-     */
-    private $span;
-    /**
-     * If this SourceCodeInfo represents a complete declaration, these are any
-     * comments appearing before and after the declaration which appear to be
-     * attached to the declaration.
-     * A series of line comments appearing on consecutive lines, with no other
-     * tokens appearing on those lines, will be treated as a single comment.
-     * leading_detached_comments will keep paragraphs of comments that appear
-     * before (but not connected to) the current element. Each paragraph,
-     * separated by empty lines, will be one comment element in the repeated
-     * field.
-     * Only the comment content is provided; comment markers (e.g. //) are
-     * stripped out.  For block comments, leading whitespace and an asterisk
-     * will be stripped from the beginning of each line other than the first.
-     * Newlines are included in the output.
-     * Examples:
-     *   optional int32 foo = 1;  // Comment attached to foo.
-     *   // Comment attached to bar.
-     *   optional int32 bar = 2;
-     *   optional string baz = 3;
-     *   // Comment attached to baz.
-     *   // Another line attached to baz.
-     *   // Comment attached to moo.
-     *   //
-     *   // Another line attached to moo.
-     *   optional double moo = 4;
-     *   // Detached comment for corge. This is not leading or trailing comments
-     *   // to moo or corge because there are blank lines separating it from
-     *   // both.
-     *   // Detached comment for corge paragraph 2.
-     *   optional string corge = 5;
-     *   /* Block comment attached
-     *    * to corge.  Leading asterisks
-     *    * will be removed. {@*}
-     *   /* Block comment attached to
-     *    * grault. {@*}
-     *   optional int32 grault = 6;
-     *   // ignored detached comments.
-     *
-     * Generated from protobuf field <code>optional string leading_comments = 3;</code>
-     */
-    protected $leading_comments = null;
-    /**
-     * Generated from protobuf field <code>optional string trailing_comments = 4;</code>
-     */
-    protected $trailing_comments = null;
-    /**
-     * Generated from protobuf field <code>repeated string leading_detached_comments = 6;</code>
-     */
-    private $leading_detached_comments;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type array<int>|\Google\Protobuf\Internal\RepeatedField $path
-     *           Identifies which part of the FileDescriptorProto was defined at this
-     *           location.
-     *           Each element is a field number or an index.  They form a path from
-     *           the root FileDescriptorProto to the place where the definition appears.
-     *           For example, this path:
-     *             [ 4, 3, 2, 7, 1 ]
-     *           refers to:
-     *             file.message_type(3)  // 4, 3
-     *                 .field(7)         // 2, 7
-     *                 .name()           // 1
-     *           This is because FileDescriptorProto.message_type has field number 4:
-     *             repeated DescriptorProto message_type = 4;
-     *           and DescriptorProto.field has field number 2:
-     *             repeated FieldDescriptorProto field = 2;
-     *           and FieldDescriptorProto.name has field number 1:
-     *             optional string name = 1;
-     *           Thus, the above path gives the location of a field name.  If we removed
-     *           the last element:
-     *             [ 4, 3, 2, 7 ]
-     *           this path refers to the whole field declaration (from the beginning
-     *           of the label to the terminating semicolon).
-     *     @type array<int>|\Google\Protobuf\Internal\RepeatedField $span
-     *           Always has exactly three or four elements: start line, start column,
-     *           end line (optional, otherwise assumed same as start line), end column.
-     *           These are packed into a single field for efficiency.  Note that line
-     *           and column numbers are zero-based -- typically you will want to add
-     *           1 to each before displaying to a user.
-     *     @type string $leading_comments
-     *           If this SourceCodeInfo represents a complete declaration, these are any
-     *           comments appearing before and after the declaration which appear to be
-     *           attached to the declaration.
-     *           A series of line comments appearing on consecutive lines, with no other
-     *           tokens appearing on those lines, will be treated as a single comment.
-     *           leading_detached_comments will keep paragraphs of comments that appear
-     *           before (but not connected to) the current element. Each paragraph,
-     *           separated by empty lines, will be one comment element in the repeated
-     *           field.
-     *           Only the comment content is provided; comment markers (e.g. //) are
-     *           stripped out.  For block comments, leading whitespace and an asterisk
-     *           will be stripped from the beginning of each line other than the first.
-     *           Newlines are included in the output.
-     *           Examples:
-     *             optional int32 foo = 1;  // Comment attached to foo.
-     *             // Comment attached to bar.
-     *             optional int32 bar = 2;
-     *             optional string baz = 3;
-     *             // Comment attached to baz.
-     *             // Another line attached to baz.
-     *             // Comment attached to moo.
-     *             //
-     *             // Another line attached to moo.
-     *             optional double moo = 4;
-     *             // Detached comment for corge. This is not leading or trailing comments
-     *             // to moo or corge because there are blank lines separating it from
-     *             // both.
-     *             // Detached comment for corge paragraph 2.
-     *             optional string corge = 5;
-     *             /* Block comment attached
-     *              * to corge.  Leading asterisks
-     *              * will be removed. {@*}
-     *             /* Block comment attached to
-     *              * grault. {@*}
-     *             optional int32 grault = 6;
-     *             // ignored detached comments.
-     *     @type string $trailing_comments
-     *     @type array<string>|\Google\Protobuf\Internal\RepeatedField $leading_detached_comments
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Identifies which part of the FileDescriptorProto was defined at this
-     * location.
-     * Each element is a field number or an index.  They form a path from
-     * the root FileDescriptorProto to the place where the definition appears.
-     * For example, this path:
-     *   [ 4, 3, 2, 7, 1 ]
-     * refers to:
-     *   file.message_type(3)  // 4, 3
-     *       .field(7)         // 2, 7
-     *       .name()           // 1
-     * This is because FileDescriptorProto.message_type has field number 4:
-     *   repeated DescriptorProto message_type = 4;
-     * and DescriptorProto.field has field number 2:
-     *   repeated FieldDescriptorProto field = 2;
-     * and FieldDescriptorProto.name has field number 1:
-     *   optional string name = 1;
-     * Thus, the above path gives the location of a field name.  If we removed
-     * the last element:
-     *   [ 4, 3, 2, 7 ]
-     * this path refers to the whole field declaration (from the beginning
-     * of the label to the terminating semicolon).
-     *
-     * Generated from protobuf field <code>repeated int32 path = 1 [packed = true];</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getPath()
-    {
-        return $this->path;
-    }
-
-    /**
-     * Identifies which part of the FileDescriptorProto was defined at this
-     * location.
-     * Each element is a field number or an index.  They form a path from
-     * the root FileDescriptorProto to the place where the definition appears.
-     * For example, this path:
-     *   [ 4, 3, 2, 7, 1 ]
-     * refers to:
-     *   file.message_type(3)  // 4, 3
-     *       .field(7)         // 2, 7
-     *       .name()           // 1
-     * This is because FileDescriptorProto.message_type has field number 4:
-     *   repeated DescriptorProto message_type = 4;
-     * and DescriptorProto.field has field number 2:
-     *   repeated FieldDescriptorProto field = 2;
-     * and FieldDescriptorProto.name has field number 1:
-     *   optional string name = 1;
-     * Thus, the above path gives the location of a field name.  If we removed
-     * the last element:
-     *   [ 4, 3, 2, 7 ]
-     * this path refers to the whole field declaration (from the beginning
-     * of the label to the terminating semicolon).
-     *
-     * Generated from protobuf field <code>repeated int32 path = 1 [packed = true];</code>
-     * @param array<int>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setPath($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32);
-        $this->path = $arr;
-
-        return $this;
-    }
-
-    /**
-     * Always has exactly three or four elements: start line, start column,
-     * end line (optional, otherwise assumed same as start line), end column.
-     * These are packed into a single field for efficiency.  Note that line
-     * and column numbers are zero-based -- typically you will want to add
-     * 1 to each before displaying to a user.
-     *
-     * Generated from protobuf field <code>repeated int32 span = 2 [packed = true];</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getSpan()
-    {
-        return $this->span;
-    }
-
-    /**
-     * Always has exactly three or four elements: start line, start column,
-     * end line (optional, otherwise assumed same as start line), end column.
-     * These are packed into a single field for efficiency.  Note that line
-     * and column numbers are zero-based -- typically you will want to add
-     * 1 to each before displaying to a user.
-     *
-     * Generated from protobuf field <code>repeated int32 span = 2 [packed = true];</code>
-     * @param array<int>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setSpan($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32);
-        $this->span = $arr;
-
-        return $this;
-    }
-
-    /**
-     * If this SourceCodeInfo represents a complete declaration, these are any
-     * comments appearing before and after the declaration which appear to be
-     * attached to the declaration.
-     * A series of line comments appearing on consecutive lines, with no other
-     * tokens appearing on those lines, will be treated as a single comment.
-     * leading_detached_comments will keep paragraphs of comments that appear
-     * before (but not connected to) the current element. Each paragraph,
-     * separated by empty lines, will be one comment element in the repeated
-     * field.
-     * Only the comment content is provided; comment markers (e.g. //) are
-     * stripped out.  For block comments, leading whitespace and an asterisk
-     * will be stripped from the beginning of each line other than the first.
-     * Newlines are included in the output.
-     * Examples:
-     *   optional int32 foo = 1;  // Comment attached to foo.
-     *   // Comment attached to bar.
-     *   optional int32 bar = 2;
-     *   optional string baz = 3;
-     *   // Comment attached to baz.
-     *   // Another line attached to baz.
-     *   // Comment attached to moo.
-     *   //
-     *   // Another line attached to moo.
-     *   optional double moo = 4;
-     *   // Detached comment for corge. This is not leading or trailing comments
-     *   // to moo or corge because there are blank lines separating it from
-     *   // both.
-     *   // Detached comment for corge paragraph 2.
-     *   optional string corge = 5;
-     *   /* Block comment attached
-     *    * to corge.  Leading asterisks
-     *    * will be removed. {@*}
-     *   /* Block comment attached to
-     *    * grault. {@*}
-     *   optional int32 grault = 6;
-     *   // ignored detached comments.
-     *
-     * Generated from protobuf field <code>optional string leading_comments = 3;</code>
-     * @return string
-     */
-    public function getLeadingComments()
-    {
-        return isset($this->leading_comments) ? $this->leading_comments : '';
-    }
-
-    public function hasLeadingComments()
-    {
-        return isset($this->leading_comments);
-    }
-
-    public function clearLeadingComments()
-    {
-        unset($this->leading_comments);
-    }
-
-    /**
-     * If this SourceCodeInfo represents a complete declaration, these are any
-     * comments appearing before and after the declaration which appear to be
-     * attached to the declaration.
-     * A series of line comments appearing on consecutive lines, with no other
-     * tokens appearing on those lines, will be treated as a single comment.
-     * leading_detached_comments will keep paragraphs of comments that appear
-     * before (but not connected to) the current element. Each paragraph,
-     * separated by empty lines, will be one comment element in the repeated
-     * field.
-     * Only the comment content is provided; comment markers (e.g. //) are
-     * stripped out.  For block comments, leading whitespace and an asterisk
-     * will be stripped from the beginning of each line other than the first.
-     * Newlines are included in the output.
-     * Examples:
-     *   optional int32 foo = 1;  // Comment attached to foo.
-     *   // Comment attached to bar.
-     *   optional int32 bar = 2;
-     *   optional string baz = 3;
-     *   // Comment attached to baz.
-     *   // Another line attached to baz.
-     *   // Comment attached to moo.
-     *   //
-     *   // Another line attached to moo.
-     *   optional double moo = 4;
-     *   // Detached comment for corge. This is not leading or trailing comments
-     *   // to moo or corge because there are blank lines separating it from
-     *   // both.
-     *   // Detached comment for corge paragraph 2.
-     *   optional string corge = 5;
-     *   /* Block comment attached
-     *    * to corge.  Leading asterisks
-     *    * will be removed. {@*}
-     *   /* Block comment attached to
-     *    * grault. {@*}
-     *   optional int32 grault = 6;
-     *   // ignored detached comments.
-     *
-     * Generated from protobuf field <code>optional string leading_comments = 3;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setLeadingComments($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->leading_comments = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional string trailing_comments = 4;</code>
-     * @return string
-     */
-    public function getTrailingComments()
-    {
-        return isset($this->trailing_comments) ? $this->trailing_comments : '';
-    }
-
-    public function hasTrailingComments()
-    {
-        return isset($this->trailing_comments);
-    }
-
-    public function clearTrailingComments()
-    {
-        unset($this->trailing_comments);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional string trailing_comments = 4;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setTrailingComments($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->trailing_comments = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated string leading_detached_comments = 6;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getLeadingDetachedComments()
-    {
-        return $this->leading_detached_comments;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated string leading_detached_comments = 6;</code>
-     * @param array<string>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setLeadingDetachedComments($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
-        $this->leading_detached_comments = $arr;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/UninterpretedOption.php b/php/src/Google/Protobuf/Internal/UninterpretedOption.php
deleted file mode 100644
index 156534e4f2..0000000000
--- a/php/src/Google/Protobuf/Internal/UninterpretedOption.php
+++ /dev/null
@@ -1,301 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * A message representing a option the parser does not recognize. This only
- * appears in options protos created by the compiler::Parser class.
- * DescriptorPool resolves these when building Descriptor objects. Therefore,
- * options protos in descriptor objects (e.g. returned by Descriptor::options(),
- * or produced by Descriptor::CopyTo()) will never have UninterpretedOptions
- * in them.
- *
- * Generated from protobuf message <code>google.protobuf.UninterpretedOption</code>
- */
-class UninterpretedOption extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption.NamePart name = 2;</code>
-     */
-    private $name;
-    /**
-     * The value of the uninterpreted option, in whatever type the tokenizer
-     * identified it as during parsing. Exactly one of these should be set.
-     *
-     * Generated from protobuf field <code>optional string identifier_value = 3;</code>
-     */
-    protected $identifier_value = null;
-    /**
-     * Generated from protobuf field <code>optional uint64 positive_int_value = 4;</code>
-     */
-    protected $positive_int_value = null;
-    /**
-     * Generated from protobuf field <code>optional int64 negative_int_value = 5;</code>
-     */
-    protected $negative_int_value = null;
-    /**
-     * Generated from protobuf field <code>optional double double_value = 6;</code>
-     */
-    protected $double_value = null;
-    /**
-     * Generated from protobuf field <code>optional bytes string_value = 7;</code>
-     */
-    protected $string_value = null;
-    /**
-     * Generated from protobuf field <code>optional string aggregate_value = 8;</code>
-     */
-    protected $aggregate_value = null;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type array<\Google\Protobuf\Internal\UninterpretedOption\NamePart>|\Google\Protobuf\Internal\RepeatedField $name
-     *     @type string $identifier_value
-     *           The value of the uninterpreted option, in whatever type the tokenizer
-     *           identified it as during parsing. Exactly one of these should be set.
-     *     @type int|string $positive_int_value
-     *     @type int|string $negative_int_value
-     *     @type float $double_value
-     *     @type string $string_value
-     *     @type string $aggregate_value
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption.NamePart name = 2;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption.NamePart name = 2;</code>
-     * @param array<\Google\Protobuf\Internal\UninterpretedOption\NamePart>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setName($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\UninterpretedOption\NamePart::class);
-        $this->name = $arr;
-
-        return $this;
-    }
-
-    /**
-     * The value of the uninterpreted option, in whatever type the tokenizer
-     * identified it as during parsing. Exactly one of these should be set.
-     *
-     * Generated from protobuf field <code>optional string identifier_value = 3;</code>
-     * @return string
-     */
-    public function getIdentifierValue()
-    {
-        return isset($this->identifier_value) ? $this->identifier_value : '';
-    }
-
-    public function hasIdentifierValue()
-    {
-        return isset($this->identifier_value);
-    }
-
-    public function clearIdentifierValue()
-    {
-        unset($this->identifier_value);
-    }
-
-    /**
-     * The value of the uninterpreted option, in whatever type the tokenizer
-     * identified it as during parsing. Exactly one of these should be set.
-     *
-     * Generated from protobuf field <code>optional string identifier_value = 3;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setIdentifierValue($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->identifier_value = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional uint64 positive_int_value = 4;</code>
-     * @return int|string
-     */
-    public function getPositiveIntValue()
-    {
-        return isset($this->positive_int_value) ? $this->positive_int_value : 0;
-    }
-
-    public function hasPositiveIntValue()
-    {
-        return isset($this->positive_int_value);
-    }
-
-    public function clearPositiveIntValue()
-    {
-        unset($this->positive_int_value);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional uint64 positive_int_value = 4;</code>
-     * @param int|string $var
-     * @return $this
-     */
-    public function setPositiveIntValue($var)
-    {
-        GPBUtil::checkUint64($var);
-        $this->positive_int_value = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional int64 negative_int_value = 5;</code>
-     * @return int|string
-     */
-    public function getNegativeIntValue()
-    {
-        return isset($this->negative_int_value) ? $this->negative_int_value : 0;
-    }
-
-    public function hasNegativeIntValue()
-    {
-        return isset($this->negative_int_value);
-    }
-
-    public function clearNegativeIntValue()
-    {
-        unset($this->negative_int_value);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional int64 negative_int_value = 5;</code>
-     * @param int|string $var
-     * @return $this
-     */
-    public function setNegativeIntValue($var)
-    {
-        GPBUtil::checkInt64($var);
-        $this->negative_int_value = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional double double_value = 6;</code>
-     * @return float
-     */
-    public function getDoubleValue()
-    {
-        return isset($this->double_value) ? $this->double_value : 0.0;
-    }
-
-    public function hasDoubleValue()
-    {
-        return isset($this->double_value);
-    }
-
-    public function clearDoubleValue()
-    {
-        unset($this->double_value);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional double double_value = 6;</code>
-     * @param float $var
-     * @return $this
-     */
-    public function setDoubleValue($var)
-    {
-        GPBUtil::checkDouble($var);
-        $this->double_value = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional bytes string_value = 7;</code>
-     * @return string
-     */
-    public function getStringValue()
-    {
-        return isset($this->string_value) ? $this->string_value : '';
-    }
-
-    public function hasStringValue()
-    {
-        return isset($this->string_value);
-    }
-
-    public function clearStringValue()
-    {
-        unset($this->string_value);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional bytes string_value = 7;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setStringValue($var)
-    {
-        GPBUtil::checkString($var, False);
-        $this->string_value = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>optional string aggregate_value = 8;</code>
-     * @return string
-     */
-    public function getAggregateValue()
-    {
-        return isset($this->aggregate_value) ? $this->aggregate_value : '';
-    }
-
-    public function hasAggregateValue()
-    {
-        return isset($this->aggregate_value);
-    }
-
-    public function clearAggregateValue()
-    {
-        unset($this->aggregate_value);
-    }
-
-    /**
-     * Generated from protobuf field <code>optional string aggregate_value = 8;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setAggregateValue($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->aggregate_value = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Internal/UninterpretedOption/NamePart.php b/php/src/Google/Protobuf/Internal/UninterpretedOption/NamePart.php
deleted file mode 100644
index 784a9cff9e..0000000000
--- a/php/src/Google/Protobuf/Internal/UninterpretedOption/NamePart.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/descriptor.proto
-
-namespace Google\Protobuf\Internal\UninterpretedOption;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\GPBWire;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\InputStream;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * The name of the uninterpreted option.  Each string represents a segment in
- * a dot-separated name.  is_extension is true iff a segment represents an
- * extension (denoted with parentheses in options specs in .proto files).
- * E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents
- * "foo.(bar.baz).moo".
- *
- * Generated from protobuf message <code>google.protobuf.UninterpretedOption.NamePart</code>
- */
-class NamePart extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Generated from protobuf field <code>required string name_part = 1;</code>
-     */
-    protected $name_part = null;
-    /**
-     * Generated from protobuf field <code>required bool is_extension = 2;</code>
-     */
-    protected $is_extension = null;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type string $name_part
-     *     @type bool $is_extension
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Generated from protobuf field <code>required string name_part = 1;</code>
-     * @return string
-     */
-    public function getNamePart()
-    {
-        return isset($this->name_part) ? $this->name_part : '';
-    }
-
-    public function hasNamePart()
-    {
-        return isset($this->name_part);
-    }
-
-    public function clearNamePart()
-    {
-        unset($this->name_part);
-    }
-
-    /**
-     * Generated from protobuf field <code>required string name_part = 1;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setNamePart($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->name_part = $var;
-
-        return $this;
-    }
-
-    /**
-     * Generated from protobuf field <code>required bool is_extension = 2;</code>
-     * @return bool
-     */
-    public function getIsExtension()
-    {
-        return isset($this->is_extension) ? $this->is_extension : false;
-    }
-
-    public function hasIsExtension()
-    {
-        return isset($this->is_extension);
-    }
-
-    public function clearIsExtension()
-    {
-        unset($this->is_extension);
-    }
-
-    /**
-     * Generated from protobuf field <code>required bool is_extension = 2;</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setIsExtension($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->is_extension = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/ListValue.php b/php/src/Google/Protobuf/ListValue.php
deleted file mode 100644
index af0845f4b4..0000000000
--- a/php/src/Google/Protobuf/ListValue.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/struct.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * `ListValue` is a wrapper around a repeated field of values.
- * The JSON representation for `ListValue` is JSON array.
- *
- * Generated from protobuf message <code>google.protobuf.ListValue</code>
- */
-class ListValue extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Repeated field of dynamically typed values.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Value values = 1;</code>
-     */
-    private $values;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type array<\Google\Protobuf\Value>|\Google\Protobuf\Internal\RepeatedField $values
-     *           Repeated field of dynamically typed values.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Struct::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Repeated field of dynamically typed values.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Value values = 1;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getValues()
-    {
-        return $this->values;
-    }
-
-    /**
-     * Repeated field of dynamically typed values.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Value values = 1;</code>
-     * @param array<\Google\Protobuf\Value>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setValues($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Value::class);
-        $this->values = $arr;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Method.php b/php/src/Google/Protobuf/Method.php
deleted file mode 100644
index 6c92edf677..0000000000
--- a/php/src/Google/Protobuf/Method.php
+++ /dev/null
@@ -1,272 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/api.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Method represents a method of an API interface.
- *
- * Generated from protobuf message <code>google.protobuf.Method</code>
- */
-class Method extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * The simple name of this method.
-     *
-     * Generated from protobuf field <code>string name = 1;</code>
-     */
-    protected $name = '';
-    /**
-     * A URL of the input message type.
-     *
-     * Generated from protobuf field <code>string request_type_url = 2;</code>
-     */
-    protected $request_type_url = '';
-    /**
-     * If true, the request is streamed.
-     *
-     * Generated from protobuf field <code>bool request_streaming = 3;</code>
-     */
-    protected $request_streaming = false;
-    /**
-     * The URL of the output message type.
-     *
-     * Generated from protobuf field <code>string response_type_url = 4;</code>
-     */
-    protected $response_type_url = '';
-    /**
-     * If true, the response is streamed.
-     *
-     * Generated from protobuf field <code>bool response_streaming = 5;</code>
-     */
-    protected $response_streaming = false;
-    /**
-     * Any metadata attached to the method.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Option options = 6;</code>
-     */
-    private $options;
-    /**
-     * The source syntax of this method.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Syntax syntax = 7;</code>
-     */
-    protected $syntax = 0;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type string $name
-     *           The simple name of this method.
-     *     @type string $request_type_url
-     *           A URL of the input message type.
-     *     @type bool $request_streaming
-     *           If true, the request is streamed.
-     *     @type string $response_type_url
-     *           The URL of the output message type.
-     *     @type bool $response_streaming
-     *           If true, the response is streamed.
-     *     @type array<\Google\Protobuf\Option>|\Google\Protobuf\Internal\RepeatedField $options
-     *           Any metadata attached to the method.
-     *     @type int $syntax
-     *           The source syntax of this method.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Api::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * The simple name of this method.
-     *
-     * Generated from protobuf field <code>string name = 1;</code>
-     * @return string
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * The simple name of this method.
-     *
-     * Generated from protobuf field <code>string name = 1;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setName($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->name = $var;
-
-        return $this;
-    }
-
-    /**
-     * A URL of the input message type.
-     *
-     * Generated from protobuf field <code>string request_type_url = 2;</code>
-     * @return string
-     */
-    public function getRequestTypeUrl()
-    {
-        return $this->request_type_url;
-    }
-
-    /**
-     * A URL of the input message type.
-     *
-     * Generated from protobuf field <code>string request_type_url = 2;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setRequestTypeUrl($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->request_type_url = $var;
-
-        return $this;
-    }
-
-    /**
-     * If true, the request is streamed.
-     *
-     * Generated from protobuf field <code>bool request_streaming = 3;</code>
-     * @return bool
-     */
-    public function getRequestStreaming()
-    {
-        return $this->request_streaming;
-    }
-
-    /**
-     * If true, the request is streamed.
-     *
-     * Generated from protobuf field <code>bool request_streaming = 3;</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setRequestStreaming($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->request_streaming = $var;
-
-        return $this;
-    }
-
-    /**
-     * The URL of the output message type.
-     *
-     * Generated from protobuf field <code>string response_type_url = 4;</code>
-     * @return string
-     */
-    public function getResponseTypeUrl()
-    {
-        return $this->response_type_url;
-    }
-
-    /**
-     * The URL of the output message type.
-     *
-     * Generated from protobuf field <code>string response_type_url = 4;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setResponseTypeUrl($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->response_type_url = $var;
-
-        return $this;
-    }
-
-    /**
-     * If true, the response is streamed.
-     *
-     * Generated from protobuf field <code>bool response_streaming = 5;</code>
-     * @return bool
-     */
-    public function getResponseStreaming()
-    {
-        return $this->response_streaming;
-    }
-
-    /**
-     * If true, the response is streamed.
-     *
-     * Generated from protobuf field <code>bool response_streaming = 5;</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setResponseStreaming($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->response_streaming = $var;
-
-        return $this;
-    }
-
-    /**
-     * Any metadata attached to the method.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Option options = 6;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getOptions()
-    {
-        return $this->options;
-    }
-
-    /**
-     * Any metadata attached to the method.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Option options = 6;</code>
-     * @param array<\Google\Protobuf\Option>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setOptions($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Option::class);
-        $this->options = $arr;
-
-        return $this;
-    }
-
-    /**
-     * The source syntax of this method.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Syntax syntax = 7;</code>
-     * @return int
-     */
-    public function getSyntax()
-    {
-        return $this->syntax;
-    }
-
-    /**
-     * The source syntax of this method.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Syntax syntax = 7;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setSyntax($var)
-    {
-        GPBUtil::checkEnum($var, \Google\Protobuf\Syntax::class);
-        $this->syntax = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Mixin.php b/php/src/Google/Protobuf/Mixin.php
deleted file mode 100644
index f01a4d24f1..0000000000
--- a/php/src/Google/Protobuf/Mixin.php
+++ /dev/null
@@ -1,167 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/api.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Declares an API Interface to be included in this interface. The including
- * interface must redeclare all the methods from the included interface, but
- * documentation and options are inherited as follows:
- * - If after comment and whitespace stripping, the documentation
- *   string of the redeclared method is empty, it will be inherited
- *   from the original method.
- * - Each annotation belonging to the service config (http,
- *   visibility) which is not set in the redeclared method will be
- *   inherited.
- * - If an http annotation is inherited, the path pattern will be
- *   modified as follows. Any version prefix will be replaced by the
- *   version of the including interface plus the [root][] path if
- *   specified.
- * Example of a simple mixin:
- *     package google.acl.v1;
- *     service AccessControl {
- *       // Get the underlying ACL object.
- *       rpc GetAcl(GetAclRequest) returns (Acl) {
- *         option (google.api.http).get = "/v1/{resource=**}:getAcl";
- *       }
- *     }
- *     package google.storage.v2;
- *     service Storage {
- *       rpc GetAcl(GetAclRequest) returns (Acl);
- *       // Get a data record.
- *       rpc GetData(GetDataRequest) returns (Data) {
- *         option (google.api.http).get = "/v2/{resource=**}";
- *       }
- *     }
- * Example of a mixin configuration:
- *     apis:
- *     - name: google.storage.v2.Storage
- *       mixins:
- *       - name: google.acl.v1.AccessControl
- * The mixin construct implies that all methods in `AccessControl` are
- * also declared with same name and request/response types in
- * `Storage`. A documentation generator or annotation processor will
- * see the effective `Storage.GetAcl` method after inheriting
- * documentation and annotations as follows:
- *     service Storage {
- *       // Get the underlying ACL object.
- *       rpc GetAcl(GetAclRequest) returns (Acl) {
- *         option (google.api.http).get = "/v2/{resource=**}:getAcl";
- *       }
- *       ...
- *     }
- * Note how the version in the path pattern changed from `v1` to `v2`.
- * If the `root` field in the mixin is specified, it should be a
- * relative path under which inherited HTTP paths are placed. Example:
- *     apis:
- *     - name: google.storage.v2.Storage
- *       mixins:
- *       - name: google.acl.v1.AccessControl
- *         root: acls
- * This implies the following inherited HTTP annotation:
- *     service Storage {
- *       // Get the underlying ACL object.
- *       rpc GetAcl(GetAclRequest) returns (Acl) {
- *         option (google.api.http).get = "/v2/acls/{resource=**}:getAcl";
- *       }
- *       ...
- *     }
- *
- * Generated from protobuf message <code>google.protobuf.Mixin</code>
- */
-class Mixin extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * The fully qualified name of the interface which is included.
-     *
-     * Generated from protobuf field <code>string name = 1;</code>
-     */
-    protected $name = '';
-    /**
-     * If non-empty specifies a path under which inherited HTTP paths
-     * are rooted.
-     *
-     * Generated from protobuf field <code>string root = 2;</code>
-     */
-    protected $root = '';
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type string $name
-     *           The fully qualified name of the interface which is included.
-     *     @type string $root
-     *           If non-empty specifies a path under which inherited HTTP paths
-     *           are rooted.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Api::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * The fully qualified name of the interface which is included.
-     *
-     * Generated from protobuf field <code>string name = 1;</code>
-     * @return string
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * The fully qualified name of the interface which is included.
-     *
-     * Generated from protobuf field <code>string name = 1;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setName($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->name = $var;
-
-        return $this;
-    }
-
-    /**
-     * If non-empty specifies a path under which inherited HTTP paths
-     * are rooted.
-     *
-     * Generated from protobuf field <code>string root = 2;</code>
-     * @return string
-     */
-    public function getRoot()
-    {
-        return $this->root;
-    }
-
-    /**
-     * If non-empty specifies a path under which inherited HTTP paths
-     * are rooted.
-     *
-     * Generated from protobuf field <code>string root = 2;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setRoot($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->root = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/NullValue.php b/php/src/Google/Protobuf/NullValue.php
deleted file mode 100644
index 2c40d97b60..0000000000
--- a/php/src/Google/Protobuf/NullValue.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/struct.proto
-
-namespace Google\Protobuf;
-
-use UnexpectedValueException;
-
-/**
- * `NullValue` is a singleton enumeration to represent the null value for the
- * `Value` type union.
- * The JSON representation for `NullValue` is JSON `null`.
- *
- * Protobuf type <code>google.protobuf.NullValue</code>
- */
-class NullValue
-{
-    /**
-     * Null value.
-     *
-     * Generated from protobuf enum <code>NULL_VALUE = 0;</code>
-     */
-    const NULL_VALUE = 0;
-
-    private static $valueToName = [
-        self::NULL_VALUE => 'NULL_VALUE',
-    ];
-
-    public static function name($value)
-    {
-        if (!isset(self::$valueToName[$value])) {
-            throw new UnexpectedValueException(sprintf(
-                    'Enum %s has no name defined for value %s', __CLASS__, $value));
-        }
-        return self::$valueToName[$value];
-    }
-
-
-    public static function value($name)
-    {
-        $const = __CLASS__ . '::' . strtoupper($name);
-        if (!defined($const)) {
-            throw new UnexpectedValueException(sprintf(
-                    'Enum %s has no value defined for name %s', __CLASS__, $name));
-        }
-        return constant($const);
-    }
-}
-
diff --git a/php/src/Google/Protobuf/Option.php b/php/src/Google/Protobuf/Option.php
deleted file mode 100644
index aeb8368916..0000000000
--- a/php/src/Google/Protobuf/Option.php
+++ /dev/null
@@ -1,137 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/type.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * A protocol buffer option, which can be attached to a message, field,
- * enumeration, etc.
- *
- * Generated from protobuf message <code>google.protobuf.Option</code>
- */
-class Option extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * The option's name. For protobuf built-in options (options defined in
-     * descriptor.proto), this is the short name. For example, `"map_entry"`.
-     * For custom options, it should be the fully-qualified name. For example,
-     * `"google.api.http"`.
-     *
-     * Generated from protobuf field <code>string name = 1;</code>
-     */
-    protected $name = '';
-    /**
-     * The option's value packed in an Any message. If the value is a primitive,
-     * the corresponding wrapper type defined in google/protobuf/wrappers.proto
-     * should be used. If the value is an enum, it should be stored as an int32
-     * value using the google.protobuf.Int32Value type.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Any value = 2;</code>
-     */
-    protected $value = null;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type string $name
-     *           The option's name. For protobuf built-in options (options defined in
-     *           descriptor.proto), this is the short name. For example, `"map_entry"`.
-     *           For custom options, it should be the fully-qualified name. For example,
-     *           `"google.api.http"`.
-     *     @type \Google\Protobuf\Any $value
-     *           The option's value packed in an Any message. If the value is a primitive,
-     *           the corresponding wrapper type defined in google/protobuf/wrappers.proto
-     *           should be used. If the value is an enum, it should be stored as an int32
-     *           value using the google.protobuf.Int32Value type.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Type::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * The option's name. For protobuf built-in options (options defined in
-     * descriptor.proto), this is the short name. For example, `"map_entry"`.
-     * For custom options, it should be the fully-qualified name. For example,
-     * `"google.api.http"`.
-     *
-     * Generated from protobuf field <code>string name = 1;</code>
-     * @return string
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * The option's name. For protobuf built-in options (options defined in
-     * descriptor.proto), this is the short name. For example, `"map_entry"`.
-     * For custom options, it should be the fully-qualified name. For example,
-     * `"google.api.http"`.
-     *
-     * Generated from protobuf field <code>string name = 1;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setName($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->name = $var;
-
-        return $this;
-    }
-
-    /**
-     * The option's value packed in an Any message. If the value is a primitive,
-     * the corresponding wrapper type defined in google/protobuf/wrappers.proto
-     * should be used. If the value is an enum, it should be stored as an int32
-     * value using the google.protobuf.Int32Value type.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Any value = 2;</code>
-     * @return \Google\Protobuf\Any|null
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    public function hasValue()
-    {
-        return isset($this->value);
-    }
-
-    public function clearValue()
-    {
-        unset($this->value);
-    }
-
-    /**
-     * The option's value packed in an Any message. If the value is a primitive,
-     * the corresponding wrapper type defined in google/protobuf/wrappers.proto
-     * should be used. If the value is an enum, it should be stored as an int32
-     * value using the google.protobuf.Int32Value type.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Any value = 2;</code>
-     * @param \Google\Protobuf\Any $var
-     * @return $this
-     */
-    public function setValue($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Any::class);
-        $this->value = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/SourceContext.php b/php/src/Google/Protobuf/SourceContext.php
deleted file mode 100644
index cdb5670e48..0000000000
--- a/php/src/Google/Protobuf/SourceContext.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/source_context.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * `SourceContext` represents information about the source of a
- * protobuf element, like the file in which it is defined.
- *
- * Generated from protobuf message <code>google.protobuf.SourceContext</code>
- */
-class SourceContext extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * The path-qualified name of the .proto file that contained the associated
-     * protobuf element.  For example: `"google/protobuf/source_context.proto"`.
-     *
-     * Generated from protobuf field <code>string file_name = 1;</code>
-     */
-    protected $file_name = '';
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type string $file_name
-     *           The path-qualified name of the .proto file that contained the associated
-     *           protobuf element.  For example: `"google/protobuf/source_context.proto"`.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\SourceContext::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * The path-qualified name of the .proto file that contained the associated
-     * protobuf element.  For example: `"google/protobuf/source_context.proto"`.
-     *
-     * Generated from protobuf field <code>string file_name = 1;</code>
-     * @return string
-     */
-    public function getFileName()
-    {
-        return $this->file_name;
-    }
-
-    /**
-     * The path-qualified name of the .proto file that contained the associated
-     * protobuf element.  For example: `"google/protobuf/source_context.proto"`.
-     *
-     * Generated from protobuf field <code>string file_name = 1;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setFileName($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->file_name = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/StringValue.php b/php/src/Google/Protobuf/StringValue.php
deleted file mode 100644
index 9c46c2db99..0000000000
--- a/php/src/Google/Protobuf/StringValue.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/wrappers.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Wrapper message for `string`.
- * The JSON representation for `StringValue` is JSON string.
- *
- * Generated from protobuf message <code>google.protobuf.StringValue</code>
- */
-class StringValue extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * The string value.
-     *
-     * Generated from protobuf field <code>string value = 1;</code>
-     */
-    protected $value = '';
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type string $value
-     *           The string value.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Wrappers::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * The string value.
-     *
-     * Generated from protobuf field <code>string value = 1;</code>
-     * @return string
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * The string value.
-     *
-     * Generated from protobuf field <code>string value = 1;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setValue($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->value = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Struct.php b/php/src/Google/Protobuf/Struct.php
deleted file mode 100644
index 38c6089089..0000000000
--- a/php/src/Google/Protobuf/Struct.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/struct.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * `Struct` represents a structured data value, consisting of fields
- * which map to dynamically typed values. In some languages, `Struct`
- * might be supported by a native representation. For example, in
- * scripting languages like JS a struct is represented as an
- * object. The details of that representation are described together
- * with the proto support for the language.
- * The JSON representation for `Struct` is JSON object.
- *
- * Generated from protobuf message <code>google.protobuf.Struct</code>
- */
-class Struct extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * Unordered map of dynamically typed values.
-     *
-     * Generated from protobuf field <code>map<string, .google.protobuf.Value> fields = 1;</code>
-     */
-    private $fields;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type array|\Google\Protobuf\Internal\MapField $fields
-     *           Unordered map of dynamically typed values.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Struct::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Unordered map of dynamically typed values.
-     *
-     * Generated from protobuf field <code>map<string, .google.protobuf.Value> fields = 1;</code>
-     * @return \Google\Protobuf\Internal\MapField
-     */
-    public function getFields()
-    {
-        return $this->fields;
-    }
-
-    /**
-     * Unordered map of dynamically typed values.
-     *
-     * Generated from protobuf field <code>map<string, .google.protobuf.Value> fields = 1;</code>
-     * @param array|\Google\Protobuf\Internal\MapField $var
-     * @return $this
-     */
-    public function setFields($var)
-    {
-        $arr = GPBUtil::checkMapField($var, \Google\Protobuf\Internal\GPBType::STRING, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Value::class);
-        $this->fields = $arr;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Syntax.php b/php/src/Google/Protobuf/Syntax.php
deleted file mode 100644
index 90a75b7e55..0000000000
--- a/php/src/Google/Protobuf/Syntax.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/type.proto
-
-namespace Google\Protobuf;
-
-use UnexpectedValueException;
-
-/**
- * The syntax in which a protocol buffer element is defined.
- *
- * Protobuf type <code>google.protobuf.Syntax</code>
- */
-class Syntax
-{
-    /**
-     * Syntax `proto2`.
-     *
-     * Generated from protobuf enum <code>SYNTAX_PROTO2 = 0;</code>
-     */
-    const SYNTAX_PROTO2 = 0;
-    /**
-     * Syntax `proto3`.
-     *
-     * Generated from protobuf enum <code>SYNTAX_PROTO3 = 1;</code>
-     */
-    const SYNTAX_PROTO3 = 1;
-    /**
-     * Syntax `editions`.
-     *
-     * Generated from protobuf enum <code>SYNTAX_EDITIONS = 2;</code>
-     */
-    const SYNTAX_EDITIONS = 2;
-
-    private static $valueToName = [
-        self::SYNTAX_PROTO2 => 'SYNTAX_PROTO2',
-        self::SYNTAX_PROTO3 => 'SYNTAX_PROTO3',
-        self::SYNTAX_EDITIONS => 'SYNTAX_EDITIONS',
-    ];
-
-    public static function name($value)
-    {
-        if (!isset(self::$valueToName[$value])) {
-            throw new UnexpectedValueException(sprintf(
-                    'Enum %s has no name defined for value %s', __CLASS__, $value));
-        }
-        return self::$valueToName[$value];
-    }
-
-
-    public static function value($name)
-    {
-        $const = __CLASS__ . '::' . strtoupper($name);
-        if (!defined($const)) {
-            throw new UnexpectedValueException(sprintf(
-                    'Enum %s has no value defined for name %s', __CLASS__, $name));
-        }
-        return constant($const);
-    }
-}
-
diff --git a/php/src/Google/Protobuf/Timestamp.php b/php/src/Google/Protobuf/Timestamp.php
deleted file mode 100644
index 489e21d36e..0000000000
--- a/php/src/Google/Protobuf/Timestamp.php
+++ /dev/null
@@ -1,187 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/timestamp.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * A Timestamp represents a point in time independent of any time zone or local
- * calendar, encoded as a count of seconds and fractions of seconds at
- * nanosecond resolution. The count is relative to an epoch at UTC midnight on
- * January 1, 1970, in the proleptic Gregorian calendar which extends the
- * Gregorian calendar backwards to year one.
- * All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
- * second table is needed for interpretation, using a [24-hour linear
- * smear](https://developers.google.com/time/smear).
- * The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
- * restricting to that range, we ensure that we can convert to and from [RFC
- * 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
- * # Examples
- * Example 1: Compute Timestamp from POSIX `time()`.
- *     Timestamp timestamp;
- *     timestamp.set_seconds(time(NULL));
- *     timestamp.set_nanos(0);
- * Example 2: Compute Timestamp from POSIX `gettimeofday()`.
- *     struct timeval tv;
- *     gettimeofday(&tv, NULL);
- *     Timestamp timestamp;
- *     timestamp.set_seconds(tv.tv_sec);
- *     timestamp.set_nanos(tv.tv_usec * 1000);
- * Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
- *     FILETIME ft;
- *     GetSystemTimeAsFileTime(&ft);
- *     UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
- *     // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
- *     // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
- *     Timestamp timestamp;
- *     timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
- *     timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
- * Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
- *     long millis = System.currentTimeMillis();
- *     Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
- *         .setNanos((int) ((millis % 1000) * 1000000)).build();
- * Example 5: Compute Timestamp from Java `Instant.now()`.
- *     Instant now = Instant.now();
- *     Timestamp timestamp =
- *         Timestamp.newBuilder().setSeconds(now.getEpochSecond())
- *             .setNanos(now.getNano()).build();
- * Example 6: Compute Timestamp from current time in Python.
- *     timestamp = Timestamp()
- *     timestamp.GetCurrentTime()
- * # JSON Mapping
- * In JSON format, the Timestamp type is encoded as a string in the
- * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
- * format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
- * where {year} is always expressed using four digits while {month}, {day},
- * {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
- * seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
- * are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
- * is required. A proto3 JSON serializer should always use UTC (as indicated by
- * "Z") when printing the Timestamp type and a proto3 JSON parser should be
- * able to accept both UTC and other timezones (as indicated by an offset).
- * For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
- * 01:30 UTC on January 15, 2017.
- * In JavaScript, one can convert a Date object to this format using the
- * standard
- * [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
- * method. In Python, a standard `datetime.datetime` object can be converted
- * to this format using
- * [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
- * the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
- * the Joda Time's [`ISODateTimeFormat.dateTime()`](
- * http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
- * ) to obtain a formatter capable of generating timestamps in this format.
- *
- * Generated from protobuf message <code>google.protobuf.Timestamp</code>
- */
-class Timestamp extends \Google\Protobuf\Internal\TimestampBase
-{
-    /**
-     * Represents seconds of UTC time since Unix epoch
-     * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
-     * 9999-12-31T23:59:59Z inclusive.
-     *
-     * Generated from protobuf field <code>int64 seconds = 1;</code>
-     */
-    protected $seconds = 0;
-    /**
-     * Non-negative fractions of a second at nanosecond resolution. Negative
-     * second values with fractions must still have non-negative nanos values
-     * that count forward in time. Must be from 0 to 999,999,999
-     * inclusive.
-     *
-     * Generated from protobuf field <code>int32 nanos = 2;</code>
-     */
-    protected $nanos = 0;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type int|string $seconds
-     *           Represents seconds of UTC time since Unix epoch
-     *           1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
-     *           9999-12-31T23:59:59Z inclusive.
-     *     @type int $nanos
-     *           Non-negative fractions of a second at nanosecond resolution. Negative
-     *           second values with fractions must still have non-negative nanos values
-     *           that count forward in time. Must be from 0 to 999,999,999
-     *           inclusive.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Timestamp::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Represents seconds of UTC time since Unix epoch
-     * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
-     * 9999-12-31T23:59:59Z inclusive.
-     *
-     * Generated from protobuf field <code>int64 seconds = 1;</code>
-     * @return int|string
-     */
-    public function getSeconds()
-    {
-        return $this->seconds;
-    }
-
-    /**
-     * Represents seconds of UTC time since Unix epoch
-     * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
-     * 9999-12-31T23:59:59Z inclusive.
-     *
-     * Generated from protobuf field <code>int64 seconds = 1;</code>
-     * @param int|string $var
-     * @return $this
-     */
-    public function setSeconds($var)
-    {
-        GPBUtil::checkInt64($var);
-        $this->seconds = $var;
-
-        return $this;
-    }
-
-    /**
-     * Non-negative fractions of a second at nanosecond resolution. Negative
-     * second values with fractions must still have non-negative nanos values
-     * that count forward in time. Must be from 0 to 999,999,999
-     * inclusive.
-     *
-     * Generated from protobuf field <code>int32 nanos = 2;</code>
-     * @return int
-     */
-    public function getNanos()
-    {
-        return $this->nanos;
-    }
-
-    /**
-     * Non-negative fractions of a second at nanosecond resolution. Negative
-     * second values with fractions must still have non-negative nanos values
-     * that count forward in time. Must be from 0 to 999,999,999
-     * inclusive.
-     *
-     * Generated from protobuf field <code>int32 nanos = 2;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setNanos($var)
-    {
-        GPBUtil::checkInt32($var);
-        $this->nanos = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Type.php b/php/src/Google/Protobuf/Type.php
deleted file mode 100644
index 6167ba4484..0000000000
--- a/php/src/Google/Protobuf/Type.php
+++ /dev/null
@@ -1,282 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/type.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * A protocol buffer message type.
- *
- * Generated from protobuf message <code>google.protobuf.Type</code>
- */
-class Type extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * The fully qualified message name.
-     *
-     * Generated from protobuf field <code>string name = 1;</code>
-     */
-    protected $name = '';
-    /**
-     * The list of fields.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Field fields = 2;</code>
-     */
-    private $fields;
-    /**
-     * The list of types appearing in `oneof` definitions in this type.
-     *
-     * Generated from protobuf field <code>repeated string oneofs = 3;</code>
-     */
-    private $oneofs;
-    /**
-     * The protocol buffer options.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Option options = 4;</code>
-     */
-    private $options;
-    /**
-     * The source context.
-     *
-     * Generated from protobuf field <code>.google.protobuf.SourceContext source_context = 5;</code>
-     */
-    protected $source_context = null;
-    /**
-     * The source syntax.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Syntax syntax = 6;</code>
-     */
-    protected $syntax = 0;
-    /**
-     * The source edition string, only valid when syntax is SYNTAX_EDITIONS.
-     *
-     * Generated from protobuf field <code>string edition = 7;</code>
-     */
-    protected $edition = '';
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type string $name
-     *           The fully qualified message name.
-     *     @type array<\Google\Protobuf\Field>|\Google\Protobuf\Internal\RepeatedField $fields
-     *           The list of fields.
-     *     @type array<string>|\Google\Protobuf\Internal\RepeatedField $oneofs
-     *           The list of types appearing in `oneof` definitions in this type.
-     *     @type array<\Google\Protobuf\Option>|\Google\Protobuf\Internal\RepeatedField $options
-     *           The protocol buffer options.
-     *     @type \Google\Protobuf\SourceContext $source_context
-     *           The source context.
-     *     @type int $syntax
-     *           The source syntax.
-     *     @type string $edition
-     *           The source edition string, only valid when syntax is SYNTAX_EDITIONS.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Type::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * The fully qualified message name.
-     *
-     * Generated from protobuf field <code>string name = 1;</code>
-     * @return string
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * The fully qualified message name.
-     *
-     * Generated from protobuf field <code>string name = 1;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setName($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->name = $var;
-
-        return $this;
-    }
-
-    /**
-     * The list of fields.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Field fields = 2;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getFields()
-    {
-        return $this->fields;
-    }
-
-    /**
-     * The list of fields.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Field fields = 2;</code>
-     * @param array<\Google\Protobuf\Field>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setFields($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Field::class);
-        $this->fields = $arr;
-
-        return $this;
-    }
-
-    /**
-     * The list of types appearing in `oneof` definitions in this type.
-     *
-     * Generated from protobuf field <code>repeated string oneofs = 3;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getOneofs()
-    {
-        return $this->oneofs;
-    }
-
-    /**
-     * The list of types appearing in `oneof` definitions in this type.
-     *
-     * Generated from protobuf field <code>repeated string oneofs = 3;</code>
-     * @param array<string>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setOneofs($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
-        $this->oneofs = $arr;
-
-        return $this;
-    }
-
-    /**
-     * The protocol buffer options.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Option options = 4;</code>
-     * @return \Google\Protobuf\Internal\RepeatedField
-     */
-    public function getOptions()
-    {
-        return $this->options;
-    }
-
-    /**
-     * The protocol buffer options.
-     *
-     * Generated from protobuf field <code>repeated .google.protobuf.Option options = 4;</code>
-     * @param array<\Google\Protobuf\Option>|\Google\Protobuf\Internal\RepeatedField $var
-     * @return $this
-     */
-    public function setOptions($var)
-    {
-        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Option::class);
-        $this->options = $arr;
-
-        return $this;
-    }
-
-    /**
-     * The source context.
-     *
-     * Generated from protobuf field <code>.google.protobuf.SourceContext source_context = 5;</code>
-     * @return \Google\Protobuf\SourceContext|null
-     */
-    public function getSourceContext()
-    {
-        return $this->source_context;
-    }
-
-    public function hasSourceContext()
-    {
-        return isset($this->source_context);
-    }
-
-    public function clearSourceContext()
-    {
-        unset($this->source_context);
-    }
-
-    /**
-     * The source context.
-     *
-     * Generated from protobuf field <code>.google.protobuf.SourceContext source_context = 5;</code>
-     * @param \Google\Protobuf\SourceContext $var
-     * @return $this
-     */
-    public function setSourceContext($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\SourceContext::class);
-        $this->source_context = $var;
-
-        return $this;
-    }
-
-    /**
-     * The source syntax.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Syntax syntax = 6;</code>
-     * @return int
-     */
-    public function getSyntax()
-    {
-        return $this->syntax;
-    }
-
-    /**
-     * The source syntax.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Syntax syntax = 6;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setSyntax($var)
-    {
-        GPBUtil::checkEnum($var, \Google\Protobuf\Syntax::class);
-        $this->syntax = $var;
-
-        return $this;
-    }
-
-    /**
-     * The source edition string, only valid when syntax is SYNTAX_EDITIONS.
-     *
-     * Generated from protobuf field <code>string edition = 7;</code>
-     * @return string
-     */
-    public function getEdition()
-    {
-        return $this->edition;
-    }
-
-    /**
-     * The source edition string, only valid when syntax is SYNTAX_EDITIONS.
-     *
-     * Generated from protobuf field <code>string edition = 7;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setEdition($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->edition = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/UInt32Value.php b/php/src/Google/Protobuf/UInt32Value.php
deleted file mode 100644
index 84303edff1..0000000000
--- a/php/src/Google/Protobuf/UInt32Value.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/wrappers.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Wrapper message for `uint32`.
- * The JSON representation for `UInt32Value` is JSON number.
- *
- * Generated from protobuf message <code>google.protobuf.UInt32Value</code>
- */
-class UInt32Value extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * The uint32 value.
-     *
-     * Generated from protobuf field <code>uint32 value = 1;</code>
-     */
-    protected $value = 0;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type int $value
-     *           The uint32 value.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Wrappers::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * The uint32 value.
-     *
-     * Generated from protobuf field <code>uint32 value = 1;</code>
-     * @return int
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * The uint32 value.
-     *
-     * Generated from protobuf field <code>uint32 value = 1;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setValue($var)
-    {
-        GPBUtil::checkUint32($var);
-        $this->value = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/UInt64Value.php b/php/src/Google/Protobuf/UInt64Value.php
deleted file mode 100644
index e19ba41f28..0000000000
--- a/php/src/Google/Protobuf/UInt64Value.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/wrappers.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * Wrapper message for `uint64`.
- * The JSON representation for `UInt64Value` is JSON string.
- *
- * Generated from protobuf message <code>google.protobuf.UInt64Value</code>
- */
-class UInt64Value extends \Google\Protobuf\Internal\Message
-{
-    /**
-     * The uint64 value.
-     *
-     * Generated from protobuf field <code>uint64 value = 1;</code>
-     */
-    protected $value = 0;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type int|string $value
-     *           The uint64 value.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Wrappers::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * The uint64 value.
-     *
-     * Generated from protobuf field <code>uint64 value = 1;</code>
-     * @return int|string
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * The uint64 value.
-     *
-     * Generated from protobuf field <code>uint64 value = 1;</code>
-     * @param int|string $var
-     * @return $this
-     */
-    public function setValue($var)
-    {
-        GPBUtil::checkUint64($var);
-        $this->value = $var;
-
-        return $this;
-    }
-
-}
-
diff --git a/php/src/Google/Protobuf/Value.php b/php/src/Google/Protobuf/Value.php
deleted file mode 100644
index 710f39fdf1..0000000000
--- a/php/src/Google/Protobuf/Value.php
+++ /dev/null
@@ -1,245 +0,0 @@
-<?php
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: google/protobuf/struct.proto
-
-namespace Google\Protobuf;
-
-use Google\Protobuf\Internal\GPBType;
-use Google\Protobuf\Internal\RepeatedField;
-use Google\Protobuf\Internal\GPBUtil;
-
-/**
- * `Value` represents a dynamically typed value which can be either
- * null, a number, a string, a boolean, a recursive struct value, or a
- * list of values. A producer of value is expected to set one of these
- * variants. Absence of any variant indicates an error.
- * The JSON representation for `Value` is JSON value.
- *
- * Generated from protobuf message <code>google.protobuf.Value</code>
- */
-class Value extends \Google\Protobuf\Internal\Message
-{
-    protected $kind;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data {
-     *     Optional. Data for populating the Message object.
-     *
-     *     @type int $null_value
-     *           Represents a null value.
-     *     @type float $number_value
-     *           Represents a double value.
-     *     @type string $string_value
-     *           Represents a string value.
-     *     @type bool $bool_value
-     *           Represents a boolean value.
-     *     @type \Google\Protobuf\Struct $struct_value
-     *           Represents a structured value.
-     *     @type \Google\Protobuf\ListValue $list_value
-     *           Represents a repeated `Value`.
-     * }
-     */
-    public function __construct($data = NULL) {
-        \GPBMetadata\Google\Protobuf\Struct::initOnce();
-        parent::__construct($data);
-    }
-
-    /**
-     * Represents a null value.
-     *
-     * Generated from protobuf field <code>.google.protobuf.NullValue null_value = 1;</code>
-     * @return int
-     */
-    public function getNullValue()
-    {
-        return $this->readOneof(1);
-    }
-
-    public function hasNullValue()
-    {
-        return $this->hasOneof(1);
-    }
-
-    /**
-     * Represents a null value.
-     *
-     * Generated from protobuf field <code>.google.protobuf.NullValue null_value = 1;</code>
-     * @param int $var
-     * @return $this
-     */
-    public function setNullValue($var)
-    {
-        GPBUtil::checkEnum($var, \Google\Protobuf\NullValue::class);
-        $this->writeOneof(1, $var);
-
-        return $this;
-    }
-
-    /**
-     * Represents a double value.
-     *
-     * Generated from protobuf field <code>double number_value = 2;</code>
-     * @return float
-     */
-    public function getNumberValue()
-    {
-        return $this->readOneof(2);
-    }
-
-    public function hasNumberValue()
-    {
-        return $this->hasOneof(2);
-    }
-
-    /**
-     * Represents a double value.
-     *
-     * Generated from protobuf field <code>double number_value = 2;</code>
-     * @param float $var
-     * @return $this
-     */
-    public function setNumberValue($var)
-    {
-        GPBUtil::checkDouble($var);
-        $this->writeOneof(2, $var);
-
-        return $this;
-    }
-
-    /**
-     * Represents a string value.
-     *
-     * Generated from protobuf field <code>string string_value = 3;</code>
-     * @return string
-     */
-    public function getStringValue()
-    {
-        return $this->readOneof(3);
-    }
-
-    public function hasStringValue()
-    {
-        return $this->hasOneof(3);
-    }
-
-    /**
-     * Represents a string value.
-     *
-     * Generated from protobuf field <code>string string_value = 3;</code>
-     * @param string $var
-     * @return $this
-     */
-    public function setStringValue($var)
-    {
-        GPBUtil::checkString($var, True);
-        $this->writeOneof(3, $var);
-
-        return $this;
-    }
-
-    /**
-     * Represents a boolean value.
-     *
-     * Generated from protobuf field <code>bool bool_value = 4;</code>
-     * @return bool
-     */
-    public function getBoolValue()
-    {
-        return $this->readOneof(4);
-    }
-
-    public function hasBoolValue()
-    {
-        return $this->hasOneof(4);
-    }
-
-    /**
-     * Represents a boolean value.
-     *
-     * Generated from protobuf field <code>bool bool_value = 4;</code>
-     * @param bool $var
-     * @return $this
-     */
-    public function setBoolValue($var)
-    {
-        GPBUtil::checkBool($var);
-        $this->writeOneof(4, $var);
-
-        return $this;
-    }
-
-    /**
-     * Represents a structured value.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Struct struct_value = 5;</code>
-     * @return \Google\Protobuf\Struct|null
-     */
-    public function getStructValue()
-    {
-        return $this->readOneof(5);
-    }
-
-    public function hasStructValue()
-    {
-        return $this->hasOneof(5);
-    }
-
-    /**
-     * Represents a structured value.
-     *
-     * Generated from protobuf field <code>.google.protobuf.Struct struct_value = 5;</code>
-     * @param \Google\Protobuf\Struct $var
-     * @return $this
-     */
-    public function setStructValue($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\Struct::class);
-        $this->writeOneof(5, $var);
-
-        return $this;
-    }
-
-    /**
-     * Represents a repeated `Value`.
-     *
-     * Generated from protobuf field <code>.google.protobuf.ListValue list_value = 6;</code>
-     * @return \Google\Protobuf\ListValue|null
-     */
-    public function getListValue()
-    {
-        return $this->readOneof(6);
-    }
-
-    public function hasListValue()
-    {
-        return $this->hasOneof(6);
-    }
-
-    /**
-     * Represents a repeated `Value`.
-     *
-     * Generated from protobuf field <code>.google.protobuf.ListValue list_value = 6;</code>
-     * @param \Google\Protobuf\ListValue $var
-     * @return $this
-     */
-    public function setListValue($var)
-    {
-        GPBUtil::checkMessage($var, \Google\Protobuf\ListValue::class);
-        $this->writeOneof(6, $var);
-
-        return $this;
-    }
-
-    /**
-     * @return string
-     */
-    public function getKind()
-    {
-        return $this->whichOneof("kind");
-    }
-
-}
-